[med-svn] [blasr] 03/12: Imported Upstream version 0~20150925+git77862af

Afif Elghraoui afif-guest at moszumanska.debian.org
Mon Dec 14 21:14:42 UTC 2015


This is an automated email from the git hooks/post-receive script.

afif-guest pushed a commit to branch master
in repository blasr.

commit 255f61754358d6f26dce7244a7a305614c12c9df
Author: Afif Elghraoui <afif at ghraoui.name>
Date:   Sat Dec 12 21:30:17 2015 -0800

    Imported Upstream version 0~20150925+git77862af
---
 .gitignore                                         |     4 +
 Blasr.cpp                                          |    34 +
 MANUAL.md                                          |    84 -
 Makefile                                           |    59 -
 README.INSTALL.md                                  |    72 +
 README.MANUAL.md                                   |    38 +
 README.md                                          |    52 +-
 blasr_git_common.mk                                |    15 -
 blasr_gitp4.mk                                     |    24 -
 common.mk                                          |   139 -
 configure.py                                       |   104 +-
 ctest/hitpolicy.t                                  |    14 +-
 ctest/useccsallLargeGenome.t                       |     3 +-
 extrautils/GNUmakefile                             |    45 -
 extrautils/Makefile                                |    78 -
 extrautils/makefile                                |    49 +
 extrautils/p4.mk                                   |    79 -
 libcpp.makefile                                    |     9 -
 libcpp/.gitignore                                  |     7 -
 libcpp/.travis.yml                                 |    22 -
 libcpp/README.md                                   |    47 -
 libcpp/alignment/MappingMetrics.cpp                |   299 -
 libcpp/alignment/MappingMetrics.hpp                |   133 -
 .../algorithms/alignment/AffineGuidedAlign.hpp     |   589 -
 .../algorithms/alignment/AffineKBandAlign.hpp      |   406 -
 .../algorithms/alignment/AlignmentFormats.hpp      |     6 -
 .../algorithms/alignment/AlignmentUtils.cpp        |    43 -
 .../algorithms/alignment/AlignmentUtils.hpp        |   139 -
 .../algorithms/alignment/AlignmentUtilsImpl.hpp    |   548 -
 .../algorithms/alignment/BaseScoreFunction.cpp     |    11 -
 .../algorithms/alignment/BaseScoreFunction.hpp     |    17 -
 .../alignment/DistanceMatrixScoreFunction.hpp      |    40 -
 .../alignment/DistanceMatrixScoreFunctionImpl.hpp  |    96 -
 .../alignment/algorithms/alignment/ExtendAlign.cpp |    79 -
 .../alignment/algorithms/alignment/ExtendAlign.hpp |   416 -
 .../alignment/algorithms/alignment/FullQVAlign.hpp |   132 -
 .../alignment/algorithms/alignment/GraphPaper.hpp  |    31 -
 .../algorithms/alignment/GraphPaperImpl.hpp        |   175 -
 .../alignment/algorithms/alignment/GuidedAlign.cpp |   226 -
 .../alignment/algorithms/alignment/GuidedAlign.hpp |   600 -
 .../algorithms/alignment/IDSScoreFunction.cpp      |   158 -
 .../algorithms/alignment/IDSScoreFunction.hpp      |   109 -
 .../alignment/algorithms/alignment/KBandAlign.cpp  |    30 -
 .../alignment/algorithms/alignment/KBandAlign.hpp  |   381 -
 .../algorithms/alignment/OneGapAlignment.hpp       |   374 -
 .../alignment/QualityValueScoreFunction.cpp        |    90 -
 .../alignment/QualityValueScoreFunction.hpp        |    56 -
 libcpp/alignment/algorithms/alignment/SDPAlign.hpp |    64 -
 .../algorithms/alignment/SDPAlignImpl.hpp          |   614 -
 libcpp/alignment/algorithms/alignment/SWAlign.hpp  |    17 -
 .../alignment/algorithms/alignment/SWAlignImpl.hpp |   389 -
 .../algorithms/alignment/ScoreMatrices.cpp         |    58 -
 .../algorithms/alignment/ScoreMatrices.hpp         |    18 -
 .../algorithms/alignment/StringToScoreMatrix.cpp   |    26 -
 .../algorithms/alignment/StringToScoreMatrix.hpp   |     9 -
 .../algorithms/alignment/sdp/FragmentSort.hpp      |    19 -
 .../algorithms/alignment/sdp/FragmentSortImpl.hpp  |    16 -
 .../sdp/NonoverlappingSparseDynamicProgramming.h   |   193 -
 .../algorithms/alignment/sdp/SDPColumn.hpp         |    23 -
 .../algorithms/alignment/sdp/SDPFragment.cpp       |    27 -
 .../algorithms/alignment/sdp/SDPFragment.hpp       |   132 -
 .../alignment/algorithms/alignment/sdp/SDPSet.hpp  |    52 -
 .../algorithms/alignment/sdp/SDPSetImpl.hpp        |   113 -
 .../alignment/sdp/SparseDynamicProgramming.cpp     |    18 -
 .../alignment/sdp/SparseDynamicProgramming.hpp     |    37 -
 .../alignment/sdp/SparseDynamicProgrammingImpl.hpp |   266 -
 .../alignment/sdp/VariableLengthSDPFragment.h      |    51 -
 .../alignment/algorithms/anchoring/BWTSearch.cpp   |    85 -
 .../alignment/algorithms/anchoring/BWTSearch.hpp   |    35 -
 .../algorithms/anchoring/BWTSearchImpl.hpp         |    14 -
 .../algorithms/anchoring/BasicEndpoint.hpp         |    50 -
 .../algorithms/anchoring/BasicEndpointImpl.hpp     |    78 -
 .../algorithms/anchoring/ClusterProbability.cpp    |    45 -
 .../algorithms/anchoring/ClusterProbability.hpp    |    13 -
 .../alignment/algorithms/anchoring/Coordinate.cpp  |    12 -
 .../alignment/algorithms/anchoring/Coordinate.hpp  |    45 -
 .../algorithms/anchoring/FindMaxInterval.cpp       |    23 -
 .../algorithms/anchoring/FindMaxInterval.hpp       |   175 -
 .../algorithms/anchoring/FindMaxIntervalImpl.hpp   |   945 -
 .../alignment/algorithms/anchoring/GlobalChain.hpp |    37 -
 .../algorithms/anchoring/GlobalChainImpl.hpp       |   225 -
 .../alignment/algorithms/anchoring/LISPValue.hpp   |    24 -
 .../algorithms/anchoring/LISPValueImpl.hpp         |   165 -
 .../algorithms/anchoring/LISPValueWeightor.hpp     |    52 -
 .../algorithms/anchoring/LISPValueWeightorImpl.hpp |   112 -
 .../algorithms/anchoring/LISQValueWeightor.hpp     |    35 -
 .../algorithms/anchoring/LISSizeWeightor.hpp       |    14 -
 .../algorithms/anchoring/LISSizeWeightorImpl.hpp   |    13 -
 .../anchoring/LongestIncreasingSubsequence.hpp     |    31 -
 .../anchoring/LongestIncreasingSubsequenceImpl.hpp |   135 -
 .../algorithms/anchoring/MapBySuffixArray.hpp      |    44 -
 .../algorithms/anchoring/MapBySuffixArrayImpl.hpp  |   315 -
 .../algorithms/anchoring/PrioritySearchTree.hpp    |    69 -
 .../anchoring/PrioritySearchTreeImpl.hpp           |   296 -
 .../algorithms/anchoring/ScoreAnchors.hpp          |    46 -
 .../algorithms/anchoring/ScoreAnchorsImpl.hpp      |   179 -
 .../algorithms/compare/CompareStrings.hpp          |    81 -
 .../algorithms/sorting/DifferenceCovers.cpp        |    15 -
 .../algorithms/sorting/DifferenceCovers.hpp        |    16 -
 libcpp/alignment/algorithms/sorting/Karkkainen.hpp |   134 -
 .../algorithms/sorting/LightweightSuffixArray.cpp  |   405 -
 .../algorithms/sorting/LightweightSuffixArray.hpp  |   103 -
 .../algorithms/sorting/MultikeyQuicksort.cpp       |   197 -
 .../algorithms/sorting/MultikeyQuicksort.hpp       |    48 -
 libcpp/alignment/algorithms/sorting/qsufsort.cpp   |   302 -
 libcpp/alignment/algorithms/sorting/qsufsort.hpp   |   376 -
 libcpp/alignment/anchoring/AnchorParameters.hpp    |    35 -
 libcpp/alignment/build.mk                          |     1 -
 libcpp/alignment/bwt/BWT.hpp                       |   316 -
 libcpp/alignment/bwt/Occ.hpp                       |   217 -
 libcpp/alignment/bwt/PackedHash.hpp                |   350 -
 libcpp/alignment/bwt/Pos.hpp                       |    47 -
 .../datastructures/alignment/AlignedPair.h         |    19 -
 .../datastructures/alignment/Alignment.cpp         |   512 -
 .../datastructures/alignment/Alignment.hpp         |   184 -
 .../alignment/AlignmentCandidate.cpp               |    26 -
 .../alignment/AlignmentCandidate.hpp               |   370 -
 .../datastructures/alignment/AlignmentContext.cpp  |    35 -
 .../datastructures/alignment/AlignmentContext.hpp  |    32 -
 .../datastructures/alignment/AlignmentGapList.h    |    26 -
 .../datastructures/alignment/AlignmentMap.cpp      |    22 -
 .../datastructures/alignment/AlignmentMap.hpp      |    20 -
 .../datastructures/alignment/AlignmentStats.cpp    |    29 -
 .../datastructures/alignment/AlignmentStats.hpp    |    25 -
 .../datastructures/alignment/ByteAlignment.h       |   347 -
 .../alignment/datastructures/alignment/CmpFile.cpp |     6 -
 .../alignment/datastructures/alignment/CmpFile.hpp |    33 -
 .../alignment/CmpIndexedStringTable.h              |    67 -
 .../datastructures/alignment/CmpReadGroupTable.h   |    22 -
 .../datastructures/alignment/CmpRefSeqTable.h      |    22 -
 .../datastructures/alignment/FilterCriteria.cpp    |   371 -
 .../datastructures/alignment/FilterCriteria.hpp    |   165 -
 libcpp/alignment/datastructures/alignment/Path.h   |    23 -
 .../alignment/SAMToAlignmentCandidateAdapter.cpp   |   461 -
 .../alignment/SAMToAlignmentCandidateAdapter.hpp   |    79 -
 .../alignmentset/AlignmentSetToCmpH5Adapter.hpp    |    84 -
 .../AlignmentSetToCmpH5AdapterImpl.hpp             |   256 -
 .../alignmentset/SAMQVConversion.cpp               |    27 -
 .../alignmentset/SAMQVConversion.hpp               |    15 -
 .../alignmentset/SAMSupplementalQVList.cpp         |    71 -
 .../alignmentset/SAMSupplementalQVList.hpp         |    27 -
 .../datastructures/anchoring/AnchorParameters.cpp  |    44 -
 .../datastructures/anchoring/AnchorParameters.hpp  |    35 -
 .../datastructures/anchoring/ClusterList.cpp       |    75 -
 .../datastructures/anchoring/ClusterList.hpp       |    25 -
 .../datastructures/anchoring/MatchPos.cpp          |    59 -
 .../datastructures/anchoring/MatchPos.hpp          |   192 -
 .../datastructures/anchoring/WeightedInterval.cpp  |   181 -
 .../datastructures/anchoring/WeightedInterval.hpp  |    85 -
 libcpp/alignment/files/BaseSequenceIO.cpp          |    77 -
 libcpp/alignment/files/BaseSequenceIO.hpp          |    26 -
 libcpp/alignment/files/CCSIterator.cpp             |    28 -
 libcpp/alignment/files/CCSIterator.hpp             |    21 -
 libcpp/alignment/files/FragmentCCSIterator.cpp     |   109 -
 libcpp/alignment/files/FragmentCCSIterator.hpp     |    23 -
 libcpp/alignment/files/ReaderAgglomerate.cpp       |   505 -
 libcpp/alignment/files/ReaderAgglomerate.hpp       |   136 -
 libcpp/alignment/files/ReaderAgglomerateImpl.hpp   |    44 -
 libcpp/alignment/format/BAMPrinter.hpp             |    29 -
 libcpp/alignment/format/BAMPrinterImpl.hpp         |   168 -
 .../alignment/format/CompareSequencesPrinter.cpp   |    10 -
 .../alignment/format/CompareSequencesPrinter.hpp   |    21 -
 .../format/CompareSequencesPrinterImpl.hpp         |    77 -
 libcpp/alignment/format/IntervalPrinter.cpp        |    70 -
 libcpp/alignment/format/IntervalPrinter.hpp        |    21 -
 libcpp/alignment/format/SAMHeaderPrinter.cpp       |   432 -
 libcpp/alignment/format/SAMHeaderPrinter.hpp       |   311 -
 libcpp/alignment/format/SAMPrinter.cpp             |   188 -
 libcpp/alignment/format/SAMPrinter.hpp             |    93 -
 libcpp/alignment/format/SAMPrinterImpl.hpp         |   304 -
 libcpp/alignment/format/StickAlignmentPrinter.hpp  |   123 -
 libcpp/alignment/format/SummaryPrinter.cpp         |    26 -
 libcpp/alignment/format/SummaryPrinter.hpp         |    14 -
 libcpp/alignment/format/VulgarPrinter.hpp          |    53 -
 libcpp/alignment/format/XMLPrinter.hpp             |    84 -
 libcpp/alignment/ipc/SharedMemoryAllocator.hpp     |    33 -
 libcpp/alignment/makefile                          |    52 -
 libcpp/alignment/old.Makefile                      |   113 -
 libcpp/alignment/qvs/QualityValueProfile.cpp       |    41 -
 libcpp/alignment/qvs/QualityValueProfile.hpp       |    23 -
 libcpp/alignment/simulator/CDFMap.hpp              |    44 -
 libcpp/alignment/simulator/ContextOutputList.hpp   |   100 -
 libcpp/alignment/simulator/ContextSample.cpp       |    53 -
 libcpp/alignment/simulator/ContextSample.hpp       |    30 -
 libcpp/alignment/simulator/ContextSet.cpp          |    35 -
 libcpp/alignment/simulator/ContextSet.hpp          |    19 -
 libcpp/alignment/simulator/LengthHistogram.cpp     |    58 -
 libcpp/alignment/simulator/LengthHistogram.hpp     |    24 -
 libcpp/alignment/simulator/OutputList.hpp          |    57 -
 libcpp/alignment/simulator/OutputSample.hpp        |    59 -
 libcpp/alignment/simulator/OutputSampleList.hpp    |    33 -
 libcpp/alignment/simulator/OutputSampleListSet.hpp |   123 -
 libcpp/alignment/simulator/QualitySample.cpp       |    77 -
 libcpp/alignment/simulator/QualitySample.hpp       |    28 -
 .../statistics/AnchorDistributionTable.hpp         | 43518 -------------------
 .../statistics/LookupAnchorDistribution.cpp        |    58 -
 .../statistics/LookupAnchorDistribution.hpp        |    10 -
 libcpp/alignment/statistics/StatUtils.cpp          |    45 -
 libcpp/alignment/statistics/StatUtils.hpp          |   165 -
 libcpp/alignment/statistics/StatUtilsImpl.hpp      |    57 -
 .../alignment/statistics/VarianceAccumulator.hpp   |    28 -
 .../statistics/VarianceAccumulatorImpl.hpp         |    60 -
 libcpp/alignment/statistics/cdfs.cpp               |    53 -
 libcpp/alignment/statistics/cdfs.hpp               |   418 -
 libcpp/alignment/statistics/pdfs.cpp               |    36 -
 libcpp/alignment/statistics/pdfs.hpp               |    18 -
 libcpp/alignment/suffixarray/LCPTable.hpp          |   182 -
 libcpp/alignment/suffixarray/SharedSuffixArray.hpp |    83 -
 libcpp/alignment/suffixarray/SuffixArray.hpp       |  1197 -
 libcpp/alignment/suffixarray/SuffixArrayTypes.hpp  |    17 -
 libcpp/alignment/suffixarray/ssort.hpp             |   449 -
 libcpp/alignment/tuples/BaseTuple.cpp              |    53 -
 libcpp/alignment/tuples/BaseTuple.hpp              |    27 -
 libcpp/alignment/tuples/CompressedDNATuple.hpp     |    63 -
 libcpp/alignment/tuples/CountedTuple.h             |    16 -
 libcpp/alignment/tuples/DNATuple.cpp               |    94 -
 libcpp/alignment/tuples/DNATuple.hpp               |   103 -
 libcpp/alignment/tuples/DNATupleImpl.hpp           |   200 -
 libcpp/alignment/tuples/DNATupleList.h             |    53 -
 libcpp/alignment/tuples/HashedTupleList.hpp        |    61 -
 libcpp/alignment/tuples/HashedTupleListImpl.hpp    |   144 -
 libcpp/alignment/tuples/TupleCountTable.hpp        |    33 -
 libcpp/alignment/tuples/TupleCountTableImpl.hpp    |   101 -
 libcpp/alignment/tuples/TupleList.hpp              |    64 -
 libcpp/alignment/tuples/TupleListImpl.hpp          |   134 -
 libcpp/alignment/tuples/TupleMask.h                |    13 -
 libcpp/alignment/tuples/TupleMatching.hpp          |    25 -
 libcpp/alignment/tuples/TupleMatchingImpl.hpp      |   106 -
 libcpp/alignment/tuples/TupleMetrics.cpp           |    16 -
 libcpp/alignment/tuples/TupleMetrics.hpp           |    19 -
 libcpp/alignment/tuples/TupleOperations.h          |     7 -
 libcpp/alignment/tuples/TupleTranslations.h        |     4 -
 libcpp/alignment/tuples/tuple.h                    |    82 -
 libcpp/alignment/utils/FileOfFileNames.cpp         |   102 -
 libcpp/alignment/utils/FileOfFileNames.hpp         |    27 -
 libcpp/alignment/utils/FileUtils.cpp               |    61 -
 libcpp/alignment/utils/FileUtils.hpp               |    27 -
 libcpp/alignment/utils/LogUtils.cpp                |    55 -
 libcpp/alignment/utils/LogUtils.hpp                |    15 -
 libcpp/alignment/utils/PhredUtils.cpp              |    13 -
 libcpp/alignment/utils/PhredUtils.hpp              |     8 -
 libcpp/alignment/utils/RangeUtils.cpp              |   107 -
 libcpp/alignment/utils/RangeUtils.hpp              |    56 -
 libcpp/alignment/utils/RegionUtils.cpp             |   302 -
 libcpp/alignment/utils/RegionUtils.hpp             |   132 -
 libcpp/alignment/utils/RegionUtilsImpl.hpp         |   215 -
 libcpp/alignment/utils/SimpleXMLUtils.hpp          |    99 -
 libcpp/alignment/utils/TimeUtils.cpp               |    20 -
 libcpp/alignment/utils/TimeUtils.hpp               |     7 -
 libcpp/configure.py                                |   268 -
 libcpp/hdf/BufferedHDF2DArray.cpp                  |    79 -
 libcpp/hdf/BufferedHDF2DArray.hpp                  |   158 -
 libcpp/hdf/BufferedHDF2DArrayImpl.hpp              |   379 -
 libcpp/hdf/BufferedHDFArray.cpp                    |    92 -
 libcpp/hdf/BufferedHDFArray.hpp                    |   207 -
 libcpp/hdf/BufferedHDFArrayImpl.hpp                |   435 -
 libcpp/hdf/DatasetCollection.cpp                   |    61 -
 libcpp/hdf/DatasetCollection.hpp                   |    41 -
 libcpp/hdf/DatasetCollectionImpl.hpp               |    29 -
 libcpp/hdf/HDF2DArray.hpp                          |    25 -
 libcpp/hdf/HDFAlnGroup.hpp                         |    50 -
 libcpp/hdf/HDFAlnGroupGroup.cpp                    |    52 -
 libcpp/hdf/HDFAlnGroupGroup.hpp                    |    27 -
 libcpp/hdf/HDFAlnInfoGroup.cpp                     |   102 -
 libcpp/hdf/HDFAlnInfoGroup.hpp                     |    46 -
 libcpp/hdf/HDFArray.hpp                            |    85 -
 libcpp/hdf/HDFAtom.cpp                             |   159 -
 libcpp/hdf/HDFAtom.hpp                             |   176 -
 libcpp/hdf/HDFAttributable.cpp                     |    41 -
 libcpp/hdf/HDFAttributable.hpp                     |    23 -
 libcpp/hdf/HDFBasReader.cpp                        |    46 -
 libcpp/hdf/HDFBasReader.hpp                        |  1178 -
 libcpp/hdf/HDFBasWriter.hpp                        |   390 -
 libcpp/hdf/HDFCCSReader.hpp                        |   257 -
 libcpp/hdf/HDFCmpData.hpp                          |    36 -
 libcpp/hdf/HDFCmpExperimentGroup.cpp               |   193 -
 libcpp/hdf/HDFCmpExperimentGroup.hpp               |    70 -
 libcpp/hdf/HDFCmpFile.hpp                          |   844 -
 libcpp/hdf/HDFCmpReader.hpp                        |   663 -
 libcpp/hdf/HDFCmpRefAlignmentGroup.hpp             |   102 -
 libcpp/hdf/HDFCmpRootGroup.hpp                     |    66 -
 libcpp/hdf/HDFCmpSupportedFields.cpp               |    25 -
 libcpp/hdf/HDFCmpSupportedFields.hpp               |    13 -
 libcpp/hdf/HDFCommonFG.hpp                         |    13 -
 libcpp/hdf/HDFConfig.hpp                           |     7 -
 libcpp/hdf/HDFData.cpp                             |    74 -
 libcpp/hdf/HDFData.hpp                             |    52 -
 libcpp/hdf/HDFFile.cpp                             |    53 -
 libcpp/hdf/HDFFile.hpp                             |    32 -
 libcpp/hdf/HDFFileLogGroup.hpp                     |    55 -
 libcpp/hdf/HDFGroup.cpp                            |    58 -
 libcpp/hdf/HDFGroup.hpp                            |    36 -
 libcpp/hdf/HDFMovieInfoGroup.hpp                   |    79 -
 libcpp/hdf/HDFNewBasReader.cpp                     |    72 -
 libcpp/hdf/HDFNewBasReader.hpp                     |    39 -
 libcpp/hdf/HDFPlsReader.hpp                        |   542 -
 libcpp/hdf/HDFPlsWriter.hpp                        |   195 -
 libcpp/hdf/HDFPulseDataFile.cpp                    |   151 -
 libcpp/hdf/HDFPulseDataFile.hpp                    |    67 -
 libcpp/hdf/HDFRefGroupGroup.hpp                    |    65 -
 libcpp/hdf/HDFRefInfoGroup.hpp                     |    84 -
 libcpp/hdf/HDFRegionTableReader.cpp                |   149 -
 libcpp/hdf/HDFRegionTableReader.hpp                |    47 -
 libcpp/hdf/HDFRegionTableWriter.hpp                |   140 -
 libcpp/hdf/HDFSMRTSequenceReader.hpp               |    71 -
 libcpp/hdf/HDFScanDataReader.cpp                   |   262 -
 libcpp/hdf/HDFScanDataReader.hpp                   |   101 -
 libcpp/hdf/HDFScanDataWriter.cpp                   |   164 -
 libcpp/hdf/HDFScanDataWriter.hpp                   |    71 -
 libcpp/hdf/HDFSentinalFile.hpp                     |    21 -
 libcpp/hdf/HDFUtils.cpp                            |    82 -
 libcpp/hdf/HDFUtils.hpp                            |    44 -
 libcpp/hdf/HDFWriteBuffer.hpp                      |    52 -
 libcpp/hdf/HDFZMWReader.cpp                        |   136 -
 libcpp/hdf/HDFZMWReader.hpp                        |    45 -
 libcpp/hdf/build.mk                                |     1 -
 libcpp/hdf/makefile                                |    28 -
 libcpp/hdf/old.Makefile                            |    94 -
 libcpp/makefile                                    |    32 -
 libcpp/old.Makefile                                |    28 -
 libcpp/pbdata/.gitignore                           |     2 -
 libcpp/pbdata/CCSSequence.cpp                      |    35 -
 libcpp/pbdata/CCSSequence.hpp                      |    43 -
 libcpp/pbdata/ChangeListID.cpp                     |    64 -
 libcpp/pbdata/ChangeListID.hpp                     |    38 -
 libcpp/pbdata/CommandLineParser.cpp                |   846 -
 libcpp/pbdata/CommandLineParser.hpp                |   175 -
 libcpp/pbdata/Compare4BitCompressed.hpp            |    98 -
 libcpp/pbdata/CompressedDNASequence.hpp            |    89 -
 libcpp/pbdata/CompressedSequence.hpp               |   100 -
 libcpp/pbdata/CompressedSequenceImpl.hpp           |   343 -
 libcpp/pbdata/DNASequence.cpp                      |   402 -
 libcpp/pbdata/DNASequence.hpp                      |   183 -
 libcpp/pbdata/Enumerations.h                       |    39 -
 libcpp/pbdata/FASTAReader.cpp                      |   420 -
 libcpp/pbdata/FASTAReader.hpp                      |    80 -
 libcpp/pbdata/FASTASequence.cpp                    |   246 -
 libcpp/pbdata/FASTASequence.hpp                    |    91 -
 libcpp/pbdata/FASTQReader.cpp                      |    89 -
 libcpp/pbdata/FASTQReader.hpp                      |    24 -
 libcpp/pbdata/FASTQSequence.cpp                    |   651 -
 libcpp/pbdata/FASTQSequence.hpp                    |   146 -
 libcpp/pbdata/GFFFile.cpp                          |    39 -
 libcpp/pbdata/GFFFile.hpp                          |    33 -
 libcpp/pbdata/MD5Utils.cpp                         |   464 -
 libcpp/pbdata/MD5Utils.hpp                         |   113 -
 libcpp/pbdata/MD5UtilsImpl.hpp                     |    57 -
 libcpp/pbdata/NucConversion.cpp                    |   409 -
 libcpp/pbdata/NucConversion.hpp                    |    50 -
 libcpp/pbdata/PackedDNASequence.cpp                |   233 -
 libcpp/pbdata/PackedDNASequence.hpp                |    60 -
 libcpp/pbdata/ReverseCompressIndex.cpp             |    40 -
 libcpp/pbdata/ReverseCompressIndex.hpp             |    25 -
 libcpp/pbdata/SMRTSequence.cpp                     |   283 -
 libcpp/pbdata/SMRTSequence.hpp                     |   115 -
 libcpp/pbdata/SeqUtils.hpp                         |    17 -
 libcpp/pbdata/SeqUtilsImpl.hpp                     |    47 -
 libcpp/pbdata/StringUtils.cpp                      |   133 -
 libcpp/pbdata/StringUtils.hpp                      |    71 -
 libcpp/pbdata/Types.h                              |    21 -
 libcpp/pbdata/VectorUtils.hpp                      |    17 -
 libcpp/pbdata/alignment/CmpAlignment.cpp           |   219 -
 libcpp/pbdata/alignment/CmpAlignment.hpp           |   126 -
 libcpp/pbdata/alignment/CmpAlignmentImpl.hpp       |     6 -
 libcpp/pbdata/amos/AfgBasWriter.cpp                |   102 -
 libcpp/pbdata/amos/AfgBasWriter.hpp                |    59 -
 libcpp/pbdata/build.mk                             |     1 -
 libcpp/pbdata/defs.h                               |    19 -
 libcpp/pbdata/loadpulses/MetricField.cpp           |    87 -
 libcpp/pbdata/loadpulses/MetricField.hpp           |   115 -
 .../pbdata/loadpulses/MovieAlnIndexLookupTable.cpp |    54 -
 .../pbdata/loadpulses/MovieAlnIndexLookupTable.hpp |   117 -
 libcpp/pbdata/makefile                             |    40 -
 libcpp/pbdata/matrix/FlatMatrix.hpp                |    98 -
 libcpp/pbdata/matrix/FlatMatrixImpl.hpp            |   192 -
 libcpp/pbdata/matrix/Matrix.hpp                    |    50 -
 libcpp/pbdata/matrix/MatrixImpl.hpp                |   117 -
 libcpp/pbdata/metagenome/FindRandomSequence.hpp    |    70 -
 libcpp/pbdata/metagenome/SequenceIndexDatabase.hpp |    96 -
 .../metagenome/SequenceIndexDatabaseImpl.hpp       |   347 -
 libcpp/pbdata/metagenome/TitleTable.cpp            |   109 -
 libcpp/pbdata/metagenome/TitleTable.hpp            |    39 -
 libcpp/pbdata/mklibconfig.sh                       |    32 -
 libcpp/pbdata/old.Makefile                         |    87 -
 libcpp/pbdata/qvs/QualityTransform.cpp             |    23 -
 libcpp/pbdata/qvs/QualityTransform.hpp             |    26 -
 libcpp/pbdata/qvs/QualityValue.cpp                 |    65 -
 libcpp/pbdata/qvs/QualityValue.hpp                 |    31 -
 libcpp/pbdata/qvs/QualityValueVector.hpp           |    47 -
 libcpp/pbdata/qvs/QualityValueVectorImpl.hpp       |    99 -
 libcpp/pbdata/reads/BaseFile.cpp                   |    82 -
 libcpp/pbdata/reads/BaseFile.hpp                   |    49 -
 libcpp/pbdata/reads/BaseFileImpl.hpp               |    11 -
 libcpp/pbdata/reads/HoleXY.cpp                     |    14 -
 libcpp/pbdata/reads/HoleXY.hpp                     |    14 -
 libcpp/pbdata/reads/PulseBaseCommon.cpp            |    37 -
 libcpp/pbdata/reads/PulseBaseCommon.hpp            |    26 -
 libcpp/pbdata/reads/PulseFile.cpp                  |    76 -
 libcpp/pbdata/reads/PulseFile.hpp                  |    53 -
 libcpp/pbdata/reads/PulseFileImpl.hpp              |    21 -
 libcpp/pbdata/reads/ReadInterval.hpp               |    18 -
 libcpp/pbdata/reads/ReadType.cpp                   |    43 -
 libcpp/pbdata/reads/ReadType.hpp                   |    18 -
 libcpp/pbdata/reads/RegionTable.cpp                |   159 -
 libcpp/pbdata/reads/RegionTable.hpp                |    95 -
 libcpp/pbdata/reads/ScanData.cpp                   |    12 -
 libcpp/pbdata/reads/ScanData.hpp                   |    20 -
 libcpp/pbdata/reads/ZMWGroupEntry.cpp              |     8 -
 libcpp/pbdata/reads/ZMWGroupEntry.hpp              |    17 -
 libcpp/pbdata/saf/AlnGroup.cpp                     |    12 -
 libcpp/pbdata/saf/AlnGroup.hpp                     |    14 -
 libcpp/pbdata/saf/AlnInfo.hpp                      |    17 -
 libcpp/pbdata/saf/MovieInfo.cpp                    |    13 -
 libcpp/pbdata/saf/MovieInfo.hpp                    |    19 -
 libcpp/pbdata/saf/RefGroup.cpp                     |    25 -
 libcpp/pbdata/saf/RefGroup.hpp                     |    21 -
 libcpp/pbdata/saf/RefInfo.cpp                      |    20 -
 libcpp/pbdata/saf/RefInfo.hpp                      |    26 -
 libcpp/pbdata/sam/AlignmentSet.hpp                 |    31 -
 libcpp/pbdata/sam/AlignmentSetImpl.hpp             |    31 -
 libcpp/pbdata/sam/CigarString.h                    |    23 -
 libcpp/pbdata/sam/ReadGroup.cpp                    |    51 -
 libcpp/pbdata/sam/ReadGroup.hpp                    |    40 -
 libcpp/pbdata/sam/ReferenceSequence.cpp            |    47 -
 libcpp/pbdata/sam/ReferenceSequence.hpp            |    72 -
 libcpp/pbdata/sam/SAMAlignment.cpp                 |   199 -
 libcpp/pbdata/sam/SAMAlignment.hpp                 |    97 -
 libcpp/pbdata/sam/SAMFlag.h                        |    48 -
 libcpp/pbdata/sam/SAMHeader.cpp                    |    31 -
 libcpp/pbdata/sam/SAMHeader.hpp                    |    18 -
 libcpp/pbdata/sam/SAMKeywordValuePair.cpp          |    51 -
 libcpp/pbdata/sam/SAMKeywordValuePair.hpp          |    50 -
 libcpp/pbdata/sam/SAMKeywordValuePairImpl.hpp      |    32 -
 libcpp/pbdata/sam/SAMReader.hpp                    |    61 -
 libcpp/pbdata/sam/SAMReaderImpl.hpp                |   197 -
 libcpp/pbdata/utils.hpp                            |    20 -
 libcpp/pbdata/utils/BitUtils.cpp                   |    99 -
 libcpp/pbdata/utils/BitUtils.hpp                   |    14 -
 libcpp/pbdata/utils/SMRTReadUtils.cpp              |    45 -
 libcpp/pbdata/utils/SMRTReadUtils.hpp              |    18 -
 libcpp/pbdata/utils/SMRTTitle.cpp                  |    52 -
 libcpp/pbdata/utils/SMRTTitle.hpp                  |    24 -
 libcpp/pbdata/utilsImpl.hpp                        |    32 -
 libcpp/rules.mk                                    |    17 -
 libcpp/simple.mk                                   |    16 -
 libcpp/unittest/.gitignore                         |     1 -
 libcpp/unittest/Makefile                           |   151 -
 libcpp/unittest/alignment/Makefile                 |    35 -
 .../alignment/AlignmentMap_gtest.cpp               |    63 -
 .../alignment/CmpIndexedStringTable_gtest.cpp      |   143 -
 .../unittest/alignment/files/CCSIterator_gtest.cpp |    66 -
 .../alignment/files/FragmentCCSIterator_gtest.cpp  |   104 -
 .../alignment/files/ReaderAgglomerate_gtest.cpp    |   129 -
 .../alignment/format/SAMHeaderPrinter_gtest.cpp    |   138 -
 .../unittest/alignment/format/SAMPrinter_gtest.cpp |    45 -
 .../unittest/alignment/utils/FileUtils_gtest.cpp   |    54 -
 .../unittest/alignment/utils/RangeUtils_gtest.cpp  |    63 -
 .../unittest/alignment/utils/RegionUtils_gtest.cpp |   236 -
 libcpp/unittest/build.mk                           |    27 -
 libcpp/unittest/common.mk                          |    64 -
 libcpp/unittest/hdf/HDF2DArray_gtest.cpp           |    96 -
 libcpp/unittest/hdf/HDFBasReader_gtest.cpp         |    56 -
 libcpp/unittest/hdf/HDFCCSReader_gtest.cpp         |    68 -
 libcpp/unittest/hdf/HDFPlsReader_gtest.cpp         |    49 -
 libcpp/unittest/hdf/HDFScanDataReader_gtest.cpp    |    52 -
 libcpp/unittest/hdf/HDFScanDataWriter_gtest.cpp    |    36 -
 libcpp/unittest/hdf/HDFUtils_gtest.cpp             |    38 -
 libcpp/unittest/hdf/HDFZMWReader_gtest.cpp         |   125 -
 libcpp/unittest/hdf/Makefile                       |    26 -
 libcpp/unittest/normal.Makefile                    |     9 -
 libcpp/unittest/normal.defines.mk                  |    54 -
 libcpp/unittest/pbdata/CCSSequence_gtest.cpp       |   117 -
 libcpp/unittest/pbdata/ChangeListID_gtest.cpp      |    34 -
 libcpp/unittest/pbdata/DNASequence_gtest.cpp       |   279 -
 libcpp/unittest/pbdata/FASTAReader_gtest.cpp       |    65 -
 libcpp/unittest/pbdata/FASTASequence_gtest.cpp     |   143 -
 libcpp/unittest/pbdata/FASTQReader_gtest.cpp       |    90 -
 libcpp/unittest/pbdata/Makefile                    |    31 -
 libcpp/unittest/pbdata/NucConversion_gtest.cpp     |   105 -
 libcpp/unittest/pbdata/SMRTSequence_gtest.cpp      |    62 -
 libcpp/unittest/pbdata/ScanData_gtest.cpp          |    31 -
 libcpp/unittest/pbdata/SeqUtils_gtest.cpp          |    50 -
 libcpp/unittest/pbdata/StringUtils_gtest.cpp       |    80 -
 libcpp/unittest/pbdata/VectorUtils_gtest.cpp       |    38 -
 libcpp/unittest/pbdata/defs_gtest.cpp              |    44 -
 .../pbdata/metagenome/TitleTable_gtest.cpp         |    32 -
 .../pbdata/qvs/QualityValueVector_gtest.cpp        |    50 -
 libcpp/unittest/pbdata/reads/ReadType_gtest.cpp    |    57 -
 libcpp/unittest/pbdata/saf/AlnGroup_gtest.cpp      |    44 -
 libcpp/unittest/pbdata/saf/MovieInfo_gtest.cpp     |    43 -
 libcpp/unittest/pbdata/saf/RefInfo_gtest.cpp       |    45 -
 libcpp/unittest/pbdata/testdata.h                  |    71 -
 libcpp/unittest/pbdata/utils/SMRTTitle_gtest.cpp   |    28 -
 libcpp/unittest/pbdata/utils_gtest.cpp             |    37 -
 GNUmakefile => makefile                            |    35 +-
 p4.common.mk                                       |   147 -
 p4.fetch.tmpmk                                     |    10 -
 p4.mk                                              |    76 -
 rules.mk                                           |    16 +-
 travis.sh                                          |     2 +-
 utils/.gitignore                                   |     8 +
 utils/Makefile                                     |    64 -
 utils/{GNUmakefile => makefile}                    |    28 +-
 utils/p4.mk                                        |    65 -
 yli.common.mk                                      |    94 -
 yli.makefile                                       |    80 -
 506 files changed, 337 insertions(+), 96096 deletions(-)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..bfdb47f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+defines.mk
+*.d
+*.o
+blasr
diff --git a/Blasr.cpp b/Blasr.cpp
index 95aee11..f7a4276 100644
--- a/Blasr.cpp
+++ b/Blasr.cpp
@@ -3533,6 +3533,23 @@ void MapReads(MappingData<T_SuffixArray, T_GenomeSequence, T_Tuple> *mapData) {
             }
           }
         }
+        // Fix for memory leakage bug due to undeleted Alignment Candidate objectts which wasn't selected
+        // for printing
+        // delete all AC which are in complement of SelectedAlignmemntPtrs vector
+        // namely (SelectedAlignmentPtrs/alignmentPtrs)
+        for (int ii = 0; ii < alignmentPtrs.size(); ii++)
+        {
+          int found =0;
+          for (int jj = 0; jj < selectedAlignmentPtrs.size(); jj++)
+          {
+            if (alignmentPtrs[ii] == selectedAlignmentPtrs[jj] )
+            {
+                found = 1;
+                break;
+            }
+          }
+          if (found == 0) delete alignmentPtrs[ii];
+        }
         subreadSequence.Free();
         subreadSequenceRC.Free();
       } // End of looping over subread intervals within [startIndex, endIndex).
@@ -3743,6 +3760,23 @@ void MapReads(MappingData<T_SuffixArray, T_GenomeSequence, T_Tuple> *mapData) {
         } // End of alignining all subreads to where the de novo ccs has aligned to.
       } // End of if readIsCCS and !params.useCcsOnly 
 
+      // Fix for memory leakage due to undeleted Alignment Candidate objectts not selected
+      // for printing
+      // delete all AC which are in complement of SelectedAlignmemntPtrs vector
+      // namely (SelectedAlignmentPtrs/alignmentPtrs)
+      for (int ii = 0; ii < alignmentPtrs.size(); ii++)
+      {
+        int found =0;
+        for (int jj = 0; jj < selectedAlignmentPtrs.size(); jj++)
+        {
+          if (alignmentPtrs[ii] == selectedAlignmentPtrs[jj] )
+          {
+              found = 1;
+              break;
+          }
+        }
+        if (found == 0) delete alignmentPtrs[ii];
+      }
     } // End of if not (readIsCCS == false and params.mapSubreadsSeparately) 
 
     PrintAllReadAlignments(allReadAlignments, alignmentContext,
diff --git a/MANUAL.md b/MANUAL.md
deleted file mode 100644
index 92b96b0..0000000
--- a/MANUAL.md
+++ /dev/null
@@ -1,84 +0,0 @@
-##NEWS:Refactored blasr has been online! Try it out!##
-  
-  
-##Installation##
-
-###1. Download source code###
-  In order to download blasr source code from github, 
-  
-  + > git clone git at github.com:PacificBiosciences/blasr.git --recursive
-  
-  To sync your local repo with latest from github blasr master branch
-  
-  + > git pull -u origin master && git submodule update --init --recursive 
-
-###2. Requirements###
-
-  To build BLASR, you must have hdf 1.8.12 or above installed and
-  configured with c++ support (you should have the library
-  libhdf5_cpp.a).  If you are intalling the entire PacBio secondary
-  analysis software suite, appropriate hdf libraries are already
-  distributed and no configuration is necessary.  Otherwise, it is
-  necessary to point two environment variables:
-
-  + **HDF5_INC**, which points to locations of the HDF5 headers
-  (e.g., hdf5.h)
-
-  + **HDF5_LIB**, which points to the HDF5 library (e.g., hdf5*.a,
-  and hdf5*.so)
-  
-  You may edit file blasr_git_common.mk in order sepcify HDF5_INC and HDF5_LIB.
-  Alternatively, you may export them from command line.
-  
-  + > export HDF5_INC=path_to_your_hdf5_include && export HDF5_LIB=path_to_your_hdf5_lib
-
-###3. Build blasr only###
-
-  + > make blasr
-  + > ./blasr
-
-###4. Build the source tree, including other executables###
-
-  + > make
-  + > ls utils  # Frequently used executables will be under utils.
-
-
-##Running BLASR##
-
-  Typing 'blasr -h' or 'blasr -help' on the command line will give you a
-  list of options.  At the least, provide a fasta, fastq, or bas.h5 file,
-  and a genome.
-
-  *Some typical use cases:*
-
-  Align reads from reads.bas.h5 to ecoli_K12 genome, and output in SAM format.
-
-  + > blasr reads.bas.h5  ecoli_K12.fasta -sam
-
-  Same as above, but with soft clipping
-
-  + > blasr reads.bas.h5  ecoli_K12.fasta -sam -clipping soft
-
-  Use multiple threads
-
-  + > blasr reads.bas.h5  ecoli_K12.fasta -sam -clipping soft -out alignments.sam -nproc 16
-
-  Include a larger minimal match, for faster but less sensitive alignments
-
-  + > blasr reads.bas.h5  ecoli_K12.fasta -sam -clipping soft -minMatch 15
-
-  Produce alignments in a pairwise human readable format
-
-  + > blasr reads.bas.h5  ecoli_K12.fasta -m 0
-
-  Use a precomputed suffix array for faster startup
-
-  + > sawriter hg19.fasta.sa hg19.fasta #First precompute the suffix array
-  + > blasr reads.bas.h5 hg19.fasta -sa hg19.fasta.sa
-
-  Use a precomputed BWT-FM index for smaller runtime memory footprint, but slower alignments.
-
-  + > sa2bwt hg19.fasta hg19.fasta.sa hg19.fasta.bwt
-  + > blasr reads.bas.h5 hg19.fasta -bwt hg19.fasta.bwt
-  
-
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 938351b..0000000
--- a/Makefile
+++ /dev/null
@@ -1,59 +0,0 @@
-SHELL=bash -e -E
-
-.PHONY: all pblib makeutils gtest cramtests cramfast check clean cleanall cleanlib
-
-include common.mk
-
-SRCS := $(wildcard *.cpp)
-OBJS := $(SRCS:.cpp=.o)
-DEPS := $(SRCS:.cpp=.d)
-EXE = blasr
-UTILS = utils
-
-all : CXXFLAGS ?= $(DEFAULTCXXFLAG)
-debug : CXXFLAGS ?= $(DEBUGCXXFLAG)
-profile : CXXFLAGS ?= $(PROFILECXXFLAG)
-g: CXXFLAGS += $(GCXXFLAG)
-g: LIBS = $(GLIBS)
-
-
-all debug profile g: $(EXE) makeutils 
-
-$(EXE): $(SRCS) $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $(SRCS) $(LIBDIRS) $(LIBS)
-
-# DON'T use pbbam which is not on github.
-PBINCROOT:=$(abspath libcpp)
-pblib: $(PBINCROOT)/configure.py $(PBINCROOT)/makefile
-	cd $(PBINCROOT) && NOPBBAM=true HDF5_LIB=${HDF5_LIB}/libhdf5.so ./configure.py
-	cd $(PBINCROOT) && ${MAKE}
-
-makeutils:
-	make -C $(UTILS) $(MODE) 
-
-CTESTS := $(wildcard ctest/*.t)
-SLOW_CTESTS := ctest/bug25328.t ctest/useccsallLargeGenome.t
-
-cramtests: $(EXE) $(UTILS) 
-	cram -v --shell=/bin/bash $(CTESTS)
-	make -C $(UTILS) cramtests
-
-cramfast: $(EXE) $(UTILS)
-	cram -v --shell=/bin/bash $(filter-out $(SLOW_CTESTS),$(CTESTS))
-	make -C $(UTILS) cramfast
-
-gtest: $(EXE)
-	make -C $(PBINCROOT) gtest
-
-check: gtest cramtests
-
-cleanall: cleanlib clean
-
-cleanlib: $(PBINCROOT)/Makefile
-	@make -C $(PBINCROOT) cleanall
-
-clean: 
-	@rm -f $(EXE) $(OBJS) $(DEPS) blasr.d
-	@make -C $(UTILS) clean
-
--include $(DEPS)
diff --git a/README.INSTALL.md b/README.INSTALL.md
new file mode 100644
index 0000000..b892078
--- /dev/null
+++ b/README.INSTALL.md
@@ -0,0 +1,72 @@
+## Installation
+
+### Download source code
+
+* To pull this project from git hub to your local system:
+
+        git clone git://github.com/PacificBiosciences/blasr.git blasr
+
+* To sync your code with the latest git code base:
+
+        git pull -u origin master && git submodule update --init
+
+### Requirements
+
+* To configure:
+
+        ./configure.py --no-pbbam
+
+* or with HDF5 directories (and note that `HDF5_LIB` is a *directory* here):
+
+        ./configure.py --no-pbbam HDF5_INCLUDE=... HDF5_LIB=...
+
+To build BLASR, you must have hdf 1.8.12 or above installed and
+  configured with c++ support (you should have the library
+  libhdf5_cpp.a).  If you are intalling the entire PacBio secondary
+  analysis software suite, appropriate hdf libraries are already
+  distributed and no configuration is necessary.  Otherwise, it is
+  necessary to point two environment variables:
+
+  + **HDF5_INCLUDE**, which points to directory of the HDF5 headers
+  (e.g., hdf5.h)
+
+  + **HDF5_LIB**, which points to the HDF5 library directory (e.g., hdf5*.a,
+  and hdf5*.so)
+  
+  You may pass arguments to `configure.py` as above, or you may export them from command line:
+  
+        export HDF5_INC=path_to_your_hdf5_include && export HDF5_LIB=path_to_your_hdf5_lib
+
+### Build
+
+* To make the 'libcpp' libraries:
+
+        make build-submodule
+
+* To make 'blasr' only:
+
+        make blasr
+
+* To compile all tools, including blasr, pls2fasta, loadPulses, sawriter:
+
+        make
+
+  * Frequently used executables will be under utils.
+
+* To test (with **cram** installed):
+
+        #make cramtests
+        make cramfast
+        ## Currently:
+        ## Ran 22 tests, 0 skipped, 4 failed.
+
+* To clean all compiled tools and lib:
+
+        make cleanall
+
+* To clean compiled tools without cleaning lib:
+
+        make clean
+
+        make blasr
+        ./blasr
diff --git a/README.MANUAL.md b/README.MANUAL.md
new file mode 100644
index 0000000..c1d12f6
--- /dev/null
+++ b/README.MANUAL.md
@@ -0,0 +1,38 @@
+## Running BLASR
+
+  Typing 'blasr -h' or 'blasr -help' on the command line will give you a
+  list of options.  At the least, provide a fasta, fastq, or bas.h5 file,
+  and a genome.
+
+### Some typical use cases
+
+Align reads from reads.bas.h5 to ecoli_K12 genome, and output in SAM format.
+
+    blasr reads.bas.h5  ecoli_K12.fasta -sam
+
+Same as above, but with soft clipping
+
+    blasr reads.bas.h5  ecoli_K12.fasta -sam -clipping soft
+
+Use multiple threads
+
+    blasr reads.bas.h5  ecoli_K12.fasta -sam -clipping soft -out alignments.sam -nproc 16
+
+Include a larger minimal match, for faster but less sensitive alignments
+
+    blasr reads.bas.h5  ecoli_K12.fasta -sam -clipping soft -minMatch 15
+
+Produce alignments in a pairwise human readable format
+
+    blasr reads.bas.h5  ecoli_K12.fasta -m 0
+
+Use a precomputed suffix array for faster startup
+
+    sawriter hg19.fasta.sa hg19.fasta #First precompute the suffix array
+    blasr reads.bas.h5 hg19.fasta -sa hg19.fasta.sa
+
+Use a precomputed BWT-FM index for smaller runtime memory footprint, but slower alignments.
+
+    sa2bwt hg19.fasta hg19.fasta.sa hg19.fasta.bwt
+    blasr reads.bas.h5 hg19.fasta -bwt hg19.fasta.bwt
+
diff --git a/README.md b/README.md
index 8bc8e40..c7724ce 100644
--- a/README.md
+++ b/README.md
@@ -1,52 +1,2 @@
-# NEWS: refactored blasr has been put online. Please try it out!
+See Blasr [README.INSTALL.md](README.INSTALL.md) and [README.MANUAL.md](README.MANUAL.md).
 
-Blasr installation and maual: 
-
-    more Manual.md
-
-To pull this project from git hub to your local system:
-
-    git clone git at github.com:PacificBiosciences/blasr.git blasr --recursive
-
-To sync your code with the latest git code base:
-
-    git pull -u origin master && git submodule update --init --recursive 
-
-To specify HDF5 headers and lib on your system:
-
-    export HDF5_INCLUDE=path_to_your_hdf5_include && export HDF5_LIB=path_to_your_hdf5_lib
-
-To configure:
-
-    ./configure.py --no-pbbam
-
-or with HDF5 directories (and note that `HDF5_LIB` is a *directory* here):
-
-    ./configure.py --no-pbbam HDF5_INCLUDE=... HDF5_LIB=...
-
-To make the 'libcpp' libraries:
-
-    make build-submodule
-
-To make 'blasr' only:
-
-    make blasr
-
-To compile all tools, including blasr, pls2fasta, loadPulses, sawriter:
-
-    make
-
-To test (with **cram** installed):
-
-    #make cramtests
-    make cramfast
-    ## Currently:
-    ## Ran 22 tests, 0 skipped, 4 failed.
-
-To clean all compiled tools and lib:
-
-    make cleanall
-
-To clean compiled tools without cleaning lib:
-
-    make clean
diff --git a/blasr_git_common.mk b/blasr_git_common.mk
deleted file mode 100644
index 5834a55..0000000
--- a/blasr_git_common.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# Set HDF5_INC and HDF5_LIB, the path to hdf5 headers and library.
-#
-# Directory HDF5_INC should contain hdf headers (e.g., 
-# hdf5.h).
-#
-# Directory HDF5_LIB should contain hdf5 libraries (e.g., 
-# libhdf5*.a libhdf5*.so).
-#
-# !! Note HDF5_INC and HDF5_LIB must be absolute paths!
-#############################################################
-
-HDF5_INC?=/home/UNIXHOME/yli/yliWorkspace/software/smrtanalysis/prebuilt.out/hdf5/hdf5-1.8.12/centos-5/include
-HDF5_LIB?=/home/UNIXHOME/yli/yliWorkspace/software/smrtanalysis/prebuilt.out/hdf5/hdf5-1.8.12/centos-5/lib
- 
-#############################################################
diff --git a/blasr_gitp4.mk b/blasr_gitp4.mk
deleted file mode 100644
index 0b05708..0000000
--- a/blasr_gitp4.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-SHELL=/bin/bash -e -E
-
-.PHONY: curdir submodules p4togit pullfromgit 
-
-# git p4 operations
-curdir = $(shell pwd)
-
-submodules = libcpp 
-
-p4togit: $(submodules)
-	@for submodule in $(submodules); do \
-		cd $$submodule; echo Rebasing submodule $$submodule; git p4 sync; git p4 rebase; git push -u origin master; cd $(curdir);\
-	done 
-	@for submodule in $(submodules); do \
-		echo Adding submodule $$submodle to blasr; git add $$submodule; \
-	done
-	@git commit -m "Push latest $(submodules) from p4 to github" 
-	@git push -u origin master || echo push failed
-
-# To help users sync all submodules from github to local.
-pullfromgit:
-	@git pull -u origin master
-	@git submodule update --init --recursive
-
diff --git a/common.mk b/common.mk
deleted file mode 100644
index 9f2723c..0000000
--- a/common.mk
+++ /dev/null
@@ -1,139 +0,0 @@
-OS := $(shell uname)
-
-# Determine where is PBINCROOT, either from github or PacBio SMRTAnalysis package.
-PBINCROOT ?= $(realpath ../../lib/cpp/)
-PREBUILT ?= $(realpath ../../../prebuilt.out)
-THIRD_PARTY_PREFIX ?= $(realpath ..)
-
-#####include $(PBINCROOT)/common.mk
-#####include $(PBINCROOT)/rules.mk
-
-LIBBLASR_INCLUDE  := $(PBINCROOT)/alignment
-LIBPBIHDF_INCLUDE := $(PBINCROOT)/hdf
-LIBPBDATA_INCLUDE := $(PBINCROOT)/pbdata
-PBBAM_INCLUDE     := $(PBBAM)/include
-HTSLIB_INCLUDE    := $(PBBAM)/../htslib/htslib
-HDF5_INCLUDE      := $(HDF5_INC)
-ZLIB_INCLUDE      := $(ZLIB_ROOT)/include
-
-LIBBLASR_LIB  := $(PBINCROOT)/alignment
-LIBPBIHDF_LIB := $(PBINCROOT)/hdf
-LIBPBDATA_LIB := $(PBINCROOT)/pbdata
-PBBAM_LIB     := $(PBBAM)/lib
-HTSLIB_LIB    := $(PBBAM)/../htslib
-HDF5_LIB      := $(HDF5_LIB)
-ZLIB_LIB      := $(ZLIB_ROOT)/lib
-
-
-LIBPBIHDF_CPP_LIBFLAG := -lhdf5_cpp
-LIBPBIHDF_LIBFLAG     := -lhdf5
-
-LIBBLASR_LIBFLAGS  := -lblasr
-LIBPBIHDF_LIBFLAGS := -lpbihdf
-LIBPBDATA_LIBFLAGS := -lpbdata
-PBBAM_LIBFLAGS     := -lpbbam
-HTSLIB_LIBFLAGS    := -lhts
-HDF5_LIBFLAGS      := $(LIBHDF5_CPP_LIBFLAG) $(LIBHDF5_LIBFLAG)
-ZLIB_LIBFLAGS      := -lz
-
-
-INCDIRS = -I$(LIBBLASR_INCLUDE) \
-          -I$(LIBPBIHDF_INCLUDE) \
-          -I$(LIBPBDATA_INCLUDE) \
-          -I$(HDF5_INCLUDE)
-
-LIBDIRS = -L$(LIBBLASR_LIB) \
-          -L$(LIBPBIHDF_LIB) \
-          -L$(LIBPBDATA_LIB) \
-          -L$(HDF5_LIB) 
-
-ifneq ($(ZLIB_ROOT), notfound)
-        # NOTE: The zlib include directory is not needed since we do not
-        #       refer to any zlib include files directly in the blasr source
-        #       code.   But we do need to link to the zlib library (static
-        #       or shared), since htslib depends on it.
-        #          INCDIRS += -I$(ZLIB_INCLUDE)
-	LIBDIRS += -L$(ZLIB_LIB)
-endif
-
-CXXOPTS := -std=c++0x -pedantic \
-           -Wall -Wuninitialized -Wno-div-by-zero \
-           -MMD -MP -w -fpermissive
-
-DEFAULTCXXFLAG := -O3
-DEBUGCXXFLAG := -g -ggdb -fno-inline
-PROFILECXXFLAG := -Os -pg 
-GCXXFLAG := -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -fno-omit-frame-pointer 
-
-LIBS := $(LIBBLASR_LIBFLAGS) $(LIBPBIHDF_LIBFLAGS) $(LIBPBDATA_LIBFLAGS)
-PBBAMLIBS :=  $(PBBAM_LIBFLAGS)
-ifneq ($(SHARED_LIB),)
-    PBBAMLIBS += $(HTSLIB_LIBFLAGS)
-else
-    ifneq ($(wildcard "$(HTSLIB_LIB)/libhts.a"),"")
-        PBBAMLIBS += $(HTSLIB_LIB)/libhts.a
-    else
-         PBBAMLIBS += $(HTSLIB_LIBFLAGS)
-    endif
-endif
-
-ifneq ($(SHARED_LIB),)
-    LIBS += $(HDF5_LIBFLAGS)
-else
-    ifneq ($(wildcard "$(HDF5_LIB)/libhdf5_cpp.a"),"")
-        LIBS += $(HDF5_LIB)/libhdf5_cpp.a $(HDF5_LIB)/libhdf5.a
-    else
-        LIBS += $(HDF5_LIBFLAGS)
-    endif
-endif
-
-ifeq ($(origin nopbbam), undefined)
-	INCDIRS += -I$(PBBAM_INCLUDE) \
-			   -I$(HTSLIB_INCLUDE) \
-			   -I$(BOOST_INCLUDE)
-
-
-	LIBDIRS += -L$(PBBAM_LIB) \
-			   -L$(HTSLIB_LIB)
-
-	LIBS += $(PBBAMLIBS) 
-endif
-
-LIBS += $(ZLIB_LIBFLAGS)
-LIBS += -lpthread
-
-# NOTE: libdl is not needed when we are linking with shared libraries, but
-#       is is needed for static linking, since the hdf5 library depends on it
-ifeq ($(SHARED_LIB),)
-    LIBS += -ldl
-endif
-
-ifneq ($(SHARED_LIB),)
-    STATIC :=
-else
-    ifneq ($(OS), Darwin)
-	STATIC := -static
-    else
-	STATIC :=
-    endif
-endif
-
-ifneq ($(OS), Darwin)
-	LIBS += -lrt
-else
-	LIBS += -lsz
-endif
-
-# -lhdf5, -lhdf5_cpp, -lz required for HDF5
-# -lpbbam -lhts for BAM
-# -lpthread for multi-threading
-# -lrt for clock_gettime
-# -ldl for dlopen dlclose 
-
-GLIBS = -Wl --eh-frame-hdr -fno-builtin-malloc -L$(HOME)/lib -ltcmalloc -lunwind -lprofiler $(LIBS)
-
-PBLIB :=
-ifeq ($(NO_SUBMAKES),)
-    PBLIB := pblib
-endif
-
diff --git a/configure.py b/configure.py
index 126c362..9b7927c 100755
--- a/configure.py
+++ b/configure.py
@@ -8,23 +8,25 @@ import contextlib
 import optparse
 import os
 import sys
+import warnings
 
 #DEFAULTCXXFLAG := -O3
 #DEBUGCXXFLAG := -g -ggdb -fno-inline
 #PROFILECXXFLAG := -Os -pg 
 #GCXXFLAG := -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -fno-omit-frame-pointer 
 
-ROOT = '${ROOT}'
+ROOT = os.path.abspath(os.path.dirname(__file__))
 
 def log(msg):
     sys.stderr.write(msg)
     sys.stderr.write('\n')
 
 def shell(cmd):
-    log(cmd)
+    log('`%s`'%cmd)
     status, output = commands.getstatusoutput(cmd)
     if status:
         raise Exception('%d <- %r' %(status, cmd))
+    log(output)
     return output
 
 def system(cmd):
@@ -34,6 +36,10 @@ def system(cmd):
         raise Exception('%d <- %r' %(status, cmd))
     return
 
+def mkdirs(path):
+    if not os.path.isdir(path):
+        os.makedirs(path)
+
 @contextlib.contextmanager
 def cd(nwd):
     cwd = os.getcwd()
@@ -46,8 +52,8 @@ def cd(nwd):
 def update_content(fn, content):
     current_content = open(fn).read() if os.path.exists(fn) else None
     if content != current_content:
-        log('writing to %r' %fn)
-        log('"""\n' + content + '"""')
+        log('writing to %r:' %fn)
+        log('"""\n' + content + '"""\n----')
         open(fn, 'w').write(content)
 
 def get_OS_STRING():
@@ -87,43 +93,35 @@ def compose_defines_pacbio(envin):
     #setifenvf(env, envin, 'PREBUILT', get_PREBUILT)
     nondefaults = set([
             'CXX',
-            'LIBPBDATA_INCLUDE', 'LIBPBDATA_LIB', 'LIBPBDATA_LIBFLAGS',
-            'LIBPBIHDF_INCLUDE', 'LIBPBIHDF_LIB', 'LIBPBIHDF_LIBFLAGS',
-            'LIBBLASR_INCLUDE', 'LIBBLASR_LIB', 'LIBBLASR_LIBFLAGS',
-            'HDF5_INCLUDE', 'HDF5_LIB', 'HDF5_LIBFLAGS',
-            'PBBAM_INCLUDE', 'PBBAM_LIB', 'PBBAM_LIBFLAGS',
-            'HTSLIB_INCLUDE', 'HTSLIB_LIB', 'HTSLIB_LIBFLAGS',
-            'BOOST_INCLUDE',
+            'LIBPBDATA_INC', 'LIBPBDATA_LIB', 'LIBPBDATA_LIBFLAGS',
+            'LIBPBIHDF_INC', 'LIBPBIHDF_LIB', 'LIBPBIHDF_LIBFLAGS',
+            'LIBBLASR_INC', 'LIBBLASR_LIB', 'LIBBLASR_LIBFLAGS',
+            'HDF5_INC', 'HDF5_LIB', 'HDF5_LIBFLAGS',
+            'PBBAM_INC', 'PBBAM_LIB', 'PBBAM_LIBFLAGS',
+            'HTSLIB_INC', 'HTSLIB_LIB', 'HTSLIB_LIBFLAGS',
+            'BOOST_INC',
+            'GCC_LIB',
             'ZLIB_LIB', 'ZLIB_LIBFLAGS',
             'PTHREAD_LIBFLAGS',
             'DL_LIBFLAGS',
+            'RT_LIBFLAGS',
     ])
     update_env_if(env, envin, nondefaults)
     return compose_defs_env(env)
 
 
-def update(content_defines_mk):
-    """ Write these relative to the same directory as *this* file.
-    """
-    thisdir = os.path.dirname(os.path.abspath(__file__))
-    fn_defines_mk = os.path.join(thisdir, 'defines.mk')
-    update_content(fn_defines_mk, content_defines_mk)
-
-def configure_pacbio(envin, shared):
+def configure_pacbio(envin, shared, build_dir):
     content1 = compose_defines_pacbio(envin)
-    if shared:
-        content1 += 'LDLIBS+=-lrt\n'
-    else:
+    if not shared:
         content1 += 'LDFLAGS+=-static\n'
-    content1 += 'SUB_CONF_FLAGS+=--shared\n'
-    update(content1)
+    update_content(os.path.join(build_dir, 'defines.mk'), content1)
 
 def set_defs_submodule_defaults(env, nopbbam):
     subdir = os.path.join(ROOT, 'libcpp')
     defaults = {
-        'LIBPBDATA_INCLUDE': os.path.join(subdir, 'pbdata'),
-        'LIBBLASR_INCLUDE':  os.path.join(subdir, 'alignment'),
-        #'LIBPBIHDF_INCLUDE': '' if nopbbam else os.path.join(subdir, 'hdf'),
+        'LIBPBDATA_INC': os.path.join(subdir, 'pbdata'),
+        'LIBBLASR_INC':  os.path.join(subdir, 'alignment'),
+        #'LIBPBIHDF_INC': '' if nopbbam else os.path.join(subdir, 'hdf'),
         'LIBPBDATA_LIB': os.path.join(subdir, 'pbdata'),
         'LIBBLASR_LIB':  os.path.join(subdir, 'alignment'),
         #'LIBPBIHDF_LIB': '' if nopbbam else os.path.join(subdir, 'hdf'),
@@ -132,13 +130,17 @@ def set_defs_submodule_defaults(env, nopbbam):
         if k not in env:
             env[k] = defaults[k]
 
+def update_defaults_for_os(env):
+    OS = shell('uname')
+    if 'Darwin' in OS:
+        #-lsz (for static builds?)
+        env['RT_LIBFLAGS'] = ''
+
 def set_defs_defaults(env, nopbbam):
-    # OS := $(shell uname)
-    # if Darwin, -lsz (for static builds?)
     defaults = {
-        'LIBBLASR_INCLUDE':  os.path.join(ROOT, 'libcpp', 'alignment'),
-        'LIBPBDATA_INCLUDE':  os.path.join(ROOT, 'libcpp', 'pbdata'),
-        'LIBPBIHDF_INCLUDE':  os.path.join(ROOT, 'libcpp', 'hdf'),
+        'LIBBLASR_INC':  os.path.join(ROOT, 'libcpp', 'alignment'),
+        'LIBPBDATA_INC':  os.path.join(ROOT, 'libcpp', 'pbdata'),
+        'LIBPBIHDF_INC':  os.path.join(ROOT, 'libcpp', 'hdf'),
         'LIBBLASR_LIB':  os.path.join(ROOT, 'libcpp', 'alignment'),
         'LIBPBDATA_LIB':  os.path.join(ROOT, 'libcpp', 'pbdata'),
         'LIBPBIHDF_LIB':  os.path.join(ROOT, 'libcpp', 'hdf'),
@@ -146,19 +148,24 @@ def set_defs_defaults(env, nopbbam):
         'LIBPBDATA_LIBFLAGS': '-lpbdata',
         'LIBPBIHDF_LIBFLAGS': '-lpbihdf',
         'HDF5_LIBFLAGS': '-lhdf5_cpp -lhdf5',
+        'RT_LIBFLAGS': '-lrt',
         'ZLIB_LIBFLAGS': '-lz',
         'PTHREAD_LIBFLAGS': '-lpthread',
         'DL_LIBFLAGS': '-ldl', # neeeded by HDF5 always
         'SHELL': 'bash -xe',
     }
+    try:
+        update_defaults_for_os(defaults)
+    except Exception as e:
+        warnings.warn(e)
     #setifenvf(defaults, env, 'OS_STRING', get_OS_STRING)
     #setifenvf(defaults, env, 'PREBUILT', get_PREBUILT)
     pbbam_defaults = {
         'PBBAM_LIBFLAGS': '-lpbbam',
         'HTSLIB_LIBFLAGS': '-lhts',
         'ZLIB_LIBFLAGS': '-lz',
-        'PTHREAD_LIBFLAGS': '-lpthread',
-        'DL_LIBFLAGS': '-ldl', # neeeded by HDF5 always
+        #'PTHREAD_LIBFLAGS': '-lpthread',
+        #'DL_LIBFLAGS': '-ldl', # neeeded by HDF5 always
     }
     if not nopbbam:
         defaults.update(pbbam_defaults)
@@ -183,21 +190,44 @@ def parse_args(args):
             help='Set variables to use our git-submodules, which must be pulled and built first. (Implies --no-pbbam.)')
     parser.add_option('--shared', action='store_true',
             help='Build for dynamic linking.')
+    parser.add_option('--build-dir',
+            help='Can be different from source directory, but only when *not* also building submodule.')
     return parser.parse_args(list(args))
 
+def symlink_makefile(build_dir_root, src_dir_root, makefilename, relpath):
+    src_dir = os.path.join(src_dir_root, relpath)
+    build_dir = os.path.join(build_dir_root, relpath)
+    src_name = os.path.join(src_dir, 'makefile')
+    dst_name = os.path.join(build_dir, 'makefile')
+    if os.path.lexists(dst_name):
+        os.unlink(dst_name)
+    print('%r <- %r' %(src_name, dst_name))
+    mkdirs(build_dir)
+    os.symlink(src_name, dst_name)
+
+def symlink_makefiles(build_dir):
+    symlink_makefile(build_dir, ROOT, 'makefile', '.')
+    symlink_makefile(build_dir, ROOT, 'makefile', 'utils')
+    symlink_makefile(build_dir, ROOT, 'makefile', 'extrautils')
+
 def main(prog, *args):
     """We are still deciding what env-vars to use, if any.
     """
     # Set up an alias, until everything uses one consistently.
-    if 'HDF5_INC' in os.environ and 'HDF5_INCLUDE' not in os.environ:
-        os.environ['HDF5_INCLUDE'] = os.environ['HDF5_INC']
     conf, makevars = parse_args(args)
+    if conf.build_dir is not None:
+        symlink_makefiles(conf.build_dir)
+    else:
+        conf.build_dir = '.'
+    conf.build_dir = os.path.abspath(conf.build_dir)
     envin = get_make_style_env(os.environ, makevars)
+    if 'HDF5_INCLUDE' in envin and 'HDF5_INC' not in envin:
+        envin['HDF5_INC'] = envin['HDF5_INCLUDE']
     if conf.submodules:
         set_defs_submodule_defaults(envin, conf.no_pbbam)
         conf.no_pbbam = True
     set_defs_defaults(envin, conf.no_pbbam)
-    configure_pacbio(envin, conf.shared)
+    configure_pacbio(envin, conf.shared, conf.build_dir)
 
 
 if __name__=="__main__":
diff --git a/ctest/hitpolicy.t b/ctest/hitpolicy.t
index 062a4ae..2a90e19 100644
--- a/ctest/hitpolicy.t
+++ b/ctest/hitpolicy.t
@@ -35,22 +35,32 @@ Test hitpolicy allbest
 
 Test hitpolicy random
   $ O=$OUTDIR/hitpolicy_random.m4
+  $ O2=$OUTDIR/hitpolicy_random_2.m4
   $ X=$STDDIR/hitpolicy_random.m4
   $ $EXEC $I $R -out $O -m 4 -hitPolicy random -randomSeed 1
   [INFO]* (glob)
   [INFO]* (glob)
+  $ $EXEC $I $R -out $O2 -m 4 -hitPolicy random -randomSeed 1
+  [INFO]* (glob)
+  [INFO]* (glob)
   $ sort $O > $TMP1 && mv $TMP1 $O
-  $ diff $O $X && echo $?
+  $ sort $O2 > $TMP2 && mv $TMP2 $O2
+  $ diff $O $O2 && echo $?
   0
 
 Test hitpolicy randombest bam inputs, nproc > 1, fixed seed
   $ O=$OUTDIR/hitpolicy_randombest_bam_in.m4
+  $ O2=$OUTDIR/hitpolicy_randombest_bam_in_2.m4
   $ X=$STDDIR/hitpolicy_randombest_bam_in.m4
   $ $EXEC $I $R -out $O -m 4 -hitPolicy randombest -randomSeed 1 -nproc 10
   [INFO]* (glob)
   [INFO]* (glob)
+  $ $EXEC $I $R -out $O2 -m 4 -hitPolicy randombest -randomSeed 1 -nproc 10
+  [INFO]* (glob)
+  [INFO]* (glob)
   $ sort $O > $TMP1 && mv $TMP1 $O
-  $ diff $O $X && echo $?
+  $ sort $O2 > $TMP1 && mv $TMP1 $O2
+  $ diff $O $O2 && echo $?
   0
 
 Test hitpolicy randombest bax inputs, nproc > 1, fixed seed
diff --git a/ctest/useccsallLargeGenome.t b/ctest/useccsallLargeGenome.t
index 5ab7ac1..ac93834 100644
--- a/ctest/useccsallLargeGenome.t
+++ b/ctest/useccsallLargeGenome.t
@@ -10,4 +10,5 @@ Test -useccsall with Large genome.
   $ $EXEC $BASFILE $REFFA -out $OUTFILE -m 4 -sa $REFSA -holeNumbers 109020
   [INFO]* (glob)
   [INFO]* (glob)
-  $ diff $STDDIR/intflow_2014_06_10.m4 $OUTFILE
+  $ sort $OUTFILE > $TMP1 && sort $STDDIR/intflow_2014_06_10.m4 > $TMP2 && diff $TMP1 $TMP2 && echo $?
+  0
diff --git a/extrautils/GNUmakefile b/extrautils/GNUmakefile
deleted file mode 100644
index 5d7da34..0000000
--- a/extrautils/GNUmakefile
+++ /dev/null
@@ -1,45 +0,0 @@
-.PHONY=all cramtests
-
-ROOT:=..
-include ${ROOT}/defines.mk
-include ${ROOT}/rules.mk
-
-CXXOPTS := -std=c++0x -pedantic \
-           -Wall -Wuninitialized -Wno-div-by-zero \
-           -MMD -MP -w -fpermissive
-CXXFLAGS += ${CXXOPTS} ${GCXXFLAGS}
-
-EXE = sa2bwt bwt2sa alchemy excrep evolve bsdb simpleShredder swMatcher \
-  samodify sals printTupleCountTable cmpH5StoreQualityByContext ccsh5tobam
-
-LD_LIBRARY_PATH=${HDF5_LIB}:${LIBBLASR_LIB}:${LIBPBIHDF_LIB}:${LIBPBDATA_LIB}
-export LD_LIBRARY_PATH
-
-
-all: ${EXE}
-
-${EXE}:
-	${CXX} -o $@ $< ${CXXFLAGS} ${CPPFLAGS} -MF"${@:%=%.d}" ${STATIC} ${LDFLAGS} ${LDLIBS}
-
-sa2bwt: SuffixArrayToBWT.cpp
-bwt2sa: BwtToSuffixArray.cpp
-alchemy: BasH5Simulator.cpp
-excrep: ExciseRepeats.cpp
-evolve: Evolve.cpp
-bsdb: BuildSequenceDB.cpp
-simpleShredder: SimpleShredder.cpp
-swMatcher: SWMatcher.cpp
-samodify: SAModify.cpp
-sals: SALS.cpp
-printTupleCountTable: PrintTupleCountTable.cpp
-cmpH5StoreQualityByContext: StoreQualityByContextFromCmpH5.cpp
-ccsh5tobam: CCSH5ToBam.cpp
-
-CTESTS := $(wildcard ctest/*.t)
-
-cramtests: ${EXE}
-	cram -v --shell=/bin/bash ${CTESTS}
-
-clean: 
-	@rm -f ${EXE}
-	@rm -f *.d *.o
diff --git a/extrautils/Makefile b/extrautils/Makefile
deleted file mode 100644
index 0e05bd5..0000000
--- a/extrautils/Makefile
+++ /dev/null
@@ -1,78 +0,0 @@
-SHELL=/bin/bash -e -E
-
-.PHONY=all cramtests
-
-PBINCROOT ?= $(realpath ../../../lib/cpp/)
-PREBUILT ?= $(realpath ../../../../prebuilt.out)
-THIRD_PARTY_PREFIX := $(realpath ../..)
-
-include ../common.mk
-
-all : CXXFLAGS ?= $(DEFAULTCXXFLAG)
-
-debug : CXXFLAGS ?= $(DEBUGCXXFLAG)
-
-profile : CXXFLAGS ?= $(PROFILECXXFLAG)
-
-g: CXXFLAGS += $(GCXXFLAG)
-g: LIBS = $(GLIBS)
-
-exe = sa2bwt bwt2sa alchemy excrep evolve bsdb simpleShredder swMatcher \
-  samodify sals printTupleCountTable cmpH5StoreQualityByContext ccsh5tobam
-
-all debug profile g: $(exe)
-
-sa2bwt: SuffixArrayToBWT.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-bwt2sa: BwtToSuffixArray.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-alchemy: BasH5Simulator.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-excrep: ExciseRepeats.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-evolve: Evolve.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-bsdb: BuildSequenceDB.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-simpleShredder: SimpleShredder.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-swMatcher: SWMatcher.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-samodify: SAModify.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-sals: SALS.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-printTupleCountTable: PrintTupleCountTable.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-cmpH5StoreQualityByContext: StoreQualityByContextFromCmpH5.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-ccsh5tobam: CCSH5ToBam.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-pblib: $(PBINCROOT)/Makefile
-	make -C $(PBINCROOT)
-
-.INTERMEDIATE: $(OBJS)
-
-CTESTS = $(wildcard ctest/*.t)
-cramtests: $(EXE)
-	cram --shell=/bin/bash $(CTESTS)
-
-clean: 
-	@rm -f $(exe)
-	@rm -f $(OBJS) $(DEPS)
-	@rm *.o *.d
-
--include $(DEPS)
diff --git a/extrautils/makefile b/extrautils/makefile
new file mode 100644
index 0000000..c897e37
--- /dev/null
+++ b/extrautils/makefile
@@ -0,0 +1,49 @@
+.PHONY=all cramtests
+
+SRCDIR:=$(dir $(realpath $(lastword $(MAKEFILE_LIST))))
+-include ${CURDIR}/../defines.mk
+include ${SRCDIR}/../rules.mk
+
+CXXOPTS := -std=c++0x -pedantic \
+           -Wall -Wuninitialized -Wno-div-by-zero \
+           -MMD -MP -w -fpermissive
+CXXFLAGS += ${CXXOPTS} ${GCXXFLAGS}
+
+EXE = sa2bwt bwt2sa alchemy excrep evolve bsdb simpleShredder swMatcher \
+  samodify sals printTupleCountTable cmpH5StoreQualityByContext ccsh5tobam
+
+LD_LIBRARY_PATH=${HDF5_LIB}:${LIBBLASR_LIB}:${LIBPBIHDF_LIB}:${LIBPBDATA_LIB}
+export LD_LIBRARY_PATH
+
+vpath %.cpp ${SRCDIR}
+
+all: ${EXE}
+
+${EXE}:
+	${CXX} -o $@ $< ${CXXFLAGS} ${CPPFLAGS} -MF"${@:%=%.d}" ${STATIC} ${LDFLAGS} ${LDLIBS}
+
+sa2bwt: SuffixArrayToBWT.o
+bwt2sa: BwtToSuffixArray.o
+alchemy: BasH5Simulator.o
+excrep: ExciseRepeats.o
+evolve: Evolve.o
+bsdb: BuildSequenceDB.o
+simpleShredder: SimpleShredder.o
+swMatcher: SWMatcher.o
+samodify: SAModify.o
+sals: SALS.o
+printTupleCountTable: PrintTupleCountTable.o
+cmpH5StoreQualityByContext: StoreQualityByContextFromCmpH5.o
+ccsh5tobam: CCSH5ToBam.o
+
+CTESTS := \
+ctest/alchemy.t  ctest/ccsh5tobam.t                  ctest/printTupleCountTable.t  ctest/sals.t      ctest/swmatcher.t \
+ctest/bwt2sa.t   ctest/cmpH5StoreQualityByContext.t  ctest/sa2bwt.t                ctest/samodify.t
+
+
+cramtests: ${EXE}
+	cram -v --shell=/bin/bash ${CTESTS}
+
+clean: 
+	@rm -f ${EXE}
+	@rm -f *.d *.o
diff --git a/extrautils/p4.mk b/extrautils/p4.mk
deleted file mode 100644
index 7e41029..0000000
--- a/extrautils/p4.mk
+++ /dev/null
@@ -1,79 +0,0 @@
-# This p4.mk is only used to make 
-#   //depot/software/smrtanalysis/bioinformatics/tools/blasr
-# on PacBio internal p4 build.
-
-SHELL=/bin/bash -e -E
-
-.PHONY=all cramtests
-
-PBINCROOT ?= $(realpath ../../../lib/cpp/)
-PREBUILT ?= $(realpath ../../../../prebuilt.out)
-THIRD_PARTY_PREFIX := $(realpath ../..)
-
-include ../p4.common.mk
-
-all : CXXFLAGS ?= $(DEFAULTCXXFLAG)
-debug : CXXFLAGS ?= $(DEBUGCXXFLAG)
-profile : CXXFLAGS ?= $(PROFILECXXFLAG)
-g: CXXFLAGS += $(GCXXFLAG)
-g: LIBS = $(GLIBS)
-
-exe = sa2bwt bwt2sa alchemy excrep evolve bsdb simpleShredder swMatcher \
-  samodify sals printTupleCountTable cmpH5StoreQualityByContext ccsh5tobam
-
-all debug profile g: $(exe)
-
-sa2bwt: SuffixArrayToBWT.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-bwt2sa: BwtToSuffixArray.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-alchemy: BasH5Simulator.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-excrep: ExciseRepeats.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-evolve: Evolve.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-bsdb: BuildSequenceDB.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-simpleShredder: SimpleShredder.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-swMatcher: SWMatcher.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-samodify: SAModify.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-sals: SALS.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-printTupleCountTable: PrintTupleCountTable.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-cmpH5StoreQualityByContext: StoreQualityByContextFromCmpH5.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-ccsh5tobam: CCSH5ToBam.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-pblib: 
-	make -C .. -f p4.mk mkliba
-
-.INTERMEDIATE: $(OBJS)
-
-CTESTS = $(wildcard ctest/*.t)
-cramtests: $(EXE)
-	cram --shell=/bin/bash $(CTESTS)
-
-clean: 
-	@rm -f $(exe)
-	@rm -f $(OBJS) $(DEPS)
-	@rm *.o *.d
-
--include $(DEPS)
diff --git a/libcpp.makefile b/libcpp.makefile
deleted file mode 100644
index d4f9c40..0000000
--- a/libcpp.makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-include defines.mk
-
-# Note that, for now, HDF5_LIB is a directory here, and a file in libcpp.
-# I do not know why buildctl has set that up, but we follow the mobs
-# adaptors for now.
-
-pblib: libcpp/configure.py libcpp/makefile
-	cd libcpp && NOPBBAM=true HDF5_LIB=${HDF5_LIB}/libhdf5.so ./configure.py
-	${MAKE} -C libcpp
diff --git a/libcpp/.gitignore b/libcpp/.gitignore
deleted file mode 100644
index d67c0ce..0000000
--- a/libcpp/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-*.o
-*.d
-*.a
-*.so
-defines.mk
-/pbdata/libconfig.h
-/hdf/hdf5-1.8.12-headers/
diff --git a/libcpp/.travis.yml b/libcpp/.travis.yml
deleted file mode 100644
index 5efbc08..0000000
--- a/libcpp/.travis.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-language: cpp
-script: 
-  - NOPBBAM=1 ./configure.py
-  - make -j all
-# - make -j gtest
-compiler:
-  - gcc
-# - clang
-install:
-- if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi
-addons:
-  apt:
-    sources:
-    - ubuntu-toolchain-r-test
-    packages:
-    - gcc-4.8
-    - g++-4.8
-#   - clang
-#   - libhdf5-serial-1.8.4
-notifications:
-  email: false
-sudo: false
diff --git a/libcpp/README.md b/libcpp/README.md
deleted file mode 100644
index 91745bc..0000000
--- a/libcpp/README.md
+++ /dev/null
@@ -1,47 +0,0 @@
-[![Build Status](https://travis-ci.org/PacificBiosciences/blasr_libcpp.svg?branch=master)](https://travis-ci.org/PacificBiosciences/blasr_libcpp)
-#What is blasr_libcpp#
-
-**Blasr_libcpp** is a *library* used by **blasr** and other executables such as samtoh5, loadPulses for analyzing PacBio sequences. This library contains three sub-directories, including pbdata, hdf and alignment.
-+ pbdata  
-   - contains source code for handling Pacbio sequences and can build lib ```libpbdata```.
-+ hdf 
-   - contains source code for handling Pacbio hdf5 files (e.g., *.pls.h5, *.rgn.h5, *.bas.h5) and builds ```libpbhdf```.
-+ alignment 
-   - contains source code for aligning Pacbio reads to target sequences used in blasr and builds ```libblasr```.
-
-## Building
-```
-./configure.py
-make -j all
-```
-By default, that will skip pbbam, and it will download HDF5 headers.
-
-## configure.py
-This is a WIP. It generates `defines.mk` based on the environment and command-line flags.
-In theory, it will allow simpler configuration. We might soon have different executables for
-different environments.
-
-It also generates `pbdata/libconfig.h`.
-
-By configuring up-front, we avoid race conditions, and we simplify the makefiles. For extra
-simplicity, we use the same `defines.mk` for all 3 sub-dirs.
-
-## unittest
-There is at least one failing for now, and we cannot run them in Travis without installing HDF5. TODO.
-
-(unittests mostly pass in Jenkins. We will get them into Travis later.)
-
-##Appendix: Dependencies##
-- libpbdata
-   -  does **not** depend on ```libhdf5```
-   -  should build without the ```pbbam``` library *for now*
-
-- libpbihdf
-   -  depends on the ```libpbdata``` and ```libhdf5``` libraries to build
-   
-- alignment
-   -  depends on the ```libpbdata``` library to build
-   -  can build either with or without the ```libpbihdf``` library
-   -  can build either with or without the ```pbbam``` library
-- hts
-   - if you use pbbam, you will need [HTSLib](https://github.com/samtools/htslib)
diff --git a/libcpp/alignment/MappingMetrics.cpp b/libcpp/alignment/MappingMetrics.cpp
deleted file mode 100644
index 1a5650e..0000000
--- a/libcpp/alignment/MappingMetrics.cpp
+++ /dev/null
@@ -1,299 +0,0 @@
-#include <iomanip>
-#include <unistd.h>
-#include "MappingMetrics.hpp"
-//In order to use clock_gettime in LINUX, add -lrt 
-
-#ifdef __APPLE__
-#pragma weak clock_gettime
-int clock_gettime(clockid_t clk_id, struct timespec *tp) {
-    kern_return_t   ret;
-    clock_serv_t    clk;
-    clock_id_t clk_serv_id;
-    mach_timespec_t tm;
-
-    uint64_t start, end, delta, nano;
-
-    task_basic_info_data_t tinfo;
-    task_thread_times_info_data_t ttinfo;
-    mach_msg_type_number_t tflag;
-
-    int retval = -1;
-    switch (clk_id) {
-        case CLOCK_REALTIME:
-        case CLOCK_MONOTONIC:
-            clk_serv_id = clk_id == CLOCK_REALTIME ? CALENDAR_CLOCK : SYSTEM_CLOCK;
-            if (KERN_SUCCESS == (ret = host_get_clock_service(mach_host_self(), clk_serv_id, &clk))) {
-                if (KERN_SUCCESS == (ret = clock_get_time(clk, &tm))) {
-                    tp->tv_sec  = tm.tv_sec;
-                    tp->tv_nsec = tm.tv_nsec;
-                    retval = 0;
-                }
-            }
-            if (KERN_SUCCESS != ret) {
-                errno = EINVAL;
-                retval = -1;
-            }
-            break;
-        case CLOCK_PROCESS_CPUTIME_ID:
-        case CLOCK_THREAD_CPUTIME_ID:
-            start = mach_absolute_time();
-            if (clk_id == CLOCK_PROCESS_CPUTIME_ID) {
-                getpid();
-            } else {
-                sched_yield();
-            }
-            end = mach_absolute_time();
-            delta = end - start;
-            if (0 == __clock_gettime_inf.denom) {
-                mach_timebase_info(&__clock_gettime_inf);
-            }
-            nano = delta * __clock_gettime_inf.numer / __clock_gettime_inf.denom;
-            tp->tv_sec = nano * 1e-9;  
-            tp->tv_nsec = nano - (tp->tv_sec * 1e9);
-            retval = 0;
-            break;
-        default:
-            errno = EINVAL;
-            retval = -1;
-    }
-    return retval;
-}
-#endif // __APPLE__
-
-Timer::Timer(std::string _header) {
-    keepHistogram = false;
-    keepList      = false;
-    totalElapsedClock = 0;
-    header        = _header;
-    elapsedClockMsec = 0;
-    elapsedTime   = 0.0;
-}
-
-int Timer::ListSize() {
-    return msecList.size();
-}
-
-void Timer::PrintHeader(std::ostream &out) {
-    if (msecList.size() > 0) {
-        out << header << " ";
-    }
-}
-
-void Timer::PrintListValue(std::ostream &out, int index) {
-    if (msecList.size() > 0) {
-        out << msecList[index] << " ";
-    }
-}
-void Timer::Tick() {
-    clock_gettime(CLOCK_THREAD_CPUTIME_ID, &cpuclock[0]);
-}
-
-void Timer::SetStoreElapsedTime(bool value) {
-    keepList = value;
-}
-
-void Timer::SetStoreHistgram(bool value) {
-    keepHistogram = value;
-}
-
-void Timer::Tock() {
-    clock_gettime(CLOCK_THREAD_CPUTIME_ID, &cpuclock[1]);
-    elapsedClockMsec   = (cpuclock[1].tv_nsec - cpuclock[0].tv_nsec)/1000;
-    totalElapsedClock += elapsedClockMsec;
-    elapsedTime  = ((1.0)*elapsedClockMsec);
-    if (keepHistogram) {
-        // keep a histogram in number of milliseconds per operation
-        if (histogram.find(elapsedClockMsec) == histogram.end()) {
-            histogram[elapsedClockMsec] = 1;
-        }
-        else {
-            histogram[elapsedClockMsec]++;
-        }
-    }
-    if (keepList) {
-        msecList.push_back(elapsedClockMsec);
-    }
-}
-
-void Timer::Add(const Timer &rhs) {
-    elapsedClockMsec += rhs.elapsedClockMsec;
-    elapsedTime  += rhs.elapsedTime;
-    totalElapsedClock += rhs.totalElapsedClock;
-    msecList.insert(msecList.end(), rhs.msecList.begin(), rhs.msecList.end());
-}
-
-void Timer::SetHeader(std::string _header) {
-    header = _header;
-}
-
-void MappingClocks::AddCells(int nCells) {
-    nCellsPerSample.push_back(nCells);
-}
-
-void MappingClocks::AddBases(int nBases) {
-    nBasesPerSample.push_back(nBases);
-}
-
-int MappingClocks::GetSize() {
-    return total.ListSize();
-}
-
-MappingClocks::MappingClocks() {
-    total.SetHeader("Total");
-    findAnchors.SetHeader("FindAnchors");
-    mapToGenome.SetHeader("MapToGenome");
-    sortMatchPosList.SetHeader("SortMatchPosList");
-    findMaxIncreasingInterval.SetHeader("FindMaxIncreasingInterval");
-    alignIntervals.SetHeader("AlignIntervals");
-}
-
-void MappingClocks::PrintHeader(std::ostream &out) {
-    total.PrintHeader(out);
-    findAnchors.PrintHeader(out);
-    mapToGenome.PrintHeader(out);
-    sortMatchPosList.PrintHeader(out);
-    findMaxIncreasingInterval.PrintHeader(out);
-    alignIntervals.PrintHeader(out); 
-}
-
-void MappingClocks::PrintList(std::ostream &out, int index) {
-
-    total.PrintListValue(out,index);
-    findAnchors.PrintListValue(out,index);
-    mapToGenome.PrintListValue(out,index);
-    sortMatchPosList.PrintListValue(out,index);
-    findMaxIncreasingInterval.PrintListValue(out,index);
-    alignIntervals.PrintListValue(out,index);
-    if (nCellsPerSample.size() > 0) {
-        out << nCellsPerSample[index] << " ";
-    }
-    if (nBasesPerSample.size() > 0) {
-        out << nBasesPerSample[index] << " ";
-    }
-    out << std::endl;
-}
-
-void MappingClocks::SetStoreList(bool value) {
-    total.SetStoreElapsedTime(value);
-    findAnchors.SetStoreElapsedTime(value);
-    mapToGenome.SetStoreElapsedTime(value);
-    sortMatchPosList.SetStoreElapsedTime(value);
-    findMaxIncreasingInterval.SetStoreElapsedTime(value);
-    alignIntervals.SetStoreElapsedTime(value);
-}
-
-void MappingClocks::AddClockTime(const MappingClocks &rhs) {
-    total.Add(rhs.total);
-    findAnchors.Add(rhs.findAnchors);
-    mapToGenome.Add(rhs.mapToGenome);
-    sortMatchPosList.Add(rhs.sortMatchPosList);
-    findMaxIncreasingInterval.Add(rhs.findMaxIncreasingInterval);
-    alignIntervals.Add(rhs.alignIntervals);
-}
-
-MappingMetrics::MappingMetrics() {
-    numReads = 0;
-    numMappedReads = 0;
-    numMappedBases = 0;
-    anchorsPerRead = 0;
-    totalAnchorsForMappedReads = 0;
-    totalAnchors = 0;
-}
-void MappingMetrics::StoreSDPPoint(int nBases, int nSDPAnchors, int nClock) {
-    sdpBases.push_back(nBases);
-    sdpAnchors.push_back(nSDPAnchors);
-    sdpClock.push_back(nClock);
-}
-
-void MappingMetrics::SetStoreList(bool value) {
-    clocks.SetStoreList(value);
-}
-
-void MappingMetrics::PrintSeconds(std::ostream& out, long sec ){
-    out << sec << " Msec";
-}
-
-void MappingMetrics::PrintFraction(std::ostream &out, float frac) {
-    out << std::setprecision(2) << frac;
-}
-
-void MappingMetrics::RecordNumAlignedBases(int nBases) {
-    mappedBases.push_back(nBases);
-}
-
-void MappingMetrics::RecordNumCells(int nCells) {
-    cellsPerAlignment.push_back(nCells);
-}
-
-void MappingMetrics::Collect(MappingMetrics &rhs) {
-    clocks.AddClockTime(rhs.clocks);
-    totalAnchors += rhs.totalAnchors;
-    numReads += rhs.numReads;
-    numMappedReads += rhs.numMappedReads;
-    totalAnchorsForMappedReads += rhs.totalAnchorsForMappedReads;
-    mappedBases.insert(mappedBases.end(), rhs.mappedBases.begin(), rhs.mappedBases.end());
-    cellsPerAlignment.insert(cellsPerAlignment.end(), rhs.cellsPerAlignment.begin(), rhs.cellsPerAlignment.end());
-}
-
-void MappingMetrics::CollectSDPMetrics(MappingMetrics &rhs) {
-    sdpAnchors.insert(sdpAnchors.end(), rhs.sdpAnchors.begin(), rhs.sdpAnchors.end());
-    sdpBases.insert(sdpBases.end(), rhs.sdpBases.begin(), rhs.sdpBases.end());
-    sdpClock.insert(sdpClock.end(), rhs.sdpClock.begin(), rhs.sdpClock.end());
-}
-
-void MappingMetrics::PrintSDPMetrics(std::ostream &out) {
-    out << "nbases ncells time" << std::endl;
-    int i;
-    for (i = 0; i < sdpAnchors.size(); i++) {
-        out << sdpBases[i] << " " << sdpAnchors[i] << " " << sdpClock[i] << std::endl;
-    }
-}
-
-void MappingMetrics::PrintFullList(std::ostream &out) {
-    // 
-    // Print the full header
-    //
-    clocks.PrintHeader(out);
-    out << " MappedBases Cells " << std::endl;
-    //
-    // Print all values: clocks + bases and cells.
-    //
-    int i;
-    for (i = 0; i < clocks.GetSize(); i++) {
-        clocks.PrintList(out,i);
-        //      out << mappedBases[i] << " " << cellsPerAlignment[i] << endl;
-    }
-}
-
-void MappingMetrics::PrintSummary(std::ostream &out) {
-    out << "Examined " << numReads << std::endl;
-    out << "Mapped   " << numMappedReads << std::endl;
-    out << "Total mapping time\t";
-    PrintSeconds(out, clocks.total.elapsedClockMsec);
-    out << " \t";
-    PrintSeconds(out, (1.0*clocks.total.elapsedClockMsec)/numReads);
-    out << " /read" << std::endl;
-    out << "      find anchors\t";
-    PrintSeconds(out, clocks.mapToGenome.elapsedClockMsec);
-    out << " \t";
-    PrintSeconds(out, (1.0*clocks.mapToGenome.elapsedClockMsec)/numReads);
-    out << std::endl;
-    out << "      sort anchors\t";
-    PrintSeconds(out, clocks.sortMatchPosList.elapsedClockMsec);
-    out << " \t";
-    PrintSeconds(out, (1.0*clocks.sortMatchPosList.elapsedClockMsec)/numReads);
-    out << std::endl;
-    out << " find max interval\t";
-    PrintSeconds(out, clocks.findMaxIncreasingInterval.elapsedClockMsec);
-    out << " \t";
-    PrintSeconds(out, (1.0*clocks.findMaxIncreasingInterval.elapsedClockMsec)/numReads);
-    out << std::endl;
-    out << "Total anchors: " << totalAnchors << std::endl;
-    out << "   Anchors per read: " << (1.0*totalAnchors) / numReads << std::endl;
-    out << "Total mapped: " << totalAnchorsForMappedReads << std::endl;
-    out << "   Anchors per mapped read: " << (1.0*totalAnchorsForMappedReads) / numMappedReads << std::endl;
-}
-
-void MappingMetrics::AddClock(MappingClocks &clocks) {
-    clocks.AddClockTime(clocks);
-}
diff --git a/libcpp/alignment/MappingMetrics.hpp b/libcpp/alignment/MappingMetrics.hpp
deleted file mode 100644
index 83bc07c..0000000
--- a/libcpp/alignment/MappingMetrics.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-#ifndef _BLASR_MAPPING_METRICS_HPP_
-#define _BLASR_MAPPING_METRICS_HPP_
-
-#include <iostream>
-#include <time.h>
-#include <map>
-#include <vector>
-//In order to use clock_gettime in LINUX, add -lrt 
-#ifdef __APPLE__
-#include <mach/mach.h>
-#include <mach/clock.h>
-#include <mach/mach_time.h>
-#include <errno.h>
-
-typedef enum {
-    CLOCK_REALTIME,
-    CLOCK_MONOTONIC,
-    CLOCK_PROCESS_CPUTIME_ID,
-    CLOCK_THREAD_CPUTIME_ID
-} clockid_t;
-static mach_timebase_info_data_t __clock_gettime_inf;
-
-int clock_gettime(clockid_t clk_id, struct timespec *tp); 
-#endif // __APPLE__
-
-class Timer {
-public:
-    bool keepHistogram, keepList;
-    timespec cpuclock[2];
-    int elapsedClockMsec;
-    float   elapsedTime;
-    std::map<int,int> histogram;
-    std::vector<int> msecList;
-    long long totalElapsedClock;
-    std::string header;
-
-
-    Timer(std::string _header=""); 
-
-    int ListSize(); 
-
-    void PrintHeader(std::ostream &out); 
-
-    void PrintListValue(std::ostream &out, int index); 
-
-    void Tick(); 
-
-    void SetStoreElapsedTime(bool value); 
-
-    void SetStoreHistgram(bool value); 
-
-    void Tock(); 
-
-    void Add(const Timer &rhs); 
-
-    void SetHeader(std::string _header); 
-
-};
-
-
-class MappingClocks {
-public:
-    Timer total;
-    Timer findAnchors;
-    Timer mapToGenome;
-    Timer sortMatchPosList;
-    Timer findMaxIncreasingInterval;
-    Timer alignIntervals;           
-    std::vector<int> nCellsPerSample;
-    std::vector<int> nBasesPerSample;
-
-    void AddCells(int nCells); 
-
-    void AddBases(int nBases); 
-
-    int  GetSize(); 
-
-    MappingClocks(); 
-
-    void PrintHeader(std::ostream &out); 
-
-    void PrintList(std::ostream &out, int index); 
-
-    void SetStoreList(bool value=true); 
-
-    void AddClockTime(const MappingClocks &rhs); 
-};
-
-
-class MappingMetrics {
-public:
-    MappingClocks clocks;
-    int numReads;
-    int numMappedReads;
-    int numMappedBases;
-    std::vector<int> mappedBases;
-    std::vector<int> cellsPerAlignment;
-    std::vector<int> anchorsPerAlignment;
-    std::vector<int> sdpAnchors, sdpBases, sdpClock;
-    long totalAnchors;
-    int anchorsPerRead;
-    long totalAnchorsForMappedReads;
-
-    MappingMetrics(); 
-
-    void StoreSDPPoint(int nBases, int nSDPAnchors, int nClock); 
-
-    void SetStoreList(bool value=true); 
-
-    void PrintSeconds(std::ostream &out, long sec);
-
-    void PrintFraction(std::ostream &out, float frac); 
-
-    void RecordNumAlignedBases(int nBases); 
-
-    void RecordNumCells(int nCells); 
-
-    void Collect(MappingMetrics &rhs); 
-
-    void CollectSDPMetrics(MappingMetrics &rhs); 
-
-    void PrintSDPMetrics(std::ostream &out); 
-
-    void PrintFullList(std::ostream &out); 
-
-    void PrintSummary(std::ostream &out); 
-
-    void AddClock(MappingClocks &clocks); 
-};
-
-
-
-#endif // _BLASR_MAPPING_METRICS_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/AffineGuidedAlign.hpp b/libcpp/alignment/algorithms/alignment/AffineGuidedAlign.hpp
deleted file mode 100644
index 4080489..0000000
--- a/libcpp/alignment/algorithms/alignment/AffineGuidedAlign.hpp
+++ /dev/null
@@ -1,589 +0,0 @@
-#ifndef _BLASR_AFFINE_GUIDE_ALIGNMENT_HPP_
-#define _BLASR_AFFINE_GUIDE_ALIGNMENT_HPP_
-
-#include "GuidedAlign.hpp"
-template<typename QSequence, typename TSequence, typename T_ScoreFn>
-int AffineGuidedAlign(QSequence &origQSeq, TSequence &origTSeq,  Alignment &guideAlignment,
-        T_ScoreFn &scoreFn,
-        int bandSize,
-        Alignment &alignment,
-        std::vector<int>    &scoreMat,
-        std::vector<Arrow>  &pathMat,
-        std::vector<double> &probMat,
-        std::vector<double> &optPathProbMat,
-        std::vector<float>  &lnSubPValueVect,
-        std::vector<float>  &lnInsPValueVect,
-        std::vector<float>  &lnDelPValueVect,
-        std::vector<float>  &lnMatchPValueVect,
-        AlignmentType alignType=Global, 
-        bool computeProb=false) {
-
-    Guide guide;
-    AlignmentToGuide(guideAlignment, guide, bandSize);
-    StoreMatrixOffsets(guide);
-    int guideSize = ComputeMatrixNElem(guide);
-
-    //
-    // Make a copy of the sequences that is guaranteed to be in 3-bit format for faster alignment.
-    // (mabybe eventually reuse the qseq and tseq memory)
-    //
-    QSequence qSeq;
-    TSequence tSeq;
-    qSeq.Assign(origQSeq);
-    tSeq.Assign(origTSeq);
-
-    int matrixNElem = ComputeMatrixNElem(guide);
-    StoreMatrixOffsets(guide);
-
-    /*
-     * The following code is useful to produce images of the dp-matrix.
-     * Make sure the sequenences are less than 5kb each though.
-
-     Matrix<float> probMatrix;
-     probMatrix.Resize(qSeq.length, tSeq.length);
-     probMatrix.Initialize(0);
-     ofstream matrixOut;
-     stringstream matrixOutNameStrm;
-     matrixOutNameStrm << "probMatrix_"<< runIndex << ".dat";
-     matrixOut.open(matrixOutNameStrm.str().c_str());
-     */
-
-    if (computeProb) { 
-        //
-        // Convert phred scale to proper ln for faster manipulation later on.
-        //
-        QVToLogPScale(qSeq.substitutionQV, qSeq.length, lnSubPValueVect);
-        QVToLogPScale(qSeq.insertionQV,    qSeq.length, lnInsPValueVect);
-        QVToLogPScale(qSeq.deletionQV,     qSeq.length, lnDelPValueVect);
-        if (lnMatchPValueVect.size() < qSeq.length) {
-            lnMatchPValueVect.resize(qSeq.length);
-        }
-        //
-        // Normalize probability std::vectors so that the probability of transition from each cell is 1.
-        //
-        int i;
-        for (i = 0; i < qSeq.length; i++) {
-            float subSum  = LogSumOfTwo(lnSubPValueVect[i], QVToLogPScale(scoreFn.substitutionPrior)); // prior on substitution rate
-            float denominator = LogSumOfThree(lnDelPValueVect[i], lnInsPValueVect[i], subSum);
-            lnDelPValueVect[i] = lnDelPValueVect[i] - denominator;
-            lnSubPValueVect[i]   = lnSubPValueVect[i] - denominator;
-            lnInsPValueVect[i]   = lnInsPValueVect[i] - denominator;
-            lnMatchPValueVect[i] = subSum - denominator;
-        }
-
-    }
-
-
-
-    // 
-    // Make sure the alignments can fit in the reused buffers.
-    //
-    std::vector<int>    affineInsScoreMat, affineDelScoreMat;
-    std::vector<Arrow>  affineInsPathMat, affineDelPathMat;
-    affineInsScoreMat.resize(matrixNElem);
-    fill(affineInsScoreMat.begin(), affineInsScoreMat.end(), 0);
-    affineDelScoreMat.resize(matrixNElem);
-    fill(affineDelScoreMat.begin(), affineDelScoreMat.end(), 0);
-    affineInsPathMat.resize(matrixNElem);
-    fill(affineInsPathMat.begin(), affineInsPathMat.end(), NoArrow);
-    affineDelPathMat.resize(matrixNElem);
-    fill(affineDelPathMat.begin(), affineDelPathMat.end(), NoArrow);
-
-
-    if (scoreMat.size() < matrixNElem) {
-        scoreMat.resize(matrixNElem);
-        pathMat.resize(matrixNElem);
-        fill(scoreMat.begin(), scoreMat.end(), 0);
-        fill(pathMat.begin(), pathMat.end(), NoArrow);
-    }
-    if (computeProb) {
-        if (probMat.size() < matrixNElem) {
-            probMat.resize(matrixNElem);
-            optPathProbMat.resize(matrixNElem);
-        }
-    }
-
-    // 
-    // Initialze matrices.  Only initialize up to matrixNElem rather
-    // than matrix.size() because the matrix.size() unnecessary space
-    // may be allocated.
-    //
-
-    std::fill(scoreMat.begin(), scoreMat.begin() + matrixNElem, 0);
-    std::fill(pathMat.begin(), pathMat.begin() + matrixNElem, NoArrow);
-    if (computeProb) {
-        std::fill(probMat.begin(), probMat.begin() + matrixNElem, 0);	
-        std::fill(optPathProbMat.begin(), optPathProbMat.begin() + matrixNElem, 0);
-    }
-    //
-    // Initialize boundary conditions.
-    //
-    int q, t;
-    int bufferIndex;
-    // start alignemnt at the beginning of the guide, and align to the
-    // end of the guide.
-    if (guide.size() == 0) {
-        qSeq.Free();
-        tSeq.Free();
-        return 0;
-    }
-    int qStart = guide[1].q;
-    int tStart = guide[1].t;
-    int qEnd   = guide[guide.size()-1].q+1;
-    int tEnd   = guide[guide.size()-1].t+1;
-
-    GetBufferIndexFunctor GetBufferIndex;
-    GetBufferIndex.seqRowOffset = qStart;
-    GetBufferIndex.guideSize    = guide.size();
-    int indicesAreValid, delIndexIsValid, insIndexIsValid, matchIndexIsValid;
-    bufferIndex = -1;
-    indicesAreValid = GetBufferIndex(guide, qStart-1, tStart-1, bufferIndex);
-    assert(indicesAreValid);
-    scoreMat[bufferIndex] = 0;
-    pathMat[bufferIndex]  = NoArrow;
-    int matchIndex, insIndex, delIndex, curIndex;
-
-    //
-    // Initialize deletion row.
-    //
-    if (computeProb) {
-        probMat[0] = optPathProbMat[0] = 0;
-    }
-    for (t = tStart; t < tStart + guide[0].tPost; t++) {
-        curIndex=-1;
-        indicesAreValid = GetBufferIndex(guide, qStart-1, t, curIndex);
-        if (indicesAreValid == 0 ) {
-            cout << "QSeq" << endl;
-            (static_cast<DNASequence*>(&origQSeq))->PrintSeq(cout);
-            cout << "TSeq" << endl;
-            (static_cast<DNASequence*>(&origTSeq))->PrintSeq(cout);
-            assert(0);
-        }
-        delIndex = -1;
-        delIndexIsValid = GetBufferIndex(guide, qStart-1, t-1, delIndex);
-        if (delIndexIsValid) {
-            if (alignType == Global) {
-                scoreMat[curIndex] = scoreMat[delIndex] + scoreFn.del;
-            }
-            else if (alignType == Local) {
-                scoreMat[curIndex] = 0;
-            }
-            affineDelScoreMat[curIndex] = scoreFn.del;
-            affineDelPathMat[curIndex] = AffineDelOpen;
-            affineInsPathMat[curIndex] = AffineInsOpen;
-            affineInsScoreMat[curIndex] = scoreFn.ins;
-            pathMat[curIndex] = Left;
-            if (computeProb) {
-                if (qSeq.qual.Empty() == false) {
-                    optPathProbMat[curIndex] = probMat[curIndex] = probMat[delIndex] + QVToLogPScale(scoreFn.globalDeletionPrior);
-                }
-            }
-        }
-    }
-
-    // 
-    // Initialize stripe along the top of the grid.
-    //
-    for (q = qStart ; q < qStart + bandSize and q < qEnd; q++) {
-        insIndex = -1;
-        insIndexIsValid = GetBufferIndex(guide, q-1, tStart-1, // diagonal from t-start
-                insIndex);
-        curIndex = -1;
-        indicesAreValid = GetBufferIndex(guide, q, tStart-1, curIndex);
-
-        if (insIndexIsValid and indicesAreValid) {
-            assert(insIndex >= 0);
-            assert(curIndex >= 0);
-            if (alignType == Global) {
-                scoreMat[curIndex] = scoreMat[insIndex] + scoreFn.ins;
-            }
-            else {
-                scoreMat[curIndex] = 0;
-            }
-            affineInsScoreMat[curIndex] = scoreFn.ins;
-            affineInsPathMat[curIndex]  = AffineInsOpen;
-            affineDelScoreMat[curIndex] = scoreFn.del;
-            affineDelPathMat[curIndex] = AffineDelOpen;
-            pathMat[curIndex] = Up;
-        }
-    }
-
-    int matchScore, insScore, delScore, 
-        affineInsOpenScore, affineInsExtScore, 
-        affineDelOpenScore, affineDelExtScore;
-
-    for (q = qStart; q < qEnd; q++) {
-        int qi = q - qStart + 1;
-        int tp = guide[qi].t;
-        curIndex = matchIndex = insIndex = delIndex = -1;
-
-        //
-        // Do some work that will help define when matchIndex and insIndex
-        // may be used.  Once delIndex is computed once, it is valid for
-        // all t positions.
-        //
-        int prevRowTEnd = -1;
-        if ( qi > 0) { 
-            //
-            // Define the boundaries of the column which may access previously
-            // computed cells with a match.
-            //
-            prevRowTEnd = guide[qi-1].t + guide[qi-1].tPost;
-        }    
-
-        for (t = tp - guide[qi].tPre ; t < guide[qi].t + guide[qi].tPost +1; t++) {
-
-            if (q < qStart + bandSize and t == tp - guide[qi].tPre - 1) {
-                // On the boundary condition, don't access the 1st element;
-                t++;
-                continue;
-            }
-            // Make sure the index is not past the end of the sequence.
-            if (t < -1) continue;
-            if (t >= tEnd) continue;
-
-            //
-            // No cells are available to use for insertion cost
-            // computation. 
-            //
-            if (t > prevRowTEnd) {
-                insIndex = -1;
-            }
-            if (t > prevRowTEnd + 1) {
-                matchIndex = -1;
-            }
-
-            //
-            // Find the indices in the buffer.  Since the rows are of
-            // different sizes, one can't just use offsets from the buffer
-            // index. 
-            //
-
-            if (GetBufferIndex(guide, q-1,t-1, matchIndex)) {
-                assert(matchIndex >= 0);
-                matchScore = scoreMat[matchIndex] + scoreFn.Match(tSeq, t, qSeq, q);
-            }
-            else {
-                matchScore = INF_INT;
-            }
-
-            if (GetBufferIndex(guide, q-1, t, insIndex)) {
-                assert(insIndex >= 0);
-                insScore = scoreMat[insIndex] + scoreFn.Insertion(tSeq,(DNALength) t, qSeq, (DNALength)q);
-                affineInsExtScore = affineInsScoreMat[insIndex] + scoreFn.affineExtend; // 0 extension 
-            }
-            else {
-                insScore = INF_INT;
-                affineInsExtScore = INF_INT;
-            }
-            if (GetBufferIndex(guide, q, t-1, delIndex)) {
-                assert(delIndex >= 0);
-                delScore = scoreMat[delIndex] + scoreFn.Deletion(tSeq, (DNALength) t, qSeq, (DNALength)q);
-                affineDelExtScore = affineDelScoreMat[delIndex] + scoreFn.affineExtend;
-            }
-            else {
-                delScore = INF_INT;
-                affineDelExtScore = INF_INT;
-            }
-
-            int minScore = MIN(matchScore, MIN(insScore, MIN(delScore, MIN(affineInsExtScore, affineDelExtScore))));
-            int result   = GetBufferIndex(guide, q, t, curIndex);
-            // This should only loop over valid cells.
-            assert(result);
-            assert(curIndex >= 0);
-            scoreMat[curIndex] = minScore;
-            if (minScore == INF_INT) {
-                pathMat[curIndex] = NoArrow;
-            }
-            else {
-                assert(result == 1);
-                if (minScore == matchScore) {
-                    pathMat[curIndex] = Diagonal;
-                }
-                else if (minScore == delScore) {
-                    pathMat[curIndex] = Left;
-                }
-                else if (minScore == insScore) {
-                    pathMat[curIndex] = Up;
-                }
-                else if (minScore == affineInsExtScore) {
-                    pathMat[curIndex] = AffineInsClose;
-                }
-                else {
-                    assert (minScore == affineDelExtScore) ;
-                    pathMat[curIndex] = AffineDelClose;
-                }
-            }
-
-         //   affineInsOpenScore = scoreMat[curIndex] + scoreFn.ins * 2;
-         //   affineDelOpenScore = scoreMat[curIndex] + scoreFn.del * 2;
-
-      //
-      // Set the penalty to initiate an affine gap here.
-      //
-      affineInsOpenScore = scoreMat[curIndex] + scoreFn.affineOpen;
-      affineDelOpenScore = scoreMat[curIndex] + scoreFn.affineOpen;
-
-            if (affineInsOpenScore == INF_INT and 
-                    affineInsExtScore == INF_INT) {
-                cout << q << " " << t << endl;
-                cout << "All infinity, bad things will happen." << endl;
-                cout << "the score mat here is : " << scoreMat[curIndex] << " and path " << pathMat[curIndex] << endl;
-                assert(0);
-            }
-            if (affineInsOpenScore < affineInsExtScore) {
-                affineInsPathMat[curIndex] = AffineInsOpen;
-                affineInsScoreMat[curIndex] = affineInsOpenScore;
-            }
-            else {
-                affineInsPathMat[curIndex] = AffineInsUp;
-                affineInsScoreMat[curIndex] = affineInsExtScore;
-            }
-
-            if (affineDelOpenScore < affineDelExtScore) {
-                affineDelPathMat[curIndex] = AffineDelOpen;
-                affineDelScoreMat[curIndex] = affineDelOpenScore;
-            }
-            else {
-                affineDelPathMat[curIndex] = AffineDelLeft;
-                affineDelScoreMat[curIndex] = affineDelExtScore;
-            }
-        }
-    }		
-    // Ok, for now just trace back from qend/tend
-    q = qEnd-1;
-    t = tEnd-1;
-    std::vector<Arrow>  optAlignment;
-    int bufferIndexIsValid;
-    int curMatrix = Match;
-    while(q >= qStart or t >= tStart) {
-        bufferIndex = -1;
-        //    cout << "backtrace: " << q << " "<< t << endl;
-        bufferIndexIsValid = GetBufferIndex(guide, q, t, bufferIndex);
-        assert(bufferIndexIsValid);
-        assert(bufferIndex >= 0);
-        Arrow arrow;
-        //    cout << q << " "<< t << " " << curMatrix << " " << arrow << endl;
-        if (curMatrix == Match) {
-            arrow = pathMat[bufferIndex];
-            if (arrow == NoArrow) {
-                tSeq.ToAscii();
-                qSeq.ToAscii();
-                int gi;
-                for (gi = 0; gi < guide.size(); gi++) {
-                    cout << guide[gi].q << " " << guide[gi].t << " " << guide[gi].tPre << " " << guide[gi].tPost << endl;
-                }
-
-                cout << "qseq: "<< endl;
-                (static_cast<DNASequence*>(&qSeq))->PrintSeq(cout);
-                cout << "tseq: "<< endl;
-                (static_cast<DNASequence*>(&tSeq))->PrintSeq(cout);
-                cout << "ERROR, this path has gone awry at " << q << " " << t << " !" << endl;
-                exit(1);
-            }
-
-            if (arrow == Diagonal) {
-                optAlignment.push_back(arrow);
-                q--;
-                t--;
-            }
-            else if (arrow == Up) {
-                optAlignment.push_back(arrow);
-                q--;
-            }
-            else if (arrow == Left) {
-                optAlignment.push_back(arrow);
-                t--;
-            }
-            else if (arrow == AffineInsClose) {
-                optAlignment.push_back(Up);
-                curMatrix = AffineIns;
-                q--;
-            }
-            else if (arrow == AffineDelClose) {
-                t--;
-                optAlignment.push_back(Left);
-                curMatrix = AffineDel;
-            }
-        }
-        else if (curMatrix == AffineIns) {
-            arrow = affineInsPathMat[bufferIndex];
-            if (arrow == AffineInsOpen) {
-                curMatrix = Match;
-            }
-            else if (arrow == AffineInsUp) {
-                q--;
-                optAlignment.push_back(Up);
-            }
-            else {
-                cout << "ERROR!  Reached arrow " << arrow << " at " << q << " " << t << " in affine ins path mat. That is bad." << endl;
-                assert(0);
-            }
-        }
-        else {
-            assert(curMatrix == AffineDel);
-            arrow = affineDelPathMat[bufferIndex];
-            if (arrow == AffineDelOpen) {
-                curMatrix = Match;
-            }
-            else if (arrow == AffineDelLeft) {
-                t--;
-                optAlignment.push_back(Left);
-            }
-            else {
-                cout << "ERROR! Reached arrow " << arrow << " at " << q << " " << t << " in affine del mat. This is also bad." << endl;
-                assert(0);
-            }
-        }
-    }
-
-    alignment.nCells = ComputeMatrixNElem(guide);
-    std::reverse(optAlignment.begin(), optAlignment.end());
-    alignment.qPos = qStart;
-    alignment.tPos = tStart;
-    alignment.ArrowPathToAlignment(optAlignment);
-    //  StickPrintAlignment(alignment, qSeq, tSeq, cout);
-    RemoveAlignmentPrefixGaps(alignment);
-    int lastIndex = 0;
-    tSeq.Free();
-    qSeq.Free();
-    lastIndex = -1;
-    if (GetBufferIndex(guide, qEnd - 1, tEnd - 1, lastIndex)) {
-        alignment.score = scoreMat[lastIndex];
-        return scoreMat[lastIndex];
-    }
-    else {
-        return 0;
-    }
-}
-
-
-template<typename QSequence, typename TSequence, typename T_ScoreFn> //, typename T_BufferCache>
-int AffineGuidedAlign(QSequence &origQSeq, TSequence &origTSeq,
-        T_ScoreFn &scoreFn,
-        int bandSize,
-        int sdpIns, int sdpDel, float sdpIndelRate,
-        Alignment &alignment,
-        AlignmentType alignType=Global,
-        bool computeProb = false,
-        int sdpTupleSize= 8) {
-    Alignment sdpAlignment;
-
-    int alignScore = SDPAlign(origQSeq, origTSeq,
-            scoreFn, sdpTupleSize, 
-            sdpIns, sdpDel, sdpIndelRate,
-            sdpAlignment); //, Local, false, false);
-
-    int b;
-    for (b = 0; b < sdpAlignment.blocks.size(); b++) {
-        sdpAlignment.blocks[b].qPos += sdpAlignment.qPos;
-        sdpAlignment.blocks[b].tPos += sdpAlignment.tPos;
-    }
-    sdpAlignment.tPos = 0;
-    sdpAlignment.qPos = 0;
-
-    return AffineGuidedAlign(origQSeq, origTSeq, sdpAlignment, scoreFn, bandSize, alignment,
-            // fill in optional parameters
-            alignType, computeProb);
-
-}
-
-
-//
-// Use Case: No guide yet exists for this alignment, but using
-// buffers.  Run SDP alignment first, then refine on the guide.
-//
-
-template<typename QSequence, typename TSequence, typename T_ScoreFn, typename T_BufferCache>
-int AffineGuidedAlign(QSequence &origQSeq, TSequence &origTSeq, 
-        T_ScoreFn &scoreFn,
-        int bandSize,
-        int sdpIns, int sdpDel, float sdpIndelRate,
-        T_BufferCache &buffers,
-        Alignment &alignment, 
-        AlignmentType alignType=Global,
-        bool computeProb = false,
-        int sdpTupleSize= 8) {
-
-    Alignment sdpAlignment;
-
-    int alignScore = SDPAlign(origQSeq, origTSeq,
-            scoreFn, sdpTupleSize, 
-            sdpIns, sdpDel, sdpIndelRate,
-            sdpAlignment, buffers, Local, false, false);
-
-    int b;
-    for (b = 0; b < sdpAlignment.blocks.size(); b++) {
-        sdpAlignment.blocks[b].qPos += sdpAlignment.qPos;
-        sdpAlignment.blocks[b].tPos += sdpAlignment.tPos;
-    }
-    sdpAlignment.tPos = 0;
-    sdpAlignment.qPos = 0;
-
-    return AffineGuidedAlign(origQSeq, origTSeq, sdpAlignment, scoreFn, bandSize, buffers, alignment,
-            // fill in optional parameters
-            alignType, computeProb);
-}
-
-//
-// Use case, guide exists, using buffers
-//
-template<typename QSequence, typename TSequence, typename T_ScoreFn, typename T_BufferCache>
-int AffineGuidedAlign(QSequence &origQSeq, TSequence &origTSeq,  Alignment &guideAlignment,
-        T_ScoreFn &scoreFn,
-        int bandSize,
-        T_BufferCache &buffers,
-        Alignment &alignment, 
-        AlignmentType alignType=Global, 
-        bool computeProb=false) {
-    return AffineGuidedAlign(origQSeq, origTSeq, guideAlignment, scoreFn, bandSize, alignment, 
-            buffers.scoreMat,
-            buffers.pathMat,
-            buffers.probMat,
-            buffers.optPathProbMat,
-            buffers.lnSubPValueMat,
-            buffers.lnInsPValueMat,
-            buffers.lnDelPValueMat,
-            buffers.lnMatchPValueMat, alignType, computeProb);
-}
-
-//
-// Missing the use case for guide does not exist, and not using
-// buffers.  This is just a very long function declaration, so it's
-// not worth writing until it is needed.
-//
-
-
-//
-// Use case, guide exists, but not using buffers.                   
-//
-template<typename QSequence, typename TSequence, typename T_ScoreFn>
-int AffineGuidedAlign(QSequence &origQSeq, TSequence &origTSeq,  Alignment &guideAlignment,
-        T_ScoreFn &scoreFn,
-        int bandSize,
-        Alignment &alignment, 
-        AlignmentType alignType=Global, 
-        bool computeProb=false) {
-
-    //  Make synonyms for members of the buffers class for easier typing.
-    std::vector<int>    scoreMat;
-    std::vector<Arrow>  pathMat;
-    std::vector<double> probMat;
-    std::vector<double> optPathProbMat;
-    std::vector<float>  lnSubPValueVect;
-    std::vector<float>  lnInsPValueVect;
-    std::vector<float>  lnDelPValueVect;
-    std::vector<float>  lnMatchPValueVect;
-
-    return AffineGuidedAlign(origQSeq, origTSeq, guideAlignment, scoreFn, bandSize, alignment,
-            scoreMat,
-            pathMat,
-            probMat,
-            optPathProbMat,
-            lnSubPValueVect,
-            lnInsPValueVect,
-            lnDelPValueVect,
-            lnMatchPValueVect, alignType, computeProb);
-}
-
-#endif // _BLASR_AFFINE_GUIDE_ALIGNMENT_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/AffineKBandAlign.hpp b/libcpp/alignment/algorithms/alignment/AffineKBandAlign.hpp
deleted file mode 100644
index 82ba5f7..0000000
--- a/libcpp/alignment/algorithms/alignment/AffineKBandAlign.hpp
+++ /dev/null
@@ -1,406 +0,0 @@
-#ifndef _BLASR_AFFINE_KBAND_ALIGN_HPP_
-#define _BLASR_AFFINE_KBAND_ALIGN_HPP_
-
-#include <cassert>
-#include <vector>
-#include <iostream>
-#include "NucConversion.hpp"
-#include "defs.h"
-#include "matrix/FlatMatrix.hpp"
-#include "datastructures/alignment/Alignment.hpp"
-#include "KBandAlign.hpp"
-
-template<typename T_QuerySequence, typename T_TargetSequence, typename T_Alignment>
-int AffineKBandAlign(T_QuerySequence &pqSeq, T_TargetSequence &ptSeq,
-        int matchMat[5][5], 
-        int hpInsOpen, int hpInsExtend, int insOpen, int insExtend,
-        int del, int k,
-        vector<int> &scoreMat,
-        vector<Arrow> & pathMat,
-        vector<int> &hpInsScoreMat,
-        vector<Arrow> &hpInsPathMat,
-        vector<int> &insScoreMat,
-        vector<Arrow> &insPathMat,
-        T_Alignment &alignment, 
-        AlignmentType alignType) {
-
-    //
-    // Make a copy of the sequences that is guaranteed to be in 3-bit format 
-    // for quick access to the score array.
-    //									
-
-    int INF_SCORE = INF_INT - 1000;
-    T_QuerySequence qSeq;
-    T_TargetSequence tSeq;
-    //	CreateThreeBitSequence(pqSeq, qSeq);
-    //	CreateThreeBitSequence(ptSeq, tSeq);
-    qSeq.seq = pqSeq.seq;
-    qSeq.length= pqSeq.length;
-    tSeq.seq = ptSeq.seq;
-    tSeq.length = ptSeq.length;
-
-
-    DNALength tLen, qLen;
-    SetKBoundedLengths(tSeq.length, qSeq.length, k, tLen, qLen);
-
-    //
-    //
-    // Allow for length up to diagonal + k + 1 for boundary.
-    // 
-    // Allow for width:
-    //   diagonal (1)
-    //   up to k insertions (k)
-    //   up to k deletions  (k)
-    //   boundary on left side of matrix (1)
-    // 
-    //	if (qLen + k > tLen and qLen < tLen) {
-    //		k = tLen - qLen +1;
-    //	}
-    DNALength nCols = 2*k + 1;
-    VectorIndex totalMatSize = (qLen + 1) * nCols;
-
-
-    // 
-    // For now the scoreMat and path mat maintained outside this 
-    // function so that they may have different sizes from the affine
-    // matrices. 
-    //
-
-    if (scoreMat.size() < totalMatSize) {
-        scoreMat.resize(totalMatSize);
-        pathMat.resize(totalMatSize);
-    }
-
-    if (hpInsScoreMat.size() < totalMatSize) {
-        hpInsScoreMat.resize(totalMatSize);
-        hpInsPathMat.resize(totalMatSize);
-        insScoreMat.resize(totalMatSize);
-        insPathMat.resize(totalMatSize);
-    }
-
-    // 
-    // Initialze matrices
-    //
-    std::fill(scoreMat.begin(), scoreMat.begin() + totalMatSize, 0);
-    std::fill(pathMat.begin(), pathMat.begin() + totalMatSize, NoArrow);
-    std::fill(hpInsScoreMat.begin(), hpInsScoreMat.begin() + totalMatSize, 0);
-    std::fill(hpInsPathMat.begin(), hpInsPathMat.begin() + totalMatSize, NoArrow);
-    std::fill(insScoreMat.begin(), insScoreMat.begin() + totalMatSize, 0);
-    std::fill(insPathMat.begin(), insPathMat.begin() + totalMatSize, NoArrow);
-
-    //
-    // Initialize the boundaries of the DP matrix.
-    //
-    int q, t;
-
-    if (alignType != TargetFit) {
-        insScoreMat[rc2index(0, k, nCols)] = 0;
-        insPathMat[rc2index(0, k, nCols)] = AffineInsOpen;
-
-        for (q = 1; q <=k && q < (int) qLen + 1; q++ ){
-            insScoreMat[rc2index(q, k - q, nCols)] = q * insExtend + insOpen;
-            insPathMat[rc2index(q, k-q, nCols)] = AffineInsUp;
-        }
-    }
-    else if (alignType == TargetFit) {
-        // 
-        // Allow free gap penalties at the beginning of the alignment.
-        //
-        insScoreMat[rc2index(0, k, nCols)] = 0;
-        insPathMat[rc2index(0, k, nCols)]  = AffineInsOpen;
-        for (q = 1; q <= k && q < (int) qLen + 1; q++ ){
-            insScoreMat[rc2index(q, k - q, nCols)] = 0;
-            insPathMat[rc2index(q, k-q, nCols)]    = AffineInsUp;
-        }
-    }
-
-
-    //
-    // Assign score for (0,0) position in matrix -- aligning a gap to a gap
-    // which should just be a finished alignment.  There is no cost for
-    // gap-gap alignment.
-    //
-    hpInsScoreMat[rc2index(0,k,nCols)] = 0;
-    hpInsPathMat[rc2index(0,k,nCols)]  = AffineHPInsOpen;
-
-    for (q = 1; q <= k && q < (int) qLen + 1; q++) { 
-        hpInsScoreMat[rc2index(q, k - q, nCols)] = q * hpInsExtend + hpInsOpen;
-        hpInsPathMat[rc2index(q,k-q,nCols)] = AffineHPInsUp;
-    }
-
-    for (t = k+1; t < (int) nCols; t++ ) {
-        hpInsScoreMat[rc2index(0, t, nCols)] = INF_SCORE;//  hpInsOpen + (t - k) * hpInsExtend;//; //INF_SCORE;
-        hpInsPathMat[t] = NoArrow; //AffineHPInsOpen ; //NoArrow;
-        insScoreMat[t] = INF_SCORE; //insOpen + (t - k) * insExtend; //INF_SCORE;
-        insPathMat[t] = NoArrow; //AffineInsOpen; //NoArrow;
-    }
-
-    for (q = 1; q <= k && q < (int) qLen + 1; q++) {
-        scoreMat[rc2index(q, k - q, nCols)] = insScoreMat[rc2index(q,k-q,nCols)];
-        pathMat[rc2index(q, k - q , nCols)] = AffineInsClose;
-    }
-    for (t = 1; t <= (int) k; t++) {
-        scoreMat[rc2index(0, t + k , nCols)] = t * del;
-        pathMat[rc2index(0, t + k , nCols)] = Left;
-    }
-
-
-    //
-    // The recurrence relation here is a slight modification of the
-    // standard affine gap alignment.  Deletions are non-affine.  Insertions
-    // are affine with different scores for homopolymer insertions, and 
-    // an affine score for mixed insertions.
-    //
-
-
-    int matchScore, delScore;
-    int hpInsExtendScore, hpInsOpenScore, insOpenScore, insExtendScore;
-    int minHpInsScore, minInsScore;
-    for (q = 1; q <= (int) qLen; q++) {
-        for (t = q - k; t < (int) q + k + 1; t++) {
-            if (t < 1) {
-                continue;
-            }
-            if ((DNALength) t >  tLen) {
-                break;
-            }
-
-            VectorIndex upper = rc2index(q-1, k + t - q + 1, nCols);
-            VectorIndex curIndex = rc2index(q, k + t - q, nCols);
-
-            if (t < q + k)
-                hpInsOpenScore = scoreMat[upper] + hpInsOpen;
-            else
-                hpInsOpenScore = INF_SCORE;
-
-            //
-            // The homopolymer insertion score is defined only when the previous nucleotide
-            // is the same as the current, in which case the homopolymer insertion score
-            // is used.  If the current and previous nucleotide in the query are different,
-            // the extension is not possible, and the best that can happen is a gap open.
-            //
-            if (q > 1 and qSeq[q-1] == qSeq[q-2]) {
-                if (t < q + k) 
-                    hpInsExtendScore = hpInsScoreMat[upper] + hpInsExtend;
-                else 
-                    hpInsExtendScore = INF_SCORE;
-            }
-            else {
-                hpInsExtendScore = INF_SCORE;
-            }
-
-            //
-            // Since this is only allowing insertions, this grid has only horizontal and 
-            // elevation arrows.
-            //
-
-            if (hpInsOpenScore < hpInsExtendScore) {
-                hpInsPathMat[curIndex] = AffineHPInsOpen;
-                minHpInsScore = hpInsOpenScore;
-            }
-            else {
-                hpInsPathMat[curIndex] = AffineHPInsUp;
-                minHpInsScore = hpInsExtendScore;
-            }
-
-            hpInsScoreMat[curIndex] = minHpInsScore;
-            if (t < q + k) {
-                insOpenScore = scoreMat[upper] + insOpen;
-                insExtendScore = insScoreMat[upper] + insExtend;
-            }
-            else {
-                insOpenScore = INF_SCORE;
-                insExtendScore = INF_SCORE;
-            }
-
-            if (insOpenScore < insExtendScore) {
-                insPathMat[curIndex] = AffineInsOpen;
-                minInsScore = insOpenScore;
-            }
-            else {
-                insPathMat[curIndex] = AffineInsUp;
-                minInsScore = insExtendScore;
-            }
-            insScoreMat[curIndex] = minInsScore;
-
-
-            // On left boundary of k-band. 
-            // do not allow deletions of t.
-            if (t == q - k) {
-                delScore = INF_SCORE;
-            }
-            else {
-                // cur row = q
-                // cur col = t - q 
-                // prev col therefore t - q - 1
-                // and offset from diagonal is k + t - q - 1
-                delScore = scoreMat[rc2index(q, k + t - q - 1, nCols)] + del;
-            }
-
-            // cur row = q
-            // cur col = t - q
-
-            // cur query index = q - 1
-            // cur target index = t - 1
-            // therefore match row (up) = q 
-            //           match col (left, but since up shifted right) = t - q
-            assert(rc2index(q - 1, k + t - q, nCols) < scoreMat.size());
-            assert(t-1 >= 0);
-            assert(q-1 >= 0);
-            matchScore = scoreMat[rc2index(q - 1, k + t - q, nCols)] + matchMat[ThreeBit[qSeq.seq[q-1]]][ThreeBit[tSeq.seq[t-1]]];
-
-            //
-            //  Possibly on right boundary of k-band, in which
-            //  case do not allow insertions from q.
-
-            int minScore = MIN(matchScore, MIN(delScore, MIN(minInsScore, minHpInsScore)));
-            curIndex = rc2index(q, k + t - q, nCols);
-            assert(curIndex < scoreMat.size());
-            scoreMat[curIndex] = minScore;
-            if (minScore == matchScore) {
-                pathMat[curIndex] = Diagonal;
-            }
-            else if (minScore == delScore) {
-                pathMat[curIndex] = Left;
-            }
-            else if (minScore == minInsScore) {
-                pathMat[curIndex] = AffineInsClose;
-            }
-            else {
-                pathMat[curIndex] = AffineHPInsClose;
-            }
-        }
-    }
-    /*
-       std::cout << "tracing back from: " << q << ", " << t << std::endl;
-       std::cout << "match score: " << std::endl;
-       PrintFlatMatrix(&scoreMat[0], qLen + 1, nCols, std::cout);
-       std::cout << " path: " << std::endl;
-       PrintFlatMatrix(pathMat, qLen + 1, nCols, std::cout);
-       std::cout << "hp  score: " << std::endl;
-       PrintFlatMatrix(&hpInsScoreMat[0], qLen + 1, nCols, std::cout);
-       std::cout << "hp  path: " << std::endl;
-       PrintFlatMatrix(hpInsPathMat, qLen + 1, nCols, std::cout);	
-       std::cout << "normal affine ins score: " << std::endl;
-       PrintFlatMatrix(&insScoreMat[0], qLen + 1, nCols, std::cout);
-       std::cout << "normal affine ins path: " << std::endl;
-       PrintFlatMatrix(&insPathMat[0], qLen + 1, nCols, std::cout);
-       */
-    vector<Arrow>  optAlignment;
-    // First find the end position matrix.
-
-    int minScoreTPos, minScore;
-    int minScoreQPos;
-    if (alignType == Global) {
-        q = qLen ;
-        t = k - ((int)qLen - (int)tLen);
-    }
-    else if (alignType == QueryFit) {
-        q = qLen;
-        minScoreTPos = max(q-k,1);
-        DNALength index = rc2index(qLen, k + minScoreTPos - q, nCols);
-        minScore = scoreMat[index];
-        for (t = q - k; t < (int) q + k + 1; t++) {
-            if (t < 1) { continue;}
-            if (t > tLen) { break;}
-            int index = rc2index(qLen,k + t - q,nCols);
-            if (scoreMat[index] < minScore) {
-                minScoreTPos = t;
-                minScore = scoreMat[index ];
-            }
-        }
-        t = k - ((int)qLen - minScoreTPos);
-    }
-    else if (alignType == TargetFit) {
-        t = tLen;
-
-        int qStart = max(0,min((int)qLen, (int)tLen) - max(0, k - max(((int)tLen) - ((int)qLen), 0)));
-        int qEnd = min(qLen, tLen + k) + 1;
-
-        minScoreQPos = qStart;
-        int index = rc2index(minScoreQPos, k - (minScoreQPos - tLen), nCols);
-        minScore = scoreMat[index];
-        for (q = qStart; q < qEnd; q++) {
-            // add to k since this is going up.
-            index = rc2index(q, k + (q - tLen), nCols);
-            if (scoreMat[index] < minScore) {
-                minScoreQPos = q;
-                minScore     = scoreMat[index];
-            }
-        }
-        q = minScoreQPos;
-        t = (k+((int)q-(int)tLen));
-    }
-
-    int optScore = scoreMat[rc2index(q, t, nCols)];
-    Arrow arrow;
-    MatrixLabel curMatrix = Match;
-
-
-    while ((q > 0) or
-            (q == 0 and t > k)) {
-        assert(t < 2*k+1);
-        if (curMatrix == Match) {
-            arrow = pathMat[rc2index(q,t, nCols)];
-            if (arrow == Diagonal) {
-                optAlignment.push_back(arrow);
-                q--;
-            }
-            else if (arrow == Left) {
-                optAlignment.push_back(arrow);
-                t--;
-            }
-            //
-            // The following two conditions change matrices 
-            // without changing coordinates, since the gap close
-            // just changes state without adding to the alignment.
-            //
-            else if (arrow == AffineInsClose) {
-                curMatrix = AffineIns;
-            }
-            else if (arrow == AffineHPInsClose) {
-                curMatrix = AffineHPIns;
-            }
-        }
-        else if (curMatrix == AffineHPIns) {
-            //
-            // The current
-            arrow = hpInsPathMat[rc2index(q,t,nCols)];
-            if (arrow == AffineHPInsOpen) {
-                curMatrix = Match;
-            }
-            else if (arrow != AffineHPInsUp) {
-                std::cout << "ERROR! Affine homopolymer insertion path matrix MUST only have UP or OPEN arrows." << std::endl;
-                assert(0);
-            }
-            optAlignment.push_back(Up);
-            q--;
-            t++;
-        }
-        else if (curMatrix == AffineIns) {
-            arrow = insPathMat[rc2index(q,t,nCols)];
-            if (arrow == AffineInsOpen) {
-                curMatrix = Match;
-            }
-            else if (arrow != AffineInsUp) {
-                std::cout << "ERROR! Affine insertion path matrix MUST only have UP or OPEN arrows."<<std::endl;
-                assert(0);
-            }
-            optAlignment.push_back(Up);
-            q--;
-            t++;
-        }
-        else {
-            std::cout << "ERROR in affine local alignment, matrix is: " << curMatrix << std::endl;
-            assert(0);
-        }
-    }
-    //	qSeq.Free();
-    //	tSeq.Free();
-    std::reverse(optAlignment.begin(), optAlignment.end());
-    alignment.ArrowPathToAlignment(optAlignment);
-    return optScore;
-}
-
-
-#endif // _BLASR_AFFINE_KBAND_ALIGN_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/AlignmentFormats.hpp b/libcpp/alignment/algorithms/alignment/AlignmentFormats.hpp
deleted file mode 100644
index b645b94..0000000
--- a/libcpp/alignment/algorithms/alignment/AlignmentFormats.hpp
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _BLASR_ALIGNMENT_FORMATS_HPP_
-#define _BLASR_ALIGNMENT_FORMATS_HPP_
-
-enum AlignmentPrintFormat { StickPrint, SummaryPrint, CompareXML, Vulgar, Interval, CompareSequencesParsable, SAM, BAM, NOFORMAT};
-
-#endif
diff --git a/libcpp/alignment/algorithms/alignment/AlignmentUtils.cpp b/libcpp/alignment/algorithms/alignment/AlignmentUtils.cpp
deleted file mode 100644
index 7912783..0000000
--- a/libcpp/alignment/algorithms/alignment/AlignmentUtils.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <cassert>
-#include <vector>
-#include <stdint.h>
-#include <iostream>
-#include <ostream>
-#include <cstdlib>
-#include <fstream>
-#include "AlignmentUtils.hpp"
-
-using namespace blasr;
-
-int ComputeAlignmentScore(
-        std::string &queryStr, std::string &textStr,
-        int matchScores[5][5], int ins, int del) { 
-    DistanceMatrixScoreFunction<DNASequence, DNASequence> scoreFn(matchScores, ins, del);
-    return ComputeAlignmentScore(queryStr, textStr, scoreFn);
-}
-
-int GetNumberWidth(unsigned int value) {
-    // 0 has a width of 1.
-    int width = 1;
-    while (value / 10 > 0)  {
-        value = value / 10;
-        ++width;
-    }
-    return width;
-}
-
-int ComputeDrift(Block &cur, Block &next) {
-
-    int tGap  = (next.tPos - cur.TEnd());
-    int qGap = (next.qPos - cur.QEnd());
-
-    int commonGap = 0;
-
-    if (tGap > 0 and qGap > 0) {
-        commonGap = abs(tGap - qGap);
-    }
-    tGap -= commonGap;
-    qGap -= commonGap;
-
-    return tGap - qGap;
-}
diff --git a/libcpp/alignment/algorithms/alignment/AlignmentUtils.hpp b/libcpp/alignment/algorithms/alignment/AlignmentUtils.hpp
deleted file mode 100644
index 0daa80f..0000000
--- a/libcpp/alignment/algorithms/alignment/AlignmentUtils.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
-#ifndef _BLASR_ALIGNMENT_UTILS_HPP_
-#define _BLASR_ALIGNMENT_UTILS_HPP_
-
-#include <string>
-#include "DNASequence.hpp"
-#include "datastructures/alignment/Alignment.hpp"
-#include "algorithms/alignment/DistanceMatrixScoreFunction.hpp"
-
-enum AlignmentType { 
-    Local,     // Standard Smith-Waterman
-    Global,    // Standard Needleman-Wuncsh
-    QueryFit,  // No gap penalties from query.  
-    TargetFit, // For when the query engulfs the target.  
-    Overlap,    // No gap penalty at the beginning of
-    // query, nor at the end of text **
-    // not yet implemented for k-band **, 
-    FrontAnchored, // Require the alignment to align
-    // pos 0,0 in the matrix 
-    EndAnchored,   // Require the alignment to align
-    // the pos m,n in the matrix 
-    // Score alignment types solely compute the score
-    // of an alignment and do not store the actual
-    // alignment itself.  This is fast for filtering
-    // potential alignments that may be re-aligned
-    // later to store the actual alignment.
-    Fit,  // No gap penalties at the beginning nor ends of alignments.
-    TSuffixQPrefix, // Same as overlap 
-    TPrefixQSuffix, // so that the order of the alignment does not have to be reversed
-    ScoreGlobal,
-    ScoreLocal,
-    ScoreQueryFit,
-    ScoreTargetFit,
-    ScoreOverlap,
-    ScoreFrontAnchored,
-    ScoreEndAnchored,
-    ScoreTSuffixQPrefix,
-    ScoreTPrefixQSuffix,
-    //
-    // A LocalBoundaries alignment is in-between a
-    // score-only and full-alignment. The full path
-    // matrix is computed, but rather 
-    // than computing an alignment, simply the  
-    // (qStart, qLength), (tStart, tLength)
-    // coordinates of the alignment are returned.  
-    //
-    LocalBoundaries,
-    //
-    // A SignificanceLimited alignment is a banded
-    // alignment that continues alignment until the
-    // score drops below a certain threshold below
-    // the maximum score.
-    //
-    SignificanceLimited
-};
-
-inline
-int ComputeAlignmentScore(
-        std::string& queryStr, std::string& textStr, 
-        int matchScores[5][5], int ins, int del);
-
-template<typename T_ScoreFn>
-inline
-int ComputeAlignmentScore(
-        std::string& queryStr, std::string& textStr, 
-        T_ScoreFn & scoreFn, bool useAffineScore = false);
-
-template<typename T_QuerySequence, typename T_TargetSequence, typename T_ScoreFn>
-int ComputeAlignmentScore(blasr::Alignment& alignment,
-        T_QuerySequence& query,
-        T_TargetSequence& text,
-        T_ScoreFn& scoreFn,
-        bool useAffinePenalty = false);
-
-template<typename T_QuerySequence, typename T_TargetSequence>
-int ComputeAlignmentScore(blasr::Alignment &alignment,
-        T_QuerySequence &query,
-        T_TargetSequence &text,
-        int matchScores[5][5],
-        int ins,
-        int del);
-
-int GetNumberWidth(unsigned int value); 
-
-template<typename T_Alignment>
-inline void PrintCompareSequencesAlignmentStats(T_Alignment &alignment, std::ostream &out); 
-
-template<typename T_Alignment>
-inline int ReadCompareSequencesAlignmentStats(std::istream &in, T_Alignment &alignment); 
-
-template<typename T_Alignment>
-inline int ReadCompSeqAlignment(std::istream &in, T_Alignment &alignment); 
-
-/*
- * This should be changed to read any type of alignment, since templates are being
- * used.
- */
-inline void ReadCompSeqAlignments(std::string &compSeqAlignmentFileName, std::vector<blasr::CompSeqAlignment> &alignments); 
-
-inline void PrintAlignmentStats(blasr::Alignment &alignment, std::ostream &out); 
-
-template<typename T_QuerySequence, typename T_TargetSequence>
-void  AppendGapCharacters(blasr::Gap &gap, 
-        T_QuerySequence &query, T_TargetSequence &text, 
-        DNALength &q, DNALength &t,
-        char mismatchChar, char gapChar,
-        std::string &textStr, std::string &alignStr, std::string &queryStr); 
-
-template<typename T_Alignment, typename T_QuerySequence, typename T_TargetSequence>
-void CreateAlignmentStrings(T_Alignment &alignment, 
-        T_QuerySequence &query, T_TargetSequence &text, 
-        std::string &textStr, std::string &alignStr, std::string &queryStr, DNALength queryLength=0, DNALength textLength=0); 
-
-template<typename T_Alignment, typename T_ScoreFn>
-void ComputeAlignmentStats(T_Alignment & alignment, Nucleotide* qSeq, Nucleotide * tSeq, T_ScoreFn & scoreFn, bool useAffineScore = false);
- 
-template<typename T_Alignment>
-void ComputeAlignmentStats(T_Alignment &alignment, Nucleotide* qSeq, Nucleotide *tSeq, int matchMatrix[5][5], int ins, int del); 
-
-template<typename T_Alignment>
-int ComputeDrift(T_Alignment &alignment); 
-
-int ComputeDrift(blasr::Block &cur, blasr::Block &next); 
-
-template<typename T_Alignment>
-void RemoveAlignmentPrefixGaps(T_Alignment &alignment); 
-
-// QVsToCmpH5QVs converts the optional QVs read from a SAM file into something
-// that's ready to be written to the HDFArrays of a cmp.h5 file. This involves
-// two things: First, it needs to be converted from a std::string to a vector
-// of either chars or UChars. Second, it needs to have appropriate gap
-// characters inserted. The location of gaps if found using the byteAlignment.
-template<typename T>
-void QVsToCmpH5QVs(const std::string &fieldName, const std::string &qvs,
-                   const std::vector<unsigned char> &byteAlignment,
-                   bool isTag, std::vector<T> *gappedQVs);
-
-#include "AlignmentUtilsImpl.hpp"
-
-#endif // _BLASR_ALIGNMENT_UTILS_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/AlignmentUtilsImpl.hpp b/libcpp/alignment/algorithms/alignment/AlignmentUtilsImpl.hpp
deleted file mode 100644
index 30f434b..0000000
--- a/libcpp/alignment/algorithms/alignment/AlignmentUtilsImpl.hpp
+++ /dev/null
@@ -1,548 +0,0 @@
-#ifndef _BLASR_ALIGNMENT_UTILS_IMPL_HPP_
-#define _BLASR_ALIGNMENT_UTILS_IMPL_HPP_
-
-#include <cassert>
-
-using namespace blasr;
-
-template<typename T_QuerySequence, typename T_TargetSequence, typename T_ScoreFn>
-int ComputeAlignmentScore(Alignment &alignment,
-    T_QuerySequence &query,
-    T_TargetSequence &text,
-    T_ScoreFn &scoreFn,
-    bool useAffinePenalty) {
-  VectorIndex b, q, t, l, bi, gi;
-  int alignmentScore = 0;
-
-	for (b = 0; b < alignment.blocks.size(); b++ ) {
-		for ((q = alignment.qPos + alignment.blocks[b].qPos,
-					t = alignment.tPos + alignment.blocks[b].tPos,
-					l = 0) ; 
-				 l < alignment.blocks[b].length; q++, t++, l++) {
-			alignmentScore += scoreFn.Match(text, t, query, q);
-		}
-    if (alignment.gaps.size() == alignment.blocks.size() + 1) {
-      for (gi = 0; gi < alignment.gaps[b+1].size(); gi++) {
-        if (alignment.gaps[b+1][gi].seq == Gap::Target) {
-            if (useAffinePenalty) {
-                alignmentScore += scoreFn.affineOpen + alignment.gaps[b+1][gi].length * scoreFn.affineExtend;
-            }
-            else {
-                alignmentScore += alignment.gaps[b+1][gi].length * scoreFn.ins;
-            }
-        }
-        else {
-            if (useAffinePenalty) {
-                alignmentScore += scoreFn.affineOpen + alignment.gaps[b+1][gi].length * scoreFn.affineExtend;
-            }
-            else {
-                alignmentScore += alignment.gaps[b+1][gi].length * scoreFn.del;
-            }
-        }
-      }
-    }
-  }
-  return alignmentScore;
-}
-  
-template<typename T_QuerySequence, typename T_TargetSequence>
-int ComputeAlignmentScore(blasr::Alignment &alignment,
-        T_QuerySequence &query,
-        T_TargetSequence &text,
-        int matchScores[5][5],
-        int ins,
-        int del) {
-    DistanceMatrixScoreFunction<DNASequence, DNASequence> scoreFn(matchScores, ins, del);
-    return ComputeAlignmentScore(alignment, query, text, scoreFn);
-}
-
-template<typename T_ScoreFn>
-int ComputeAlignmentScore(std::string &queryStr, std::string &textStr, T_ScoreFn &scoreFn, 
-        bool useAffineScore) {
-    if (queryStr.size() != textStr.size()) {
-        std::cout << "Computing alignment score using invalid alignment string." << std::endl;
-        std::cout << "Bailing out."<< std::endl;
-        exit(1);
-    }
-    VectorIndex i;
-    int score = 0;
-    int alignStrLen = queryStr.size();
-    for(i = 0; i < alignStrLen; i++) {
-        if (queryStr[i] != '-' and
-            textStr[i] != '-') {
-            score += scoreFn.scoreMatrix[ThreeBit[(int)queryStr[i]]][ThreeBit[(int)textStr[i]]];
-        }
-        else {
-            if (useAffineScore) {
-                //
-                // Compute affine gap scoring.  For now this uses symmetric insertion/deletion penalties. 
-                //
-                int gapEnd = i;
-                while (gapEnd < queryStr.size() and gapEnd < textStr.size() and 
-                        (queryStr[gapEnd] == '-' or textStr[gapEnd] == '-')) {
-                    ++gapEnd;
-                }
-                int gapLength = gapEnd - i;
-                score += scoreFn.affineOpen + gapLength * scoreFn.affineExtend;
-                //
-                // Advance past gap -1, so that at the top of the for loop i
-                // will be at the end of the gap.
-                //
-                i = gapEnd - 1;
-            }
-            else {
-                //
-                // Use non-affine gap scoring.
-                //
-                if (queryStr[i] == '-' and textStr[i] != '-') {
-                    score += scoreFn.del;
-                }
-                else if (queryStr[i] != '-' and textStr[i] == '-') {
-                    score += scoreFn.ins;
-                }
-                else {
-                    score += scoreFn.scoreMatrix[4][4];
-                }
-            }
-        }
-    }
-    return score;
-}
-
-/*
- * This should be changed to read any type of alignment, since templates are being
- * used.
- */
-inline void ReadCompSeqAlignments(std::string &compSeqAlignmentFileName, std::vector<CompSeqAlignment> &alignments) {
-    std::ifstream in;
-    CrucialOpen(compSeqAlignmentFileName, in);
-    CompSeqAlignment alignment;
-    while (ReadCompSeqAlignment(in, alignment)) {
-        alignments.push_back(alignment);
-    }
-}
-
-inline void PrintAlignmentStats(Alignment &alignment, std::ostream &out) {
-    out << "    nMatch: " << alignment.nMatch << std::endl;
-    out << " nMisMatch: " << alignment.nMismatch << std::endl;
-    out << "      nIns: " << alignment.nIns << std::endl;
-    out << "      nDel: " << alignment.nDel << std::endl;
-    out << "      %sim: " << alignment.pctSimilarity << std::endl;
-    out << "     Score: " << alignment.score << std::endl; 
-}
-
-template<typename T_Alignment>
-inline void PrintCompareSequencesAlignmentStats(T_Alignment &alignment, std::ostream &out) {
-    int lastBlock;
-
-    lastBlock = alignment.blocks.size() -1;
-
-    int qLength, tLength;
-    if (lastBlock >= 0) {
-        qLength = (alignment.blocks[lastBlock].qPos 
-                + alignment.blocks[lastBlock].length) ;
-        tLength =  (alignment.blocks[lastBlock].tPos 
-                + alignment.blocks[lastBlock].length);
-    }
-    else {
-        qLength = tLength = 0;
-    }
-
-    //
-    // First print the query 
-    //
-    int alignmentQStart;
-    if (lastBlock >= 0) {
-        alignmentQStart = alignment.qPos + alignment.qAlignedSeqPos;
-    }
-    else {
-        alignmentQStart = alignment.qAlignedSeqPos;
-    }
-    out << alignment.qName
-        << " " << alignment.qLength
-        << " " << alignmentQStart
-        << " " << alignmentQStart + qLength;
-
-    if (alignment.qStrand == 0) {
-        out << " + ";
-    }
-    else {
-        out << " - ";
-    }
-
-    int alignmentTStart;
-    if (lastBlock >= 0) {
-        alignmentTStart = alignment.tPos + alignment.tAlignedSeqPos;
-    }
-    else {
-        alignmentTStart = 0;
-    }
-    out << " " << alignment.tName 
-        << " " << alignment.tLength;
-    if (alignment.tStrand == 0) {
-        out << " " << alignmentTStart
-            << " " << alignmentTStart + tLength;
-        out << " + ";
-    }
-    else {
-        out	<< " " << alignment.tLength - (alignmentTStart + tLength)
-            << " " << alignment.tLength - (alignmentTStart);
-        out << " - ";
-    }
-
-    out << alignment.score 
-        << " " << alignment.nMatch 
-        << " " << alignment.nMismatch
-        << " " << alignment.nIns
-        << " " << alignment.nDel
-        << " " << (int) alignment.mapQV 
-        << " ";
-}
-
-template<typename T_Alignment>
-inline int ReadCompareSequencesAlignmentStats(std::istream &in, T_Alignment &alignment) {
-    int qEnd, tEnd;
-    int qLength, tLength;
-    char qStrand, tStrand;
-    if (!(in >> alignment.qName )) return 0;
-    if (!(in >> qLength)) return 0;
-    if (!(in >> alignment.qPos)) return 0;
-    if (!(in >> qEnd)) return 0;
-    if (!(in >> qStrand)) return 0;
-    if (!(in >> alignment.tName)) return 0;
-    if (!(in >> tLength)) return 0;
-    if (!(in >> alignment.tPos)) return 0;
-    if (!(in >> tEnd)) return 0;
-    if (!(in >> tStrand)) return 0;
-    if (!(in >> alignment.score)) return 0;
-    if (!(in >> alignment.nMatch)) return 0;
-    if (!(in >> alignment.nMismatch)) return 0;
-    if (!(in >> alignment.nIns)) return 0;
-    if (!(in >> alignment.nDel)) return 0;
-    return 1;
-}
-
-
-template<typename T_Alignment>
-inline int ReadCompSeqAlignment(std::istream &in, T_Alignment &alignment) {
-    if (!ReadCompareSequencesAlignmentStats(in, alignment)) return 0;
-    std::string alignStr;
-    if (!(in >> alignment.qString)) return 0;
-    if (!(in >> alignStr)) return 0;
-    if (!(in >> alignment.tString)) return 0;
-    std::string eol;
-    std::getline(in, eol);
-    return 1;
-}
-
-
-template<typename T_QuerySequence, typename T_TargetSequence>
-void  AppendGapCharacters(Gap &gap, 
-        T_QuerySequence &query, T_TargetSequence &text, 
-        DNALength &q, DNALength &t,
-        char mismatchChar, char gapChar,
-        std::string &textStr, std::string &alignStr, std::string &queryStr) {
-    int gp;
-    for (gp = 0; gp < gap.length; gp++) {
-        if (gap.seq == Gap::Query) {
-            textStr.push_back(text[t]);
-            alignStr.push_back(mismatchChar);
-            queryStr.push_back(gapChar);
-            t++;
-        }
-        else if (gap.seq == Gap::Target) {
-            textStr.push_back(gapChar);
-            alignStr.push_back(mismatchChar);
-            queryStr.push_back(query[q]);
-            q++;
-        }
-    }
-}
-
-template<typename T_Alignment, typename T_QuerySequence, typename T_TargetSequence>
-void CreateAlignmentStrings(T_Alignment &alignment, 
-        T_QuerySequence &query, T_TargetSequence &text, 
-        std::string &textStr, std::string &alignStr, std::string &queryStr, 
-        DNALength queryLength, DNALength textLength) {
-    DNALength q = alignment.qPos;
-    DNALength t = alignment.tPos;
-    DNALength qPos, tPos;
-    DNALength  g;
-    char mismatchChar = '*';
-    char matchChar = '|';
-    char gapChar = '-';
-    char gapSeparationChar = ' ';
-    if (alignment.blocks.size() == 0) {
-        textStr = "";
-        alignStr = "";
-        queryStr = "";
-        return;
-    }
-
-    if (alignment.gaps.size() == 0) {
-        //
-        // If there is no gap list, add the gaps as an offset here.
-        //
-        if (alignment.blocks[0].qPos > 0 or
-                alignment.blocks[0].tPos > 0) {
-            // commonGapLen should be the shorter gap.
-            qPos = alignment.blocks[0].qPos;
-            tPos = alignment.blocks[0].tPos;
-            DNALength commonGapLen = qPos;
-            if (commonGapLen > tPos) {
-                commonGapLen = tPos;
-            }
-            for (g = 0; g < commonGapLen; g++ ) {
-                textStr.push_back(text[t]);
-                alignStr.push_back(mismatchChar);
-                queryStr.push_back(query[q]);
-                t++;
-                q++;
-            }
-            tPos -= commonGapLen;
-            qPos -= commonGapLen;
-
-            //
-            // one of tPos or qPos is now 0.
-            // The other represents extra sequence
-            // that should be output before starting the alignment
-            DNALength p;
-            for (p = 0; p < tPos; p++) {
-                textStr.push_back(text[t]);
-                alignStr.push_back(gapSeparationChar);
-                queryStr.push_back(gapChar);
-                t++;
-            }
-            for (p = 0; p < qPos; p++) {
-                textStr.push_back(gapChar);
-                alignStr.push_back(gapSeparationChar);
-                queryStr.push_back(query[q]);
-                q++;
-            }
-        }
-    }
-
-    //
-    // Add gap characters if they are before the beginning of the alignment. 
-    // This shouldn't happen, but for some local alignments, it can.
-    //
-    DNALength b, bl, gi;
-    if (alignment.gaps.size() > 0) {
-        // The first gap is before the first block of characters.
-        DNALength gi;
-        for (gi = 0; gi < alignment.gaps[0].size(); gi++) {
-            AppendGapCharacters(alignment.gaps[0][gi], query, text, q, t, mismatchChar, gapChar, textStr, alignStr, queryStr);
-        }
-    }
-
-    for (b = 0; b < alignment.size() ; b++) {
-        for (bl = 0; bl < alignment.blocks[b].length; bl++ ) {
-            queryStr.push_back(query[q]);
-            textStr.push_back(text[t]);
-            assert(queryLength == 0 or q < queryLength);
-            assert(textLength == 0 or t < textLength);
-            if (TwoBit[query[q]] != 
-                    TwoBit[text[t]])
-                alignStr.push_back(mismatchChar);
-            else
-                alignStr.push_back(matchChar);
-            q++;
-            t++;
-        }
-        //
-        //  There are no gaps to count after the last block, so 
-        //  don't add the gapped characters for this.
-        //
-        if (alignment.blocks.size() == 0)
-            continue;
-        if (b == alignment.blocks.size() - 1) {
-            continue;
-        }
-        if (alignment.gaps.size() > 0) {
-            for (gi = 0; gi < alignment.gaps[b+1].size(); gi++) {
-                AppendGapCharacters(alignment.gaps[b+1][gi], query, text, q, t, gapSeparationChar, gapChar, textStr, alignStr, queryStr);
-            }
-        }
-        else {
-
-
-            DNALength queryGapLen = (alignment.blocks[b+1].qPos - 
-                    alignment.blocks[b].qPos - alignment.blocks[b].length);
-            DNALength textGapLen  = (alignment.blocks[b+1].tPos - 
-                    alignment.blocks[b].tPos - alignment.blocks[b].length);
-
-            if (queryGapLen > 0 or textGapLen > 0) {
-                // commonGapLen should be the shorter gap.
-                DNALength commonGapLen = queryGapLen; 
-                if (queryGapLen > textGapLen) {
-                    commonGapLen = textGapLen;
-                }
-                textGapLen -= commonGapLen;
-                queryGapLen -= commonGapLen;
-
-                for (g = 0; g < queryGapLen; g++, q++ ){
-                    textStr.push_back(gapChar);
-                    alignStr.push_back(gapSeparationChar);
-                    queryStr.push_back(query[q]);
-                }
-                for (g = 0; g < textGapLen; g++, t++ ){
-                    textStr.push_back(text[t]);
-                    alignStr.push_back(gapSeparationChar);
-                    queryStr.push_back(gapChar);
-
-                }
-
-                for (g = 0; g < commonGapLen; g++ ) {
-                    textStr.push_back(text[t]);
-                    alignStr.push_back(gapSeparationChar);
-                    queryStr.push_back(query[q]);
-                    t++;
-                    q++;
-                }
-            }
-        }
-    }
-}
-
-
-template<typename T_Alignment, typename T_ScoreFn>
-void ComputeAlignmentStats(T_Alignment & alignment, Nucleotide* qSeq, Nucleotide * tSeq, T_ScoreFn & scoreFn, bool useAffineScore) {
-    int qp = 0, tp = 0;
-    int nMatch = 0, nMismatch = 0, nIns =0, nDel = 0;
-    float pctSimilarity;
-    std::string textStr, alignStr, queryStr;
-    CreateAlignmentStrings(alignment, qSeq, tSeq, textStr, alignStr, queryStr);
-    int i;
-    int alignLength = textStr.size();
-
-    for (i = 0; i < alignLength; i++ ) {
-        if ((textStr[i] != '-') and (queryStr[i] != '-')) {
-            int ti = (int)textStr[i];
-            int qi = (int)queryStr[i];
-            if (ThreeBit[ti] == ThreeBit[qi]) {
-                nMatch++;
-            }
-            else {
-                nMismatch++;
-            }
-            tp++;
-            qp++;
-        }
-        else if (textStr[i] == '-' and queryStr[i] != '-') {
-            nIns++;
-            qp++;
-        }
-        else if (queryStr[i] == '-' and textStr[i] != '-') {
-            nDel++;
-            tp++;
-        }
-    }
-    if (tp + qp > 0) {
-        if (textStr.size() + queryStr.size() > 0) {
-            pctSimilarity = (nMatch*2.0) / (textStr.size() + queryStr.size()) * 100;
-        }
-        else {
-            pctSimilarity = 0;
-        }
-    }
-    else {
-        pctSimilarity = 0;
-    }
-
-    alignment.score = ComputeAlignmentScore(queryStr, textStr, scoreFn);
-    alignment.nMatch = nMatch;
-    alignment.nMismatch = nMismatch;
-    alignment.nDel = nDel;
-    alignment.nIns = nIns;
-    alignment.pctSimilarity = pctSimilarity;
-}
-
-template<typename T_Alignment>
-void ComputeAlignmentStats(T_Alignment &alignment, Nucleotide* qSeq, Nucleotide *tSeq, int matchMatrix[5][5], int ins, int del) {
-    DistanceMatrixScoreFunction<DNASequence, DNASequence> scoreFn(matchMatrix, ins, del);
-    ComputeAlignmentStats(alignment, qSeq, tSeq, scoreFn);
-}
-
-
-
-template<typename T_Alignment>
-int ComputeDrift(T_Alignment &alignment) {
-    VectorIndex b;
-    int qGap = 0, tGap = 0, commonGap = 0;
-    int drift = 0;
-    int maxDrift = 0;
-    int driftBetweenBlocks;
-    if (alignment.blocks.size() == 0)
-        return 0;
-    for (b = 0; b < alignment.blocks.size() - 1; b++) { 
-        driftBetweenBlocks = ComputeDrift(alignment.blocks[b], alignment.blocks[b+1]);
-        drift += driftBetweenBlocks;
-        if (abs(drift) > maxDrift) 
-            maxDrift = abs(drift);
-    }
-    return maxDrift;
-}
-
-template<typename T_Alignment>
-void RemoveAlignmentPrefixGaps(T_Alignment &alignment) {
-    if (alignment.gaps.size()  == 0) {
-        return;
-    }
-
-    unsigned int g;
-    int tStart = 0, qStart = 0;
-    for (g = 0; g < alignment.gaps[0].size(); g++) {
-        if (alignment.gaps[0][g].seq == Gap::Target) {
-            qStart += alignment.gaps[0][g].length;
-        }
-        else if (alignment.gaps[0][g].seq == Gap::Query) {
-            tStart += alignment.gaps[0][g].length;
-        }
-    }
-    int b;
-    int nBlocks;
-    for (b = 0, nBlocks = alignment.blocks.size(); b < nBlocks; b++) {
-        alignment.blocks[b].qPos -= qStart;
-        alignment.blocks[b].tPos -= tStart;
-    }
-    alignment.gaps[0].clear();
-    alignment.tPos += tStart;
-    alignment.qPos += qStart;
-}
-
-template<typename T>
-void QVsToCmpH5QVs(const std::string &qvs,
-                   const std::vector<unsigned char> &byteAlignment,
-                   bool isTag,
-                   std::vector<T> *gappedQVs) {
-    gappedQVs->clear();
-    
-    unsigned int qv_i = 0;
-    
-    // QVs and tags get different values at gaps in the read
-    char tagGapChar = 'N';
-    UChar qvGapChar = 255; 
-
-    for (int i=0; i<byteAlignment.size(); i++) {
-        if (byteAlignment[i] >> 4 == 0) { //Look at upper bits to get query char
-            if (isTag) {
-                gappedQVs->push_back(tagGapChar);
-            } else {
-                gappedQVs->push_back(qvGapChar);
-            }
-        } else {
-            if (isTag) {
-              //std::cout << "Pushing back " << (T)qvs[qv_i] << " for tag " << qvs[qv_i] << std::endl;
-              gappedQVs->push_back((T)qvs[qv_i]);        
-            } else {
-              //std::cout << "Pushing back " << (T)qvs[qv_i] - FASTQSequence::charToQuality << " for QV " << qvs[qv_i] << std::endl;
-              gappedQVs->push_back((T)qvs[qv_i] - FASTQSequence::charToQuality);
-            }
-              
-            qv_i++;
-        }
-    } 
-
-    assert(gappedQVs->size() == byteAlignment.size());
-}
-#endif
diff --git a/libcpp/alignment/algorithms/alignment/BaseScoreFunction.cpp b/libcpp/alignment/algorithms/alignment/BaseScoreFunction.cpp
deleted file mode 100644
index 339b454..0000000
--- a/libcpp/alignment/algorithms/alignment/BaseScoreFunction.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
-#include "BaseScoreFunction.hpp"
-
-BaseScoreFunction::BaseScoreFunction(int insP, int delP, int subPriorP, 
-        int delPriorP, int affineExtensionP, int affineOpenP)  {
-    ins = insP;
-    del = delP;
-    substitutionPrior = subPriorP;
-    globalDeletionPrior = delPriorP;
-    affineExtend = affineExtensionP;
-    affineOpen = affineOpenP;
-}
diff --git a/libcpp/alignment/algorithms/alignment/BaseScoreFunction.hpp b/libcpp/alignment/algorithms/alignment/BaseScoreFunction.hpp
deleted file mode 100644
index 1d5c35c..0000000
--- a/libcpp/alignment/algorithms/alignment/BaseScoreFunction.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef _BLASR_BASE_SCORE_FUNCTION_HPP_
-#define _BLASR_BASE_SCORE_FUNCTION_HPP_
-
-class BaseScoreFunction {
-    public:
-        int ins;
-        int del;
-        int substitutionPrior;
-        int globalDeletionPrior;
-        int affineExtend;
-        int affineOpen;
-
-        BaseScoreFunction(int insP = 0, int delP = 0, int subPriorP = 0, 
-            int delPriorP = 0, int affineExtensionP = 0, int affineOpenP = 0); 
-};
-
-#endif // _BLASR_BASE_SCORE_FUNCTION_HPP_`
diff --git a/libcpp/alignment/algorithms/alignment/DistanceMatrixScoreFunction.hpp b/libcpp/alignment/algorithms/alignment/DistanceMatrixScoreFunction.hpp
deleted file mode 100644
index ed932ab..0000000
--- a/libcpp/alignment/algorithms/alignment/DistanceMatrixScoreFunction.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef _BLASR_DISTANCE_MATRIX_SCORE_FUNCTION_HPP_
-#define _BLASR_DISTANCE_MATRIX_SCORE_FUNCTION_HPP_
-
-#include "BaseScoreFunction.hpp"
-#include "ScoreMatrices.hpp"
-
-template<typename T_RefSequence, typename T_QuerySequence>
-class DistanceMatrixScoreFunction : public BaseScoreFunction {
-public:
-    int scoreMatrix[5][5];
-    DistanceMatrixScoreFunction();
-
-    DistanceMatrixScoreFunction(int scoreMatrixP[5][5], int insertionP, int deletionP);
-
-    void InitializeScoreMatrix(int scoreMatrixP[5][5]);
-
-    int Deletion(T_RefSequence &seq, DNALength pos, T_QuerySequence &querySeq, DNALength queryPos); 
-
-    int Insertion(T_RefSequence &seq, DNALength pos, T_QuerySequence &querySeq, DNALength queryPos);
-
-    int Deletion(T_RefSequence &seq, DNALength pos); 
-
-    int Match(T_RefSequence &ref, DNALength refPos, T_QuerySequence &query, DNALength queryPos); 
-
-    //
-    // Define the score function on dereferenced pointers for speed.
-    //
-    int Match(Nucleotide ref, Nucleotide query); 
-
-    int Insertion(T_QuerySequence &seq, DNALength pos); 
-
-    float NormalizedMatch(T_RefSequence &ref, DNALength refPos, T_QuerySequence &query, DNALength queryPos);
-    float NormalizedInsertion(T_RefSequence &ref, DNALength refPos, T_QuerySequence &query, DNALength queryPos);
-    float NormalizedDeletion(T_RefSequence &ref, DNALength refPos, T_QuerySequence &query, DNALength queryPos);
-
-};
-
-#include "DistanceMatrixScoreFunctionImpl.hpp"
-
-#endif // _BLASR_DISTANCE_MATRIX_SCORE_FUNCTION_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/DistanceMatrixScoreFunctionImpl.hpp b/libcpp/alignment/algorithms/alignment/DistanceMatrixScoreFunctionImpl.hpp
deleted file mode 100644
index 97bacad..0000000
--- a/libcpp/alignment/algorithms/alignment/DistanceMatrixScoreFunctionImpl.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef _BLASR_DISTANCE_MATRIX_SCORE_FUNCTION_IMPL_HPP_
-#define _BLASR_DISTANCE_MATRIX_SCORE_FUNCTION_IMPL_HPP_
-#include <string>
-#include <iostream>
-#include <stdint.h>
-#include <string>
-#include <cstring>
-#include <ostream>
-#include "Types.h"
-#include "NucConversion.hpp"
-#include "Enumerations.h"
-#include "DNASequence.hpp"
-#include "FASTASequence.hpp"
-#include "FASTQSequence.hpp"
-#include "DistanceMatrixScoreFunction.hpp"
-
-template<typename T_RefSequence, typename T_QuerySequence>
-void DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>::InitializeScoreMatrix(int scoreMatrixP[5][5]) {
-    int i, j;
-    for (i = 0; i < 5; i++ ){ 
-        for (j = 0; j < 5; j++ ){
-            scoreMatrix[i][j] = scoreMatrixP[i][j];
-        }
-    }
-}
-
-template<typename T_RefSequence, typename T_QuerySequence>
-DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>::DistanceMatrixScoreFunction() : BaseScoreFunction() {
-}
-
-template<typename T_RefSequence, typename T_QuerySequence>
-DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>::DistanceMatrixScoreFunction(int scoreMatrixP[5][5], int insertionP, int deletionP) : BaseScoreFunction() {
-    InitializeScoreMatrix(scoreMatrixP);
-    ins = insertionP;
-    del = deletionP;
-}
-
-template<typename T_RefSequence, typename T_QuerySequence>
-int DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>::Deletion(
-    T_RefSequence &seq, DNALength pos, T_QuerySequence &querySeq, 
-    DNALength queryPos) {
-    return del;
-}
-
-template<typename T_RefSequence, typename T_QuerySequence>
-int DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>::Insertion(
-    T_RefSequence &seq, DNALength pos, T_QuerySequence &querySeq, 
-    DNALength queryPos) {
-    return ins;
-}
-
-template<typename T_RefSequence, typename T_QuerySequence>
-int DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>::Deletion(
-    T_RefSequence &seq, DNALength pos) {
-    return del;
-}
-
-
-template<typename T_RefSequence, typename T_QuerySequence>
-int DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>::Match(
-    T_RefSequence &ref, DNALength refPos, T_QuerySequence &query, 
-    DNALength queryPos) {
-    return scoreMatrix[ThreeBit[ref[refPos]]][ThreeBit[query[queryPos]]];		
-}
-
-//
-// Define the score function on dereferenced pointers for speed.
-//
-template<typename T_RefSequence, typename T_QuerySequence>
-int DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>::Match(
-    Nucleotide ref, Nucleotide query) {
-    return scoreMatrix[ThreeBit[ref]][ThreeBit[query]];
-}
-
-template<typename T_RefSequence, typename T_QuerySequence>
-int DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>::Insertion(
-    T_QuerySequence &seq, DNALength pos) {
-    return ins;
-}
-
-template<typename T_RefSequence, typename T_QuerySequence>
-float 
-DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>
-::NormalizedMatch(T_RefSequence &ref, DNALength refPos, 
-    T_QuerySequence &query, DNALength queryPos) {return 0;}
-
-template<typename T_RefSequence, typename T_QuerySequence>
-float DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>
-::NormalizedInsertion(T_RefSequence &ref, DNALength refPos, 
-    T_QuerySequence &query, DNALength queryPos) {return 0;}
-
-template<typename T_RefSequence, typename T_QuerySequence>
-float DistanceMatrixScoreFunction<T_RefSequence,T_QuerySequence>::NormalizedDeletion(T_RefSequence &ref, DNALength refPos, T_QuerySequence &query, DNALength queryPos) {return 0;}
-
-
-#endif // _BLASR_DISTANCE_MATRIX_SCORE_FUNCTION_IMPL_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/ExtendAlign.cpp b/libcpp/alignment/algorithms/alignment/ExtendAlign.cpp
deleted file mode 100644
index 1a17664..0000000
--- a/libcpp/alignment/algorithms/alignment/ExtendAlign.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-#include "ExtendAlign.hpp"
-
-RCToIndex::RCToIndex() {
-    qStart = 0; tStart = 0;
-    band = middleCol = nCols = 0;
-}
-
-int RCToIndex::operator()(int r, int c, int &index) {
-    //
-    // First do some error checking on the row and column to see if it
-    // is within the band.
-    //
-    if (r < qStart) { return 0; }
-    if (c < tStart) { return 0; }
-    r -= qStart;
-    c -= tStart;
-    if (std::abs(r-c) > band) { return 0; } // outside band range.
-    if (c < 0) { return 0; }
-
-    if (middleCol - (r - c) >= nCols) { return  0; }
-    index = (r*nCols) + (middleCol - (r - c));
-    return 1;
-}
-
-int BaseIndex::QNotAtSeqBoundary(int q) {
-    return q != queryAlignLength;
-}
-int BaseIndex::TNotAtSeqBoundary(int t) {
-    return t != refAlignLength;
-}	
-int BaseIndex::QAlignLength() {
-    return queryAlignLength;
-}
-
-int BaseIndex::TAlignLength() {
-    return refAlignLength;
-}
-
-
-int ForwardIndex::QuerySeqPos(int q) {
-    return queryPos + q;
-}
-
-int ForwardIndex::RefSeqPos(int t) {
-    return refPos + t;
-}
-
-int ForwardIndex::GetQueryStartPos(int startQ, int endQ) {
-    return queryPos + startQ + 1;
-}
-
-int ForwardIndex::GetRefStartPos(int startT, int endT) {
-    return refPos + startT + 1;
-}
-
-void ForwardIndex::OrderArrowVector(std::vector<Arrow> &mat) {
-    reverse(mat.begin(), mat.end());
-}
-
-
-int ReverseIndex::QuerySeqPos(int q) {
-    return queryPos - q;
-}
-
-int ReverseIndex::RefSeqPos(int t) {
-    return refPos - t;
-}
-
-int ReverseIndex::GetQueryStartPos(int startQ, int endQ) {
-    return queryPos - (endQ-1);
-}
-
-int ReverseIndex::GetRefStartPos(int startT, int endT) {
-    return refPos - (endT-1);
-}
-
-void ReverseIndex::OrderArrowVector(std::vector<Arrow> &mat) {
-}
-
diff --git a/libcpp/alignment/algorithms/alignment/ExtendAlign.hpp b/libcpp/alignment/algorithms/alignment/ExtendAlign.hpp
deleted file mode 100644
index a5430bc..0000000
--- a/libcpp/alignment/algorithms/alignment/ExtendAlign.hpp
+++ /dev/null
@@ -1,416 +0,0 @@
-#ifndef _BLASR_EXTEND_ALIGN_HPP_
-#define _BLASR_EXTEND_ALIGN_HPP_
-
-#include <vector>
-#include <algorithm>
-#include "defs.h"
-#include "KBandAlign.hpp"
-#include "NucConversion.hpp"
-#include "matrix/FlatMatrix.hpp"
-#include "datastructures/alignment/Alignment.hpp"
-
-class RCToIndex {
-public:
-    int qStart, tStart;
-    int middleCol;
-    int band;
-    int nCols;
-
-    RCToIndex(); 
-
-    int operator()(int r, int c, int &index); 
-};
-
-class BaseIndex {
-public:
-    int queryPos, refPos;
-    int queryAlignLength, refAlignLength;
-
-    int QNotAtSeqBoundary(int q); 
-
-    int TNotAtSeqBoundary(int t); 
-
-    int QAlignLength(); 
-
-    int TAlignLength(); 
-};
-
-class ForwardIndex : public BaseIndex {
-public:
-
-    int QuerySeqPos(int q); 
-
-    int RefSeqPos(int t); 
-
-    int GetQueryStartPos(int startQ, int endQ); 
-
-    int GetRefStartPos(int startT, int endT); 
-
-    void OrderArrowVector(std::vector<Arrow> &mat); 
-};
-
-
-class ReverseIndex : public BaseIndex {
-public:
-
-    int QuerySeqPos(int q); 
-
-    int RefSeqPos(int t); 
-
-    int GetQueryStartPos(int startQ, int endQ); 
-
-    int GetRefStartPos(int startT, int endT); 
-
-    void OrderArrowVector(std::vector<Arrow> &mat); 
-};
-
-template<typename T_Alignment, 
-    typename T_ScoreFn, 
-    typename T_QuerySeq, 
-    typename T_RefSeq, 
-    typename T_Index>
-    int ExtendAlignment(T_QuerySeq &querySeq, int queryPos, 
-            T_RefSeq   &refSeq,   int refPos,
-            int k,
-            std::vector<int>   &scoreMat,
-            std::vector<Arrow> &pathMat,
-            T_Alignment   &alignment,
-            T_ScoreFn     &scoreFn,
-            T_Index  &index,
-            int minExtendNBases=1, // Require that there
-            // are more than one
-            // base to align.
-            int maxNDrops=2 // A drop is a row where
-            // the alignment is
-            // extended without
-            // increasing the alignment
-            // score.  maxnDrops is the
-            // maximum number of times
-            // that one may have before
-            // terminating the alignment
-            // 
-            ) {
-        //
-        // Try extending an alignment in the forward direction as long the
-        // maximum score that is extended is above a threshold above the
-        // initial score.  This dynamically grows the alignment matrices as
-        // the alignment is extended (or the limits of the alignment
-        // matrices since reusable buffers are used).   
-        // 
-
-        int nCols = 2 * k + 1 + 1;  // 2*k is for search space, +1 is for the
-        // middle band, and the last +1 is for the
-        // boundary conditions at the beginning of
-        // the array.
-
-        RCToIndex rcToIndex;
-        rcToIndex.band      = k;
-        rcToIndex.nCols     = nCols;
-        rcToIndex.middleCol = k+2-1;
-
-        if (index.queryAlignLength  < minExtendNBases or
-                index.refAlignLength < minExtendNBases) {
-            //
-            // One of the sequences isn't long enough to even try to extend,
-            // just bail with an empty alignment.
-            //
-            return 0;
-        }
-
-        //
-        // Preallocate arrays to be at least k long.  The full matrix may
-        // not be loaded.
-        //
-        int matSize = nCols * (k+1);
-        if (scoreMat.size() < nCols * (k+1)) {
-            scoreMat.resize(nCols * (k+1));
-            pathMat.resize(nCols * (k+1));
-        }
-
-        //
-        // Initialize boundary conditions.
-        //
-
-        int q, t;
-        // Initialize first column for insertions.
-        int firstIndex;
-        fill(scoreMat.begin(), scoreMat.begin() + matSize, 0);
-        fill(pathMat.begin(), pathMat.begin() + matSize, NoArrow);	
-        rcToIndex(0, 0, firstIndex);
-        scoreMat[firstIndex] = 0;
-        pathMat[firstIndex]  = NoArrow;
-
-        // Initialize insertion penalties.
-        t = 0;
-        int i;
-        int pi;
-        for (q = 1; q <= k and index.QNotAtSeqBoundary(q-1); q++) {
-            bool res = rcToIndex(q, t, i);
-            assert(res);
-            res = rcToIndex(q-1, t, pi);
-            int qSeqPos = index.QuerySeqPos(q-1);
-            scoreMat[i] = scoreMat[pi] + scoreFn.Insertion(querySeq, qSeqPos);
-            pathMat[i]  = Up;
-            //		cout << "initializing insertion gap penalty for " << q << " " << refPos-1 << " "  << i << " " << scoreMat[i] << endl;
-        }
-
-
-        // Initialize the first row for deletions.
-        q = 0;
-
-        for (t = 1; t <= k and index.TNotAtSeqBoundary(t-1); t++) {
-            bool res = rcToIndex(q, t, i);
-            assert(res);
-            int previ;
-            res = rcToIndex(q,t-1,previ);
-
-            int qSeqPos = index.QuerySeqPos(0);
-            scoreMat[i] = scoreMat[previ] + scoreFn.Deletion(querySeq, qSeqPos);
-            pathMat[i]  = Left;
-            //		cout << "initializing deletion gap penalty for " << ((int)queryPos)-1 << " " << t << " " << i << " " << scoreMat[i] << endl;
-        }
-        /*	PrintFlatMatrix(&scoreMat[0], k , nCols, cout);
-            cout << endl;
-            PrintFlatMatrix(&pathMat[0],  k, nCols, cout);
-            cout << endl;
-            */
-        int nDrops = 0;
-        int prevRowMinScore = INF_INT;
-        int globalMinScore = INF_INT;
-        int globalMinScoreQPos = 0;
-        int globalMinScoreTPos = 0;
-
-        int curIndex = -1;
-
-        int maxAlignLength = std::min(index.QAlignLength(), index.TAlignLength()) + maxNDrops;
-
-        for (q = 1; (index.QNotAtSeqBoundary(q-1) and 
-                    nDrops < maxNDrops and
-                    q < maxAlignLength);
-                q++ ) {
-
-            //
-            // Grow the path and score matrices by another row if this has
-            // extended beyond their current capacity.
-            //
-            if ((q+1) * nCols > scoreMat.size()) {
-                scoreMat.resize((q+1)*nCols);
-                pathMat.resize((q+1)*nCols);
-            }
-
-            //
-            // Now score the latest row.
-            //
-            int curRowMinScore = INF_INT;	
-            int diagLength = q;
-
-            int tStart = std::max((int) 1, ((int)diagLength) - k);
-            int tEnd   = std::min((int) (diagLength + k +1), index.TAlignLength() + 1 );
-            int qSeqPos, tSeqPos;
-            for (t = tStart; t < std::min(tEnd, maxAlignLength); t++) {
-                int insIndex, delIndex, matchIndex;
-
-                bool hasInsIndex = false, hasDelIndex = false, hasMatchIndex = false, hasCurIndex = false;
-
-                hasCurIndex   = rcToIndex(q, t, curIndex);
-                assert(hasCurIndex);
-
-                hasDelIndex   = rcToIndex(q, t - 1, delIndex);
-                hasInsIndex   = rcToIndex(q - 1, t, insIndex);
-                hasMatchIndex = rcToIndex(q-1, t-1, matchIndex);
-
-                int insScore, delScore, matchScore;
-                delScore   = INF_INT;
-                insScore   = INF_INT;
-                matchScore = INF_INT;
-                //			cout << "ins index: " << insIndex << " del: " << delIndex << " match index " << matchIndex << endl;
-                qSeqPos = index.QuerySeqPos(q-1); // The offset is to allow for the boundary buffer.
-                tSeqPos = index.RefSeqPos(t-1); // ditto.
-                /*			if (scoreMat[insIndex] == -1) {
-                            cout << "bleh" << endl;
-                            }
-                            if (scoreMat[matchIndex] == -1) {
-                            cout << "bleh" << endl;
-                            }
-                            if (scoreMat[delIndex] == -1) {
-                            cout << "bleh" << endl;
-                            }
-
-                            if (scoreFn.Insertion(refSeq, (DNALength) tSeqPos, querySeq, (DNALength) qSeqPos) == -1) {
-                            cout << "bleh" << endl;
-                            }
-                            if (scoreFn.Deletion(refSeq, (DNALength) tSeqPos, querySeq, (DNALength) qSeqPos) == -1) {
-                            cout << "ugh" << endl;
-                            }
-                            if ( scoreFn.Match(refSeq, (DNALength) tSeqPos, querySeq, (DNALength) qSeqPos) == -1) {
-                            cout <<" gah" << endl;
-                            }*/
-
-                if (hasInsIndex) {
-                    insScore   = scoreMat[insIndex] + scoreFn.Insertion(refSeq, (DNALength) tSeqPos, querySeq, (DNALength) qSeqPos);
-                }
-                if (hasDelIndex) {
-                    delScore   = scoreMat[delIndex] + scoreFn.Deletion(refSeq, (DNALength) tSeqPos, querySeq, (DNALength) qSeqPos);
-                }
-                if (hasMatchIndex) {
-                    matchScore = scoreMat[matchIndex] + scoreFn.Match(refSeq, (DNALength) tSeqPos, querySeq, (DNALength) qSeqPos);
-                }
-                /*			cout << "ins score: " << insScore << "[" << scoreMat[insIndex] << "] del score " << delScore 
-                            << " [" << scoreMat[delIndex] << "] match score " << matchScore 
-                            << " [" << scoreMat[matchIndex] << "] qchar " << (int) querySeq.seq[qSeqPos] << " tchar " << (int) refSeq.seq[tSeqPos] << endl;*/
-                int minScore = std::min(matchScore, delScore);
-                minScore = std::min(minScore, insScore);
-                scoreMat[curIndex] = minScore;
-                //			cout << "extend: " << qSeqPos << " " << tSeqPos << " " << minScore << endl;
-                if (minScore != INF_INT) {
-                    if (minScore == insScore)   { pathMat[curIndex] = Up; }
-                    if (minScore == delScore)   { pathMat[curIndex] = Left; }
-                    if (minScore == matchScore) { pathMat[curIndex] = Diagonal; }
-                }
-                else {
-                    pathMat[curIndex] = NoArrow;
-                }
-
-                assert(pathMat[curIndex] != NoArrow);
-                if (minScore < curRowMinScore) {
-                    curRowMinScore = minScore;
-                }
-                int nRows = q+1;
-                if (minScore < globalMinScore) {
-                    globalMinScore = minScore;
-                    globalMinScoreQPos  = q;
-                    globalMinScoreTPos  = t;
-                }
-
-            }
-
-            if (curRowMinScore > prevRowMinScore) {
-                nDrops++;
-            }
-            prevRowMinScore = curRowMinScore;
-        }
-
-        int nRows = q;
-
-        q = globalMinScoreQPos;
-        t = globalMinScoreTPos;
-        std::vector<Arrow>  optAlignment;
-
-        rcToIndex(q,t,i);
-        //
-        // When the optimal score is on a cell with NoArrow, there is no
-        // good alignment.  Only try and trace an alignment out if the path
-        // starts on a good alignment.
-        //
-        if (pathMat[i] != NoArrow) {
-            while(q > 0 or t > 0) {
-                int res;
-                res = rcToIndex(q, t, i);
-                assert(res != 0);
-                Arrow arrow = pathMat[i];
-
-                optAlignment.push_back(pathMat[i]);
-                if (pathMat[i] == NoArrow) {
-                    assert(pathMat[i] != NoArrow);
-                }
-                if (arrow == Diagonal) {
-                    q--;
-                    t--;
-                }
-                else if (arrow == Left) {
-                    t--;
-                }
-                else if (arrow == Up) {
-                    q--;
-                }
-            }
-        }
-
-        index.OrderArrowVector(optAlignment);
-        alignment.ArrowPathToAlignment(optAlignment);
-        alignment.qPos = index.GetQueryStartPos(q, globalMinScoreQPos);
-        alignment.tPos = index.GetRefStartPos(t, globalMinScoreTPos);
-
-        return globalMinScore;
-    }
-
-template<typename T_Alignment, typename T_ScoreFn, typename T_QuerySeq, typename T_RefSeq>
-int ExtendAlignmentForward(T_QuerySeq &querySeq, int queryPos, 
-        T_RefSeq   &refSeq,   int refPos,
-        int k,
-        std::vector<int>   &scoreMat,
-        std::vector<Arrow> &pathMat,
-        T_Alignment   &alignment,
-        T_ScoreFn     &scoreFn,
-        int minExtendNBases=1, // Require that there
-        // are more than one
-        // base to align.
-        int maxNDrops=2 // A drop is a row where
-        // the alignment is
-        // extended without
-        // increasing the alignment
-        // score.  maxnDrops is the
-        // maximum number of times
-        // that one may have before
-        // terminating the alignment
-        // 
-        ) {
-
-    ForwardIndex forwardIndex;
-    forwardIndex.queryPos = queryPos;
-    forwardIndex.refPos   = refPos;
-    //
-    // The alignment does not include queryPos nor refPos.
-    //
-    forwardIndex.queryAlignLength = querySeq.length - queryPos;
-    forwardIndex.refAlignLength   = refSeq.length - refPos;
-    int alignScore;
-    alignScore= ExtendAlignment(querySeq, queryPos, 
-            refSeq, refPos, 
-            k, 
-            scoreMat, pathMat, 
-            alignment, scoreFn, forwardIndex, minExtendNBases, maxNDrops);
-    alignment.qPos = queryPos;
-    alignment.tPos = refPos;
-    return alignScore;
-}
-
-template<typename T_Alignment, typename T_ScoreFn, typename T_QuerySeq, typename T_RefSeq>
-int ExtendAlignmentReverse(T_QuerySeq &querySeq, int queryPos, 
-        T_RefSeq   &refSeq,   int refPos,
-        int k,
-        std::vector<int>   &scoreMat,
-        std::vector<Arrow> &pathMat,
-        T_Alignment   &alignment,
-        T_ScoreFn     &scoreFn,
-        int minExtendNBases=1, // Require that there
-        // are more than one
-        // base to align.
-        int maxNDrops=2 // A drop is a row where
-        // the alignment is
-        // extended without
-        // increasing the alignment
-        // score.  maxnDrops is the
-        // maximum number of times
-        // that one may have before
-        // terminating the alignment
-        // 
-        ) {
-
-    ReverseIndex reverseIndex;
-    reverseIndex.queryPos = queryPos-1;
-    reverseIndex.refPos   = refPos-1;
-    reverseIndex.queryAlignLength = queryPos;
-    reverseIndex.refAlignLength   = refPos;
-    int alignScore;
-    alignScore = ExtendAlignment(querySeq, queryPos, 
-            refSeq, refPos, 
-            k, 
-            scoreMat, pathMat, 
-            alignment, scoreFn, reverseIndex, minExtendNBases, maxNDrops);
-
-    return alignScore;
-
-}
-
-#endif // _BLASR_EXTEND_ALIGN_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/FullQVAlign.hpp b/libcpp/alignment/algorithms/alignment/FullQVAlign.hpp
deleted file mode 100644
index a49395c..0000000
--- a/libcpp/alignment/algorithms/alignment/FullQVAlign.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-#ifndef _BLASR_FULL_QV_ALIGN_HPP_
-#define _BLASR_FULL_QV_ALIGN_HPP_
-
-#include "matrix/Matrix.hpp"
-#include "FASTQSequence.hpp"
-#include "FASTASequence.hpp"
-
-template<typename T_Query, typename T_Reference>
-double FullQVAlign(T_Query       &query,
-        T_Reference   &target,
-        Matrix<double> &alignProb) {
-
-    alignProb.Resize(query.length + 1, target.length + 1);
-    alignProb.Initialize(0);
-
-    DNALength q, t;
-
-    if (query.length == 0 or target.length == 0) { return 0; }
-
-    // Initialize boundaries of ins/del/match probability matrices.
-    q = 0;
-    VectorIndex numCols = target.length + 1;
-    VectorIndex numRows = query.length + 1;
-    alignProb[0][0] = 1;
-    for (t = 1; t < numCols; t++ ) {
-        // cannot match to a gap
-        alignProb[0][t] = log(target.GetInsertionQV(t-1)) + alignProb[0][t-1];
-    }	
-
-    for (q = 1; q < numRows; q++) {
-        alignProb[q][0] = log(query.GetInsertionQV(q-1))  + alignProb[q-1][0];
-    }
-
-    // Now compute probability of alignment with the Forward algorithm.
-    for (q = 1; q < numRows; q++) {
-        for (t = 1; t < numCols; t++) {
-            // First compute p_ins[q,t] as transitions from match matrix
-
-            double logMatchedPulseProb  = 0;
-            double logInsertedPulseProb = 0;
-            double logDeletedPulseProb  = 0;
-
-
-            //
-            // Use inefficient coding for now.
-            //
-
-            // Compute match, the bases are either the same, in which case
-            // this is simply the product of the probabilities of the two
-            // matches.  Otherwise, either one of the pulses may be correct,
-            // and the probability is the union of the two cases.
-            // 
-
-            double matchedPulseProb;
-
-            if (query.seq[q-1] == target.seq[t-1]) {
-                matchedPulseProb = (1-query.GetSubstitutionQV(q-1)) * (1-target.GetSubstitutionQV(t-1));
-            }
-            else {
-                matchedPulseProb = (query.GetSubstitutionQV(q-1)/3.0)*(1-target.GetSubstitutionQV(t-1)) +
-                    ((1-query.GetSubstitutionQV(q-1)))*(target.GetSubstitutionQV(t-1)/3.0);
-            }
-
-            matchedPulseProb = exp(alignProb[q-1][t-1])*matchedPulseProb;
-            // 
-            // An insertion in the query can be either a normal extra base
-            // in the query, or a deletion in the reference.
-            //
-            //			logInsertedPulseProb = uery.GetInsertionQV(q-1)) + alignProb[q-1][t];
-
-            double insertedPulseProb = 0;
-            if (target.GetDeletionTag(t-1) != 'N') {
-                //
-                // The target has a pulse that was not strong enough to call a
-                // real incorporation.  For now assume that the weak pulse is
-                // the previous nucleotide in the query.  So the likelihood of
-                // the weak pulse is influenced by the likelihood of the
-                // previous nucleotide in the query. 
-                //
-                // Also, we only consider the previous base to be a missed
-                // weak pulse if the current base is a match. 
-                //
-
-                if (q > 1) {
-                    insertedPulseProb = 
-                        (target.GetPreBaseDeletionQV(t-1, query.seq[q-2]) *target.GetDeletionQV(t-1)
-                         + query.GetInsertionQV(q-1)) 
-                        * exp(alignProb[q-1][t]);
-                }
-                else {
-                    //
-                    // There can be no pre-base deletion tag here (could probably be an assert statement).
-                    //
-                    insertedPulseProb = query.GetInsertionQV(q-1)  * exp(alignProb[q-1][t]);
-                }
-            }
-            else {
-                insertedPulseProb = (query.GetInsertionQV(q-1) + target.GetDeletionQV(t-1))*exp(alignProb[q-1][t]);
-            }
-
-            //
-            // An insertion in the target may be either a normal extra base
-            // in the target, or a deletion in the query.
-            //			logDeletedPulseProb = target.GetInsertionQV(t-1)) + alignProb[q][t-1];
-            double deletedPulseProb = 0;
-            if (query.GetDeletionTag(q-1) != 'N') {
-                if (t > 1) {
-                    deletedPulseProb = (query.GetPreBaseDeletionQV(q-1, target.seq[t-2]) * query.GetDeletionQV(q-1) 
-                            + target.GetInsertionQV(t-1))*exp(alignProb[q][t-1]);
-                }
-                else {
-                    // There was a dropped pulse before this position, but nothing to align it to.  
-                    deletedPulseProb = target.GetInsertionQV(t-1) * exp(alignProb[q][t-1]);
-                }
-            }
-            else {
-                deletedPulseProb =  (target.GetInsertionQV(t-1) + query.GetDeletionQV(q-1)) *exp(alignProb[q][t-1]);
-            }
-
-            // Determine the total probability of reaching this position.
-            /*			cout << "align prob " << q << " " << t << " " <<  logMatchedPulseProb << " " 
-                        <<  logInsertedPulseProb << " " <<  logDeletedPulseProb << endl;*/
-            alignProb[q][t] = log(matchedPulseProb + insertedPulseProb + deletedPulseProb);
-        }
-    }
-    double fullAlignProb = alignProb[numRows-1][numCols-1];
-    alignProb.Free();
-    return fullAlignProb;
-}
-
-
-#endif // _BLASR_FULL_QV_ALIGN_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/GraphPaper.hpp b/libcpp/alignment/algorithms/alignment/GraphPaper.hpp
deleted file mode 100644
index ddd1a4e..0000000
--- a/libcpp/alignment/algorithms/alignment/GraphPaper.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef GRAPH_PAPER_HPP_
-#define GRAPH_PAPER_HPP_
-
-#include "datastructures/alignment/Path.h"
-#include "matrix/FlatMatrix.hpp"
-
-template<typename T_Point>
-bool SetBounds(vector<T_Point> &points, 
-               DNALength &minPos, 
-               DNALength &maxPos, 
-               int axis);
-
-inline int GetIndex(DNALength pos, 
-                    DNALength minPos, 
-                    DNALength maxPos, 
-                    int nBins);
-
-template<typename T_Point>
-int GraphPaper(vector<T_Point> &points, 
-               int nRows, int nCols,
-               FlatMatrix2D<int> &bins,
-               FlatMatrix2D<int> &scoreMat,
-               FlatMatrix2D<Arrow> &pathMat,
-               vector<bool> &onOptPath);
-
-template<typename T_Point>
-void RemoveOffOpt(vector<T_Point> &points, vector<bool> &optPath);
-
-#include "GraphPaperImpl.hpp"
-
-#endif
diff --git a/libcpp/alignment/algorithms/alignment/GraphPaperImpl.hpp b/libcpp/alignment/algorithms/alignment/GraphPaperImpl.hpp
deleted file mode 100644
index c57d5a8..0000000
--- a/libcpp/alignment/algorithms/alignment/GraphPaperImpl.hpp
+++ /dev/null
@@ -1,175 +0,0 @@
-#ifndef GRAPH_PAPER_IMPL_HPP_
-#define GRAPH_PAPER_IMPL_HPP_
-
-template<typename T_Point>
-bool SetBounds(vector<T_Point> &points, DNALength &minPos, DNALength &maxPos, int axis) {
-  int i;
-  DNALength maxRow = 0;
-  if (points.size() == 0) {
-    return false;
-  }
-  else {
-    if (axis == 0) {
-      minPos = maxPos = points[0].GetX();
-    }
-    else {
-      minPos = maxPos = points[0].GetY();
-    }
-  }
-  for (i = 1; i < points.size(); i++) {
-    DNALength curPos;
-    if (axis == 0) {
-      curPos = points[i].GetX();
-    }
-    else {
-      curPos = points[i].GetY();
-    }
-    if (curPos < minPos) {
-      minPos = curPos;
-    }
-    else if (curPos > maxPos) {
-      maxPos = curPos;
-    }
-  }
-}
-
-
-inline int GetIndex(DNALength pos, DNALength minPos, DNALength maxPos, int nBins) {
-  assert(maxPos != minPos);
-  float diff = pos - minPos;
-  float len  = maxPos - minPos;
-  float ratio = diff/len;
-  return   min((DNALength)(nBins-1), 
-               ((DNALength)(ratio * nBins)));
-}
-
-template<typename T_Point>
-int GraphPaper(vector<T_Point> &points, 
-               int nRows, int nCols,
-               FlatMatrix2D<int> &bins,
-               FlatMatrix2D<int> &scoreMat,
-               FlatMatrix2D<Arrow> &pathMat,
-               vector<bool> &onOptPath) {
-
-  bins.Resize(nRows, nCols);
-	bins.Fill(0);
-  scoreMat.Resize(nRows+1, nCols+1);
-  pathMat.Resize(nRows+1, nCols+1);
-  scoreMat.Fill(0);
-  pathMat.Fill(NoArrow);
-  onOptPath.resize(points.size());
-  fill(onOptPath.begin(), onOptPath.end(), false);
-
-  DNALength xMin, xMax, yMin, yMax;
-  SetBounds(points, xMin, xMax, 0); 
-  xMax++; // make half-open interval.
-  SetBounds(points, yMin, yMax, 1); 
-  yMax++; // ditto.
-  
-  //
-  // First set up the grid to optimize over.
-  //
-  int i;
-  for (i = 0; i < points.size(); i++) {
-    int rowIndex = GetIndex(points[i].GetX(), xMin, xMax, nRows);
-    int colIndex = GetIndex(points[i].GetY(), yMin, yMax, nCols);
-    bins[rowIndex][colIndex]+= points[i].length;
-  }
-	
-  //
-  // Now optimize using DP.
-  //
-
-  // First handle boundary strips
-  int r, c;
-  for (r = 1; r < nRows+1; r++) {
-    scoreMat[r][0] = 0;
-    pathMat[r][0]  = Up;
-  }
-  for (c = 1; c < nCols+1; c++) {
-    scoreMat[0][c] = 0;
-    pathMat[0][c]  = Left;
-  }
-  scoreMat[0][0] = 0;
-  for (r = 1; r < nRows + 1; r++) {
-    for (c = 1; c < nCols + 1; c++) {
-      int diagScore, leftScore, upScore;
-      diagScore = scoreMat[r-1][c-1];
-      leftScore = scoreMat[r][c-1];
-      upScore   = scoreMat[r-1][c];
-      
-      int optScore;
-      Arrow optDir;
-      if (diagScore >= leftScore and
-          diagScore >= upScore) {
-        optScore = diagScore;
-        optDir   = Diagonal;
-      }
-      else if (leftScore >= diagScore and 
-               leftScore >= upScore) {
-        optScore = leftScore;
-        optDir   = Left;
-      }
-      else {
-        optScore = upScore;
-        optDir   = Up;
-      }
-      
-      scoreMat[r][c] = optScore + bins[r-1][c-1];
-      pathMat[r][c]   = optDir;
-    }
-  }
-
-  r = nRows; c = nCols;
-  while (r > 0 or c > 0) {
-    Arrow dir = pathMat[r][c];
-    pathMat[r][c] = Star;
-    if (dir == Diagonal) { r--; c--; }
-    else if (dir == Left) { c--; }
-    else if (dir == Up) { r--; }
-    if (r == 0 and c == 0) { break; }
-  }
-
-  //
-  // Now mark inclusion/exclusion from matrix.
-  //
-  int nOpt = 0;
-  for (i = 0; i < points.size(); i++) {
-    int rowIndex = GetIndex(points[i].GetX(), xMin, xMax, nRows);
-    int colIndex = GetIndex(points[i].GetY(), yMin, yMax, nCols);
-    if (pathMat[rowIndex+1][colIndex+1] == Star) {
-      onOptPath[i] = true;
-    }
-    else if (pathMat[rowIndex][colIndex+1] == Star) {
-      onOptPath[i] = true;
-    }
-    else if (rowIndex + 2 < nRows and pathMat[rowIndex+2][colIndex+1] == Star) {
-      onOptPath[i] = true;
-    }
-    else if (pathMat[rowIndex+1][colIndex] == Star) {
-      onOptPath[i] = true;
-    }
-    else if (colIndex < nCols + 2  and pathMat[rowIndex+1][colIndex+2] == Star) {
-      onOptPath[i] = true;
-    }
-    if (onOptPath[i]) {
-      ++nOpt;
-    }
-  }
-  return nOpt;
-}
-
-
-template<typename T_Point>
-void RemoveOffOpt(vector<T_Point> &points, vector<bool> &optPath) {
-  int i, c;
-  for (i = 0, c = 0; i < points.size(); i++) {
-    if (optPath[i]) {
-      points[c] = points[i];
-      c++;
-    }
-  }
-  points.resize(c);
-}
-
-#endif
diff --git a/libcpp/alignment/algorithms/alignment/GuidedAlign.cpp b/libcpp/alignment/algorithms/alignment/GuidedAlign.cpp
deleted file mode 100644
index 2904720..0000000
--- a/libcpp/alignment/algorithms/alignment/GuidedAlign.cpp
+++ /dev/null
@@ -1,226 +0,0 @@
-#include "GuidedAlign.hpp"
-
-int GuideRow::GetRowLength() {
-    return tPost + tPre + 1;
-}
-		
-int GetBufferIndexFunctor::operator()(Guide &guide, int seqRow, int seqCol, int &index) {
-    //
-    // Whenever a previous index was found, just use the one in the array to the right
-    //
-    int prevIndex = -1;
-    if (index != -1) {
-        index++;
-        return 1;
-    }
-
-    int row, col;
-    row = seqRow + 1 - seqRowOffset;
-    col = seqCol; // use the variable here for standardized naming.
-    if (row < 0 or row > guideSize ) {
-        return 0;
-    }
-    if (col <= guide[row].t and guide[row].t - col <= guide[row].tPre) {
-        index = guide[row].matrixOffset - (guide[row].t - col);
-        assert(prevIndex == -1 or prevIndex == index);
-        return 1;
-    }
-    else if (col > guide[row].t and col - guide[row].t  <= guide[row].tPost) {
-        index = guide[row].matrixOffset + (col - guide[row].t);
-        assert(prevIndex == -1 or prevIndex == index);
-        return 1;
-    }
-    return 0;
-}
-
-int ComputeMatrixNElem(Guide &guide) {
-    int totalSize = 0;
-    int r;
-    for (r = 0; r < guide.size(); r++) {
-        totalSize += guide[r].GetRowLength();
-        //    cout << r << " " << totalSize << endl;
-        assert(guide[r].GetRowLength() >= 0);
-    }
-    return totalSize;
-}
-
-void StoreMatrixOffsets(Guide &guide) {
-    int curMatrixSize = 0;
-    int r;
-    for (r = 0; r < guide.size(); r++) {
-        guide[r].matrixOffset = guide[r].tPre + curMatrixSize;
-        curMatrixSize += guide[r].GetRowLength();
-    }
-}
-
-float QVToLogPScale(char qv) {
-    return qv/-10.0;
-}
-
-void QVToLogPScale(QualityValueVector<QualityValue> &qualVect, int phredVectLength, std::vector<float> &lnVect) {
-    if (phredVectLength > lnVect.size()) {
-        lnVect.resize(phredVectLength);
-    }
-    int i;
-    for (i = 0; i < phredVectLength; i++) {
-        lnVect[i] = qualVect[i]/-10.0; //log(qualVect.ToProbability(i));
-    }
-}
-
-
-int AlignmentToGuide(Alignment &alignment, Guide &guide, int bandSize)  {
-	guide.clear();
-	if (alignment.size() == 0) {
-		// no blocks to make guide, exit.
-		return 0;
-	}
-	
-	int tStart, tEnd, qStart, qEnd;
-	int firstBlock   = 0;
-	int lastBlock    = alignment.size() - 1;
-	
-	tStart = alignment.blocks[firstBlock].tPos;
-	tEnd   = alignment.blocks[lastBlock].TEnd();
-	qStart = alignment.blocks[firstBlock].qPos;
-	qEnd   = alignment.blocks[lastBlock].QEnd();
-
-	int qAlignLength = qEnd - qStart; 
-	
-	// Add one extra block for boundary conditions.
-	guide.resize(qAlignLength+1);
-
-	// Initilize the first (boundary condition) row.
-	guide[0].t     = tStart - 1;
-	guide[0].q     = qStart - 1;
-	int drift = abs(tStart - qStart);	
-	if (drift > bandSize) {
-		guide[0].tPost = drift;
-	}
-	else {
-		guide[0].tPost = bandSize;
-	}
-	guide[0].tPre  = 0;
-
-	// The first row of the guide matches 
-	int q = 0;
-	int t = 0;
-	int guideIndex = 1;
-	int b;
-
-	for (b = 0; b < alignment.blocks.size(); b++) {
-		//
-		// First add the match stored in block b, each block is a
-		// diagonal, so that makes life easy.  
-		//
-		int bp;
-
-		for (bp = 0; bp < alignment.blocks[b].length; bp++) {
-			guide[guideIndex].t     = alignment.blocks[b].tPos + bp;
-			guide[guideIndex].q     = alignment.blocks[b].qPos + bp;
-			// 
-			// This complicated logic is to determine how far back the band
-			// should stretch.  The problem is that if the band stretches
-			// back further than the previous row, it's possible for the
-			// path matrix to go backwards into cells that should not be
-			// touched.  
-			//
-			int tDiff = guide[guideIndex].t - guide[guideIndex-1].t;
-			if (bp == 0) {
-				guide[guideIndex].tPre  = guide[guideIndex].t - 
-					(guide[guideIndex-1].t - guide[guideIndex-1].tPre); 
-				guide[guideIndex].tPost = bandSize + abs(drift);
-			}
-			else {
-				//
-				// Within aligned blocks, align around the band size.
-				//
-				int fullLengthTPre = (guide[guideIndex].t - 
-									  (guide[guideIndex-1].t - 
-									   guide[guideIndex-1].tPre));
-				guide[guideIndex].tPre  = min(bandSize, fullLengthTPre);
-				guide[guideIndex].tPost = min(MAX_BAND_SIZE, bandSize);
-                //if (guide[guideIndex].tPre > 500 or guide[guideIndex].tPost > 500) {
-                //cout << guideIndex << " " << guide[guideIndex].tPre << " " << guide[guideIndex].tPost << endl;
-                //}
-                //assert(guide[guideIndex].tPre >= 0);
-                //assert(guide[guideIndex].tPost >= 0);
-			}
-			guideIndex++;
-		}
-
-		//
-		// Now, widen k around regions where there is drift from the diagonal.
-		//
-
-
-		int diagonalLength;
-		int qGap, tGap;
-
-		if (b < alignment.blocks.size()-1) {
-			qGap = alignment.blocks[b+1].qPos - alignment.blocks[b].QEnd();
-			tGap = alignment.blocks[b+1].tPos - alignment.blocks[b].TEnd();
-			// 
-			// Drift is how far from the diagonal the next block starts at.
-			//
-			drift           = ComputeDrift(alignment.blocks[b], alignment.blocks[b+1]);
-            //drift = min(drift, 100);
-			diagonalLength  = std::min(qGap, tGap);
-			
-			int diagPos;
-			int qPos, tPos;
-			int qEnd, tEnd;
-			
-			qPos = alignment.blocks[b].QEnd();
-			tPos = alignment.blocks[b].TEnd();
-
-			qEnd = alignment.blocks[b+1].qPos;
-			tEnd = alignment.blocks[b+1].tPos;
-
-			for (diagPos = 0; diagPos < diagonalLength; diagPos++, tPos++, qPos++) {
-				guide[guideIndex].t     = tPos;
-				guide[guideIndex].q     = qPos;
-				guide[guideIndex].tPre  = min(MAX_BAND_SIZE, (guide[guideIndex].t - 
-                                   (guide[guideIndex-1].t - guide[guideIndex-1].tPre)));
-				guide[guideIndex].tPost = min(MAX_BAND_SIZE, bandSize + abs(drift));
-/*        if (guide[guideIndex].tPre > 500 or guide[guideIndex].tPost > 500) {
-          cout << guideIndex << " " << guide[guideIndex].tPre << " " << guide[guideIndex].tPost << endl;
-        } */
-				++guideIndex;
-			}
-			
-			//
-			// If the query gap is shorter than target (there is a deletion
-			// of the target),  the guide must be extended down the side of
-			// the gap.  See the figure below.
-			//
-			//  *****
-			//  **  
-			//  * *
-			//  *  *
-			//  *   * // extend down from here.
-		//  *   *
-			//  *   * 
-			//
-
-			while (qPos < qEnd) {
-				guide[guideIndex].t = tPos;
-				guide[guideIndex].q = qPos;
-				// move q down.
-				qPos++;
-				// keep tPos fixed, the guide is straight down here.
-				guide[guideIndex].tPre = min(MAX_BAND_SIZE, guide[guideIndex].t - 
-					(guide[guideIndex-1].t - guide[guideIndex-1].tPre)); //bandSize + abs(drift);
-
-				guide[guideIndex].tPost = min(MAX_BAND_SIZE, bandSize + abs(drift));
-				guideIndex++;
-			}
-		}
-	}
-  //int i;
-  //for (i = 0; i < guide.size(); i++) {
-  //  guide[i].tPre = min(guide[i].tPre, 200);
-  //  guide[i].tPost = min(guide[i].tPost, 200);
-  // }
-  return 1; // signal ok.
-
-}
diff --git a/libcpp/alignment/algorithms/alignment/GuidedAlign.hpp b/libcpp/alignment/algorithms/alignment/GuidedAlign.hpp
deleted file mode 100644
index 3296a21..0000000
--- a/libcpp/alignment/algorithms/alignment/GuidedAlign.hpp
+++ /dev/null
@@ -1,600 +0,0 @@
-#ifndef _BLASR_GUIDE_ALIGNMENT_HPP_
-#define _BLASR_GUIDE_ALIGNMENT_HPP_
-
-#include <vector>
-#include <cmath>
-#include <limits.h>
-#include <ostream>
-#include "Types.h"
-#include "defs.h"
-#include "NucConversion.hpp"
-#include "DNASequence.hpp"
-#include "sdp/SDPFragment.hpp"
-#include "matrix/FlatMatrix.hpp"
-#include "datastructures/alignment/Alignment.hpp"
-#include "datastructures/anchoring/MatchPos.hpp"
-#include "matrix/Matrix.hpp"
-#include "tuples/TupleList.hpp"
-#include "tuples/TupleMetrics.hpp"
-#include "tuples/DNATuple.hpp"
-#include "utils/LogUtils.hpp"
-#include "utils/PhredUtils.hpp"
-#include "qvs/QualityValue.hpp"
-#include "qvs/QualityValueVector.hpp"
-#include "AlignmentUtils.hpp"
-#include "DistanceMatrixScoreFunction.hpp"
-#include "algorithms/alignment/SDPAlign.hpp"
-
-#define LOWEST_LOG_VALUE  -700
-
-#define MAX_BAND_SIZE 250
-
-class GuideRow {
-public:
-    int q, t;
-    int tPre, tPost;
-    unsigned int matrixOffset; // Where the center (q) is in the score
-    // and path matrices.
-    int GetRowLength(); 
-};
-
-typedef std::vector<GuideRow> Guide;
-
-class GetBufferIndexFunctor {
-// row + rowSeqOffset - 1 == seqRow
-// so, rowInSeq = -1, rowSeqOffset = 0 -> row = 0
-public:
-    int seqRowOffset;
-    int guideSize;
-    int operator()(Guide &guide, int seqRow, int seqCol, int &index); 
-};
-
-int ComputeMatrixNElem(Guide &guide);
-
-void StoreMatrixOffsets(Guide &guide); 
-
-float QVToLogPScale(char qv);
-
-void QVToLogPScale(QualityValueVector<QualityValue> &qualVect, int phredVectLength, std::vector<float> &lnVect); 
-
-int AlignmentToGuide(blasr::Alignment &alignment, Guide &guide, int bandSize); 
-
-template<typename QSequence, typename TSequence, typename T_ScoreFn>
-int GuidedAlign(QSequence &origQSeq, TSequence &origTSeq,  blasr::Alignment &guideAlignment,
-        T_ScoreFn &scoreFn,
-        int bandSize,
-        blasr::Alignment &alignment,
-        std::vector<int>    &scoreMat,
-        std::vector<Arrow>  &pathMat,
-        std::vector<double> &probMat,
-        std::vector<double> &optPathProbMat,
-        std::vector<float>  &lnSubPValueVect,
-        std::vector<float>  &lnInsPValueVect,
-        std::vector<float>  &lnDelPValueVect,
-        std::vector<float>  &lnMatchPValueVect,
-        AlignmentType alignType=Global, 
-        bool computeProb=false) {
-
-    Guide guide;
-    AlignmentToGuide(guideAlignment, guide, bandSize);
-    StoreMatrixOffsets(guide);
-    ComputeMatrixNElem(guide);
-
-    //
-    // Make a copy of the sequences that is guaranteed to be in 3-bit format for faster alignment.
-    // (mabybe eventually reuse the qseq and tseq memory)
-    //
-    QSequence qSeq;
-    TSequence tSeq;
-    qSeq.Assign(origQSeq);
-    tSeq.Assign(origTSeq);
-
-    unsigned int matrixNElem = ComputeMatrixNElem(guide);
-    assert(matrixNElem >= 0);
-    StoreMatrixOffsets(guide);
-
-    /*
-     * The following code is useful to produce images of the dp-matrix.
-     * Make sure the sequenences are less than 5kb each though.
-
-     Matrix<float> probMatrix;
-     probMatrix.Resize(qSeq.length, tSeq.length);
-     probMatrix.Initialize(0);
-     ofstream matrixOut;
-     stringstream matrixOutNameStrm;
-     matrixOutNameStrm << "probMatrix_"<< runIndex << ".dat";
-     matrixOut.open(matrixOutNameStrm.str().c_str());
-     */
-
-    if (computeProb) { 
-        //
-        // Convert phred scale to proper ln for faster manipulation later on.
-        //
-        QVToLogPScale(qSeq.substitutionQV, qSeq.length, lnSubPValueVect);
-        QVToLogPScale(qSeq.insertionQV,    qSeq.length, lnInsPValueVect);
-        QVToLogPScale(qSeq.deletionQV,     qSeq.length, lnDelPValueVect);
-        if (lnMatchPValueVect.size() < qSeq.length) {
-            lnMatchPValueVect.resize(qSeq.length);
-        }
-        //
-        // Normalize probability vectors so that the probability of transition from each cell is 1.
-        //
-        unsigned int i;
-        for (i = 0; i < qSeq.length; i++) {
-            float subSum  = LogSumOfTwo(lnSubPValueVect[i], QVToLogPScale(scoreFn.substitutionPrior)); // prior on substitution rate
-            float denominator = LogSumOfThree(lnDelPValueVect[i], lnInsPValueVect[i], subSum);
-            lnDelPValueVect[i] = lnDelPValueVect[i] - denominator;
-            lnSubPValueVect[i]   = lnSubPValueVect[i] - denominator;
-            lnInsPValueVect[i]   = lnInsPValueVect[i] - denominator;
-            lnMatchPValueVect[i] = subSum - denominator;
-        }
-
-    }
-
-
-
-    // 
-    // Make sure the alignments can fit in the reused buffers.
-    //
-
-    if (scoreMat.size() < matrixNElem) {
-        scoreMat.resize(matrixNElem);
-        pathMat.resize(matrixNElem);
-        fill(scoreMat.begin(), scoreMat.end(), 0);
-        fill(pathMat.begin(), pathMat.end(), NoArrow);
-    }
-    if (computeProb) {
-        if (probMat.size() < matrixNElem) {
-            probMat.resize(matrixNElem);
-            optPathProbMat.resize(matrixNElem);
-        }
-    }
-
-    // 
-    // Initialze matrices.  Only initialize up to matrixNElem rather
-    // than matrix.size() because the matrix.size() unnecessary space
-    // may be allocated.
-    //
-
-    std::fill(scoreMat.begin(), scoreMat.begin() + matrixNElem, 0);
-    std::fill(pathMat.begin(), pathMat.begin() + matrixNElem, NoArrow);
-    if (computeProb) {
-        std::fill(probMat.begin(), probMat.begin() + matrixNElem, 0);	
-        std::fill(optPathProbMat.begin(), optPathProbMat.begin() + matrixNElem, 0);
-    }
-    //
-    // Initialize boundary conditions.
-    //
-    int q, t;
-    int bufferIndex;
-    // start alignemnt at the beginning of the guide, and align to the
-    // end of the guide.
-    if (guide.size() == 0) {
-        qSeq.Free();
-        tSeq.Free();
-        return 0;
-    }
-    int qStart = guide[1].q;
-    int tStart = guide[1].t;
-    int qEnd   = guide[guide.size()-1].q+1;
-    int tEnd   = guide[guide.size()-1].t+1;
-
-    GetBufferIndexFunctor GetBufferIndex;
-    GetBufferIndex.seqRowOffset = qStart;
-    GetBufferIndex.guideSize    = guide.size();
-    int indicesAreValid, delIndexIsValid, insIndexIsValid;
-    bufferIndex = -1;
-    indicesAreValid = GetBufferIndex(guide, qStart-1, tStart-1, bufferIndex);
-    assert(indicesAreValid);
-    scoreMat[bufferIndex] = 0;
-    pathMat[bufferIndex]  = NoArrow;
-    int matchIndex, insIndex, delIndex, curIndex;
-
-    //
-    // Initialize deletion row.
-    //
-    if (computeProb) {
-        probMat[0] = optPathProbMat[0] = 0;
-    }
-    for (t = tStart; t < tStart + guide[0].tPost; t++) {
-        curIndex=-1;
-        indicesAreValid = GetBufferIndex(guide, qStart-1, t, curIndex);
-        if (indicesAreValid == 0 ) {
-            std::cout << "QSeq" << std::endl;
-            (static_cast<DNASequence*>(&origQSeq))->PrintSeq(std::cout);
-            std::cout << "TSeq" << std::endl;
-            (static_cast<DNASequence*>(&origTSeq))->PrintSeq(std::cout);
-            assert(0);
-        }
-        delIndex = -1;
-        delIndexIsValid = GetBufferIndex(guide, qStart-1, t-1, delIndex);
-
-        if (delIndexIsValid) {
-            if (alignType == Global) {
-                scoreMat[curIndex] = scoreMat[delIndex] + scoreFn.del;
-            }
-            else if (alignType == Local) {
-                scoreMat[curIndex] = 0;
-            }
-            pathMat[curIndex] = Left;
-            if (computeProb) {
-                if (qSeq.qual.Empty() == false) {
-                    optPathProbMat[curIndex] = probMat[curIndex] = probMat[delIndex] + QVToLogPScale(scoreFn.globalDeletionPrior);
-                }
-            }
-        }
-    }
-
-    // 
-    // Initialize stripe along the top of the grid.
-    //
-    for (q = qStart ; q < qStart + bandSize and q < qEnd; q++) {
-        insIndex = -1;
-        insIndexIsValid = GetBufferIndex(guide, q-1, tStart-1, // diagonal from t-start
-                insIndex);
-        curIndex = -1;
-        indicesAreValid = GetBufferIndex(guide, q, tStart-1, curIndex);
-
-        if (insIndexIsValid and indicesAreValid) {
-            assert(insIndex >= 0);
-            assert(curIndex >= 0);
-            if (alignType == Global) {
-                scoreMat[curIndex] = scoreMat[insIndex] + scoreFn.ins;
-            }
-            else {
-                scoreMat[curIndex] = 0;
-            }
-            pathMat[curIndex] = Up;
-            if (computeProb) {
-                if (qSeq.qual.Empty() == false) {
-                    optPathProbMat[curIndex] = probMat[curIndex] = probMat[insIndex] + QVToLogPScale(scoreFn.Insertion(tSeq,(DNALength) 0, qSeq, (DNALength)q));
-                }
-            }
-        }
-    }
-
-    int matchScore, insScore, delScore;
-
-    for (q = qStart; q < qEnd; q++) {
-        int qi = q - qStart + 1;
-        int tp = guide[qi].t;
-        curIndex = matchIndex = insIndex = delIndex = -1;
-
-        //
-        // Do some work that will help define when matchIndex and insIndex
-        // may be used.  Once delIndex is computed once, it is valid for
-        // all t positions.
-        //
-        int prevRowTEnd = -1;
-        if ( qi > 0) { 
-            //
-            // Define the boundaries of the column which may access previously
-            // computed cells with a match.
-            //
-            prevRowTEnd = guide[qi-1].t + guide[qi-1].tPost;
-        }    
-
-        for (t = tp - guide[qi].tPre ; t < guide[qi].t + guide[qi].tPost +1; t++) {
-
-
-            if (q < qStart + bandSize and t == tp - guide[qi].tPre - 1) {
-                // On the boundary condition, don't access the 1st element;
-                t++;
-                continue;
-            }
-            // Make sure the index is not past the end of the sequence.
-            if (t < -1) continue;
-            if (t >= tEnd) continue;
-
-            //
-            // No cells are available to use for insertion cost
-            // computation. 
-            //
-            if (t > prevRowTEnd) {
-                insIndex = -1;
-            }
-            if (t > prevRowTEnd + 1) {
-                matchIndex = -1;
-            }
-
-            //
-            // Find the indices in the buffer.  Since the rows are of
-            // different sizes, one can't just use offsets from the buffer
-            // index. 
-            //
-
-            if (GetBufferIndex(guide, q-1,t-1, matchIndex)) {
-                assert(matchIndex >= 0);
-                matchScore = scoreMat[matchIndex] + scoreFn.Match(tSeq, t, qSeq, q);
-            }
-            else {
-                matchScore = INF_INT;
-            }
-
-            if (GetBufferIndex(guide, q-1, t, insIndex)) {
-                assert(insIndex >= 0);
-                insScore = scoreMat[insIndex] + scoreFn.Insertion(tSeq,(DNALength) t, qSeq, (DNALength)q);
-            }
-            else {
-                insScore = INF_INT;
-            }
-            if (GetBufferIndex(guide, q, t-1, delIndex)) {
-                assert(delIndex >= 0);
-                delScore = scoreMat[delIndex] + scoreFn.Deletion(tSeq, (DNALength) t, qSeq, (DNALength)q);
-            }
-            else {
-                delScore = INF_INT;
-            }
-
-            int minScore = MIN(matchScore, MIN(insScore, delScore));
-            int result   = GetBufferIndex(guide, q, t, curIndex);
-            // This should only loop over valid cells.
-            assert(result);
-            assert(curIndex >= 0);
-            scoreMat[curIndex] = minScore;
-            if (minScore == INF_INT) {
-                pathMat[curIndex] = NoArrow;
-                if (computeProb) {
-                    probMat[curIndex] = 1;
-                    optPathProbMat[curIndex] = 0;
-                }
-            }
-            else {
-                assert(result == 1);
-                if (minScore == matchScore) {
-                    pathMat[curIndex] = Diagonal;
-                }
-                else if (minScore == delScore) {
-                    pathMat[curIndex] = Left;
-                }
-                else {
-                    pathMat[curIndex] = Up;
-                }
-
-                float pMisMatch, pIns, pDel;
-                // Assign these to anything over 1 to signal they are not assigned.
-                pMisMatch = 2;
-                pIns      = 2;
-                pDel      = 2;
-                if (computeProb) {
-                    if (matchScore != INF_INT) {
-                        pMisMatch = QVToLogPScale(scoreFn.NormalizedMatch(tSeq, t, qSeq, q));
-                    }
-                    if (insScore != INF_INT) {
-                        pIns = QVToLogPScale(scoreFn.NormalizedInsertion(tSeq, t, qSeq, q));
-                    }
-                    if (delScore != INF_INT) {
-                        pDel = QVToLogPScale(scoreFn.NormalizedDeletion(tSeq, t, qSeq, q));
-                    }
-
-                    if (qSeq.qual.Empty() == false) {
-                        if (matchScore != INF_INT and delScore != INF_INT and insScore != INF_INT) {
-                            probMat[curIndex] = LogSumOfThree(probMat[matchIndex] + pMisMatch,
-                                    probMat[delIndex] + pDel,
-                                    probMat[insIndex] + pIns);
-                        }
-                        else if (matchScore != INF_INT and delScore != INF_INT) {
-                            probMat[curIndex] = LogSumOfTwo(probMat[matchIndex] + pMisMatch,
-                                    probMat[delIndex] + pDel);
-                        }
-                        else if (matchScore != INF_INT and insScore != INF_INT) {
-                            probMat[curIndex] = LogSumOfTwo(probMat[matchIndex] + pMisMatch,
-                                    probMat[insIndex] + pIns);					
-                        }
-                        else if (insScore != INF_INT and delScore != INF_INT) {
-                            probMat[curIndex] = LogSumOfTwo(probMat[delIndex] + pDel,
-                                    probMat[insIndex] + pIns);
-                        }
-                        else if (matchScore != INF_INT) {
-                            probMat[curIndex] = probMat[matchIndex] + pMisMatch;
-                        }
-                        else if (delScore != INF_INT) {
-                            probMat[curIndex] = probMat[delIndex] + pDel;
-                        }
-                        else if (insScore != INF_INT) {
-                            probMat[curIndex] = probMat[insIndex] + pIns;
-                        }
-                        //
-                        // Not normalizing probabilities, but using value as if it
-                        // was a probability later on, so cap at 0 (= log 1).
-                        //
-                        if (probMat[curIndex] > 0) {
-                            probMat[curIndex] = 0;
-                        }
-                        assert(!std::isnan(probMat[curIndex]));
-                    }
-                }
-            }
-        }
-    }		
-    // Ok, for now just trace back from qend/tend
-    q = qEnd-1;
-    t = tEnd-1;
-    std::vector<Arrow>  optAlignment;
-    int bufferIndexIsValid;
-    while(q >= qStart or t >= tStart) {
-        bufferIndex = -1;
-        bufferIndexIsValid = GetBufferIndex(guide, q, t, bufferIndex);
-        assert(bufferIndexIsValid);
-        assert(bufferIndex >= 0);
-        Arrow arrow;
-        arrow = pathMat[bufferIndex];
-        if (arrow == NoArrow) {
-            tSeq.ToAscii();
-            qSeq.ToAscii();
-            unsigned int gi;
-            for (gi = 0; gi < guide.size(); gi++) {
-                std::cout << guide[gi].q << " " << guide[gi].t << " " << guide[gi].tPre << " " << guide[gi].tPost << std::endl;
-            }
-
-            std::cout << "qseq: "<< std::endl;
-            (static_cast<DNASequence*>(&qSeq))->PrintSeq(std::cout);
-            std::cout << "tseq: "<< std::endl;
-            (static_cast<DNASequence*>(&tSeq))->PrintSeq(std::cout);
-            std::cout << "ERROR, this path has gone awry at " << q << " " << t << " !" << std::endl;
-            exit(1);
-        }
-        optAlignment.push_back(arrow);
-        if (arrow == Diagonal) {
-            q--;
-            t--;
-        }
-        else if (arrow == Up) {
-            q--;
-        }
-        else if (arrow == Left) {
-            t--;
-        }
-    }
-
-    alignment.nCells = ComputeMatrixNElem(guide);
-    std::reverse(optAlignment.begin(), optAlignment.end());
-    alignment.qPos = qStart;
-    alignment.tPos = tStart;
-    alignment.ArrowPathToAlignment(optAlignment);
-    RemoveAlignmentPrefixGaps(alignment);
-    int lastIndex = 0;
-    tSeq.Free();
-    qSeq.Free();
-    lastIndex = -1;
-    if (GetBufferIndex(guide, qEnd - 1, tEnd - 1, lastIndex)) {
-        alignment.score = scoreMat[lastIndex];
-        if (computeProb) {
-            alignment.probScore = probMat[lastIndex];
-        }
-        return scoreMat[lastIndex];
-    }
-    else {
-        return 0;
-    }
-}
-
-template<typename QSequence, typename TSequence, typename T_ScoreFn> //, typename T_BufferCache>
-int GuidedAlign(QSequence &origQSeq, TSequence &origTSeq,
-        T_ScoreFn &scoreFn,
-        int bandSize,
-        int sdpIns, int sdpDel, float sdpIndelRate,
-        blasr::Alignment &alignment,
-        AlignmentType alignType=Global,
-        bool computeProb = false,
-        int sdpTupleSize= 8) {
-    blasr::Alignment sdpAlignment;
-
-    int alignScore = SDPAlign(origQSeq, origTSeq,
-            scoreFn, sdpTupleSize, 
-            sdpIns, sdpDel, sdpIndelRate,
-            sdpAlignment); //, Local, false, false);
-
-    int b;
-    for (b = 0; b < sdpAlignment.blocks.size(); b++) {
-        sdpAlignment.blocks[b].qPos += sdpAlignment.qPos;
-        sdpAlignment.blocks[b].tPos += sdpAlignment.tPos;
-    }
-    sdpAlignment.tPos = 0;
-    sdpAlignment.qPos = 0;
-
-    return GuidedAlign(origQSeq, origTSeq, sdpAlignment, scoreFn, bandSize, alignment,
-            // fill in optional parameters
-            alignType, computeProb);
-
-}
-
-
-//
-// Use Case: No guide yet exists for this alignment, but using
-// buffers.  Run SDP alignment first, then refine on the guide.
-//
-
-template<typename QSequence, typename TSequence, typename T_ScoreFn, typename T_BufferCache>
-int GuidedAlign(QSequence &origQSeq, TSequence &origTSeq, 
-        T_ScoreFn &scoreFn,
-        int bandSize,
-        int sdpIns, int sdpDel, float sdpIndelRate,
-        T_BufferCache &buffers,
-        blasr::Alignment &alignment, 
-        AlignmentType alignType=Global,
-        bool computeProb = false,
-        int sdpTupleSize= 8) {
-
-    blasr::Alignment sdpAlignment;
-
-    int alignScore = SDPAlign(origQSeq, origTSeq,
-            scoreFn, sdpTupleSize, 
-            sdpIns, sdpDel, sdpIndelRate,
-            sdpAlignment, buffers, Local, false, false);
-
-    int b;
-    for (b = 0; b < sdpAlignment.blocks.size(); b++) {
-        sdpAlignment.blocks[b].qPos += sdpAlignment.qPos;
-        sdpAlignment.blocks[b].tPos += sdpAlignment.tPos;
-    }
-    sdpAlignment.tPos = 0;
-    sdpAlignment.qPos = 0;
-
-    return GuidedAlign(origQSeq, origTSeq, sdpAlignment, scoreFn, bandSize, buffers, alignment,
-            // fill in optional parameters
-            alignType, computeProb);
-}
-
-//
-// Use case, guide exists, using buffers
-//
-template<typename QSequence, typename TSequence, typename T_ScoreFn, typename T_BufferCache>
-int GuidedAlign(QSequence &origQSeq, TSequence &origTSeq,  blasr::Alignment &guideAlignment,
-        T_ScoreFn &scoreFn,
-        int bandSize,
-        T_BufferCache &buffers,
-        blasr::Alignment &alignment, 
-        AlignmentType alignType=Global, 
-        bool computeProb=false) {
-    return GuidedAlign(origQSeq, origTSeq, guideAlignment, scoreFn, bandSize, alignment, 
-            buffers.scoreMat,
-            buffers.pathMat,
-            buffers.probMat,
-            buffers.optPathProbMat,
-            buffers.lnSubPValueMat,
-            buffers.lnInsPValueMat,
-            buffers.lnDelPValueMat,
-            buffers.lnMatchPValueMat, alignType, computeProb);
-}
-
-//
-// Missing the use case for guide does not exist, and not using
-// buffers.  This is just a very long function declaration, so it's
-// not worth writing until it is needed.
-//
-
-
-//
-// Use case, guide exists, but not using buffers.                   
-//
-template<typename QSequence, typename TSequence, typename T_ScoreFn>
-int GuidedAlign(QSequence &origQSeq, TSequence &origTSeq,  blasr::Alignment &guideAlignment,
-        T_ScoreFn &scoreFn,
-        int bandSize,
-        blasr::Alignment &alignment, 
-        AlignmentType alignType=Global, 
-        bool computeProb=false) {
-
-    //  Make synonyms for members of the buffers class for easier typing.
-    std::vector<int>    scoreMat;
-    std::vector<Arrow>  pathMat;
-    std::vector<double> probMat;
-    std::vector<double> optPathProbMat;
-    std::vector<float>  lnSubPValueVect;
-    std::vector<float>  lnInsPValueVect;
-    std::vector<float>  lnDelPValueVect;
-    std::vector<float>  lnMatchPValueVect;
-
-    return GuidedAlign(origQSeq, origTSeq, guideAlignment, scoreFn, bandSize, alignment,
-            scoreMat,
-            pathMat,
-            probMat,
-            optPathProbMat,
-            lnSubPValueVect,
-            lnInsPValueVect,
-            lnDelPValueVect,
-            lnMatchPValueVect, alignType, computeProb);
-}
-
-#endif // _BLASR_GUIDE_ALIGNMENT_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/IDSScoreFunction.cpp b/libcpp/alignment/algorithms/alignment/IDSScoreFunction.cpp
deleted file mode 100644
index cc40a5f..0000000
--- a/libcpp/alignment/algorithms/alignment/IDSScoreFunction.cpp
+++ /dev/null
@@ -1,158 +0,0 @@
-#include "IDSScoreFunction.hpp"
-
-float SumAsValidPhred(float v1, float v2, float v3) {
-    float sum = 0;
-    if (v1 > 0) {
-        sum = std::pow(10,v1/-10.0);
-    }
-    if (v2 > 0) {
-        sum += std::pow(10,v2/-10.0);
-    }
-    if (v3 > 0) {
-        sum += std::pow(10,v3/-10.0);
-    }
-    return sum;
-}
-
-template<>
-int IDSScoreFunction<DNASequence,FASTQSequence>::Deletion(DNASequence &ref, DNALength refPos,
-        FASTQSequence &query, DNALength queryPos) {
-
-    if (query.deletionQV.Empty() == false and query.deletionTag != NULL) {
-        if (query.deletionTag[queryPos] == 'N') {
-            return globalDeletionPrior; //query.deletionQV[queryPos] ;
-        }
-        else {
-            if (query.deletionTag[queryPos] == ref.seq[refPos]) {
-                return query.deletionQV[queryPos];
-            }
-            else {
-                return globalDeletionPrior; 
-            }
-        }
-    }
-    else {
-        return del;
-    }
-}
-
-template<>
-int IDSScoreFunction<DNASequence, FASTQSequence>::Deletion(FASTQSequence &query, DNALength queryPos) {
-    return query.deletionQV[queryPos];
-}
-
-
-template<>
-int IDSScoreFunction<DNASequence, DNASequence>::Deletion(DNASequence &query, DNALength pos) {
-    return del; // For now there is no global deletion quality value.
-}
-
-template<>
-int IDSScoreFunction<DNASequence, FASTQSequence>::Insertion(DNASequence &refSeq, DNALength refPos, 
-        FASTQSequence &query, DNALength pos) {
-    return query.insertionQV[pos] ;
-}
-
-template<>
-int IDSScoreFunction<DNASequence, FASTQSequence>::Insertion(FASTQSequence &query, DNALength pos) {
-    return query.insertionQV[pos];
-}
-
-template<>
-int IDSScoreFunction<DNASequence, FASTQSequence>::Match(DNASequence &ref, DNALength refPos, 
-        FASTQSequence &query, DNALength queryPos) {
-
-    if (query.seq[queryPos] == ref.seq[refPos]) {
-        return 0;
-    } else if (query.substitutionTag != NULL) {
-        if (query.substitutionTag[queryPos] == ref.seq[refPos]) {
-            return query.substitutionQV[queryPos];
-        }
-    }
-    return substitutionPrior;
-}
-
-
-template<>
-float IDSScoreFunction<DNASequence, FASTQSequence>::NormalizedMatch(DNASequence &ref, DNALength refPos, 
-        FASTQSequence &query, DNALength queryPos) {
-    /*
-     * Return the match probability normalized such that the probability
-     * of transitioning from refPos, queryPos is 1.
-     */
-
-    float matchScore = Match(ref, refPos, query, queryPos);
-
-    float delScore   = -1;
-    if (refPos > 0) {
-        delScore = Deletion(ref, refPos-1, query, queryPos);
-    }
-
-    float insScore = -1;
-    if (queryPos > 0) {
-        insScore = Insertion(ref, refPos, query, queryPos-1);
-    }
-
-    float sumScore = SumAsValidPhred(matchScore, delScore, insScore);
-    if (sumScore > 0) {
-        float numerator = std::pow(10, matchScore/-10.0);
-        return -10*std::log10( numerator / sumScore);
-    }
-    else {
-        return 0;
-    }
-}
-
-
-
-template<>
-float IDSScoreFunction<DNASequence, FASTQSequence>::NormalizedInsertion(DNASequence &ref, DNALength refPos, 
-        FASTQSequence &query, DNALength queryPos) {
-
-    float insScore = Insertion(ref, refPos, query, queryPos);
-
-    float delScore = -1;
-    float matchScore = -1;  
-    if (refPos < ref.length - 1) {
-        matchScore = Match(ref, refPos + 1, query, queryPos);
-        if (queryPos > 0) {
-            delScore = Deletion(ref, refPos + 1, query, queryPos - 1);
-        }
-    }
-
-    float sum = SumAsValidPhred(insScore, delScore, matchScore);
-    if (sum > 0) {
-        float numerator = std::pow(10,insScore/-10.0);
-        return -10*std::log10( numerator / sum);
-    }
-    else {
-        return 0;
-    }
-}
-
-
-template<>
-float IDSScoreFunction<DNASequence, FASTQSequence>::NormalizedDeletion(DNASequence &ref, DNALength refPos, 
-        FASTQSequence &query, DNALength queryPos) {
-
-    float delScore = Deletion(ref, refPos, query, queryPos);
-
-    float matchScore = -1;
-    float insScore = -1;
-
-    if (queryPos < query.length - 1) {
-        matchScore = Match(ref, refPos, query, queryPos + 1);
-
-        if (refPos > 0) {
-            insScore = Insertion(ref, refPos - 1, query, queryPos + 1);
-        }
-    }
-    float sum = SumAsValidPhred(delScore, matchScore, insScore);
-    if (sum > 0) {
-        float numerator= std::pow(10, delScore/-10.0);
-        return -10*std::log10( numerator / sum);
-    }
-    else {
-        return 0;
-    }
-}
diff --git a/libcpp/alignment/algorithms/alignment/IDSScoreFunction.hpp b/libcpp/alignment/algorithms/alignment/IDSScoreFunction.hpp
deleted file mode 100644
index 3b6b5e5..0000000
--- a/libcpp/alignment/algorithms/alignment/IDSScoreFunction.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-#ifndef _BLASR_IDS_SCORE_FUNCTION_HPP_
-#define _BLASR_IDS_SCORE_FUNCTION_HPP_
-
-#include <string>
-#include <cmath>
-#include "ScoreMatrices.hpp"
-#include "BaseScoreFunction.hpp"
-#include "FASTASequence.hpp"
-#include "FASTQSequence.hpp"
-#include "utils/LogUtils.hpp"
-
-float SumAsValidPhred(float v1, float v2, float v3); 
-
-template<typename T_RefSequence, typename T_QuerySequence>
-class IDSScoreFunction : public BaseScoreFunction {
-    public:
-        int scoreMatrix[5][5];
-
-        IDSScoreFunction(int scoreMatrixP[5][5], int insertionP, int deletionP, int globalInsertionPriorP,
-                int globalDeletionPriorP) : BaseScoreFunction(insertionP, deletionP, globalInsertionPriorP, globalDeletionPriorP) {
-            InitializeScoreMatrix(scoreMatrixP);
-        }
-
-
-        IDSScoreFunction() {
-            substitutionPrior = 20;
-            globalDeletionPrior = 13;
-        }
-
-        void InitializeScoreMatrix(int scoreMatrixP[5][5]) {
-            int i, j;
-            for (i = 0; i < 5; i++ ){ 
-                for (j = 0; j < 5; j++ ){
-                    scoreMatrix[i][j] = scoreMatrixP[i][j];
-                }
-            }
-        }
-
-
-        int Deletion(T_QuerySequence &seq, DNALength pos) {
-            std::cout << "IDS. For now, deletion must be specialized with FASTQ or FASTA Sequences. " << std::endl;
-            exit(1);
-            return 0;
-        }
-        int Deletion(T_RefSequence &refSeq, DNALength refPos, T_QuerySequence &querySeq, DNALength queryPos) {
-            std::cout << "IDS. For now, this function must be specialized with either FASTQ or FASTA sequences"<<std::endl;
-            exit(1);
-        }
-        int Match(T_RefSequence &ref, DNALength refPos, T_QuerySequence &query, DNALength queryPos) {
-            std::cout << "IDS. For now, this function must be specialized with either FASTQ or FASTA sequences" << std::endl;
-            return 0;
-            exit(1);
-        }
-        int Insertion(T_RefSequence &refSeq, DNALength refPos, T_QuerySequence &querySeq, DNALength queryPos) {
-            std::cout << "IDS. For now, this function must be specialized with either FASTQ or FASTA sequences"<<std::endl;
-            exit(1);
-        }	
-        int Insertion(T_QuerySequence &seq, DNALength pos) {
-            std::cout << "IDS. For now, this function must be specialized with either FASTQ or FASTA sequences" << std::endl;
-            return 0;
-            exit(1);
-        }
-
-        float NormalizedMatch(T_RefSequence &ref, DNALength refPos, T_QuerySequence &query, DNALength queryPos);
-        float NormalizedInsertion(T_RefSequence &ref, DNALength refPos, T_QuerySequence &query, DNALength queryPos);
-        float NormalizedDeletion(T_RefSequence &ref, DNALength refPos, T_QuerySequence &query, DNALength queryPos);
-};
-
-/*
- * Define all specializations for a FASTA reference and FASTQSequence for the query, or FASTA sequence for query.
- */
-
-template<>
-int IDSScoreFunction<DNASequence,FASTQSequence>::Deletion(DNASequence &ref, 
-        DNALength refPos, FASTQSequence &query, DNALength queryPos); 
-
-template<>
-int IDSScoreFunction<DNASequence, FASTQSequence>::Deletion(FASTQSequence &query, 
-        DNALength queryPos); 
-
-template<>
-int IDSScoreFunction<DNASequence, DNASequence>::Deletion(DNASequence &query, 
-        DNALength pos); 
-
-template<>
-int IDSScoreFunction<DNASequence, FASTQSequence>::Insertion(DNASequence &refSeq, 
-        DNALength refPos, FASTQSequence &query, DNALength pos);
-
-template<>
-int IDSScoreFunction<DNASequence, FASTQSequence>::Insertion(FASTQSequence &query, 
-        DNALength pos); 
-
-template<>
-int IDSScoreFunction<DNASequence, FASTQSequence>::Match(DNASequence &ref, 
-        DNALength refPos, FASTQSequence &query, DNALength queryPos); 
-
-template<>
-float IDSScoreFunction<DNASequence, FASTQSequence>::NormalizedMatch(
-        DNASequence &ref, DNALength refPos, FASTQSequence &query, DNALength queryPos); 
-
-template<>
-float IDSScoreFunction<DNASequence, FASTQSequence>::NormalizedInsertion(
-        DNASequence &ref, DNALength refPos, FASTQSequence &query, DNALength queryPos); 
-
-template<>
-float IDSScoreFunction<DNASequence, FASTQSequence>::NormalizedDeletion(
-        DNASequence &ref, DNALength refPos, FASTQSequence &query, DNALength queryPos); 
-
-#endif // _BLASR_IDS_SCORE_FUNCTION_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/KBandAlign.cpp b/libcpp/alignment/algorithms/alignment/KBandAlign.cpp
deleted file mode 100644
index c25bb92..0000000
--- a/libcpp/alignment/algorithms/alignment/KBandAlign.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-#include "algorithms/alignment/KBandAlign.hpp"
-
-DefaultGuide::DefaultGuide() {}
-
-int DefaultGuide::operator()(int i) {
-    return i;
-}
-
-void SetKBoundedLengths(DNALength tLength, DNALength qLength, DNALength k, DNALength &tLen, DNALength &qLen) {
-	//
-	// Determine how much of each read to align.   If the query is
-	// shorter than target - k, then it is impossible to align all the
-	// way to the end of the target.  Similar if the query is longer
-	// than the target.
-	//
-	if (tLength < qLength) {
-		tLen = tLength;
-		qLen = MIN(qLength, tLength + k);
-	}
-	else if (qLength < tLength) {
-		qLen = qLength;
-		tLen = MIN(tLength, qLength + k);
-	}
-	else {
-		// They are the same length, the diagonal will definitely fit the two.
-		qLen = qLength;
-		tLen = tLength;
-	}
-}
-
diff --git a/libcpp/alignment/algorithms/alignment/KBandAlign.hpp b/libcpp/alignment/algorithms/alignment/KBandAlign.hpp
deleted file mode 100644
index 456c985..0000000
--- a/libcpp/alignment/algorithms/alignment/KBandAlign.hpp
+++ /dev/null
@@ -1,381 +0,0 @@
-#ifndef _BLASR_K_BAND_ALIGN_HPP_
-#define _BLASR_K_BAND_ALIGN_HPP_
-
-#include <algorithm>
-#include <vector>
-#include <limits.h>
-#include "defs.h"
-#include "AlignmentUtils.hpp"
-#include "NucConversion.hpp"
-#include "matrix/FlatMatrix.hpp"
-#include "datastructures/alignment/Alignment.hpp"
-#include "statistics/StatUtils.hpp"
-
-class DefaultGuide {
- public:
-	DefaultGuide();
-	int operator()(int i);
-};
-
-template<typename T_QuerySequence, typename T_TargetSequence, typename T_Alignment, typename T_ScoreFn>
-int KBandAlign(T_QuerySequence &pqSeq, T_TargetSequence &ptSeq,
-							 int matchMat[5][5], int ins, int del, DNALength k,
-							 std::vector<int> &scoreMat,
-							 std::vector<Arrow> & pathMat,
-							 T_Alignment &alignment,
-							 T_ScoreFn &scoreFn,
-							 AlignmentType alignType=Global,
-               bool samplePaths=false) {
-	return KBandAlign(pqSeq, ptSeq, matchMat, ins, del, k, scoreMat, pathMat, alignment, alignType, scoreFn, samplePaths);
-}
-
-void SetKBoundedLengths(DNALength tLength, DNALength qLength, DNALength k, DNALength &tLen, DNALength &qLen);
-
-template<typename T_Sequence>
-void CreateThreeBitSequence(T_Sequence &origSeq, T_Sequence &threeBitSeq) {
-	//
-	// Make a copy of the sequences that is guaranteed to be in 3-bit format.
-	// This is 2 bits for A,C,T,and G, and an extra bit to signal masked sequence.
-	//
-
-	ResizeSequence(threeBitSeq, origSeq.length);
-	
-	VectorIndex i;
-	for (i = 0; i < origSeq.length; i++ ) {
-		threeBitSeq.seq[i] = ThreeBit[origSeq.seq[i]];
-	}
-}
-
-
-template<typename T_QuerySequence, typename T_TargetSequence, typename T_Alignment, typename T_ScoreFn>
-int KBandAlign(T_QuerySequence &qSeq, T_TargetSequence &tSeq,
-							 int matchMat[5][5], int ins, int del, int k,
-							 std::vector<int>   &scoreMat,
-							 std::vector<Arrow> &pathMat,
-							 T_Alignment   &alignment, 
-							 AlignmentType alignType, 
-							 T_ScoreFn &scoreFn, bool samplePaths=false) {
-
-	DNALength qLen, tLen;	
-	SetKBoundedLengths(tSeq.length, qSeq.length, k, tLen, qLen);
-
-	//
-	//
-	// Allow for length up to diaonal + k + 1 for boundary.
-	// 
-	// Allow for width:
-	//   diagonal (1)
-	//   up to k insertions (k)
-	//   up to k deletions  (k)
-	//   boundary on left side of matrix (1)
-	// 
-  DNALength nCols = 2*k + 1;
-	DNALength totalMatSize = (qLen + 1) * nCols;
-	alignment.nCells = totalMatSize;
-	if (scoreMat.size() < totalMatSize) {
-		scoreMat.resize(totalMatSize);
-		pathMat.resize(totalMatSize);
-	}
-
-	// 
-	// Initialze matrices
-	//
-	std::fill(scoreMat.begin(), scoreMat.begin() + totalMatSize, 0);
-	std::fill(pathMat.begin(),  pathMat.begin()  + totalMatSize, NoArrow);
-	
-	//
-	// Initialize the boundaries of the score and path matrices.
-	//
-	int q, t;
-
-	for (q = 1; q <= k && q < qLen + 1; q++) {
-		scoreMat[rc2index(q, k - q, nCols)] = q * ins;
-		pathMat[rc2index(q, k - q , nCols)] = Up;
-	}
-	if (alignType == Global) {
-		for (t = 1; t <= k && t < tLen; t++) {
-			scoreMat[rc2index(0, t + k , nCols)] = t * del;
-			pathMat[rc2index(0, t + k , nCols)] = Left;
-		}
-	}
-	if (alignType == QueryFit or alignType == Fit) {
-		for (t = 1; t <= k & t < tLen; t++) {
-			scoreMat[rc2index(0, t + k , nCols)] = 0;
-			pathMat[rc2index(0, t + k , nCols)] = Left;
-		}
-	}
-	if (alignType == TargetFit or alignType == Fit) {
-		for (q = 1; q <= k & q < qLen; q++) {
-			scoreMat[rc2index(q, 0, nCols)] = 0;
-			pathMat[rc2index(q, 0, nCols)] = Up;
-		}
-	}
-
-	//
-	// Initialize the 0,0 position to be a match.
-	//
-	scoreMat[rc2index(0, k, nCols)] = 0;
-	pathMat[rc2index(0, k, nCols)] = Diagonal;
-
-	int matchScore, insScore, delScore;
-
-	for (q = 1; q <= qLen; q++) {
-		for (t = q - k; t < q + k + 1; t++) {
-			if (t < 1)
-				continue;
-			if (t > tLen)
-				continue;
-
-			// On left boundary of k-band. 
-			// do not allow deletions of t.
-			if (t == q - k) {
-				delScore = INF_INT;
-			}
-			else {
-				// cur row = q
-				// cur col = t - q 
-				// prev col therefore t - q - 1
-				// and offset from diagonal is k + t - q - 1
-				delScore = scoreMat[rc2index(q, k + t - q - 1, nCols)] + scoreFn.Deletion(tSeq, (DNALength) t-1, qSeq, (DNALength)q-1);
-			}
-
-			// cur row = q
-			// cur col = t - q
-			
-			// cur query index = q - 1
-			// cur target index = t - 1
-			// therefore match row (up) = q 
-			//           match col (left, but since up shifted right) = t - q
-			assert(rc2index(q - 1, k + t - q, nCols) < scoreMat.size());
-			assert(t-1 >= 0);
-			assert(q-1 >= 0);
-			int  tmpMatchScore = scoreFn.Match(tSeq, t-1, qSeq, q-1);
-			matchScore = scoreMat[rc2index(q - 1, k + t - q, nCols)] + tmpMatchScore;
-
-			//
-			//  Possibly on right boundary of k-band, in which
-			//  case do not allow insertions from q.
-			if (t == q + k ) {
-				insScore = INF_INT;
-			}
-			else {
-				// cur row = q
-				// cur col = t - q
-				// therefore insertion col = t - q + 1
-				insScore = scoreMat[rc2index(q-1, k + t - q+1, nCols)] + scoreFn.Insertion(tSeq, (DNALength) t-1, qSeq, q-1);
-			}
-		
-			int minScore = MIN(matchScore, MIN(insScore, delScore));
-			int curIndex = rc2index(q, k + t - q, nCols);
-			assert(curIndex < scoreMat.size());
-			scoreMat[curIndex] = minScore;
-      int nEqual = 0;
-      (matchScore == minScore ? nEqual++ : nEqual );
-      (insScore == minScore ? nEqual++ : nEqual );
-      (delScore == minScore ? nEqual++ : nEqual );
-      if (samplePaths == false or nEqual == 1) {
-        if (minScore == matchScore) {
-          pathMat[curIndex] = Diagonal;
-        }
-        else if (minScore == delScore) {
-          pathMat[curIndex] = Left;
-        }
-        else {
-          pathMat[curIndex] = Up;
-        }
-      }
-      else {
-        //
-        // When there are paths of equal score reaching 
-        //
-        if (nEqual == 3) {
-          int v = RandomInt(3);
-          if (v == 0) { pathMat[curIndex] = Diagonal; }
-          else if (v == 1) { pathMat[curIndex] = Left; }
-          else if (v == 2) { pathMat[curIndex] = Up; }
-        }
-        else {
-          assert(nEqual == 2);
-          int v = RandomInt(2);
-          if (matchScore == insScore) {
-            if (v == 0) { pathMat[curIndex] = Diagonal; } else { pathMat[curIndex] = Up; }
-          }
-          else if (matchScore == delScore) {
-            if (v == 0) { pathMat[curIndex] = Diagonal; } else { pathMat[curIndex] = Left; }
-          }
-          else if (delScore == insScore) {
-            if (v == 0) { pathMat[curIndex] = Left; } else { pathMat[curIndex] = Up; }
-          }
-          else {
-            std::cout << "ERROR, counted two values equal to the minimum but cannot find them." << std::endl;
-            assert(0);
-          }
-        }
-        alignment.nSampledPaths++;
-      }
-		}
-	}
-
-	//
-	// Now create the alignment.
-	//
-	
-	q = qLen ;
-	t = k - (qLen - tLen);
-
-	int globalMinScore;
-	int minLastColScoreIndex, minLastRowScoreIndex;
-	globalMinScore = scoreMat[rc2index(q,t,nCols)];
-	int minLastColScore = globalMinScore, minLastRowScore = globalMinScore;
-
-	if (alignType == QueryFit or alignType == Fit) {
-		int q2,t2;
-		q2 = qLen;
-		t2 = k - (qLen - tLen);
-		UInt qi, qend;
-		bool minScoreSet = false;
-		int minScoreIndex;
-		for (t2 = q - k; t2 < q2 + k + 1; t2++) {
-			if (t2 < 1)
-				continue;
-			if (t2 > tLen)
-				continue;
-      //      std::cout << t2 << " " << tLen << " " << " " << scoreMat[rc2index(q2, k+t2-q,nCols)] << " " << minLastRowScore <<std::endl;
-			if (minScoreSet == false or scoreMat[rc2index(q2, k+t2-q,nCols)] < minLastRowScore){ 
-				minScoreSet     = true;
-				minLastRowScore = scoreMat[rc2index(q2,k+t2-q,nCols)];
-				minLastRowScoreIndex   = t2;
-			}
-		}
-		if (minScoreSet) {
-      t2 = k - (q - minLastRowScoreIndex);
-			t = t2; 
-			q = q2;
-		}
-	}
-	if (alignType == TargetFit or alignType == Fit) {
-		//  Fit the target inside the query wh
-		int q2,t2;
-		q2 = qLen;
-		t2 = k - (qLen - tLen);
-		bool minScoreSet = false;
-		for (q2 = qLen; q2 >= tLen - k and q2 > 0; q2--) {
-			int index = rc2index(q2, k+tLen-q2, nCols);
-			if (minScoreSet == false or scoreMat[index] < minLastColScore) {
-				minLastColScore = scoreMat[index];
-				minScoreSet = true;
-				minLastColScoreIndex = q2;
-			}
-		}
-		if (alignType == Fit) {
-			if (minLastColScore < minLastRowScore) {
-				t = t2;
-				q = minLastColScoreIndex;
-			}
-		}
-		else if (alignType == TargetFit) {
-			t = t2;
-			q = minLastColScoreIndex;
-		}
-	}
-
-	std::vector<Arrow>  optAlignment;
-	int optScore = scoreMat[rc2index(q, t, nCols)];
-	Arrow arrow;
-	/*
-	PrintFlatMatrix(&pathMat[0], qLen + 1, nCols, debugOut);
-	std::cout << std::endl;
-  ofstream debugOut;
-  stringstream debugOutName;
-  debugOutName << "kband_" << kbandcounter << ".table";
-  debugOut.open(debugOutName.str().c_str());
-	PrintFlatMatrix(&scoreMat[0], qLen + 1, nCols, debugOut);
-  kbandcounter++;
-  */
-  /*
-	std::cout << std::endl;
-	*/
-	//
-	// Use some logic to deal with unsigned types.  When t > k, t must
-	// also be greater than 0, so it's not worth checking to see if it
-	// hits a boundary.
-	//
-	if (alignType == Global or alignType == QueryFit) {
-		while (q > 0 and (t < k ? (k - t != q) : true)) {
-			arrow = pathMat[rc2index(q,t, nCols)];
-			if (arrow == NoArrow) {
-				break;
-			}
-			optAlignment.push_back(arrow);
-			if (arrow == Diagonal) {
-				q--;
-			}
-			else if (arrow == Up) {
-				q--;
-				t++;
-			}
-			else if (arrow == Left) {
-				t--;
-			}
-		}
-	}
-	else if (alignType == Fit) {
-		while (q > 0 and (t < k ? (k - t != q) : true)  and  ( q <= k ? k - q != t : true) ) {
-			arrow = pathMat[rc2index(q,t, nCols)];
-			if (arrow == NoArrow) {
-				break;
-			}
-			optAlignment.push_back(arrow);
-			if (arrow == Diagonal) {
-				q--;
-			}
-			else if (arrow == Up) {
-				q--;
-				t++;
-			}
-			else if (arrow == Left) {
-				t--;
-			}
-		}
-	}
-	else if (alignType == TargetFit) {
-		while (q > 0 and ( q < k ? k - q != t : true) ) {
-			arrow = pathMat[rc2index(q,t, nCols)];
-			if (arrow == NoArrow) {
-				break;
-			}
-			optAlignment.push_back(arrow);
-			if (arrow == Diagonal) {
-				q--;
-			}
-			else if (arrow == Up) {
-				q--;
-				t++;
-			}
-			else if (arrow == Left) {
-				t--;
-			}
-		}
-	}
-
-	// remove the boundary condition.
-	//optAlignment.pop_back();
-	//	qSeq.Free();
-	//	tSeq.Free();
-	alignment.qPos = q;
-	
-	//
-	// Use a little extra logic to deal with the unsignedness of indices.
-	//
-	if (t < k) {
-		alignment.tPos = (k - t) - q;
-	}
-	else {
-		alignment.tPos = (t - k) - q;
-	}
-	std::reverse(optAlignment.begin(), optAlignment.end());
-	alignment.ArrowPathToAlignment(optAlignment);
-	return optScore;
-}
-
-#endif // _BLASR_K_BAND_ALIGN_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/OneGapAlignment.hpp b/libcpp/alignment/algorithms/alignment/OneGapAlignment.hpp
deleted file mode 100644
index 33405e6..0000000
--- a/libcpp/alignment/algorithms/alignment/OneGapAlignment.hpp
+++ /dev/null
@@ -1,374 +0,0 @@
-#ifndef _BLASR_ONEGAP_ALIGNMENT_HPP_
-#define _BLASR_ONEGAP_ALIGNMENT_HPP_
-
-#include <limits.h>
-#include "Types.h"
-#include "FASTQSequence.hpp"
-#include "matrix/FlatMatrix.hpp"
-#include "datastructures/alignment/Path.h"
-#include "datastructures/alignment/Alignment.hpp"
-
-/*
-   Perform gapped alignment that aligns the entire query sequence to
-   leftTarget, rightTarget, or between the two with a gap in between.
-   The gap between leftTarget and rightTarget is an affine gap. 
-   */
-
-template<typename T_QuerySequence, typename T_RefSequence, typename T_ScoreFunction> 
-int OneGapAlign(T_QuerySequence &query, 
-        T_RefSequence &leftTarget, 
-        T_RefSequence &rightTarget, 
-        DNALength   distanceBetweenLeftAndRightTarget,
-        T_ScoreFunction &scoreFn,
-        Alignment   &alignment, 
-        FlatMatrix2D<int> & scoreMat, FlatMatrix2D<Arrow> & pathMat, 
-        FlatMatrix2D<int> &affineScoreMat, FlatMatrix2D<Arrow> &affinePathMat) {
-
-    /*
-       Perform alignment that spans what is effectively two pairs of
-       matrices.  This is implemented as a single matrix, however paths
-       may only transition through the boundary between the two through
-       the affine portion of the matrices.  
-
-       leftTarget    rightTarget
-       affine   |==============|
-       |   x------>x  |
-       |   ^       |  |
-       |===|=======|==|
-       |       |
-       regular  |===|=+||===|=+|
-       |   x  ||   |  |
-       |      ||   v  |
-       |======||======|
-
-
-*/
-
-
-    UInt nQueryRows, nLeftTargetCols, nRightTargetCols;
-    UInt nTargetCols;
-    nQueryRows = query.length + 1;
-    nLeftTargetCols  = leftTarget.length + 1;
-    nRightTargetCols = rightTarget.length;
-    nTargetCols = nLeftTargetCols + nRightTargetCols;
-
-    //
-    // Create the matrices
-    // 
-    affineScoreMat.Grow(nQueryRows,  nTargetCols);
-    affinePathMat.Grow(nQueryRows,  nTargetCols);
-
-    scoreMat.Grow(nQueryRows, nTargetCols);
-    pathMat.Grow(nQueryRows, nTargetCols);
-
-    //
-    // Initialize to undefined for debugging purposes.
-    //
-    affineScoreMat.Initialize(0);
-    affinePathMat.Initialize(NoArrow);
-
-    scoreMat.Initialize(0);
-    pathMat.Initialize(NoArrow);
-
-    // Initialize insertion and deletion strips
-    UInt i, j;
-    scoreMat[0][0] = 0;
-    pathMat[0][0]  = NoArrow;
-    affineScoreMat[0][0] = 0;
-    // always drop down to 0,0 at end of affine gap.
-    affinePathMat[0][0]  = AffineDelOpen;
-    for (i = 1; i < nQueryRows; i++) {
-        scoreMat[i][0] = scoreMat[i-1][0] + scoreFn.ins;
-        pathMat[i][0]  = Up;
-        //
-        // Affine gaps can only start here.
-        //
-        affineScoreMat[i][0] = scoreMat[i][0];
-        affinePathMat[i][0]  = AffineDelOpen; 
-    }
-
-    for (j = 1; j < nTargetCols; j++) {
-        scoreMat[0][j] = scoreMat[0][j-1] + scoreFn.del;
-        pathMat[0][j]  = Left;
-        //
-        // Allow free affine transition across first row.
-        //
-        affineScoreMat[0][j] = 0;
-        affinePathMat[0][j]  = Left;
-    }
-
-
-    //  Now run the alignment.
-    //  i and j index over positions in the query/target sequences, or
-    //  [0,len(seq)).  Since the score mat are of length len(seq) + 1,
-    //  the indices of the score matrices are [1, len(seq) + 1)
-    for (i = 0; i < query.length; i++) {
-
-        //
-        // First align a row of the left target, allowing for transition
-        // up to the big affine gap. No transitions down from affine gap
-        // are allowed.
-        //
-        for (j = 0; j < leftTarget.length; j++) {
-            //
-            // First, assign the non-affine score.
-            //
-            int matchScore, insScore, delScore;
-            // Remember mapping:
-            // scoreMat[i+1][j+1] = position to fill
-            // scoreMat[i+1][j] ==> back one column
-            // scoreMat[i][j+1] ==> up one row.
-            matchScore = scoreMat[i][j]   + scoreFn.Match(leftTarget, j, query, i);
-            insScore   = scoreMat[i][j+1] + scoreFn.Insertion(leftTarget, j, query, i);
-            delScore   = scoreMat[i+1][j] + scoreFn.Deletion(leftTarget, j, query, i);
-
-            int minScore = min(matchScore, min(insScore, delScore));
-            scoreMat[i+1][j+1] = minScore;
-
-
-            // set path.
-            if (matchScore  == minScore) {
-                pathMat[i+1][j+1]  = Diagonal;
-            }
-            else if (insScore == minScore) {
-                pathMat[i+1][j+1]  = Up;
-            }
-            else {
-                assert(delScore == minScore);
-                pathMat[i+1][j+1]  = Left;
-            }
-
-            //
-            // Next, assign the affine score
-            //
-            if (affineScoreMat[i+1][j] < scoreMat[i+1][j+1]) {
-                affineScoreMat[i+1][j+1] = affineScoreMat[i+1][j];
-                affinePathMat[i+1][j+1]  = Left;
-            }
-            else {
-                // Allow free gap open... maybe this will change.
-                affineScoreMat[i+1][j+1] = scoreMat[i+1][j+1]; 
-                affinePathMat[i+1][j+1]  = AffineDelOpen;
-            }
-        }
-
-        //
-        // Now align the right target, allowing a jump over the divide.  
-        //
-        int affineCloseScore;
-        j = 0; 
-        //
-        // A match here may only be preceded by an affine gap close.
-        //
-        int matchScore, delScore, insScore, minScore;
-        matchScore = affineScoreMat[i][leftTarget.length] + scoreFn.Match(rightTarget, j, query, i);
-        //
-        // Cannot have a non-affine deletion here.
-        delScore   = INT_MAX;
-        //
-        // The insertion is a horizontal move, so that is all allowed.
-        //
-        insScore   = scoreFn.Insertion(rightTarget, j, query, i - 1);
-
-
-        minScore = min(matchScore, insScore);
-        UInt targetCol = leftTarget.length;
-
-        assert(scoreMat[i+1][targetCol+1] == 0);
-        assert(pathMat[i+1][targetCol+1] == NoArrow);
-        scoreMat[i+1][targetCol+1] = minScore;      
-
-        if (minScore == matchScore) {
-            pathMat[i+1][targetCol+1]  = AffineLongDelClose;
-        }
-        else {
-            assert(minScore == insScore);
-            pathMat[i+1][targetCol+1]  = Up;
-        }
-
-        //
-        // The affine matrix on the right side can only progress forward.
-        //
-        affineScoreMat[i+1][targetCol+1] = affineScoreMat[i+1][targetCol];
-        affinePathMat[i+1][targetCol+1]  = AffineLongDelLeft;
-
-
-        for (j = 1; j < rightTarget.length; j++) {
-            targetCol = leftTarget.length + j;
-            matchScore = scoreMat[i][targetCol] + scoreFn.Match(rightTarget, j, query, i);
-            insScore   = scoreMat[i][targetCol+1] + scoreFn.Insertion(rightTarget, j, query, i);
-            delScore   = scoreMat[i+1][targetCol] + scoreFn.Deletion(rightTarget, j, query, i);
-            affineCloseScore = affineScoreMat[i][targetCol] + scoreFn.Match(rightTarget, j, query, i);
-
-            minScore = min(matchScore, min(insScore, min(delScore, affineCloseScore)));
-
-            scoreMat[i+1][targetCol+1] = minScore;
-            if (minScore == matchScore) {
-                pathMat[i+1][targetCol+1]  = Diagonal;
-            }
-            else if (minScore == insScore) {
-                pathMat[i+1][targetCol+1] = Up;
-            }
-            else if (minScore == delScore) {
-                pathMat[i+1][targetCol+1] = Left;
-            }
-            else {
-                assert(minScore == affineCloseScore);
-                pathMat[i+1][targetCol+1] = AffineLongDelClose;
-            }
-
-            //
-            // As with before, the affine matrix on the right side can
-            // only progress forward.
-            // 
-            affineScoreMat[i+1][targetCol+1] = affineScoreMat[i+1][targetCol];
-            affinePathMat[i+1][targetCol+1]  = Left;
-        } // done aligning right target
-    } // done aligning full query
-
-    //
-    // Now build the alignment string
-    //
-    i = nQueryRows - 1;
-    j = nTargetCols - 1;
-    vector<Arrow> optAlignment;
-
-    int REGULAR = 0;
-    int AFFINE  = 1;
-
-    int curMatrix = REGULAR;
-    Arrow arrow;
-
-    /*
-       cout << "score " << endl;
-       PrintFlatMatrix(scoreMat.matrix, scoreMat.nRows, scoreMat.nCols, cout, 3);
-       cout << "path " << endl;
-       PrintFlatMatrix(pathMat.matrix, scoreMat.nRows, scoreMat.nCols, cout, 3);
-       cout << "affine score " << endl;
-       PrintFlatMatrix(affineScoreMat.matrix, scoreMat.nRows, scoreMat.nCols, cout, 3);
-       cout << "affine path " << endl;
-       PrintFlatMatrix(affinePathMat.matrix, scoreMat.nRows, scoreMat.nCols, cout, 3);
-       */
-    int optScore = scoreMat[i][j];
-    while (i > 0 or j > 0 or curMatrix == AFFINE) {
-        if (curMatrix == REGULAR) {
-            arrow = pathMat[i][j];
-            if (arrow == Diagonal) {
-                optAlignment.push_back(arrow);
-                i--;
-                j--;
-            }
-            else if (arrow == Left) {
-                optAlignment.push_back(arrow);
-
-                j--;
-            }
-            else if (arrow == Up) {
-                optAlignment.push_back(arrow);
-                i--;
-            }
-            else if (arrow == AffineLongDelClose) {
-                optAlignment.push_back(Left);
-                j--;
-                i--;
-                curMatrix = AFFINE;
-            }
-        }
-        else {
-            // in affine matrix
-            arrow = affinePathMat[i][j];
-            if (arrow == Left or arrow == AffineLongDelLeft) {
-                optAlignment.push_back(arrow);
-                j--;
-            }
-            else if (arrow == AffineDelOpen) {
-                //
-                // no change in i nor j, and this does not result in an
-                // arrow.
-                // Drop down to the regular alignment matrix.
-                //
-                curMatrix = REGULAR;
-            }
-        }
-        assert(arrow != NoArrow);
-        //
-        // Check for wrap around.
-        //
-        assert(i != UINT_MAX);
-        assert(j != UINT_MAX);
-    } // done tracing alignment path.
-    std::reverse(optAlignment.begin(), optAlignment.end());    
-    alignment.LongGapArrowPathToAlignment(optAlignment, distanceBetweenLeftAndRightTarget);
-    return optScore;
-}
-
-//
-// Create a version that does not need reusable mapping buffers.
-//
-
-template<typename T_QuerySequence, typename T_RefSequence, typename T_ScoreFunction>
-int OneGapAlign(T_QuerySequence &query, 
-        T_RefSequence &leftTarget, 
-        T_RefSequence &rightTarget, 
-        DNALength   distanceBetweenLeftAndRightTarget,
-        T_ScoreFunction &scoreFn,
-        Alignment   &alignment) {
-
-    FlatMatrix2D<int>   scoreMat;
-    FlatMatrix2D<int>   affineScoreMat;
-    FlatMatrix2D<Arrow> pathMat;
-    FlatMatrix2D<Arrow> affinePathMat;
-
-
-    return OneGapAlign(query, leftTarget, rightTarget, 
-            distanceBetweenLeftAndRightTarget,
-            scoreFn,
-            alignment,
-            scoreMat, pathMat,
-            affineScoreMat, affinePathMat);
-}
-
-
-template<typename T_QuerySequence, typename T_RefSequence, typename T_ScoreFunction, typename T_BufferList> 
-int OneGapAlign(T_QuerySequence &query, 
-        T_RefSequence   &leftTarget, 
-        T_RefSequence   &rightTarget, 
-        DNALength   distanceBetweenLeftAndRightTarget,
-        T_ScoreFunction &scoreFn,
-        T_BufferList &buffers,
-        Alignment   &alignment) {
-
-    return OneGapAlign(query, leftTarget, rightTarget, distanceBetweenLeftAndRightTarget, alignment,
-            buffers.scoreMat, buffers.pathMat,
-            buffers.affineScoreMat, buffers.affinePathMat);
-
-}
-
-template<typename T_QuerySequence, typename T_RefSequence, typename T_ScoreFunction, typename T_BufferList> 
-int OneGapAlign(T_QuerySequence &query,
-        T_RefSequence   &reference,
-        T_ScoreFunction &scoreFunction,
-        T_BufferList &buffers,
-        Alignment &alignment) {
-
-    T_RefSequence leftReference, rightReference;
-    UInt leftReferenceLength = min(reference.length, query.length);
-    leftReference.ReferenceSubstring(reference, 0, leftReferenceLength);
-
-    UInt rightReferenceLength = min(reference.length - leftReferenceLength, query.length);
-    rightReference.ReferenceSubstring(reference, reference.length - rightReferenceLength, rightReferenceLength);
-
-    DNALength distanceBetweenLeftAndRight = reference.length - rightReferenceLength - leftReferenceLength;
-
-    assert(distanceBetweenLeftAndRight >= 0);
-
-    return OneGapAlign(query, 
-            leftReference, 
-            rightReference, 
-            distanceBetweenLeftAndRight,
-            scoreFunction, alignment);
-}
-
-
-
-#endif // _BLASR_ONEGAP_ALIGNMENT_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/QualityValueScoreFunction.cpp b/libcpp/alignment/algorithms/alignment/QualityValueScoreFunction.cpp
deleted file mode 100644
index c73b49e..0000000
--- a/libcpp/alignment/algorithms/alignment/QualityValueScoreFunction.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-#include "QualityValueScoreFunction.hpp"
-
-int QualityScoreTypeNotSpecified(const std::string func) {
-    std::cout << func << " must be specialized with FASTQ or "
-              << "FASTA sequencecs." << std::endl;
-    exit(1);
-    return 0;
-}
-
-template<typename T_RefSequence, typename T_QuerySequence>
-int QualityValueScoreFunction<T_RefSequence, T_QuerySequence>::Deletion(
-    T_RefSequence &seq, DNALength refPos, T_QuerySequence &querySeq, 
-    DNALength queryPos) {
-    return QualityScoreTypeNotSpecified("Deletion");
-}
-		
-template<typename T_RefSequence, typename T_QuerySequence>
-int QualityValueScoreFunction<T_RefSequence, T_QuerySequence>::Deletion(
-    T_RefSequence &seq, DNALength pos) {
-    return QualityScoreTypeNotSpecified("Deletion");
-}
-
-template<typename T_RefSequence, typename T_QuerySequence>
-int QualityValueScoreFunction<T_RefSequence, T_QuerySequence>::Match(
-    T_RefSequence &ref, DNALength refPos, T_QuerySequence &query, 
-    DNALength queryPos) {
-    return QualityScoreTypeNotSpecified("Match");
-}
-
-template<typename T_RefSequence, typename T_QuerySequence>
-int QualityValueScoreFunction<T_RefSequence, T_QuerySequence>::Insertion(
-    T_RefSequence &ref, DNALength refPos, T_QuerySequence &seq, 
-    DNALength pos) {
-    return QualityScoreTypeNotSpecified("Insertion");
-}
-
-template<typename T_RefSequence, typename T_QuerySequence>
-int QualityValueScoreFunction<T_RefSequence, T_QuerySequence>::Insertion(
-    T_QuerySequence &seq, DNALength pos) {
-    return QualityScoreTypeNotSpecified("Insertion");
-}
-
-/*
- * Define all specializations for a FASTA reference and FASTQSequence 
- * for the query, or FASTA sequence for query.
- */
-template<>
-int QualityValueScoreFunction<FASTASequence, FASTQSequence>::Deletion(
-    FASTASequence &ref, DNALength pos) {
-    return del; // For now there is no global deletion quality value.
-}
-
-template<>
-int QualityValueScoreFunction<DNASequence, FASTQSequence>::Deletion(
-    DNASequence &ref, DNALength pos) {
-    return del; // For now there is no global deletion quality value.
-}
-
-template<>
-int QualityValueScoreFunction<DNASequence, FASTQSequence>::Deletion(
-    DNASequence &seq, DNALength refPos, FASTQSequence &querySeq,
-    DNALength queryPos) {
-    return Deletion(seq, refPos);
-}
-
-template<>
-int QualityValueScoreFunction<DNASequence, FASTQSequence>::Insertion(
-    FASTQSequence &query, DNALength pos) {
-    // Positive value for quality value penalizes the alignment.
-    return query.qual[pos];
-}
-
-template<>
-int QualityValueScoreFunction<DNASequence, FASTQSequence>::Insertion(
-    DNASequence &ref, DNALength refPos, FASTQSequence &query, 
-    DNALength pos) {
-    // Positive value for quality value penalizes the alignment.
-    // return query.qual[pos];
-    // return Insertion(query, pos);
-    return ins;
-}
-
-template<>
-int QualityValueScoreFunction<DNASequence, FASTQSequence>::Match(
-    DNASequence &ref, DNALength refPos, FASTQSequence &query, 
-    DNALength queryPos) {
-    // Positive value for quality value penalizes the alignment.
-    return (QVDistanceMatrix[ThreeBit[query.seq[queryPos]]][ThreeBit[ref.seq[refPos]]]
-            * query.qual[queryPos]);
-}
diff --git a/libcpp/alignment/algorithms/alignment/QualityValueScoreFunction.hpp b/libcpp/alignment/algorithms/alignment/QualityValueScoreFunction.hpp
deleted file mode 100644
index 670b42f..0000000
--- a/libcpp/alignment/algorithms/alignment/QualityValueScoreFunction.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef _BLASR_QUALITY_VALUE_SCORE_FUNCTION_HPP_
-#define _BLASR_QUALITY_VALUE_SCORE_FUNCTION_HPP_
-#include "FASTASequence.hpp"
-#include "FASTQSequence.hpp"
-#include "NucConversion.hpp"
-#include "ScoreMatrices.hpp"
-#include "BaseScoreFunction.hpp"
-
-template<typename T_RefSequence, typename T_QuerySequence>
-class QualityValueScoreFunction: public BaseScoreFunction{
-public:
-    int Deletion(T_RefSequence &seq, DNALength refPos, 
-        T_QuerySequence &querySeq, DNALength queryPos);
-    int Deletion(T_RefSequence &seq, DNALength pos);
-
-    int Match(T_RefSequence &ref, DNALength refPos, 
-        T_QuerySequence &query, DNALength queryPos);
-
-    int Insertion(T_RefSequence &ref, DNALength refPos,
-        T_QuerySequence &seq, DNALength pos);
-    int Insertion(T_QuerySequence &seq, DNALength pos);
-};
-
-
-//
-// Define all specializations for a FASTA reference and 
-// FASTQSequence for the query, or FASTA sequence for query.
-//
-template<>
-int QualityValueScoreFunction<FASTASequence, FASTQSequence>::Deletion(
-    FASTASequence &ref, DNALength pos);
-
-template<>
-int QualityValueScoreFunction<DNASequence, FASTQSequence>::Deletion(
-    DNASequence &ref, DNALength pos);
-
-template<>
-int QualityValueScoreFunction<DNASequence, FASTQSequence>::Deletion(
-    DNASequence &seq, DNALength refPos, FASTQSequence &querySeq, 
-    DNALength queryPos);
-
-template<>
-int QualityValueScoreFunction<DNASequence, FASTQSequence>::Insertion(
-    FASTQSequence &query, DNALength pos);
-
-template<>
-int QualityValueScoreFunction<DNASequence, FASTQSequence>::Insertion(
-    DNASequence &ref, DNALength refPos, FASTQSequence &query, 
-    DNALength pos);
-
-template<>
-int QualityValueScoreFunction<DNASequence, FASTQSequence>::Match(
-    DNASequence &ref, DNALength refPos, FASTQSequence &query, 
-    DNALength queryPos);
-
-#endif
diff --git a/libcpp/alignment/algorithms/alignment/SDPAlign.hpp b/libcpp/alignment/algorithms/alignment/SDPAlign.hpp
deleted file mode 100644
index 14c3b23..0000000
--- a/libcpp/alignment/algorithms/alignment/SDPAlign.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef _BLASR_SDP_ALIGN_HPP_
-#define _BLASR_SDP_ALIGN_HPP_
-
-#include "DNASequence.hpp"
-#include "tuples/TupleMatching.hpp"
-#include "sdp/SDPFragment.hpp"
-#include "FASTASequence.hpp"
-#include "FASTQSequence.hpp"
-#include "DistanceMatrixScoreFunction.hpp"
-
-#define SDP_DETAILED_WORD_SIZE 5
-#define SDP_PREFIX_LENGTH 50
-#define SDP_SUFFIX_LENGTH 50
-
-template<typename T_QuerySequence, typename T_TargetSequence, typename T_ScoreFn>
-int SDPAlign(T_QuerySequence &query, T_TargetSequence &target,
-        T_ScoreFn &scoreFn, int wordSize, 
-        int sdpIns, int sdpDel, float indelRate,
-        blasr::Alignment &alignment, 
-        AlignmentType alignType=Global,
-        bool detailedAlignment=true,
-        bool extendFrontByLocalAlignment=true,
-        DNALength noRecurseUnder=10000,
-        bool fastSDP=true,
-        unsigned int minFragmentsToUseGraphPaper=100000);
-
-
-template<typename T_QuerySequence, typename T_TargetSequence, typename T_ScoreFn, typename T_BufferCache>
-int SDPAlign(T_QuerySequence &query, T_TargetSequence &target,
-        T_ScoreFn &scoreFn, int wordSize, 
-        int sdpIns, int sdpDel, float indelRate,
-        blasr::Alignment &alignment, 
-        T_BufferCache &buffers,
-        AlignmentType alignType=Global,
-        bool detailedAlignment=true,
-        bool extendFrontByLocalAlignment=true, 
-        DNALength noRecurseUnder=10000,
-        bool fastSDP=true,
-        unsigned int minFragmentsToUseGraphPaper=100000);
-
-template<typename T_QuerySequence, typename T_TargetSequence, typename T_ScoreFn, typename T_TupleList>
-int SDPAlign(T_QuerySequence &query, T_TargetSequence &target,
-        T_ScoreFn &scoreFn,
-        int wordSize, 
-        int sdpIns, int sdpDel, float indelRate,
-        blasr::Alignment &alignment, 
-        std::vector<Fragment> &fragmentSet,
-        std::vector<Fragment> &prefixFragmentSet,
-        std::vector<Fragment> &suffixFragmentSet,
-        T_TupleList &targetTupleList,
-        T_TupleList &targetPrefixTupleList,
-        T_TupleList &targetSuffixTupleList,
-        std::vector<int> &maxFragmentChain,
-        // A few optinal parameters, should delete that last one.
-        AlignmentType alignType=Global,
-        bool detailedAlignment=true,
-        bool extendFrontByLocalAlignment=true, 
-        DNALength noRecurseUnder=10000,
-        bool fastSDP=true,
-        unsigned int minFragmentsToUseGraphPaper=100000);
-
-#include "SDPAlignImpl.hpp"
-
-#endif // _BLASR_SDP_ALIGN_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/SDPAlignImpl.hpp b/libcpp/alignment/algorithms/alignment/SDPAlignImpl.hpp
deleted file mode 100644
index 140b667..0000000
--- a/libcpp/alignment/algorithms/alignment/SDPAlignImpl.hpp
+++ /dev/null
@@ -1,614 +0,0 @@
-#ifndef _BLASR_SDP_ALIGN_IMPL_HPP_
-#define _BLASR_SDP_ALIGN_IMPL_HPP_
-
-#include <cstddef>
-#include <vector>
-#include <math.h>
-#include <cstdlib>
-#include <ostream>
-#include "Types.h"
-#include "defs.h"
-#include "utils.hpp"
-#include "Enumerations.h"
-#include "DNASequence.hpp"
-#include "matrix/FlatMatrix.hpp"
-#include "datastructures/alignment/Alignment.hpp"
-#include "sdp/SDPFragment.hpp"
-#include "GraphPaper.hpp"
-#include "AlignmentUtils.hpp"
-#include "SWAlign.hpp"
-#include "sdp/SparseDynamicProgramming.hpp"
-#include "SDPAlign.hpp"
-
-template<typename T_QuerySequence, typename T_TargetSequence, typename T_ScoreFn>
-int SDPAlign(T_QuerySequence &query, T_TargetSequence &target,
-        T_ScoreFn &scoreFn, int wordSize, 
-        int sdpIns, int sdpDel, float indelRate,
-        blasr::Alignment &alignment, 
-        AlignmentType alignType,
-        bool detailedAlignment,
-        bool extendFrontByLocalAlignment,
-        DNALength noRecurseUnder,
-        bool fastSDP,
-        unsigned int minFragmentsToUseGraphPaper) {
-    /*
-       Since SDP Align uses a large list of buffers, but none are
-       provided with this mechanism of calling SDPAlign, allocate the
-       buffers on the stack.
-       */
-    std::vector<Fragment> fragmentSet, prefixFragmentSet, suffixFragmentSet;
-    TupleList<PositionDNATuple> targetTupleList;
-    TupleList<PositionDNATuple> targetPrefixTupleList;
-    TupleList<PositionDNATuple> targetSuffixTupleList;
-    std::vector<int> maxFragmentChain;
-
-    return SDPAlign(query, target,
-            scoreFn, wordSize, 
-            sdpIns, sdpDel, indelRate,
-            alignment, 
-            fragmentSet, prefixFragmentSet, suffixFragmentSet, 
-            targetTupleList, targetPrefixTupleList, targetSuffixTupleList,
-            maxFragmentChain,
-            alignType,
-            detailedAlignment,
-            extendFrontByLocalAlignment,
-            noRecurseUnder,
-            minFragmentsToUseGraphPaper);
-}
-
-template<typename T_QuerySequence, typename T_TargetSequence, typename T_ScoreFn, typename T_BufferCache>
-int SDPAlign(T_QuerySequence &query, T_TargetSequence &target,
-        T_ScoreFn &scoreFn, int wordSize, 
-        int sdpIns, int sdpDel, float indelRate,
-        blasr::Alignment &alignment, 
-        T_BufferCache &buffers,
-        AlignmentType alignType,
-        bool detailedAlignment,
-        bool extendFrontByLocalAlignment, 
-        DNALength noRecurseUnder,
-        bool fastSDP,
-        unsigned int minFragmentsToUseGraphPaper) {
-
-    return SDPAlign(query, target, scoreFn, wordSize, 
-            sdpIns, sdpDel, indelRate,
-            alignment,  
-            buffers.sdpFragmentSet,
-            buffers.sdpPrefixFragmentSet,
-            buffers.sdpSuffixFragmentSet,
-            buffers.sdpCachedTargetTupleList,
-            buffers.sdpCachedTargetPrefixTupleList,
-            buffers.sdpCachedTargetSuffixTupleList,
-            buffers.sdpCachedMaxFragmentChain,
-            alignType, detailedAlignment, 
-            extendFrontByLocalAlignment, noRecurseUnder,
-            fastSDP, minFragmentsToUseGraphPaper);
-}
-
-template<typename T_QuerySequence, typename T_TargetSequence, typename T_ScoreFn, typename T_TupleList>
-int SDPAlign(T_QuerySequence &query, T_TargetSequence &target,
-        T_ScoreFn &scoreFn,
-        int wordSize, 
-        int sdpIns, int sdpDel, float indelRate,
-        blasr::Alignment &alignment, 
-        std::vector<Fragment> &fragmentSet,
-        std::vector<Fragment> &prefixFragmentSet,
-        std::vector<Fragment> &suffixFragmentSet,
-        T_TupleList &targetTupleList,
-        T_TupleList &targetPrefixTupleList,
-        T_TupleList &targetSuffixTupleList,
-        std::vector<int> &maxFragmentChain,
-        // A few optinal parameters, should delete that last one.
-        AlignmentType alignType,
-        bool detailedAlignment,
-        bool extendFrontByLocalAlignment, 
-        DNALength noRecurseUnder,
-        bool fastSDP,
-        unsigned int minFragmentsToUseGraphPaper) {
-    // minFragmentsToUseGraphPaper: minimum number of fragments to 
-    // use Graph Paper for speed up.
-
-    fragmentSet.clear();
-    prefixFragmentSet.clear();
-    suffixFragmentSet.clear();
-    targetTupleList.clear();
-    targetPrefixTupleList.clear();
-    targetSuffixTupleList.clear();
-    maxFragmentChain.clear();
-
-    //
-    //	Collect a set of matching fragments between query and target.
-    //  Since this function is an inner-loop for alignment, anything to
-    //	speed it up will help.  One way to speed it up is to re-use the
-    //	vectors that contain the sdp matches. 
-    //
-
-    TupleMetrics tm, tmSmall;
-    tm.Initialize(wordSize);
-
-    int smallWordSize = (wordSize < SDP_DETAILED_WORD_SIZE ? wordSize : SDP_DETAILED_WORD_SIZE);
-    tmSmall.Initialize(smallWordSize);
-
-    //
-    // Partition the read into a prefix, middle, and suffix.  The prefix
-    // and suffix are matched using a smaller word size allowing for
-    // higher sensitivity at the ends of reads, which are more likely to
-    // be misaligned.
-    //
-    int prefixLength, middleLength, suffixLength, middlePos, suffixPos; // prefix pos is 0
-    prefixLength = min(target.length, (DNALength) SDP_PREFIX_LENGTH);
-    suffixLength = min(target.length - prefixLength, (DNALength) SDP_SUFFIX_LENGTH);
-    middleLength = target.length - prefixLength - suffixLength;
-
-    DNASequence prefix, middle, suffix;
-    DNASequence qPrefix, qMiddle, qSuffix;
-    DNALength pos = 0;
-    prefix.seq = &target.seq[pos];
-    prefix.length = prefixLength;
-    pos += prefixLength;
-
-    // Align the entire query against the entire target to get alignments 
-    // in the middle.
-    middlePos = 0;
-    middle.seq = &target.seq[0];
-    middle.length = target.length;
-
-    pos += middleLength;
-    suffixPos = pos; // while = prefixLength + middleLength
-    suffix.seq = &target.seq[suffixPos];
-    suffix.length = suffixLength;
-
-    int qPrefixLength, qMiddleLength, qSuffixLength, qMiddlePos, qSuffixPos; // prefix pos is 0
-    qPrefixLength = min(query.length, (DNALength) SDP_PREFIX_LENGTH);
-    qSuffixLength = min(query.length - qPrefixLength, (DNALength) SDP_SUFFIX_LENGTH);
-    qMiddleLength = query.length - qPrefixLength - qSuffixLength;
-
-    pos = 0;
-    qPrefix.seq = &query.seq[pos];
-    qPrefix.length = qPrefixLength;
-
-    // Align the entire query against the entire target to get alignments 
-    // in the middle.
-    qMiddle.seq = &query.seq[0];
-    qMiddle.length = query.length;
-    qMiddlePos = pos += qPrefixLength;
-
-    qSuffixPos = pos += qMiddleLength; // = qPrefixLength + qMiddleLength
-    qSuffix.seq = &query.seq[qSuffixPos];
-    qSuffix.length = qSuffixLength;
-
-	fragmentSet.clear();
-    SequenceToTupleList(prefix, tmSmall, targetPrefixTupleList);
-    SequenceToTupleList(suffix, tmSmall, targetSuffixTupleList);
-    SequenceToTupleList(middle, tm, targetTupleList);
-
-    targetPrefixTupleList.Sort();
-    targetSuffixTupleList.Sort();
-    targetTupleList.Sort();
-
-
-    //
-    // Store in fragmentSet the tuples that match between the target
-    // and query.
-    //
-    StoreMatchingPositions(qPrefix, tmSmall, targetPrefixTupleList, prefixFragmentSet);
-    StoreMatchingPositions(qSuffix, tmSmall, targetSuffixTupleList, suffixFragmentSet);
-    StoreMatchingPositions(qMiddle, tm, targetTupleList, fragmentSet); 
-
-    // 
-    // The method to store matching positions is not weight aware.
-    // Store the weight here.
-    //
-    VectorIndex f;
-
-    for (f = 0; f < suffixFragmentSet.size(); f++) {
-        (suffixFragmentSet)[f].weight = tm.tupleSize;
-        (suffixFragmentSet)[f].length = tmSmall.tupleSize;
-    }
-    for (f = 0; f < prefixFragmentSet.size(); f++) {
-        (prefixFragmentSet)[f].weight = tm.tupleSize;
-        (prefixFragmentSet)[f].length = tmSmall.tupleSize;
-    }
-    for (f = 0; f < fragmentSet.size(); f++) {
-        (fragmentSet)[f].weight = tm.tupleSize;
-        (fragmentSet)[f].length = tm.tupleSize;
-    }
-
-    //
-    // Since different partitions of the read are matched, the locations
-    // of the matches do not have the correct position because of the
-    // offsets.  Fix that here.
-    for (f = 0; f < suffixFragmentSet.size(); f++) {
-        (suffixFragmentSet)[f].x += qSuffixPos;
-        (suffixFragmentSet)[f].y += suffixPos;
-    }
-
-    //
-    // Collect all fragments into one.
-    //
-    fragmentSet.insert(fragmentSet.begin(), prefixFragmentSet.begin(), prefixFragmentSet.end());
-    fragmentSet.insert(fragmentSet.end(), suffixFragmentSet.begin(), suffixFragmentSet.end());
-
-    FlatMatrix2D<int> graphScoreMat;
-    FlatMatrix2D<Arrow> graphPathMat;
-    FlatMatrix2D<int> graphBins;
-    int nOnOpt = fragmentSet.size();
-    if (fragmentSet.size() > minFragmentsToUseGraphPaper and fastSDP) {
-        int nCol = 50;
-        vector<bool> onOptPath(fragmentSet.size(), false);
-        nOnOpt = GraphPaper<Fragment>(fragmentSet, nCol, nCol,
-                                      graphBins, graphScoreMat, 
-                                      graphPathMat, onOptPath);
-        int prev = fragmentSet.size();
-        RemoveOffOpt(fragmentSet, onOptPath);
-    } 
-    graphScoreMat.Clear();
-    graphPathMat.Clear();
-    graphBins.Clear();
-
-    //
-    // Because there are fragments from multiple overlapping regions, remove
-    // any fragments that have the same starting coordinate as a
-    // previous fragment.
-    //
-    std::sort(fragmentSet.begin(), fragmentSet.end(), LexicographicFragmentSort<Fragment>());
-    f = 0;
-    int fCur = 0;
-    while (f + 1 <= fragmentSet.size()) {
-        fragmentSet[fCur] = fragmentSet[f];
-        while (f < fragmentSet.size() and fragmentSet[fCur].x == fragmentSet[f].x and fragmentSet[fCur].y == fragmentSet[f].y) {
-            f++;
-        }
-        fCur++;
-    }
-    fragmentSet.resize(fCur);
-  
-	if (fragmentSet.size() == 0) {
-		//
-		// This requires at least one seeded tuple to begin an alignment.
-		//
-		return 0;
-	}
-
-    //
-    // Find the longest chain of anchors.
-    //
-    SDPLongestCommonSubsequence(query.length, fragmentSet, tm.tupleSize, sdpIns, sdpDel, scoreFn.scoreMatrix[0][0], maxFragmentChain, alignType);
-
-    //
-    // Now turn the max fragment chain into a real alignment.
-    //
-    int startF;
-    blasr::Alignment chainAlignment;
-    alignment.qPos = 0;
-    alignment.tPos = 0;
-    Block block;
-    std::vector<int> fragScoreMat;
-    std::vector<Arrow> fragPathMat;
-
-    //
-    // Patch the sdp fragments into an alignment, possibly breaking the
-    // alignment if the gap between two fragments is too large.
-    //
-    for (f = 0; f < maxFragmentChain.size(); f++ ){ 
-        startF = f;
-        // Condense contiguous stretches.
-        while(f < maxFragmentChain.size()  - 1 and 
-              fragmentSet[maxFragmentChain[f]].x == fragmentSet[maxFragmentChain[f+1]].x - 1 and
-              fragmentSet[maxFragmentChain[f]].y == fragmentSet[maxFragmentChain[f+1]].y - 1) {
-            f++;
-        }
-
-        block.qPos = fragmentSet[maxFragmentChain[startF]].x;
-        block.tPos = fragmentSet[maxFragmentChain[startF]].y;
-
-        // Compute the block length as the difference between the starting
-        // point of the current block and ending point of the last
-        // overlapping block.  This was previously calculated by adding
-        // the number of merged blocks - 1 to the first block length.
-        // When the block lengths are heterogenous, this does not work,
-        // and it would be possible to have a block with a length that
-        // extends past the end of a sequence.  By taking the length as
-        // the difference here, it ensures this will not happen.
-        //
-        block.length = fragmentSet[maxFragmentChain[f]].x + fragmentSet[maxFragmentChain[f]].length - fragmentSet[maxFragmentChain[startF]].x;
-		chainAlignment.blocks.push_back(block);
-	}
-
-	//
-	// It may be possible that in regions of low similarity, spurious matches fit into the LCS.  
-	// Assume that indels cause the matches to diverge from the diagonal on a random walk.  If they 
-	// walk more than 3 standard deviations away from the diagonal, they are probably spurious. 
-	//
-	unsigned int b;
-	chainAlignment.qPos = 0;
-	chainAlignment.tPos = 0;
-
-    for (b = 0; b < chainAlignment.size()-1; b++){ 
-        if (chainAlignment.blocks[b].qPos + chainAlignment.blocks[b].length > chainAlignment.blocks[b+1].qPos) {
-            chainAlignment.blocks[b].length = (chainAlignment.blocks[b+1].qPos - chainAlignment.blocks[b].qPos);
-        }
-        if (chainAlignment.blocks[b].tPos + chainAlignment.blocks[b].length > chainAlignment.blocks[b+1].tPos) {
-            chainAlignment.blocks[b].length = (chainAlignment.blocks[b+1].tPos - chainAlignment.blocks[b].tPos);
-        }
-        // the min indel rate between the two chain blocks is the difference in diagonals between the two sequences.
-        int curDiag, nextDiag, diffDiag;
-        curDiag = chainAlignment.blocks[b].tPos - chainAlignment.blocks[b].qPos;
-        nextDiag = chainAlignment.blocks[b+1].tPos - chainAlignment.blocks[b+1].qPos;
-        diffDiag = std::abs(curDiag - nextDiag);
-
-        //
-        // It is expected that the deviation is at least 1, so discount for this
-        //
-        diffDiag--;
-        // compare the alignment distances.  
-    }
-
-    std::vector<bool> blockIsGood;
-    blockIsGood.resize(chainAlignment.size());
-    fill(blockIsGood.begin(), blockIsGood.end(), true);
-
-    //
-    // The hack that allows anchors of different lengths at the front
-    // and end of alignments (to increase sensitivity at the ends of
-    // sequences) has the side effect that there may be blocks that have
-    // zero length.  This shouldn't happen, so to balance this out
-    // remove blocks that have zero length.
-    //
-    bool badBlock;
-    for (b = 0; b < chainAlignment.size(); b++){ 
-        if (chainAlignment.blocks[b].length == 0) {
-            blockIsGood[b] = false;
-        }
-    }
-    for (b = 1; b < chainAlignment.size()-1; b++){ 
-        // the min indel rate between the two chain blocks is the difference in diagonals between the two sequences.
-        int prevDiag = abs(((int)chainAlignment.blocks[b].tPos -   (int)chainAlignment.blocks[b].qPos)  -
-                ((int)chainAlignment.blocks[b-1].tPos - (int)chainAlignment.blocks[b-1].qPos));
-
-        int prevDist = std::min(chainAlignment.blocks[b].tPos - chainAlignment.blocks[b-1].tPos,
-                chainAlignment.blocks[b].qPos - chainAlignment.blocks[b-1].qPos);
-
-        int nextDiag = abs(((int)chainAlignment.blocks[b+1].tPos - (int)chainAlignment.blocks[b+1].qPos)  -
-                ((int)chainAlignment.blocks[b].tPos -   (int)chainAlignment.blocks[b].qPos));
-
-        int nextDist = std::min(chainAlignment.blocks[b+1].tPos - chainAlignment.blocks[b].tPos,
-                chainAlignment.blocks[b+1].qPos - chainAlignment.blocks[b].qPos);
-
-        if (prevDist * indelRate < prevDiag and nextDist * indelRate < nextDiag) {
-            blockIsGood[b] = false;
-        }
-    }
-
-    for (b = chainAlignment.size(); b > 0; b--) {
-        if (blockIsGood[b-1] == false) {
-            chainAlignment.blocks.erase(chainAlignment.blocks.begin() + b-1);
-        }
-    }
-
-    if (chainAlignment.blocks.size() > 0) {
-        T_QuerySequence  qFragment;
-        T_TargetSequence tFragment;
-        blasr::Alignment fragAlignment;
-        unsigned int fb;
-        if (alignType == Global) {
-            //
-            // For Global alignment, refine the alignment from the beginnings of the
-            // sequences to the start of the first block.
-            //
-            if (chainAlignment.blocks[0].qPos > 0 and
-                chainAlignment.blocks[0].tPos > 0) {
-
-                qFragment.seq = &query.seq[0];
-                qFragment.length = chainAlignment.blocks[0].qPos;
-                tFragment.seq = &target.seq[0];
-                tFragment.length = chainAlignment.blocks[0].tPos;
-                for (fb = 0; fb < alignment.blocks.size(); fb++) {
-                    alignment.blocks.push_back(fragAlignment.blocks[b]);
-                }
-            }
-        }
-        else if (alignType == Local) {
-            // Perform a front-anchored alignment to extend the alignment to
-            // the beginning of the read.
-            if (chainAlignment.blocks[0].qPos > 0 and 
-                    chainAlignment.blocks[0].tPos > 0) {
-                qFragment.seq = (Nucleotide*) &query.seq[0];
-                qFragment.length = chainAlignment.blocks[0].qPos;
-
-                tFragment.seq = (Nucleotide*) &target.seq[0];
-                tFragment.length = chainAlignment.blocks[0].tPos;
-                blasr::Alignment frontAlignment;
-                int frontAlignmentScore;
-                // Currently, there might be some space between the beginning
-                // of the alignment and the beginning of the read.  Run an
-                // EndAnchored alignment that allows free gaps to the start of
-                // where the alignment begins, but normal, ungapped alignment
-                // otherwise. 
-                if (extendFrontByLocalAlignment) {
-                    if (noRecurseUnder == 0 or qFragment.length * tFragment.length < noRecurseUnder) {
-                        frontAlignmentScore  = 
-                            SWAlign(qFragment, tFragment, fragScoreMat, fragPathMat, frontAlignment, scoreFn, EndAnchored);
-                    } else {
-                        // cout << "running recursive sdp alignment. " << endl;
-                        vector<int> recurseFragmentChain;
-                        SDPAlign(qFragment, tFragment, scoreFn,
-                                std::max(wordSize/2, 5),
-                                sdpIns, sdpDel,  indelRate,
-                                frontAlignment,
-                                fragmentSet,
-                                prefixFragmentSet,
-                                suffixFragmentSet,
-                                targetTupleList,
-                                targetPrefixTupleList,
-                                targetSuffixTupleList,
-                                recurseFragmentChain,
-                                alignType, detailedAlignment, 
-                                extendFrontByLocalAlignment, 0);
-                    }
-
-                    unsigned int anchorBlock;
-                    for (anchorBlock = 0; anchorBlock < frontAlignment.blocks.size(); anchorBlock++) {
-                        //
-                        // The front alignment needs to be transformed to the
-                        // coordinate offsets that the chain alignment is in.  This
-                        // is an alignment starting at position 0 in the target and
-                        // query.  Currently, the front alignment is offset into the
-                        // sequences by frontAlignment.[q/t]Pos.
-                        //
-                        frontAlignment.blocks[anchorBlock].tPos += frontAlignment.tPos;
-                        frontAlignment.blocks[anchorBlock].qPos += frontAlignment.qPos;
-                        alignment.blocks.push_back(frontAlignment.blocks[anchorBlock]);
-                    }
-                }
-            }
-        }
-
-		// 
-		// The chain alignment blocks are not complete blocks, so they
-		// must be appended to the true alignment and then patched up.
-		//
-        for (b = 0; b < chainAlignment.size() - 1; b++) {
-            alignment.blocks.push_back(chainAlignment.blocks[b]);
-            int alignScore;
-
-            //
-            // Do a detaied smith-waterman alignment between blocks, if this
-            // is specified.  
-            fragAlignment.Clear();
-            qFragment.Free();
-            qFragment.ReferenceSubstring(query, chainAlignment.blocks[b].qPos + chainAlignment.blocks[b].length);
-            qFragment.length = chainAlignment.blocks[b+1].qPos - 
-                (chainAlignment.blocks[b].qPos + chainAlignment.blocks[b].length);
-
-            tFragment.seq    = &(target.seq[chainAlignment.blocks[b].tPos + chainAlignment.blocks[b].length]);
-            tFragment.length = (chainAlignment.blocks[b+1].tPos - 
-                    (chainAlignment.blocks[b].tPos + chainAlignment.blocks[b].length));
-
-            if (qFragment.length > 0 and 
-                    tFragment.length > 0 and
-                    detailedAlignment == true) {
-
-                if (noRecurseUnder == 0 or qFragment.length * tFragment.length < noRecurseUnder) {
-                    alignScore = SWAlign(qFragment, tFragment, fragScoreMat, fragPathMat, fragAlignment, scoreFn, Global);
-                }
-                else {
-                    //          cout << "running recursive sdp alignment on " << qFragment.length * tFragment.length << endl;
-                    std::vector<int> recurseFragmentChain;
-                    SDPAlign(qFragment, tFragment, scoreFn,
-                            std::max(wordSize/2, 5),
-                            sdpIns, sdpDel,  indelRate,
-                            fragAlignment,
-                            fragmentSet,
-                            prefixFragmentSet,
-                            suffixFragmentSet,
-                            targetTupleList,
-                            targetPrefixTupleList,
-                            targetSuffixTupleList,
-                            recurseFragmentChain,
-                            alignType, detailedAlignment, 0, 0);
-                }
-                fragAlignment.qPos = 0;
-                fragAlignment.tPos = 0;
-
-                int qOffset = chainAlignment.blocks[b].qPos + chainAlignment.blocks[b].length;
-                int tOffset = chainAlignment.blocks[b].tPos + chainAlignment.blocks[b].length;
-
-                for (fb = 0; fb < fragAlignment.blocks.size(); fb++) {
-                    fragAlignment.blocks[fb].qPos += qOffset;
-                    fragAlignment.blocks[fb].tPos += tOffset;
-                    alignment.blocks.push_back(fragAlignment.blocks[fb]);
-                }
-            }
-        }
-        int lastBlock = chainAlignment.blocks.size() - 1;
-        if (alignType == Global or alignType == Local) {
-            if (chainAlignment.size() > 0) {
-                // Add the last block.
-                alignment.blocks.push_back(chainAlignment.blocks[lastBlock]);
-                if (alignType == Global and detailedAlignment == true) {
-                    //
-                    // When doing a global alignment, the sequence from the end of
-                    // the last block of the query should be aligned to the end of 
-                    // the text.
-                    //
-                    qFragment.Free();
-                    qFragment.ReferenceSubstring(query, chainAlignment.blocks[lastBlock].qPos + chainAlignment.blocks[lastBlock].length,
-                            query.length -  
-                            (chainAlignment.blocks[lastBlock].qPos + chainAlignment.blocks[lastBlock].length));
-
-                    tFragment.seq    = &(target.seq[chainAlignment.blocks[lastBlock].tPos + chainAlignment.blocks[lastBlock].length]);
-                    tFragment.length = (target.length - 
-                            (chainAlignment.blocks[lastBlock].tPos + chainAlignment.blocks[lastBlock].length));
-                    if (qFragment.length > 0 and
-                            tFragment.length > 0 ) {
-
-                        if (extendFrontByLocalAlignment) {
-
-                            fragAlignment.Clear();
-                            if (qFragment.length * tFragment.length > 10000) {
-                                //              cout << "Cautin: slow alignment crossing! " << qFragment.length  << " " << tFragment.length << endl;
-                            }
-
-                            if (noRecurseUnder == 0 or qFragment.length * tFragment.length < noRecurseUnder) {
-                                SWAlign(qFragment, tFragment, fragScoreMat, fragPathMat, fragAlignment, scoreFn, EndAnchored);
-                            }
-                            else {
-                                std::vector<int> recurseFragmentChain;
-                                SDPAlign(qFragment, tFragment, scoreFn,
-                                        std::max(wordSize/2, 5),
-                                        sdpIns, sdpDel,  indelRate,
-                                        fragAlignment,
-                                        fragmentSet,
-                                        prefixFragmentSet,
-                                        suffixFragmentSet,
-                                        targetTupleList,
-                                        targetPrefixTupleList,
-                                        targetSuffixTupleList,
-                                        recurseFragmentChain,
-                                        alignType, detailedAlignment, extendFrontByLocalAlignment, 0);
-                            }
-
-
-
-                            int qOffset = chainAlignment.blocks[lastBlock].qPos + chainAlignment.blocks[lastBlock].length;
-                            int tOffset = chainAlignment.blocks[lastBlock].tPos + chainAlignment.blocks[lastBlock].length;
-                            unsigned int fb;
-                            for (fb = 0; fb < fragAlignment.size(); fb++) { 
-                                fragAlignment.blocks[fb].qPos += qOffset;
-                                fragAlignment.blocks[fb].tPos += tOffset;
-                                alignment.blocks.push_back(fragAlignment.blocks[fb]);
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-    if (alignType == Local) {
-        alignment.tPos = alignment.blocks[0].tPos;
-        alignment.qPos = alignment.blocks[0].qPos;
-        VectorIndex b;
-        for (b = 0; b < alignment.blocks.size(); b++) { 
-            alignment.blocks[b].qPos -= alignment.qPos;
-            alignment.blocks[b].tPos -= alignment.tPos;
-        }
-    }
-    int alignmentScore;
-    /*	ofstream queryOut("query.fasta");
-        FASTASequence tmp;
-        ((DNASequence&)tmp).Copy(query);
-        tmp.CopyTitle("query");
-        tmp.PrintSeq(queryOut);
-        queryOut.close();
-        ofstream targetOut("target.fasta");
-        ((DNASequence&)tmp).Copy(target);
-        tmp.CopyTitle("target");
-        tmp.PrintSeq(targetOut);
-        targetOut.close();
-        */
-    alignmentScore = ComputeAlignmentScore(alignment, query, target, scoreFn);
-    return alignmentScore;
-}
-
-#endif //_BLASR_SDP_ALIGN_IMPL_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/SWAlign.hpp b/libcpp/alignment/algorithms/alignment/SWAlign.hpp
deleted file mode 100644
index a92b60b..0000000
--- a/libcpp/alignment/algorithms/alignment/SWAlign.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef _BLASR_SW_ALIGN_HPP_
-#define _BLASR_SW_ALIGN_HPP_
-
-template<typename T_QuerySequence, typename T_TargetSequence, typename T_Alignment, typename T_ScoreFn>
-int SWAlign(T_QuerySequence &qSeq, T_TargetSequence &tSeq, 
-        std::vector<int> &scoreMat,
-        std::vector<Arrow> &pathMat, 
-        T_Alignment &alignment,
-        T_ScoreFn &scoreFn,
-        AlignmentType alignType = Local,
-        bool trustSequences = false,
-        bool printMatrix = false
-        ); 
-
-#include "SWAlignImpl.hpp"
-
-#endif // _BLASR_SW_ALIGN_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/SWAlignImpl.hpp b/libcpp/alignment/algorithms/alignment/SWAlignImpl.hpp
deleted file mode 100644
index b30ec10..0000000
--- a/libcpp/alignment/algorithms/alignment/SWAlignImpl.hpp
+++ /dev/null
@@ -1,389 +0,0 @@
-#include <algorithm>
-#include <vector>
-#include <stdint.h>
-#include <iostream>
-#include <ostream>
-#include "Types.h"
-#include "defs.h"
-#include "DNASequence.hpp"
-#include "matrix/FlatMatrix.hpp"
-#include "datastructures/alignment/Path.h"
-#include "datastructures/alignment/AlignmentMap.hpp"
-#include "datastructures/alignment/AlignmentStats.hpp"
-#include "datastructures/alignment/Alignment.hpp"
-#include "AlignmentUtils.hpp"
-#include "SWAlign.hpp"
-
-template<typename T_QuerySequence, typename T_TargetSequence, typename T_Alignment, typename T_ScoreFn>
-int SWAlign(T_QuerySequence &qSeq, T_TargetSequence &tSeq, 
-        std::vector<int> &scoreMat,
-        std::vector<Arrow> &pathMat, 
-        T_Alignment &alignment,
-        T_ScoreFn &scoreFn,
-        AlignmentType alignType,
-        bool trustSequences,
-        bool printMatrix
-        ) {
-    VectorIndex nRows = qSeq.length + 1;
-    VectorIndex nCols = tSeq.length + 1;
-
-    VectorIndex totalMatSize = nRows * nCols;
-    if (scoreMat.size() < totalMatSize) {
-        scoreMat.resize(totalMatSize);
-        pathMat.resize(totalMatSize);
-    }
-
-
-    // 
-    // Initialze matrices
-    std::fill(scoreMat.begin(), scoreMat.begin() + totalMatSize, 0);
-    std::fill(pathMat.begin(), pathMat.begin() + totalMatSize, NoArrow);
-
-    //
-    // Initialize boundary conditions.
-    //
-    int r = 0, c = 0;
-    if (alignType == Global or alignType == ScoreGlobal
-            or alignType == FrontAnchored or alignType == ScoreFrontAnchored) {
-        //
-        // Global alignments penalize gaps at the beginning of both
-        // sequences.
-        //
-        for (c = 0; c < (int) tSeq.length + 1; c++ ){
-            scoreMat[rc2index(0, c, tSeq.length + 1)] = scoreFn.del * c;
-            pathMat[rc2index(0, c, tSeq.length + 1)]  = Left;
-        }
-
-        for (r = 0; r < (int) qSeq.length + 1; r++ ){ 
-            scoreMat[rc2index(r,0, tSeq.length + 1)]  = scoreFn.ins * r;
-            pathMat[rc2index(r, 0, tSeq.length + 1)]  = Up;
-        }
-    }
-    else if (alignType == Local or alignType == ScoreLocal or alignType == LocalBoundaries
-            // end anchoring requires free gap penalties at the
-            // beginning of sequences.  
-            or alignType == EndAnchored or alignType == ScoreEndAnchored) {
-        // 
-        // Local alignments may shave off the beginning of either read.
-        // No penalties at the starts of reads.
-        //
-        for (c = 0; c < (int) tSeq.length + 1; c++ ){
-            scoreMat[rc2index(0, c, tSeq.length + 1)] = 0;
-            pathMat[rc2index(0, c, tSeq.length + 1)]  = NoArrow;
-        }
-        for (r = 0; r < (int) qSeq.length + 1; r++ ){ 
-            scoreMat[rc2index(r,0, tSeq.length + 1)]  = 0;
-            pathMat[rc2index(r, 0, tSeq.length + 1)]  = NoArrow;
-        }
-    }
-    else if (alignType == QueryFit or alignType == ScoreQueryFit) {
-        //
-        // Query fit allows free gaps at the beginning and end
-        // of the target sequence.
-        //
-        for (c = 0; c < (int) tSeq.length + 1; c++ ){
-            scoreMat[rc2index(0, c, tSeq.length + 1)] = 0;
-            pathMat[rc2index(0, c, tSeq.length + 1)]  = Left;
-        }
-        for (r = 0; r < (int) qSeq.length + 1; r++ ){ 
-            scoreMat[rc2index(r,0, tSeq.length + 1)]  = scoreFn.ins * r;
-            pathMat[rc2index(r, 0, tSeq.length + 1)]  = Up;
-        }
-    }		
-    else if (alignType == TargetFit or alignType == ScoreTargetFit) {
-        //
-        // Query fit allows free gaps at the beginning and end
-        // of the target sequence.
-        //
-        for (c = 0; c < (int) tSeq.length + 1; c++ ){
-            scoreMat[rc2index(0, c, tSeq.length + 1)] = scoreFn.del * c;
-            pathMat[rc2index(0, c, tSeq.length + 1)]  = Left;
-        }
-        for (r = 0; r < (int) qSeq.length + 1; r++ ){ 
-            scoreMat[rc2index(r,0, tSeq.length + 1)]  = 0;
-            pathMat[rc2index(r, 0, tSeq.length + 1)]  = Up;
-        }
-    }		
-    else if (alignType == Overlap        or alignType == ScoreOverlap or 
-            alignType == TSuffixQPrefix or alignType == ScoreTSuffixQPrefix) {
-        //
-        // Overlap alignments allow a gap at the beginning of the 
-        // query, and at the end of the target.
-        //
-        for (r = 0; r < (int) qSeq.length + 1; r++ ){ 
-            scoreMat[rc2index(r,0, tSeq.length + 1)]  = scoreFn.ins*r;
-            pathMat[rc2index(r, 0, tSeq.length + 1)]  = Up;
-        }
-        for (c = 0; c < (int) tSeq.length + 1; c++ ){
-            scoreMat[rc2index(0, c, tSeq.length + 1)] = 0;
-            pathMat[rc2index(0, c, tSeq.length + 1)]  = Left;
-        }
-    }
-    else if (alignType == TPrefixQSuffix or alignType == ScoreTPrefixQSuffix) {
-        //
-        // Overlap alignments allow a gap at the beginning of the 
-        // query, and at the end of the target.
-        //
-        for (c = 0; c < (int) tSeq.length + 1; c++ ){
-            scoreMat[rc2index(0, c, tSeq.length + 1)] = scoreFn.del * c;
-            pathMat[rc2index(0, c, tSeq.length + 1)]  = Left;
-        }
-        for (r = 0; r < (int) qSeq.length + 1; r++ ){ 
-            scoreMat[rc2index(r,0, tSeq.length + 1)]  = 0;
-            pathMat[rc2index(r, 0, tSeq.length + 1)]  = Up;
-        }
-    }
-
-    pathMat[0] = Diagonal;
-
-    int match, qGap, tGap;
-
-    //
-    // Begin matrix pointers after the 
-    int *matchScorePtr = &scoreMat[0];
-    int *gapQScorePtr  = &scoreMat[1];
-    int *gapTScorePtr  = &scoreMat[tSeq.length + 1 ];
-    int *curScorePtr   = &scoreMat[tSeq.length + 2 ];
-    Arrow *optPathPtr  = &pathMat[tSeq.length + 2];
-    int minScore;
-
-    int localMinScore = 0;
-    int localMinRow = 0;
-    int localMinCol = 0;
-    for (r = 0; r < (int) qSeq.length; r++ ){
-        for (c = 0; c < (int) tSeq.length; c++ ) {
-            //
-            // r+1, c+1 is the current row /col in the score and path mat.
-            //
-
-            //match = matchMat[TwoBit[qSeq.seq[r]]][TwoBit[tSeq.seq[c]]] + *matchScorePtr;
-            //			qGap  = *gapQScorePtr + gap;
-            //			tGap  = *gapTScorePtr + gap;
-            match = scoreFn.Match(tSeq, c, qSeq, r) + scoreMat[rc2index(r,c,nCols)];
-            qGap  = scoreMat[rc2index(r,c+1, nCols)] + scoreFn.Insertion(tSeq, r+1, qSeq, c);
-            tGap  = scoreMat[rc2index(r+1,c, nCols)] + scoreFn.Deletion(tSeq, r, qSeq, c+1);
-            minScore = MIN(match, MIN(qGap, tGap));
-            if (minScore < localMinScore) {
-                localMinScore = minScore;
-                localMinRow = r;
-                localMinCol = c;
-            }
-
-            if (minScore > 0 and 
-                    (alignType == Local or alignType == ScoreLocal or 
-                     alignType == LocalBoundaries or 
-                     alignType == EndAnchored or alignType == ScoreEndAnchored )) {
-                *curScorePtr = 0;
-                *optPathPtr  = NoArrow;
-            }
-            // This staement will get easier when the alignTypes are bitfields.
-            // Not sure why this explicitly checks all conditions.
-            else if (alignType == Local         or alignType == Global or
-                    alignType == QueryFit      or alignType == Overlap or
-                    alignType == TargetFit     or alignType == ScoreTargetFit or 
-                    alignType == ScoreLocal    or alignType == ScoreGlobal or
-                    alignType == ScoreQueryFit or alignType == ScoreOverlap or
-                    alignType == FrontAnchored or alignType == ScoreFrontAnchored or 
-                    alignType == EndAnchored   or alignType == ScoreEndAnchored or
-                    alignType == LocalBoundaries or
-                    alignType == TPrefixQSuffix or alignType == ScoreTPrefixQSuffix or
-                    alignType == TSuffixQPrefix or alignType == ScoreTSuffixQPrefix ) {
-                *curScorePtr = minScore;
-                //		scoreMat[rc2index(r+1,c+1, tl)] = minScore;
-                if (minScore == match) {
-                    *optPathPtr = Diagonal;
-                    //pathMat[rc2index(r+1,c+1,tl)] = Diagonal;
-                }
-                else if (minScore == qGap) {
-                    *optPathPtr = Up;
-                    //pathMat[rc2index(r+1,c+1, tl)] = Up;
-                }
-                else if (minScore == tGap) {
-                    *optPathPtr = Left;
-                    //pathMat[rc2index(r+1,c+1, tl)] = Left;
-                }
-            }
-            ++matchScorePtr;
-            ++gapTScorePtr;
-            ++gapQScorePtr;
-            ++curScorePtr;
-            ++optPathPtr;
-        }
-        // Done processing a row.  
-        // This leaves the pointers starting at the first column in the next row
-        // which is a boundary column. Advance one more.
-        //
-        ++matchScorePtr;
-        ++gapTScorePtr;
-        ++gapQScorePtr;
-        ++curScorePtr;
-        ++optPathPtr;
-    }
-    //
-    // Now trace back in the pairwise alignment.	
-    // 
-
-    // The location of the trace back depends on the type of alignment that is done.
-    int minRow = 0, minCol = 0;
-    if (alignType == Global or alignType == ScoreGlobal or 
-            alignType == EndAnchored or alignType == ScoreEndAnchored ) {
-        // start at bottom right of matrix.
-        r = qSeq.length;
-        c = tSeq.length;
-        minRow = r;
-        minCol = c;
-    }
-    else if (alignType == Local or alignType == ScoreLocal or
-            alignType == FrontAnchored or alignType == ScoreFrontAnchored or 
-            alignType == LocalBoundaries) {
-        // start at cell that gives the highest score.
-        r = localMinRow;
-        c = localMinCol;
-        minRow = r;
-        minCol = c;
-    }
-    else if (alignType == QueryFit       or alignType == Overlap or 
-            alignType == ScoreQueryFit  or alignType == ScoreOverlap) {
-        // Start at the point at the end of the target that gives the highest score, but has the
-        // end query sequence alignment.
-
-        r = nRows-1;
-        int minScore = scoreMat[rc2index(nRows-1, 1, nCols)];
-        minCol   = 1;
-        for (c = 2; c < (int) nCols; c++ ) {
-            if (scoreMat[rc2index(nRows-1, c, nCols)] < minScore) {
-                minScore = scoreMat[rc2index(nRows-1, c, nCols)];
-                minCol = c;
-            }
-        }
-        c = minCol;
-        minRow = nRows - 1;
-    }
-    else if (alignType == TargetFit or alignType == ScoreTargetFit) {
-        // Start at the point at the end of the target that gives the highest score, but has the
-        // end query sequence alignment.
-
-        //
-        // Always trace back from the end of the target.
-        //
-        minCol =  nCols-1;
-        c = nCols-1;
-        r = 0;
-        int minScore = scoreMat[rc2index(1, nCols-1, nCols)];
-        for (r = 2; r < (int) nRows; r++ ) {
-            if (scoreMat[rc2index(r, nCols-1, nCols)] < minScore) {
-                minScore = scoreMat[rc2index(r, nCols-1, nCols)];
-                minRow = r;
-            }
-        }
-        // store where to trace back from in the query.
-        r = minRow;
-    }
-    else if (alignType == TSuffixQPrefix or alignType == ScoreTSuffixQPrefix) {
-        // Start at the point at the end of the target that gives the highest score, but has the
-        // end query sequence alignment.
-        c = nCols - 1;
-        r = 1;
-
-        int minScore = scoreMat[rc2index(1, nCols-1, nCols)];
-        minRow = 1;
-        for (r = 2; r < (int) nRows; r++) {
-            if (scoreMat[rc2index(r, nCols-1, nCols)] < minScore) {
-                minScore = scoreMat[rc2index(r, nCols-1, nCols)];
-                minRow = r;
-            }
-        }
-        r = minRow;
-        minCol = nCols - 1;
-    }
-    else if (alignType == TPrefixQSuffix or alignType == ScoreTPrefixQSuffix) {
-        r = nRows-1;
-        int minScore = scoreMat[rc2index(nRows-1, 1, nCols)];
-        minCol   = 1;
-        for (c = 2; c < (int) nCols; c++ ) {
-            if (scoreMat[rc2index(nRows-1, c, nCols)] < minScore) {
-                minScore = scoreMat[rc2index(nRows-1, c, nCols)];
-                minCol = c;
-            }
-        }
-        c = minCol;
-        minRow = nRows - 1;
-    }
-    /*
-       PrintFlatMatrix(&scoreMat[0], nRows, nCols, cout);
-       PrintFlatMatrix(&pathMat[0], nRows,nCols, cout);
-       */
-    if (alignType != ScoreGlobal and
-            alignType != ScoreLocal and
-            alignType != ScoreQueryFit and
-            alignType != ScoreOverlap and 
-            alignType != ScoreTPrefixQSuffix and
-            alignType != ScoreTSuffixQPrefix) {
-        std::vector<Arrow>  optAlignment;
-        Arrow arrow;
-        while (((alignType == Global   or alignType == FrontAnchored ) and (r > 0 or c > 0)) or // global alignment stops at top corner
-                ((alignType == QueryFit or 
-                  alignType == Overlap or 
-                  alignType == TSuffixQPrefix) and r > 0) or 
-                ((alignType == TPrefixQSuffix) and c > 0) or 
-                (alignType == TargetFit and c > 0) or 
-                // local alignment stops at top corner -or- when new local alignment started.
-                ((alignType == Local    or alignType == EndAnchored or alignType == LocalBoundaries)
-                 and r > 0 and c > 0 and pathMat[r*nCols+c] != NoArrow)
-              ) {
-            arrow = pathMat[rc2index(r, c, nCols)];
-
-            //
-            // When the alignment type is localBoundaries, it is not necessary to store
-            // the actual alignment.  Only the starting positions and lengts will be stored.
-            //
-            if (alignType != LocalBoundaries) {
-                optAlignment.push_back(arrow);
-            }
-            if (arrow == Diagonal) {
-                r--;
-                c--;
-            }
-            else if (arrow == Up) {
-                r--;
-            }
-            else if (arrow == Left) {
-                c--;
-            }
-        }
-        // remove the boundary condition that is added for global alignment.
-        if (alignType == LocalBoundaries and alignType != Local and alignType != EndAnchored and optAlignment.size() > 0) 
-            optAlignment.pop_back();
-        if (optAlignment.size() > 1) 
-            std::reverse(optAlignment.begin(), optAlignment.end());
-        if (optAlignment.size() > 0) 
-            alignment.ArrowPathToAlignment(optAlignment);
-
-        //
-        // If running a local alignment, the alignment does not
-        // explicityly encode the gaps at the beginning and ending of the
-        // alignment.  These are stored in the qPos and tPos fields.
-        //
-        if (alignType == TSuffixQPrefix or alignType == TPrefixQSuffix) {
-            alignment.qPos = r;
-            alignment.tPos = c;
-        }
-        else if (alignType == Local or alignType == EndAnchored or alignType == LocalBoundaries) {
-            alignment.qPos = r;
-            alignment.tPos = c;
-            alignment.qLength = localMinRow - alignment.qPos + 1;
-            alignment.tLength = localMinCol - alignment.tPos + 1;
-        }
-        else if (alignType == QueryFit or alignType == TargetFit) {
-            alignment.qPos = r;
-            alignment.tPos = c;
-        }
-
-    }
-    if (printMatrix) {
-        PrintFlatMatrix( &scoreMat[0], qSeq.length + 1, tSeq.length + 1, std::cout);
-        std::cout << std::endl;
-        PrintFlatMatrix( &pathMat[0], qSeq.length + 1, tSeq.length + 1, std::cout);	
-    }
-    return scoreMat[rc2index(minRow, minCol, nCols)];
-}
diff --git a/libcpp/alignment/algorithms/alignment/ScoreMatrices.cpp b/libcpp/alignment/algorithms/alignment/ScoreMatrices.cpp
deleted file mode 100644
index 5aa06cc..0000000
--- a/libcpp/alignment/algorithms/alignment/ScoreMatrices.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-#include "ScoreMatrices.hpp"
-
-int QVDistanceMatrix[5][5] = {
-	{-1, 1, 1, 1, 1},
-	{1, -1, 1, 1, 1},
-	{1, 1, -1, 1, 1},
-	{1, 1, 1, -1, 1},
-	{1, 1, 1, 1, 1}
-};
-
-int EditDistanceMatrix[5][5] = {
-	{0, 1, 1, 1, 1},
-	{1, 0, 1, 1, 1},
-	{1, 1, 0, 1, 1},
-	{1, 1, 1, 0, 1},
-	{1, 1, 1, 1, 1}
-};
-
-int SMRTDistanceMatrix[5][5] = {
-	{-5, 6, 6, 6, 6},
-	{6, -5, 6, 6, 6},
-	{6, 6, -5, 6, 6},
-	{6, 6, 6, -5, 6},
-	{6, 6, 6, 6,  0}
-};
-
-int SMRTLogProbMatrix[5][5] = {
-  {0, 15, 15, 15, 15},
-  {15, 0, 15, 15, 15},
-  {15, 15, 0, 15, 15},
-  {15, 15, 15, 0, 15},
-  {15, 15, 15, 15, 0},
-};
-
-int LowMutationMatrix[5][5] = {
-	{0, 5, 5, 5, 5},
-	{5, 0, 5, 5, 5},
-	{5, 5, 0, 5, 5},
-	{5, 5, 5, 0, 5},
-	{5, 5, 5,  5, 5}
-};
-
-int LocalAlignLowMutationMatrix[5][5] = {
-	{-2, 5, 5, 5, 5},
-	{5, -2, 5, 5, 5},
-	{5, 5, -2, 5, 5},
-	{5, 5, 5, -2, 5},
-	{5, 5, 5,  5, 5}
-};
-
-int CrossMatchMatrix[5][5] = {
-	{-1, 2, 2, 2, 2},
-	{2, -1, 2, 2, 2},
-	{2, 2, -1, 2, 2},
-	{2, 2, 2, -1, 2},
-	{2, 2, 2,  2, 2}
-};
-
diff --git a/libcpp/alignment/algorithms/alignment/ScoreMatrices.hpp b/libcpp/alignment/algorithms/alignment/ScoreMatrices.hpp
deleted file mode 100644
index e948cf6..0000000
--- a/libcpp/alignment/algorithms/alignment/ScoreMatrices.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef _BLASR_SCORE_MATRICES_HPP_
-#define _BLASR_SCORE_MATRICES_HPP_
-
-extern int QVDistanceMatrix[5][5]; 
-
-extern int EditDistanceMatrix[5][5]; 
-
-extern int SMRTDistanceMatrix[5][5]; 
-
-extern int SMRTLogProbMatrix[5][5]; 
-
-extern int LowMutationMatrix[5][5]; 
-
-extern int LocalAlignLowMutationMatrix[5][5]; 
-
-extern int CrossMatchMatrix[5][5];
-
-#endif // _BLASR_SCORE_MATRICES_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/StringToScoreMatrix.cpp b/libcpp/alignment/algorithms/alignment/StringToScoreMatrix.cpp
deleted file mode 100644
index ea48abe..0000000
--- a/libcpp/alignment/algorithms/alignment/StringToScoreMatrix.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-#include "StringToScoreMatrix.hpp"
-
-bool StringToScoreMatrix(std::string &str, int matrix[5][5]) {
-    std::stringstream strm(str);
-    std::vector<int> values;
-    while(strm) {
-        int val;
-        if ((strm >> val)) {
-            values.push_back(val);
-        }
-    }
-    if (values.size() != 25) {
-        return 0;
-    }
-    else {
-        int i,j;
-        int index = 0;
-        for (i = 0; i < 5; i++) {
-            for (j = 0; j < 5; j++) {
-                matrix[i][j] = values[index];
-                ++index;
-            }
-        }
-        return true;
-    }
-}
diff --git a/libcpp/alignment/algorithms/alignment/StringToScoreMatrix.hpp b/libcpp/alignment/algorithms/alignment/StringToScoreMatrix.hpp
deleted file mode 100644
index b1f415c..0000000
--- a/libcpp/alignment/algorithms/alignment/StringToScoreMatrix.hpp
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef _BLASR_STRING_TO_SCORE_MATRIX_HPP_
-#define _BLASR_STRING_TO_SCORE_MATRIX_HPP_
-
-#include <string>
-#include <sstream>
-#include <vector>
-
-bool StringToScoreMatrix(std::string &str, int matrix[5][5]);
-#endif
diff --git a/libcpp/alignment/algorithms/alignment/sdp/FragmentSort.hpp b/libcpp/alignment/algorithms/alignment/sdp/FragmentSort.hpp
deleted file mode 100644
index f665833..0000000
--- a/libcpp/alignment/algorithms/alignment/sdp/FragmentSort.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef _BLASR_FRAGMENT_SORT_HPP_
-#define _BLASR_FRAGMENT_SORT_HPP_
-
-
-template<typename T_Fragment>
-class LexicographicFragmentSort {
-public:
-	int operator()(const T_Fragment &a, const T_Fragment &b) const; 
-};
-
-template<typename T_Fragment>
-class LexicographicFragmentSortByY {
-public:
-	int operator()(const T_Fragment &a, const T_Fragment &b) const;
-};
-
-#include "FragmentSortImpl.hpp"
-
-#endif // _BLASR_FRAGMENT_SORT_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/sdp/FragmentSortImpl.hpp b/libcpp/alignment/algorithms/alignment/sdp/FragmentSortImpl.hpp
deleted file mode 100644
index b9a3aa8..0000000
--- a/libcpp/alignment/algorithms/alignment/sdp/FragmentSortImpl.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-#include "FragmentSort.hpp"
-
-template<typename T_Fragment>
-int 
-LexicographicFragmentSort<T_Fragment>::operator()
-    (const T_Fragment &a, const T_Fragment &b) const {
-    return a.LessThanXY(b);
-}
-
-template<typename T_Fragment>
-int 
-LexicographicFragmentSortByY<T_Fragment>::operator()
-    (const T_Fragment &a, const T_Fragment &b) const {
-    return a.LessThanYX(b);
-}
-
diff --git a/libcpp/alignment/algorithms/alignment/sdp/NonoverlappingSparseDynamicProgramming.h b/libcpp/alignment/algorithms/alignment/sdp/NonoverlappingSparseDynamicProgramming.h
deleted file mode 100644
index 148c16d..0000000
--- a/libcpp/alignment/algorithms/alignment/sdp/NonoverlappingSparseDynamicProgramming.h
+++ /dev/null
@@ -1,193 +0,0 @@
-#ifndef NONOVERLAPPING_SPARSE_DYNAMIC_PROGRAMMING_H_
-#define NONOVERLAPPING_SPARSE_DYNAMIC_PROGRAMMING_H_
-
-/*
- *
- * Compute the subset of fragmentSet of largest weight that is not overlapping.
- *
- */
-#include "FragmentSort.h"
-#include "SDPSet.h"
-#include "SDPFragment.h"
-#include "SDPColumn.h"
-#include "../AlignmentUtils.h"
-#include "../../../datastructures/alignment/Alignment.h"
-
-
-template<typename T_Fragment>
-int SDPHeaviestSubsequence(int queryLength,
-													 vector<T_Fragment> &fragmentSet,
-													 int indel, int match,
-													 vector<int> &maxFragmentChain,
-													 AlignmentType alignType=Global) {
-
-	maxFragmentChain.clear();
-
-	if (fragmentSet.size() < 1)
-		return 0;
-		
-	std::sort(fragmentSet.begin(), fragmentSet.end(), LexicographicFragmentSort<T_Fragment>());
-
-	SDPSet<SDPColumn> activeSet;
-
-	int sweepX;
-	int trailRow;
-	int fSweep;
-	int fi;
-	for (fi = 0; fi < fragmentSet.size(); fi++) {
-		fragmentSet[fi].index = fi;
-	}
-
-	sweepX = fragmentSet[0].x;
-
-	fSweep = 0;
-	int maxChainLength = 0;
-	int maxChainFragment = -1;
-	int minFragmentCost, minFragmentIndex;
-	minFragmentCost = INF_INT;
-	minFragmentIndex = -1;
-	for (sweepX = 0; sweepX < queryLength; sweepX++) {
-		//
-		// For each fragment ending in sweepX, attempt to compute its cost
-		// by looking for the best previous match.
-		//
-		int fSweepStart = fSweep;
-		while (fSweep < fragmentSet.size() and 
-					 fragmentSet[fSweep].x == sweepX) {
-
-			//
-			// Compute the cost of every fragment in the sweep.
-			//
-			int cp = INF_INT, cl = INF_INT, ca = INF_INT;
-			SDPColumn curCol, predCol;
-			curCol.col = fragmentSet[fSweep].y;
-			//
-			// Search preceeding fragments.
-			//
-
-			//
-			// Compute the cost of fragment_f
-			int foundPrev = 0;
-			T_Fragment fragStartPoint;
-			fragStartPoint.x = fragmentSet[fSweep].x - fragmentSet[fSweep].GetLength();
-			fragStartPoint.y = fragmentSet[fSweep].y - fragmentSet[fSweep].GetLength();
-			T_Fragment predFrag;
-			
-			int predFragScore;
-			
-			if (activeSet.Predecessor(fragStartPoint, predFrag)) {
-				//
-				// predCol points to the fragment with greatest value less than curCol.
-				// 
-				predFragScore = fragmentSet[predCol.optFragment].cost + 
-					abs((fragmentSet[fSweep].x - fragmentSet[fSweep].y)
-							- (fragmentSet[predCol.optFragment].x - fragmentSet[predCol.optFragment].y)) * indel;
-				foundPrev = 1;
-			}
-
-			//
-			// Now assign the score for the fragment.  When doing a local alignment
-			// start a new chain if the score is not good.
-			
-			if (foundPrev and 
-					(alignType == Global or
-					 (alignType == Local and predFragScore < 0))) {				
-				fragmentSet[fSweep].chainPrev = predCol.optFragment;
-				fragmentSet[fSweep].cost = predFragScore - fragmentSet[fSweep].weight;
-				fragmentSet[fSweep].chainLength = fragmentSet[fragmentSet[fSweep].chainPrev].chainLength + 1;
-			}
-			else {
-				fragmentSet[fSweep].chainPrev = -1;
-				fragmentSet[fSweep].cost = fragmentSet[fSweep].GetLength() * match - fragmentSet[fSweep].weight;
-				fragmentSet[fSweep].chainLength = 1;
-			}
-			
-			if (minFragmentCost > fragmentSet[fSweep].cost) {
-				minFragmentCost  = fragmentSet[fSweep].cost;
-				minFragmentIndex = fSweep;
-				//	maxChainLength = fragmentSet[fSweep].chainLength;
-			}
-			
-			if (fragmentSet[fSweep].chainLength > maxChainLength) {
-				maxChainLength = fragmentSet[fSweep].chainLength;
-				maxChainFragment = fSweep;
-			}
-
-			fSweep++;
-		}
-		
-		//
-		// Each column must contain the highest scoring hit in that column. 
-		//
-		fSweep = fSweepStart;
-		while (fSweep < fragmentSet.size() and
-					 fragmentSet[fSweep].x == sweepX) {
-			//
-			// These elements are removed from the sweep set since they are done being processed.
-			// If they are the lowest cost in the value, update activeSet
-			//
-			SDPColumn col;
-			int storeCol = 0;
-			col.col = fragmentSet[fSweep].y;
-
-			if (activeSet.Member(col)) {
-				if (fragmentSet[col.optFragment].cost < fragmentSet[fSweep].cost) {
-					storeCol = 1;
-				}
-			}
-			else {
-				storeCol = 1;
-			}
-			if (storeCol) {
-				col.col = fragmentSet[fSweep].y;
-				col.optFragment = fSweep;
-				// 
-				// Insert new column or replace col with a more optimal one.
-				//
-				activeSet.Insert(col);
-
-				// 
-				// The invariant structure of the activeSet is that
-				// after inserting a fragment of score S at column col, 
-				// the score of all columns greater than 'col' in col set
-				// must be less than col. 
-				//
-				// To preserve this invariant, when an element is inserted
-				// at 'col', look to columns greater.  As long as any columns
-				// have scores that are greater than col, remove them.
-				// Once a column col_next has been found that has a score less than S
-				// by the structure of the loop invariant, all columns greater than col_next
-				// are guaranteed to have lower score than S, so we can continue searching
-				// through this loop.
-				//
-				// Since fragments are processed at most once, this remains O(M).
-				
-				SDPColumn successorCol = col;
-
-				while (activeSet.Successor(col, successorCol) and
-							 fragmentSet[successorCol.optFragment].cost > fragmentSet[fSweep].cost) {
-					activeSet.Delete(successorCol);
-				}
-			}
-
-			//
-			// Now remove this fragment, it is at the end of the sweep line.
-			//
-			int deleted;
-			deleted = activeSet.Delete(fragmentSet[fSweep]);
-			assert(deleted);
-			++fSweep;
-		}
-	}
-	if (alignType == Local) {
-		maxChainFragment = minFragmentIndex;
-	}
-	while (maxChainFragment != -1) {
-		maxFragmentChain.push_back(maxChainFragment);
-		maxChainFragment = fragmentSet[maxChainFragment].chainPrev;
-	}
-	std::reverse(maxFragmentChain.begin(), maxFragmentChain.end());
-	return maxFragmentChain.size();
-}
-
-#endif
diff --git a/libcpp/alignment/algorithms/alignment/sdp/SDPColumn.hpp b/libcpp/alignment/algorithms/alignment/sdp/SDPColumn.hpp
deleted file mode 100644
index 6ae674e..0000000
--- a/libcpp/alignment/algorithms/alignment/sdp/SDPColumn.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _BLASR_SDP_COLUMN_HPP_
-#define _BLASR_SDP_COLUMN_HPP_
-
-class SDPColumn {
- public:
-	int col;
-	int optFragment;
-    SDPColumn() : col(0), optFragment(0) {}
-    int operator<(const SDPColumn & rhs) const {
-        return col < rhs.col;
-    }
-    int operator<(const int y) const {
-        return col < y;
-    }
-    int operator==(const SDPColumn &rhs) const {
-        return col == rhs.col;
-    }
-    int operator>(const SDPColumn &rhs) const {
-        return (!(*this < rhs) && !(*this == rhs));
-    }
-};
-
-#endif // _BLASR_SDP_COLUMN_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/sdp/SDPFragment.cpp b/libcpp/alignment/algorithms/alignment/sdp/SDPFragment.cpp
deleted file mode 100644
index 861144e..0000000
--- a/libcpp/alignment/algorithms/alignment/sdp/SDPFragment.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-#include "SDPFragment.hpp"
-
-int Fragment::operator>(const Fragment &f) const {
-    return (!(*this < f) &&  !(*this == f));
-}
-int Fragment::GetLength() {
-    return length;
-}
-void Fragment::SetLength(int _length) {
-    length = _length;
-}
-
-bool Fragment::SetAbove(int a) {
-    above = a;
-    return true;
-}
-
-bool Fragment::GetAbove(int & a) {
-    if (above >= 0) {
-        a = above;
-        return true;
-    } else {
-        a = -1;
-        return false;
-    }
-}
-
diff --git a/libcpp/alignment/algorithms/alignment/sdp/SDPFragment.hpp b/libcpp/alignment/algorithms/alignment/sdp/SDPFragment.hpp
deleted file mode 100644
index 23b0e1c..0000000
--- a/libcpp/alignment/algorithms/alignment/sdp/SDPFragment.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-#ifndef _BLASR_SDP_FRAGMENT_HPP_
-#define _BLASR_SDP_FRAGMENT_HPP_
-
-class Fragment {
-public:
-	unsigned int x;
-	unsigned int y;
-	unsigned int weight;
-	unsigned int length;
-	int index;
-	int chainPrev;
-	int cost;
-    int above;
-	unsigned int chainLength;
-
-	inline Fragment(unsigned int px, unsigned int py, int pweight=0); 
-
-	inline Fragment();
-
-	unsigned int GetX() const {return x;}
-
-	unsigned int GetY() const {return y;}
-
-    bool SetAbove(int a);
-    bool GetAbove(int & a);
-
-	inline int LessThanXY(const Fragment &f) const;
-
-	inline int LessThanYX(const Fragment &f) const;
-
-    inline int operator<(const Fragment &f) const;
-
-    inline Fragment& operator=(const Fragment &rhs);
-
-    inline int operator==(const Fragment &f) const;
-
-	int operator>(const Fragment &f) const; 
-
-	int GetLength(); 
-
-	void SetLength(int _length); 
-};
-
-inline Fragment::Fragment(unsigned int px, unsigned int py, int pweight) {
-    x = px;
-    y = py;
-    weight = pweight;
-    length = index = 0;
-    chainPrev = cost = chainLength = 0;
-    above = -1;
-}
-
-//
-// Provide default constructor that will
-// give bad results if members are not properly initialized
-// later on.
-//
-inline Fragment::Fragment() {
-    x = -1;
-    y = -1;
-    weight = length = index = 0;
-    chainPrev = cost = chainLength = 0;
-    above = -1;
-}
-
-inline int Fragment::LessThanXY(const Fragment &f) const {
-    if (x == f.x) {
-        if (y == f.y) {
-            if (length == f.length) return 0;
-            else return length < f.length;
-        } else return y < f.y;
-    } else return x < f.x;
-    /*
-    if (x < f.x)
-        return 1;
-    else if (x == f.x) 
-        return y < f.y;
-    else 
-        return 0;
-    */
-}
-
-inline int Fragment::LessThanYX(const Fragment &f) const {
-    if (y == f.y) {
-        if (x == f.x) {
-            if (length == f.length) return 0;
-            else return length < f.length;
-        } else return x < f.x;
-    } else return y < f.y;
-    /*
-    if (y < f.y)
-        return 1;
-    else if (y == f.y) 
-        return x < f.x;
-    else 
-        return 0; 
-    */
-}
-
-inline Fragment& Fragment::operator=(const Fragment &rhs) {
-    x           = rhs.x;
-    y           = rhs.y;
-    index       = rhs.index;
-    cost        = rhs.cost;
-    weight      = rhs.weight;
-    length      = rhs.length;
-    chainLength = rhs.chainLength;
-    chainPrev   = rhs.chainPrev;
-    above       = rhs.above;
-    return *this;
-}
-
-inline int Fragment::operator==(const Fragment &f) const {
-    return (x == f.x and y == f.y);
-}
-
-inline int Fragment::operator<(const Fragment &f) const {
-    // 
-    // Sort fragments by diagonal:
-    //
-    int diag, fDiag;
-    diag = (y - x);
-    fDiag = f.y - f.x;
-    if (diag < fDiag)
-        return 1;
-    else if (diag == fDiag)
-        return (x < f.x);
-    else
-        return 0;
-}
-
-#endif // _BLASR_SDP_FRAGMENT_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/sdp/SDPSet.hpp b/libcpp/alignment/algorithms/alignment/sdp/SDPSet.hpp
deleted file mode 100644
index 866dbfb..0000000
--- a/libcpp/alignment/algorithms/alignment/sdp/SDPSet.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef _BLASR_SDP_SET_HPP_
-#define _BLASR_SDP_SET_HPP_
-
-
-/*
-	A SDPSet is a collection of types T that have strict ordering
-	defined.  It supports ways to query for points immediately less or 
-	immediately greater than another value.
-*/
-	
-template<typename T>
-class SDPSet {
-private:
-    typedef std::set<T> Tree;
-    typename SDPSet<T>::Tree tree;
-public:
-    int size();
-
-    /*
-     * Remove a fragment f if it exists.
-     */
-    int Delete(T &f); 
-
-    /*
-     * Insert a fresh copy of f into the set.  If a copy
-     * already exists, replace it with this one.
-     */
-    inline VectorIndex Insert(T &f); 
-
-    /*
-       Returns true if there is a value such that value == f
-     */
-    int Member(T &f); 
-
-    int Min(T &f); 
-
-    /*
-     * Given f, set succ to be the first value greater than f.
-     * Return 1 if such a value exists, 0 otherwise.
-     */
-    int Successor(T &f, T &succ); 
-
-    /*
-     * Given f, set pred to the first value less than f.
-     * Returns 1 if such a value exists, 0 otherwise.
-     */
-    int Predecessor(T &f, T &pred); 
-};
-
-#include "SDPSetImpl.hpp"
-
-#endif // _BLASR_SDP_SET_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/sdp/SDPSetImpl.hpp b/libcpp/alignment/algorithms/alignment/sdp/SDPSetImpl.hpp
deleted file mode 100644
index 6dbe709..0000000
--- a/libcpp/alignment/algorithms/alignment/sdp/SDPSetImpl.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-#include <stdint.h>
-#include <set>
-#include "Types.h"
-#include "SDPSet.hpp"
-
-template<typename T>
-int SDPSet<T>::size() {
-    return tree.size();
-}
-
-/*
- * Remove a fragment f if it exists.
- */
-template<typename T>
-int SDPSet<T>::Delete(T &f) {
-    typename std::set<T>::iterator it = tree.find(f);
-    if (it != tree.end() and (*it) == f) {
-        tree.erase(f);
-        return 1;
-    }
-    return 0;
-}
-/*
- * Insert a fresh copy of f into the set.  If a copy
- * already exists, replace it with this one.
- */
-template<typename T>
-inline VectorIndex SDPSet<T>::Insert(T &f) {
-    typename SDPSet<T>::Tree::iterator it = tree.find(f);
-    if (it != tree.end())
-        tree.erase(it);
-    tree.insert(f);
-    return tree.size();
-}
-/*
-   Returns true if there is a value such that value == f
-   */
-
-template<typename T>
-int SDPSet<T>::Member(T &f) {
-    typename SDPSet<T>::Tree::iterator it = tree.find(f);
-    if (it != tree.end()) {
-        f = *it;
-        return 1;
-    }
-    return 0;
-}
-
-template<typename T>
-int SDPSet<T>::Min(T &f) {
-    if (tree.size() == 0) {
-        return 0;
-    }
-    else {
-        f = *(tree.begin());
-    }		
-}
-
-/*
- * Given f, set succ to be the first value greater than f.
- * Return 1 if such a value exists, 0 otherwise.
- */
-template<typename T>
-int SDPSet<T>::Successor(T &f, T &succ) {
-
-    //
-    // Set succ to the first value > f, if such a value exists.
-    // 
-    if (tree.size() < 2)  {
-        return 0;
-    }
-    typename Tree::iterator it = tree.upper_bound(f);
-
-    if (it == tree.end())
-        return 0;
-
-    succ = *it;
-    return 1;
-}
-
-/*
- * Given f, set pred to the first value less than f.
- * Returns 1 if such a value exists, 0 otherwise.
- */
-template<typename T>
-int SDPSet<T>::Predecessor(T &f, T &pred) {
-    // 
-    // Set pred equal to the largest value <= f.
-    // Return 1 if such a value exists, 0 otherwise.
-    //
-    if (tree.size() == 0)
-        return 0;
-
-    typename Tree::iterator it = tree.find(f);
-
-    if (it != tree.end()) {
-        pred = *it;
-        return 1;
-    }
-
-    it = tree.lower_bound(f);
-    if (it != tree.begin())
-        --it;
-
-    if (f < *it) {
-        // No elements less than f exist.
-        return 0;
-    }
-    else {
-        pred = *it;
-        return 1;
-    }
-}
diff --git a/libcpp/alignment/algorithms/alignment/sdp/SparseDynamicProgramming.cpp b/libcpp/alignment/algorithms/alignment/sdp/SparseDynamicProgramming.cpp
deleted file mode 100644
index 9325491..0000000
--- a/libcpp/alignment/algorithms/alignment/sdp/SparseDynamicProgramming.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-#include "SparseDynamicProgramming.hpp"
-
-int IndelPenalty(int x1, int y1, int x2, int y2, int insertion, int deletion) {
-    int drift, driftPenalty;
-    drift = (x1 - y1) - (x2 - y2);
-    if (drift > 0) {
-        driftPenalty = drift * insertion;
-    }
-    else if (drift < 0) {
-        driftPenalty = -drift * deletion;
-    }
-    else {
-        driftPenalty = 0;
-    }
-    return driftPenalty;
-}
-
-
diff --git a/libcpp/alignment/algorithms/alignment/sdp/SparseDynamicProgramming.hpp b/libcpp/alignment/algorithms/alignment/sdp/SparseDynamicProgramming.hpp
deleted file mode 100644
index 8f42113..0000000
--- a/libcpp/alignment/algorithms/alignment/sdp/SparseDynamicProgramming.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef SPARSE_DYNAMIC_PROGRAMMING_H_
-#define SPARSE_DYNAMIC_PROGRAMMING_H_
-
-#include <vector>
-#include <string>
-#include "Types.h"
-#include "defs.h"
-#include "DNASequence.hpp"
-#include "datastructures/alignment/Alignment.hpp"
-#include "algorithms/alignment/AlignmentUtils.hpp"
-
-/*******************************************************************************
- *  Sparse dynamic programming implementation of Longest Common Subsequence
- *  
- *  Implementation of method described in Baker and Giancarlo, Journal of
- *  Algorithms 42, 231-254, 2002.
- * 
- *  5/7/09 -- Modified to incorporate different linear cost functions, and 
- *  local alignments.
- *  
- ******************************************************************************/
-
-int IndelPenalty(int x1, int y1, int x2, int y2, int insertion, int deletion); 
-
-template<typename T_Fragment>
-void StoreAbove(std::vector<T_Fragment> &fragmentSet, DNALength fragmentLength);
-
-template<typename T_Fragment>
-int SDPLongestCommonSubsequence(DNALength queryLength,
-        std::vector<T_Fragment> &fragmentSet, 
-        DNALength fragmentLength,
-        int insertion, int deletion, int match,
-        std::vector<int> &maxFragmentChain, AlignmentType alignType=Global); 
-
-#include "SparseDynamicProgrammingImpl.hpp"
-
-#endif
diff --git a/libcpp/alignment/algorithms/alignment/sdp/SparseDynamicProgrammingImpl.hpp b/libcpp/alignment/algorithms/alignment/sdp/SparseDynamicProgrammingImpl.hpp
deleted file mode 100644
index a227c70..0000000
--- a/libcpp/alignment/algorithms/alignment/sdp/SparseDynamicProgrammingImpl.hpp
+++ /dev/null
@@ -1,266 +0,0 @@
-#ifndef SPARSE_DYNAMIC_PROGRAMMING_IMPL_HPP_
-#define SPARSE_DYNAMIC_PROGRAMMING_IMPL_HPP_
-
-#include <stdlib.h>
-#include <stdint.h>
-#include <algorithm>
-#include <cassert>
-#include <set>
-#include <limits.h>
-#include <ostream>
-#include "SDPSet.hpp"
-#include "SDPFragment.hpp"
-#include "SDPColumn.hpp"
-#include "FragmentSort.hpp"
-
-template<typename T_Fragment>
-void StoreAbove(std::vector<T_Fragment> &fragmentSet, DNALength fragmentLength) {
-	std::sort(fragmentSet.begin(), fragmentSet.end(), LexicographicFragmentSortByY<T_Fragment>());	
-	int i;
-	for (i = 1; i < fragmentSet.size(); i++) {
-		if (fragmentSet[i-1].x <= fragmentSet[i].x 
-   		    and fragmentSet[i-1].x + fragmentSet[i-1].length > fragmentSet[i].x 
-			and fragmentSet[i-1].y < fragmentSet[i].y) {
-			fragmentSet[i].SetAbove(fragmentSet[i-1].index);
-		}
-	}
-	// Place back in original order.
-	std::sort(fragmentSet.begin(), fragmentSet.end(), LexicographicFragmentSort<T_Fragment>());		
-}
-
-template<typename T_Fragment>
-int SDPLongestCommonSubsequence(DNALength queryLength,
-        std::vector<T_Fragment> &fragmentSet, 
-        DNALength fragmentLength,
-        int insertion, int deletion, int match,
-        std::vector<int> &maxFragmentChain, AlignmentType alignType) {
-
-    maxFragmentChain.clear();
-    if (fragmentSet.size() < 1)
-        return 0;
-
-    std::sort(fragmentSet.begin(), fragmentSet.end(), LexicographicFragmentSort<T_Fragment>());
-
-    SDPSet<Fragment> sweepSet;
-    SDPSet<SDPColumn>   colSet;
-
-    unsigned int sweepRow;
-    unsigned int trailRow;
-    VectorIndex fSweep, fTrail;
-    VectorIndex fi;
-    for (fi = 0; fi < fragmentSet.size(); fi++) {
-        fragmentSet[fi].index = fi;
-    }
-
-    StoreAbove(fragmentSet, fragmentLength);
-    sweepRow = fragmentSet[0].x;
-    Fragment pred, succ;
-    fSweep = 0;
-    fTrail = 0;
-    unsigned int maxChainLength = 0;
-    int maxChainFragment = -1;
-    int minFragmentCost, minFragmentIndex;
-    minFragmentCost = INF_INT;
-    minFragmentIndex = -1;
-    for (; sweepRow < queryLength + fragmentLength; sweepRow++) {
-        //
-        // Add all elements on the sweep row to the sweep set.  Note that when
-        // fSweep is past query.length.
-        int startF = fSweep;
-        int fragmentSetSize = fragmentSet.size();
-        while (fSweep < fragmentSetSize and 
-                fragmentSet[fSweep].x == sweepRow) {
-
-            //
-            // Compute the cost of every fragment in the sweep.
-            //
-            int cp = INF_INT, cl = INF_INT, ca = INF_INT;
-            SDPColumn curCol, predCol;
-            curCol.col = fragmentSet[fSweep].y;
-            //
-            // Search preceeding fragments.
-            //
-            //
-            // Compute the cost of fragment_f
-            int foundPrev = 0;
-            int drift, driftPenalty;
-            if (colSet.Predecessor(curCol, predCol)) {
-                //
-                // predCol points to the fragment with greatest value less than curCol.
-                // 
-                // Baker and Giancarlo LCS cost
-                driftPenalty = IndelPenalty(fragmentSet[fSweep].x, fragmentSet[fSweep].y,
-                                            fragmentSet[predCol.optFragment].x, 
-                                            fragmentSet[predCol.optFragment].y,
-                                            insertion, deletion);
-                cp = fragmentSet[predCol.optFragment].cost + driftPenalty;
-                foundPrev = 1;
-            }
-
-            // Search overlapping fragments.
-            if (sweepSet.Predecessor(fragmentSet[fSweep], pred)) {
-                //
-                //	Baker and Giancarlo LCS cost
-                //  Cost with insertion and deletion penalty.
-                //
-                cl = pred.cost + 
-                     MIN((int)(fragmentLength - (fragmentSet[fSweep].y - pred.y)) * match, 0) + 
-                     IndelPenalty(fragmentSet[fSweep].x, fragmentSet[fSweep].y,
-                                  pred.x, pred.y, insertion, deletion);
-                foundPrev = 1;
-            }
-
-            int aboveIndex;
-            if (fragmentSet[fSweep].GetAbove(aboveIndex)) {
-                //	Baker and Giancarlo LCS cost 
-                ca = fragmentSet[aboveIndex].cost + 
-                      (fragmentLength - (int)(fragmentSet[fSweep].y - fragmentSet[aboveIndex].y)) * match + 
-                      IndelPenalty(fragmentSet[fSweep].x, fragmentSet[fSweep].y, 
-                                  fragmentSet[aboveIndex].x, 
-                                  fragmentSet[aboveIndex].y, 
-                                  insertion, deletion);
-                foundPrev = 1;
-            }
-
-            //
-            // Now compute the minimum of all these.
-            //
-            int minCost;
-            minCost = MIN(cp, MIN(cl, ca));
-
-            //
-            //  If doing a global alignment, chain is always extended.  If local, the chain may not be.
-            // 
-            if (foundPrev and 
-                (alignType == Global or
-                (alignType == Local and minCost < 0))) {
-                fragmentSet[fSweep].cost = minCost - fragmentSet[fSweep].weight;
-                if (minCost == cp) {
-                    fragmentSet[fSweep].chainPrev = predCol.optFragment;
-                }
-                else if (minCost == cl) {
-                    fragmentSet[fSweep].chainPrev = pred.index;
-                }
-                else if (minCost == ca) {
-                    fragmentSet[fSweep].chainPrev = aboveIndex;
-                }
-                assert(fragmentSet[fSweep].chainPrev >= 0 and
-                       fragmentSet[fSweep].chainPrev < (int)fragmentSet.size());
-                fragmentSet[fSweep].chainLength = fragmentSet[fragmentSet[fSweep].chainPrev].chainLength + 1;
-            }
-            else {
-                if (alignType == Global) {
-                    fragmentSet[fSweep].chainPrev = (int) -1;
-                    fragmentSet[fSweep].cost = (fragmentSet[fSweep].x + fragmentSet[fSweep].y) * deletion +
-                                               fragmentLength * match - fragmentSet[fSweep].weight;
-                    fragmentSet[fSweep].chainLength = 1;
-                }
-                else if (alignType == Local) {
-                    fragmentSet[fSweep].chainPrev = (int) -1;
-                    fragmentSet[fSweep].cost = fragmentLength * match - fragmentSet[fSweep].weight;
-                    fragmentSet[fSweep].chainLength = 1;
-                }					
-            }
-
-            if (minFragmentCost > fragmentSet[fSweep].cost) {
-                minFragmentCost = fragmentSet[fSweep].cost;
-                minFragmentIndex = fSweep;
-                //	maxChainLength = fragmentSet[fSweep].chainLength;
-            }
-
-            if (fragmentSet[fSweep].chainLength > maxChainLength) {
-                maxChainLength = fragmentSet[fSweep].chainLength;
-                maxChainFragment = fSweep;
-            }
-
-            // Done computing the optimal score for this fragment.
-            fSweep++;
-        }
-
-        //
-        // Insert all fragments in the sweep set 
-        //
-        fSweep = startF;
-        while (fSweep < fragmentSetSize and 
-                fragmentSet[fSweep].x == sweepRow) {
-            //			cout << "inserting sweep set with index" << fragmentSet[fSweep].index << endl;
-            sweepSet.Insert(fragmentSet[fSweep]);
-            ++fSweep;
-        }
-
-        // Remove elements from the sweep set that are too far back.
-        if (sweepRow >= fragmentLength + 1) {
-            trailRow = sweepRow - fragmentLength - 1;
-            while (fTrail < fragmentSetSize and
-                   fragmentSet[fTrail].x == trailRow) {
-                //
-                // These elements are removed from the sweep set since they are done being processed.
-                // If they are the lowest cost in the value, update colSet
-                //
-                SDPColumn col;
-                int storeCol = 0;
-                col.col = fragmentSet[fTrail].y;
-
-                if (colSet.Member(col)) {
-                    if (fragmentSet[col.optFragment].cost < fragmentSet[fTrail].cost) {
-                        storeCol = 1;
-                    }
-                }
-                else {
-                    storeCol = 1;
-                }
-                if (storeCol) {
-                    col.col = fragmentSet[fTrail].y;
-                    col.optFragment = fTrail;
-                    // 
-                    // Insert new column or replace col with a more optimal one.
-                    //
-                    colSet.Insert(col);
-
-                    // 
-                    // The invariant structure of the colSet is that
-                    // after inserting a fragment of score S at column col, 
-                    // the score of all columns greater than 'col' in col set
-                    // must be less than col. 
-                    //
-                    // To preserve this invariant, when an element is inserted
-                    // at 'col', look to columns greater.  As long as any columns
-                    // have scores that are greater than col, remove them.
-                    // Once a column col_next has been found that has a score less than S
-                    // by the structure of the loop invariant, all columns greater than col_next
-                    // are guaranteed to have lower score than S, so we can continue searching
-                    // through this loop.
-                    //
-                    // Since fragments are processed at most once, this remains O(M).
-
-                    SDPColumn successorCol = col;
-
-                    while (colSet.Successor(col, successorCol) and
-                           fragmentSet[successorCol.optFragment].cost > fragmentSet[fTrail].cost) {
-                        colSet.Delete(successorCol);
-                    }
-                }
-
-                //
-                // Now remove this fragment, it is at the end of the sweep line.
-                //
-                int deleted;
-                deleted = sweepSet.Delete(fragmentSet[fTrail]);
-                assert(deleted);
-
-                ++fTrail;
-            }
-        }
-    }
-    if (alignType == Local) {
-        maxChainFragment = minFragmentIndex;
-    }
-    while (maxChainFragment != -1) {
-        maxFragmentChain.push_back(maxChainFragment);
-        maxChainFragment = fragmentSet[maxChainFragment].chainPrev;
-    }
-    std::reverse(maxFragmentChain.begin(), maxFragmentChain.end());
-    return maxFragmentChain.size();
-}
-
-#endif // __SPARSE_DYNAMIC_PROGRAMMING_IMPL_HPP_
diff --git a/libcpp/alignment/algorithms/alignment/sdp/VariableLengthSDPFragment.h b/libcpp/alignment/algorithms/alignment/sdp/VariableLengthSDPFragment.h
deleted file mode 100644
index 618b25e..0000000
--- a/libcpp/alignment/algorithms/alignment/sdp/VariableLengthSDPFragment.h
+++ /dev/null
@@ -1,51 +0,0 @@
-#ifndef VARIABLE_LENGTH_SDP_FRAGMENT_H_
-#define VARIABLE_LENGTH_SDP_FRAGMENT_H_
-#include "SDPFragment.h"
-
-class ChainedFragment : public Fragment {
-	int score;
-	ChainedFragment *chainPrev;
- public:
-    ChainedFragment():Fragment() {
-        score = 0;
-        chainPrev = NULL; 
-    }
-	
-	int SetScore(int _score) {
-		return (score = _score);
-	}
-
-	int GetScore() {
-		return score;
-	}
-	
-	ChainedFragment *SetChainPrev(ChainedFragment *_chainPrev) {
-		return (chainPrev = _chainPrev);
-	}
-
-	ChainedFragment *GetChainPrev() {
-		return chainPrev;
-	}
-	
-	int LessThan(const ChainedFragment &f) const {
-		//
-		// Order fragments by endpoint.
-		//
-		if (x == f.GetX()) {
-			return (y < f.GetY());
-		}
-		else {
-			return x < f.GetX();
-		}
-	}
-
-	int operator<(const ChainedFragment &f) const {
-		// 
-		// Sort fragments by x then y.
-		//
-		return LessThan(f);
-	}
-};
-
-
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/BWTSearch.cpp b/libcpp/alignment/algorithms/anchoring/BWTSearch.cpp
deleted file mode 100644
index 16ea57c..0000000
--- a/libcpp/alignment/algorithms/anchoring/BWTSearch.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-#include "algorithms/anchoring/BWTSearch.hpp"
-
-int MapReadToGenome(BWT & bwt,
-	FASTASequence & seq,
-    DNALength subreadStart, DNALength subreadEnd,
-    std::vector<ChainedMatchPos> &matchPosList,
-	AnchorParameters & params, int &numBasesAnchored, 
-    std::vector<DNALength> & spv, 
-    std::vector<DNALength> & epv) {
-	
-    FASTASequence prefix;
-    numBasesAnchored = 0;
-    if (subreadEnd - subreadStart < params.minMatchLength) {
-        return 0;
-    }
-    else {
-        DNALength p;
-        prefix.seq = seq.seq;
-        for (p = subreadStart + params.minMatchLength; 
-             p < subreadEnd; p++) {
-            // 
-            // Try reusing the vectors between calls - not thread
-            // safe replace function call with one that has access 
-            // to a buffer class.
-            //
-            spv.clear(); epv.clear();
-            prefix.length = p;
-            bwt.Count(prefix, spv, epv);
-
-            DNALength matchLength = spv.size();
-            //
-            // Keep going without subtracting from zero if there 
-            // are no hits.
-            //
-            if (spv.size() == 0) {
-                continue;
-            }
-
-            DNALength i;
-            std::vector<DNALength> matches;
-            while (matchLength >= params.minMatchLength) {
-                i = matchLength - 1;
-
-                if (matchLength > 0 and epv[i] >= spv[i]) {
-                    // 
-                    // Add the positions of the matches here.
-                    //
-                    matches.clear();
-                    if (epv[i] - spv[i] + 1 < params.maxAnchorsPerPosition) {
-                        numBasesAnchored++;
-                        bwt.Locate(spv[i], epv[i], matches);
-                    }
-                    break;
-                }
-                matchLength--;
-            }
-
-            // Convert from genome positions to tuples
-            DNALength m;
-            for (m = 0; m < matches.size(); m++ ) {
-                // This if statement is a workaround for a bug
-                // that is allowing short matches
-                if (matches[m] >= matchLength) {
-                    matchPosList.push_back(ChainedMatchPos(
-                        matches[m] - matchLength, 
-                        p-matchLength, matchLength , 
-                        matches.size()));
-                }
-            }
-        }
-    }
-    return matchPosList.size();
-}
-
-int MapReadToGenome(BWT & bwt,
-	FASTASequence & seq,
-    DNALength start, DNALength end,
-	std::vector<ChainedMatchPos> & matchPosList,
-	AnchorParameters  & params, int &numBasesAnchored) {
-    std::vector<DNALength> spv,epv;  
-
-    return MapReadToGenome(bwt, seq, start, end, matchPosList,
-        params, numBasesAnchored, spv, epv);
-}
-
diff --git a/libcpp/alignment/algorithms/anchoring/BWTSearch.hpp b/libcpp/alignment/algorithms/anchoring/BWTSearch.hpp
deleted file mode 100644
index e3e0366..0000000
--- a/libcpp/alignment/algorithms/anchoring/BWTSearch.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef _BLASR_BWT_SEARCH_HPP_
-#define _BLASR_BWT_SEARCH_HPP_
-
-#include <vector>
-#include "FASTASequence.hpp"
-#include "bwt/BWT.hpp"
-#include "datastructures/anchoring/MatchPos.hpp"
-#include "datastructures/anchoring/AnchorParameters.hpp"
-
-int MapReadToGenome(BWT & bwt,
-	FASTASequence & seq,
-    DNALength subreadStart, DNALength subreadEnd,
-    std::vector<ChainedMatchPos> &matchPosList,
-	AnchorParameters & params, int &numBasesAnchored, 
-    std::vector<DNALength> & spv, 
-    std::vector<DNALength> & epv);
-
-
-int MapReadToGenome(BWT & bwt,
-	FASTASequence & seq,
-    DNALength start, DNALength end,
-	std::vector<ChainedMatchPos> & matchPosList,
-	AnchorParameters  & params, int &numBasesAnchored);
-
-
-template<typename T_MappingBuffers>
-int MapReadToGenome(BWT & bwt,
-    FASTASequence & seq,
-    std::vector<ChainedMatchPos> &matchPosList,
-    AnchorParameters & params, int & numBasesAnchored, 
-    T_MappingBuffers & mappingBuffers);
-
-#include "algorithms/anchoring/BWTSearchImpl.hpp"
-
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/BWTSearchImpl.hpp b/libcpp/alignment/algorithms/anchoring/BWTSearchImpl.hpp
deleted file mode 100644
index ec71552..0000000
--- a/libcpp/alignment/algorithms/anchoring/BWTSearchImpl.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef _BLASR_BWT_SEARCH_IMPL_HPP_
-#define _BLASR_BWT_SEARCH_IMPL_HPP_
-
-template<typename T_MappingBuffers>
-int MapReadToGenome(BWT & bwt,
-    FASTASequence & seq,
-    std::vector<ChainedMatchPos> &matchPosList,
-    AnchorParameters & params, int & numBasesAnchored, 
-    T_MappingBuffers & mappingBuffers) {
-    return MapReadToGenome(bwt, seq, matchPosList, params,
-        numBasesAnchored, mappingBuffers.spv, mappingBuffers.epv);
-}
-
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/BasicEndpoint.hpp b/libcpp/alignment/algorithms/anchoring/BasicEndpoint.hpp
deleted file mode 100644
index 28ffaae..0000000
--- a/libcpp/alignment/algorithms/anchoring/BasicEndpoint.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef _BLASR_BASIC_ENDPOINT_HPP_
-#define _BLASR_BASIC_ENDPOINT_HPP_
-
-#include "Types.h"
-#include "algorithms/anchoring/Coordinate.hpp"
-//
-// An endpoint is one of the ends of a fragment, where
-// a fragment is an exact match between two genomes. 
-// So, a fragment is a 2D object that has a position and length,
-// and an endpoint is 1D, where it just has a position.
-// A fragment may be associated with a score that is the score
-// of the fragment in a maximum scoring chain.  When finding a 
-// maximum scoring chain using priority search trees, one must 
-// be able to set the score of a fragment when indexing solely 
-// a point. 
-//
-
-enum WhichEnd {Start, End};
-typedef UInt KeyType;
-
-template<typename T_ScoredFragment>
-class BasicEndpoint {
-private:
-	Coordinate p;
-	WhichEnd side;
-    T_ScoredFragment *fragmentPtr;
-
-public:
-    class LessThan {
-    public:
-        int operator()(const BasicEndpoint<T_ScoredFragment> & lhs, const BasicEndpoint<T_ScoredFragment> & rhs) const {
-            return lhs.p < rhs.p;
-        }
-    };
-    BasicEndpoint();
-	WhichEnd GetSide();
-	void FragmentPtrToStart(T_ScoredFragment* fragment);
-   	void FragmentPtrToEnd(T_ScoredFragment* fragment);
-   	int GetScore();
-	int SetScore(int score);
-   	T_ScoredFragment* SetScoredReference(T_ScoredFragment* _fragmentPtr);
-	int operator<(const BasicEndpoint &rhs) const;
-	KeyType GetKey();
-	T_ScoredFragment* GetFragmentPtr();
-    void SetChainPrev(T_ScoredFragment* prevChainFragment);
-};
-
-#include "algorithms/anchoring/BasicEndpointImpl.hpp"
-
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/BasicEndpointImpl.hpp b/libcpp/alignment/algorithms/anchoring/BasicEndpointImpl.hpp
deleted file mode 100644
index dd61377..0000000
--- a/libcpp/alignment/algorithms/anchoring/BasicEndpointImpl.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-#ifndef _BLASR_BASIC_ENDPOINT_IMPL_HPP_
-#define _BLASR_BASIC_ENDPOINT_IMPL_HPP_
-
-#include "algorithms/anchoring/BasicEndpoint.hpp"
-/*
- An endpoint is one of the ends of a fragment, where
- a fragment is an exact match between two genomes. 
- So, a fragment is a 2D object that has a position and length,
- and an endpoint is 1D, where it just has a position.
- A fragment may be associated with a score that is the score
- of the fragment in a maximum scoring chain.  When finding a 
- maximum scoring chain using priority search trees, one must 
- be able to set the score of a fragment when indexing solely 
- a point. 
-*/
-
-template<typename T_ScoredFragment>
-BasicEndpoint<T_ScoredFragment>::
-BasicEndpoint(){}
-
-template<typename T_ScoredFragment>
-WhichEnd BasicEndpoint<T_ScoredFragment>::
-GetSide() {return side;}
-
-template<typename T_ScoredFragment>
-void BasicEndpoint<T_ScoredFragment>::
-FragmentPtrToStart(T_ScoredFragment *fragment) {
-    p.SetX(fragment->GetX());
-    p.SetY(fragment->GetY());
-    side = Start;
-    fragmentPtr = fragment;
-}
-
-template<typename T_ScoredFragment>
-void BasicEndpoint<T_ScoredFragment>::FragmentPtrToEnd(
-    T_ScoredFragment *fragment) {
-    p.SetX(fragment->GetX() + fragment->GetLength());
-    p.SetY(fragment->GetY() + fragment->GetLength());
-    side = End;
-    fragmentPtr = fragment;
-}
-
-template<typename T_ScoredFragment>
-int BasicEndpoint<T_ScoredFragment>::GetScore() {
-    return fragmentPtr->GetScore();
-}
-
-template<typename T_ScoredFragment>
-int BasicEndpoint<T_ScoredFragment>::SetScore(int score) {
-    return (fragmentPtr->SetScore(score));
-}
-
-template<typename T_ScoredFragment>
-T_ScoredFragment* BasicEndpoint<T_ScoredFragment>::
-SetScoredReference(
-    T_ScoredFragment *_fragmentPtr) {
-    return (fragmentPtr = _fragmentPtr);
-}
-
-template<typename T_ScoredFragment>
-int BasicEndpoint<T_ScoredFragment>::
-operator<(const BasicEndpoint &rhs) const {return p < rhs.p;} 
-
-template<typename T_ScoredFragment>
-KeyType BasicEndpoint<T_ScoredFragment>::
-GetKey() {return p.GetY();}
-
-template<typename T_ScoredFragment>
-T_ScoredFragment* BasicEndpoint<T_ScoredFragment>::
-GetFragmentPtr() {return fragmentPtr;}
-
-template<typename T_ScoredFragment>
-void BasicEndpoint<T_ScoredFragment>::
-SetChainPrev(T_ScoredFragment* prevChainFragment) {
-    fragmentPtr->SetChainPrev(prevChainFragment);
-}
-
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/ClusterProbability.cpp b/libcpp/alignment/algorithms/anchoring/ClusterProbability.cpp
deleted file mode 100644
index 0dc61dc..0000000
--- a/libcpp/alignment/algorithms/anchoring/ClusterProbability.cpp
+++ /dev/null
@@ -1,45 +0,0 @@
-#include "algorithms/anchoring/ClusterProbability.hpp"
-#include <cassert>
-#include <math.h>
-
-float ComputeAnchorProbability(float pMatch, int minAnchorLength) {
-    assert(minAnchorLength >= 0);
-    assert(pMatch < 1.00001 and pMatch > 0);
-
-    int i;
-    float totalProbability = 0.0;
-    float pMisMatch = 1 - pMatch;
-    for (i = 0; i < minAnchorLength; i++) {
-        totalProbability += pMatch * pMisMatch;
-        pMatch *= pMatch;
-    }
-    return 1 - totalProbability;
-}
-
-
-float ComputeExpectedAnchorLength(float pMatch, int minAnchorLength, 
-        float pAnchor) {
-    int i = 0;
-    for (i = 0; i < minAnchorLength; i++) {
-        pMatch *= pMatch;
-    }
-    float pMismatch = 1 - pMatch;
-    float pValueEpsilon = 0.000000001;
-    float expAnchorLength = 0;
-
-    while(pMatch*pMismatch > pValueEpsilon) {
-        expAnchorLength += i * pMatch*pMismatch/pAnchor;
-        pMatch *= pMatch;
-    }
-    return expAnchorLength;
-}
-
-
-float AnchorBasesPerRead(int readLength, float pAnchor) {
-    return pAnchor * readLength;
-}
-
-float AnchorBasesPerReadSigma(float expAnchorBasesPerRead) {
-    // Assume exponential distribution: 
-    return sqrt(expAnchorBasesPerRead);
-}
diff --git a/libcpp/alignment/algorithms/anchoring/ClusterProbability.hpp b/libcpp/alignment/algorithms/anchoring/ClusterProbability.hpp
deleted file mode 100644
index 23d4e4e..0000000
--- a/libcpp/alignment/algorithms/anchoring/ClusterProbability.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _BLASR_CLUSTER_PROBABILITY_HPP_
-#define _BLASR_CLUSTER_PROBABILITY_HPP_
-
-float ComputeAnchorProbability(float pMatch, int minAnchorLength);
-
-float ComputeExpectedAnchorLength(float pMatch, int minAnchorLength, 
-    float pAnchor);
-
-float AnchorBasesPerRead(int readLength, float pAnchor);
-
-float AnchorBasesPerReadSigma(float expAnchorBasesPerRead);
-
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/Coordinate.cpp b/libcpp/alignment/algorithms/anchoring/Coordinate.cpp
deleted file mode 100644
index 9e6f624..0000000
--- a/libcpp/alignment/algorithms/anchoring/Coordinate.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "algorithms/anchoring/Coordinate.hpp"
-
-
-int Coordinate::operator<=(const Coordinate &rhs) const {
-    return (*this < rhs) or (x == rhs.x && y == rhs.y);
-}
-
-int Coordinate::Equals(const Coordinate &rhs) const {
-    return (x == rhs.GetX() and y == rhs.GetY());
-}
-
-
diff --git a/libcpp/alignment/algorithms/anchoring/Coordinate.hpp b/libcpp/alignment/algorithms/anchoring/Coordinate.hpp
deleted file mode 100644
index 1e86e29..0000000
--- a/libcpp/alignment/algorithms/anchoring/Coordinate.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef _BLASR_COORDINATE_HPP_
-#define _BLASR_COORDINATE_HPP_
-
-#include "Types.h"
-
-class Coordinate {
-private:
-    UInt x;
-    UInt y; 
-public:
-    inline UInt GetX() const; 
-    inline UInt GetY() const;
-    inline UInt SetX(UInt _x);
-    inline UInt SetY(UInt _y);
-    inline int operator<(const Coordinate &rhs) const;
-    int operator<=(const Coordinate &rhs) const;
-    int Equals(const Coordinate &rhs) const;
-    //
-    // Synonym for Equals.
-    //
-    inline int operator==(const Coordinate &rhs) const;
-    inline Coordinate &operator=(const Coordinate &rhs);
-};
-
-inline UInt Coordinate::GetX() const {return x;}
-inline UInt Coordinate::GetY() const {return y;}
-
-inline UInt Coordinate::SetX(UInt _x) {return (x = _x);}
-inline UInt Coordinate::SetY(UInt _y) {return (y = _y);}
-
-inline int  Coordinate::operator<(const Coordinate &rhs) const {
-    if (x == rhs.GetX()) return y < rhs.GetY();
-    else return x < rhs.GetX();
-}
-
-inline int Coordinate::operator==(const Coordinate &rhs) const {
-    return this->Equals(rhs);
-}
-
-inline Coordinate& Coordinate::operator=(const Coordinate &rhs) {
-    this->x = rhs.x;
-    this->y = rhs.y;
-    return *this;
-}
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/FindMaxInterval.cpp b/libcpp/alignment/algorithms/anchoring/FindMaxInterval.cpp
deleted file mode 100644
index cc9ca5b..0000000
--- a/libcpp/alignment/algorithms/anchoring/FindMaxInterval.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-#include "algorithms/anchoring/FindMaxInterval.hpp"
-
-unsigned int NumRemainingBases(DNALength curPos, DNALength intervalLength) {
-  if (curPos > intervalLength) {
-    return 0;
-  }
-  else {
-    return intervalLength - curPos;
-  }
-}
-
-IntervalSearchParameters::IntervalSearchParameters() {
-    advanceHalf         = false;
-    globalChainType     = 0;
-    maxPValue           = log(0.1);
-    aboveCategoryPValue = 0;
-    warp                = true;
-    fastMaxInterval     = false;
-    aggressiveIntervalCut = false;
-    verbosity           = 0;
-    ddPValueThreshold   = -500; 
-}
-
diff --git a/libcpp/alignment/algorithms/anchoring/FindMaxInterval.hpp b/libcpp/alignment/algorithms/anchoring/FindMaxInterval.hpp
deleted file mode 100644
index 3f64505..0000000
--- a/libcpp/alignment/algorithms/anchoring/FindMaxInterval.hpp
+++ /dev/null
@@ -1,175 +0,0 @@
-#ifndef _BLASR_FIND_MAX_INTERVAL_HPP_
-#define _BLASR_FIND_MAX_INTERVAL_HPP_
-
-#include <semaphore.h>
-#include <math.h>
-#include <fstream>
-#include <iostream>
-#include "algorithms/anchoring/LongestIncreasingSubsequence.hpp"
-#include "algorithms/anchoring/GlobalChain.hpp"
-#include "algorithms/anchoring/BasicEndpoint.hpp"
-#include "datastructures/anchoring/WeightedInterval.hpp"
-#include "datastructures/anchoring/MatchPos.hpp"
-#include "datastructures/anchoring/ClusterList.hpp"
-#include "statistics/VarianceAccumulator.hpp"
-
-unsigned int NumRemainingBases(DNALength curPos, DNALength intervalLength);
-
-class IntervalSearchParameters {
-public:
-    bool  advanceHalf;
-    int   globalChainType;
-    float maxPValue;
-    float aboveCategoryPValue;
-    bool  warp;
-    bool  fastMaxInterval; 
-    bool  aggressiveIntervalCut;
-    int   verbosity;
-    float ddPValueThreshold;
-    IntervalSearchParameters();
-};
-
-
-template<typename T_Sequence, typename T_AnchorList>
-class DefaultWeightFunction {
-public:
-	float operator()(T_Sequence &text, T_Sequence &read, 
-        T_AnchorList matchPosList);
-};
-
-
-template<typename T_Pos>
-class MatchPosQueryOrderFunctor {
-public:
-	int operator()(T_Pos &pos);
-};
-
-
-template<typename T_MatchList>
-void PrintLIS(T_MatchList &matchList, DNALength curPos,  
-    DNALength curGenomePos, DNALength nextGenomePos, DNALength clp, 
-    DNALength cle);
-
-template<typename T_MatchList, typename T_SequenceDB>
-void FilterMatchesAsLIMSTemplateSquare(T_MatchList &matches, 
-    DNALength queryLength, DNALength limsTemplateLength, 
-    T_SequenceDB &seqDB);
-        
-template<typename T_MatchList, typename T_SequenceBoundaryDB>
-void AdvanceIndexToPastInterval(T_MatchList &pos, DNALength nPos,
-    DNALength intervalLength, DNALength contigLength,
-    T_SequenceBoundaryDB &SeqBoundary,
-    DNALength startIndex, DNALength startIntervalBoundary,
-    DNALength &index, DNALength &indexIntervalBoundary);
-
-template<typename T_MatchList>  
-int RemoveZeroLengthAnchors(T_MatchList &matchList);
-
-template<typename T_MatchList>
-int RemoveOverlappingAnchors(T_MatchList &matchList);
-
-template<typename T_MatchList>
-int SumAnchors(T_MatchList &pos, int start, int end);
-
-template<typename T_MatchList,
-         typename T_SequenceBoundaryDB>
-void StoreLargestIntervals(
-    T_MatchList &pos, 
-    // End search for intervals at boundary positions
-    // stored in seqBoundaries
-	T_SequenceBoundaryDB & ContigStartPos,
-	// parameters
-	// How many values to search through for a max set.
-	DNALength intervalLength,  
-	// How many sets to keep track of
-	int minSize,
-	vector<DNALength> &start,
-	vector<DNALength> &end);
-
-template<typename T_MatchList,
-         typename T_PValueFunction, 
-         typename T_WeightFunction,
-         typename T_SequenceBoundaryDB,
-         typename T_ReferenceSequence,
-         typename T_Sequence>
-int FindMaxIncreasingInterval(
-        // Input
-        // readDir is used to indicate if the interval that is being stored is 
-        // in the forward or reverse strand.  This is important later when 
-        // refining alignments so that the correct sequence is aligned back 
-        // to the reference.
-        int readDir, 
-        T_MatchList &pos, 
-        // How many values to search through for a max set.
-        DNALength intervalLength,  
-        // How many sets to keep track of
-        VectorIndex nBest, 
-        // End search for intervals at boundary positions
-        // stored in seqBoundaries
-        T_SequenceBoundaryDB & ContigStartPos,
-        // First rand intervals by their p-value
-        T_PValueFunction &MatchPValueFunction,  
-        // When ranking intervals, sum over weights determined by MatchWeightFunction
-        T_WeightFunction &MatchWeightFunction,  
-        // Output.
-        // The increasing interval coordinates, 
-        // in order by queue weight.
-        WeightedIntervalSet &intervalQueue, 
-        T_ReferenceSequence &reference, 
-        T_Sequence &query,
-        IntervalSearchParameters &params,
-        std::vector<BasicEndpoint<ChainedMatchPos> > *chainEndpointBuffer,
-        ClusterList &clusterList,
-        VarianceAccumulator<float> &accumPValue, 
-        VarianceAccumulator<float> &accumWeight,
-        VarianceAccumulator<float> &accumNumAnchorBases,
-        const char *titlePtr=NULL);
-
-template<typename T_MatchList,
-         typename T_PValueFunction, 
-         typename T_WeightFunction,
-         typename T_SequenceBoundaryDB,
-         typename T_ReferenceSequence,
-         typename T_Sequence>
-int FastFindMaxIncreasingInterval(
-        int readDir, 
-        T_MatchList &pos, 
-        DNALength intervalLength,  
-        VectorIndex nBest, 
-        T_SequenceBoundaryDB & ContigStartPos,
-        T_PValueFunction &MatchPValueFunction,  
-        T_WeightFunction &MatchWeightFunction,  
-        WeightedIntervalSet &intervalQueue, 
-        T_ReferenceSequence &reference, 
-        T_Sequence &query,
-        IntervalSearchParameters &params,
-        std::vector<BasicEndpoint<ChainedMatchPos> > *chainEndpointBuffer,
-        ClusterList &clusterList,
-        VarianceAccumulator<float> &accumPValue, 
-        VarianceAccumulator<float> &accumWeight);
-
-template<typename T_MatchList,
-         typename T_PValueFunction, 
-         typename T_WeightFunction,
-         typename T_SequenceBoundaryDB,
-         typename T_ReferenceSequence,
-         typename T_Sequence>
-int ExhaustiveFindMaxIncreasingInterval(
-        int readDir, 
-        T_MatchList &pos, 
-        DNALength intervalLength,  
-        VectorIndex nBest, 
-        T_SequenceBoundaryDB & ContigStartPos,
-        T_PValueFunction &MatchPValueFunction,  
-        T_WeightFunction &MatchWeightFunction,  
-        WeightedIntervalSet &intervalQueue, 
-        T_ReferenceSequence &reference, 
-        T_Sequence &query,
-        IntervalSearchParameters &params,
-        std::vector<BasicEndpoint<ChainedMatchPos> > *chainEndpointBuffer,
-        ClusterList &clusterList,
-        VarianceAccumulator<float> &accumPValue, 
-        VarianceAccumulator<float> &accumWeight);
-
-#include "algorithms/anchoring/FindMaxIntervalImpl.hpp"
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/FindMaxIntervalImpl.hpp b/libcpp/alignment/algorithms/anchoring/FindMaxIntervalImpl.hpp
deleted file mode 100644
index 65b2922..0000000
--- a/libcpp/alignment/algorithms/anchoring/FindMaxIntervalImpl.hpp
+++ /dev/null
@@ -1,945 +0,0 @@
-#ifndef _BLASR_FIND_MAX_INTERVAL_IMPL_HPP_
-#define _BLASR_FIND_MAX_INTERVAL_IMPL_HPP_
-
-template<typename T_Sequence, typename T_AnchorList>
-float DefaultWeightFunction<T_Sequence, T_AnchorList>::operator() (
-    T_Sequence &text, T_Sequence &read, T_AnchorList matchPosList) {
-    int i;
-    float weight = 0;
-    for (i = 0; i < matchPosList.size(); i++) {
-        weight += matchPosList[i].weight();
-    }
-    return weight;
-}
-
-template<typename T_Pos>
-int MatchPosQueryOrderFunctor<T_Pos>::operator()(T_Pos &pos) {
-    return pos.q;
-}
-
-template<typename T_MatchList>
-void PrintLIS(T_MatchList &matchList, DNALength curPos, 
-    DNALength curGenomePos, DNALength nextGenomePos, 
-    DNALength clp, DNALength cle) {
-    int i;
-    cout << curPos << " " << curGenomePos << " " 
-        << nextGenomePos << " " << clp << " " << cle << endl;
-    for (i = 0; i < matchList.size(); i++) {
-        cout.width(8);
-        cout << matchList[i].l << " ";
-    }
-    cout << endl;
-    for (i = 0; i < matchList.size(); i++) {
-        cout.width(8);
-        cout << matchList[i].q << " ";
-    }  
-    cout << endl;
-    for (i = 0; i < matchList.size(); i++) {
-        cout.width(8);
-        cout << matchList[i].t << " ";
-    }
-    cout << endl << endl;
-}
-
-
-template<typename T_MatchList, typename T_SequenceDB>
-void FilterMatchesAsLIMSTemplateSquare(T_MatchList &matches, 
-    DNALength queryLength, DNALength limsTemplateLength, 
-    T_SequenceDB &seqDB) {
-    int seqIndex;
-    //
-    // Make sure there is sequence coordinate information.
-    //
-    if (seqDB.nSeqPos == 0) {
-        return;
-    }
-    int matchIndex = 0;
-    for (seqIndex = 1; seqIndex < seqDB.nSeqPos; seqIndex++) {
-        DNALength refLength = seqDB.seqStartPos[seqIndex] - 
-            seqDB.seqStartPos[seqIndex - 1];
-        // account for indel error.
-        refLength = queryLength * 1.15 + limsTemplateLength; 
-
-        //
-        // Flag matches that are beyond the (rough) square with the length
-        // of the query for removal.
-        //
-        while (matchIndex < matches.size() and 
-                matches[matchIndex].t < seqDB.seqStartPos[seqIndex]) {
-            if (matches[matchIndex].t > seqDB.seqStartPos[seqIndex-1] 
-                + refLength) {
-                matches[matchIndex].l = 0;
-            }
-            matchIndex++;
-        }
-        int curMatchIndex = 0;
-        matchIndex = 0;
-        for (matchIndex = 0; matchIndex < matches.size(); matchIndex++) {
-            if (matches[matchIndex].l != 0) {
-                matches[curMatchIndex] = matches[matchIndex];
-                curMatchIndex++;
-            }
-        }
-        matches.resize(curMatchIndex);
-    }
-}
-
-template<typename T_MatchList, typename T_SequenceBoundaryDB>
-void AdvanceIndexToPastInterval(T_MatchList &pos, DNALength nPos,
-    DNALength intervalLength, DNALength contigLength,
-    T_SequenceBoundaryDB &SeqBoundary,
-    DNALength startIndex, DNALength startIntervalBoundary,
-    DNALength &index, DNALength &indexIntervalBoundary) {
-    if (index >= pos.size()) {
-        return;
-    }
-    indexIntervalBoundary = SeqBoundary(pos[index].t);
-    DNALength boundaryIndex = SeqBoundary.GetIndex(pos[index].t);
-    DNALength nextBoundary  = SeqBoundary.GetStartPos(boundaryIndex + 1);
-    while (// index is not past the end of the genome
-            index < nPos and 
-            //
-            // Stop when the index goes too far ahead.
-            //
-            pos[index].t - pos[startIndex].t <= intervalLength and
-            //
-            // Still searching in the current contig.
-            //
-            indexIntervalBoundary == startIntervalBoundary) {
-        index++;
-        if (index < nPos) {
-            indexIntervalBoundary = SeqBoundary(pos[index].t);
-        }
-    }
-}
-
-
-template<typename T_MatchList>  
-int RemoveZeroLengthAnchors(T_MatchList &matchList) {       
-    int origSize = matchList.size();
-    int cur = 0, m;
-    for (m = 0; m < matchList.size(); m++) {
-        if (matchList[m].l > 0) {
-            matchList[cur] = matchList[m];
-            cur++;
-        }
-    }
-    matchList.resize(cur);
-    return origSize - cur;
-}
-
-template<typename T_MatchList>
-int RemoveOverlappingAnchors(T_MatchList &matchList) {       
-  int cur = 0;
-  int m;
-  int n;
-  for (m = matchList.size(); m > 0; m--) {
-    n = m - 1;
-    //
-    // Skip past repeats in the query.
-    while (n > 0 and matchList[n].t == matchList[m].t) {
-      n--;
-    }
-
-    bool mergeFound = false;
-    int ni = n;
-    while (mergeFound == false and 
-           n > 0 and 
-           matchList[n].t == matchList[ni].t) {
-      if (matchList[n].q < matchList[m].q and
-          matchList[n].t < matchList[m].t and
-          matchList[n].l + matchList[n].q >= 
-          matchList[m].l + matchList[m].q and
-          matchList[n].l + matchList[n].t >= 
-          matchList[m].l + matchList[m].t) {
-        matchList[m].l = 0;
-        mergeFound = true;
-      }
-      n--;
-    }
-  }
-  int numRemoved = RemoveZeroLengthAnchors(matchList);
-  return numRemoved;
-}
-
-template<typename T_MatchList>
-int SumAnchors(T_MatchList &pos, int start, int end) {
-    int sum = 0;
-    int i;
-    for (i = start; i < end; i++) {
-        sum += pos[i].l;
-    }
-    return sum;
-}
-
-template<typename T_MatchList,
-         typename T_SequenceBoundaryDB>
-void StoreLargestIntervals(
-    T_MatchList &pos, 
-    // End search for intervals at boundary positions
-    // stored in seqBoundaries
-	T_SequenceBoundaryDB & ContigStartPos,
-	// parameters
-	// How many values to search through for a max set.
-	DNALength intervalLength,  
-	// How many sets to keep track of
-	int minSize,
-	vector<DNALength> &start,
-	vector<DNALength> &end) {
-
-    if (pos.size() == 0) {
-        return;
-    }
-    //
-    // Search for clusters of intervals within the pos array within
-    // pos[cur...next).  The value of 'next' should be the first anchor
-    // outside the possible range to cluster, or the end of the anchor list.
-    VectorIndex cur = 0;
-    VectorIndex nPos = pos.size();
-    VectorIndex next = cur + 1;
-    DNALength curBoundary = 0, nextBoundary = 0;
-    DNALength contigLength = ContigStartPos.Length(pos[cur].t);
-    DNALength endOfCurrentInterval = curBoundary + contigLength;
-
-    curBoundary = ContigStartPos(pos[cur].t);
-    nextBoundary = ContigStartPos(pos[next].t);  
-
-    //
-    // Advance next until the anchor is outside the interval that
-    // statrts at 'cur', and is inside the same contig that the anchor
-    // at cur is in.
-    //
-
-    DNALength curIntervalLength = NumRemainingBases(pos[cur].q, intervalLength);
-
-    AdvanceIndexToPastInterval(pos, nPos, intervalLength, contigLength, ContigStartPos,
-            cur, curBoundary, next, nextBoundary);
-
-    DNALength prevStart = cur, prevEnd = next ;
-    int prevSize = next - cur;
-    DNALength maxStart = cur, maxEnd = next;
-    int maxSize = SumAnchors(pos, cur, next);
-    int curSize = maxSize;
-    bool onFirst = true;
-    if (curSize > minSize) {
-        start.push_back(cur);
-        end.push_back(next);
-    }
-    while ( cur < nPos ) {
-        // 
-        // This interval overlaps with a possible max start
-        //
-
-        if (pos[cur].t >= pos[maxStart].t and maxEnd > 0 and pos[cur].t < pos[maxEnd-1].t) {
-            if (curSize > maxSize) {
-                maxSize = curSize;
-                maxStart = cur;
-                maxEnd   = next;
-            }
-        }
-        else {
-            if (maxSize > minSize) {
-                start.push_back(maxStart);
-                end.push_back(maxEnd);
-            }
-            maxStart = cur;
-            maxEnd   = next;
-            maxSize  = curSize;
-        }
-
-        //
-        // Done scoring current interval.  At this point the range
-        // pos[cur...next) has been searched for a max increasing
-        // interval.  Find a new range that will possibly yield a new
-        // maximum interval.  
-        // There are a few cases to consider:
-        //
-        //
-        // genome  |---+----+------------+------+-----------------------|
-        //  anchors  cur  cur+1        next   next+1
-        //
-        // Case 1.  The range on the target pos[ cur+1 ... next].t is a
-        // valid interval (it is roughly the length of the read).  In this
-        // case increase cur and next by 1, and search this range.
-        //
-        // genome  |---+----+------------+------+-----------------------|
-        //            cur  cur+1        next   next+1
-        // read interval   ====================
-        //
-        // Case 2.  The range on the target pos[cur+1 ... next] is not a
-        // valid interval, and it is much longer than the length of the
-        // read.  This implies that it is impossible to increase the score
-        // of the read by including both 
-        //
-        // genome  |---+----+--------------------------------+-----+---|
-        //            cur  cur+1                             next next+1
-        // read interval   ==================== 
-        //
-        // Advance the interval until it includes the next anchor
-        //
-        // genome  |---+----+------------------+-------------+-----+---|
-        //            cur  cur+1             cur+n          next next+1
-        // read interval                     ==================== 
-        // 
-
-        // First advance pointer in anchor list.  If this advances to the
-        // end, done and no need for further logic checking (break now).
-
-
-        // 
-        // If the next position is not within the same contig as the current,
-        // advance the current to the next since it is impossible to find
-        // any more intervals in the current pos.
-        //
-        bool recountInterval = false;
-        if (curBoundary != nextBoundary) {
-            cur = next;
-            curBoundary = nextBoundary;
-
-            //
-            // Start the search for the first interval in the next contig
-            // just after the current position.
-            //
-            if (next < nPos) {
-                next = cur + 1;
-            }
-        }
-        else {
-
-            //
-            // The next interval is in the same contig as the current interval.
-            // Make sure not to double count the current interval.
-            //
-
-            curSize -= pos[cur].l;
-
-            cur++;
-            if (cur >= nPos)
-                break;
-
-            //
-            // Advance the next to outside this interval.
-            //
-            curSize += pos[next].l;
-            if (pos[next].t - pos[cur].t > intervalLength) {
-                if (maxSize > minSize) {
-                    start.push_back(maxStart);
-                    end.push_back(maxEnd);
-                }
-
-                cur = next;
-                recountInterval = true;
-                maxSize = 0;
-            }
-            next++;
-        }
-
-        if (next > nPos) {
-            //
-            // Searched last interval, done.
-            //
-            break;
-        }
-
-        //
-        // Next has advanced.  Check what contig it is in.
-        //
-        if (next < nPos) {
-            nextBoundary = ContigStartPos(pos[next].t);
-            //
-            // Advance next to the maximum position within this contig that is
-            // just after where the interval starting at cur is, or the first
-            // position in the next contig.
-            //
-            int prevNext = next;
-            AdvanceIndexToPastInterval(pos, nPos, intervalLength, contigLength, ContigStartPos,
-                                       cur, curBoundary, next, nextBoundary);
-            if (prevNext != next or recountInterval) {
-                curSize = SumAnchors(pos, cur, next);
-            }
-        }
-
-        // if next >= nPos, the boundary stays the same.
-
-        //
-        //  When searching multiple contigs, it is important to know the
-        //  boundary of the contig that this anchor is in so that clusters
-        //  do not span multiple contigs.  Find the (right hand side)
-        //  boundary of the current contig.
-        //
-
-        curBoundary = ContigStartPos(pos[cur].t);
-        contigLength  = ContigStartPos.Length(pos[cur].t);
-
-        //
-        // Previously tried to advance half.  This is being removed since
-        // proper heuristics are making it not necessary to use.
-        //
-    }
-    if (curSize > minSize) {
-        start.push_back(maxStart);
-        end.push_back(maxEnd);
-    }
-}
-
-template<typename T_MatchList,
-         typename T_PValueFunction, 
-         typename T_WeightFunction,
-         typename T_SequenceBoundaryDB,
-         typename T_ReferenceSequence,
-         typename T_Sequence>
-int FindMaxIncreasingInterval(
-    // Input
-    // readDir is used to indicate if the interval that is being stored is 
-    // in the forward or reverse strand.  This is important later when 
-    // refining alignments so that the correct sequence is aligned back 
-    // to the reference.
-    int readDir, 
-    T_MatchList &pos, 
-    // How many values to search through for a max set.
-    DNALength intervalLength,  
-    // How many sets to keep track of
-    VectorIndex nBest, 
-    // End search for intervals at boundary positions
-    // stored in seqBoundaries
-    T_SequenceBoundaryDB & ContigStartPos,
-    // First rand intervals by their p-value
-    T_PValueFunction &MatchPValueFunction,  
-    // When ranking intervals, sum over weights determined by 
-    // MatchWeightFunction
-    T_WeightFunction &MatchWeightFunction,  
-    // Output.
-    // The increasing interval coordinates, 
-    // in order by queue weight.
-    WeightedIntervalSet &intervalQueue, 
-    T_ReferenceSequence &reference, 
-    T_Sequence &query,
-    IntervalSearchParameters &params,
-    vector<BasicEndpoint<ChainedMatchPos> > *chainEndpointBuffer,
-    ClusterList &clusterList,
-    VarianceAccumulator<float> &accumPValue, 
-    VarianceAccumulator<float> &accumWeight,
-    VarianceAccumulator<float> &accumNumAnchorBases,
-    const char *titlePtr) {
-
-    int maxLISSize = 0;
-    if (params.fastMaxInterval) {
-        maxLISSize = FastFindMaxIncreasingInterval(
-                readDir, pos, intervalLength,
-                nBest, ContigStartPos, 
-                MatchPValueFunction, MatchWeightFunction,
-                intervalQueue, reference, query,
-                params, chainEndpointBuffer, clusterList,
-                accumPValue, accumWeight);
-    } else {
-        maxLISSize = ExhaustiveFindMaxIncreasingInterval(
-                readDir, pos, intervalLength,
-                nBest, ContigStartPos, 
-                MatchPValueFunction, MatchWeightFunction,
-                intervalQueue, reference, query,
-                params, chainEndpointBuffer, clusterList,
-                accumPValue, accumWeight);
-    }
-
-    if (params.aggressiveIntervalCut and intervalQueue.size() >= 3) {
-        // aggressiveIntervalCut mode: 
-        // only pick up the most promising intervals if we can classify
-        // intervals into 'promising' and 'non-promising' clusters.
-        WeightedIntervalSet::iterator it = intervalQueue.begin();
-        int sz = intervalQueue.size();
-        vector<float> pValues, ddPValues;
-        pValues.resize(sz);
-        ddPValues.resize(sz);
-        float sumPValue = 0;
-        int i = 0;
-        for(; it != intervalQueue.end(); i++,it++) {
-            sumPValue += (*it).pValue;
-            pValues[i] = (*it).pValue;
-        }
-        //We will attemp to divide intervals into two clusters, promising 
-        //and non-promising.
-        float prevSumPValue = pValues[0];
-        // ddPValue[i], where i in [1...n-2] is the difference of 
-        //    (1) (mean pvalue of [0...i-1] minus pvalue[i])
-        // and 
-        //    (2) (pvalue[i] minus mean pvalue of [i+1...n-1])
-        // pValues are all negative, the lower the better.
-        // if ddPValue is negative, interval i is closer to cluster [i+1...n-1],
-        // otherwise, interval i is closer to cluster [0..i-1].
-        it = intervalQueue.begin();
-        it ++; //both it and i should point to the second interval in intervalQueue.
-        for(i = 1; i < sz - 1; i++,it++) {
-            ddPValues[i] = (prevSumPValue / i) +
-                           (sumPValue - prevSumPValue - pValues[i]) / (sz - i - 1) -
-                           2 * pValues[i];
-            if (ddPValues[i] <= params.ddPValueThreshold) {
-                // PValue of interval i is much closer to cluster [i+1...n-1] than
-                // to cluster [0...i-1]. Mean pValue of cluster [0..i-1] 
-                // minus mean pvalue of cluster [i+1...n-1] < 2 * -500
-                break;
-            }
-            prevSumPValue += pValues[i];
-        }
-        if (it != intervalQueue.end()) {
-            // Erase intervals in the non-promising cluster.
-            intervalQueue.erase(it, intervalQueue.end());
-            // Recompute accumPValue, accmWeight, clusterList;
-            accumPValue.Reset();
-            accumWeight.Reset();
-            clusterList.Clear();
-            for(it = intervalQueue.begin(); it != intervalQueue.end(); it++) {
-                accumPValue.Append((*it).pValue);
-                accumWeight.Append((*it).size);
-                clusterList.Store((*it).totalAnchorSize, (*it).start, (*it).end, (*it).nAnchors);
-            }
-        }
-    }
-    return maxLISSize;
-}
-
-template<typename T_MatchList,
-         typename T_PValueFunction, 
-         typename T_WeightFunction,
-         typename T_SequenceBoundaryDB,
-         typename T_ReferenceSequence,
-         typename T_Sequence>
-int FastFindMaxIncreasingInterval(
-        // Input
-        // readDir is used to indicate if the interval that is being stored is in the forward
-        // or reverse strand.  This is important later when refining alignments so that the
-        // correct sequene is aligned back to the reference.
-        int readDir, 
-        T_MatchList &pos, 
-        // How many values to search through for a max set.
-        DNALength intervalLength,  
-        // How many sets to keep track of
-        VectorIndex nBest, 
-        // End search for intervals at boundary positions
-        // stored in seqBoundaries
-        T_SequenceBoundaryDB & ContigStartPos,
-        // First rand intervals by their p-value
-        T_PValueFunction &MatchPValueFunction,  
-        // When ranking intervals, sum over weights determined by MatchWeightFunction
-        T_WeightFunction &MatchWeightFunction,  
-        // Output.
-        // The increasing interval coordinates, 
-        // in order by queue weight.
-        WeightedIntervalSet &intervalQueue, 
-        T_ReferenceSequence &reference, 
-        T_Sequence &query,
-        IntervalSearchParameters &params,
-        vector<BasicEndpoint<ChainedMatchPos> > *chainEndpointBuffer,
-        ClusterList &clusterList,
-        VarianceAccumulator<float> &accumPValue, 
-        VarianceAccumulator<float> &accumWeight) {
- 
-    WeightedIntervalSet sdpiq;
-    VectorIndex cur = 0;
-    VectorIndex nPos = pos.size();
-    vector<VectorIndex> lisIndices;
-    //
-    // Initialize the first interval.
-    //
-    if (pos.size() == 0) {
-        return 0;
-    }
-
-    int lisSize;
-    float lisWeight;
-    float lisPValue;
-    T_MatchList lis;
-    float neginf = -1.0/0.0;
-    int noOvpLisSize = 0;
-    int noOvpLisNBases = 0;
-
-    //
-    // Search for clusters of intervals within the pos array within
-    // pos[cur...next).  The value of 'next' should be the first anchor
-    // outside the possible range to cluster, or the end of the anchor list.
-
-    VectorIndex next = cur + 1;
-    DNALength curBoundary = 0, nextBoundary = 0;
-    DNALength contigLength = ContigStartPos.Length(pos[cur].t);
-    DNALength endOfCurrentInterval = curBoundary + contigLength;
-
-    vector<UInt> scores, prevOpt;
-    vector<DNALength> start, end;
-
-    StoreLargestIntervals(pos, ContigStartPos, intervalLength, 30, start, end);
-
-    VectorIndex i;
-    VectorIndex posi;
-    int maxLISSize = 0;
-    
-    for (posi = 0; posi < start.size(); posi++) {
-        lis.clear();
-        lisIndices.clear();
-        cur = start[posi];
-        next = end[posi];
-        if (next - cur == 1) {
-            //
-            // Just one match in this interval, don't invoke call to global chain since it is given.
-            //
-            lisSize = 0;
-            lisIndices.push_back(0);
-        }
-        else {
-            //
-            // Find the largest set of increasing intervals that do not overlap.
-            //
-            if (params.globalChainType == 0) {
-                lisSize = GlobalChain<ChainedMatchPos, BasicEndpoint<ChainedMatchPos> >(pos, cur, next, 
-                        lisIndices, chainEndpointBuffer);
-            }
-            else {
-                //
-                //  A different call that allows for indel penalties.
-                //
-                lisSize = RestrictedGlobalChain(&pos[cur],next - cur, 0.1, lisIndices, scores, prevOpt);
-            }
-        }
-
-        // Maybe this should become a function?
-        for (i = 0; i < lisIndices.size(); i++) {
-            lis.push_back(pos[lisIndices[i]+cur]);
-        }
-
-        // 
-        // Compute pvalue of this match.
-        //
-        if (lis.size() > 0) {
-            lisPValue = MatchPValueFunction.ComputePValue(lis, noOvpLisNBases, noOvpLisSize);
-        }
-        else {
-            lisPValue = 0;
-        }
-
-        if (lisSize > maxLISSize) {
-            maxLISSize  = lisSize;
-        }
-
-        //
-        // Insert the interval into the interval queue maintaining only the 
-        // top 'nBest' intervals. 
-        //
-        WeightedIntervalSet::iterator lastIt = intervalQueue.begin();
-        MatchWeight lisWeight = MatchWeightFunction(lis);
-        VectorIndex lisEnd = lis.size() - 1;
-
-        accumPValue.Append(lisPValue);
-        accumWeight.Append(lisWeight);
-
-        if (lisPValue < params.maxPValue and lisSize > 0) {
-            WeightedInterval weightedInterval(lisWeight, noOvpLisSize, noOvpLisNBases, 
-                    lis[0].t, lis[lisEnd].t + lis[lisEnd].GetLength(), 
-                    readDir, lisPValue, 
-                    lis[0].q, lis[lisEnd].q + lis[lisEnd].GetLength(), 
-                    lis);
-            intervalQueue.insert(weightedInterval);
-            if (weightedInterval.isOverlapping == false) {
-                clusterList.Store((float)noOvpLisNBases, lis[0].t, lis[lis.size()-1].t, noOvpLisSize);
-            }
-            if (params.verbosity > 1) {
-                cout << "Weighted Interval to insert:"<< endl << weightedInterval << endl;
-                cout << "Interval Queue:"<< endl << intervalQueue << endl;
-            }
-        }
-    }
-    return maxLISSize;
-}
-
-template<typename T_MatchList,
-         typename T_PValueFunction, 
-         typename T_WeightFunction,
-         typename T_SequenceBoundaryDB,
-         typename T_ReferenceSequence,
-         typename T_Sequence>
-int ExhaustiveFindMaxIncreasingInterval(
-        // Input
-        // readDir is used to indicate if the interval that is being stored is in the forward
-        // or reverse strand.  This is important later when refining alignments so that the
-        // correct sequene is aligned back to the reference.
-        int readDir, 
-        T_MatchList &pos, 
-        // How many values to search through for a max set.
-        DNALength intervalLength,  
-        // How many sets to keep track of
-        VectorIndex nBest, 
-        // End search for intervals at boundary positions
-        // stored in seqBoundaries
-        T_SequenceBoundaryDB & ContigStartPos,
-        // First rand intervals by their p-value
-        T_PValueFunction &MatchPValueFunction,  
-        // When ranking intervals, sum over weights determined by MatchWeightFunction
-        T_WeightFunction &MatchWeightFunction,  
-        // Output.
-        // The increasing interval coordinates, 
-        // in order by queue weight.
-        WeightedIntervalSet &intervalQueue, 
-        T_ReferenceSequence &reference, 
-        T_Sequence &query,
-        IntervalSearchParameters &params,
-        vector<BasicEndpoint<ChainedMatchPos> > *chainEndpointBuffer,
-        ClusterList &clusterList,
-        VarianceAccumulator<float> &accumPValue, 
-        VarianceAccumulator<float> &accumWeight) {
-
-    WeightedIntervalSet sdpiq;
-    VectorIndex cur = 0;
-    VectorIndex nPos = pos.size();
-    //
-    // Initialize the first interval.
-    //
-    if (pos.size() == 0) {
-        return 0;
-    }
-
-    int lisSize;
-    float lisWeight;
-    float lisPValue;
-    T_MatchList lis;
-    float neginf = -1.0/0.0;	
-    int noOvpLisSize = 0;
-    int noOvpLisNBases = 0;
-
-    //
-    // Search for clusters of intervals within the pos array within
-    // pos[cur...next).  The value of 'next' should be the first anchor
-    // outside the possible range to cluster, or the end of the anchor list.
-
-    VectorIndex next = cur + 1;
-    DNALength curBoundary = 0, nextBoundary = 0;
-    DNALength contigLength = ContigStartPos.Length(pos[cur].t);
-    DNALength endOfCurrentInterval = curBoundary + contigLength;
-
-
-    curBoundary = ContigStartPos(pos[cur].t);
-    nextBoundary = ContigStartPos(pos[next].t);  
-    vector<UInt> scores, prevOpt;
-
-    //
-    // Advance next until the anchor is outside the interval that
-    // statrts at 'cur', and is inside the same contig that the anchor
-    // at cur is in.
-    //
-
-    DNALength curIntervalLength = NumRemainingBases(pos[cur].q, intervalLength);
-
-    AdvanceIndexToPastInterval(pos, nPos, intervalLength, contigLength, ContigStartPos,
-    cur, curBoundary, next, nextBoundary);
-
-
-    vector<VectorIndex> lisIndices;
-    VectorIndex i;
-
-    //
-    // Do some preprocessing.  If the number of anchors considered for this hit is 1, 
-    // the global chain is this sole ancor.  Don't bother calling GlobalChain
-    // since it allocates and deallocates extra memory.
-    //
-
-    int maxLISSize = 0;
-
-    //
-    // Search intervals until cur reaches the end of the list of
-    // anchors.
-    //
-    while ( cur < nPos ) {
-        //
-        // Search the local interval for a LIS larger than a previous LIS.
-        //
-        lis.clear();
-        lisIndices.clear();
-
-        if (next - cur == 1) {
-            //
-            // Just one match in this interval, don't invoke call to global chain since it is given.
-            //
-            lisSize = 1;
-            lisIndices.push_back(0);
-        }
-        else {
-            //
-            // Find the largest set of increasing intervals that do not overlap.
-            //
-            if (params.globalChainType == 0) {
-                lisSize = GlobalChain<ChainedMatchPos, BasicEndpoint<ChainedMatchPos> >(pos, cur, next, 
-                        lisIndices, chainEndpointBuffer);
-            }
-            else {
-                //
-                //  A different call that allows for indel penalties.
-                //
-                lisSize = RestrictedGlobalChain(&pos[cur],next - cur, 0.1, lisIndices, scores, prevOpt);
-            }
-        }
-
-        // Maybe this should become a function?
-        for (i = 0; i < lisIndices.size(); i++) {    lis.push_back(pos[lisIndices[i]+cur]); }
-
-
-        // 
-        // Compute pvalue of this match.
-        //
-        lisPValue = MatchPValueFunction.ComputePValue(lis, noOvpLisNBases, noOvpLisSize);
-
-        if (lisSize > maxLISSize) {
-            maxLISSize  = lisSize;
-        }
-
-        //
-        // Insert the interval into the interval queue maintaining only the 
-        // top 'nBest' intervals. 
-        //
-
-        WeightedIntervalSet::iterator lastIt = intervalQueue.begin();
-        MatchWeight lisWeight = MatchWeightFunction(lis);
-        VectorIndex lisEnd = lis.size() - 1;
-
-        accumPValue.Append(lisPValue);
-        accumWeight.Append(lisWeight);
-
-        if (lisPValue < params.maxPValue and lisSize > 0) {
-            WeightedInterval weightedInterval(lisWeight, noOvpLisSize, noOvpLisNBases, 
-                    lis[0].t, lis[lisEnd].t + lis[lisEnd].GetLength(), 
-                    readDir, lisPValue, 
-                    lis[0].q, lis[lisEnd].q + lis[lisEnd].GetLength(), 
-                    lis);
-            intervalQueue.insert(weightedInterval);
-            if (weightedInterval.isOverlapping == false) {
-                clusterList.Store((float)noOvpLisNBases, lis[0].t, lis[lis.size()-1].t, noOvpLisSize);
-            }
-            if (params.verbosity > 1) {
-                cout << "Weighted Interval to insert:"<< endl << weightedInterval << endl;
-                cout << "Interval Queue:"<< endl << intervalQueue << endl;
-            }
-        }
-
-        //
-        // Done scoring current interval.  At this point the range
-        // pos[cur...next) has been searched for a max increasing
-        // interval.  Find a new range that will possibly yield a new
-        // maximum interval.  
-        // There are a few cases to consider:
-        //
-        //
-        //genome  |---+----+------------+------+-----------------------|
-        //  anchors  cur  cur+1        next   next+1
-        //
-        // Case 1.  The range on the target pos[ cur+1 ... next].t is a
-        // valid interval (it is roughly the length of the read).  In this
-        // case increase cur and next by 1, and search this range.
-        //
-        // genome  |---+----+------------+------+-----------------------|
-        //            cur  cur+1        next   next+1
-        // read interval   ====================
-        //
-        // Case 2.  The range on the target pos[cur+1 ... next] is not a
-        // valid interval, and it is much longer than the length of the
-        // read.  This implies that it is impossible to increase the score
-        // of the read by including both 
-        //
-        // genome  |---+----+--------------------------------+-----+---|
-        //            cur  cur+1                             next next+1
-        // read interval   ==================== 
-        //
-        // Advance the interval until it includes the next anchor
-        //
-        // genome  |---+----+------------------+-------------+-----+---|
-        //            cur  cur+1             cur+n          next next+1
-        // read interval                     ==================== 
-        // 
-
-        // First advance pointer in anchor list.  If this advances to the
-        // end, done and no need for further logic checking (break now).
-
-
-        // 
-        // If the next position is not within the same contig as the current,
-        // advance the current to the next since it is impossible to find
-        // any more intervals in the current pos.
-        //
-        if (curBoundary != nextBoundary) {
-            cur = next;
-            curBoundary = nextBoundary;
-
-            //
-            // Start the search for the first interval in the next contig
-            // just after the current position.
-            //
-            if (next < nPos) {
-                next = cur + 1;
-            }
-        }
-        else {
-            cur++;
-            if (cur >= nPos)
-                break;
-
-            //
-            //  Look for need to advance the interval within the same
-            //  contig.  If the start of the next match is well past the
-            //  length of this read, keep moving forward matches until it is
-            //  possible to include the next interval in the matches for
-            //  this read.
-            // 
-            if (params.warp) {
-                while (cur < next and 
-                        next < nPos and 
-                        pos[next].t - pos[cur].t >= intervalLength) {
-                    //
-                    // It is impossible to increase the max interval weight any more
-                    // using pos[cur] when pos[next] is too far away from
-                    // pos[cur].  This is because the same set of anchors are used
-                    // when clustering pos[cur+1] ... pos[next] as
-                    // pos[cur] ... pos[next].  
-                    // Advance cur until pos[cur] is close enough to matter again.
-                    cur++;
-                }
-            }
-            //
-            // Advance the next to outside this interval.
-            next++;
-        }
-
-        if (next > nPos) {
-            //
-            // Searched last interval, done.
-            //
-            break;
-        }
-
-        //
-        // Next has advanced.  Check what contig it is in.
-        //
-        if (next < nPos) {
-            nextBoundary = ContigStartPos(pos[next].t);
-            //
-            // Advance next to the maximum position within this contig that is
-            // just after where the interval starting at cur is, or the first
-            // position in the next contig.
-            //
-            AdvanceIndexToPastInterval(pos, nPos, intervalLength, contigLength, ContigStartPos,
-                    cur, curBoundary, next, nextBoundary);
-        }
-        // if next >= nPos, the boundary stays the same.
-        //
-        //  When searching multiple contigs, it is important to know the
-        //  boundary of the contig that this anchor is in so that clusters
-        //  do not span multiple contigs.  Find the (right hand side)
-        //  boundary of the current contig.
-        //
-
-        curBoundary = ContigStartPos(pos[cur].t);
-        contigLength  = ContigStartPos.Length(pos[cur].t);
-
-        //
-        // Previously tried to advance half.  This is being removed since
-        // proper heuristics are making it not necessary to use.
-        //
-    }
-
-    return  maxLISSize;
-}
-
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/GlobalChain.hpp b/libcpp/alignment/algorithms/anchoring/GlobalChain.hpp
deleted file mode 100644
index b3565ec..0000000
--- a/libcpp/alignment/algorithms/anchoring/GlobalChain.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef _BLASR_GLOBAL_CHAIN_HPP_
-#define _BLASR_GLOBAL_CHAIN_HPP_
-
-#include <vector>
-#include "Types.h"
-#include "DNASequence.hpp"
-#include "algorithms/anchoring/PrioritySearchTree.hpp"
-
-template<typename T_Fragment, typename T_Endpoint>
-void FragmentSetToEndpoints(T_Fragment* fragments, int nFragments, 
-     std::vector<T_Endpoint> &endpoints);
-
-template<typename T_Fragment>
-UInt RestrictedGlobalChain(T_Fragment *fragments, 
-    DNALength nFragments, float maxIndelRate,
-    std::vector<VectorIndex>& optFragmentChainIndices,
-    std::vector<UInt>& scores, std::vector<UInt>& prevOpt);
-
-template<typename T_Fragment, typename T_Endpoint>
-int GlobalChain( T_Fragment *fragments, 
-	DNALength nFragments, 
-    std::vector<VectorIndex> &optFragmentChainIndices,
-	std::vector<T_Endpoint> *bufEndpointsPtr = NULL);
-
-template<typename T_Fragment, typename T_Endpoint>
-int GlobalChain(std::vector<T_Fragment> &fragments, 
-    std::vector<VectorIndex> &optFragmentChainIndices);
-
-template<typename T_Fragment, typename T_Endpoint>
-int GlobalChain(std::vector<T_Fragment> &fragments, 
-    DNALength start, DNALength end, 
-    std::vector<VectorIndex> &optFragmentChainIndices,
-    std::vector<T_Endpoint> *bufEndpointsPtr = NULL);
-
-#include "algorithms/anchoring/GlobalChainImpl.hpp"
-
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/GlobalChainImpl.hpp b/libcpp/alignment/algorithms/anchoring/GlobalChainImpl.hpp
deleted file mode 100644
index 49c7788..0000000
--- a/libcpp/alignment/algorithms/anchoring/GlobalChainImpl.hpp
+++ /dev/null
@@ -1,225 +0,0 @@
-#ifndef _BLASR_GLOBAL_CHAIN_IMPL_HPP_
-#define _BLASR_GLOBAL_CHAIN_IMPL_HPP_
-
-#include <algorithm>
-#include "Types.h"
-#include "DNASequence.hpp"
-#include "algorithms/anchoring/PrioritySearchTree.hpp"
-
-using namespace std;
-
-template<typename T_Fragment,typename T_Endpoint>
-void FragmentSetToEndpoints(T_Fragment* fragments, 
-    int nFragments, std::vector<T_Endpoint>& endpoints) {
-
-	endpoints.resize(nFragments*2);
-	int i;
-	int ep = 0;
-	for (i = 0; i < nFragments; i++) {
-		endpoints[ep].FragmentPtrToStart(&fragments[i]);
-		ep++;
-		endpoints[ep].FragmentPtrToEnd(&fragments[i]);
-		ep++;
-	}
-}
-
-
-template<typename T_Fragment>
-UInt RestrictedGlobalChain(T_Fragment *fragments, 
-    DNALength nFragments, 
-    float maxIndelRate,
-    vector<VectorIndex> &optFragmentChainIndices,
-    vector<UInt> &scores,
-    vector<UInt> &prevOpt) {
-	// assume fragments are sorted by t
-	
-	UInt f1, f2;
-	scores.resize(nFragments);
-	prevOpt.resize(nFragments);
-	std::fill(scores.begin(), scores.end(), 0);
-
-	UInt globalOptScore = 0;
-	UInt globalOptIndex = 0;
-	for (f1 = 0; f1 < nFragments; f1++) {
-		prevOpt[f1] = f1;
-		scores[f1] = 1;
-	}
-	
-	for (f1 = 0; f1 < nFragments - 1; f1++) {
-		UInt maxF1Score = 0;
-		UInt maxF1Prev  = f1;
-		for (f2 = f1+1; f2 < nFragments; f2++ ){ 
-			//
-			//  Check to see if the fragments may be connected within the
-			//  expected indel rate.
-			//
-			if (fragments[f2].GetQ() > fragments[f1].GetQ() + fragments[f1].GetW() 
-                and
-			    fragments[f2].GetT() > fragments[f1].GetT() + fragments[f1].GetW()) {
-				//
-				// Compute drift from diagonal.
-				//
-				UInt tDiff, qDiff;
-				tDiff = fragments[f2].GetT() - (fragments[f1].GetT() + fragments[f1].GetW());
-				qDiff = fragments[f2].GetQ() - (fragments[f1].GetQ() + fragments[f1].GetW());
-				UInt tIns, qIns;
-				tIns = qIns = 0;
-				UInt maxDiff = max(tDiff, qDiff);
-				UInt minDiff = min(tDiff, qDiff);
-				if (maxDiff - minDiff < minDiff*maxIndelRate) {
-					//
-					// The fragment is sufficiently close to the diagonal to
-					// consider it as a chain.  
-					//
-					if (scores[f2] < scores[f1] + 1) {
-						scores[f2] = scores[f1] + 1;
-						prevOpt[f2] = f1;
-						if (scores[f2] > globalOptScore) {
-							globalOptScore = scores[f2];
-							globalOptIndex = f2;
-						}
-					}
-				}
-			}
-		}
-	}
-	UInt index = globalOptIndex;
-	UInt prevIndex;
-	while(index != prevOpt[index]) {
-		optFragmentChainIndices.push_back(index);
-		assert(optFragmentChainIndices.size() < nFragments);
-		prevIndex = index;
-		index = prevOpt[index];
-		// Make sure there was no problem with backtracking.
-		assert(index < nFragments);
-		assert(index <= prevOpt[prevIndex]);
-	}
-	optFragmentChainIndices.push_back(index);
-	std::reverse(optFragmentChainIndices.begin(), optFragmentChainIndices.end());
-	return optFragmentChainIndices.size();
-}
-	
-
-template<typename T_Fragment, typename T_Endpoint>
-int GlobalChain(T_Fragment *fragments, 
-	DNALength nFragments, 
-    vector<VectorIndex> & optFragmentChainIndices,
-    vector<T_Endpoint> * bufEndpointsPtr) {
-
-	//
-	// Initialize the fragment score to be the length of each fragment.
-	//
-	if (nFragments == 0) {
-		return 0;
-	}
-
-	DNALength f;
-	for (f = 0; f < nFragments; f++) { 
-		fragments[f].SetScore(fragments[f].GetLength());
-	}
-
-	//
-	// Add the start/end points of each fragment. This allows separate
-	// scoring of start points and activation of endpoints.
-	//
-	vector<T_Endpoint> endpoints;
-	vector<T_Endpoint> *endpointsPtr;
-	if (bufEndpointsPtr != NULL) {
-		endpointsPtr = bufEndpointsPtr;
-	}
-	else {
-		endpointsPtr = &endpoints;
-	}
-				
-	
-	FragmentSetToEndpoints<T_Fragment, T_Endpoint>(fragments, 
-        nFragments, *endpointsPtr);
-
-	//
-	// The Starting points of all the fragmements are in order, 
-	// but not necessarily all of the end endpoints, so
-	// the list must be resorted.
-	//
-	std::sort(endpointsPtr->begin(), endpointsPtr->end(), 
-        typename T_Endpoint::LessThan());
-	
-	PrioritySearchTree<T_Endpoint> pst;
-
-	pst.CreateTree(*endpointsPtr);
-
-	VectorIndex p;
-	VectorIndex maxScoringEndpoint = 0;
-	bool maxScoringEndpointFound = false;
-	
-	for (p = 0; p < endpointsPtr->size(); p++) {
-		if ((*endpointsPtr)[p].GetSide() == Start) {
-			int maxPointIndex;
-			if (pst.FindIndexOfMaxPoint((*endpointsPtr), (*endpointsPtr)[p].GetKey(), maxPointIndex)) {
-				(*endpointsPtr)[p].SetChainPrev((*endpointsPtr)[maxPointIndex].GetFragmentPtr());
-				(*endpointsPtr)[p].SetScore((*endpointsPtr)[maxPointIndex].GetScore() + (*endpointsPtr)[p].GetScore());
-			}
-			else {
-				(*endpointsPtr)[p].SetChainPrev(NULL);
-			}
-		}	else {
-			assert((*endpointsPtr)[p].GetSide() == End);
-			// 
-			// The score of the fragment should be already set.  So simply activate
-			// it here (make the point be visible in a search).
-			//
-			pst.Activate((*endpointsPtr), p);
-			if (maxScoringEndpointFound == false or
-					(*endpointsPtr)[maxScoringEndpoint].GetScore() < (*endpointsPtr)[p].GetScore()) {
-				maxScoringEndpoint = p;
-				maxScoringEndpointFound = true;
-			}
-		}
-	}
-	
-	// 
-	// Now compute the chain of optimum fragments
-	//
-	T_Fragment *optFragmentPtr;
-	if (maxScoringEndpointFound == false) {
-		// 
-		// Null case, no endpoints have been processed.
-		//
-		return 0;
-	}
-	
-	optFragmentPtr = (*endpointsPtr)[maxScoringEndpoint].GetFragmentPtr();
-	unsigned int numIter = 0;
-	while (optFragmentPtr != NULL) {
-		optFragmentChainIndices.push_back((int) (optFragmentPtr - &fragments[0]));
-		optFragmentPtr = optFragmentPtr->GetChainPrev();
-		// 
-		// Do a sanity check to make sure this loop is finite -- the optimal
-		// fragment chain should never contain more fragments than what are
-		// input.
-		//
-		assert(numIter < nFragments);
-		++numIter;
-	}
-    reverse(optFragmentChainIndices.begin(), optFragmentChainIndices.end());
-	return optFragmentChainIndices.size();
-
-}
-
-
-template<typename T_Fragment, typename T_Endpoint>
-int GlobalChain(vector<T_Fragment> &fragments, 
-    vector<VectorIndex> &optFragmentChainIndices) {
-	return GlobalChain<T_Fragment, T_Endpoint>(&fragments[0], 
-        fragments.size(), optFragmentChainIndices);
-}
-
-template<typename T_Fragment, typename T_Endpoint>
-int GlobalChain(vector<T_Fragment> &fragments, 
-    DNALength start, DNALength end, 
-    vector<VectorIndex> &optFragmentChainIndices,
-    vector<T_Endpoint> *bufEndpointsPtr) {
-	return GlobalChain<T_Fragment, T_Endpoint>(&fragments[start], 
-        end - start, optFragmentChainIndices, bufEndpointsPtr);
-}
-
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/LISPValue.hpp b/libcpp/alignment/algorithms/anchoring/LISPValue.hpp
deleted file mode 100644
index 1a0e9ab..0000000
--- a/libcpp/alignment/algorithms/anchoring/LISPValue.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef _BLASR_LISPVALUE_HPP_
-#define _BLASR_LISPVALUE_HPP_
-
-#include <math.h>
-#include "datastructures/anchoring/MatchPos.hpp"
-#include "tuples/TupleCountTable.hpp"
-#include "algorithms/anchoring/ScoreAnchors.hpp"
-
-template<typename T_MatchPos>
-void StoreNonOverlappingIndices(std::vector<T_MatchPos> &lis, 
-    std::vector<T_MatchPos> &noOvpLis);
-
-template<typename T_TextSequence, 
-         typename T_Sequence,
-         typename T_MatchPos, 
-         typename T_Tuple>
-float ComputeLISPValue(std::vector<T_MatchPos> &lis, 
-    T_TextSequence &text, T_Sequence &read,
-	TupleMetrics &tm, TupleCountTable<T_TextSequence, T_Tuple> &ct,
-    int &lisNBases, int &lisSize );
-
-#include "algorithms/anchoring/LISPValueImpl.hpp"
-
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/LISPValueImpl.hpp b/libcpp/alignment/algorithms/anchoring/LISPValueImpl.hpp
deleted file mode 100644
index 613381c..0000000
--- a/libcpp/alignment/algorithms/anchoring/LISPValueImpl.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-#ifndef _BLASR_LISP_VALUE_IMPL_HPP_
-#define _BLASR_LISP_VALUE_IMPL_HPP_
-
-template<typename T_MatchPos>
-void StoreNonOverlappingIndices(std::vector<T_MatchPos> &lis, 
-    std::vector<T_MatchPos> &noOvpLis) {
-	unsigned int i;
-
-	//
-	// Greedily add lis matches according to weight.  A match may be added
-	// as long as it does not overlap with any other matches.
-	//
- 
-	// do nothing on empty lists
-	if (lis.empty()) return;
-
-	//
-	// First build a list of matches sorted by weight.
-	SortMatchPosListByWeight(lis);
-
-	//
-	// The first match is guaranteed to not overlap.
-	noOvpLis.push_back(lis[0]);
-
-	//
-	// Nothing is overlapping, and everything is sorted when there is 
-	// just one value.
-	if (lis.size() == 1) return;
-
-	//
-	// Next, add matches as long as they do not overlap.
-	for (i = 1; i < lis.size(); i++ ){
-		VectorIndex j;
-		int lts = lis[i].t;
-		int lte = lis[i].t + lis[i].GetLength();
-		int lqs = lis[i].q;
-		int lqe = lis[i].q + lis[i].GetLength();
-
-		int ovpFound = 0;
-		for (j =0; j < noOvpLis.size(); j++ ){
-			int tIntvStart = noOvpLis[j].t;
-			int tIntvEnd   = noOvpLis[j].t + noOvpLis[j].GetLength();
-			int qIntvStart = noOvpLis[j].q;
-			int qIntvEnd   = noOvpLis[j].q + noOvpLis[j].GetLength();
-			if ((lts >= tIntvStart and lts < tIntvEnd) or 
-					(lte >  tIntvStart and lte <= tIntvEnd) or
-					(lqs >= qIntvStart and lqs < qIntvEnd) or
-					(lqe >  qIntvStart and lqe <= qIntvEnd)) {
-				ovpFound = 1;
-				break;
-			}
-		}
-		if (!ovpFound) {
-			noOvpLis.push_back(lis[i]);
-		}
-	}
-	
-	//
-	// Now, the matches are found in order of size, but they need to
-	// be stored in order of text.
-	//
-	SortMatchPosList(noOvpLis);
-
-	//
-	// The match pos list was sorted in order of weight. 
-	// Just in case it causes problems down the line, re-sort it 
-	// according to query pos.
-	//
-	lis = noOvpLis;
-	SortMatchPosList(lis);
-}
-
-
-template<typename T_TextSequence, 
-         typename T_Sequence, 
-         typename T_MatchPos, 
-         typename T_Tuple>
-float ComputeLISPValue(std::vector<T_MatchPos> &lis, 
-    T_TextSequence &text, T_Sequence &read,
-	TupleMetrics &tm, TupleCountTable<T_TextSequence, T_Tuple> &ct,
-    int &lisNBases, int &lisSize ) {
-	//
-	// First, find a subset of the lis that has non-overlapping matches.
-	//
-    int i;
-    lisNBases = 0;
-    for (i = 0; i < lis.size(); i++) {
-        lisNBases += lis[i].l;
-    }
-    lisSize = lis.size();
-
-    float neginf = -1.0/0.0;
-    float inf = 1.0/0.0;
-
-    if (lis.size() == 1) {
-        //
-        // When just one LIS is found, the pvalue of the match is just the
-        // pvalue of getting a single hit with one read, which we estimate
-        // as the pvalue of at least one hit.
-        // 
-        float matchProb;
-        //
-        // Weight the single match based on how frequently it appears in
-        // the genome.
-        if (POneOrMoreMatches<T_TextSequence>(text, lis[0].t, 
-                lis[0].GetLength(), tm, ct, matchProb)) {		
-            return matchProb;
-        }
-        else {
-            // return non-significant match value.
-            return 1;
-        }
-    }
-	else {
-		//
-		// There is more than one non overlapping match.  This evokes a 
-        // totally different probability metric on LIS values.  Rather 
-        // than computing the probability of a single match, compute 
-        // the probability of seeing several matches in a row.
-		//
-		VectorIndex i;
-		float pChain = 0; // In other words, pChain = log(1)
-		// 
-		// prob of chain starts out as prob of first match.
-		//
-		if (POneOrMoreMatches(text, lis[0].t, lis[0].GetLength(),
-                tm, ct, pChain)) {
-			//
-			// Next, for each match, compute the expected probability of
-            // having to wait at most tGap time for a match.  Since this
-            // has screened for anchors that are not overlapping, 
-            // consider the events to be independent, and therefore
-			// the probabilities multiply.
-			//
-			for (i = 1; i < lis.size(); i++ ){ 
-
-				int tupleMatchCount;
-				//
-				// Find out how many times this word appears in the genome.
-				//
-				int approxNumMatches;
-				//
-				// Assume all hits are uniformly distributed across the
-				// genome.  qLambda is the frequency of seeing hit i in the
-				// genome.
-				//
-				float qLambda;
-				int   tGap;
-				int   qGap;
-				qLambda = lis[i].GetMultiplicity() / (1.0*text.length);
-			
-				// Now compute the probability of the chain.  Since the
-				// matches are uniformly distributed across the genome, the
-				// waiting time between matches is exponentially distributed.
-				pChain = pChain + log(qLambda);
-            }
-            return pChain;
-        }
-        else {
-            return 1;
-        }
-    }
-}
-
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/LISPValueWeightor.hpp b/libcpp/alignment/algorithms/anchoring/LISPValueWeightor.hpp
deleted file mode 100644
index 85213ff..0000000
--- a/libcpp/alignment/algorithms/anchoring/LISPValueWeightor.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef _BLASR_LISPVALUE_WEIGHTOR_HPP_
-#define _BLASR_LISPVALUE_WEIGHTOR_HPP_
-
-#include "algorithms/anchoring/LISPValue.hpp"
-#include "tuples/TupleMetrics.hpp"
-
-template<typename T_RefSequence, typename T_MatchList>
-class LISSumOfLogPWeightor {
-public:
-	DNALength genomeLength;
-	LISSumOfLogPWeightor(T_RefSequence &targetGenome);
-    float ComputePValue(T_MatchList &matchList, 
-        int &noOvpLisNBases, int &noOvpLisSize);
-    float operator()(T_MatchList &matchList);
-};
-
-
-template<typename T_RefSequence, typename T_Tuple, typename T_MatchList>
-class LISSMatchFrequencyPValueWeightor {
-public:
-	T_RefSequence target;
-	LISSMatchFrequencyPValueWeightor(T_RefSequence &_target);
-    float ComputePValue(T_MatchList &lis, 
-        int &noOvpLisNBases, int &noOvpLisSize);
-    float operator() (T_MatchList &lis);
-};	
-
-
-template<typename T_RefSequence, typename T_Tuple, typename T_MatchList>
-class LISPValueWeightor {
-public:
-    //
-    // All of these must be initialized prior to 
-    // computing weights (running the functor).
-    //
-    FASTASequence query;
-    T_RefSequence target;
-    TupleMetrics tm;
-    TupleCountTable<T_RefSequence, T_Tuple> *ct;
-
-    LISPValueWeightor(FASTASequence &_query, T_RefSequence &_target, 
-        TupleMetrics _tm, TupleCountTable<T_RefSequence, T_Tuple> *_ct);
-
-    float ComputePValue(T_MatchList &matchList, int &noOvpLisNBases,
-        int &noOvpLisSize);
-
-    float operator()(T_MatchList &matchList);
-};
-
-#include "algorithms/anchoring/LISPValueWeightorImpl.hpp"
-
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/LISPValueWeightorImpl.hpp b/libcpp/alignment/algorithms/anchoring/LISPValueWeightorImpl.hpp
deleted file mode 100644
index 2e06940..0000000
--- a/libcpp/alignment/algorithms/anchoring/LISPValueWeightorImpl.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-#ifndef _BLASR_LISPVALUE_WEIGHTOR_IMPL_HPP_
-#define _BLASR_LISPVALUE_WEIGHTOR_IMPL_HPP_
-
-#include "algorithms/anchoring/LISPValue.hpp"
-#include "tuples/TupleMetrics.hpp"
-
-template<typename T_RefSequence, typename T_MatchList>
-LISSumOfLogPWeightor<T_RefSequence, T_MatchList>::LISSumOfLogPWeightor(
-    T_RefSequence &targetGenome) {
-    genomeLength = targetGenome.length;
-}
-
-template<typename T_RefSequence, typename T_MatchList>
-float LISSumOfLogPWeightor<T_RefSequence, T_MatchList>::ComputePValue(
-    T_MatchList &matchList, int &noOvpLisNBases, int &noOvpLisSize) {
-    float pMatch = 0;
-    int i;
-    T_MatchList noOvpLis;
-    StoreNonOverlappingIndices(matchList, noOvpLis);
-    noOvpLisSize = noOvpLis.size();
-    noOvpLisNBases = 0;
-    for (i = 0; i < noOvpLis.size(); i++) {
-        noOvpLisNBases += noOvpLis[i].l;
-    }
-    for (i = 0; i < noOvpLis.size(); i++ ) {	
-        pMatch += -1 * ((int)noOvpLis[i].l);
-        // log(matchList[i].GetMultiplicity() / (1.0*genomeLength));
-    }
-    noOvpLisNBases = 0;
-    for (i = 0; i < matchList.size(); i++) {
-        noOvpLisNBases += matchList[i].l;
-    }
-    return pMatch;
-}
-
-
-template<typename T_RefSequence, typename T_MatchList>
-float LISSumOfLogPWeightor<T_RefSequence, T_MatchList>::operator()(
-    T_MatchList &matchList) {
-    int temp;
-    return ComputePValue(matchList, temp, temp);
-}
-
-
-template<typename T_RefSequence, typename T_Tuple, typename T_MatchList>
-LISSMatchFrequencyPValueWeightor<T_RefSequence, T_Tuple, T_MatchList>::LISSMatchFrequencyPValueWeightor(
-    T_RefSequence &_target) {
-    target.seq    = _target.seq;
-    target.length = _target.length;
-}
-
-
-template<typename T_RefSequence, typename T_Tuple, typename T_MatchList>
-float LISSMatchFrequencyPValueWeightor<T_RefSequence, T_Tuple, T_MatchList>::ComputePValue(
-    T_MatchList &lis, int &noOvpLisNBases, int &noOvpLisSize) {
-    T_MatchList noOvpLis;
-    StoreNonOverlappingIndices(lis, noOvpLis);
-    noOvpLisSize = noOvpLis.size();
-    int i;
-    noOvpLisNBases = 0;
-    for (i = 0; i < noOvpLis.size(); i++) {
-        noOvpLisNBases += noOvpLis[i].l;
-    }
-    if (noOvpLis.size() == 0){
-        return 1;
-    }
-
-    float pMatch = 0;
-    for (i = 0; i < noOvpLis.size(); i++ ) {
-        assert(noOvpLis[i].GetMultiplicity() > 0);
-        pMatch += log((1.0*noOvpLis[i].GetMultiplicity()) / target.length) * noOvpLis[i].l;
-    }
-    return pMatch;
-}
-
-
-template<typename T_RefSequence, typename T_Tuple, typename T_MatchList>
-float LISSMatchFrequencyPValueWeightor<T_RefSequence, T_Tuple, T_MatchList>::operator() (
-    T_MatchList &lis) {
-    int noOvpLisSize = 0;
-    return ComputePValue(lis, noOvpLisSize, noOvpLisSize);
-}
-
-
-template<typename T_RefSequence, typename T_Tuple, typename T_MatchList>
-LISPValueWeightor<T_RefSequence, T_Tuple, T_MatchList>::LISPValueWeightor(
-    FASTASequence &_query, T_RefSequence &_target, TupleMetrics _tm, 
-    TupleCountTable<T_RefSequence, T_Tuple> *_ct) {
-    query.seq     = _query.seq;
-    query.length  = _query.length;
-    target.seq    = _target.seq;
-    target.length = _target.length;
-    ct = _ct;
-    tm = _tm;
-}
-
-
-template<typename T_RefSequence, typename T_Tuple, typename T_MatchList>
-float LISPValueWeightor<T_RefSequence, T_Tuple, T_MatchList>::ComputePValue(
-    T_MatchList &matchList, int &noOvpLisNBases, int &noOvpLisSize) {
-    return ComputeLISPValue(matchList, target, query, tm, *ct, 
-        noOvpLisNBases, noOvpLisSize);    
-}
-
-
-template<typename T_RefSequence, typename T_Tuple, typename T_MatchList>
-float LISPValueWeightor<T_RefSequence, T_Tuple, T_MatchList>::operator()(
-    T_MatchList &matchList){
-    int noOvpLisSize = 0, noOvpLisNBases = 0;
-    return ComputeLISPValue(matchList, target, query, tm, *ct, noOvpLisNBases, noOvpLisSize);    
-}
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/LISQValueWeightor.hpp b/libcpp/alignment/algorithms/anchoring/LISQValueWeightor.hpp
deleted file mode 100644
index fd537ca..0000000
--- a/libcpp/alignment/algorithms/anchoring/LISQValueWeightor.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef _BLASR_LIS_QVALUE_WEIGHTOR_HPP_
-#define _BLASR_LIS_QVALUE_WEIGHTOR_HPP_
-
-#include "qvs/QualityValue.hpp"
-#include "DNASequence.hpp"
-#include "FASTQSequence.hpp"
-
-template<typename T_MatchList, typename T_Sequence>
-class LISQValueWeightor {
-public:
-	T_Sequence *seq;
-	float operator()(const T_MatchList &matchList);
-};
-
-template<typename T_MatchList, typename T_Sequence>
-float LISQValueWeightor<T_MatchList, T_Sequence>::operator() (
-    const T_MatchList &matchList) {
-    float totalQ;
-    DNALength  nBases;
-    VectorIndex i;
-    totalQ = 0.0;
-    nBases = 0;
-    for (i = 0; i < matchList.size(); i++) {
-        DNALength mp;
-        for (mp = matchList[i].q; mp < matchList[i].q + matchList[i].w; mp++) {
-            totalQ += (*seq).qual[mp];
-        }
-        nBases += matchList[i].w;
-    }
-    if (nBases > 0) {
-        return totalQ / nBases;
-    }
-}
-
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/LISSizeWeightor.hpp b/libcpp/alignment/algorithms/anchoring/LISSizeWeightor.hpp
deleted file mode 100644
index fa71bd0..0000000
--- a/libcpp/alignment/algorithms/anchoring/LISSizeWeightor.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef _BLASR_LIS_SIZE_WEIGHTOR_HPP_
-#define _BLASR_LIS_SIZE_WEIGHTOR_HPP_
-
-#include "Types.h"
-
-template<typename T_MatchList>
-class LISSizeWeightor {
-public:
-	MatchWeight operator()(T_MatchList &matchList);
-};
-
-#include "algorithms/anchoring/LISSizeWeightorImpl.hpp"
-
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/LISSizeWeightorImpl.hpp b/libcpp/alignment/algorithms/anchoring/LISSizeWeightorImpl.hpp
deleted file mode 100644
index ff778f5..0000000
--- a/libcpp/alignment/algorithms/anchoring/LISSizeWeightorImpl.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _BLASR_LISSIZE_WEIGHTOR_IMPL_HPP_
-#define _BLASR_LISSIZE_WEIGHTOR_IMPL_HPP_
-template<typename T_MatchList>
-MatchWeight LISSizeWeightor<T_MatchList>:: operator()(
-    T_MatchList &matchList) {
-    MatchWeight size = 0;
-    VectorIndex i;
-    for (i = 0; i < matchList.size(); i++) {
-        size += matchList[i].GetLength();
-    }
-    return size;
-}
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/LongestIncreasingSubsequence.hpp b/libcpp/alignment/algorithms/anchoring/LongestIncreasingSubsequence.hpp
deleted file mode 100644
index ef8c920..0000000
--- a/libcpp/alignment/algorithms/anchoring/LongestIncreasingSubsequence.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef _BLASR_LONGEST_INCREASING_SUBSEQUENCE_HPP_
-#define _BLASR_LONGEST_INCREASING_SUBSEQUENCE_HPP_
-
-#include <assert.h>
-#include <vector>
-#include <iostream>
-#include <algorithm>
-
-using namespace std;
-
-template<typename T>
-class RawValue {
-	int operator()(T &t) {
-		return t;
-	}
-};
-
-template<typename T, typename F_IntValue>
-int BinarySearch(T *x, vector<int> &m, int i, int lenM, F_IntValue IntValue);
-
-template<typename T, typename F_IntValue >
-int LongestIncreasingSubset(T *x, int xLength, vector<int> &subsetIndices, 
-    vector<int> &m, vector<int> &p, F_IntValue IntValue, 
-    int start=0, int end = -1);
-
-template<typename T, typename F_IntValue>
-int LongestIncreasingSubset(T*x, int& xLength, vector<int> &subsetIndices);
-
-#include "algorithms/anchoring/LongestIncreasingSubsequenceImpl.hpp"
-
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/LongestIncreasingSubsequenceImpl.hpp b/libcpp/alignment/algorithms/anchoring/LongestIncreasingSubsequenceImpl.hpp
deleted file mode 100644
index acda550..0000000
--- a/libcpp/alignment/algorithms/anchoring/LongestIncreasingSubsequenceImpl.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-#ifndef _BLASR_LONGEST_INCREASING_SUBSEQUENCE_IMPL_HPP_
-#define _BLASR_LONGEST_INCREASING_SUBSEQUENCE_IMPL_HPP_
-
-using namespace std;
-
-template<typename T, typename F_IntValue>
-int BinarySearch(T *x, vector<int> &m, int i, int lenM, F_IntValue IntValue) {
-    //
-    // Binary search for the largest
-    //   j ≤ L such that X[M[j]] < X[i]
-    //   (or set j = 0 if no such value exists)
-    //
-
-    //
-    // In English: Find the longest subsequence ending
-    //   at some value less than X[i].  That
-    //   way, X[i] can increase this subsequence by 1.
-    //
-    int low = 0, high = lenM, cur;
-    cur = (high + low) / 2;
-    assert(cur < m.size());
-
-    while (low < high) {
-        if (high == 1) {
-            assert(cur == 0);
-            return cur;
-        }
-        // The highest value is between cur and high.
-        if (IntValue(x[m[cur]]) < IntValue(x[i])) {
-            low = cur + 1;
-        }
-        else {
-            // x[m[cur]] is above x[i], so the highest valid value is
-            // strictly below cur
-            high = cur;
-        }
-        cur = (low + high) / 2;
-    }
-
-    // cur is either the last spot where x[m[cur]] < x[i], or
-    // the first spot where x[m[cur]] > x[i];
-    // Typically x[m[cur]] must be less than x[i], except on the first
-    // call to this, in which case x[m[cur]] == x[i] == the first element
-    // in the array.
-    if (cur == 0) {
-        return cur;
-    }
-    else {
-        return cur - 1;
-    }
-}
-
-
-template<typename T, typename F_IntValue >
-int LongestIncreasingSubset(T *x, int xLength, vector<int> &subsetIndices, 
-	vector<int> &m, vector<int> &p, F_IntValue IntValue, 
-	int start, int end) {
-
-	//
-	// m[i] is the index of the LIS of length i+1
-	//
-	m.resize(xLength+1);
-	if (xLength == 0)
-		return 0;
-	m[0] = -1;
-	
-	p.resize(xLength);
-	int i;
-
-	int maxM;
-	//  On the first iteration m[0] should be set to 0.
-	int lenM = 1;
-	int mi;
-
-	for (i = 0; i < xLength; i++) { 
-		//
-		// Find the index of the longest increasing subsequence ending 
-        // before x[i]
-		//
-		maxM = BinarySearch<T,F_IntValue>(x, m, i, lenM);
-
-		//
-		// p is the list of back pointers.
-		// Create a reference for where the previous longest increasing 
-		// subsequence that x[i] is part of.
-		//
-
-		p[i] = m[maxM];
-
-		//
-		// If this creates a LIS longer than any previously known one,
-		// add this to maxM.
-		//
-		if (maxM + 1 >= lenM) {
-			assert(maxM+1 < m.size());
-			m[maxM+1] = i;
-			if (maxM + 1>= lenM) {
-				// assume that lenM is never more than 2 greater than maxM.
-				lenM++;
-			}
-		}
-		//
-		// Otherwise, x[i] cannot create a longer LIS, BUT, if 
-		// it is less than the current element that ends a LIS of length maxM,
-        // it bumps that element out from the slot of ending the LIS with 
-        // length maxM.
-		//
-		else if (IntValue(x[i]) < IntValue(x[m[maxM+1]])) {
-			m[maxM+1] = i;
-		}
-	}
-	
-	//
-	// Trace back;
-	//
-	int lisLen = lenM-1;
-	int lisCur = m[lisLen];
- 	for (i = 0 ; i < lisLen and lisCur != -1; i++) {
-	   subsetIndices.push_back(lisCur);
-	   lisCur = p[lisCur];
-	}
-	std::reverse(subsetIndices.begin(), subsetIndices.end());	
-
-	return lenM - 1;
-}
-
-template<typename T, typename F_IntValue>
-int LongestIncreasingSubset(T*x, int& xLength, vector<int> &subsetIndices) {
-	vector<int> p;
-	vector<int> m;
-	return LongestIncreasingSubset(x, xLength, subsetIndices, m, p);
-}
-
-
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/MapBySuffixArray.hpp b/libcpp/alignment/algorithms/anchoring/MapBySuffixArray.hpp
deleted file mode 100644
index ce8ac39..0000000
--- a/libcpp/alignment/algorithms/anchoring/MapBySuffixArray.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef _BLASR_MAP_BY_SUFFIX_ARRAY_HPP_
-#define _BLASR_MAP_BY_SUFFIX_ARRAY_HPP_
-
-#include <algorithm>
-#include "suffixarray/SuffixArray.hpp"
-#include "datastructures/anchoring/MatchPos.hpp"
-#include "datastructures/anchoring/AnchorParameters.hpp"
-#include "algorithms/alignment/SWAlign.hpp"
-#include "algorithms/alignment/ScoreMatrices.hpp"
-
-/*
- * Parameters:
- * Eventually this should be strongly typed, since this is specific to
- * suffix array searching on DNASequence read/genome types.
- * reference  - should be of type DNASequence
- * sa         - shuld be of type SuffixArray
- * read       - may be of any DNASequence subclass.
- * tupleSize  - The length of the keyword used to speed up searching.
- * Out:
- *   matchLow - The starting point in the suffix array for the LCP
- *              match for the read at pos p.
- *   matchHigh -The same array but for the upper bound.
- *   saMatchLength - The length of the lcp.
- */
-template<typename T_SuffixArray, 
-         typename T_RefSequence, 
-         typename T_Sequence>
-int LocateAnchorBoundsInSuffixArray(T_RefSequence &reference,
-	T_SuffixArray &sa, T_Sequence &read, unsigned int minPrefixMatchLength,
-	std::vector<DNALength> &matchLow, std::vector<DNALength> &matchHigh,
-	std::vector<DNALength> &matchLength, AnchorParameters &params);
-
-template<typename T_SuffixArray, 
-         typename T_RefSequence, 
-         typename T_Sequence, 
-         typename T_MatchPos>
-int MapReadToGenome(T_RefSequence &reference,
-	T_SuffixArray &sa, T_Sequence &read, 
-	unsigned int minPrefixMatchLength,
-	vector<T_MatchPos> &matchPosList,
-	AnchorParameters &anchorParameters);
-
-#include "algorithms/anchoring/MapBySuffixArrayImpl.hpp"
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp b/libcpp/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp
deleted file mode 100644
index 6cbac02..0000000
--- a/libcpp/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp
+++ /dev/null
@@ -1,315 +0,0 @@
-#ifndef _BLASR_MAP_BY_SUFFIX_ARRAY_IMPL_HPP_
-#define _BLASR_MAP_BY_SUFFIX_ARRAY_IMPL_HPP_
-#include "defs.h" 
-#include "algorithms/anchoring/MapBySuffixArray.hpp"
-
-/*
- * Parameters:
- * Eventually this should be strongly typed, since this is specific to
- * suffix array searching on DNASequence read/genome types.
- * reference  - should be of type DNASequence
- * sa         - shuld be of type SuffixArray
- * read       - may be of any DNASequence subclass.
- * tupleSize  - The length of the keyword used to speed up searching.
- * Out:
- *   matchLow - The starting point in the suffix array for the LCP
- *              match for the read at pos p.
- *   matchHigh -The same array but for the upper bound.
- *   saMatchLength - The length of the lcp.
- */
-template<typename T_SuffixArray, 
-         typename T_RefSequence, 
-         typename T_Sequence>
-int LocateAnchorBoundsInSuffixArray(T_RefSequence &reference,
-	T_SuffixArray &sa, T_Sequence &read, unsigned int minPrefixMatchLength,
-	std::vector<DNALength> &matchLow, std::vector<DNALength> &matchHigh,
-	std::vector<DNALength> &matchLength, AnchorParameters &params) {
-
-    //
-    // Make sure there is enough of this read to map.  Since searches
-    // are keyed off of 'minPrefixMatchLength' matches, don't search
-    // anything shorter than that.
-    //
-    if (minPrefixMatchLength > 0 and 
-        read.subreadEnd - read.subreadStart < minPrefixMatchLength) {
-        return 0;
-    }
-
-    DNALength p, m;
-    DNALength alignEnd;
-    DNALength matchEnd = read.subreadEnd - minPrefixMatchLength + 1;
-    DNALength numSearchedPositions = matchEnd - read.subreadStart;
-
-    matchLength.resize(numSearchedPositions);
-    matchLow.resize(numSearchedPositions);
-    matchHigh.resize(numSearchedPositions);
-
-    std::fill(matchLength.begin(), matchLength.end(), 0);
-    std::fill(matchLow.begin(), matchLow.end(), 0);
-    std::fill(matchHigh.begin(), matchHigh.end(), 0);
-    vector<SAIndex> lowMatchBound, highMatchBound;	
-
-    for (m = 0, p = read.subreadStart; p < matchEnd; p++, m++) {
-        DNALength lcpLow, lcpHigh, lcpLength;
-        lowMatchBound.clear(); highMatchBound.clear();
-        lcpLow = 0;
-        lcpHigh = 0;
-        lcpLength = sa.StoreLCPBounds(reference.seq, reference.length, 
-            &read.seq[p], matchEnd - p,
-            params.useLookupTable,
-            params.maxLCPLength,
-            //
-            // Store the positions in the SA
-            // that are searched.
-            //
-            lowMatchBound, highMatchBound, 
-            params.stopMappingOnceUnique);
-
-        //
-        // Possibly print the lcp bounds for debugging
-        //
-        if (params.lcpBoundsOutPtr != NULL) {
-            for (int i = 0; i < lowMatchBound.size(); i++) {
-                *params.lcpBoundsOutPtr << 
-                    (highMatchBound[i] - lowMatchBound[i]);
-                if (i < lowMatchBound.size() - 1) {
-                    *params.lcpBoundsOutPtr << " ";
-                }  
-            }
-            *params.lcpBoundsOutPtr << endl;
-        }
-
-        //
-        // Default to no match.
-        //
-        matchLow[m] = matchHigh[m] = matchLength[m] = 0;
-
-        //
-        // If anything was found in the suffix array:
-        //
-        if (lowMatchBound.size() > 0) {
-            //
-            // First expand the search bounds until at least
-            // one match is found.
-            //
-            int lcpSearchLength = lowMatchBound.size();
-            bool extendedForward = false;
-            while (lcpSearchLength > 0 and 
-                    lowMatchBound[lcpSearchLength - 1] == 
-                    highMatchBound[lcpSearchLength - 1]) {
-                lcpSearchLength--;
-                lcpLength--;
-            }
-            matchLow[m]  = lowMatchBound[lcpSearchLength - 1];
-            matchHigh[m] = highMatchBound[lcpSearchLength - 1];
-            matchLength[m] = minPrefixMatchLength + lcpSearchLength;
-
-            //
-            // Next, apply some heuristics to the anchor generation.
-            //
-            // 1.1 If the suffix array match is unique, try and extend that
-            // match as long as possible to ease global chaining later on.  
-            //
-            // 1.2 If the suffix array match is unique, but cannot be
-            // extended, it probably ends in an error.  Back the search up
-            // by 1.
-            //
-            // 2.1 If the suffix array match is not unique, return the
-            // default matches, or expand the search to include more
-            // matches. 
-            //
-
-            //
-            // Check to see if the match was unique.
-            //
-            if (matchLow[m] + 1 == matchHigh[m]) {
-                //
-                // If the match is unique, extend for as long as possible.
-                //
-                lcpLength = minPrefixMatchLength + lcpSearchLength;
-                long refPos    = sa.index[matchLow[m]] + lcpLength;
-                long queryPos  = p + lcpLength;
-                bool extensionWasPossible = false;
-
-                while (refPos + 1 < reference.length and
-                       queryPos + 1 < read.length and
-                       reference.seq[refPos + 1] == read.seq[queryPos + 1] and 
-                       (params.maxLCPLength == 0 or 
-                        lcpLength < params.maxLCPLength)) {
-                    refPos++;
-                    queryPos++;
-                    lcpLength++;
-                    extensionWasPossible = true;
-                }
-
-                if (extensionWasPossible) {
-                    //
-                    // Was able to extend match far into the genome, store that.
-                    //
-                    matchLength[m] = lcpLength;
-                }
-                else if (extensionWasPossible == false) {
-                    //
-                    // No extension was possible, indicating that this match
-                    // ends at an error.  To be safe, expand search by up to
-                    // 1.
-                    //
-                    if (lcpSearchLength > 1) {
-                        lcpSearchLength = lcpSearchLength - 1;
-                    }
-                    matchLow[m]  = lowMatchBound[lcpSearchLength-1];
-                    matchHigh[m] = highMatchBound[lcpSearchLength-1];
-                    matchLength[m] = minPrefixMatchLength + lcpSearchLength;
-                }
-            }
-            else {
-                //
-                // The match is not unique.  Store a possibly expanded search.
-                // 
-                int numBacktrack = params.expand;
-                if (lcpSearchLength > params.expand) {
-                    lcpSearchLength -= params.expand;
-                }
-                else {
-                    assert(lowMatchBound.size() > 0);
-                    lcpSearchLength = 1;
-                }
-
-                //
-                // There are multiple matches for this position.
-                //
-                matchLow[m]    = lowMatchBound[lcpSearchLength - 1];
-                matchHigh[m]   = highMatchBound[lcpSearchLength - 1];
-                matchLength[m] = minPrefixMatchLength + lcpSearchLength;
-            }
-        }
-        else {
-            //
-            // The match is shorter than what the search is supposed to
-            // expand to.  In order to avoid expanding to before the end
-            // of the match list, do not set any match.
-            //
-            matchLow[m]    = 0;
-            matchHigh[m]   = 0;
-            matchLength[m] = 0;
-        }
-
-        //
-        // Possibly advance a bunch of steps.
-        //
-        if (params.advanceExactMatches) {
-            int tmp = (int)lcpLength - (int)params.expand
-                      - params.advanceExactMatches;
-            int advance = MAX(tmp, 0);
-            p += advance;
-            m += advance;
-        }
-    }
-    return 1;
-}
-
-
-template<typename T_SuffixArray, 
-         typename T_RefSequence, 
-         typename T_Sequence, 
-        typename T_MatchPos>
-int MapReadToGenome(T_RefSequence &reference,
-    T_SuffixArray &sa, T_Sequence &read, 
-    unsigned int minPrefixMatchLength,
-    vector<T_MatchPos> &matchPosList,
-    AnchorParameters &anchorParameters) {
-
-    vector<DNALength> matchLow, matchHigh, matchLength;
-
-    int minMatchLen = anchorParameters.minMatchLength;
-    if (read.subreadEnd - read.subreadStart < minMatchLen) {
-        matchPosList.clear();
-        return 0;
-    }
-
-    LocateAnchorBoundsInSuffixArray(reference, sa, read, 
-        minPrefixMatchLength, matchLow, matchHigh, matchLength,
-        anchorParameters);
-
-    //
-    // Try evaluating some contexts.
-    //
-    DNALength pos;
-    DNALength mappedLength = matchLow.size();
-    assert(matchLow.size() == matchHigh.size());
-
-    DNASequence evalQrySeq, evalRefSeq;
-    vector<Arrow> pathMat;
-    vector<int> scoreMat;
-    Alignment alignment;
-
-    //
-    // Do some filtering on the matches looking for overlapping matches
-    // if there are any.
-    //
-    if (anchorParameters.removeEncompassedMatches) {
-        vector<bool> removed;
-        removed.resize(read.length);
-        std::fill(removed.begin(), removed.end(), false);
-        int i;
-        int nRemoved = 0;
-        for (i = 0; i < read.length-1; i++) {
-            if (matchLength[i] == matchLength[i+1]+1) {
-                removed[i+1] = true;
-            }
-        }
-        for (i = 1; i < matchLength.size(); i++) {
-            if (removed[i]) {
-                matchLength[i] = matchLow[i] = matchHigh[i] = 0;
-            }
-        }
-    }
-    //
-    // Now add 
-    // 
-    DNALength endOfMapping;
-    DNALength trim = MAX(minMatchLen + 1, sa.lookupPrefixLength + 1);
-    if (read.subreadEnd < trim) {
-        endOfMapping = 0;
-    }
-    else {
-        endOfMapping = read.subreadEnd - trim;
-    }
-
-    for (pos = read.subreadStart; pos < endOfMapping; pos++) {	
-        int matchIndex = pos - read.subreadStart;
-        assert(matchIndex < matchHigh.size());
-        if (matchHigh[matchIndex] - matchLow[matchIndex] <= 
-            anchorParameters.maxAnchorsPerPosition) {
-            DNALength mp;
-            for (mp = matchLow[matchIndex]; mp < matchHigh[matchIndex]; mp++) {
-                if (matchLength[matchIndex] < minMatchLen) {
-                    continue;
-                }
-
-                //
-                // By default, add all anchors.
-                //
-                if (matchLength[matchIndex] + pos > read.length) {
-                    //
-                    // When doing branching, it's possible that a deletion
-                    // branch finds an anchor that goes past the end of a
-                    // read.  When that is the case, trim back the anchor
-                    // match since this confuses downstream assertions.
-                    //
-                    matchLength[matchIndex] = read.length - pos;
-                }
-                assert(sa.index[mp] + matchLength[matchIndex] 
-                    <= reference.length);
-
-                matchPosList.push_back(ChainedMatchPos(sa.index[mp], pos,
-                    matchLength[matchIndex], 
-                    matchHigh[matchIndex] - matchLow[matchIndex]));
-            }
-        }
-    }
-
-    return matchPosList.size();
-}		
-
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/PrioritySearchTree.hpp b/libcpp/alignment/algorithms/anchoring/PrioritySearchTree.hpp
deleted file mode 100644
index e9f4c69..0000000
--- a/libcpp/alignment/algorithms/anchoring/PrioritySearchTree.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef _BLASR_PRIORITY_SEARCH_TREE_HPP_
-#define _BLASR_PRIORITY_SEARCH_TREE_HPP_
-
-#include <vector>
-#include "algorithms/anchoring/BasicEndpoint.hpp"
-
-/*
- * Define a priority search tree on a point that implements 
- * the following interface:
- *
- * int T_point::GetIndex()
- *    - Return the index of the point in a list of points.
- * int T_point::GetKey()
- *    - Return the key value that the points are sorted by (x-value in a 2D query)
- * int T_point::GetValue()
- *    - Return the value of a point.
- * int T_point::SetValue(int value)
- *    - sets the value of a point.
- *
- * This class implements a query FindMax(key), which returns
- * the index of the point with greatest value of all points with key [0...key).
- *
- * 
- */
-template<typename T_Point>
-class PSTVertex {
-public: 
-    unsigned int leftChildIndex;
-    unsigned int rightChildIndex;
-    unsigned int isALeaf;
-    KeyType medianKey;
-    KeyType maxKey;
-    unsigned int pointIndex;
-    int maxScoreNode;
-    PSTVertex();
-};
-
-template<typename T_Point>
-class PrioritySearchTree {
-private:
-    std::vector<PSTVertex<T_Point> > tree;
-    std::vector<PSTVertex<T_Point> > * treePtr;
-	int GetMedianIndex(int start, int end);
-
-	inline KeyType CreateTree(std::vector<T_Point> &points, 
-        int start, int end, unsigned int &iterativeIndex);
-
-	int FindIndexOfMaxPoint(int curVertexIndex, std::vector<T_Point> &points, 
-        KeyType maxKey, int &maxPointValue, 
-        int &maxPointIndex);
-
-public:
-    PrioritySearchTree();
-
-	void CreateTree(std::vector<T_Point> &points, 
-        std::vector<PSTVertex<T_Point> > *bufTreePtr=NULL);
-
-	int FindPoint(KeyType pointKey, 
-        int curVertexIndex, int &pointVertexIndex);
-
-	void Activate(std::vector<T_Point> &points, int pointIndex);
-
-	int FindIndexOfMaxPoint(std::vector<T_Point> &points, 
-        KeyType maxPointKey, int &maxPointIndex);
-};
-
-#include "algorithms/anchoring/PrioritySearchTreeImpl.hpp"
-
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/PrioritySearchTreeImpl.hpp b/libcpp/alignment/algorithms/anchoring/PrioritySearchTreeImpl.hpp
deleted file mode 100644
index baa5b5b..0000000
--- a/libcpp/alignment/algorithms/anchoring/PrioritySearchTreeImpl.hpp
+++ /dev/null
@@ -1,296 +0,0 @@
-#ifndef _BLASR_PRIORITY_SEARCH_TREE_IMPL_HPP_
-#define _BLASR_PRIORITY_SEARCH_TREE_IMPL_HPP_
-
-/*
- * Define a priority search tree on a point that implements 
- * the following interface:
- *
- * int T_point::GetIndex()
- *    - Return the index of the point in a list of points.
- * int T_point::GetKey()
- *    - Return the key value that the points are sorted by (x-value in a 2D query)
- * int T_point::GetValue()
- *    - Return the value of a point.
- * int T_point::SetValue(int value)
- *    - sets the value of a point.
- *
- * This class implements a query FindMax(key), which returns
- * the index of the point with greatest value of all points with key [0...key).
- *
- * 
- */
-template<typename T_Point>
-PSTVertex<T_Point>::PSTVertex() {
-    isALeaf         = 0;
-    leftChildIndex  = 0;
-    rightChildIndex = 0;
-    maxScoreNode = -1;
-    maxKey = 0;
-    medianKey = 0;
-    pointIndex = 0;
-}
-
-
-template<typename T_Point>
-PrioritySearchTree<T_Point>::PrioritySearchTree() {treePtr = NULL;}
-
-template<typename T_Point>
-int PrioritySearchTree<T_Point>::
-GetMedianIndex(int start, int end) {
-    return (end + start) / 2;
-}
-
-template<typename T_Point>
-inline 
-KeyType PrioritySearchTree<T_Point>::
-CreateTree(std::vector<T_Point> &points, 
-    int start, int end, unsigned int &iterativeIndex) {
-    assert(iterativeIndex < (*treePtr).size());
-
-    //
-    // Look to see if this vertex is the parent of a leaf 
-    // -- when there are only two points below.
-    //
-    int medianIndex    = GetMedianIndex(start, end);
-    int curVertexIndex = iterativeIndex;
-    (*treePtr)[curVertexIndex].medianKey = points[medianIndex].GetKey();
-
-    if (end == start) {
-        // No children for this node, done.
-        (*treePtr)[curVertexIndex].pointIndex = start;
-        return (*treePtr)[curVertexIndex].medianKey;
-    }
-
-    // 
-    // Check to see if the current
-    // node is a leaf node.  No recursion on this node.
-    //
-    if (end - start == 1) {
-        (*treePtr)[curVertexIndex].isALeaf    = 1;
-        (*treePtr)[curVertexIndex].medianKey  = points[start].GetKey();
-        (*treePtr)[curVertexIndex].pointIndex = start;
-        //
-        // Return the key of this vertex.  The parent
-        // will know what to do with it.  If this is
-        // a left child, the parent will use the key to
-        // distinguish what is on the left side of the branches.
-        // If it is the right side of a (*treePtr), it is ignored.
-        //
-        return (*treePtr)[curVertexIndex].medianKey;
-    }
-    else {
-        //
-        // This vertex contains at least two children, so it is not 
-        // a leaf.  Recurse assigning leaves.
-        //
-        (*treePtr)[curVertexIndex].isALeaf = 0;
-        (*treePtr)[curVertexIndex].leftChildIndex = ++iterativeIndex;
-        KeyType leftTreeKey, rightTreeKey;
-        leftTreeKey  = CreateTree(points, start, medianIndex, iterativeIndex);
-
-        //
-        // The leftTreeKey separates the branches BELOW this vertex.
-        //
-        (*treePtr)[curVertexIndex].medianKey = leftTreeKey;
-
-        (*treePtr)[curVertexIndex].rightChildIndex = ++iterativeIndex;
-        rightTreeKey = CreateTree(points, medianIndex, end, iterativeIndex);
-        //
-        // The rightTreeKey will separate the parent's left tree from the right.
-        //
-        (*treePtr)[curVertexIndex].maxKey = rightTreeKey;
-        return rightTreeKey;
-    }
-}
-	
-template<typename T_Point>
-int PrioritySearchTree<T_Point>::
-FindIndexOfMaxPoint(int curVertexIndex, std::vector<T_Point> &points, 
-    KeyType maxKey, int &maxPointValue, 
-    int &maxPointIndex) {
-    //
-    // Attempt to find the leaf vertex beneath this vertex that has 
-    // the largest score, with a key less than max key.
-    //
-    // On return: 
-    //   Return 1 if a value is assigned to maxPointValue, 0 otherwise.
-    //   If a value is assigned to maxPointValue, this sets:
-    //      maxPointValue is the score of the maximum point.
-    //      maxPointIndex the index of the point in 'points' that has
-    //      the maximum score.
-    //   
-
-    //
-    // The vertex at curVertexIndex has a max score node beneath it, 
-    // if it has been initialized.  If the maxScoreNode has a key less 
-    // than the current maxKey, then we know the maximum value is 
-    // contained beneath this vertex, AND that its key is within the 
-    // range in the rage maximum query.
-    // That means that there is no need to continue the search below here.
-    //
-    if ((*treePtr)[curVertexIndex].maxScoreNode == -1) {
-        return 0;
-    }
-    T_Point thisPoint = points[(*treePtr)[curVertexIndex].maxScoreNode];
-    if (thisPoint.GetKey() < maxKey) {
-        if (thisPoint.GetScore() >= maxPointValue) {
-            maxPointValue = thisPoint.GetScore();
-            maxPointIndex = (*treePtr)[curVertexIndex].maxScoreNode;
-            return 1;
-        }
-        else {
-            return 0;
-        }
-    }
-    //
-    // Otherwise, the maximum scoring node beneath this node has a 
-    // key greater than the max key. That means that the search must
-    // continue for the maximum value node with a key less than 'maxKey'.
-    //
-    // The search has two cases:
-    // First, if the median key of this node is greater than the maxKey, 
-    // all keys on the right side of the tree are greater than maxKey,
-    // so do not search there.
-    //
-    // If the median key of this node si less than maxKey, there may 
-    // be a node on the left or right child of the current node with 
-    // a maximum key.  Search both to the left and right.
-    //
-    else {
-        if (!(*treePtr)[curVertexIndex].isALeaf) {
-            if (maxKey <= (*treePtr)[curVertexIndex].medianKey) {
-                return FindIndexOfMaxPoint(
-                        (*treePtr)[curVertexIndex].leftChildIndex,
-                        points, maxKey, maxPointValue, maxPointIndex);
-            }
-            else {
-                int foundValueLeft, foundValueRight;
-                foundValueLeft = FindIndexOfMaxPoint(
-                        (*treePtr)[curVertexIndex].leftChildIndex, 
-                        points, maxKey, maxPointValue, maxPointIndex);
-
-                foundValueRight = FindIndexOfMaxPoint(
-                        (*treePtr)[curVertexIndex].rightChildIndex, 
-                        points, maxKey, maxPointValue, maxPointIndex);
-                return (foundValueLeft or foundValueRight);
-            }
-        }
-        else {
-            // 
-            // The current node is a leaf node, but due to the condition
-            // from before, its key is greater than or equal to the max key, 
-            // therefore its score cannot be used for the maximum score.
-            // Returning 0 here signifies that this search-branch did not 
-            // turn up any candidates for
-            // the maximum scoring node.
-            return 0;
-        }
-    }
-}
-	
-
-template<typename T_Point>
-void PrioritySearchTree<T_Point>::
-CreateTree(std::vector<T_Point> &points, 
-    std::vector< PSTVertex<T_Point> >* bufTreePtr) {
-    //
-    // Precondition: points is sorted according to key.
-    //
-    // 
-    // The tree is a binary tree containing all the points.  The 
-    // perfectly balanced tree is of maximum size points.size()-1,
-    // so go ahead and preallocate that now.
-    //
-    if (bufTreePtr != NULL) {
-        treePtr = bufTreePtr;
-    }
-    else {
-        treePtr = &tree;
-    }
-    treePtr->resize((points.size() * 2) - 1);
-    unsigned int curVertexIndex = 0;
-    CreateTree(points, 0, points.size(), curVertexIndex);
-}
-
-
-//
-// Implement the tree as an array of interior nodes.
-// Since there is already space allocated for the 
-//
-template<typename T_Point>
-int PrioritySearchTree<T_Point>::
-FindPoint(KeyType pointKey, 
-    int curVertexIndex, int &pointVertexIndex) {
-
-    if ((*treePtr)[curVertexIndex].isALeaf) {
-        pointVertexIndex = curVertexIndex;
-        return (*treePtr)[curVertexIndex].medianKey == pointKey;
-    }
-    else {
-        if (pointKey <= (*treePtr)[curVertexIndex].medianKey) {
-            return FindPoint(pointKey, 
-                    (*treePtr)[curVertexIndex].leftChildIndex, 
-                    pointVertexIndex);
-        }
-        else {
-            return FindPoint(pointKey, 
-                    (*treePtr)[curVertexIndex].rightChildIndex, 
-                    pointVertexIndex);
-        }
-    }
-}
-
-
-template<typename T_Point>
-void PrioritySearchTree<T_Point>::
-Activate(std::vector<T_Point> &points, int pointIndex) {
-
-    int pointScore = points[pointIndex].GetScore();
-    // Now, update the pMax scores in the (*treePtr).
-
-    int curVertexIndex = 0;
-    KeyType pointKey = points[pointIndex].GetKey();
-    unsigned int itIndex = 0;
-    while (pointIndex != -1 and
-           (*treePtr)[curVertexIndex].isALeaf == 0) {
-        assert(itIndex < (*treePtr).size());
-        int nodeIndex = (*treePtr)[curVertexIndex].maxScoreNode;
-        if (nodeIndex == -1 or 
-            points[nodeIndex].GetScore() < pointScore) {
-            (*treePtr)[curVertexIndex].maxScoreNode = pointIndex;
-            pointIndex = nodeIndex; 
-        }
-
-        if (pointKey <= (*treePtr)[curVertexIndex].medianKey) {
-            curVertexIndex = (*treePtr)[curVertexIndex].leftChildIndex;
-        }
-        else {
-            curVertexIndex = (*treePtr)[curVertexIndex].rightChildIndex;
-        }
-
-        // Keep track of the number of times this loop is executed... an 
-        // infinite loop will bomb.
-        ++itIndex;
-    }
-}
-
-template<typename T_Point>
-int PrioritySearchTree<T_Point>::
-FindIndexOfMaxPoint(std::vector<T_Point> &points, 
-    KeyType maxPointKey, int &maxPointIndex) {
-
-    // start at the root
-    int curVertexIndex = 0;
-    if ((*treePtr)[curVertexIndex].maxScoreNode == -1) {
-        //
-        // This case can only be hit if none of the points have been
-        // activated. 
-        //
-        return 0;
-    }
-    int maxPointValue = 0;
-    return FindIndexOfMaxPoint(0, points, maxPointKey, 
-            maxPointValue, maxPointIndex);
-}
-
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/ScoreAnchors.hpp b/libcpp/alignment/algorithms/anchoring/ScoreAnchors.hpp
deleted file mode 100644
index 5d11504..0000000
--- a/libcpp/alignment/algorithms/anchoring/ScoreAnchors.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef _BLASR_SCORE_ANCHORS_HPP_
-#define _BLASR_SCORE_ANCHORS_HPP_
-
-#include <math.h>
-#include "tuples/TupleCountTable.hpp"
-#include "tuples/DNATuple.hpp"
-#include "tuples/TupleMetrics.hpp"
-#include "statistics/cdfs.hpp"
-#include "statistics/pdfs.hpp"
-
-template<typename TSequence, typename T_Tuple>
-int GetTupleCount(TSequence &seq, DNALength startPos, 
-    TupleMetrics &tm, TupleCountTable<TSequence, T_Tuple> &ct, 
-    int &count);
-
-template<typename TSequence, typename T_Tuple>
-int PMatch(TSequence &seq, DNALength startPos, DNALength length,
-    TupleMetrics &tm, TupleCountTable<TSequence, T_Tuple> &ct,
-	float &pMatch); 
-
-template<typename TSequence, typename T_Tuple>
-int POneOrMoreMatches(TSequence &seq, DNALength startPos, 
-    DNALength length, TupleMetrics &tm, 
-	TupleCountTable<TSequence, T_Tuple> &ct,
-    float &pValue); 
-
-template<typename TSequence, typename T_Tuple>
-int SumRightShiftMarginalTupleCounts(TupleMetrics &tm, 
-    TupleCountTable<TSequence, T_Tuple> &ct, T_Tuple curTuple,
-    int nextNuc, int &nextSeqCount);
-
-template<typename TSequence, typename T_Tuple>
-int ComputeTotalTupleCount(TupleMetrics &tm,
-    TupleCountTable<TSequence, T_Tuple> &ct, TSequence &seq,
-    int start=0, int end=-1);
-
-template<typename TSequence, typename T_Tuple>
-int ComputeAverageTupleCount(TupleMetrics &tm, 
-    TupleCountTable<TSequence, T_Tuple> &ct, TSequence &seq);
-
-inline
-int ComputeExpectedFirstWaitingTime(float lambda);
-
-#include "ScoreAnchorsImpl.hpp"
-
-#endif
diff --git a/libcpp/alignment/algorithms/anchoring/ScoreAnchorsImpl.hpp b/libcpp/alignment/algorithms/anchoring/ScoreAnchorsImpl.hpp
deleted file mode 100644
index 2debcbf..0000000
--- a/libcpp/alignment/algorithms/anchoring/ScoreAnchorsImpl.hpp
+++ /dev/null
@@ -1,179 +0,0 @@
-#ifndef _BLASR_SCORE_ANCHOR_IMPL_HPP_
-#define _BLASR_SCORE_ANCHOR_IMPL_HPP_
-
-template<typename TSequence, typename T_Tuple>
-int GetTupleCount(TSequence &seq, DNALength startPos, 
-    TupleMetrics &tm, TupleCountTable<TSequence, T_Tuple> &ct, 
-    int &count) {
-
-	T_Tuple tuple;
-	if (tuple.FromStringLR(&seq.seq[startPos], tm)) {
-		count = ct.countTable[tuple.ToLongIndex()];
-		return 1;
-	}
-	else {
-		return 0;
-	}
-}
-
-
-template<typename TSequence, typename T_Tuple>
-int PMatch(TSequence &seq, DNALength startPos, DNALength length,
-    TupleMetrics &tm, TupleCountTable<TSequence, T_Tuple> &ct,
-    float &pMatch){ 
-	int tupleCount;
-	T_Tuple tuple, curTuple;
-	//
-	// Compute the probability of a match of length 'length' 
-    // in the genome using a k-th order	Markov model of the genome.
-    // Other than that there is no spatial constraint on a match. 
-    // This means that if the length of seq is k, and that sequence 
-    // of length k exists in the genome, then the probability of a
-    // match is 1. 
-	pMatch = 1;
-	if (GetTupleCount(seq, startPos, tm, ct, tupleCount)) {
-		if (tupleCount == 0) return 0;
-		int i;
-		//
-		// Compute the frequency of the following tuple, and compare this
-		// to the frequencies of all 4 possible tuples that are next.
-		//		
-		curTuple.FromStringLR(&seq.seq[startPos], tm);
-        if (length < tm.tupleSize)  {
-            // the match is shorter than the tuples used to model the
-            // genome sequence composition.  Don't try and compute a p-value 
-            // for it -- assume that you will always find a match of this 
-            // length.
-            //
-            pMatch = 0;
-            return 1;
-        }
-		for (i = 1; i < length - tm.tupleSize; i++) {
-			// 
-			// now add on the log counts for the transitions.
-			//
-            if (tuple.FromStringLR(&seq.seq[i+startPos], tm) == 0) {
-                return 0;
-            }
-            int nextTupleCount = 0;
-			int rightMarCount = SumRightShiftMarginalTupleCounts(tm, ct, 
-                tuple, TwoBit[seq.GetNuc(startPos+i+tm.tupleSize-1)], 
-                nextTupleCount);
-			//
-			// tuple counts are not defined for N's.
-			//
-			if (TwoBit[seq.GetNuc(startPos + i+tm.tupleSize)] > 3) {
-				return 0;
-			}
-			
-			if (nextTupleCount == 0) {
-				//
-				// There is no background distribution available for this
-                // sequence context, therefore no way to evaluate p-value.
-				// 
-				return 0;
-			}
-			pMatch += log((nextTupleCount / (1.0*rightMarCount)));
-			curTuple.tuple = tuple.tuple;
-		}
-		//
-		// Done computing the probability of an extension.  Now compute the probability 
-		// of the match.  There are nMatches of the initial seed.  We assume that each has 
-		// an equal probability of matching.
-		//
-		return 1;
-	}
-	else {
-		return 0;
-	}
-}
-
-
-template<typename TSequence, typename T_Tuple>
-int POneOrMoreMatches(TSequence &seq, DNALength startPos, 
-    DNALength length, TupleMetrics &tm, 
-	TupleCountTable<TSequence, T_Tuple> &ct,
-	float &pValue){ 
-	int nMatches;
-	float pMatch = 1;
-	//
-	// Compute the probability that the sequence matches ANY spot 
-    // in the reference for at least 'length' bases.
-	//
-	PMatch(seq, startPos, length, tm, ct, pMatch);
-	pValue = pMatch;
-	return 1;
-}
-
-
-template<typename TSequence, typename T_Tuple>
-int SumRightShiftMarginalTupleCounts(TupleMetrics &tm, 
-    TupleCountTable<TSequence, T_Tuple> &ct, T_Tuple curTuple, 
-    int nextNuc, int &nextSeqCount) {
-	int totalCount = 0;
-	int rightMarCount = 0;
-	long i;
-	T_Tuple altMask;
-	altMask.tuple = 3L;
-	altMask.tuple = ~altMask.tuple;
-	for (i = 0; i < 4; i++ ) {
-		T_Tuple alt = curTuple;
-		//		next.ShiftLeft(tm, 2);
-		alt.tuple = alt.tuple & altMask.tuple;
-		alt.tuple += i;
-		//		next.Append(i,2L);
-		long countedTuple = alt.ToLongIndex();
-		rightMarCount = ct.countTable[countedTuple];
-		totalCount += rightMarCount;
-		if (i == nextNuc) {
-			nextSeqCount = rightMarCount;
-		}
-	}
-	return totalCount;
-}
-
-
-template<typename TSequence, typename T_Tuple>
-int ComputeTotalTupleCount(TupleMetrics &tm,
-    TupleCountTable<TSequence, T_Tuple> &ct, TSequence &seq, 
-    int start, int end) {
-	if (end == -1) {
-		end = seq.length;
-	}
-	int nTuples = end - tm.tupleSize + 1;
-	if (nTuples == 0 ){
-		return 0;
-	}
-	int totalCount = 0;
-	T_Tuple tuple;
-	int i;
-	for (i = 0; i < nTuples; i++) {
-		tuple.FromStringLR(&seq.seq[i], tm);
-		totalCount += ct.countTable[tuple.ToLongIndex()];
-	}
-	return totalCount;
-}
-	
-
-template<typename TSequence, typename T_Tuple>
-int ComputeAverageTupleCount(TupleMetrics &tm, 
-    TupleCountTable<TSequence, T_Tuple> &ct, TSequence &seq) {
-	int i;
-	int nTuples = seq.length - tm.tupleSize + 1;
-	if (nTuples == 0 ){
-		return 0;
-	}
-	int totalCount = ComputeTotalTupleCount(tm, ct, seq);
-	return totalCount / nTuples;
-}
-
-
-inline
-int ComputeExpectedFirstWaitingTime(float lambda) {
-	// The first waiting time of a Poisson process is 
-	// exponentially distributed. The mean of an exponentially 
-	// distributed variable with parameter lambda is 1/lambda.
-	return (1/lambda);
-}
-
-#endif
diff --git a/libcpp/alignment/algorithms/compare/CompareStrings.hpp b/libcpp/alignment/algorithms/compare/CompareStrings.hpp
deleted file mode 100644
index 18170c7..0000000
--- a/libcpp/alignment/algorithms/compare/CompareStrings.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-#ifndef _BLASR_COMPARE_STRINGS_HPP_
-#define _BLASR_COMPARE_STRINGS_HPP_
-
-template<typename T>
-class DefaultCompareStrings {
-public:
-
-    static int Compare(T lhs, T rhs) {
-        return ThreeBit[lhs] - ThreeBit[rhs];
-    }
-
-    static int Compare(T *lhs, T *rhs, int length) {
-        int i;
-        int res;
-        i = 0;
-        T *lhsptr;
-        T *rhsptr;
-        lhsptr = lhs;
-        rhsptr = rhs;
-        char *lhsend = lhs + length;
-        res = 0;
-        while (lhsptr != lhsend and res == 0) {
-            res = ThreeBit[*lhsptr] - ThreeBit[*rhsptr];
-            ++lhsptr;
-            ++rhsptr;
-        }
-        return res;
-    }
-
-    static int Equal(T a, T b) {
-        //
-        // Compare single characters.
-        //
-        return a == b;
-    }
-    static int LessThan(T *a, int aLen, T *b, int bLen) {
-        int minabLen = MIN(aLen, bLen);
-        if (minabLen <= 0)
-            return 0;
-
-        int cmpRes = memcmp((void*) a, (void*) b, minabLen);
-        if (cmpRes < 0) {
-            return 1;
-        }
-        else {
-            return 0;
-        }
-    }
-
-    static int LessThanEqual(T *a, int aLen, T *b, int bLen) {
-        int minabLen = MIN(aLen, bLen);
-        if (minabLen <= 0)
-            return 1;
-        int cmpRes = memcmp((void*) a, (void*)b, minabLen);
-        if (cmpRes <= 0) {
-            return 1;
-        }
-        else {
-            return 0;
-        }
-    }
-
-    static int Equal(T* a, int aLen, T *b, int bLen) {
-        int minabLen = MIN(aLen, bLen);
-        if (minabLen < 0)
-            return 0;
-        if (minabLen == 0)
-            return 1;
-
-        int cmpRes = memcmp((void*) a, (void*)b, minabLen);
-        if (cmpRes == 0 and aLen <= bLen) {
-            return 1;
-        }
-        else {
-            return 0;
-        }
-    }
-};
-
-
-#endif // _BLASR_COMPARE_STRINGS_HPP_
diff --git a/libcpp/alignment/algorithms/sorting/DifferenceCovers.cpp b/libcpp/alignment/algorithms/sorting/DifferenceCovers.cpp
deleted file mode 100644
index 09a4be7..0000000
--- a/libcpp/alignment/algorithms/sorting/DifferenceCovers.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <cstring>
-#include "DifferenceCovers.hpp"
-
-int InitializeDifferenceCover(int diffCoverSize, UInt &diffCoverLength, UInt *&diffCover) {
-	UInt index;
-	for (index = 0; index < N_COVERS; index++) {
-		if (diffCovers[index][0] == diffCoverSize) {
-			diffCoverLength = diffCovers[index][1];
-			diffCover = new UInt[diffCoverLength];
-			memcpy(diffCover, &diffCovers[index][2], sizeof(UInt)*diffCoverLength);
-			return 1;
-		}
-	}
-	return 0;
-}
diff --git a/libcpp/alignment/algorithms/sorting/DifferenceCovers.hpp b/libcpp/alignment/algorithms/sorting/DifferenceCovers.hpp
deleted file mode 100644
index 3ed502a..0000000
--- a/libcpp/alignment/algorithms/sorting/DifferenceCovers.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _BLASR_DIFFERENCE_COVERS_HPP_
-#define _BLASR_DIFFERENCE_COVERS_HPP_
-
-#include "Types.h"
-
-#define N_COVERS 5
-const UInt diffCovers[N_COVERS][60] = {
-	{7,  3,  1, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-	{32, 7,  1, 2, 3, 4, 8,12,20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-	{64, 9,  1, 2, 3, 6,15,17,35,43,60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-	{111,12, 1, 2, 3, 6,13,28,37,39,45,53,66,94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-	{2281, 58, 0, 1,2,3,4,5,6,7,8,9,19,38,57,76,95,114,133,152,171,190,229,268,307,346,385,424,463,502,541,580,619,658,697,736,775,814,853,892,931,951,971,991,1011,1031,1051,1071,1091,1111,1131,1132,1133,1134,1135,1136,1137,1138,1139, 1140}};
-
-int InitializeDifferenceCover(int diffCoverSize, UInt &diffCoverLength, UInt *&diffCover); 
-
-#endif // _BLASR_DIFFERENCE_COVERS_HPP_
diff --git a/libcpp/alignment/algorithms/sorting/Karkkainen.hpp b/libcpp/alignment/algorithms/sorting/Karkkainen.hpp
deleted file mode 100644
index a02f70a..0000000
--- a/libcpp/alignment/algorithms/sorting/Karkkainen.hpp
+++ /dev/null
@@ -1,134 +0,0 @@
-#ifndef ALGORITHMS_SORTING_KARKKAINEN_HPP_
-#define ALGORITHMS_SORTING_KARKKAINEN_HPP_
-
-#include "DNASequence.hpp"
-
-inline bool 
-leq(DNALength a1, DNALength a2,   DNALength b1, DNALength b2) // lexicographic order
-{
-    return(a1 < b1 || a1 == b1 && a2 <= b2); 
-} // for pairs
-
-inline bool 
-leq(DNALength a1, DNALength a2, DNALength a3,   DNALength b1, DNALength b2, DNALength b3)
-{
-    return(a1 < b1 || a1 == b1 && leq(a2, a3, b2, b3)); 
-} // and triples
-
-// stably sort a[0..n-1] to b[0..n-1] with keys in 0..K from r
-template<typename T_R>
-void radixPass(DNALength* a, DNALength* b, T_R* r, DNALength n, DNALength K)
-{ // count occurrences
-    DNALength* c = new DNALength[K + 1]; // counter array
-    for (DNALength i = 0; i <= K; i++) 
-        c[i] = 0; // reset counters
-
-    for (DNALength i = 0; i < n; i++) 
-        c[r[a[i]]]++; // count occurrences
-
-    for (DNALength i = 0, sum = 0; i <= K; i++) { // exclusive prefix sums
-        DNALength t = c[i]; c[i] = sum; sum += t; 
-    }
-
-    for (DNALength i = 0; i < n; i++) 
-        b[c[r[a[i]]]++] = a[i]; // sort
-
-    delete [] c;
-}
-
-// find the suffix array SA of T[0..n-1] in {1..K}^n
-// require T[n]=T[n+1]=T[n+2]=0, n>=2
-template<typename T_T>
-void KarkkainenBuildSuffixArray(T_T* T, DNALength* SA, DNALength n, int K) 
-{
-    DNALength n0=(n+2)/3, n1=(n+1)/3, n2=n/3, n02=n0+n2;
-    DNALength* R = new DNALength[n02 + 3]; 
-    R[n02] = R[n02+1] = R[n02+2]=0;
-
-    DNALength* SA12 = new DNALength[n02 + 3]; 
-    SA12[n02]=SA12[n02+1]=SA12[n02+2]=0;
-    
-    DNALength* R0   = new DNALength[n0];
-    DNALength* SA0 = new DNALength[n0];
-    
-    //******* Step 0: Construct sample ********
-    // generate positions of mod 1 and mod 2 suffixes
-    // the "+(n0-n1)" adds a dummy mod 1 suffix if n%3 == 1
-    for(DNALength i=0; i < n02+3; i++) {
-        R[i] = 0;
-    }
-
-    for (DNALength i=0, j=0; i < n+(n0-n1); i++) 
-        if (i%3 != 0) 
-            R[j++] = i;
-
-    //******* Step 1: Sort sample suffixes ********
-    // lsb radix sort the mod 1 and mod 2 triples
-    radixPass(R ,   SA12, T+2, n02, K);
-    radixPass(SA12, R,    T+1, n02, K);
-    radixPass(R ,   SA12, T  , n02, K);
-
-    // find lexicographic names of triples and
-    // write them to correct places in R
-    int name = 0, c0 = -1, c1 = -1, c2 = -1;
-    for (DNALength i = 0; i < n02; i++) {
-        if (T[SA12[i]] != c0 || T[SA12[i]+1] != c1 || T[SA12[i]+2] != c2) {
-            name++; c0 = T[SA12[i]]; c1 = T[SA12[i]+1]; c2 = T[SA12[i]+2];
-        }
-        if (SA12[i] % 3 == 1) {
-            R[SA12[i]/3] = name; 
-        } // write to R1
-        else {
-            R[SA12[i]/3 + n0] = name; 
-        } // write to R2
-    }
-
-    // recurse if names are not yet unique
-    if (name < n02) {
-        KarkkainenBuildSuffixArray<DNALength>(R, SA12, n02, name);
-
-        // store unique names in R using the suffix array
-        for (DNALength i = 0; i < n02; i++) 
-            R[SA12[i]] = i + 1;
-    } else {// generate the suffix array of R directly
-        for (DNALength i = 0; i < n02; i++)
-            SA12[R[i] - 1] = i;
-    }
-
-    //******* Step 2: Sort nonsample suffixes ********
-    // stably sort the mod 0 suffixes from SA12 by their first character
-    for (DNALength i=0, j=0; i < n02; i++)
-        if (SA12[i] < n0)
-            R0[j++] = 3*SA12[i];
-    
-    radixPass(R0, SA0, T, n0, K);
-
-    //******* Step 3: Merge ********
-    // merge sorted SA0 suffixes and sorted SA12 suffixes
-    for (DNALength p=0, t=n0-n1, k=0; k < n; k++) {
-
-#define GetI() (SA12[t] < n0 ? SA12[t] * 3 + 1 : (SA12[t] - n0) * 3 + 2)
-
-        DNALength i = GetI(); // pos of current offset 12 suffix
-        DNALength j = SA0[p]; // pos of current offset 0 suffix
-        if (SA12[t] < n0 ? // different compares for mod 1 and mod 2 suffixes
-            leq(T[i],       R[SA12[t] + n0], T[j],        R[j/3]) :
-            leq(T[i],T[i+1],R[SA12[t]-n0+1], T[j],T[j+1],R[j/3+n0])) 
-        { // suffix from SA12 is smaller
-            SA[k] = i; t++;
-            if (t == n02) // done --- only SA0 suffixes left
-                for (k++; p < n0; p++, k++)
-                    SA[k] = SA0[p];
-        } else { // suffix from SA0 is smaller
-            SA[k] = j; p++;
-            if (p == n0) // done --- only SA12 suffixes left
-                for (k++; t < n02; t++, k++) 
-                    SA[k] = GetI();
-        }
-    }
-    delete [] R; 
-    delete [] SA12; 
-    delete [] SA0; 
-    delete [] R0;
-}
-#endif
diff --git a/libcpp/alignment/algorithms/sorting/LightweightSuffixArray.cpp b/libcpp/alignment/algorithms/sorting/LightweightSuffixArray.cpp
deleted file mode 100644
index eb0e607..0000000
--- a/libcpp/alignment/algorithms/sorting/LightweightSuffixArray.cpp
+++ /dev/null
@@ -1,405 +0,0 @@
-#include "LightweightSuffixArray.hpp"
-
-UInt DiffMod(UInt a, UInt b, UInt d) {
-    if (b > a) {
-        return (d - ((b - a) % d))%d;
-    }
-    else {
-        return (a - b) % d;
-    }
-}
-
-void BuildDiffCoverReverseLookup(UInt diffCover[], UInt diffCoverLength,
-        UInt reverseDiffCover[] // of size diffCoverSize
-        ){
-    UInt i;
-    for (i = 0; i < diffCoverLength; i++ ){
-        reverseDiffCover[diffCover[i]] = i;
-    }
-}
-
-UInt DiffCoverFindH(UInt diffCover[], UInt diffCoverLength, UInt diffCoverSize, UInt textSize) {
-    UInt h;
-    for (h = 0; h < diffCoverSize; h++) {
-        UInt rem = textSize % diffCoverSize ;
-        if (rem == 0) return 0;
-        if ((h < diffCoverSize -1 and (diffCover[h] <= rem and rem < diffCover[h+1])) or
-                (h == diffCoverSize-1 and (diffCover[h] <= rem and rem < diffCoverSize))) {
-            return h;
-        }
-    }
-    return h;
-}
-
-
-UInt DiffCoverMu::compute(UInt i, UInt j) {
-    return textSize/diffCoverSize * i + std::min(i,h+1) + j;
-}
-UInt DiffCoverMu::operator()(const UInt k) {
-    //
-    // k is from 0 .. n (size of string)
-    //
-    UInt di = k % diffCoverSize;
-    UInt j  = k / diffCoverSize;
-    UInt i  = diffCoverReverseLookup[di];
-    //		return (textSize/diffCoverSize)*i + min(i,h) + j;
-    //		return (textSize/diffCoverSize)*i + i + j;
-    UInt itemsInBucket; 
-    //		return min(i,h)*(1 + textSize / diffCoverSize) + (i > h ? i - h : 0)*(textSize/diffCoverSize) + j;
-    return (textSize/diffCoverSize) * i + std::min(i,h+1) + j;
-}
-
-DiffCoverMu::DiffCoverMu() {
-    diffCoverLength = diffCoverSize = textSize = h = 0;
-    diffCoverReverseLookup = diffCover = NULL;
-}
-
-DiffCoverMu::~DiffCoverMu() {
-    if (diffCoverReverseLookup !=NULL) 
-        delete[] diffCoverReverseLookup;
-}
-
-void DiffCoverMu::Initialize(UInt diffCoverP[], UInt diffCoverLengthP, UInt diffCoverSizeP, UInt textSizeP) {
-    diffCoverReverseLookup = new UInt[diffCoverSizeP];
-    diffCoverLength = diffCoverLengthP;
-    textSize        = textSizeP;
-    diffCoverSize   = diffCoverSizeP;
-    diffCover       = diffCoverP;
-    UInt i;
-    for (i = 0; i < diffCoverSize; i++ ) {
-        diffCoverReverseLookup[i] = 9999999;
-    }
-    BuildDiffCoverReverseLookup(diffCoverP, diffCoverLength, diffCoverReverseLookup);
-    h               = DiffCoverFindH(diffCoverP, diffCoverLength, diffCoverSize, textSize);
-}
-
-void BuildDiffCoverLookup(UInt diffCover[], UInt diffCoverLength, UInt v, UInt diffCoverLookup[]) {
-    UInt h;
-    // Initialize with sentinal that shows a value has not been set (for small problems);
-    for (h = 0; h < v; h++) {
-        diffCoverLookup[h] = 99999999;
-    }
-    for (h = 0; h < v; h++) {
-        //
-        // For now, fill table via exhaustive search.
-        //
-        UInt hd;
-        for (hd = 0; hd < diffCoverLength; hd++) {
-            UInt dcm = (diffCover[hd] + h ) % v;
-            UInt hdi;
-            for (hdi = 0; hdi < diffCoverLength; hdi++ ){
-                if (dcm == diffCover[hdi])
-                    break;
-            }
-            if (hdi < diffCoverLength) {
-                diffCoverLookup[h] = diffCover[hd];
-                break;
-            }
-        }
-    }
-}
-
-void DiffCoverDelta::Initialize(UInt diffCoverP[], UInt diffCoverLengthP, UInt diffCoverSizeP) {
-    diffCoverLookup = new UInt[diffCoverSizeP];
-    diffCoverSize   = diffCoverSizeP;
-    BuildDiffCoverLookup(diffCoverP, diffCoverLengthP, diffCoverSizeP, diffCoverLookup);
-}
-
-UInt DiffCoverDelta::operator()(UInt i, UInt j) {
-    return DiffMod(diffCoverLookup[DiffMod(j,i,diffCoverSize)],i,diffCoverSize);
-}
-
-DiffCoverDelta::~DiffCoverDelta() {
-    if (diffCoverLookup) {
-        delete [] diffCoverLookup; 
-        diffCoverLookup = NULL;
-    }
-}
-
-
-UInt NCompareSuffices(unsigned char text[], UInt a, UInt b, UInt n) {
-    // not sure how to make lower amortized cost of the comparison.
-    return(strncmp((const char*) &text[a], (const char*)&text[b], n));
-}
-
-UInt ComputeDSetSize(UInt diffCover, UInt diffCoverLength, UInt diffCoverSize, UInt textSize) {
-    UInt div = textSize / diffCoverSize + 1;
-    UInt rem = textSize % diffCoverSize;
-    return div*diffCoverSize + rem;
-}
-
-void ComputeSufVNaming(UInt diffCover[], UInt diffCoverLength, UInt diffCoverN, UInt textSize, UInt lexNaming[], 
-        DiffCoverMu &mu,
-        UInt sufVNaming[]) {
-    UInt nDiffCover = textSize / diffCoverN + 1;
-    UInt cover;
-    UInt d;
-    UInt diffCoverIndex;
-    UInt ln = 0;
-    for (cover = 0; cover < nDiffCover; cover++) {
-        for (d = 0; d < diffCoverLength; d++) {
-            diffCoverIndex = cover * diffCoverN + diffCover[d];
-            sufVNaming[mu(diffCoverIndex)] = lexNaming[ln];
-            ln++;
-        }
-    }
-}
-
-UInt IndexToDiffCoverIndex(UInt index, UInt diffCoverlookup[], UInt diffCoverSize, UInt diffCoverLength ){
-    UInt diff = index / diffCoverSize;
-    UInt offset = index % diffCoverSize;
-    return diff*diffCoverLength + diffCoverlookup[offset];
-}
-
-void DiffCoverComputeLOrder(UInt sufVNaming[], UInt sufVNamingLength, UInt maxVNaming, UInt textLength,
-        DiffCoverMu &mu,
-        UInt lOrder[]) {
-    //
-    // the sufvnaming now contains the 
-    UInt i, di;
-    UInt nDiffCover = textLength / mu.diffCoverSize + 1;
-    UInt dci;
-    for (i = 0; i < sufVNamingLength; i++ ) {
-        lOrder[i] = 0;
-    }
-
-    for (dci = 0; dci < nDiffCover; dci++ ) {
-        for (di = 0; di < mu.diffCoverLength; di++ ){
-            i = dci*mu.diffCoverSize + mu.diffCover[di];
-            if (i >= textLength) {
-                break;
-            }
-            UInt dsetIndex = IndexToDiffCoverIndex(i, mu.diffCoverReverseLookup, mu.diffCoverSize, mu.diffCoverLength);
-            UInt mui = mu(i);
-            lOrder[mui] = sufVNaming[dsetIndex] + 1;
-        }
-    }
-    lOrder[sufVNamingLength] = 0;
-    //
-    // The result of the sufsort function is to store the inverse suffix
-    // array in the first parameter.
-    //
-
-    LarssonSuffixSort<UInt> sufsorter;
-    sufsorter.INDEX_MAX = maxVNaming + 2;
-    sufsorter(lOrder, sufVNaming, sufVNamingLength, maxVNaming+2, 0);
-    for (i = 0; i < sufVNamingLength; i++) {
-        assert(lOrder[i] > 0);
-        lOrder[i]--;
-    }
-}
-
-
-
-/*
- * Build the lex naming of the v-ordered suffices.  
- *
- * Input: textVOrder - the v-ordering of a subset of the text.
- *        textSize   - the size of the v-order set.
- *        diffCover  - the diff cover used, and it's length
- *        diffCoverLength 
- *        diffCoverSize - the size of the diff cover.
- * Output: lexNaming: the lex-naming of the v-order suffices.  The
- *        names are implemented as unsigned integers. 
- * Returns: the largest value of the lex-ordering.
- */
-UInt DiffCoverBuildLexNaming( unsigned char text[], UInt textSize,
-        UInt textVOrder[],
-        UInt dSetSize, UInt diffCover[], UInt diffCoverLength, UInt diffCoverSize, 
-        UInt diffCoverLookup[],
-        UInt lexNaming[]) {
-    UInt nCovers = textSize / diffCoverSize + 1;
-    UInt cover = 0;
-    UInt d;
-    UInt vOrder = 0;
-    UInt prevCoverIndex, coverIndex;
-    UInt lexOrder = 0;
-    UInt lexIndex = 0;
-    //
-    // Make sure there is something to do here.
-    //
-    if (dSetSize == 0) 
-        return 0;
-    UInt dcindex;
-    dcindex = IndexToDiffCoverIndex(textVOrder[0], diffCoverLookup, diffCoverSize, diffCoverLength);
-    lexNaming[dcindex] = 0;
-    for (d = 1; d < dSetSize; d++) {
-        if (NCompareSuffices(text, textVOrder[d-1], textVOrder[d], diffCoverSize) != 0) {
-            lexOrder++;
-        }
-        dcindex = IndexToDiffCoverIndex(textVOrder[d], diffCoverLookup, diffCoverSize, diffCoverLength);
-        lexNaming[dcindex]  = lexOrder;
-    }
-    return lexOrder;
-}
-
-int DiffCoverCompareSuffices::operator()(UInt a, UInt b) {
-    UInt aDCIndex, bDCIndex;
-    UInt dab = (*delta)(a,b);
-    aDCIndex = IndexToDiffCoverIndex(a + dab, diffCoverReverseLookup, diffCoverSize, diffCoverLength);
-    bDCIndex = IndexToDiffCoverIndex(b + dab, diffCoverReverseLookup, diffCoverSize, diffCoverLength);
-    return (lOrder[aDCIndex] < lOrder[bDCIndex]);
-}
-
-bool LightweightSuffixSort(unsigned char text[], UInt textLength, UInt *index, int diffCoverSize) {
-    //
-    // index is an array of length textLength that contains all
-    // suffices.
-    //
-
-    //
-    // Phase 0. Compute delta function for difference cover.
-    //
-
-    //  For now, use a very small hard wired diff cover for testing
-    UInt *diffCover;
-    UInt diffCoverLength;
-    if (InitializeDifferenceCover(diffCoverSize, diffCoverLength, diffCover) == 0) {
-        std::cout << "ERROR! There is no difference cover of size " << diffCoverSize << " that is precomputed." << std::endl;
-        exit(1);
-    }
-
-    DiffCoverDelta delta;
-
-    delta.Initialize(diffCover, diffCoverLength, diffCoverSize);
-
-    //
-    // Phase 1. Sort suffices whose starting position modulo v is in D.
-    //
-
-    // The set d is given by 
-    // Step 1.1 v-sort D-sample suffices
-    UInt dIndex = 0; // index in D-sample
-    UInt tIndex = 0; // index in text
-    UInt nDiffCover;
-    nDiffCover = textLength / diffCoverSize + 1;
-    UInt coverIndex;
-    UInt d;
-    bool done = false;
-
-    for (coverIndex = 0; coverIndex < nDiffCover and done == false; coverIndex++) {
-        for (d = 0; d < diffCoverLength and done == false; d++) {
-            tIndex = coverIndex * diffCoverSize + diffCover[d];
-            if (tIndex >= textLength) {
-                done = true;
-                break;
-            }
-            index[dIndex] = tIndex;
-            dIndex++;
-        }
-    }
-    UInt dSetSize = dIndex;
-    std::cerr << "Sorting " << diffCoverSize << "-prefixes of the genome." << std::endl;
-    MediankeyBoundedQuicksort(text, index, dIndex, 0, dSetSize, 0, diffCoverSize);
-    UInt i;
-
-    //
-    // Step 1.2 Compute l^v(i) for all i \in D_n by traversing the
-    // D-sample suffixes in lexicographic order and construct s^\prime
-    // by setting s^\prime[\mu(i)] = l^v(i)
-    //
-    UInt *lexVNaming;
-    lexVNaming = new UInt[dSetSize+1];
-    if (lexVNaming == NULL) {
-        std::cout << "Could not initialize welterweight order structure." << std::endl;
-        exit(1);
-    }
-    DiffCoverMu mu;
-    mu.Initialize(diffCover, diffCoverLength, diffCoverSize, textLength);
-    UInt largestLexName;
-    std::cerr << "Enumerating " << diffCoverSize << "-prefixes." << std::endl;
-    largestLexName = DiffCoverBuildLexNaming(text, textLength,
-            index, dSetSize, diffCover, diffCoverLength, diffCoverSize, 
-            mu.diffCoverReverseLookup, lexVNaming);
-    //
-    // Step 1.3 Compute ISA' of lex-order.
-    //
-
-    UInt *lexOrder;
-    //
-    // lexVNaming is allocated space.  The suffix sorting needs an
-    // auxiliary array.  Since the index is not being used right now,
-    // use that as the extra space.
-    //
-    UInt t;
-    UInt dci,di;	
-    for (dci = 0; dci < nDiffCover; dci++) {
-        for (di = 0 ; di < diffCoverLength; di++) {
-            i = dci*diffCoverSize + diffCover[di];
-            if (i > textLength) {
-                break;
-            }
-            mu.compute(di, dci);
-        }
-    }
-
-    UInt *tmpLexOrder = index; 
-    DiffCoverComputeLOrder(lexVNaming, dSetSize, largestLexName, textLength, mu, tmpLexOrder); 	
-    lexOrder = lexVNaming;
-
-    nDiffCover = textLength / diffCoverSize + 1;
-
-    for (dci = 0; dci < nDiffCover; dci++) {
-        for (di = 0 ; di < diffCoverLength; di++) {
-            i = dci*diffCoverSize + diffCover[di];
-            if (i >= textLength) {
-                break;
-            }
-            UInt lexOrderIndex = mu(i);
-            UInt diffCoverIndex = IndexToDiffCoverIndex(i, mu.diffCoverReverseLookup, diffCoverSize, diffCoverLength);
-            lexOrder[diffCoverIndex] = tmpLexOrder[lexOrderIndex];
-        }
-    }
-
-    //
-    // Phase 2. Construct SA by exploiting the fact that for any i,j\in
-    // [0,n-v], the relative order of the suffixes starting at
-    // i+\delta(,j) and j+\delta(i,j) is already known.
-    //
-    std::cerr << "Sorting suffices." << std::endl;
-    // Step 2.1 v-order suffices using multikey quicksort
-    for (i = 0; i < textLength; i++ ){
-        index[i] = i;
-    }
-    MediankeyBoundedQuicksort(text, index, textLength, 0, textLength, 0, diffCoverSize);
-
-    // Step 2.2. For each group of suffixes that remains unsorted
-    // (shares a prefix of length diffCoverSize, complete the sorting
-    // with a comparison based on the sorting algorithm using
-    // l(i+\delta(i,j)) nad l(j+\delta(i,j)) as keys when comparing
-    // suffixes S_i and S_j.
-    //
-    DiffCoverCompareSuffices lOrderComparator;
-    lOrderComparator.lOrder = lexOrder;
-    lOrderComparator.delta  = δ
-    lOrderComparator.diffCoverSize = diffCoverSize;
-    lOrderComparator.diffCoverLength=diffCoverLength;
-    lOrderComparator.diffCoverReverseLookup = mu.diffCoverReverseLookup;
-    UInt setBegin, setEnd;
-    setBegin = setEnd = 0;
-    std::cerr << "Sorting buckets." << std::endl;
-    int percentDone = 0;
-    int curPercentage = 0;
-    while(setBegin < textLength) {
-        setEnd = setBegin;
-        percentDone = (int)(((1.0*setBegin) / textLength) * 100);
-        if ( percentDone > curPercentage) {
-            std::cerr << " " << percentDone << "% of buckets sorted."  << std::endl;
-            curPercentage = percentDone;
-        }
-        while(setEnd < textLength and
-                NCompareSuffices(text, index[setBegin], index[setEnd], diffCoverSize) == 0) {
-            setEnd++;
-        }
-        std::sort(&index[setBegin], &index[setEnd], lOrderComparator);
-        setBegin = setEnd;
-    }
-
-    // diffCover was allocated in DifferenceCovers.cpp -> 
-    // InitializeDifferenceCover(...). Deallocate it. 
-    if (diffCover) {delete [] diffCover; diffCover = NULL;}
-    if (lexVNaming) {delete [] lexVNaming; lexVNaming = NULL;}
-    return true;
-    // DONE!!!!!
-
-}
diff --git a/libcpp/alignment/algorithms/sorting/LightweightSuffixArray.hpp b/libcpp/alignment/algorithms/sorting/LightweightSuffixArray.hpp
deleted file mode 100644
index e312671..0000000
--- a/libcpp/alignment/algorithms/sorting/LightweightSuffixArray.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-#ifndef ALGORITHMS_SORTING_LIGHTWEIGHT_SUFFIX_ARRAY_H_
-#define ALGORITHMS_SORTING_LIGHTWEIGHT_SUFFIX_ARRAY_H_
-
-#include <algorithm>
-#include "qsufsort.hpp"
-#include "MultikeyQuicksort.hpp"
-#include "DifferenceCovers.hpp"
-#include "Types.h"
-
-/*
- * a - b potentially may not fit into a signed type.  Use some logic
- * to get around that.
- */
-
-UInt DiffMod(UInt a, UInt b, UInt d); 
-
-void BuildDiffCoverReverseLookup(UInt diffCover[], UInt diffCoverLength,
-        UInt reverseDiffCover[] // of size diffCoverSize
-        );
-
-UInt DiffCoverFindH(UInt diffCover[], UInt diffCoverLength, UInt diffCoverSize, UInt textSize); 
-
-class DiffCoverMu {
-public:
-    UInt *diffCoverReverseLookup;
-    UInt diffCoverLength;
-    UInt diffCoverSize;
-    UInt textSize;
-    UInt h;
-    UInt *diffCover;
-
-    UInt compute(UInt i, UInt j); 
-
-    UInt operator()(const UInt k); 
-
-    DiffCoverMu(); 
-
-    ~DiffCoverMu(); 
-
-    void Initialize(UInt diffCoverP[], UInt diffCoverLengthP, UInt diffCoverSizeP, UInt textSizeP); 
-
-};
-
-void BuildDiffCoverLookup(UInt diffCover[], UInt diffCoverLength, UInt v, UInt diffCoverLookup[]); 
-
-class DiffCoverDelta {
-public:
-    UInt *diffCoverLookup;
-    UInt diffCoverSize;
-
-    void Initialize(UInt diffCoverP[], UInt diffCoverLengthP, UInt diffCoverSizeP); 
-
-    UInt operator()(UInt i, UInt j); 
-
-    ~DiffCoverDelta();
-};
-
-
-
-UInt NCompareSuffices(unsigned char text[], UInt a, UInt b, UInt n); 
-
-UInt ComputeDSetSize(UInt diffCover, UInt diffCoverLength, UInt diffCoverSize, UInt textSize); 
-
-void ComputeSufVNaming(UInt diffCover[], UInt diffCoverLength, UInt diffCoverN, UInt textSize, UInt lexNaming[], 
-        DiffCoverMu &mu,
-        UInt sufVNaming[]); 
-
-UInt IndexToDiffCoverIndex(UInt index, UInt diffCoverlookup[], UInt diffCoverSize, UInt diffCoverLength );
-
-void DiffCoverComputeLOrder(UInt sufVNaming[], UInt sufVNamingLength, UInt maxVNaming, UInt textLength, DiffCoverMu &mu, UInt lOrder[]); 
-
-
-/*
- * Build the lex naming of the v-ordered suffices.  
- *
- * Input: textVOrder - the v-ordering of a subset of the text.
- *        textSize   - the size of the v-order set.
- *        diffCover  - the diff cover used, and it's length
- *        diffCoverLength 
- *        diffCoverSize - the size of the diff cover.
- * Output: lexNaming: the lex-naming of the v-order suffices.  The
- *        names are implemented as unsigned integers. 
- * Returns: the largest value of the lex-ordering.
- */
-UInt DiffCoverBuildLexNaming( unsigned char text[], UInt textSize,
-        UInt textVOrder[],
-        UInt dSetSize, UInt diffCover[], UInt diffCoverLength, UInt diffCoverSize, 
-        UInt diffCoverLookup[],
-        UInt lexNaming[]); 
-
-class DiffCoverCompareSuffices {
-public:
-    UInt *lOrder;
-    DiffCoverDelta *delta;
-    UInt diffCoverSize;
-    UInt diffCoverLength;
-    UInt *diffCoverReverseLookup;
-    int operator()(UInt a, UInt b); 
-};
-
-bool LightweightSuffixSort(unsigned char text[], UInt textLength, UInt *index, int diffCoverSize); 
-
-#endif
diff --git a/libcpp/alignment/algorithms/sorting/MultikeyQuicksort.cpp b/libcpp/alignment/algorithms/sorting/MultikeyQuicksort.cpp
deleted file mode 100644
index 40936ee..0000000
--- a/libcpp/alignment/algorithms/sorting/MultikeyQuicksort.cpp
+++ /dev/null
@@ -1,197 +0,0 @@
-#include <cassert>
-#include "MultikeyQuicksort.hpp"
-
-void UIntSwap(unsigned int &a, unsigned int &b) {
-    //
-    // There probably is an SSE for this.
-    //
-    unsigned int tmp = a;
-    a = b; b = tmp;
-}
-
-void VecSwap( UInt i, UInt j, UInt n, UInt index[]) {
-    UInt ni;
-    for (ni = 0; ni < n; ni++) {
-        UIntSwap(index[i], index[j]);
-        i++; j++;
-    }
-}
-
-unsigned char ComputeMedianValue(unsigned char text[], UInt index[], int length, 
-        UInt low, UInt high, int offset, UInt maxPossible, UInt *freq ) {
-    /*
-     * Compute the median value of positions at suffix+offset across all
-     * suffices from [low,high).
-     */
-
-    int f;
-    for (f = 0; f< maxPossible+1; f++) {
-        freq[f] = 0;
-    }
-
-    UInt pos;
-    UInt maxValue = 0;
-    int val;
-    //  return text[index[(high+low)/2]+offset];
-    // Compute frequencies of nucleotides (+N), packed into 3-bit representation.
-    for (pos = low; pos < high; pos++) {
-        //		if (index[pos] + offset < length) {
-        //			val = ThreeBit[text[index[pos] + offset]];
-        val = text[index[pos]+offset];
-        if (val > maxValue) {
-            maxValue = val;
-        }
-        freq[val]++;
-        //		}
-    }
-    UInt medianBound = (high - low)/2;
-    int i;
-    int runningTotal = 0;
-
-    for(i =1; i<= maxValue; i++ ){
-        runningTotal = freq[i] + runningTotal;
-        if (runningTotal >= medianBound) {
-            return i;
-        }
-    }
-    return maxValue;
-}
-
-UInt FindFirstOf(unsigned char text[], UInt index[], UInt length, 
-        UInt low, UInt high, int offset, Nucleotide nuc) {
-    UInt p;
-    for (p = low; p < high and text[index[p]+offset] != nuc; p++);
-    return p;
-}
-
-inline
-void SwapIndices(UInt &a, UInt &b) {
-    UInt temp = a;
-    a = b;
-    b = temp;
-}
-
-/*
-   UInt min(UInt a, UInt b) {
-   return (a < b) ? a : b;
-   }
-   */
-void TransformSequenceForSorting(unsigned char text[], UInt textLength, int bound) {
-    UInt i;
-    for (i = 0; i < textLength; i++) {
-        text[i] = ThreeBit[text[i]] + 1;
-    }
-    for (i = textLength; i < textLength+bound;i++) {
-        text[i] = 0;
-    }
-}
-
-void TransformBackSequence(Nucleotide text[], UInt textLength) {
-    UInt i;
-    for (i = 0; i < textLength; i++) {
-        text[i]--;
-        text[i] = ThreeBitToAscii[text[i]];
-    }
-}	
-
-
-/*
- * depth: the current depth of how much is sorted.
- * bound: how far to sort.
- */
-void MediankeyBoundedQuicksort(unsigned char text[], UInt index[], UInt length,
-        UInt low, UInt high, int depth, int bound, UInt maxChar, UInt *freq) {
-
-    if (high - low <= 1) 
-        return;
-    if (depth > bound)
-        return;
-
-    bool deleteFreq = false;
-    if (freq == NULL) {
-        UInt ci;
-        maxChar = 0;
-        for (ci = low; ci < high; ci++) {
-            UInt c = text[index[ci]+depth];
-            if ( c > maxChar) {
-                maxChar = c;
-            }
-        }
-        freq = new UInt[maxChar+1];
-        deleteFreq = true;
-    }
-
-    Nucleotide medianChar = ComputeMedianValue(text, index, length, low, high, depth, maxChar, freq );
-    UInt medianCharPos    = FindFirstOf(text, index, length, low, high, depth, medianChar);
-    UInt medLeft, lastLeft;
-    UInt medRight, lastRight;
-
-    // 
-    // Pack the median characters into the sides of the array.
-    //
-    SwapIndices(index[low], index[medianCharPos]);
-
-    medLeft = lastLeft = low+1;
-    medRight = lastRight = high-1;
-
-    for(;;) {
-        Nucleotide nuc;
-        while(lastLeft <= lastRight and (nuc = text[index[lastLeft]+depth]) <= medianChar) {
-            if (nuc == medianChar) {
-                SwapIndices(index[medLeft], index[lastLeft]);
-                medLeft++;
-            }
-            lastLeft++;
-        }
-
-        while(lastLeft <= lastRight and (nuc = text[index[lastRight]+depth]) >= medianChar) {
-            if (nuc == medianChar) {
-                SwapIndices(index[medRight], index[lastRight]);
-                medRight--;
-            }
-            lastRight--;
-        }
-        if (lastLeft > lastRight) {
-            // done with median sort.
-            break;
-        }
-        //
-        // Otherwise, this ends with an index at the left out of order
-        // from the right
-        assert(text[index[lastLeft]+depth] > text[index[lastRight]+depth]);
-        SwapIndices(index[lastLeft], index[lastRight]);
-    }
-
-    //
-    // Now join the indices of the median charactes in the middle of the
-    // array. 
-    //
-    // move left outside to middle
-    UInt swapLeftLength = std::min(medLeft - low, lastLeft - medLeft);
-    VecSwap(low, lastLeft - swapLeftLength, swapLeftLength, index);
-    // move right outside to middle
-    UInt swapRightLength = std::min(high - medRight - 1, medRight - lastRight);
-    VecSwap(lastRight+1, high-swapRightLength, swapRightLength, index);
-
-    UInt medianStartIndex = low + lastLeft - medLeft;
-    UInt medianEndIndex   = lastRight + (high - medRight);
-
-    // Sort the suffices with keys lower than the median. 
-    // Since these may contain multiple keys that are less than the
-    // median, the same depth is used.
-    MediankeyBoundedQuicksort(text, index, length, 
-            low, 
-            medianStartIndex,
-            depth, bound, maxChar,freq);
-    if (medianEndIndex - medianStartIndex > 1) {
-        MediankeyBoundedQuicksort(text, index, length,
-                medianStartIndex, medianEndIndex, depth+1, bound, maxChar, freq);
-    }
-
-    MediankeyBoundedQuicksort(text, index, length,
-            medianEndIndex,
-            high,
-            depth, bound, maxChar, freq);
-
-    if (deleteFreq) {delete [] freq; freq = NULL;}
-}
diff --git a/libcpp/alignment/algorithms/sorting/MultikeyQuicksort.hpp b/libcpp/alignment/algorithms/sorting/MultikeyQuicksort.hpp
deleted file mode 100644
index c09a10b..0000000
--- a/libcpp/alignment/algorithms/sorting/MultikeyQuicksort.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifndef _BLASR_MULTIKEY_QUICKSORT_HPP_
-#define _BLASR_MULTIKEY_QUICKSORT_HPP_
-
-/*
- * This is an implementation of MultiKey Quicksort, or ssort1 from
- * Bentley and Sedgewick, Fast Algorithms for Sorting and Searching
- * Strings, Proc. 8th Annual ACM-SIAM Symposium on Discrete Algorithms
- * (SODA), pages 360-369, January 1997. 
- *
- * The implementation here sorts lists of indices into an array of
- * substrings rather than the substrings themselves (for use in suffix
- * array generation).  Furthermore, it is made to be sse-alizeable to
- * speed up sorts on modern architectures. 
- */
-
-#include <limits.h>
-#include <vector>
-#include <algorithm>
-#include "NucConversion.hpp"
-#include "FASTASequence.hpp"
-#include "Types.h"
-
-typedef unsigned int UInt;
-
-void UIntSwap(unsigned int &a, unsigned int &b); 
-
-void VecSwap( UInt i, UInt j, UInt n, UInt index[]); 
-
-unsigned char ComputeMedianValue(unsigned char text[], UInt index[], int length, 
-        UInt low, UInt high, int offset, UInt maxPossible, UInt *freq ); 
-
-UInt FindFirstOf(unsigned char text[], UInt index[], UInt length, 
-        UInt low, UInt high, int offset, Nucleotide nuc);
-
-void SwapIndices(UInt &a, UInt &b);
-
-void TransformSequenceForSorting(unsigned char text[], UInt textLength, int bound); 
-
-void TransformBackSequence(Nucleotide text[], UInt textLength); 
-
-/*
- * depth: the current depth of how much is sorted.
- * bound: how far to sort.
- */
-void MediankeyBoundedQuicksort(unsigned char text[], UInt index[], UInt length,
-        UInt low, UInt high, int depth, int bound, UInt maxChar= 0, UInt *freq=NULL); 
-
-#endif // _BLASR_MULTIKEY_QUICKSORT_HPP_
diff --git a/libcpp/alignment/algorithms/sorting/qsufsort.cpp b/libcpp/alignment/algorithms/sorting/qsufsort.cpp
deleted file mode 100644
index aa23e85..0000000
--- a/libcpp/alignment/algorithms/sorting/qsufsort.cpp
+++ /dev/null
@@ -1,302 +0,0 @@
-/* qsufsort.c
-   Copyright 1999, N. Jesper Larsson, all rights reserved.
-
-   This file contains an implementation of the algorithm presented in "Faster
-   Suffix Sorting" by N. Jesper Larsson (jesper at cs.lth.se) and Kunihiko
-   Sadakane (sada at is.s.u-tokyo.ac.jp).
-
-   This software may be used freely for any purpose. However, when distributed,
-   the original source must be clearly stated, and, when the source code is
-   distributed, the copyright notice must be retained and any alterations in
-   the code must be clearly marked. No warranty is given regarding the quality
-   of this software.*/
-
-#include <limits.h>
-
-static int *I,                  /* group array, ultimately suffix array.*/
-           *V,                          /* inverse array, ultimately inverse of I.*/
-           r,                           /* number of symbols aggregated by transform.*/
-           h;                           /* length of already-sorted prefixes.*/
-
-#define KEY(p)          (V[*(p)+(h)])
-#define SWAP(p, q)      (tmp=*(p), *(p)=*(q), *(q)=tmp)
-#define MED3(a, b, c)   (KEY(a)<KEY(b) ?                        \
-        (KEY(b)<KEY(c) ? (b) : KEY(a)<KEY(c) ? (c) : (a))       \
-        : (KEY(b)>KEY(c) ? (b) : KEY(a)>KEY(c) ? (c) : (a)))
-
-/* Subroutine for select_sort_split and sort_split. Sets group numbers for a
-   group whose lowest position in I is pl and highest position is pm.*/
-
-static void update_group(int *pl, int *pm)
-{
-    int g;
-
-    g=pm-I;                      /* group number.*/
-    V[*pl]=g;                    /* update group number of first position.*/
-    if (pl==pm)
-        *pl=-1;                   /* one element, sorted group.*/
-    else
-        do                        /* more than one element, unsorted group.*/
-            V[*++pl]=g;            /* update group numbers.*/
-        while (pl<pm);
-}
-
-/* Quadratic sorting method to use for small subarrays. To be able to update
-   group numbers consistently, a variant of selection sorting is used.*/
-
-static void select_sort_split(int *p, int n) {
-    int *pa, *pb, *pi, *pn;
-    int f, v, tmp;
-
-    pa=p;                        /* pa is start of group being picked out.*/
-    pn=p+n-1;                    /* pn is last position of subarray.*/
-    while (pa<pn) {
-        for (pi=pb=pa+1, f=KEY(pa); pi<=pn; ++pi)
-            if ((v=KEY(pi))<f) {
-                f=v;                /* f is smallest key found.*/
-                SWAP(pi, pa);       /* place smallest element at beginning.*/
-                pb=pa+1;            /* pb is position for elements equal to f.*/
-            } else if (v==f) {     /* if equal to smallest key.*/
-                SWAP(pi, pb);       /* place next to other smallest elements.*/
-                ++pb;
-            }
-        update_group(pa, pb-1);   /* update group values for new group.*/
-        pa=pb;                    /* continue sorting rest of the subarray.*/
-    }
-    if (pa==pn) {                /* check if last part is single element.*/
-        V[*pa]=pa-I;
-        *pa=-1;                   /* sorted group.*/
-    }
-}
-
-/* Subroutine for sort_split, algorithm by Bentley & McIlroy.*/
-
-static int choose_pivot(int *p, int n) {
-    int *pl, *pm, *pn;
-    int s;
-
-    pm=p+(n>>1);                 /* small arrays, middle element.*/
-    if (n>7) {
-        pl=p;
-        pn=p+n-1;
-        if (n>40) {               /* big arrays, pseudomedian of 9.*/
-            s=n>>3;
-            pl=MED3(pl, pl+s, pl+s+s);
-            pm=MED3(pm-s, pm, pm+s);
-            pn=MED3(pn-s-s, pn-s, pn);
-        }
-        pm=MED3(pl, pm, pn);      /* midsize arrays, median of 3.*/
-    }
-    return KEY(pm);
-}
-
-/* Sorting routine called for each unsorted group. Sorts the array of integers
-   (suffix numbers) of length n starting at p. The algorithm is a ternary-split
-   quicksort taken from Bentley & McIlroy, "Engineering a Sort Function",
-   Software -- Practice and Experience 23(11), 1249-1265 (November 1993). This
-   function is based on Program 7.*/
-
-static void sort_split(int *p, int n)
-{
-    int *pa, *pb, *pc, *pd, *pl, *pm, *pn;
-    int f, v, s, t, tmp;
-
-    if (n<7) {                   /* multi-selection sort smallest arrays.*/
-        select_sort_split(p, n);
-        return;
-    }
-
-    v=choose_pivot(p, n);
-    pa=pb=p;
-    pc=pd=p+n-1;
-    while (1) {                  /* split-end partition.*/
-        while (pb<=pc && (f=KEY(pb))<=v) {
-            if (f==v) {
-                SWAP(pa, pb);
-                ++pa;
-            }
-            ++pb;
-        }
-        while (pc>=pb && (f=KEY(pc))>=v) {
-            if (f==v) {
-                SWAP(pc, pd);
-                --pd;
-            }
-            --pc;
-        }
-        if (pb>pc)
-            break;
-        SWAP(pb, pc);
-        ++pb;
-        --pc;
-    }
-    pn=p+n;
-    if ((s=pa-p)>(t=pb-pa))
-        s=t;
-    for (pl=p, pm=pb-s; s; --s, ++pl, ++pm)
-        SWAP(pl, pm);
-    if ((s=pd-pc)>(t=pn-pd-1))
-        s=t;
-    for (pl=pb, pm=pn-s; s; --s, ++pl, ++pm)
-        SWAP(pl, pm);
-
-    s=pb-pa;
-    t=pd-pc;
-    if (s>0)
-        sort_split(p, s);
-    update_group(p+s, p+n-t-1);
-    if (t>0)
-        sort_split(p+n-t, t);
-}
-
-/* Bucketsort for first iteration.
-
-Input: x[0...n-1] holds integers in the range 1...k-1, all of which appear
-at least once. x[n] is 0. (This is the corresponding output of transform.) k
-must be at most n+1. p is array of size n+1 whose contents are disregarded.
-
-Output: x is V and p is I after the initial sorting stage of the refined
-suffix sorting algorithm.*/
-
-static void bucketsort(int *x, int *p, int n, int k)
-{
-    int *pi, i, c, d, g;
-
-    for (pi=p; pi<p+k; ++pi)
-        *pi=-1;                   /* mark linked lists empty.*/
-    for (i=0; i<=n; ++i) {
-        x[i]=p[c=x[i]];           /* insert in linked list.*/
-        p[c]=i;
-    }
-    for (pi=p+k-1, i=n; pi>=p; --pi) {
-        d=x[c=*pi];               /* c is position, d is next in list.*/
-        x[c]=g=i;                 /* last position equals group number.*/
-        if (d>=0) {               /* if more than one element in group.*/
-            p[i--]=c;              /* p is permutation for the sorted x.*/
-            do {
-                d=x[c=d];           /* next in linked list.*/
-                x[c]=g;             /* group number in x.*/
-                p[i--]=c;           /* permutation in p.*/
-            } while (d>=0);
-        } else
-            p[i--]=-1;             /* one element, sorted group.*/
-    }
-}
-
-/* Transforms the alphabet of x by attempting to aggregate several symbols into
-   one, while preserving the suffix order of x. The alphabet may also be
-   compacted, so that x on output comprises all integers of the new alphabet
-   with no skipped numbers.
-
-Input: x is an array of size n+1 whose first n elements are positive
-integers in the range l...k-1. p is array of size n+1, used for temporary
-storage. q controls aggregation and compaction by defining the maximum value
-for any symbol during transformation: q must be at least k-l; if q<=n,
-compaction is guaranteed; if k-l>n, compaction is never done; if q is
-INT_MAX, the maximum number of symbols are aggregated into one.
-
-Output: Returns an integer j in the range 1...q representing the size of the
-new alphabet. If j<=n+1, the alphabet is compacted. The global variable r is
-set to the number of old symbols grouped into one. Only x[n] is 0.*/
-
-static int transform(int *x, int *p, int n, int k, int l, int q)
-{
-    int b, c, d, e, i, j, m, s;
-    int *pi, *pj;
-
-    for (s=0, i=k-l; i; i>>=1)
-        ++s;                      /* s is number of bits in old symbol.*/
-    e=INT_MAX>>s;                /* e is for overflow checking.*/
-    for (b=d=r=0; r<n && d<=e && (c=d<<s|(k-l))<=q; ++r) {
-        b=b<<s|(x[r]-l+1);        /* b is start of x in chunk alphabet.*/
-        d=c;                      /* d is max symbol in chunk alphabet.*/
-    }
-    m=(1<<(r-1)*s)-1;            /* m masks off top old symbol from chunk.*/
-    x[n]=l-1;                    /* emulate zero terminator.*/
-    if (d<=n) {                  /* if bucketing possible, compact alphabet.*/
-        for (pi=p; pi<=p+d; ++pi)
-            *pi=0;                 /* zero transformation table.*/
-        for (pi=x+r, c=b; pi<=x+n; ++pi) {
-            p[c]=1;                /* mark used chunk symbol.*/
-            c=(c&m)<<s|(*pi-l+1);  /* shift in next old symbol in chunk.*/
-        }
-        for (i=1; i<r; ++i) {     /* handle last r-1 positions.*/
-            p[c]=1;                /* mark used chunk symbol.*/
-            c=(c&m)<<s;            /* shift in next old symbol in chunk.*/
-        }
-        for (pi=p, j=1; pi<=p+d; ++pi)
-            if (*pi)
-                *pi=j++;            /* j is new alphabet size.*/
-        for (pi=x, pj=x+r, c=b; pj<=x+n; ++pi, ++pj) {
-            *pi=p[c];              /* transform to new alphabet.*/
-            c=(c&m)<<s|(*pj-l+1);  /* shift in next old symbol in chunk.*/
-        }
-        while (pi<x+n) {          /* handle last r-1 positions.*/
-            *pi++=p[c];            /* transform to new alphabet.*/
-            c=(c&m)<<s;            /* shift right-end zero in chunk.*/
-        }
-    } else {                     /* bucketing not possible, don't compact.*/
-        for (pi=x, pj=x+r, c=b; pj<=x+n; ++pi, ++pj) {
-            *pi=c;                 /* transform to new alphabet.*/
-            c=(c&m)<<s|(*pj-l+1);  /* shift in next old symbol in chunk.*/
-        }
-        while (pi<x+n) {          /* handle last r-1 positions.*/
-            *pi++=c;               /* transform to new alphabet.*/
-            c=(c&m)<<s;            /* shift right-end zero in chunk.*/
-        }
-        j=d+1;                    /* new alphabet size.*/
-    }
-    x[n]=0;                      /* end-of-string symbol is zero.*/
-    return j;                    /* return new alphabet size.*/
-}
-
-/* Makes suffix array p of x. x becomes inverse of p. p and x are both of size
-   n+1. Contents of x[0...n-1] are integers in the range l...k-1. Original
-   contents of x[n] is disregarded, the n-th symbol being regarded as
-   end-of-string smaller than all other symbols.*/
-
-void suffixsort(int *x, int *p, int n, int k, int l)
-{
-    int *pi, *pk;
-    int i, j, s, sl;
-
-    V=x;                         /* set global values.*/
-    I=p;
-
-    if (n>=k-l) {                /* if bucketing possible,*/
-        j=transform(V, I, n, k, l, n);
-        bucketsort(V, I, n, j);   /* bucketsort on first r positions.*/
-    } else {
-        transform(V, I, n, k, l, INT_MAX);
-        for (i=0; i<=n; ++i)
-            I[i]=i;                /* initialize I with suffix numbers.*/
-        h=0;
-        sort_split(I, n+1);       /* quicksort on first r positions.*/
-    }
-    h=r;                         /* number of symbols aggregated by transform.*/
-
-    while (*I>=-n) {
-        pi=I;                     /* pi is first position of group.*/
-        sl=0;                     /* sl is negated length of sorted groups.*/
-        do {
-            if ((s=*pi)<0) {
-                pi-=s;              /* skip over sorted group.*/
-                sl+=s;              /* add negated length to sl.*/
-            } else {
-                if (sl) {
-                    *(pi+sl)=sl;     /* combine sorted groups before pi.*/
-                    sl=0;
-                }
-                pk=I+V[s]+1;        /* pk-1 is last position of unsorted group.*/
-                sort_split(pi, pk-pi);
-                pi=pk;              /* next group.*/
-            }
-        } while (pi<=I+n);
-        if (sl)                   /* if the array ends with a sorted group.*/
-            *(pi+sl)=sl;           /* combine sorted groups at end of I.*/
-        h=2*h;                    /* double sorted-depth.*/
-    }
-
-    for (i=0; i<=n; ++i)         /* reconstruct suffix array from inverse.*/
-        I[V[i]]=i;
-}  
diff --git a/libcpp/alignment/algorithms/sorting/qsufsort.hpp b/libcpp/alignment/algorithms/sorting/qsufsort.hpp
deleted file mode 100644
index 5525fe4..0000000
--- a/libcpp/alignment/algorithms/sorting/qsufsort.hpp
+++ /dev/null
@@ -1,376 +0,0 @@
-#ifndef _BLASR_QSUFSORT_HPP_
-#define _BLASR_QSUFSORT_HPP_
-#include <assert.h>
-
-void suffixsort(int *x, int *p, int n, int k, int l);
-
-
-/* qsufsort.c
-   Copyright 1999, N. Jesper Larsson, all rights reserved.
-
-   This file contains an implementation of the algorithm presented in "Faster
-   Suffix Sorting" by N. Jesper Larsson (jesper at cs.lth.se) and Kunihiko
-   Sadakane (sada at is.s.u-tokyo.ac.jp).
-
-   This software may be used freely for any purpose. However, when distributed,
-   the original source must be clearly stated, and, when the source code is
-   distributed, the copyright notice must be retained and any alterations in
-   the code must be clearly marked. No warranty is given regarding the quality
-   of this software.*/
-
-#include <limits.h>
-
-#define KEY(p)          (V[*(p)+(h)])
-
-
-#define MED3(a, b, c)   (KEY(a)<KEY(b) ?                                \
-        (KEY(b)<KEY(c) ? (b) : KEY(a)<KEY(c) ? (c) : (a)) \
-        : (KEY(b)>KEY(c) ? (b) : KEY(a)>KEY(c) ? (c) : (a)))
-
-/* Subroutine for select_sort_split and sort_split. Sets group numbers for a
-   group whose lowest position in I is pl and highest position is pm.*/
-
-#include <vector>
-#include <algorithm>
-
-template<typename T_Index, long T_Index_MAX=0>
-class LarssonSuffixSort {
-private:
-    T_Index *I;
-    T_Index *V;
-    T_Index r;
-    T_Index h;
-    T_Index SWAPPtr(T_Index *p, T_Index *q) { T_Index tmp=*(p); *(p)=*(q); *(q)=tmp; return *(q);}
-    std::vector<char> boundaries;
-
-public:
-    T_Index INDEX_MAX;
-    LarssonSuffixSort() {
-        INDEX_MAX = T_Index_MAX;
-        r = h = 0;
-        I = V = NULL;
-    }
-    void operator()(T_Index *x, T_Index *p, T_Index n, T_Index k, T_Index l)  {
-        suffixsort(x,p,n,k,l);
-    }
-
-    void update_group(T_Index *pl, T_Index *pm)
-    {
-        int g;
-
-        g=pm-I;                      /* group number.*/
-        V[*pl]=g;                    /* update group number of first position.*/
-        if (pl==pm) {
-            /*MC*/
-            assert(pl -I >= 0);
-            boundaries[pl - I] = 1;
-            //      *pl=-1;                   /* one element, sorted group.*/
-        }
-        else
-            do                        /* more than one element, unsorted group.*/
-                V[*++pl]=g;            /* update group numbers.*/
-            while (pl<pm);
-    }
-
-    /* Quadratic sorting method to use for small subarrays. To be able to update
-       group numbers consistently, a variant of selection sorting is used.*/
-
-    void select_sort_split(T_Index *p, T_Index n) {
-        T_Index *pa, *pb, *pi, *pn;
-        T_Index f, v;
-
-        pa=p;                        /* pa is start of group being picked out.*/
-        pn=p+n-1;                    /* pn is last position of subarray.*/
-        while (pa<pn) {
-            for (pi=pb=pa+1, f=KEY(pa); pi<=pn; ++pi)
-                if ((v=KEY(pi))<f) {
-                    f=v;                /* f is smallest key found.*/
-                    SWAPPtr(pi, pa);       /* place smallest element at beginning.*/
-                    pb=pa+1;            /* pb is position for elements equal to f.*/
-                } else if (v==f) {     /* if equal to smallest key.*/
-                    SWAPPtr(pi, pb);       /* place next to other smallest elements.*/
-                    ++pb;
-                }
-            update_group(pa, pb-1);   /* update group values for new group.*/
-            pa=pb;                    /* continue sorting rest of the subarray.*/
-        }
-        if (pa==pn) {                /* check if last part is single element.*/
-            assert(pa - I >= 0);
-            //			assert(boundaries[pa-I] == 0 );
-            V[*pa]=pa-I;
-            /*MC*/
-            //      *pa=-1;                   /* sorted group.*/
-            boundaries[pa - I] = 1; 
-        }
-    }
-
-    /* Subroutine for sort_split, algorithm by Bentley & McIlroy.*/
-
-    T_Index choose_pivot(T_Index *p, T_Index n) {
-        T_Index *pl, *pm, *pn;
-        T_Index s;
-
-        pm=p+(n>>1);                 /* small arrays, middle element.*/
-        if (n>7) {
-            pl=p;
-            pn=p+n-1;
-            if (n>40) {               /* big arrays, pseudomedian of 9.*/
-                s=n>>3;
-                pl=MED3(pl, pl+s, pl+s+s);
-                pm=MED3(pm-s, pm, pm+s);
-                pn=MED3(pn-s-s, pn-s, pn);
-            }
-            pm=MED3(pl, pm, pn);      /* midsize arrays, median of 3.*/
-        }
-        return KEY(pm);
-    }
-
-    /* Sorting routine called for each unsorted group. Sorts the array of integers
-       (suffix numbers) of length n starting at p. The algorithm is a ternary-split
-       quicksort taken from Bentley & McIlroy, "Engineering a Sort Function",
-       Software -- Practice and Experience 23(11), 1249-1265 (November 1993). This
-       function is based on Program 7.*/
-
-    void sort_split(T_Index *p, T_Index n)
-    {
-        T_Index *pa, *pb, *pc, *pd, *pl, *pm, *pn;
-        T_Index f, v, s, t;
-
-        if (n<7) {                   /* multi-selection sort smallest arrays.*/
-            select_sort_split(p, n);
-            return;
-        }
-
-        v=choose_pivot(p, n);
-        pa=pb=p;
-        pc=pd=p+n-1;
-        while (1) {                  /* split-end partition.*/
-            while (pb<=pc && (f=KEY(pb))<=v) {
-                if (f==v) {
-                    SWAPPtr(pa, pb);
-                    ++pa;
-                }
-                ++pb;
-            }
-            while (pc>=pb && (f=KEY(pc))>=v) {
-                if (f==v) {
-                    SWAPPtr(pc, pd);
-                    --pd;
-                }
-                --pc;
-            }
-            if (pb>pc)
-                break;
-            SWAPPtr(pb, pc);
-            ++pb;
-            --pc;
-        }
-        pn=p+n;
-        if ((s=pa-p)>(t=pb-pa))
-            s=t;
-        for (pl=p, pm=pb-s; s; --s, ++pl, ++pm)
-            SWAPPtr(pl, pm);
-        if ((s=pd-pc)>(t=pn-pd-1))
-            s=t;
-        for (pl=pb, pm=pn-s; s; --s, ++pl, ++pm)
-            SWAPPtr(pl, pm);
-
-        s=pb-pa;
-        t=pd-pc;
-        if (s>0)
-            sort_split(p, s);
-        update_group(p+s, p+n-t-1);
-        if (t>0)
-            sort_split(p+n-t, t);
-    }
-
-    /* Bucketsort for first iteration.
-
-Input: x[0...n-1] holds integers in the range 1...k-1, all of which appear
-at least once. x[n] is 0. (This is the corresponding output of transform.) k
-must be at most n+1. p is array of size n+1 whose contents are disregarded.
-
-Output: x is V and p is I after the initial sorting stage of the refined
-suffix sorting algorithm.
-*/
-
-    void bucketsort(T_Index *x, T_Index *p, T_Index n, T_Index k)
-    {
-        T_Index *pi, i, c, d, g;
-
-        for (pi=p; pi<p+k; ++pi) {
-            //      *pi=-1;                   /* mark linked lists empty.*/
-            assert(pi - p >= 0);
-            assert(pi - p == pi - I);
-            //			boundaries[pi-p] = 0;
-        }
-        int *buckets = new int[k];
-        T_Index *starts  = new T_Index[k];
-        /*MC+1*/
-        for (i = 0; i < k; i++ ){
-            buckets[i] = -1;
-        }
-        /*MC-1*/
-        for (i=0; i<=n; ++i) {
-            /*MC+2*/
-            if (buckets[x[i]] == -1) {
-                starts[x[i]] = i;
-            }
-            x[i]=buckets[c=x[i]];           /* insert in linked list.*/
-            buckets[c]=i;
-            //*x[i]=pi[c=x[i]]
-            p[c] = i;
-            /*MC-2*/
-        }
-        for (pi=p+k-1, i=n; pi>=p; --pi) {
-            d=x[c=*pi];               /* c is position, d is next in list.*/
-            x[c]=g=i;                 /* last position equals group number.*/
-            //			if (d>=0) {               /* if more than one element in group.*/
-            if (c != starts[pi - p]) {
-                p[i--]=c;              /* p is permutation for the sorted x.*/
-                do {
-                    d=x[c=d];           /* next in linked list.*/
-                    x[c]=g;             /* group number in x.*/
-                    p[i--]=c;           /* permutation in p.*/
-                } 
-                while (c != starts[pi - p]);
-                //while (d>=0);
-            } else {
-                /*MC*/
-                boundaries[i--]=true;
-                //        p[i--]=-1;             /* one element, sorted group.*/
-            }
-        }
-        delete[] starts;
-        delete[] buckets;
-    }
-
-        /* Transforms the alphabet of x by attempting to aggregate several symbols into
-           one, while preserving the suffix order of x. The alphabet may also be
-           compacted, so that x on output comprises all integers of the new alphabet
-           with no skipped numbers.
-
-Input: x is an array of size n+1 whose first n elements are positive
-integers in the range l...k-1. p is array of size n+1, used for temporary
-storage. q controls aggregation and compaction by defining the maximum value
-for any symbol during transformation: q must be at least k-l; if q<=n,
-compaction is guaranteed; if k-l>n, compaction is never done; if q is
-INT_MAX, the maximum number of symbols are aggregated into one.
-
-Output: Returns an integer j in the range 1...q representing the size of the
-new alphabet. If j<=n+1, the alphabet is compacted. The global variable r is
-set to the number of old symbols grouped into one. Only x[n] is 0.*/
-
-    T_Index transform(T_Index *x, T_Index *p, T_Index n, T_Index k, T_Index l, T_Index q)
-    {
-        T_Index b, c, d, e, i, j, m, s;
-        T_Index *pi, *pj;
-
-        for (s=0, i=k-l; i; i>>=1)
-            ++s;                      /* s is number of bits in old symbol.*/
-        e=INDEX_MAX>>s;                /* e is for overflow checking.*/
-        for (b=d=r=0; r<n && d<=e && (c=d<<s|(k-l))<=q; ++r) {
-            b=b<<s|(x[r]-l+1);        /* b is start of x in chunk alphabet.*/
-            d=c;                      /* d is max symbol in chunk alphabet.*/
-        }
-        m=(1<<(r-1)*s)-1;            /* m masks off top old symbol from chunk.*/
-        x[n]=l-1;                    /* emulate zero terminator.*/
-        if (d<=n) {                  /* if bucketing possible, compact alphabet.*/
-            for (pi=p; pi<=p+d; ++pi)
-                *pi=0;                 /* zero transformation table.*/
-            for (pi=x+r, c=b; pi<=x+n; ++pi) {
-                p[c]=1;                /* mark used chunk symbol.*/
-                c=(c&m)<<s|(*pi-l+1);  /* shift in next old symbol in chunk.*/
-            }
-            for (i=1; i<r; ++i) {     /* handle last r-1 positions.*/
-                p[c]=1;                /* mark used chunk symbol.*/
-                c=(c&m)<<s;            /* shift in next old symbol in chunk.*/
-            }
-            for (pi=p, j=1; pi<=p+d; ++pi)
-                if (*pi)
-                    *pi=j++;            /* j is new alphabet size.*/
-            for (pi=x, pj=x+r, c=b; pj<=x+n; ++pi, ++pj) {
-                *pi=p[c];              /* transform to new alphabet.*/
-                c=(c&m)<<s|(*pj-l+1);  /* shift in next old symbol in chunk.*/
-            }
-            while (pi<x+n) {          /* handle last r-1 positions.*/
-                *pi++=p[c];            /* transform to new alphabet.*/
-                c=(c&m)<<s;            /* shift right-end zero in chunk.*/
-            }
-        } else {                     /* bucketing not possible, don't compact.*/
-            for (pi=x, pj=x+r, c=b; pj<=x+n; ++pi, ++pj) {
-                *pi=c;                 /* transform to new alphabet.*/
-                c=(c&m)<<s|(*pj-l+1);  /* shift in next old symbol in chunk.*/
-            }
-            while (pi<x+n) {          /* handle last r-1 positions.*/
-                *pi++=c;               /* transform to new alphabet.*/
-                c=(c&m)<<s;            /* shift right-end zero in chunk.*/
-            }
-            j=d+1;                    /* new alphabet size.*/
-        }
-        x[n]=0;                      /* end-of-string symbol is zero.*/
-        return j;                    /* return new alphabet size.*/
-    }
-
-    /* Makes suffix array p of x. x becomes inverse of p. p and x are both of size
-       n+1. Contents of x[0...n-1] are integers in the range l...k-1. Original
-       contents of x[n] is disregarded, the n-th symbol being regarded as
-       end-of-string smaller than all other symbols.*/
-
-    void suffixsort(T_Index *x, T_Index *p, T_Index n, T_Index k, T_Index l)
-    {
-        T_Index *pi, *pk;
-        T_Index i, j, s, sl;
-        boundaries.resize(n+1);
-        fill(boundaries.begin(), boundaries.end(), 0);
-
-        V=x;                         /* set global values.*/
-        I=p;
-
-        if (n>=k-l) {                /* if bucketing possible,*/
-            j=transform(V, I, n, k, l, n);
-            bucketsort(V, I, n, j);   /* bucketsort on first r positions.*/
-        } else {
-            transform(V, I, n, k, l, INDEX_MAX);
-            for (i=0; i<=n; ++i)
-                I[i]=i;                /* initialize I with suffix numbers.*/
-            h=0;
-            sort_split(I, n+1);       /* quicksort on first r positions.*/
-        }
-        h=r;                         /* number of symbols aggregated by transform.*/
-
-        while (*I<=n) {
-            pi=I;                     /* pi is first position of group.*/
-            sl=0;                     /* sl is negated length of sorted groups.*/
-            do {
-                /*MC-3*/
-                //        if ((s=*pi)<0) {
-                s = *pi;
-                if (boundaries[pi - I] == 1) {
-                    //          pi-=s;              /* skip over sorted group.*/
-                    s = 1;
-                    pi+=s;
-                    sl+=s;              /* add negated length to sl.*/
-                } else {
-                    if (sl) {
-                        //            *(pi+sl)=sl;     /* combine sorted groups before pi.*/
-                        assert(boundaries[(pi-sl) - I] == 1);
-                        assert(pi - sl >= I);
-                        *(pi-sl)=sl;     /* combine sorted groups before pi.*/
-                        sl=0;
-                    }
-                    pk=I+V[s]+1;        /* pk-1 is last position of unsorted group.*/
-                    sort_split(pi, pk-pi);
-                    pi=pk;              /* next group.*/
-                }
-            } while (pi<=I+n);
-                if (sl)                   /* if the array ends with a sorted group.*/
-                    *(pi-sl)=sl;           /* combine sorted groups at end of I.*/
-                h=2*h;                    /* double sorted-depth.*/
-            }
-
-            for (i=0; i<=n; ++i)         /* reconstruct suffix array from inverse.*/
-                I[V[i]]=i;
-        }
-    };
-#endif // _BLASR_QSUFSORT_HPP_
diff --git a/libcpp/alignment/anchoring/AnchorParameters.hpp b/libcpp/alignment/anchoring/AnchorParameters.hpp
deleted file mode 100644
index ec7ac62..0000000
--- a/libcpp/alignment/anchoring/AnchorParameters.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef _BLASR_ANCHOR_PARAMETERS_HPP_
-#define _BLASR_ANCHOR_PARAMETERS_HPP_
-
-#include <fstream>
-#include <iostream>
-#include "qvs/QualityValue.hpp"
-#include "DNASequence.hpp"
-
-class AnchorParameters {
-public:
-    QualityValue branchQualityThreshold;
-    DNALength minMatchLength;
-    int maxMatchScore;
-    int expand;
-    int contextAlignLength;
-    bool useLookupTable;
-    int numBranches;
-    int maxAnchorsPerPosition;
-    int advanceExactMatches;
-    DNALength maxLCPLength;
-    bool stopMappingOnceUnique;
-    int verbosity;
-    bool removeEncompassedMatches;
-    std::ostream *lcpBoundsOutPtr;
-    int branchExpand;
-
-    AnchorParameters(); 
-
-    AnchorParameters &Assign(const AnchorParameters &rhs); 
-
-    AnchorParameters &operator=(const AnchorParameters &rhs); 
-};
-
-
-#endif // _BLASR_ANCHOR_PARAMETERS_HPP_
diff --git a/libcpp/alignment/build.mk b/libcpp/alignment/build.mk
deleted file mode 120000
index 2247f36..0000000
--- a/libcpp/alignment/build.mk
+++ /dev/null
@@ -1 +0,0 @@
-makefile
\ No newline at end of file
diff --git a/libcpp/alignment/bwt/BWT.hpp b/libcpp/alignment/bwt/BWT.hpp
deleted file mode 100644
index ef91a3a..0000000
--- a/libcpp/alignment/bwt/BWT.hpp
+++ /dev/null
@@ -1,316 +0,0 @@
-#ifndef _BLASR_BWT_HPP_
-#define _BLASR_BWT_HPP_
-
-#include <iostream>
-#include <fstream>
-#include "Occ.hpp"
-#include "Pos.hpp"
-#include "suffixarray/SuffixArray.hpp"
-#include "PackedDNASequence.hpp"
-#include "FASTASequence.hpp"
-
-/*
- * Define an Occurrence table appropriate for Gb sized genomes.
- * Probably everything will end up using this.
- */
-typedef Occ <PackedDNASequence, unsigned int, unsigned short> GbOcc;
-
-/*
- * Define an Occurrence table appropriate for Mb sized genomes.
- */
-typedef Occ <PackedDNASequence, unsigned int, unsigned char> MbOcc;
-
-
-class SingleStoragePolicy {
- public:
-	DNALength *spp, *epp;
-	void Store(DNALength sp, DNALength ep) {
-		*spp = sp;
-		*epp = ep;
-	}
-};
-
-class VectorStoragePolicy {
-public:
-    std::vector<DNALength> *spvp, *epvp;
-	void Store(DNALength sp, DNALength ep) {
-		spvp->push_back(sp);
-		epvp->push_back(ep);
-	}
-};
-
-template<typename T_BWT_Sequence, typename T_DNASequence>
-class Bwt {
- public:
-	T_BWT_Sequence bwtSequence;
-	GbOcc occ;
-	Pos<T_BWT_Sequence>   pos;
-	static const int CharCountSize = 7;
-	int useDebugData;
-    std::vector<DNALength> saCopy;
-	DNALength charCount[CharCountSize];
-	DNALength firstCharPos;
-	
-
-	void Write(std::string outName) {
-		std::ofstream bwtOut;
-		CrucialOpen(outName, bwtOut, std::ios::binary|std::ios::out);
-		Write(bwtOut);
-	}
-
-	void PrintBWTString(std::ostream &out) {
-		DNALength p;
-		for (p = 0; p < bwtSequence.length; p++) {
-			out << (char) ThreeBitToAscii[bwtSequence[p]];
-			if (p % 50 == 49) out << std::endl;
-		}
-		if(p % 50 != 0) out << std::endl;
-	}
-
-	void Write(std::ostream &bwtOut) {
-		bwtSequence.Write(bwtOut);
-		bwtOut.write((char*)charCount, sizeof(DNALength)*CharCountSize);
-		bwtOut.write((char*)&firstCharPos, sizeof(DNALength));
-		bwtOut.write((char*)&useDebugData, sizeof(useDebugData));
-		if (useDebugData) {
-			bwtOut.write((char*)&saCopy[0], (bwtSequence.length-1) * sizeof(DNALength));
-		}
-		occ.Write(bwtOut);
-		pos.Write(bwtOut);
-	}
-
-	int Read(std::string inName) {
-		std::ifstream bwtIn;
-		DNALength seqStorageSize;
-		CrucialOpen(inName, bwtIn, std::ios::binary|std::ios::in);
-		bwtSequence.Read(bwtIn);
-		bwtIn.read((char*)charCount, sizeof(DNALength)*CharCountSize);
-		bwtIn.read((char*)&firstCharPos, sizeof(DNALength));
-		bwtIn.read((char*)&useDebugData, sizeof(useDebugData));
-		if (useDebugData) {
-			saCopy.resize(bwtSequence.length-1);
-			bwtIn.read((char*)&saCopy[0], (bwtSequence.length-1) * sizeof(DNALength));
-		}
-		occ.Read(bwtIn, useDebugData);
-		pos.Read(bwtIn);
-		occ.InitializeBWT(bwtSequence);
-		return 1;
-	}
-
-	void Print(std::ofstream &out) {
-		bwtSequence.Print(out);
-	}
-
-	DNALength LFBacktrack(DNALength bwtPos) {
-		Nucleotide curNuc = bwtSequence.Get(bwtPos);
-		assert(curNuc < 5);
-		DNALength bwtPrevPos = charCount[curNuc] + occ.Count(curNuc, bwtPos) - 1;
-		return bwtPrevPos;
-	}
-
-	DNALength Locate(DNALength bwtPos) {
-		DNALength seqPos;
-		DNALength offset = 0;
-		while (1) {
-			if (pos.Lookup(bwtPos, seqPos)) {
-				break;
-			}
-			else {
-				DNALength bwtPrevPos;
-				bwtPrevPos = LFBacktrack(bwtPos);
-				if (useDebugData) {
-					assert(saCopy[bwtPos-1] - 1 == saCopy[bwtPrevPos-1]);
-				}
-				bwtPos = bwtPrevPos;
-				assert(bwtPos <= bwtSequence.length);
-				/*
-				 * Boundary condition at the beginning of the bwt string.
-				 */
-				if (bwtPos == firstCharPos) {
-					seqPos = 1;
-					break;
-				}
-			}
-			++offset;
-		}
-		return seqPos + offset;
-	}
-	
-	DNALength Locate(DNALength sp, DNALength ep, std::vector<DNALength> &positions, 
-        int maxCount = 0) {
-		DNALength bwtPos;
-		DNALength seqPos;
-		if (sp <= ep and (maxCount == 0 or ep - sp < maxCount)) {
-			for (bwtPos = sp; bwtPos <= ep; bwtPos++) {
-				if ((seqPos = Locate(bwtPos))) {
-					positions.push_back(seqPos);
-				}
-			}
-		}
-		return ep - sp + 1;
-	}
-
-	DNALength Locate(T_DNASequence &seq, std::vector<DNALength> &positions, 
-        int maxCount =0) {
-		DNALength ep, sp;
-		Count(seq, sp, ep);
-		return Locate(sp, ep, positions);
-	}
-
-	DNALength GetNumCharsLessThan(Nucleotide nuc) {
-		return charCount[nuc];
-	}
-
-
-	void InitializeDNACharacterCount() {
-		//
-		// All counts start at 1 due to implicit encoding of $ character,
-		// where $ is less than all other chars.
-		//
-        std::fill(charCount, &charCount[6], 0);
-
-		DNALength p;
-		Nucleotide nuc;
-		for (p = 0; p < bwtSequence.length; p++) {
-			nuc = bwtSequence[p];
-				/*
-				 * Intentionally omit break commands so that charCount[4]
-				 * contains the counts of all characters 4 and below and so on.
-				 */
-			switch(nuc) {
-		  case 5:
-				//
-				// 5 is out of order here because the '$' is stored after ACGTN
-				// since it is a nonstandard character.
-				//
-				charCount[0]++;
-			case 0: //A
-				charCount[1]++;
-			case 1: //C
-				charCount[2]++;
-			case 2: //G
-				charCount[3]++;
-			case 3: //T
-				charCount[4]++;
-			case 4: //N
-				charCount[5]++;
-			}
-		}
-		// sum
-		charCount[6] = bwtSequence.length;
-	}
-
-	template<typename T_PStoragePolicy>
-	int Count(T_DNASequence &seq, T_PStoragePolicy &StoragePolicy) {
-		
-		/*
-		 * Implement algorithm count directly from the FM-Index paper(s --
-		 * it's shown many times).
-		 */
-		DNALength p = seq.length-1;
-		DNALength sp, ep;
-		Nucleotide c;
-		int i;
-
-		//
-		// Original forumlation is using count offsets starting at 1.
-		//
-		Nucleotide tbn = ThreeBit[seq[p]];
-		sp = charCount[tbn]; // = +1 (from paper) - 1 (0
-		                     // offset not in paper).
-		ep = charCount[tbn +1] - 1;
-		StoragePolicy.Store(sp,ep);
-		while (sp <= ep and p > 0) {
-			c  = ThreeBit[seq[p-1]];    
-			int  cc = charCount[c];
-			sp = cc + occ.Count(c,sp-1) + 1 - 1;
-			ep = cc + occ.Count(c,ep) - 1;
-			StoragePolicy.Store(sp,ep);
-			p--;
-		}
-		return ep - sp + 1;
-	}
-
-	int Count(T_DNASequence &seq, DNALength &sp, DNALength &ep) {
-		/*
-		 * Implement algorithm count directly from the FM-Index paper(s --
-		 * it's shown many times).
-		 */
-		SingleStoragePolicy storagePolicy;
-		storagePolicy.spp = &sp;
-		storagePolicy.epp = &ep;
-		return Count(seq, storagePolicy);
-	}
-	
-	int Count(T_DNASequence &seq, std::vector<DNALength> &spv, 
-        std::vector<DNALength> &epv) {
-		VectorStoragePolicy storagePolicy;
-		storagePolicy.spvp = &spv;
-		storagePolicy.epvp = &epv;
-		return Count(seq, storagePolicy);
-	}
-
-	int Count(T_DNASequence &seq) {
-		DNALength ep, sp;
-		return Count(seq, sp, ep);
-	}
-
-	void InitializeBWTStringFromSuffixArray(T_DNASequence &origSeq, DNALength saIndex[]) {
-		// extra +1 is for $.
-		bwtSequence.Allocate(origSeq.length+1);
-		if (useDebugData) {
-			saCopy.resize(origSeq.length);
-		}
-
-		DNALength p;
-
-		if (origSeq.length == 0) {
-			//
-			// No work to do, but even the null string has the sentinal
-			// appended to it.
-			//
-			bwtSequence.Set(0,ThreeBit[(int)'$']);
-			return;
-		}
-		
-		//
-		// By convention, bwt[0] = T[len(T)-1] because T[len(T)] == '$',
-		// the lexicographic least character in the alphabet.
-		//
-		bwtSequence.Set(0, ThreeBit[origSeq[origSeq.length-1]]);
-		
-		for (p = 1; p < origSeq.length+1; p++) {
-			if (useDebugData) {
-				saCopy[p-1] = saIndex[p-1];
-			}
-			if (saIndex[p-1] > 0) {
-				assert(ThreeBit[origSeq[saIndex[p-1]-1]] != 255);
-				bwtSequence.Set(p, ThreeBit[origSeq[saIndex[p-1]-1]]);
-			}
-			else {
-				//
-				// The 0'th suffix corresponds to the one ending in the
-				// sentinal '$'.  Since this is explicitly encoded, we can
-				// store a value in the bwt for '$'.
-				//
-				firstCharPos = p;
-				bwtSequence.Set(p,ThreeBit[(int)'$']);
-			}
-		}
-	}										
-
-	void InitializeFromSuffixArray(T_DNASequence &dnaSeq, DNALength saIndex[], int buildDebug=0) {
-		useDebugData = buildDebug;
-		InitializeBWTStringFromSuffixArray(dnaSeq, saIndex);
-		InitializeDNACharacterCount();
-
-		// sequence, major, minor bin sizes.
-		occ.Initialize(bwtSequence, 4096, 64, buildDebug);
-		pos.InitializeFromSuffixArray(saIndex, dnaSeq.length);
-	}
-};
-
-typedef	Bwt<PackedDNASequence, FASTASequence> BWT;
-
-
-#endif // _BLASR_BWT_HPP_
diff --git a/libcpp/alignment/bwt/Occ.hpp b/libcpp/alignment/bwt/Occ.hpp
deleted file mode 100644
index 0e2640b..0000000
--- a/libcpp/alignment/bwt/Occ.hpp
+++ /dev/null
@@ -1,217 +0,0 @@
-#ifndef _BLASR_OCC_HPP_
-#define _BLASR_OCC_HPP_
-
-#include <fstream>
-#include <vector>
-#include <algorithm>
-#include "DNASequence.hpp"
-#include "NucConversion.hpp"
-#include "utils.hpp"
-#include "matrix/Matrix.hpp"
-#include "matrix/FlatMatrix.hpp"
-
-template<typename T_BWTSequence, typename T_Major, typename T_Minor>
-class Occ {
-public:
-    int majorBinSize;
-    int minorBinSize;
-    int hasDebugInformation;
-    FlatMatrix2D<T_Major> major;
-    FlatMatrix2D<T_Minor> minor;
-    FlatMatrix2D<T_Major> full;
-    static const unsigned int AlphabetSize = 5;
-    T_BWTSequence *bwtSeqRef;
-    DNALength numMajorBins, numMinorBins;
-    void PrintBins(std::ostream &out) {
-        out << "numMajor: " << numMajorBins << " numMinor: " << numMinorBins << std::endl;
-        DNALength ma, mi, mii;
-        mi = 0;
-        int i;
-        for (ma = 0; ma < numMajorBins; ma++) {
-            out << "MAJOR: ";
-            for (i = 0; i < 5; i++ ){ out << major[ma][i] << " "; } out << std::endl;
-            for (mii = 0; mii < majorBinSize / minorBinSize  && mi < numMinorBins; mii++, mi++) {
-                out << "       ";
-                for (i = 0;i <5; i++ ){
-                    out << minor[mi][i] << " ";
-                }
-                out << std::endl;
-            }
-        }
-    }
-
-    void  InitializeBWT(T_BWTSequence &bwtSeq) {
-        bwtSeqRef    = &bwtSeq;
-    }
-
-    void Initialize(T_BWTSequence &bwtSeq,
-            int _majorBinSize=4096,
-            int _minorBinSize=64,
-            int _hasDebugInformation=0) {
-        //
-        // This reference is used when counting nucleotides. It assumes
-        // the sequence does not change between initialization and
-        // subsequent calls to count.
-        //
-        bwtSeqRef    = &bwtSeq;
-
-        majorBinSize = _majorBinSize;
-        minorBinSize = _minorBinSize;
-        hasDebugInformation = _hasDebugInformation;
-        InitializeMajorBins(bwtSeq);
-        InitializeMinorBins(bwtSeq);
-        if (hasDebugInformation) {
-            InitializeTestBins(bwtSeq);
-        }
-    }
-
-    void InitializeMajorBins(T_BWTSequence &bwtSeq) {
-        numMajorBins = CeilOfFraction(bwtSeq.length, (DNALength) majorBinSize);
-        major.Allocate(numMajorBins, AlphabetSize);
-        std::vector<DNALength> runningTotal;
-        runningTotal.resize(AlphabetSize);
-        fill(runningTotal.begin(), runningTotal.end(), 0);
-        fill(&major.matrix[0], &major.matrix[numMajorBins*AlphabetSize], 0);
-        DNALength p;
-        DNALength binIndex = 0;
-        for (p = 0; p < bwtSeq.length; p++) {
-            Nucleotide nuc = ThreeBit[bwtSeq[p]];
-            // only handle ACTGN, $==6, so skip counting that.
-            if (nuc > AlphabetSize) continue;
-            if (p % majorBinSize == 0) { //majorBinSize-1) {
-                //				cout << "storing at " << p<< " " << binIndex << std::endl;
-                int n;
-                for (n = 0; n < AlphabetSize; n++ ) {
-                    major[binIndex][n] = runningTotal[n];
-                }
-                binIndex++;
-            }
-            runningTotal[nuc]++;
-        }
-    }
-
-    void InitializeTestBins(T_BWTSequence &bwtSeq) {
-        full.Allocate(bwtSeq.length, AlphabetSize);
-        fill(full.matrix, &full.matrix[bwtSeq.length * AlphabetSize],0);
-        DNALength p;
-        int n;
-        for (p = 0; p < bwtSeq.length; p++) {
-            Nucleotide nuc = ThreeBit[bwtSeq[p]];
-            if (nuc > AlphabetSize) {
-                for (n = 0; n < AlphabetSize; n++ ) {
-                    full[p][n] = full[p-1][n];
-                }
-            }
-            else {
-                full[p][nuc]++;
-                if (p > 0) {
-                    for (n = 0; n < AlphabetSize; n++ ) {
-                        full[p][n] = full[p-1][n] + full[p][n];
-                    }
-                }
-            }
-        }
-    }
-
-    void InitializeMinorBins(T_BWTSequence &bwtSeq) {
-        numMinorBins = CeilOfFraction(bwtSeq.length, (DNALength) minorBinSize);
-        minor.Allocate(numMinorBins, AlphabetSize);
-
-        std::vector<DNALength> majorRunningTotal;
-        majorRunningTotal.resize(AlphabetSize);		
-        std::fill(majorRunningTotal.begin(), majorRunningTotal.end(), 0);
-        std::fill(&minor.matrix[0], &minor.matrix[numMinorBins*AlphabetSize], 0);
-
-        DNALength p;
-        DNALength minorBinIndex = 0;
-        for (p = 0; p < bwtSeq.length; p++ ){
-            Nucleotide nuc = ThreeBit[bwtSeq[p]];
-            if (nuc > AlphabetSize) continue;
-            //
-            //  The minor bins are running totals inside each major
-            //  bin. When the count hits a bin offset, reset the bin
-            //  counter. 
-            //  
-            if (p % majorBinSize == 0) {
-                fill(majorRunningTotal.begin(), majorRunningTotal.end(), 0);				
-            }
-            if (p % minorBinSize == 0) {
-                int n;
-                for (n = 0; n < AlphabetSize; n++ ) {
-                    minor[minorBinIndex][n] = majorRunningTotal[n];
-                }
-                minorBinIndex++;
-            }
-            majorRunningTotal[nuc]++;
-        }
-    }
-
-    int Count(Nucleotide nuc, DNALength p ) {
-        DNALength majorIndex = p / majorBinSize;
-        DNALength minorIndex = p / minorBinSize;
-        DNALength lastBinnedIndex = minorBinSize * (p / minorBinSize);
-        //
-        // This should be sort of O(1), since the last expression should
-        // be made of bit operations that are fast.
-        //
-        Nucleotide smallNuc = ThreeBit[nuc];
-        //assert(smallNuc < 5);
-        DNALength nocc = major[majorIndex][smallNuc] + minor[minorIndex][smallNuc] + bwtSeqRef->CountNuc(lastBinnedIndex, p+1, nuc);
-        //		assert(full.matrix == NULL or full[p][smallNuc] == nocc);
-        return nocc;
-    }
-
-    void Write(std::ostream &out) {
-        out.write((char*) &majorBinSize, sizeof(majorBinSize));
-        out.write((char*) &minorBinSize, sizeof(minorBinSize));
-
-        out.write((char*) &numMajorBins, sizeof(numMajorBins));
-        if (numMajorBins > 0) {
-            out.write((char*) major[0], sizeof(T_Major) * numMajorBins*AlphabetSize);
-        }
-
-        out.write((char*) &numMinorBins, sizeof(numMinorBins));
-        if (numMinorBins > 0) {
-            out.write((char*) minor[0], sizeof(T_Minor) * numMinorBins*AlphabetSize);
-        }
-        if (hasDebugInformation) {
-            DNALength bwtSeqLength = bwtSeqRef->length;
-            out.write((char*)&bwtSeqLength, sizeof(bwtSeqLength));
-            out.write((char*)&full.matrix[0], sizeof(DNALength)* bwtSeqLength * AlphabetSize);
-        }
-    }
-
-    int Read(std::istream &in, int _hasDebugInformation) {
-        hasDebugInformation = _hasDebugInformation;
-        in.read((char*) &majorBinSize, sizeof(majorBinSize));
-        in.read((char*) &minorBinSize, sizeof(minorBinSize));
-        in.read((char*) &numMajorBins, sizeof(numMajorBins));
-        if (numMajorBins > 0) {
-            major.Resize(numMajorBins * AlphabetSize);
-            in.read((char*) major[0], sizeof(T_Major) * numMajorBins * AlphabetSize);
-            major.nRows = numMajorBins;
-            major.nCols = AlphabetSize;
-        }
-        in.read((char*) &numMinorBins, sizeof(numMinorBins));
-        if (numMinorBins > 0) {
-            minor.Resize(numMinorBins * AlphabetSize);
-            in.read((char*) minor[0], sizeof(T_Minor) * numMinorBins*AlphabetSize);
-            minor.nRows = numMinorBins;
-            minor.nCols = AlphabetSize;
-        }
-        if (hasDebugInformation) {
-            DNALength bwtSeqLength;
-            in.read((char*)&bwtSeqLength, sizeof(bwtSeqLength));
-            if (full.matrix) {delete [] full.matrix;}
-            full.matrix = new DNALength[bwtSeqLength *AlphabetSize];
-            full.nRows = bwtSeqLength;
-            full.nCols = AlphabetSize;
-            in.read((char*)&full.matrix[0], sizeof(DNALength)* bwtSeqLength * AlphabetSize);
-        }
-        return 1;
-    }
-
-};
-
-
-#endif // _BLASR_OCC_HPP_
diff --git a/libcpp/alignment/bwt/PackedHash.hpp b/libcpp/alignment/bwt/PackedHash.hpp
deleted file mode 100644
index f1fa540..0000000
--- a/libcpp/alignment/bwt/PackedHash.hpp
+++ /dev/null
@@ -1,350 +0,0 @@
-#ifndef _BLASR_PACKED_HASH_HPP_
-#define _BLASR_PACKED_HASH_HPP_
-
-#include <vector>
-#include <map>
-#include <iostream>
-#include <fstream>
-#include <cstring>
-#include "Types.h"
-#include "utils.hpp"
-#include "utils/BitUtils.hpp"
-#include "DNASequence.hpp"
-
-class PackedHash {
-public:
-
-    DNALength tableLength;
-    uint32_t *table;
-    uint64_t *values;
-    std::vector<int> hashLengths;
-    static const uint32_t BinNumBits = 5;
-    static const uint32_t BinSize = 1 <<(BinNumBits);
-    PackedHash() {
-        table = NULL;
-        values = NULL;
-        tableLength = 0;
-    }
-
-    ~PackedHash() {
-        Free();
-    }
-
-    void Free() {
-        // In general convertions between int and pointer is not desired, 
-        // Consequences depending on the implementation, as the resulting 
-        // pointers may incorrectly aligned. See C standard subclause 6.3.2.3.
-        if (tableLength <= 0) {
-            table = NULL;
-            values = NULL;
-            tableLength = 0;
-            hashLengths.clear();
-            return;
-        }
-
-        for(DNALength i = 0; i < tableLength; i++) {
-            int nSetBits = CountBits(table[i]);
-            if (nSetBits >= 3) {
-                //values[i] is a pointer to a list of uint32 integers
-                volatile uintptr_t iptr = values[i];
-                uint32_t * ptr = (uint32_t *)iptr;
-                if (ptr != NULL) {
-                    delete [] ptr;
-                } //otherwise, values[i] is an uint_64.
-            }
-        }
-        if (values) {delete [] values;}
-        if (table) {delete [] table;}
-        table = NULL;
-        values = NULL;
-        tableLength = 0;
-        hashLengths.clear();
-    }
-
-    /*
-     * Create a mask that retains the lower 5 bits (0 .. 31) of a
-     * position so that pos % 32 may be computed by a shift.
-     */
-    static const uint32_t BinModMask = 0x1FU; 
-
-    void Allocate(uint32_t sequenceLength) {
-        Free();
-
-        tableLength = CeilOfFraction(sequenceLength, (DNALength) BinSize);
-        table  = new uint32_t[tableLength];
-        values = new uint64_t[tableLength];
-        std::fill(&table[0], &table[tableLength], 0);
-        std::fill(&values[0], &values[tableLength], 0);
-        hashLengths.resize(tableLength);
-        std::fill(hashLengths.begin(), hashLengths.end(), 0);
-    }
-
-    void PrintBinSummary() {
-        //
-        // Report some stats on the hash.
-        //
-        DNALength p;
-        std::map<int,int> countMap;
-        int card;
-        for (p = 0; p < tableLength; p++ ){ 
-            card = CountBits(table[p]);
-            countMap[card]++;
-        }
-        std::map<int,int>::iterator mapit;
-        for (mapit = countMap.begin(); mapit != countMap.end(); ++mapit) {
-            std::cout << mapit->first << " " << mapit->second << std::endl;
-        }
-    }
-
-    uint32_t LookupBinAtPos(DNALength pos) {
-        /* 
-         * Each bucket contains 32 positions.  Membership is simply when
-         * the bit at pos & BinModMask is set.  There should never be
-         * collisions of multiple positions (from different areas in the
-         * genome) mapping to the same position in a bin.
-         */
-        return table[pos/BinSize] & (1 << (pos & BinModMask));
-    }
-
-    void ValueToList(uint64_t &storage, DNALength newValue, int newValuePos) {
-
-        /*
-         * This is called when one is attempting to add a spot to storage,
-         * but there are already two values stored in it, so storage must
-         * be converted to a pointer, and the values added to a list on
-         * the heap.  The size of the list is necessarily 3 at this point,
-         * because there are two values in storage that must be moved to
-         * the list, and the new value as well. 
-         * The values are copied to the list in sorted order, and sorting
-         * is handled case-by-case since there are only 3 cases.
-         */
-
-        DNALength v0, v1;
-        v0 = ((DNALength)storage);
-        v1 = ((DNALength)(storage >> 32));
-        DNALength *storagePtr = new DNALength[3];
-        storage = (uint64_t) storagePtr;
-
-        //
-        // Only a couple of options, so handle them directly here
-        //
-        if (newValuePos == 0)	{
-            storagePtr[0] = newValue; 
-            storagePtr[1] = v0; storagePtr[2] = v1;
-        }
-        else if (newValuePos == 1) {
-            storagePtr[0] = v0; storagePtr[1] = newValue; storagePtr[2] = v1;
-        }
-        else if (newValuePos == 2) {
-            storagePtr[0] = v0; storagePtr[1] = v1; storagePtr[2] = newValue;
-        }
-        else {
-            assert("ERROR! Somehow expected to only add 3 elements to an array of length 3, but the position of the new value is greater than the length of the array" && 0);
-        }
-    }
-
-    void InsertValueInList(uint64_t &storage, int curStorageLength, DNALength newValue, int newValuePos) {
-        /*
-         * This simply creates a new list with size 1 larger than before,
-         * and inserts the new value into its position that maintains
-         * sorted order in the list.
-         */
-        DNALength *newListPtr = new DNALength[curStorageLength + 1];
-        //
-        // Copy the values from the old list making space for the new
-        // value.
-        // 
-        if (newValuePos > 0) {
-            memcpy(newListPtr, ((DNALength*)storage), newValuePos * sizeof(DNALength));
-        }
-        if (newValuePos < curStorageLength) {
-            memcpy(&newListPtr[newValuePos+1], &((DNALength*)storage)[newValuePos], (curStorageLength - newValuePos)*sizeof(uint32_t));
-        }
-        assert(curStorageLength < 32);
-        newListPtr[newValuePos] = newValue;
-        if (storage){delete[] ((DNALength*)storage);}
-        storage = (uint64_t)newListPtr;
-    }
-
-    void DirectlyStoreValue(uint64_t &storage, int curStorageLength, DNALength value, int valuePos) {
-        /*
-         * In this instance, the value may be copied to either the first
-         * half or the second half of 'storage', without having to turn
-         * storage into a list.  The values must be stored in sorted
-         * order.  If 'storage' is empty, the correct place is at the
-         * beginning of storage.  If there already is a value at the
-         * beginning, it may be necessary to shift the existing value over
-         * to keep everything in sorted order. 
-         */
-
-        if (curStorageLength == 0) {
-            //
-            // Nothing here, just store the value.
-            //
-            storage = value;
-        }
-        else if (valuePos == 0) {
-            //
-            // Place the value at the beginning of the storage.
-            //
-            storage = storage << 32;
-            storage = storage + value;
-        }
-        else {
-            // 
-            // Place the value at the end of storage.
-            //
-            uint64_t longValue = value;
-            longValue = longValue << 32;
-            storage += longValue;
-        }
-    }
-
-    int AddValue(DNALength pos, DNALength value) {
-        //
-        // The bucket is either a values[pos] that can store up to two
-        // values, or it is a pointer to a list of values.  The values are
-        // always in order of their corresponding position in the BWT
-        // string. 
-        // To add a value to this bucket, first check to see if
-        // values[pos] has enough room to simply put it there, otherwise,
-        // either a list already exists and the value must be inserted, or
-        // the values[pos] must be converted to a list, and then the new
-        // value inserted.
-
-        //
-        // First, operate on the assumption that no value gets added
-        // twice.
-        //
-        UInt bin = pos / BinSize;
-        UInt bit = pos & BinModMask;
-        assert((table[bin] & ( 1 << bit)) == 0);
-
-        //
-        // Now, add the pos and determine where it is in the array.
-        //
-        table[bin] = table[bin] + ( 1 << bit);
-
-        //
-        // Mask off everything above this bit.
-        //
-        UInt mask = (UInt)-1;
-        mask >>= (31 - bit);
-        UInt lowerBits = table[bin] & mask;
-        int  rank = CountBits(lowerBits) - 1;
-        int  card = CountBits(table[bin]);
-
-        if (card < 3) {
-            DirectlyStoreValue(values[bin], card-1, value, rank);
-        }
-        else if (card == 3) {
-            ValueToList(values[bin], value, rank);
-        }
-        else {
-            InsertValueInList(values[bin], card-1, value, rank);
-        }
-        return card;
-    }
-
-    int LookupValue(DNALength pos, DNALength &value) {
-
-        /* 
-         * Check to see if there is a value stored for 'pos'.  If so,
-         * store it in value, and return 1 for success.
-         */
-        UInt binIndex = pos/BinSize;
-        UInt bin      = table[binIndex];
-        UInt setBit = bin & (1 << (pos & BinModMask));
-        if (setBit == 0) {
-            return 0;
-        }
-
-        // 
-        // GetSetBitPosition64 returns the position relative to the most
-        // significant bit in a 64-bit word, starting at MSB = 1.  This
-        // should never be less than 32, since it's counting bits in a 32
-        // bit word.  
-        //
-
-        int  bitPos     = GetSetBitPosition32(setBit);
-        UInt bitPosMask = ((UInt)-1) >> (32 - bitPos-1);;
-
-        //
-        // Determine how to interpret the value of this bucket.  It is
-        // either a pointer or two words.  If there are more than two bits
-        // set in this bucket, it is a pointer.  Otherwise, pick the half
-        // of the 64 bit word based on the index in the bucket.
-        //
-        int nSet         = CountBits(bin);
-        int bitRank      = CountBits(bin & bitPosMask) - 1;
-        assert(nSet > 0);
-        if (nSet <= 2) {
-            // return lower 32 bits
-            if (bitRank == 0) {
-                value = ((uint32_t)values[binIndex]);
-                return 1;
-            }
-            else {
-                value = ((uint32_t)(values[binIndex]>>32));
-                return 1;
-            }
-        }
-        else {
-            /*
-             * In this instance, values is a pointer rather than a pair of values.
-             */
-            value = (uint32_t) ((DNALength*)values[binIndex])[bitRank];
-            return 1;
-        }
-        //
-        // This is reached if nothing is stored in value. For now, this
-        // shouldn't be reached, so make sure the program bails here.
-        //
-        assert(0);
-        return 0;
-    }	
-
-    /*
-     * Define binary I/O routines for the packed hash. The sizes of the
-     * tables are constant, but then the values table has some lists.
-     * Those are written past the end of the tables treating the last
-     * half of the file as a heap structure.  They are simlarly read in.
-     *
-     */
-
-    void Write(std::ostream &out) {
-        out.write((char*) &tableLength,sizeof(tableLength));
-        if (tableLength > 0) {
-            out.write((char*) table, tableLength * sizeof(table[0]));
-            out.write((char*) values, tableLength * sizeof(values[0]));
-        }
-        DNALength tablePos;
-        for (tablePos = 0; tablePos < tableLength; tablePos++) {
-            int nSetBits = CountBits(table[tablePos]);
-            if( nSetBits > 2) {
-                out.write((char*)values[tablePos], sizeof(uint32_t)*nSetBits);
-            }
-        }
-    }
-
-    void Read(std::istream &in) {
-        Free();
-        in.read((char*)&tableLength, sizeof(tableLength));
-        if (tableLength > 0) {
-            table  = new uint32_t[tableLength];
-            values = new uint64_t[tableLength];
-            in.read((char*)table, sizeof(uint32_t)*tableLength);
-            in.read((char*)values, sizeof(uint64_t)*tableLength);
-            DNALength tablePos;
-            for (tablePos = 0; tablePos < tableLength; tablePos++) {
-                int nSetBits = CountBits(table[tablePos]);
-                if (nSetBits > 2) {
-                    values[tablePos] = (uint64_t) new uint32_t[nSetBits];
-                    in.read((char*)values[tablePos], nSetBits * sizeof(uint32_t));
-                }
-            }
-        }
-    }
-};
-
-#endif // _BLASR_PACKED_HASH_HPP_
diff --git a/libcpp/alignment/bwt/Pos.hpp b/libcpp/alignment/bwt/Pos.hpp
deleted file mode 100644
index 06f6882..0000000
--- a/libcpp/alignment/bwt/Pos.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef _BLASR_POS_HPP_
-#define _BLASR_POS_HPP_
-
-#include <fstream>
-#include <vector>
-
-#include "PackedHash.hpp"
-
-#include "DNASequence.hpp"
-#include "Types.h"
-#include "utils/BitUtils.hpp"
-
-template< typename T_BWT_Sequence>
-class Pos {
-public:
-    static const unsigned int stride=8;
-    PackedHash packedHash;
-    std::vector<int> hashCount;
-    std::vector<int> fullPos;
-    int hasDebugInformation;
-    void Write(std::ostream &out) {
-        packedHash.Write(out);
-    }
-
-    void Read(std::istream &in) {
-        packedHash.Read(in);
-    }
-
-    void InitializeFromSuffixArray(DNALength suffixArray[], DNALength suffixArrayLength) {
-        DNALength p;
-        packedHash.Allocate(suffixArrayLength);
-        std::fill(hashCount.begin(), hashCount.end(), 0);
-        for (p = 0; p < suffixArrayLength; p++ ){
-            if (suffixArray[p] % stride==0){
-                packedHash.AddValue(p,suffixArray[p]);
-            }
-        }
-    }
-
-    int Lookup(DNALength bwtPos, DNALength &seqPos) {
-        return packedHash.LookupValue(bwtPos-1, seqPos);
-    }
-
-};
-
-
-#endif // _BLASR_POS_HPP_
diff --git a/libcpp/alignment/datastructures/alignment/AlignedPair.h b/libcpp/alignment/datastructures/alignment/AlignedPair.h
deleted file mode 100644
index 588e832..0000000
--- a/libcpp/alignment/datastructures/alignment/AlignedPair.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef ALIGNED_PAIR_H_
-#define ALIGNED_PAIR_H_
-
-#include <string>
-
-template<typename T_AlignChar=char>
-class AlignedPair {
- public:
-	int length;
-	T_AlignChar *tAlignmentSeq;
-	T_AlignChar *qAlignmentSeq;
-};
-
-
-inline
-void ReadCompareSequencesAlignment {
-
-}
-#endif
diff --git a/libcpp/alignment/datastructures/alignment/Alignment.cpp b/libcpp/alignment/datastructures/alignment/Alignment.cpp
deleted file mode 100644
index d40aa39..0000000
--- a/libcpp/alignment/datastructures/alignment/Alignment.cpp
+++ /dev/null
@@ -1,512 +0,0 @@
-#include <cassert>
-#include <stdint.h>
-#include <vector>
-#include <string>
-#include <stdlib.h>
-#include <iostream>
-#include <ostream>
-#include <fstream>
-#include "Types.h"
-#include "DNASequence.hpp"
-#include "datastructures/alignment/Alignment.hpp"
-
-using namespace blasr;
-
-Alignment::Alignment() : AlignmentStats() {
-    qName = ""; tName = "";
-    qStrand = tStrand = 0;
-    qPos = tPos = 0;
-    qLength = tLength = 0;
-
-    probability   = 0;
-    nCells        = 0;
-    nSampledPaths = 0;
-    zScore        = 0;
-    score = probScore = sumQVScore = 0;
-    qAlignLength  = tAlignLength = 0;
-}
-
-void Alignment::CopyStats(Alignment &rhs) {
-    AlignmentStats::CopyStats((AlignmentStats) rhs);
-    probability = rhs.probability;
-    probScore   = rhs.probScore;
-    sumQVScore  = rhs.sumQVScore;
-    nCells      = rhs.nCells;
-    nSampledPaths = rhs.nSampledPaths;
-}
-
-void Alignment::Clear() {
-    qName = "";
-    tName = "";
-    blocks.clear();
-    gaps.clear();
-}
-
-Alignment& Alignment::operator=(const Alignment &rhs) {
-    qName = rhs.qName;
-    tName = rhs.tName;
-    qStrand = rhs.qStrand; tStrand = rhs.tStrand;
-    qPos = rhs.qPos; tPos = rhs.tPos;
-    qAlignLength = rhs.qAlignLength; tAlignLength = rhs.tAlignLength;
-    qLength = rhs.qLength;
-    tLength = rhs.tLength;
-    zScore = rhs.zScore;
-    blocks.clear();
-    blocks = rhs.blocks;
-    gaps.clear();
-    gaps   = rhs.gaps;
-    nCells = rhs.nCells;
-    nSampledPaths = rhs.nSampledPaths;
-    AlignmentStats::Assign(rhs);
-    return *this;
-}
-
-
-unsigned int Alignment::size() {
-    return blocks.size();
-}
-
-void Alignment::Assign(Alignment &rhs) {
-    ((AlignmentStats*)this)->Assign(rhs);
-    qPos = rhs.qPos; tPos = rhs.tPos;
-    qAlignLength = rhs.qAlignLength;
-    tAlignLength = rhs.tAlignLength;
-    qLength = rhs.qLength;
-    zScore  = rhs.zScore;
-    qName   = rhs.qName;
-    tName   = rhs.tName;
-    qStrand = rhs.qStrand;
-    tStrand = rhs.tStrand;
-    nCells  = rhs.nCells;
-    std::vector<Block> empty;
-    blocks.swap(empty);
-    blocks.resize(rhs.size());
-    int b;
-    for (b = 0; b < rhs.blocks.size(); b++) {
-        blocks[b].Assign(rhs.blocks[b]);
-    }
-}
-int Alignment::ComputeNumAnchors(int minAnchorSize, int &nAnchors, int &nAnchorBases) {
-    int i;
-    nAnchors = 0;
-    nAnchorBases = 0;
-    for (i = 0; i < blocks.size(); i++) {
-        if (blocks[i].length >= minAnchorSize) {
-            nAnchors++;
-            nAnchorBases += blocks[i].length;
-        }
-    }
-    return nAnchors;
-}
-
-void Alignment::AllocateBlocks(int nBlocks) {
-    blocks.resize(nBlocks);
-}
-
-void Alignment::AppendAlignmentGaps(Alignment &next, bool mergeFirst) {
-    //
-    // append all gaps belonging to ext to the gap list in this 
-    // alignment.  The logic for determining just what the gap should
-    // be between two separate alignments is somewhat complicated, and
-    // should probably be handled outside this function.  The default
-    // to do this is to skip the first gap in the next alignment, and
-    // assume that the code has handled computing the gap stored in
-    // the last gap in this alignment correctly. 
-    //
-    // At your own risk, you can simply merge the first gap in next
-    // with the last gap in the current alignment.
-
-    assert(gaps.size() > 0);
-
-    // Ditto for the next alignment.
-    assert(next.gaps.size() > 0);
-
-    std::vector<GapList>::iterator secondGapIt = next.gaps.begin();
-    if (mergeFirst) {
-        // Merge the gap list in the first gap in next sequence to the
-        // last gap in the current sequence.
-        gaps[gaps.size()-1].insert(gaps[gaps.size()-1].end(), secondGapIt->begin(), secondGapIt->end());
-    }
-    // Append all other gaps to the current one.
-    secondGapIt++;
-    gaps.insert(gaps.end(), secondGapIt, next.gaps.end());
-}
-
-void Alignment::AppendAlignmentBlocks(Alignment &next, int qOffset, int tOffset) {
-    VectorIndex n;
-    Block tempBlock;
-    for (n = 0; n < next.blocks.size(); n++ ) {
-        tempBlock = next.blocks[n];
-        tempBlock.qPos += qOffset;
-        tempBlock.tPos += tOffset;
-        blocks.push_back(tempBlock);
-    }
-}
-
-void Alignment::AppendAlignment(Alignment &next) {
-    int qOffset = next.qPos - qPos;
-    int tOffset = next.tPos - tPos;
-    AppendAlignmentBlocks(next, qOffset, tOffset);
-}
-
-/*
-   Transform the series of operations in an optimal dynamic
-   programming path to a block representation of the alignment.
-
-   Since it is possible to have an adjacent insertion and deletion,
-   the gap blocks are tracked in addition to the match blocks.
-   */
-
-void Alignment::ArrowPathToAlignment(std::vector<Arrow> &optPath) {
-    int q, t;
-    VectorIndex a = 1;
-    q = 0; t = 0;
-    Block b;
-    a = 0;
-    bool beforeFirstBlock = true;
-    while (a < optPath.size()) {
-        //
-        // Allow for there to be a block at the beginning
-        // of the alignment, so process gap characters first.
-        //
-        if (!beforeFirstBlock) {
-            if (optPath[a] == Diagonal) {
-                // Start of a block;
-                b.qPos = q;
-                b.tPos = t;
-                b.length = 0;
-                while(a < optPath.size() and optPath[a] == Diagonal) {
-                    b.length++;
-                    a++;
-                    t++;
-                    q++;
-                }
-                blocks.push_back(b);
-            }
-        }
-        gaps.push_back(GapList());
-        int curGapList = gaps.size() - 1;
-        //
-        // Add gaps as condensed blocks of insertions or deletions.  It
-        // is possible there are multiple stretches of ins/del/ins/del
-        // patterns, so have to loop over all of these.
-        //
-        while (a < optPath.size() and 
-                (optPath[a] == Left or 
-                 optPath[a] == Up)) {
-            if (a < optPath.size() and optPath[a] == Left) {
-                int gapStart = a;
-                while(a < optPath.size() and optPath[a] == Left) {
-                    t++;
-                    a++;
-                }
-                gaps[curGapList].push_back(Gap(Gap::Query, a - gapStart));
-                continue;
-            }
-            else if (a < optPath.size() and optPath[a] == Up) {
-                int gapStart = a;
-                while(a < optPath.size() and optPath[a] == Up) {
-                    q++;
-                    a++;
-                }
-                gaps[curGapList].push_back(Gap(Gap::Target, a - gapStart));
-                continue;
-            }
-        }
-        if (a == optPath.size()) {
-            if (gaps.size() > 0) {
-                gaps[curGapList].clear();
-            }
-        }
-        assert(a == optPath.size() or gaps[curGapList].size() != 0 or beforeFirstBlock == true);
-        beforeFirstBlock = false;
-    }
-}
-
-//
-// samtools / picard do not like the pattern
-// insertion/deletion/insertion (or the opposite).  To get around
-// this, reorder the idi patterns to iid (or did to idd).  This
-// produces the same scoring alignment, however it is reordered so
-// that Picard / samtools accepts the alignments.
-//
-void Alignment::OrderGapsByType() {
-    int g;
-    //
-    // Gaps at the beginning and end of the sequence are hard to deal
-    // with. Just get rid of them. 
-    //
-    RemoveEndGaps();
-    //
-    // Start at 1 since the gaps at the beginning of the sequence are
-    // removed.
-    //
-    for (g = 1; g < gaps.size(); g++ ) {
-        if (gaps[g].size() <= 1) {
-            continue;
-        }
-        Gap queryGap, targetGap;
-        GapList condensedGapList;
-        int gi;
-        targetGap.seq = Gap::Target;
-        queryGap.seq  = Gap::Query;
-        for (gi = 0; gi < gaps[g].size(); gi++) {
-            if (gaps[g][gi].seq == Gap::Target) {
-                targetGap.length += gaps[g][gi].length;
-            }
-            else {
-                queryGap.length += gaps[g][gi].length;
-            }
-        }
-        int nTypes = 0;
-        gaps[g].clear();
-        int matchExtend = 0;
-        if (targetGap.length > queryGap.length) {
-            targetGap.length -= queryGap.length;
-            gaps[g].push_back(targetGap);
-            matchExtend = queryGap.length;
-        }
-        else if (queryGap.length > targetGap.length) {
-            queryGap.length -= targetGap.length;
-            gaps[g].push_back(queryGap);
-            matchExtend = targetGap.length;
-        }
-        else {
-            matchExtend = targetGap.length;
-        }
-
-        if (matchExtend > 0) {
-            assert(g>0);
-            blocks[g-1].length += matchExtend;
-        }
-        //
-        // When targetGap.length == queryGap.length, there is no gap, so
-        // just leave the gap list cleared.
-        //
-    }
-}
-
-//
-// Transform an alignment that has up to one long gap in it to a
-// block based alignment.
-
-void 
-Alignment::LongGapArrowPathToAlignment(
-    std::vector<Arrow> &optPath, DNALength lengthOfLongGap)  {
-
-    DNALength i;
-    int numLongGaps = 0;
-
-    // Input checking.
-    // Only one long gap is allowed per alignment.  Make sure this is
-    // the case on the input.
-    //
-    for (i = 0; i < optPath.size(); i++) {
-        if (optPath[i] == AffineLongDelLeft or
-                optPath[i] == AffineLongDelClose) {
-            numLongGaps++;
-        }
-    }
-
-    if (numLongGaps > 1) {
-        std::cout << "ERROR. Only one long gap per alignment is allowed." 
-                  << std::endl;
-        exit(1);
-    }
-
-    //
-    // First locate the position of the gap.
-    // Also, change the gap to a normal arrow.
-    //
-    DNALength indexOfLongGap; // undefined until one is found
-    bool aLongGapWasFound = false;
-    Arrow longGapArrow; // will hold the type of the long gap
-    int numBlocksBeforeGap = 0;
-    int indexOfLastMatchBeforeGap = 0;
-    // Now locate both the type of type of the arrow, and the 
-    // position 
-    for (i = 0; i < optPath.size(); i++) {
-        //
-        // Count the number of blocks. This will tell us where to insert
-        // the gap.
-        //
-        if ( i > 0 and 
-                optPath[i-1] == Diagonal and 
-                optPath[i] != Diagonal ) {
-            numBlocksBeforeGap++;
-            indexOfLastMatchBeforeGap = i;
-        }
-        //
-        // Look for the gap.
-        //
-        if (optPath[i] == AffineLongDelLeft or
-                optPath[i] == AffineLongDelClose) {
-            aLongGapWasFound = true;
-            longGapArrow = optPath[i];
-            indexOfLongGap = i;
-            optPath[i] = Left;
-            break;
-        }
-    }
-
-    //
-    // Next transform the path into an alignment that lacks the gap. 
-    //
-    ArrowPathToAlignment(optPath);
-
-    //
-    // Finally, insert the gap into the block form of the alignment.
-    //
-
-    if (aLongGapWasFound and numBlocksBeforeGap < blocks.size()) {
-        // Found a gap, add it.
-
-        // First, find which gap corresponds to the long gap.  This is
-        // the hardest step.  First, find how many arrow instructions
-        // there are between the last block and the arrow.
-
-        int numGapChars = indexOfLongGap - indexOfLastMatchBeforeGap + 1;
-        int gi;
-
-        // Define some variables for readability.
-        int indexOfBlockBeforeGap;
-        int gapIndex;
-        gapIndex = numBlocksBeforeGap;
-
-        assert(gapIndex < gaps.size());
-
-        // There must be at least one gap here (the long deletion)
-        assert(gaps[gapIndex].size() > 0);
-
-        int cumulativeGapLength = 0;
-        bool indexOfGapFound = false;
-        for (gi = 0; gi < gaps[gapIndex].size(); gi++) {
-            cumulativeGapLength += gaps[gapIndex][gi].length;
-            if (cumulativeGapLength >= numGapChars) {
-                // Found the gap where the long deletion happened.
-                // Make sure this is on a deletion.
-                assert(gaps[gapIndex][gi].seq == Gap::Query);
-                indexOfGapFound = true;
-                break;
-            }
-        }
-
-        assert(indexOfGapFound == true);
-        //
-        // Found the gap corresponding to the long deletion.
-        // Now, add in the length of the long gap, taking into account
-        // the fact that there is already one base used in the previous
-        // accounting of the gap.
-        gaps[gapIndex][gi].length += lengthOfLongGap - 1;
-
-        // 
-        // Now fix the offsets of the positions of the rest of the
-        // blocks in the sequence.
-        //
-        UInt b;
-        for (b = numBlocksBeforeGap; b < blocks.size(); b++) {
-            blocks[b].tPos += lengthOfLongGap - 1;
-        }
-    }
-}
-
-//
-// The length of the aligned sequence in the query.
-//
-DNALength Alignment::QEnd() {
-    if (blocks.size() > 0) {
-        return blocks[blocks.size()-1].QEnd();
-    }
-    else { return 0; }
-}
-
-//
-// The lenght of the aligned sequence in the target.
-//
-DNALength Alignment::TEnd() {
-    if (blocks.size() > 0) {
-        return blocks[blocks.size()-1].TEnd();
-    }
-    else { return 0; }
-}
-
-DNALength Alignment::GenomicTBegin() {
-    return tPos;
-}
-
-DNALength Alignment::GenomicTEnd() {
-    return tPos + TEnd();
-}
-
-//
-// Some programs do not accept alignments that have gaps at their
-// ends.  This is used to trim gaps at the ends of alignments (even
-// if the structure represents an acceptable alignment).
-//
-
-void Alignment::RemoveEndGaps() {
-    if (gaps.size() > 0 and gaps[0].size() > 0) {
-        int i;
-        for (i = 0; i < gaps[0].size(); i++) {
-            if (gaps[0][i].seq == Gap::Target) {
-                qPos += gaps[0][i].length;
-            }
-            else {
-                tPos += gaps[0][i].length;
-            }
-        }
-        gaps[0].clear();
-    }
-
-    if (gaps.size() > 1 ) {
-        int lastGap = gaps.size() - 1;
-        gaps[lastGap].clear();
-    }
-}
-
-
-MatchedAlignment& MatchedAlignment::Assign(MatchedAlignment &rhs) {
-    ((Alignment*)(this))->Assign(rhs);
-    refIndex = rhs.refIndex;
-    readIndex = rhs.readIndex;
-    tStart   = rhs.tStart;
-    tEnd     = rhs.tEnd;
-    qStart   = rhs.qStart;
-    qEnd     = rhs.qEnd;
-    tChromOffset = rhs.tChromOffset;
-    return *this;
-}
-
-std::ostream& operator<<(std::ostream &out, const Block &b) {
-    out << " q: " << b.qPos << " t: " << b.tPos << " len: " << b.length;
-    return out;
-}
-
-Block& Block::Assign(Block &rhs) {
-    qPos = rhs.qPos;
-    tPos = rhs.tPos;
-    length = rhs.length;
-    return *this;
-}
-
-DNALength Block::QEnd() {
-    return qPos + length;
-}
-
-DNALength Block::TEnd() {
-    return tPos + length;
-}
-
-void Block::Clear() {
-    qPos = tPos =  length = 0;
-}
-
-Gap::Gap() {
-    seq    = Query;
-    length = 0;
-}
-
-Gap::Gap(GapSeq seqP, int lengthP) {
-    seq = seqP;
-    length = lengthP;
-}
diff --git a/libcpp/alignment/datastructures/alignment/Alignment.hpp b/libcpp/alignment/datastructures/alignment/Alignment.hpp
deleted file mode 100644
index a10bbb6..0000000
--- a/libcpp/alignment/datastructures/alignment/Alignment.hpp
+++ /dev/null
@@ -1,184 +0,0 @@
-#ifndef _BLASR_ALIGNMENT_HPP_
-#define _BLASR_ALIGNMENT_HPP_
-
-#include "Path.h"
-#include <vector>
-#include <string>
-#include "DNASequence.hpp"
-#include "datastructures/alignment/AlignmentStats.hpp"
-
-namespace blasr {
-class Block {
-public:
-    //
-    // An alignment is a collection of blocks. The qPos and tPos in a block
-    // is relative to the beginning of the alignment rather than the
-    // target or query.
-    //
-    DNALength qPos, tPos, length;
-    friend std::ostream &operator<<(std::ostream &out, const Block &b);
-
-    Block& Assign(Block &rhs);
-
-    DNALength QEnd(); 
-
-    DNALength TEnd();
-
-    void Clear(); 
-};
-
-class Gap {
-public:
-    enum GapSeq {Query, Target};
-    GapSeq seq;
-    int length;
-    Gap();
-    Gap(GapSeq seqP, int lengthP); 
-};
-
-typedef std::vector<Gap> GapList;
-
-class Alignment : public AlignmentStats {
-public:
-    // the FASTA titles of each sequence
-    std::string qName, tName;
-
-    // Strands represented in the alignment, 0=forward, 1=reverse
-    int qStrand, tStrand;
-
-    // The starting pos in the text and query of the start of the 
-    // alignment, in the window that is matched.
-    DNALength qPos, tPos;
-    DNALength  qAlignLength;
-    DNALength tAlignLength;
-    DNALength qLength;
-    DNALength tLength;
-
-    double probability;
-    float zScore;
-    float probScore;
-    int   sumQVScore; 
-    int   nCells;
-    int   nSampledPaths;
-    std::vector<Block> blocks;
-    std::vector<GapList> gaps;
-
-    Alignment();
-
-    void CopyStats(Alignment &rhs);
-
-    // 
-    // The position in the query is qPos + block[i].qPos
-    // and the position in the text is tPos + block[i].tPos
-    //
-    void Clear();
-
-    Alignment& operator=(const Alignment &rhs);
-
-    unsigned int size(); 
-
-    void Assign(Alignment &rhs);
-
-    int ComputeNumAnchors(int minAnchorSize, int &nAnchors, int &nAnchorBases);
-
-    void AllocateBlocks(int nBlocks); 
-
-    void AppendAlignmentGaps(Alignment &next, bool mergeFirst=false); 
-
-    void AppendAlignmentBlocks(Alignment &next, int qOffset = 0, int tOffset = 0); 
-
-    void AppendAlignment(Alignment &next); 
-
-    /*
-       Transform the series of operations in an optimal dynamic
-       programming path to a block representation of the alignment.
-
-       Since it is possible to have an adjacent insertion and deletion,
-       the gap blocks are tracked in addition to the match blocks.
-       */
-
-    void ArrowPathToAlignment(std::vector<Arrow> &optPath); 
-
-    //
-    // samtools / picard do not like the pattern
-    // insertion/deletion/insertion (or the opposite).  To get around
-    // this, reorder the idi patterns to iid (or did to idd).  This
-    // produces the same scoring alignment, however it is reordered so
-    // that Picard / samtools accepts the alignments.
-    //
-    void OrderGapsByType(); 
-
-    //
-    // Transform an alignment that has up to one long gap in it to a
-    // block based alignment.
-
-    void LongGapArrowPathToAlignment(std::vector<Arrow> &optPath, DNALength lengthOfLongGap); 
-
-    //
-    // The length of the aligned sequence in the query.
-    //
-    DNALength QEnd(); 
-
-    //
-    // The lenght of the aligned sequence in the target.
-    //
-    DNALength TEnd(); 
-
-    DNALength GenomicTBegin(); 
-
-    DNALength GenomicTEnd(); 
-
-    //
-    // Some programs do not accept alignments that have gaps at their
-    // ends.  This is used to trim gaps at the ends of alignments (even
-    // if the structure represents an acceptable alignment).
-    //
-
-    void RemoveEndGaps();
-
-};
-
-//
-// This data structure holds two things: alignments, of course, and in addition
-// the coordinates of sequences that are successively refined in order to produce 
-// the alignment.  This is somewhat tricky when the target genome has been
-// transformed by some noise-reducing function phi(t). 
-//
-// Before aligning a read, it is first mapped to the genome, or transformed 
-// then mapped to the transformed genome.  Because the mapping is inexact, the
-// region a read is mapped to is typically much larger than the read.  
-// The coordinates of the mapped region are stored in tStart and tEnd
-// Alignments are performed in native nucleotide space (not transformed).
-
-// For now, the query is always qStart=0, qEnd = queryLength.
-
-
-//
-// When mapping a read to a set of concatenated chromosomes, each chromosome
-// has an offset into the file.  Therefore though a sequence may be aligned 
-// to a region starting at tStart, the relative offset into the chromosome
-// is tStart - tChromOffset.  This is used when printing the coordinates of a match.
-//
-class MatchedAlignment : public Alignment {
-public: 
-    int refIndex;
-    int readIndex;
-    DNALength tStart, tEnd, qStart, qEnd;
-    int tChromOffset;
-
-    MatchedAlignment &Assign(MatchedAlignment &rhs); 
-};
-
-
-/*
- *  Create a structure for storing the information output by compare sequences.
- *  Namely, the two string representations of the alignment.
- */
-class CompSeqAlignment : public Alignment {
-    public:
-        std::string tString, qString, alignString;
-};
-
-} // namespace blasr
-
-#endif // _BLASR_ALIGNMENT_HPP_
diff --git a/libcpp/alignment/datastructures/alignment/AlignmentCandidate.cpp b/libcpp/alignment/datastructures/alignment/AlignmentCandidate.cpp
deleted file mode 100644
index 111cfc9..0000000
--- a/libcpp/alignment/datastructures/alignment/AlignmentCandidate.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-#include "AlignmentCandidate.hpp"
-
-int SortAlignmentPointersByScore::operator() (T_AlignmentCandidate *lhs, 
-                                              T_AlignmentCandidate* rhs) {
-    if (lhs->score == rhs->score) {
-        return lhs->tPos + lhs->tAlignedSeqPos < rhs->tPos + rhs->tAlignedSeqPos;
-    }
-    else {
-        return lhs->score < rhs->score;
-    }
-}
-
-int SortAlignmentPointersByMapQV::operator() (T_AlignmentCandidate *lhs,
-                                              T_AlignmentCandidate* rhs) {
-    if (lhs->mapQV == rhs->mapQV) {
-        if (lhs->score == rhs->score) {
-            return lhs->tPos + lhs->tAlignedSeqPos < rhs->tPos + rhs->tAlignedSeqPos;
-        }
-        else {
-            return lhs->score < rhs->score;
-        }
-    }
-    else {
-        return lhs->mapQV > rhs->mapQV;
-    }
-}
diff --git a/libcpp/alignment/datastructures/alignment/AlignmentCandidate.hpp b/libcpp/alignment/datastructures/alignment/AlignmentCandidate.hpp
deleted file mode 100644
index 2e27142..0000000
--- a/libcpp/alignment/datastructures/alignment/AlignmentCandidate.hpp
+++ /dev/null
@@ -1,370 +0,0 @@
-#ifndef _ALIGNMENT_ALIGNMENT_CANDIDATE_HPP_
-#define _ALIGNMENT_ALIGNMENT_CANDIDATE_HPP_
-
-#include "Alignment.hpp"
-#include "DNASequence.hpp"
-#include "FASTQSequence.hpp"
-
-template<typename T_TSequence=FASTASequence, typename T_QSequence=FASTASequence>
-class AlignmentCandidate : public blasr::Alignment {
-
-private:
-    void ReassignSequence(DNASequence &curSeq, bool curIsSubstring,  DNASequence &newSeq) {
-        //
-        // If this sequence is in control of itself (it is not a substring
-        // of anoter sequence), it should be freed here to avoid memory
-        // leaks.
-        //
-        if (curIsSubstring == false) {
-            curSeq.Free();
-        }
-        curSeq.seq = newSeq.seq;
-        curSeq.length = newSeq.length;
-    }
-
-    void ReassignSequence(FASTQSequence &curSeq, bool curIsSubstring, FASTQSequence &newSeq) {
-        //
-        // Free the current sequence with the same rules as above.
-        //
-        if (curIsSubstring == false) {
-            curSeq.Free();
-        }
-        curSeq.ReferenceSubstring(newSeq, 0, newSeq.length);
-    }
-    
-    // TryReadingQVs is a helper function for ReadOptionalQVs. It checks if the
-    // qvs that are supposed to be copied to a member of AlignmentCandidate are
-    // in fact empty. If so, then don't substr or copy anything
-    void TryReadingQVs(const std::string qvs, DNALength start, DNALength length,
-                       std::string *memberQVs) {
-        if (qvs.size() == 0) {
-            memberQVs->clear();
-        } else {
-            *memberQVs = qvs.substr(start, length);
-        }
-    }
-
-
-
-public:
-    T_TSequence tAlignedSeq;
-    T_QSequence qAlignedSeq;
-    std::string insertionQV, deletionQV, mergeQV, substitutionQV, deletionTag, substitutionTag;
-    std::vector<std::string> optionalQVNames;
-    DNALength   tAlignedSeqPos, qAlignedSeqPos;
-    DNALength   tAlignedSeqLength, qAlignedSeqLength;
-    float       pvalVariance, weightVariance, pvalNStdDev, weightNStdDev;
-    int         numSignificantClusters;
-    int readIndex;
-    //
-    // [q/t]IsSubstring refers to whether or not the text or query
-    // sequences are pointers into longer sequences.  If they are,
-    // then reassigning the target/query sequences just means
-    // reassigning the seq and length values.  If not, they occupy their
-    // own space, and should have the same lifetime as the alignment
-    // candidate object.
-    //
-
-    bool tIsSubstring, qIsSubstring;
-    std::string tTitle, qTitle;
-    float clusterScore, clusterWeight;
-    //
-    // For indexing into sequence index databases, tIndex stores which
-    // target this match is from.
-    //
-    int tIndex;
-
-    AlignmentCandidate&operator=(const AlignmentCandidate &rhs)  {
-        tAlignedSeq         = rhs.tAlignedSeq;
-        qAlignedSeq         = rhs.qAlignedSeq;
-        tAlignedSeqPos      = rhs.tAlignedSeqPos;
-        qAlignedSeqPos      = rhs.qAlignedSeqPos;
-        tAlignedSeqLength   = rhs.tAlignedSeqLength;
-        qAlignedSeqLength   = rhs.qAlignedSeqLength;
-        readIndex           = rhs.readIndex;
-        tIndex              = rhs.tIndex;
-        mapQV               = rhs.mapQV;
-        clusterScore        = rhs.clusterScore;
-        clusterWeight       = rhs.clusterWeight;
-        *((Alignment*)this) = ((Alignment&)rhs);
-
-        pvalVariance = rhs.pvalVariance;
-        pvalNStdDev  = rhs.pvalNStdDev;
-        weightVariance=rhs.weightVariance;
-        weightNStdDev= rhs.weightNStdDev;
-
-        insertionQV = rhs.insertionQV;
-        deletionQV = rhs.deletionQV;
-        substitutionQV = rhs.substitutionQV;
-        mergeQV = rhs.mergeQV;
-        substitutionTag = rhs.substitutionTag;
-        deletionTag = rhs.deletionTag;
-
-        return *this;
-    }
-
-    AlignmentCandidate() {
-        /*
-         * The default configuration of an alignment candidate is to have
-         * the t and q sequences be substrings.  This means that the
-         * position of the substrings starts at 0 (no offset into a longer
-         * string).
-         */
-        tIsSubstring      = true;
-        qIsSubstring      = true;
-        tTitle            = "";
-        qTitle            = "";
-        tAlignedSeqPos    = 0;
-        qAlignedSeqPos    = 0;
-        tAlignedSeqLength = 0;
-        qAlignedSeqLength = 0;
-        tIndex            = 0;
-        readIndex         = 0;
-        mapQV             = 50;
-        clusterScore      = 0;
-        clusterWeight     = 0;
-        numSignificantClusters = 0;
-        pvalVariance = pvalNStdDev = 0;
-        weightVariance = weightNStdDev = 0;
-    }
-
-    void Print(std::ostream & out = std::cout) {
-        out << "An AlignmentCandidate object (mapQV " 
-            << mapQV << ", clusterscore " << clusterScore 
-            << ", tTitle: " << tTitle << ", qTitle: " << qTitle 
-            << ")." << std::endl;
-        out << "  query: " << qTitle << ", "  
-            << "qName: " << qName << ","
-            << "qStrand: " << qStrand << ", " 
-            << "qPos: " << qPos << ", "
-            << "qLen: " << qLength << ", "
-            << "qAlignLength: " << qAlignLength << ", "
-            << "qAlignedSeqPos:" << qAlignedSeqPos << ", "
-            << "qAlignedSeqLen:" << qAlignedSeqLength << std::endl
-            << "  target: " << tTitle << ", "  
-            << "tName: " << tName << ","
-            << "tStrand: " << tStrand << ", " 
-            << "tPos: " << tPos << ", "
-            << "tLen: " << tLength << ", "
-            << "tAlignLength: " << tAlignLength << ", "
-            << "tAlignedSeqPos:" << tAlignedSeqPos << ", " 
-            << "tAlignedSeqLen:" << tAlignedSeqLength << std::endl;
-        tAlignedSeq.Print(out);
-    }
-
-    AlignmentCandidate(const AlignmentCandidate &rhs) {
-        *this = rhs;
-    }
-
-    DNALength GenomicTBegin() {
-        return tAlignedSeqPos + tPos;
-    }
-
-    DNALength GenomicTEnd() {
-        return tAlignedSeqPos + tPos + TEnd();
-    }
-
-    void GetQIntervalOnForwardStrand(int &qStart, int &qEnd) {
-        GetQInterval(qStart, qEnd, true);
-    }
-
-    void GetQInterval(int &qStart, int &qEnd, bool useForwardStrand=false) {
-        qStart = qEnd = 0;
-        if (blocks.size() == 0) { return; }
-        qStart = blocks[0].qPos + qAlignedSeqPos;
-        qEnd   = QEnd() + qAlignedSeqPos;
-        if (useForwardStrand and qStrand == 1) {
-            int forQEnd, forQStart;
-            forQStart = qLength - qEnd;
-            forQEnd   = qLength - qStart;
-            qStart    = forQStart;
-            qEnd      = forQEnd;
-        }
-    }
-
-    DNALength QAlignEnd() {
-        return QEnd() + qPos + qAlignedSeqPos;
-    }
-
-    DNALength QAlignStart() {
-        return qPos + qAlignedSeqPos;
-    }
-
-    DNALength TAlignStart() {
-        return tPos + tAlignedSeqPos;
-    }
-
-    // Synonyms for T/QStart 
-    DNALength GetQBasesToStart() {
-        return qPos + qAlignedSeqPos;
-    }
-    DNALength GetTBasesToStart() {
-        return tPos + tAlignedSeqPos;
-    }
-    
-    // ReadOptionalQVs populates the optional QV attributes of
-    // AlignmentCandidate with values read from a vector.  
-    void ReadOptionalQVs(const std::vector<std::string>& optionalQVs,
-                         DNALength start, DNALength length) {
-      TryReadingQVs(optionalQVs[0], start, length, &insertionQV);
-      TryReadingQVs(optionalQVs[1], start, length, &deletionQV);
-      TryReadingQVs(optionalQVs[2], start, length, &substitutionQV);
-      TryReadingQVs(optionalQVs[3], start, length, &mergeQV);
-      TryReadingQVs(optionalQVs[4], start, length, &substitutionTag);
-      TryReadingQVs(optionalQVs[5], start, length, &deletionTag);
-    } 
-    
-    // CopyQVs fills a vector with optional QV attributes.
-    void CopyQVs(std::vector<std::string> *optionalQVs) {  
-      optionalQVNames.clear();
-      optionalQVs->clear();
-      optionalQVs->push_back(insertionQV);
-      optionalQVNames.push_back("InsertionQV");
-      optionalQVs->push_back(deletionQV);
-      optionalQVNames.push_back("DeletionQV");
-      optionalQVs->push_back(substitutionQV);
-      optionalQVNames.push_back("SubstitutionQV");
-      optionalQVs->push_back(mergeQV);
-      optionalQVNames.push_back("MergeQV");
-      optionalQVs->push_back(substitutionTag);
-      optionalQVNames.push_back("SubstitutionTag");
-      optionalQVs->push_back(deletionTag);
-      optionalQVNames.push_back("DeletionTag");
-    }
-
-    void AppendAlignment(AlignmentCandidate &next) {
-
-        //
-        // If the next alignment is empty, just return now.
-        //
-        if (next.blocks.size() == 0) {
-            return;
-        }
-        //
-        // It is necessary to determine how much after the first alignment
-        // the second alignment starts, in order to 
-        assert(GetTBasesToStart() <= next.GetTBasesToStart());
-        assert(GetQBasesToStart() <= next.GetQBasesToStart());
-        assert(GetTBasesToStart() + TEnd() <= next.GetTBasesToStart());
-        assert(GetQBasesToStart() + QEnd() <= next.GetQBasesToStart());
-
-        //
-        // qOffset is the offset of the frame of reference for the 'next'
-        // alignment relative to this one.  If the frame of reference is
-        // the same (qOffset == 0 and tOffset == 0), then the alignment
-        // blocks may simply be appended.  If it is non zero, then the
-        // location in the query or target where the alignment has started
-        // is different, and the values of qPos or tPos need to be
-        // adjusted accordingly.
-
-        DNALength qOffset = next.qPos + next.qAlignedSeqPos - qPos - qAlignedSeqPos;
-        DNALength tOffset = next.tPos + next.tAlignedSeqPos - tPos - tAlignedSeqPos;
-        DNALength origQEnd = QEnd();
-        DNALength origTEnd = TEnd();
-
-        /*    DNALength tGap = next.GetTBasesToStart() + next.blocks[0].tPos - (GetTBasesToStart() + TEnd());
-              DNALength qGap = next.GetQBasesToStart() + next.blocks[0].qPos - (GetQBasesToStart() + QEnd());
-              */
-        DNALength tGap = next.GetTBasesToStart() - (GetTBasesToStart() + TEnd());
-        DNALength qGap = next.GetQBasesToStart() - (GetQBasesToStart() + QEnd());
-
-        //
-
-        if ( gaps.size() > 0 and next.gaps.size() > 0 ) {
-
-            //
-            // Determine the gap between the two alignments in order to assign
-            // the gap between them.
-            DNALength commonGap = 0;
-            DNALength gapDiff = 0;
-
-            if (tGap >= qGap) {
-                gapDiff   = tGap - qGap;
-                commonGap = tGap - gapDiff;
-                tGap      = gapDiff;
-                qGap      = 0;
-            }
-            else {
-                gapDiff   = qGap - tGap;
-                commonGap = qGap - gapDiff;
-                qGap      = gapDiff;
-                tGap      = 0;
-            }
-
-            if (commonGap > 0) {
-                // There is some portion of sequence between the two alignments
-                // that is a common gap. Add a block representing this.
-
-                blasr::Block block;
-                block.qPos = origQEnd;
-                block.tPos = origTEnd;
-                block.length = commonGap;
-                blocks.push_back(block);
-                blasr::GapList emptyGap;
-                gaps.push_back(emptyGap);
-            }
-
-            blasr::GapList endGapList;
-            //
-            // When gapDiff == 0, an empty list is appended.
-            //
-            if (next.gaps.size() > 0) {
-                //
-                // The first gap in the next alignment is already handled by
-                // the gap created with the endGap.  So get rid of the first
-                // gaps. 
-                //        next.gaps[0].resize(0);
-                static const bool mergeFirstGap = true;
-                AppendAlignmentGaps(next);
-            }
-        }
-
-        //
-        // Finally append all the blocks.
-        //
-        AppendAlignmentBlocks(next, qOffset, tOffset);
-
-    }
-
-    void FreeSubsequences() {
-        if (tIsSubstring == false) {
-            tAlignedSeq.Free();
-        }
-        if (qIsSubstring == false) {
-            qAlignedSeq.Free();
-        }
-    }
-
-    void ReassignTSequence(DNASequence &newSeq) {
-        ReassignSequence(tAlignedSeq, tIsSubstring, newSeq);
-    }
-
-    template<typename T_Sequence>
-        void ReassignQSequence(T_Sequence &newSeq) {
-            ReassignSequence(qAlignedSeq, qIsSubstring, newSeq);
-        }
-
-    ~AlignmentCandidate() {
-        qAlignedSeq.Free();
-        tAlignedSeq.Free();
-    }
-};
-//
-// Define a default alignment candidate for aligning quality-sequence
-// to a reference without quality.
-//
-typedef AlignmentCandidate<DNASequence,FASTQSequence> T_AlignmentCandidate;
-
-class SortAlignmentPointersByScore {
-public:
-    /// Sort AlignmentCandidate pointer by score, then by target position.
-    int operator()(T_AlignmentCandidate *lhs, T_AlignmentCandidate* rhs);
-};
-
-class SortAlignmentPointersByMapQV {
-public:
-    /// Sort AlignmentCandidate pointer by mapQV, then by target position.
-    int operator()(T_AlignmentCandidate *lhs, T_AlignmentCandidate* rhs);
-};
-
-#endif // _ALIGNMENT_ALIGNMENT_CANDIDATE_HPP_
diff --git a/libcpp/alignment/datastructures/alignment/AlignmentContext.cpp b/libcpp/alignment/datastructures/alignment/AlignmentContext.cpp
deleted file mode 100644
index 913a689..0000000
--- a/libcpp/alignment/datastructures/alignment/AlignmentContext.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-#include "AlignmentContext.hpp"
-
-AlignmentContext::AlignmentContext() {
-    isPrimary = true;
-    subreadIndex = 0;
-    isFinal   = true;
-    nextSubreadPos = 0;
-    hasNextSubreadPos = false;
-    numProperlyAlignedSubreads = 0;
-    allSubreadsProperlyAligned = false;
-    nSubreads = 0;
-    nextSubreadDir = 0;
-    rNext = "";
-    readGroupId = "";
-    chipId = "";
-    alignMode = NoAlignMode;
-    editDist = 0;
-}
-
-bool AlignmentContext::IsFirst() {
-    return subreadIndex == 0;
-}
-
-bool AlignmentContext::IsLast() {
-    return subreadIndex == nSubreads-1;
-}
-
-bool AlignmentContext::AllSubreadsAligned() {
-    if (numProperlyAlignedSubreads == nSubreads) {
-        return true;
-    }
-    else {
-        return false;
-    }
-}
diff --git a/libcpp/alignment/datastructures/alignment/AlignmentContext.hpp b/libcpp/alignment/datastructures/alignment/AlignmentContext.hpp
deleted file mode 100644
index 69c57ce..0000000
--- a/libcpp/alignment/datastructures/alignment/AlignmentContext.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef _BLASR_ALIGNMENT_CONTEXT_HPP_
-#define _BLASR_ALIGNMENT_CONTEXT_HPP_
-
-#include <string>
-#include "Enumerations.h"
-
-class AlignmentContext {
-public:
-    bool isPrimary;
-    int  subreadIndex;
-    int  numProperlyAlignedSubreads;
-    bool allSubreadsProperlyAligned;
-    bool isFinal;
-    int  nextSubreadPos;
-    int  nextSubreadDir;
-    bool hasNextSubreadPos;
-    int  nSubreads;
-    std::string rNext;
-    std::string readGroupId;
-    std::string chipId;
-    AlignMode alignMode;
-    int editDist;
-    AlignmentContext(); 
-
-    bool IsFirst(); 
-
-    bool IsLast(); 
-
-    bool AllSubreadsAligned(); 
-};
-
-#endif // _BLASR_ALIGNMENT_CONTEXT_HPP_
diff --git a/libcpp/alignment/datastructures/alignment/AlignmentGapList.h b/libcpp/alignment/datastructures/alignment/AlignmentGapList.h
deleted file mode 100644
index 47fb01c..0000000
--- a/libcpp/alignment/datastructures/alignment/AlignmentGapList.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef DATASTRUCTURES_ALIGNMENT_GAP_LIST_H_
-#define DATASTRUCTURES_ALIGNMENT_GAP_LIST_H_
-
-#include <vector>
-using namespace std;
-
-
-
-class Gap {
- public:
-  enum GapSeq {Query, Target};
-  GapSeq seq;
-  int length;
-  Gap() {
-    seq    = Query;
-    length = 0;
-  }
-  Gap(GapSeq seqP, int lengthP) {
-    seq = seqP;
-    length = lengthP;
-  }
-};
-
-typedef vector<Gap> GapList;
-
-#endif
diff --git a/libcpp/alignment/datastructures/alignment/AlignmentMap.cpp b/libcpp/alignment/datastructures/alignment/AlignmentMap.cpp
deleted file mode 100644
index 7e39d0b..0000000
--- a/libcpp/alignment/datastructures/alignment/AlignmentMap.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <vector>
-#include <string> 
-#include "AlignmentMap.hpp"
-
-using namespace std;
-
-void 
-CreateSequenceToAlignmentMap(const string & alignedSequence,
-        vector<int> & baseToAlignmentMap) {
-    baseToAlignmentMap.resize(alignedSequence.size());
-    int alignedPos, unalignedPos;
-    for (alignedPos=0, unalignedPos=0; 
-         alignedPos < alignedSequence.size();
-         alignedPos++) {
-        if (not (alignedSequence[alignedPos] == ' ' or 
-            alignedSequence[alignedPos] == '-')) {
-            baseToAlignmentMap[unalignedPos] = alignedPos;
-            unalignedPos++;
-        }
-    }
-    baseToAlignmentMap.resize(unalignedPos);
-}
diff --git a/libcpp/alignment/datastructures/alignment/AlignmentMap.hpp b/libcpp/alignment/datastructures/alignment/AlignmentMap.hpp
deleted file mode 100644
index 57752fc..0000000
--- a/libcpp/alignment/datastructures/alignment/AlignmentMap.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _BLASR_ALIGNMENT_MAP_HPP_
-#define _BLASR_ALIGNMENT_MAP_HPP_
-
-#include <vector>
-
-class AlignmentMap {
- public:
-	int qPos, tPos;
-	std::vector<int> alignPos;
-};
-
-
-// Build a map of positions from (unaligned) bases to an aligned sequence
-void 
-CreateSequenceToAlignmentMap(const std::string & alignedSequence,
-        std::vector<int> & baseToAlignmentMap); 
-
-
-#endif // _BLASR_ALIGNMENT_MAP_HPP_
-
diff --git a/libcpp/alignment/datastructures/alignment/AlignmentStats.cpp b/libcpp/alignment/datastructures/alignment/AlignmentStats.cpp
deleted file mode 100644
index 3da5fe5..0000000
--- a/libcpp/alignment/datastructures/alignment/AlignmentStats.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-#include "AlignmentStats.hpp"
-
-using namespace blasr;
-
-AlignmentStats::AlignmentStats() {
-    nMatch = nMismatch = nIns = nDel = 0;
-    pctSimilarity = 0.0;
-    mapQV = 0;
-    score = 0;
-}
-
-AlignmentStats& AlignmentStats::Assign(const AlignmentStats &rhs) {
-    nMatch = rhs.nMatch;						  		
-    nMismatch = rhs.nMismatch;				 
-    nIns = rhs.nIns;							  
-    nDel = rhs.nDel;							  
-    pctSimilarity = rhs.pctSimilarity;
-    score = rhs.score;             
-    return *this;
-}
-
-AlignmentStats& AlignmentStats::operator=(const AlignmentStats &rhs) {
-    Assign(rhs);
-    return *this;
-}   
-
-void AlignmentStats::CopyStats(AlignmentStats rhs) {
-    *this = rhs;
-  }
diff --git a/libcpp/alignment/datastructures/alignment/AlignmentStats.hpp b/libcpp/alignment/datastructures/alignment/AlignmentStats.hpp
deleted file mode 100644
index 7f52e14..0000000
--- a/libcpp/alignment/datastructures/alignment/AlignmentStats.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef _BLASR_ALIGNMENT_STATS_HPP_
-#define _BLASR_ALIGNMENT_STATS_HPP_
-
-namespace blasr {
-class AlignmentStats {
-public:
-    int nMatch;
-    int nMismatch;
-    int nIns;
-    int nDel;	 
-    float pctSimilarity;
-    int score;             
-    int mapQV;
-    AlignmentStats();
-    
-    AlignmentStats &Assign(const AlignmentStats &rhs);
-
-    AlignmentStats& operator=(const AlignmentStats &rhs); 
-
-    void CopyStats(AlignmentStats rhs); 
-
-};
-}
-
-#endif // _BLASR_ALIGNMENT_STATS_HPP_
diff --git a/libcpp/alignment/datastructures/alignment/ByteAlignment.h b/libcpp/alignment/datastructures/alignment/ByteAlignment.h
deleted file mode 100644
index c5c34c9..0000000
--- a/libcpp/alignment/datastructures/alignment/ByteAlignment.h
+++ /dev/null
@@ -1,347 +0,0 @@
-#ifndef DATASTRUCTURES_ALIGNMENT_BYTE_ALIGNMENT_H_
-#define DATASTRUCTURES_ALIGNMENT_BYTE_ALIGNMENT_H_
-#include <vector>
-#include "algorithms/alignment/AlignmentUtils.hpp"
-#include "DNASequence.hpp"
-
-using namespace std;
-/*
- * These arrays are for going from the HDF byte alignment format to characters, or
- * from characters to the upper or lower nybble for translating from character 
- * alignments to byte alignments.
- */
-
-typedef vector<unsigned char> ByteAlignment;
-static char QueryChar[256] = {
-' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', //0	 
-' ', ' ', ' ', ' ', ' ', ' ', 'A', 'A', 'A', 'A', //10	 
-'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', // 20 
-'A', 'A', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', // 30 
-'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', ' ', ' ', // 40 
-' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 50 
-' ', ' ', ' ', ' ', 'G', 'G', 'G', 'G', 'G', 'G', // 60 
-'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', // 70 
-' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 80 
-' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 90 
-' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 100
-' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 110
-' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'T', 'T', // 120
-'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', // 130
-'T', 'T', 'T', 'T', ' ', ' ', ' ', ' ', ' ', ' ', // 140
-' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 150
-' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 160
-' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 170
-' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 180
-' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 190
-' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 200
-' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 210
-' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 220
-' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', // 230
-'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', // 240
-'N', 'N', 'N', 'N', 'N', 'N' 										// 250
-};
-
-static char RefChar[256] = {
-' ', 'A', 'C', ' ', 'G', ' ', ' ', ' ', 'T', ' ', 
-' ', ' ', ' ', ' ', ' ', 'N', ' ', 'A', 'C', ' ', 
-'G', ' ', ' ', ' ', 'T', ' ', ' ', ' ', ' ', ' ', 
-' ', 'N', ' ', 'A', 'C', ' ', 'G', ' ', ' ', ' ', 
-'T', ' ', ' ', ' ', ' ', ' ', ' ', 'N', ' ', 'A', 
-'C', ' ', 'G', ' ', ' ', ' ', 'T', ' ', ' ', ' ', 
-' ', ' ', ' ', 'N', ' ', 'A', 'C', ' ', 'G', ' ', 
-' ', ' ', 'T', ' ', ' ', ' ', ' ', ' ', ' ', 'N', 
-' ', 'A', 'C', ' ', 'G', ' ', ' ', ' ', 'T', ' ', 
-' ', ' ', ' ', ' ', ' ', 'N', ' ', 'A', 'C', ' ', 
-'G', ' ', ' ', ' ', 'T', ' ', ' ', ' ', ' ', ' ', 
-' ', 'N', ' ', 'A', 'C', ' ', 'G', ' ', ' ', ' ', 
-'T', ' ', ' ', ' ', ' ', ' ', ' ', 'N', ' ', 'A', 
-'C', ' ', 'G', ' ', ' ', ' ', 'T', ' ', ' ', ' ', 
-' ', ' ', ' ', 'N', ' ', 'A', 'C', ' ', 'G', ' ', 
-' ', ' ', 'T', ' ', ' ', ' ', ' ', ' ', ' ', 'N', 
-' ', 'A', 'C', ' ', 'G', ' ', ' ', ' ', 'T', ' ', 
-' ', ' ', ' ', ' ', ' ', 'N', ' ', 'A', 'C', ' ', 
-'G', ' ', ' ', ' ', 'T', ' ', ' ', ' ', ' ', ' ', 
-' ', 'N', ' ', 'A', 'C', ' ', 'G', ' ', ' ', ' ', 
-'T', ' ', ' ', ' ', ' ', ' ', ' ', 'N', ' ', 'A', 
-'C', ' ', 'G', ' ', ' ', ' ', 'T', ' ', ' ', ' ', 
-' ', ' ', ' ', 'N', ' ', 'A', 'C', ' ', 'G', ' ', 
-' ', ' ', 'T', ' ', ' ', ' ', ' ', ' ', ' ', 'N', 
-' ', 'A', 'C', ' ', 'G', ' ', ' ', ' ', 'T', ' ', 
-' ', ' ', ' ', ' ', ' ', ' '};
-
-
-
-static unsigned char RefAlignmentByte[256] = {0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  1,  0,  2,  0,  0, 
-																							0,  4,  0,  0,  0,  0,  0,  0, 15,  0, 
-																							0,  0,  0,  0,  8,  0,  0,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  0,  0,  1,  0,  2, 
-																							0,  0,  0,  4,  0,  0,  0,  0,  0,  0, 
-																						   15,  0,  0,  0,  0,  0,  8,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																							0,  0,  0,  0,  0,  0};
-	
-
-static unsigned char QueryAlignmentByte[256] = { 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  16,  0,  32,  0,  0, 
-																								 0,  64,  0,  0,  0,  0,  0,  0, 240,  0, 
-																								 0,  0,  0,  0,  128,  0,  0,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  0,  0,  16,  0,  32, 
-																								 0,  0,  0,  64,  0,  0,  0,  0,  0,  0, 
-																							   240,  0,  0,  0,  0,  0,  128,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 
-																								 0,  0,  0,  0,  0,  0};
-
-
-void MakeReverseComplementByteAlignment(const unsigned char *byteAlignment,
-                                        UInt length,
-                                        unsigned char *byteAlignmentRC) {
-  unsigned char q,t;
-  int i;
-  for (i = 0; i < length; i++) {
-    if (QueryChar[byteAlignment[i]] == ' ') { q = ' '; }
-    else { q = ReverseComplementNuc[QueryChar[byteAlignment[i]]]; }
-
-    if (RefChar[byteAlignment[i]] == ' ') { t = ' '; }
-    else { t = ReverseComplementNuc[RefChar[byteAlignment[i]]]; }
-    
-    byteAlignmentRC[length - i - 1] = QueryAlignmentByte[q] + RefAlignmentByte[t];
-  }
-}
-
-
-void ByteAlignmentToQueryString(const unsigned char* byteAlignment,
-																UInt length,
-																char* charAlignment) {
-	int i;
-	for (i = 0; i < length; i++) {
-		charAlignment[i] = QueryChar[byteAlignment[i]];
-	}
-}
-
-
-void ByteAlignmentToRefString(const unsigned char* byteAlignment,
-															UInt length,
-															char* charAlignment) {
-	int i;
-	for (i = 0; i < length; i++) {
-		charAlignment[i] = RefChar[byteAlignment[i]];
-	}
-}
-
-void RemoveGaps(string &gappedStr, string &ungappedStr) {
-	ungappedStr = gappedStr;
-	int i, i2;
-	i = i2 = 0;
-	for (i = 0;  i < ungappedStr.size(); i++ ){
-		if (ungappedStr[i] != ' ') {
-			ungappedStr[i2] = ungappedStr[i];
-			i2++;
-		}
-	}
-	ungappedStr.resize(i2);
-}
-
-
-void GappedStringsToAlignment(string &gappedQuery, string &gappedRef, Alignment &alignment) {
-int qPos = 0, rPos = 0;
-	int i = 0; // position in alignment string
-	while (i < gappedQuery.size()) {
-		while (i < gappedQuery.size() and (gappedQuery[i] == ' ' or gappedRef[i] == ' ')) {
-			if (gappedQuery[i] != ' ') {
-				qPos++;
-			}
-			if (gappedRef[i] != ' ') {
-				rPos++;
-			}
-			i++;
-		}
-		int queryBlockStart, queryBlockEnd, refBlockStart, refBlockEndl;
-		Block b;
-		b.qPos = qPos;
-		b.tPos = rPos;
-		while (i < gappedQuery.size() and gappedQuery[i] != ' ' and gappedRef[i] != ' ') {
-			i++;
-			qPos++;
-			rPos++;
-		}
-		b.length = qPos - b.qPos;
-		alignment.blocks.push_back(b);
-	}
-}
-
-
-void ByteAlignmentToAlignment(vector<unsigned char> &byteAlignment, Alignment &alignment) {
-	string readSequence, refSequence;
-	readSequence.resize(byteAlignment.size());
-	refSequence.resize(byteAlignment.size());
-	
-	ByteAlignmentToQueryString(&byteAlignment[0], byteAlignment.size(), &readSequence[0]);
-	ByteAlignmentToRefString(&byteAlignment[0], byteAlignment.size(), &refSequence[0]);				
-	GappedStringsToAlignment(readSequence, refSequence, alignment);
-}
-
-void AlignmentToByteAlignment(Alignment &alignment, 
-                              DNASequence &querySeq, DNASequence &refSeq,
-                              vector<unsigned char> &byteAlignment) {
-  string refStr, alignStr, queryStr;
-  CreateAlignmentStrings(alignment, querySeq, refSeq, 
-                         refStr, alignStr, queryStr);
-  byteAlignment.resize(refStr.size());
-  int i;
-  for (i = 0; i < refStr.size(); i++) {
-    byteAlignment[i] = RefAlignmentByte[refStr[i]] + QueryAlignmentByte[queryStr[i]];
-  }
-}
-
-bool IsMatch(vector<unsigned char> &byteAlignment, int i) {
-	if (QueryChar[byteAlignment[i]] != ' ' and 
-			RefChar[byteAlignment[i]] != ' ' and 
-			(QueryChar[byteAlignment[i]] == RefChar[byteAlignment[i]])) {
-		return true;
-	}
-	else {
-		return false;
-	}
-}
-
-void CountStats(vector<unsigned char> &byteAlignment, 
-								int &nMatch, int &nMismatch, int &nIns, int &nDel, 
-								int start=0, int end=-1) {
-	int i;
-	if (end == -1) {
-		end = byteAlignment.size();
-	}
-
-	nMatch = nMismatch = nIns = nDel = 0;
-
-	for (i = start; i < end; i++) {
-		if (QueryChar[byteAlignment[i]] == ' ') {
-			nDel++;
-		}
-		else if (RefChar[byteAlignment[i]] == ' ') {
-			nIns++;
-		}
-		else if (RefChar[byteAlignment[i]] != QueryChar[byteAlignment[i]]) {
-			nMismatch++;
-		}
-		else {
-			nMatch++;
-		}
-	}
-}
-
-int CountBasesInReference(vector<unsigned char> &byteAlignment) {
-	int i;
-	int nBases = 0;
-	for (i = 0; i < byteAlignment.size(); i++) {
-		if (RefChar[byteAlignment[i]] != ' ') {
-			nBases++;
-		}
-	}
-	return nBases;
-}
-
-int CountBasesInQuery(vector<unsigned char> &byteAlignment) {
-	int i;
-	int nBases = 0;
-	for (i = 0; i < byteAlignment.size(); i++) {
-		if (QueryChar[byteAlignment[i]] != ' ') {
-			nBases++;
-		}
-	}
-	return nBases;
-}
-
-int CountNMatches(vector<unsigned char> &byteAlignment) {
-	int nMatches = 0;
-	int i;
-	for (i = 0; i < byteAlignment.size(); i++) {
-		if (IsMatch(byteAlignment, i)) {
-			nMatches++;
-		}
-	}
-	return nMatches;
-}
-
-float ComputePacBioAccuracy(vector<unsigned char> &byteAlignment) {
-	int m, mm, i, d;
-	CountStats(byteAlignment, m, mm, d, i);
-	int readLength = CountBasesInQuery(byteAlignment);
-	return 1 - (1.0*mm + d + i)/readLength;
-}
-
-
-float ComputePercentIdentity(vector<unsigned char> &byteAlignment) {
-	int i;
-	int nMatch = CountNMatches(byteAlignment);
-	return (1.0*nMatch) / byteAlignment.size();
-}
-
-void CreateSequenceToAlignmentMap(vector<unsigned char> &byteAlignment, 
-                                  vector<int> &baseToAlignmentMap) {
-  int alignPos, ungappedAlignPos;
-  int alignmentLength = byteAlignment.size();
-  baseToAlignmentMap.resize(alignmentLength);
-  for (ungappedAlignPos = 0, alignPos = 0; 
-       alignPos < alignmentLength; 
-       alignPos++) {
-
-    if (QueryChar[byteAlignment[alignPos]] != ' ') {
-      baseToAlignmentMap[ungappedAlignPos] = alignPos;
-      ++ungappedAlignPos;
-    }
-  }
-  baseToAlignmentMap.resize(ungappedAlignPos);
-}			
-
-void CreateAlignmentToSequenceMap(vector<unsigned char> &byteAlignment, 
-                                  vector<int> &alignmentToBaseMap) {
-  int alignPos, ungappedAlignPos;
-  int alignmentLength = byteAlignment.size();
-  alignmentToBaseMap.resize(alignmentLength);
-  for (ungappedAlignPos = 0, alignPos = 0; 
-       alignPos < alignmentLength; 
-       alignPos++) {
-    if (QueryChar[byteAlignment[alignPos]] != ' ') {
-      alignmentToBaseMap[alignPos] = ungappedAlignPos;
-      ++ungappedAlignPos;
-    }
-  }
-}			
-
-#endif
diff --git a/libcpp/alignment/datastructures/alignment/CmpFile.cpp b/libcpp/alignment/datastructures/alignment/CmpFile.cpp
deleted file mode 100644
index 9270fc9..0000000
--- a/libcpp/alignment/datastructures/alignment/CmpFile.cpp
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "CmpFile.hpp"
-
-void CmpFile::StoreReadType(std::string &readTypeStringP) {
-    readTypeString = readTypeStringP;
-    readType = ReadType::ParseReadType(readTypeString);
-}
diff --git a/libcpp/alignment/datastructures/alignment/CmpFile.hpp b/libcpp/alignment/datastructures/alignment/CmpFile.hpp
deleted file mode 100644
index 76682e4..0000000
--- a/libcpp/alignment/datastructures/alignment/CmpFile.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef _BLASR_CMP_FILE_HPP_
-#define _BLASR_CMP_FILE_HPP_
-
-#include "reads/ReadType.hpp"
-#include "datastructures/alignment/CmpIndexedStringTable.h"
-#include "saf/AlnGroup.hpp"
-#include "saf/AlnInfo.hpp"
-#include "saf/RefGroup.hpp"
-#include "saf/RefInfo.hpp"
-#include "saf/MovieInfo.hpp"
-#include "Enumerations.h"
-
-#include <vector>
-
-class CmpFile {
- public:
-	int lastRow;
-    std::string readTypeString, index, version, commandLine;
-    ReadType::ReadTypeEnum readType;
-
-    void StoreReadType(std::string &readTypeStringP);
-
-    CmpIndexedStringTable readGroupTable, movieNameTable, refSeqTable;
-    vector<string> colNames;
-    PlatformId platformId;
-    AlnGroup  alnGroup;
-    AlnInfo   alnInfo;
-    RefGroup  refGroup;
-    RefInfo   refInfo;
-    MovieInfo movieInfo;
-};
-
-#endif
diff --git a/libcpp/alignment/datastructures/alignment/CmpIndexedStringTable.h b/libcpp/alignment/datastructures/alignment/CmpIndexedStringTable.h
deleted file mode 100644
index 2530a40..0000000
--- a/libcpp/alignment/datastructures/alignment/CmpIndexedStringTable.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef DATASTRUCTURES_ALIGNMENT_CMP_INDEXED_STRING_TABLE_H_
-#define DATASTRUCTURES_ALIGNMENT_CMP_INDEXED_STRING_TABLE_H_
-
-#include <vector>
-#include <string>
-#include <map>
-using namespace std;
-
-class CmpIndexedStringTable {
- public:
-
-	void resize(int size) {
-		names.resize(size);
-		ids.resize(size);
-	}
-
-	void StoreArrayIndexMap() {
-		int i;
-		for (i = 0; i < ids.size(); i++) {
-			idToArrayIndex[ids[i]] = i;
-		}
-	}
-
-    //
-    // The terminology of Index here is confusing.
-    // Actually 'Index' is equivalent to 'id'. 
-    // Each id represents index of an indexed string.
-    // That's why an id is called an 'Index' in this function.
-    // GetNameAtIndex returns name of an indexed string, 
-    // whose index is the given value
-    //
-	bool GetNameAtIndex(int index, string &name) {
-		map<int,int>::iterator mapIt;
-		mapIt = idToArrayIndex.find(index);
-		if (mapIt != idToArrayIndex.end()) {
-			name = names[mapIt->second];
-			return true;
-		}
-		else {
-			return false;
-		}
-	}
-
-    //
-    // Here 'Id' means indexes of indexed strings, 
-    // 'Index' means index of an 'Id' in ids
-    //
-	bool GetIndexOfId(int id, int &index) {
-		map<int,int>::iterator mapIt;
-		mapIt = idToArrayIndex.find(id);
-		if (mapIt != idToArrayIndex.end()) {
-			index = mapIt->second;
-			return true;
-		}
-		else {
-			return false;
-		}
-	}
-	vector<int> ids;
-	vector<string> names;
-	map<int,int> idToArrayIndex;
-};
-
-
-
-
-#endif
diff --git a/libcpp/alignment/datastructures/alignment/CmpReadGroupTable.h b/libcpp/alignment/datastructures/alignment/CmpReadGroupTable.h
deleted file mode 100644
index 92a070c..0000000
--- a/libcpp/alignment/datastructures/alignment/CmpReadGroupTable.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef DATASTRUCTURES_ALIGNMENT_CMP_READ_GROUP_TABLE_H_
-#define DATASTRUCTURES_ALIGNMENT_CMP_READ_GROUP_TABLE_H_
-
-#include <vector>
-#include <string>
-using namespace std;
-
-class CmpReadGroupTable {
- public:
-	void resize(int size) {
-		readGroupNameIds.resize(size);
-		readGroupNames.resize(size);
-	}
-	vector<int>    readGroupNameIds;
-	vector<string> readGroupNames;
-	int lastRow;
-};
-
-
-
-
-#endif
diff --git a/libcpp/alignment/datastructures/alignment/CmpRefSeqTable.h b/libcpp/alignment/datastructures/alignment/CmpRefSeqTable.h
deleted file mode 100644
index 91caf1b..0000000
--- a/libcpp/alignment/datastructures/alignment/CmpRefSeqTable.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef DATASTRUCTURES_ALIGNMENT_CMP_REF_SEQ_TABLE_H_
-#define DATASTRUCTURES_ALIGNMENT_CMP_REF_SEQ_TABLE_H_
-
-#include <vector>
-#include <string>
-using namespace std;
-
-class CmpRefSeqTable {
- public:
-	void resize(int size) {
-		refSeqNameIds.resize(size);
-		refSeqNames.resize(size);
-	}
-	vector<int> refSeqNameIds;
-	vector<string> refSeqNames;
-	int lastRow;
-};
-
-
-
-
-#endif
diff --git a/libcpp/alignment/datastructures/alignment/FilterCriteria.cpp b/libcpp/alignment/datastructures/alignment/FilterCriteria.cpp
deleted file mode 100644
index 16f4bff..0000000
--- a/libcpp/alignment/datastructures/alignment/FilterCriteria.cpp
+++ /dev/null
@@ -1,371 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  FilterCriteria.h
- *
- *    Description:  Criteria for filtering alignment hits. 
- *
- *        Version:  1.0
- *        Created:  04/14/2015 11:33:00 AM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#include "FilterCriteria.hpp"
-
-Score::Score(const float & value, const ScoreSign & sign)
-    : _value(value)
-    , _sign(sign)
-{ }
-
-Score::Score(const Score & another) 
-    : _value(another._value)
-    , _sign(another._sign)
-{ }
-
-Score::~Score() { }
-
-float Score::Value() const { return _value; }
-
-ScoreSign Score::Sign() const { return _sign; }
-
-bool Score::operator == (const Score & another) const {
-    return (another.Value() - this->_value < errorunit and 
-            another.Value() - this->_value > -errorunit);
-}
-
-bool Score::BetterThan(const Score & another) const {
-    if (this->_value == another.Value()) return false;
-    if (this->_sign == ScoreSign::POSITIVE) return (this->_value > another.Value());
-    else return (this->_value < another.Value());
-}
-
-bool Score::BetterThanOrEqual(const Score & another) const {
-    return BetterThan(another) or ((*this) == another);
-}
-
-bool Score::WorseThan(const Score & another) const {
-    return (not BetterThanOrEqual(another));
-}
-
-/// -----------------------------------------
-/// HitPolicy 
-/// -----------------------------------------
-HitPolicy::HitPolicy(const std::string & hitPolicyStr, const ScoreSign & sign) {
-    // Create a multiple hit policy.
-    std::string str(hitPolicyStr);
-    std::transform(str.begin(), str.end(), str.begin(), ::toupper);
-
-    if (str == "RANDOM")    { _hit = HitPolicyEnum::RANDOM; }
-    else if (str == "ALL")  { _hit = HitPolicyEnum::ALL; }
-    else if (str == "ALLBEST") { _hit = HitPolicyEnum::ALLBEST; }
-    else if (str == "RANDOMBEST") { _hit = HitPolicyEnum::RANDOMBEST; }
-    else if (str == "LEFTMOST") { _hit = HitPolicyEnum::LEFTMOST; }
-    else {
-        std::cout <<"ERROR, the specified multiple hit policy "
-                  << hitPolicyStr <<" is not supported." << std::endl;
-        exit(1);
-    }
-
-    _sign = sign;
-}
-
-HitPolicy::~HitPolicy(void) { }
-
-ScoreSign HitPolicy::Sign() const {
-    return _sign;
-}
-
-bool HitPolicy::IsRandom() const { return _hit == HitPolicyEnum::RANDOM; }
-
-bool HitPolicy::IsRandombest() const { return _hit == HitPolicyEnum::RANDOMBEST; }
-
-bool HitPolicy::IsAll() const {return _hit == HitPolicyEnum::ALL; }
-
-bool HitPolicy::IsAllbest() const {return _hit == HitPolicyEnum::ALLBEST; }
-
-bool HitPolicy::IsLeftmost() const {return _hit == HitPolicyEnum::LEFTMOST; }
-
-const std::string HitPolicy::ToString() const {
-    switch (_hit) {
-        case (HitPolicyEnum::RANDOM)    : return "random";
-        case (HitPolicyEnum::RANDOMBEST): return "randombest";
-        case (HitPolicyEnum::ALL)       : return "all";
-        case (HitPolicyEnum::ALLBEST)   : return "allbest";
-        case (HitPolicyEnum::LEFTMOST)  : return "leftmost";
-        default: {
-            assert(false);
-        }
-    }
-}
-
-std::ostream & HitPolicy::operator << (std::ostream & os) {
-    return os << this->ToString();
-}
-
-const std::string HitPolicy::Help(const std::string & pad) const{
-    std::stringstream ss;
-    ss << "(" << this->ToString() 
-       << ") Specify a policy to treat multiple hits from "
-       << "[all, allbest, random, randombest, leftmost]\n" << pad
-       << "  all       : report all alignments.\n" << pad
-       << "  allbest   : report all equally top scoring alignments.\n"  << pad
-       << "  random    : report a random alignment.\n" << pad
-       << "  randombest: report a random alignment from multiple "
-       << "equally top scoring alignments.\n" << pad
-       << "  leftmost  : report an alignment which has the best alignment" 
-       << "score and has the smallest mapping coordinate in any reference.";
-    return ss.str();
-}
-
-std::vector<T_AlignmentCandidate*> 
-HitPolicy::Apply(const std::vector<T_AlignmentCandidate*> alnPtrs, 
-                 const bool & createRand,
-                 const int  & passedRand) const {
-    // Shallow copy pointers.
-    if (alnPtrs.empty() or IsAll()) return alnPtrs;
-
-    int rint = createRand?rand():passedRand;
-    if (IsRandom()) {
-        return std::vector<T_AlignmentCandidate*>({alnPtrs[rint%alnPtrs.size()]});
-    }
-
-    std::vector<T_AlignmentCandidate*> ret = alnPtrs;
-    // Sort AlignmentCandidate pointers according to score and target start position.
-    ScoreSign sign = this->Sign();
-    std::sort(ret.begin(), ret.end(), SortAlignmentPointersByScore()); 
-
-    // Get the best alignments whose alignment scores are the best.
-    // Assume that input alignments share the same query name and
-    // are sorted by score and tPos asscendingly: worst, ...., best
-    int bestScore = ret[0]->score;
-    ret.erase(std::remove_if(ret.begin(), ret.end(),
-              [&bestScore](const T_AlignmentCandidate* x)->bool{return x->score != bestScore;}),
-              ret.end());
-
-    if (IsAllbest()) {
-        return ret;
-    } else if (IsRandombest()) {
-        return std::vector<T_AlignmentCandidate*>({ret[rint%ret.size()]});
-    } else if (IsLeftmost()) {
-        return std::vector<T_AlignmentCandidate*>({ret[0]});
-    } else {
-        assert("Unsupported hit policy" == 0);
-    }
-}
-
-/*
-std::vector<AlignmentCandidate<>> HitPolicy::Apply(std::vector<AlignmentCandidate<>> & records) const {
-    if (records.empty() or IsALL()) return;
-    sort(records.begin(), records.end(), compareByQNameScoreTStart);
-    assert(records.size() > 0);
-
-    if (IsRandom) {
-        //records = vector<AlignmentCandidate>({records[
-    }
-}
-*/
-
-#ifdef USE_PBBAM
-bool HitPolicy::compareByQNameScoreTStart(const PacBio::BAM::BamRecord & a, const PacBio::BAM::BamRecord & b) const {
-    assert(a.Impl().HasTag(AS) and b.Impl().HasTag(AS));
-    const int aScore = a.Impl().TagValue(AS).ToInt32();
-    const int bScore = b.Impl().TagValue(AS).ToInt32();
-    if (a.FullName() == b.FullName()) {
-        if (aScore == bScore)
-            return a.ReferenceStart() < b.ReferenceEnd();
-        return Score(aScore, _sign).WorseThan(Score(bScore, _sign));
-    }
-    return (a.FullName() < b.FullName());
-}
-
-bool HitPolicy::compareByScoreTStart(const PacBio::BAM::BamRecord & a, const PacBio::BAM::BamRecord & b) const {
-    assert(a.Impl().HasTag(AS) and b.Impl().HasTag(AS));
-    assert(a.FullName() == b.FullName());
-    const int aScore = a.Impl().TagValue(AS).ToInt32();
-    const int bScore = b.Impl().TagValue(AS).ToInt32();
-    if (aScore == bScore)
-        return a.ReferenceStart() < b.ReferenceEnd();
-    return Score(aScore, _sign).WorseThan(Score(bScore, _sign));
-}
-
-std::vector<PacBio::BAM::BamRecord> 
-HitPolicy::Apply(const std::vector<PacBio::BAM::BamRecord> & records,
-                 const bool & createRand,
-                 const int  & passedRand) const {
-    if (records.empty() or IsAll()) return records;
-
-    int rint = createRand?rand():passedRand;
-    //cout << "FilterCriteria " << ", " << records[0].FullName() << ", " << rint << endl;
-    if (IsRandom()) {
-        return std::vector<PacBio::BAM::BamRecord>({records[rint%records.size()]});
-    }
-
-    std::vector<PacBio::BAM::BamRecord> ret = records;
-    // Sort bam records according to score and target start position.
-    ScoreSign sign = this->Sign();
-    std::sort(ret.begin(), ret.end(), 
-              [&sign](const PacBio::BAM::BamRecord & a, 
-                      const PacBio::BAM::BamRecord & b)->bool {
-                      assert(a.Impl().HasTag(AS) and b.Impl().HasTag(AS));
-                      assert(a.FullName() == b.FullName());
-                      const int aScore = a.Impl().TagValue(AS).ToInt32();
-                      const int bScore = b.Impl().TagValue(AS).ToInt32();
-                      if (aScore == bScore) return a.ReferenceStart() < b.ReferenceEnd();
-                      else return Score(aScore, sign).WorseThan(Score(bScore, sign));
-              });
-
-    // Get the best alignments whose alignment scores are the best.
-    // Assume that input alignments share the same query name and
-    // are sorted by score and tPos asscendingly: worst, ...., best
-    int bestScore = ret[0].Impl().TagValue(AS).ToInt32();
-    ret.erase(std::remove_if(ret.begin(), ret.end(),
-              [&bestScore](const PacBio::BAM::BamRecord & x)->bool{return x.Impl().TagValue(AS).ToInt32() != bestScore;}),
-              ret.end());
-
-    if (IsAllbest()) {
-        return ret;
-    } else if (IsRandombest()) {
-        return std::vector<PacBio::BAM::BamRecord>({ret[rint%ret.size()]});
-    } else if (IsLeftmost()) {
-        return std::vector<PacBio::BAM::BamRecord>({ret[0]});
-    } else {
-        assert("Unsupported hit policy" == 0);
-    }
-}
-#endif
-
-/// -----------------------------------------
-/// FilterCriteria
-/// -----------------------------------------
-FilterCriteria::FilterCriteria(const DNALength & minAlnLength,
-                               const float & minPctSimilarity,
-                               const float & minPctAccuracy,
-                               const bool & useScore,
-                               const Score & score)
-    : _minAlnLength(minAlnLength)
-    , _minPctSimilarity(minPctSimilarity)
-    , _minPctAccuracy(minPctAccuracy)
-    , _useScore(useScore)
-    , _scoreCutoff(score)
-    , _verbose(false)
-{ }
-
-FilterCriteria::~FilterCriteria(void) { }
-
-/*
-const std::string FilterCriteria::Help(const std::string & pad) {
-    return std::string (pad + minAlnLengthHelp() +
-                        pad + minPctSimilarityHelp() +
-                        pad + minPctAccuracyHelp() +
-                        pad + scoreSignHelp() + 
-                        pad + scoreCutoffHelp());
-}*/
-
-const std::string FilterCriteria::MinAlnLengthHelp() {
-    return std::string("(") + std::to_string(_minAlnLength) + ") " +
-           "Report alignments only if their lengths are greater than minAlnLength.";
-}
-
-const std::string FilterCriteria::MinPctSimilarityHelp() {
-    return std::string("(") + std::to_string(static_cast<int>(_minPctSimilarity)) + ") " +
-           "Report alignments only if their percentage similairty is greater than minPctSimilarity.";
-}
-
-const std::string FilterCriteria::MinPctAccuracyHelp() {
-    return std::string("(") + std::to_string(static_cast<int>(_minPctAccuracy)) + ") " + 
-           "Report alignments only if their percentage accuray is greater than minAccuracy.";
-}
-
-const std::string FilterCriteria::ScoreSignHelp() {
-    return "(-1) Whether higher or lower scores are better. -1: lower is better; 1: higher is better.";
-}
-
-const std::string FilterCriteria::ScoreCutoffHelp() {
-    return "(INF) Report alignments only if their scores are no worse than score cut off.";
-}
-
-bool FilterCriteria::MakeSane(std::string & errMsg) const{
-    if (_minPctSimilarity > 100 or _minPctSimilarity < 0) {
-        errMsg = "ERROR, minimum similarity not in [0, 100].";
-        return false;
-    }
-    if (_minPctAccuracy > 100 or _minPctAccuracy < 0) {
-        errMsg = "ERROR, minimum accuracy not in [0, 100].";
-        return false;
-    }
-    return true;
-}
-
-void FilterCriteria::Verbose(bool verbose) { _verbose = verbose; }
-
-/*
-template<typename T_TSequence, typename T_QSequence>
-bool FilterCriteria::Satisfy(AlignmentCandidate<T_TSequence, T_QSequence> & a) const;
-//bool FilterCriteria::Satisfy(AlignmentCandidate<> & a) const {
-    float pctAccuracy = 100 * a.nMatch / static_cast<float>(a.nMismatch
-                        + a.nMatch + a.nIns + a.nDel);
-    Score s(a.score, _scoreCutoff.Sign());
-    return Satisfy(a.qAlignedSeqLength, a.pctSimilarity, pctAccuracy, s);
-}
-*/
-
-bool FilterCriteria::Satisfy(const DNALength & alnLength, 
-                             const float & pctSimilarity, 
-                             const float & pctAccuracy,
-                             const Score & score) const {
-    if (alnLength < _minAlnLength) {
-        if (_verbose > 0) 
-            std::cout << "Alignment length " << alnLength << " is too short." << std::endl;
-        return false;
-    } 
-    if (pctSimilarity < _minPctSimilarity) {
-        if (_verbose > 0) 
-            std::cout << "Percentage similarity " << pctSimilarity << " is too low." << std::endl;
-        return false;
-    }
-    if (pctAccuracy < _minPctAccuracy) {
-        if (_verbose > 0)
-            std::cout << "Percentage accuracy " << pctAccuracy << " is too low." << std::endl;
-        return false;
-    }
-    if (_useScore and not score.BetterThanOrEqual(_scoreCutoff)) {
-        if (_verbose) 
-            std::cout << "Alignment score " << score.Value() << " worse than cut off." << std::endl;
-        return false;
-    }
-
-    return true;
-}
-
-#ifdef USE_PBBAM
-bool FilterCriteria::Satisfy(const PacBio::BAM::BamRecord & record) const {
-    assert(record.IsMapped() and record.Impl().HasTag(AS));
-    DNALength alnLength = static_cast<DNALength>(record.Sequence(PacBio::BAM::Orientation::NATIVE, true, true).size());
-    PacBio::BAM::Cigar cigar = record.CigarData();
-
-    uint32_t nMatch = 0, nMismatch = 0, nIns = 0, nDel = 0;
-    for(auto op: cigar) {
-        uint32_t n = op.Length();
-        switch (op.Type()) {
-            case PacBio::BAM::CigarOperationType::SEQUENCE_MATCH: nMatch += n; break;
-            case PacBio::BAM::CigarOperationType::SEQUENCE_MISMATCH: nMismatch += n; break;
-            case PacBio::BAM::CigarOperationType::ALIGNMENT_MATCH: nMismatch += n; break;
-            case PacBio::BAM::CigarOperationType::INSERTION: nIns += n; break;
-            case PacBio::BAM::CigarOperationType::DELETION: nDel += n; break;
-            default: break;
-        }
-    }
-    //TODO: Use = X instead of M in blasr.
-
-    float pctSimilarity = 100 * nMatch / static_cast<float>(alnLength);
-    float pctAccuracy = 100 * nMatch / static_cast<float>(nMismatch + nMatch + nIns + nDel);
-    Score s(static_cast<float>(record.Impl().TagValue("AS").ToInt32()), ScoreSign::NEGATIVE);
-    return Satisfy(alnLength, pctSimilarity, pctAccuracy, s);
-}
-#endif
diff --git a/libcpp/alignment/datastructures/alignment/FilterCriteria.hpp b/libcpp/alignment/datastructures/alignment/FilterCriteria.hpp
deleted file mode 100644
index 778e659..0000000
--- a/libcpp/alignment/datastructures/alignment/FilterCriteria.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-#ifndef _BLASR_FILTER_CRITERIA_HPP_
-#define _BLASR_FILTER_CRITERIA_HPP_
-#include <string>
-#include <iostream>
-#include <vector>
-#include <algorithm> // transform
-#include <ctype.h>   // toupper
-#include "AlignmentCandidate.hpp"
-
-
-/// POSITIVE - larger score value is better.
-/// NEGATIVE - smaller score value is better.
-enum class ScoreSign {NEGATIVE=-1, POSITIVE=1};
-static const std::string AS = "AS";
-
-class Score {
-public:
-    Score(const float & value, const ScoreSign & sign);
-    Score(const Score & another);
-    ~Score();
-
-    /// \returns float score value in [0, 100]
-    float Value() const;
-
-    /// \returns score sign, NEGATIVE or POSITIVE
-    ScoreSign Sign() const;
-
-    bool operator == (const Score & another) const;
-
-    /// \returns true if this score value is better than another's.
-    bool BetterThan(const Score & another) const;
-
-    /// \returns true if this score value is better than or equal to another's.
-    bool BetterThanOrEqual(const Score & another) const; 
-
-    /// \returns true if this score value is worse than another's.
-    bool WorseThan(const Score & another) const;
-
-private:
-    float _value;
-    ScoreSign _sign;
-    static constexpr float errorunit = 1e-6;
-};
-
-class HitPolicy {
-    /// \name Hit Policy
-    /// \{
-public:
-
-    /// \note Constructor
-    HitPolicy(const std::string & hitPolicyStr, const ScoreSign & sign);
-    ~HitPolicy(void);
-
-    const std::string ToString() const;
-    std::ostream & operator << (std::ostream & os);
-
-    /// \returns score sign, NEGATIVE or POSITIVE
-    ScoreSign Sign() const;
-
-    /// \returns a help string describing hit policies.
-    const std::string Help(const std::string & pad = "") const;
-
-    /// \returns true if HitPolicy is RANDOM.
-    bool IsRandom() const;
-
-    /// \returns true if HitPolicy is RANDOMBEST.
-    bool IsRandombest() const;
-
-    /// \returns true if HitPolicy is ALL.
-    bool IsAll() const;
-
-    /// \returns true if HitPolicy is ALLBEST.
-    bool IsAllbest() const;
-
-    /// \returns true if HitPolicy is LEFTMOST.
-    bool IsLeftmost() const;
-
-    /// Apply hit policy on a list of AlignmentCandidate pointers.
-    /// \returns apply hit policy and return alignment candidate pointers.
-    /// \params createRand, call rand() to generate a random number 
-    ///         or use the random number passed from caller.
-    /// \params passedRand, random int passed from caller
-    std::vector<T_AlignmentCandidate*> 
-    Apply(const std::vector<T_AlignmentCandidate*> alnPtrs, 
-          const bool & createRand = true,
-          const int  & passedRand = 0) const;
-
-    //std::vector<AlignmentCandidate<>> & 
-    //Apply(std::vector<AlignmentCandidate<>> & records) const;
-
-#ifdef USE_PBBAM
-    /// Compare aligned bamRecords by query names, scores and target positions.
-    bool compareByQNameScoreTStart(const PacBio::BAM::BamRecord & a, 
-                                   const PacBio::BAM::BamRecord & b) const;
-
-    /// Compare aligned bamRecords by scores and target positions.
-    /// \note BamRecords must share the same query name.
-    bool compareByScoreTStart(const PacBio::BAM::BamRecord & a, 
-                              const PacBio::BAM::BamRecord & b) const;
-
-    std::vector<PacBio::BAM::BamRecord> 
-    Apply(const std::vector<PacBio::BAM::BamRecord> & records,
-          const bool & createRand = true,
-          const int  & passedRand = 0) const;
-#endif
-
-private:
-    enum class HitPolicyEnum{RANDOM, ALL, ALLBEST, RANDOMBEST, LEFTMOST};
-    HitPolicyEnum _hit;
-    ScoreSign _sign;
-    /// \}
-};
-
-class FilterCriteria {
-    /// \name FilterCriteria
-    /// \{
-public:
-    FilterCriteria(const DNALength & minAlnLength,
-                   const float & minPctSimilarity,
-                   const float & minPctAccuracy,
-                   const bool & useScore,
-                   const Score & score); 
-    ~FilterCriteria(void);
-    bool MakeSane(std::string & errMsg) const;
-    void Verbose(bool verbose);
-
-    template<typename T_TSequence, typename T_QSequence>
-    bool Satisfy(AlignmentCandidate<T_TSequence, T_QSequence> * a) const;
-
-#ifdef USE_PBBAM
-    bool Satisfy(const PacBio::BAM::BamRecord & record) const;
-#endif
-
-public:
-    /// \retuns a string describing criteria for filtering alignments.
-    // const std::string Help(const std::string & pad = "");
-    const std::string MinAlnLengthHelp();
-    const std::string MinPctSimilarityHelp();
-    const std::string MinPctAccuracyHelp();
-    const std::string ScoreSignHelp();
-    const std::string ScoreCutoffHelp();
-
-private:
-    DNALength _minAlnLength;
-    float _minPctSimilarity;
-    float _minPctAccuracy;
-    bool _useScore;
-    Score _scoreCutoff;
-    bool _verbose;
-
-    bool Satisfy(const DNALength & alnLength, 
-                 const float & pctSimilarity, 
-                 const float & pctAccuracy,
-                 const Score & score) const;
-    /// \}
-};
-
-template<typename T_TSequence, typename T_QSequence>
-bool FilterCriteria::Satisfy(AlignmentCandidate<T_TSequence, T_QSequence> * a) const {
-    float pctAccuracy = 100 * a->nMatch / static_cast<float>(a->nMismatch
-            + a->nMatch + a->nIns + a->nDel);
-    Score s(a->score, _scoreCutoff.Sign());
-    return Satisfy(a->qAlignedSeqLength, a->pctSimilarity, pctAccuracy, s);
-}
-#endif //_BLASR_FILTER_CRITERIA_HPP_
diff --git a/libcpp/alignment/datastructures/alignment/Path.h b/libcpp/alignment/datastructures/alignment/Path.h
deleted file mode 100644
index a71b605..0000000
--- a/libcpp/alignment/datastructures/alignment/Path.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _BLASR_PATH_H_
-#define _BLASR_PATH_H_
-
-enum Arrow { Diagonal, Up, Left, 
-    AffineInsUp, AffineInsOpen, AffineInsClose,
-    AffineDelLeft, AffineDelOpen, AffineDelClose,
-    AffineHPInsUp, AffineHPInsOpen, AffineHPInsClose,
-    NoArrow,
-    DiagonalXYZ,
-    InsertX,InsertY,InsertZ, // imply diagonal yz/xz/xy
-    DiagonalXY, DiagonalYZ, DiagonalXZ,  // imply insertion of Z/X/Y,
-    //
-    // These are used to denote an affine gap has been closed
-    // from a different matrix.  This is used in OneGap alignment.
-    // 
-    AffineLongDelLeft, AffineLongDelClose, 
-    AffineLongIns, AffineLongInsClose,
-    Star
-};
-
-enum MatrixLabel {Match, AffineHPIns, AffineIns, AffineDel, AffineHPDel};
-
-#endif
diff --git a/libcpp/alignment/datastructures/alignment/SAMToAlignmentCandidateAdapter.cpp b/libcpp/alignment/datastructures/alignment/SAMToAlignmentCandidateAdapter.cpp
deleted file mode 100644
index 32de362..0000000
--- a/libcpp/alignment/datastructures/alignment/SAMToAlignmentCandidateAdapter.cpp
+++ /dev/null
@@ -1,461 +0,0 @@
-#include <algorithm>
-#include "utils/SMRTTitle.hpp"
-#include "SAMToAlignmentCandidateAdapter.hpp"
-
-void InitializeCandidateFromSAM(SAMAlignment &sam,
-                                AlignmentCandidate<> &candidate) {
-  candidate.qName = sam.qName;
-  candidate.tName = sam.rName;
-  candidate.tPos  = sam.pos;
-  candidate.mapQV = sam.mapQV;
-}
-
-int ProcessGap(std::vector<int> &lengths, std::vector<char> &ops, 
-               int &opIndex, int opEnd, blasr::GapList &gaps, 
-               int &qAdvance, int &tAdvance) {
-  //
-  // Default is no gap.
-  //
-  qAdvance = tAdvance = 0;
-  gaps.clear();
-  if (opIndex >= lengths.size()) {
-    return opIndex;
-  }
-
-  //
-  // Look to see if the suffix of operations stars with a gap.
-  //
-  if (ops[opIndex] != 'I' and
-      ops[opIndex] != 'D') {
-    return opIndex;
-  }
-
-  while (opIndex < opEnd and (ops[opIndex] == 'I' or ops[opIndex] == 'D')) {
-    if (ops[opIndex] == 'I') {
-      gaps.push_back(blasr::Gap(blasr::Gap::Target, lengths[opIndex]));
-      qAdvance += lengths[opIndex];
-    }
-    else {
-      assert(ops[opIndex] == 'D');
-      gaps.push_back(blasr::Gap(blasr::Gap::Query, lengths[opIndex]));
-      tAdvance += lengths[opIndex];
-    }
-    opIndex++;
-  }
-  return opIndex;
-}
-
-int AdvancePastClipping(std::vector<int> &lengths,
-                        std::vector<char> &ops,
-                        int &opIndex,
-                        int &numSoftClipped) {
-  int numClipped = 0;
-  numSoftClipped = 0;
-  while (opIndex < lengths.size() and IsClipping(ops[opIndex])) {
-    numClipped += lengths[opIndex];
-    if (ops[opIndex] == 'S') {
-      numSoftClipped+= lengths[opIndex];
-    }
-
-    ++opIndex;
-  }
-  return numClipped;
-}
-
-int AdvancePastSkipped(std::vector<int> &lengths,
-                       std::vector<char> &ops,
-                       int &opIndex) {
-  int numSkipped = 0;
-  while (opIndex < lengths.size() and IsSkipped(ops[opIndex])) {
-    numSkipped += lengths[opIndex];
-    opIndex++;
-  }
-  return numSkipped;
-}
-
-int ProcessMatch(std::vector<int> &lengths, std::vector<char> &ops,
-                  int &opIndex, int opEnd) {
-
-  //
-  // Make sure this starts on some sort of blockn
-  //
-
-  int blockLength = 0;
-  while (opIndex < opEnd and (IsAssignChar(ops[opIndex]))) {
-    blockLength += lengths[opIndex];
-    opIndex++;
-  }
-  return blockLength;
-}
-
-void CIGAROpsToBlocks(std::vector<int> &lengths, std::vector<char> &ops,
-                      int cigarStart,
-                      int cigarEnd,
-                      AlignmentCandidate<> &aln) {
-  cigarStart = 0;
-  cigarEnd   = lengths.size();
-  CIGAROpsToBlocks(lengths, ops, cigarStart, cigarEnd, aln);
-}
-
-int AdvancePosToAlignmentEnd(std::vector<char> &ops, int &pos) {
-  int start = pos;
-  while (pos < ops.size() and ops[pos] != 'N' and !IsClipping(ops[pos])) {
-    pos++;
-  }
-  return pos - start;
-}
-
-int GetAlignedQueryLengthByCIGARSum(std::vector<char> &ops, std::vector<int> &lengths) {
-  int i;
-  for (i = 0; i < ops.size(); i++) {
-    if (ops[i] != 'S' && ops[i] != 'H') {
-      break;
-    }
-  }
-  int queryLength = 0;
-  for (; i < ops.size() && ops[i] != 'S' && ops[i] != 'H'; i++) {
-    if (IsAssignChar(ops[i]) or ops[i] == 'I' or ops[i] == 'N') {
-      queryLength += lengths[i];
-    }
-  }
-  return queryLength;
-}
-
-int GetAlignedReferenceLengthByCIGARSum(std::vector<char> &ops, std::vector<int> &lengths) {
-  int i;
-  for (i = 0; i < ops.size(); i++) {
-    if (ops[i] != 'S' && ops[i] != 'H') {
-      break;
-    }
-  }
-  int refLength = 0;
-  for (; i < ops.size() && ops[i] != 'S' && ops[i] != 'H'; i++) {
-    if (IsAssignChar(ops[i]) or ops[i] == 'D' or ops[i] == 'N') {
-      refLength += lengths[i];
-    }
-  }
-  return refLength;
-}
-
-void CIGAROpsToBlocks(std::vector<int> &lengths, std::vector<char> &ops,
-                      int &cigarPos,
-                      int &cigarEnd,
-                      int &qPos, int &tPos,
-                      AlignmentCandidate<> &aln) {
-
-  int gapIndex = 0;
-  DNALength qStart = qPos, tStart = tPos;
-  assert(cigarPos >= cigarEnd or !IsClipping(ops[cigarPos]));
-
-  //
-  // Advance past any skipped portion.
-  //
-  int numSkipped = AdvancePastSkipped(lengths, ops, cigarPos);
-  tPos += numSkipped;
-
-  //
-  // Process the gaps before the first match.
-  //
-
-  //
-  // If there is nothing left, just bail.
-  blasr::GapList gap;
-
-  cigarEnd = cigarPos;
-  AdvancePosToAlignmentEnd(ops, cigarEnd);
-  if (cigarPos >= cigarEnd) {
-    return;
-  }
-  
-  // 
-  // Process any gap that the aligner produces before the first match
-  // begins.
-  //
-  int qAdvance, tAdvance;
-  ProcessGap(lengths, ops, cigarPos, cigarEnd, gap, qAdvance, tAdvance);
-  aln.gaps.push_back(gap);
-  qPos += qAdvance;
-  tPos += tAdvance;
-  //
-  // Now add gaps.
-  //
-  while(cigarPos < cigarEnd) {
-    //
-    // The next operation must be a match.
-    //
-    int matchLength = ProcessMatch(lengths, ops, cigarPos, cigarEnd);
-    blasr::Block b;
-    b.qPos = qPos - qStart;
-    b.tPos = tPos - tStart;
-    b.length = matchLength;
-    aln.blocks.push_back(b);
-    qPos += b.length;
-    tPos += b.length;
-
-    ProcessGap(lengths, ops, cigarPos, cigarEnd, gap, qAdvance, tAdvance);
-    aln.gaps.push_back(gap);
-    tPos += tAdvance;
-    qPos += qAdvance;
-  }
-  
-}
-
-void SAMAlignmentsToCandidates(SAMAlignment &sam,
-                               std::vector<FASTASequence> &referenceSequences,
-                               std::map<std::string,int> & refNameToRefListIndex,
-                               std::vector<AlignmentCandidate<> > &candidates, 
-                               bool parseSmrtTitle,
-                               bool keepRefAsForward,
-                               bool copyQVs) {
-  //
-  // First determine how many alignments there are from CIGAR string.
-  //
-  std::vector<int> lengths;
-  std::vector<char> ops;
-  sam.cigar.Vectorize(lengths, ops);
-
-  DNASequence querySeq;
-  // For now just reference the query sequence.
-  querySeq.deleteOnExit = false;
-  querySeq.seq = (Nucleotide*) sam.seq.c_str();
-  querySeq.length = sam.seq.size();
-
-  DNALength samTEnd = 0;
-  DNALength samTStart = sam.pos - 1;
-
-  std::vector<std::string> optionalQVs;
-  if (copyQVs) {
-      sam.CopyQVs(&optionalQVs);    
-  }
-  if (keepRefAsForward == false and IsReverseComplement(sam.flag)) {
-    ReverseAlignmentOperations(lengths, ops);
-    DNASequence rcQuerySeq;
-    querySeq.CopyAsRC(rcQuerySeq);
-    //
-    // Zero out the query seq so that the string memory is not
-    // deleted.
-    //
-    querySeq.seq = NULL;
-    querySeq.length = 0;
-    querySeq = rcQuerySeq;
-    rcQuerySeq.Free();
-    samTEnd = GetAlignedReferenceLengthByCIGARSum(ops, lengths);
-    
-    // We also need to reverse any optional QVs
-    if (copyQVs) {
-      for(int i=0; i<optionalQVs.size(); i++) {
-        std::reverse(optionalQVs[i].begin(), optionalQVs[i].end());
-      }
-    }
-  }
-
-
-  int i;
-  int offset = 0;
-  if (ops.size() == 0) {
-    return;
-  }
-  bool alignmentStarted = false;
-  bool onFirstMatch = true;
-  int  curAlignment;
-  
-  //
-  // Advance past any clipping.  This advances in both query and
-  // reference position.
-  //
-  int cigarPos = 0;
-  int qPos = 0; 
-  int tPos = 0;
-
-  DNALength queryPosOffset = 0;
-  if (parseSmrtTitle) {
-    //
-    // The aligned sequence is really a subread of a full
-    // sequence. The position of the aligments start at 0, the
-    // beginning of the query sequence, but in the sam file, they
-    // may appear as subreads, and are offset from the start of the
-    // subread.  By convention, the subread coordinates are embedded
-    // in the title of the query, if it is a smrtTitle. 
-    // Two types of smrtTitle are supported:
-    // movie/zmw/start_end
-    // movie/zmw/start_end/start2_end2
-    SMRTTitle stitle = SMRTTitle(sam.qName);
-
-    if (not stitle.isSMRTTitle) {
-      std::cout << "ERROR. Could not parse title " << sam.qName << std::endl;
-      exit(1);
-    }
-    queryPosOffset = stitle.start;
-  }
-  else if (sam.xs) {
-    queryPosOffset += sam.xs - 1;
-  }
-
-
-  while (cigarPos < lengths.size()) {
-    int numClipped;
-    //
-    // Sequence clipping becomes offsets into the q/t alignedSeqPos
-    //
-
-
-    int numSoftClipped;
-    numClipped = AdvancePastClipping(lengths, ops, cigarPos, numSoftClipped);
-
-    //
-    // End loop now.
-    //
-    if (cigarPos >= lengths.size()) {
-      break;
-    }
-    qPos += numSoftClipped;
-
-    //
-    // Skipped sequences are just advances in the tPos.
-    //
-    int numSkipped = AdvancePastSkipped(lengths, ops, cigarPos);
-    tPos += numSkipped;
-
-    if (cigarPos >= lengths.size()) {
-      break;
-    }
-
-
-    AlignmentCandidate<> alignment;
-    //
-    // The aligned sequence must start at a match therefore the tpos
-    // and qpos are 0.
-    //
-    alignment.qPos = 0;
-    alignment.tPos = 0;
-
-    // qAlignStart is the start of the alignment relative to the sequence in the SAM file.
-    DNALength qAlignStart = qPos;
-    // tAlignStart is the start of the alignment in the genome.
-    DNALength tAlignStart = tPos;
-    
-    int cigarEnd = cigarPos;
-    AdvancePosToAlignmentEnd(ops, cigarEnd);
-
-    CIGAROpsToBlocks(lengths, ops,          
-                     cigarPos, cigarEnd,
-                     qPos, tPos,
-                     alignment);
-
-
-    DNALength queryLengthSum = GetAlignedQueryLengthByCIGARSum(ops, lengths);
-    DNALength refLengthSum   = GetAlignedReferenceLengthByCIGARSum(ops, lengths);
-    alignment.qAlignedSeqLength = qPos - qAlignStart;
-    alignment.tAlignedSeqLength = tPos - tAlignStart;
-
-    //
-    // Assign candidate sequences.
-    //
-    // First, the query sequence is straight from the SAM line.
-    ((DNASequence*)&alignment.qAlignedSeq)->Copy(querySeq, qAlignStart, alignment.qAlignedSeqLength);
-    if (copyQVs) {
-      alignment.ReadOptionalQVs(optionalQVs, qAlignStart, alignment.qAlignedSeqLength);
-    }
-    
-    // The SAM Alignments a
-    alignment.qStrand = IsReverseComplement(sam.flag);
-    alignment.tStrand = 0;
-    alignment.mapQV   = sam.mapQV;
-
-    //
-    // Assign the offsets into the original sequence where the
-    // subsequence starts.
-    //
-
-    alignment.qAlignedSeqPos = queryPosOffset + qAlignStart;    
-    alignment.tAlignedSeqPos = samTStart + tAlignStart;
-    
-    if (sam.rName == "*") {
-      //
-      // No reference, do not add the alignment to the list of
-      // candidates.
-      //
-      continue;
-    }
-    else {
-      int refIndex;
-      int s = refNameToRefListIndex.size();
-      if (refNameToRefListIndex.find(sam.rName) == refNameToRefListIndex.end()) {
-        std::cout <<" ERROR.  SAM Reference " << sam.rName << " is not found in the list of reference contigs." << std::endl;
-        exit(1);
-      }
-      
-      refIndex = refNameToRefListIndex[sam.rName];
-     
-      alignment.tLength = referenceSequences[refIndex].length;
-      alignment.qLength = sam.seq.size(); 
-      alignment.qName = sam.qName;
-      alignment.tName = sam.rName;
-
-
-      if (keepRefAsForward == false and alignment.qStrand == 1) {
-
-        //
-        // Now that the reference sequence has been copied, if it is
-        // on the reverse strand, make the reverse complement for
-        // proper printing.
-        //
-        alignment.tAlignedSeqPos = samTStart + (samTEnd - tAlignStart - alignment.tAlignedSeqLength);
-		if (alignment.tAlignedSeqLength > referenceSequences[refIndex].length ||
-			alignment.tAlignedSeqPos    > referenceSequences[refIndex].length ||
-			alignment.tAlignedSeqLength + alignment.tAlignedSeqPos > referenceSequences[refIndex].length + 2) {
-            //alignment.tAlignedSeqPos is 1 based and unsigned.
-			std::cout << "WARNING. The mapping of read " << alignment.qName  
-				 << " to reference "      << alignment.tName 
-                 << " is out of bounds."  << std::endl
-                 << "         StartPos (" << alignment.tAlignedSeqPos  
-                 << ") + AlnLength (" << alignment.tAlignedSeqLength 
-                 << ") > RefLength (" << referenceSequences[refIndex].length
-                 << ") + 2 "          << std::endl;
-            continue;
-		}
-        ((DNASequence*)&alignment.tAlignedSeq)->Copy(referenceSequences[refIndex], alignment.tAlignedSeqPos, alignment.tAlignedSeqLength);             
-        alignment.tAlignedSeq.ReverseComplementSelf();
-        // either ref or read is defined as being in the forward
-        // orientation.  Here, since refAsForward is false, the read
-        // is forward.  Since the read is forward, the aligned
-        // sequences are stored as the reverse complement of the read
-        // and the references.
-        //
-        alignment.tStrand = 1;
-        alignment.qStrand = 0;
-      }
-      else {
-        if (alignment.tAlignedSeqLength > referenceSequences[refIndex].length ||
-			alignment.tAlignedSeqPos    > referenceSequences[refIndex].length ||
-			alignment.tAlignedSeqLength + alignment.tAlignedSeqPos > referenceSequences[refIndex].length + 2) {
-            //alignment.tAlignedSeqPos is 1 based and unsigned. 
-			std::cout << "WARNING. The mapping of read " << alignment.qName  
-				 << " to reference "      << alignment.tName 
-                 << " is out of bounds."  << std::endl
-                 << "         StartPos (" << alignment.tAlignedSeqPos  
-                 << ") + AlnLength (" << alignment.tAlignedSeqLength 
-                 << ") > RefLength (" << referenceSequences[refIndex].length
-                 << ") + 2 "          << std::endl;
-            continue;
-		}
-        ((DNASequence*)&alignment.tAlignedSeq)->Copy(referenceSequences[refIndex], 
-                                                     alignment.tAlignedSeqPos, 
-                                                     alignment.tAlignedSeqLength);
-      }
-    }
-
-    if (alignment.blocks.size() > 0) {
-      candidates.push_back(alignment);
-    }
-  }
-  if (candidates.size() > 0 and keepRefAsForward == false and candidates[0].tStrand == 1) {
-    std::reverse(candidates.begin(), candidates.end());
-  }
-  querySeq.Free();
-}
-
-void ReverseAlignmentOperations(std::vector<int> &lengths, std::vector<char> &ops) {
-  reverse(lengths.begin(), lengths.end());
-  reverse(ops.begin(), ops.end());
-}
diff --git a/libcpp/alignment/datastructures/alignment/SAMToAlignmentCandidateAdapter.hpp b/libcpp/alignment/datastructures/alignment/SAMToAlignmentCandidateAdapter.hpp
deleted file mode 100644
index 344aa60..0000000
--- a/libcpp/alignment/datastructures/alignment/SAMToAlignmentCandidateAdapter.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-#ifndef _BLASR_SAM_TO_ALIGNMENT_CANDIDATE_ADAPTER_HPP_
-#define _BLASR_SAM_TO_ALIGNMENT_CANDIDATE_ADAPTER_HPP_
-
-#include <map>
-
-#include "sam/SAMAlignment.hpp"
-#include "sam/SAMFlag.h"
-#include "datastructures/alignment/AlignmentCandidate.hpp"
-
-void InitializeCandidateFromSAM(SAMAlignment &sam,
-                                AlignmentCandidate<> &candidate);
-
-//
-// Change a list of gap operations into a gap structure between
-// blocks. 
-//
-int ProcessGap(std::vector<int> &lengths, std::vector<char> &ops, 
-               int &opIndex, int opEnd, blasr::GapList &gaps, 
-               int &qAdvance, int &tAdvance);
-
-inline bool IsClipping(char c) {
-  return (c == 'S' or c == 'H');
-}
-
-inline int IsSkipped(char c) {
-  return c == 'N';
-}
-//
-//
-// Returns true if the corresponding characters are assigned to each
-// other in the alignment.  This is either a match or a mismatch.
-//
-
-inline bool IsAssignChar(char c) {
-  return (c == 'M' or c == 'X' or c == '=');
-}
-
-int AdvancePastClipping(std::vector<int> &lengths,
-                        std::vector<char> &ops,
-                        int &opIndex,
-                        int &numSoftClipped);
-
-int AdvancePastSkipped(std::vector<int> &lengths,
-                       std::vector<char> &ops,
-                       int &opIndex);
-
-
-
-int ProcessMatch(std::vector<int> &lengths, std::vector<char> &ops,
-                 int &opIndex, int opEnd);
-                 
-
-void CIGAROpsToBlocks(std::vector<int> &lengths, std::vector<char> &ops,
-                      int cigarStart,
-                      int cigarEnd,
-                      AlignmentCandidate<> &aln);
-  
-int AdvancePosToAlignmentEnd(std::vector<char> &ops, int &pos);
-
-int GetAlignedQueryLengthByCIGARSum(std::vector<char> &ops, std::vector<int> &lengths);
-
-int GetAlignedReferenceLengthByCIGARSum(std::vector<char> &ops, std::vector<int> &lengths);
-
-void CIGAROpsToBlocks(std::vector<int> &lengths, std::vector<char> &ops,
-                      int &cigarPos,
-                      int &cigarEnd,
-                      int &qPos, int &tPos,
-                      AlignmentCandidate<> &aln);
-
-void ReverseAlignmentOperations(std::vector<int> &lengths, std::vector<char> &ops);
-
-void SAMAlignmentsToCandidates(SAMAlignment &sam,
-                               std::vector<FASTASequence> &referenceSequences,
-                               std::map<std::string,int> & refNameToRefListIndex,
-                               std::vector<AlignmentCandidate<> > &candidates, 
-                               bool parseSmrtTitle = false,
-                               bool keepRefAsForward = true,
-                               bool copyQVs = false);
-#endif
diff --git a/libcpp/alignment/datastructures/alignmentset/AlignmentSetToCmpH5Adapter.hpp b/libcpp/alignment/datastructures/alignmentset/AlignmentSetToCmpH5Adapter.hpp
deleted file mode 100644
index 9884edc..0000000
--- a/libcpp/alignment/datastructures/alignmentset/AlignmentSetToCmpH5Adapter.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-#ifndef _BLASR_ALIGNMENT_SET_TO_CMPH5_ADAPTER_HPP_
-#define _BLASR_ALIGNMENT_SET_TO_CMPH5_ADAPTER_HPP_
-
-#include "utils/SMRTReadUtils.hpp"
-#include "HDFCmpFile.hpp"
-#include "sam/AlignmentSet.hpp"
-#include "datastructures/alignment/AlignmentCandidate.hpp"
-#include "datastructures/alignment/ByteAlignment.h"
-#include "algorithms/alignment/DistanceMatrixScoreFunction.hpp"
-
-class RefGroupNameId {
- public:
-  std::string name;
-  unsigned int id;
-  RefGroupNameId() {
-    id = 0;
-    name = "";
-  }
-
-  RefGroupNameId(std::string n, unsigned int i) {
-    name = n; id = i;
-  }
-
-  RefGroupNameId(const RefGroupNameId &rhs) {
-    name = rhs.name;
-    id   = rhs.id;
-  }
-};
-
-// number of zmws per SMRTCell for springfield: 163482
-const unsigned int numZMWsPerMovieSpringField = 163482; 
-
-template<typename T_CmpFile>
-class AlignmentSetToCmpH5Adapter {
-public:
-  // Map reference name to reference group (/RefGroup) name and ID.
-  std::map<std::string, RefGroupNameId> refNameToRefGroupNameandId;
-  std::map<std::string, unsigned int> knownMovies;
-  std::map<std::string, unsigned int> knownPaths;
-  unsigned int numAlignments;
-  std::map<std::string, int> refNameToRefInfoIndex;
- 
-  void Initialize() {
-      numAlignments = 0;
-  }
-
-  template<typename T_Reference>
-  void StoreReferenceInfo(std::vector<T_Reference> &references,
-                          T_CmpFile &cmpFile);
-
-  unsigned int StoreMovieInfo(std::string movieName, T_CmpFile &cmpFile);
-
-
-  // Given a reference name, find whether there exists a refGroup 
-  // (e.g. /ref000001) associated with it. 
-  // If not, create a refGroup and update refNameToRefGroupNameandId. 
-  // Finally, return its associated refGroup ID.
-  unsigned int StoreRefGroup(std::string refName, T_CmpFile & cmpFile);
-
-  unsigned int StorePath(std::string & path, T_CmpFile &cmpFile);
-
-  void RemoveGapsAtEndOfAlignment(AlignmentCandidate<> &alignment);
-
-  void StoreAlignmentCandidate(AlignmentCandidate<> &alignment, 
-                               int alnSegment,
-                               T_CmpFile &cmpFile,
-                               int moleculeNumber = -1,
-                               bool copyQVs=false);
-
-  void StoreAlignmentCandidateList(std::vector<AlignmentCandidate<> > &alignments,
-                                   T_CmpFile &cmpFile,
-                                   int moleculeNumber=-1,
-                                   bool copyQVs=false);
-
-  void StoreAlignmentCandidate(AlignmentCandidate<> alignment, 
-                               T_CmpFile &cmpFile) {
-    StoreAlignmentCandidate(alignment, 0, cmpFile);
-  }
-
-};
-
-#include "AlignmentSetToCmpH5AdapterImpl.hpp"
-
-#endif
diff --git a/libcpp/alignment/datastructures/alignmentset/AlignmentSetToCmpH5AdapterImpl.hpp b/libcpp/alignment/datastructures/alignmentset/AlignmentSetToCmpH5AdapterImpl.hpp
deleted file mode 100644
index 6604930..0000000
--- a/libcpp/alignment/datastructures/alignmentset/AlignmentSetToCmpH5AdapterImpl.hpp
+++ /dev/null
@@ -1,256 +0,0 @@
-#ifndef _BLASR_ALIGNMENT_SET_TO_CMPH5_ADAPTER_IMPL_HPP_
-#define _BLASR_ALIGNMENT_SET_TO_CMPH5_ADAPTER_IMPL_HPP_
-
-#include "AlignmentSetToCmpH5AdapterImpl.hpp"
-
-template<typename T_CmpFile>
-unsigned int AlignmentSetToCmpH5Adapter<T_CmpFile>::StoreMovieInfo(
-        std::string movieName, T_CmpFile &cmpFile) {
-
-  std::map<std::string, unsigned int>::iterator mapIt;
-  mapIt = knownMovies.find(movieName);
-  if (mapIt != knownMovies.end()) {
-      return mapIt->second;
-  }
-  else {
-      unsigned int id = cmpFile.movieInfoGroup.AddMovie(movieName);
-      knownMovies[movieName] = id;
-      return id;
-  }
-}
-
-template<typename T_CmpFile>
-template<typename T_Reference>
-void AlignmentSetToCmpH5Adapter<T_CmpFile>::StoreReferenceInfo(
-    std::vector<T_Reference> &references, T_CmpFile &cmpFile) {
-  for (int r = 0; r < references.size(); r++) {
-    std::string sequenceName, md5;
-    sequenceName = references[r].GetSequenceName();
-    md5 = references[r].GetMD5();
-    unsigned int length = references[r].GetLength();
-
-    // Add this reference to /RefInfo. 
-    // Don't create /ref0000x and register it in /RefGroup at this point, 
-    // because this reference may not map to any alignments at all. 
-    cmpFile.AddRefInfo(sequenceName, length, md5);
-
-    // Update refNameToRefInfoIndex
-    if (refNameToRefInfoIndex.find(sequenceName) != refNameToRefInfoIndex.end()) {
-      cout << "ERROR. Reference name " << sequenceName 
-            << " is not unique." << endl;
-      exit(1);
-    }
-    refNameToRefInfoIndex[sequenceName] = r;
-  }
-}
-
-template<typename T_CmpFile>
-unsigned int AlignmentSetToCmpH5Adapter<T_CmpFile>::StoreRefGroup(
-        std::string refName, T_CmpFile & cmpFile) {
-  // Find out whether there is a refGroup associated with refName.
-  std::map<std::string, RefGroupNameId>::iterator mapIt;
-  mapIt = refNameToRefGroupNameandId.find(refName);
-  if (mapIt != refNameToRefGroupNameandId.end()) {
-    // An existing refGroup is associated with this refName. 
-    return mapIt->second.id;
-  } else {
-    // No refGroup is associated with refName, create one.
-    int refInfoIndex = refNameToRefInfoIndex[refName];
-    unsigned int refInfoId = refInfoIndex + 1;
-
-    std::string refGroupName;
-    unsigned int refGroupId = cmpFile.AddRefGroup(refName, refInfoId, refGroupName);  
-
-    // Update refNameToRefGroupNameandId.
-    refNameToRefGroupNameandId[refName] = RefGroupNameId(refGroupName, refGroupId);
-    return refGroupId;
-  }
-}
-
-template<typename T_CmpFile>
-unsigned int AlignmentSetToCmpH5Adapter<T_CmpFile>::StorePath(
-      std::string & path, T_CmpFile &cmpFile) {
-  if (knownPaths.find(path) != knownPaths.end()) {
-    return knownPaths[path];
-  }
-  else {
-    unsigned int id = cmpFile.alnGroupGroup.AddPath(path);
-    knownPaths[path] = id;
-    return id;
-  }
-}
-
-template<typename T_CmpFile>
-void AlignmentSetToCmpH5Adapter<T_CmpFile>::RemoveGapsAtEndOfAlignment(AlignmentCandidate<> &alignment) {
-  int numEndDel = 0, numEndIns = 0;
-  if (alignment.gaps.size() > 0) {
-    int lastGap = alignment.gaps.size() - 1;
-    int g;
-    for (g = 0; g < alignment.gaps[lastGap].size(); g++) {
-      if (alignment.gaps[lastGap][g].seq == Gap::Target) {
-        numEndIns += alignment.gaps[lastGap][g].length;
-      }
-      else if (alignment.gaps[lastGap][g].seq == Gap::Query) {
-        numEndDel += alignment.gaps[lastGap][g].length;
-      }
-    }
-  }
-  alignment.qAlignedSeqLength -= numEndIns;
-  alignment.tAlignedSeqLength -= numEndDel;
-}
-
-template<typename T_CmpFile>
-void AlignmentSetToCmpH5Adapter<T_CmpFile>::StoreAlignmentCandidate(
-    AlignmentCandidate<> &alignment, 
-    int alnSegment,
-    T_CmpFile &cmpFile,
-    int moleculeNumber,
-    bool copyQVs) {
-  //
-  // Find out where the movie is going to get stored.
-  //
-  std::string movieName;
-  int holeNumber = 0;
-  bool nameParsedProperly;
-  
-  nameParsedProperly = ParsePBIReadName(alignment.qName, movieName, holeNumber);
-  if (!nameParsedProperly) {
-    std::cout <<"ERROR. Attempting to store a read with name " 
-          << alignment.qName << " that does not " << std::endl
-          << "appear to be a PacBio read." << std::endl;
-    exit(1);
-  }
-
-  unsigned int movieId = StoreMovieInfo(movieName, cmpFile);
-
-  // Check whether the reference is in /RefInfo.
-  std::map<std::string, int>::iterator mapIt;
-  mapIt = refNameToRefInfoIndex.find(alignment.tName);
-  if (mapIt == refNameToRefInfoIndex.end()) {
-    std::cout << "ERROR. The reference name " << alignment.tName 
-          << " was not found in the list of references." << std::endl;
-    std::cout << "Perhaps a different reference file was aligned to than " << std::endl
-          << "what was provided for SAM conversion. " << std::endl;
-    exit(1);
-  } 
-
-  // Store refGroup
-  unsigned int refGroupId = StoreRefGroup(alignment.tName, cmpFile);
-  std::string refGroupName = refNameToRefGroupNameandId[alignment.tName].name; 
-  assert(refGroupId  == refNameToRefGroupNameandId[alignment.tName].id);
-
-  if (cmpFile.refGroupIdToArrayIndex.find(refGroupId) == cmpFile.refGroupIdToArrayIndex.end()) {
-    std::cout << "ERROR. The reference ID is not indexed. " 
-          << "This is an internal inconsistency." << std::endl;
-    exit(1);
-  }
-
-  int    refGroupIndex= cmpFile.refGroupIdToArrayIndex[refGroupId];
-  assert(refGroupIndex + 1 == refGroupId);
-
-  std::string path = "/" + refGroupName + "/" + movieName;
-  unsigned int pathId = StorePath(path, cmpFile);
-  int pathIndex = pathId - 1;
-
-  vector<unsigned int> alnIndex;
-  alnIndex.resize(22);
-
-  RemoveGapsAtEndOfAlignment(alignment);
-
-  /*
-    * Store the alignment string
-    */
-  vector<unsigned char> byteAlignment;
-  AlignmentToByteAlignment(alignment, 
-                            alignment.qAlignedSeq, alignment.tAlignedSeq,
-                            byteAlignment);
-
-  unsigned int offsetBegin, offsetEnd;
-  cmpFile.StoreAlnArray(byteAlignment, alignment.tName, movieName, offsetBegin, offsetEnd);
-  // Copy QVs into cmp.h5
-  if (copyQVs) {
-    std::vector<std::string> optionalQVs;
-    alignment.CopyQVs(&optionalQVs);
-    for (int qv_i=0; qv_i<optionalQVs.size(); qv_i++) {
-      std::string *qvName = &alignment.optionalQVNames[qv_i];
-      std::string *qvString = &optionalQVs[qv_i];
-      
-      // If the qvString is empty, then the alignment is missing the quality
-      // value
-      if (qvString->size() == 0) {
-        continue;
-      }
-
-      unsigned int qvOffsetBegin, qvOffsetEnd;
-      if (qvName->compare(qvName->size() - 3, 3, "Tag") == 0) {
-        std::vector<char> qvVector;
-        QVsToCmpH5QVs(*qvString, byteAlignment, true, &qvVector);
-        cmpFile.StoreTags(qvVector, alignment.tName, *qvName,
-                          movieName, &qvOffsetBegin, &qvOffsetEnd);
-      } else {
-        std::vector<UChar> qvVector;
-        QVsToCmpH5QVs(*qvString, byteAlignment, false, &qvVector);
-        cmpFile.StoreQVs(qvVector, alignment.tName, *qvName,
-                         movieName, &qvOffsetBegin, &qvOffsetEnd);
-      }
-      assert(qvOffsetBegin == offsetBegin);
-      assert(qvOffsetEnd == offsetEnd);
-    }
-  }
-
-  numAlignments++;
-
-  DistanceMatrixScoreFunction<DNASequence, DNASequence> distScoreFn;
-  //distScoreFn does not matter since the score is not stored.
-  ComputeAlignmentStats(alignment, alignment.qAlignedSeq.seq, alignment.tAlignedSeq.seq, distScoreFn);
-
-  /*
-    The current AlnIndex column names:
-    (0): "AlnID", "AlnGroupID", "MovieID", "RefGroupID", "tStart",
-    (5): "tEnd", "RCRefStrand", "HoleNumber", "SetNumber",
-    (9): "StrobeNumber", "MoleculeID", "rStart", "rEnd", "MapQV", "nM",
-    (15): "nMM", "nIns", "nDel", "Offset_begin", "Offset_end",
-    (20): "nBackRead", "nReadOverlap"
-  */
-  if (moleculeNumber == -1) {
-    moleculeNumber =  numZMWsPerMovieSpringField * (movieId - 1) + holeNumber;
-  }
-  alnIndex[0]  = numAlignments;  // AlnId
-  alnIndex[1]  = pathId;        // AlnGroupID
-  alnIndex[2]  = movieId;    // MovieID
-  alnIndex[3]  = refGroupId; // RefGroupID
-  alnIndex[4]  = alignment.tAlignedSeqPos; // tStart
-  alnIndex[5]  = alignment.tAlignedSeqPos +  alignment.tAlignedSeqLength; // tEnd
-  alnIndex[6]  = alignment.tStrand; // RCRefStrand
-  alnIndex[7]  = holeNumber;
-  alnIndex[8]  = 0; // SET NUMBER -- parse later!!!!
-  alnIndex[9]  = alnSegment; // strobenumber
-  alnIndex[10] = moleculeNumber;
-  alnIndex[11] = alignment.qAlignedSeqPos; 
-  alnIndex[12] = alignment.qAlignedSeqPos + alignment.qAlignedSeqLength;
-  alnIndex[13] = alignment.mapQV;
-  alnIndex[14] = alignment.nMatch;
-  alnIndex[15] = alignment.nMismatch;
-  alnIndex[16] = alignment.nIns;
-  alnIndex[17] = alignment.nDel;
-  alnIndex[18] = offsetBegin;
-  alnIndex[19] = offsetEnd;
-  alnIndex[20] = 0;
-  alnIndex[21] = 0;
-  cmpFile.alnInfoGroup.WriteAlnIndex(alnIndex);
-}
-
-template<typename T_CmpFile>
-void AlignmentSetToCmpH5Adapter<T_CmpFile>::StoreAlignmentCandidateList(
-    std::vector<AlignmentCandidate<> > &alignments,
-    T_CmpFile &cmpFile,
-    int moleculeNumber,
-    bool copyQVs) {
-  
-  int a;
-  for (a = 0; a < alignments.size(); a++) {
-    StoreAlignmentCandidate(alignments[a], a, cmpFile, moleculeNumber, copyQVs);
-  }
-}
-
-#endif
diff --git a/libcpp/alignment/datastructures/alignmentset/SAMQVConversion.cpp b/libcpp/alignment/datastructures/alignmentset/SAMQVConversion.cpp
deleted file mode 100644
index 05e867d..0000000
--- a/libcpp/alignment/datastructures/alignmentset/SAMQVConversion.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-#include <cstddef>
-#include <assert.h>
-#include "FASTQSequence.hpp"
-#include "SAMQVConversion.hpp"
-
-void QualityVectorToPrintable(unsigned char *data, int length) {
-	if (data == NULL) {
-		return;
-	}
-	for (int i = 0; i < length; i++) {
-		data[i] = (((unsigned char)data[i]) == MAX_STORED_QUALITY) ? MAX_PRINTED_QUALITY : (unsigned char)data[i];
-		data[i] = (((unsigned char)data[i]) == SENTINAL) ? MAP_SENTINAL : (unsigned char)data[i];
-		assert(data[i] != 255);
-	}
-}
-
-void QualityStringToStored(unsigned char *data, int length) {
-	if (data == NULL) {
-		return;
-	}
-	for (int i = 0; i < length; i++) {
-		data[i] = data[i] - FASTQSequence::charToQuality;
-		data[i] = ((unsigned char)data[i]) == MAX_PRINTED_QUALITY ? MAX_STORED_QUALITY : (unsigned char)data[i];
-		data[i] = ((unsigned char)data[i]) == MAP_SENTINAL ? SENTINAL : (unsigned char)data[i];
-	}
-}
-
diff --git a/libcpp/alignment/datastructures/alignmentset/SAMQVConversion.hpp b/libcpp/alignment/datastructures/alignmentset/SAMQVConversion.hpp
deleted file mode 100644
index 1a8312f..0000000
--- a/libcpp/alignment/datastructures/alignmentset/SAMQVConversion.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef _BLASR_SAMQVConversion_HPP_
-#define _BLASR_SAMQVConversion_HPP_
-
-
-#define MAX_PRINTED_QUALITY 93
-#define MAX_STORED_QUALITY 100
-#define SENTINAL 255
-#define MAP_SENTINAL 93
-
-
-void QualityVectorToPrintable(unsigned char *data, int length);
-
-void QualityStringToStored(unsigned char *data, int length) ;
-
-#endif
diff --git a/libcpp/alignment/datastructures/alignmentset/SAMSupplementalQVList.cpp b/libcpp/alignment/datastructures/alignmentset/SAMSupplementalQVList.cpp
deleted file mode 100644
index 2f0558e..0000000
--- a/libcpp/alignment/datastructures/alignmentset/SAMSupplementalQVList.cpp
+++ /dev/null
@@ -1,71 +0,0 @@
-#include "SAMSupplementalQVList.hpp"
-
-const char* SupplementalQVList::qvNames[] = {"InsertionQV", "DeletionQV", "SubstitutionQV", "MergeQV", "SubstitutionTag", "DeletionTag"};
-const char* SupplementalQVList::qvTags[] = {"iq", "dq", "sq", "mq", "st", "dt"};
-
-// Only the first 4 tags are quality values.
-int SupplementalQVList::nqvTags = 4;
-int SupplementalQVList::nTags = 6;
-
-int SupplementalQVList::UseQV(std::vector<std::string> &qvList) {
-    int i;
-    useqv = 0;
-    for (i = 0; i < qvList.size(); i++) {
-        int j;
-        for (j = 0; j < nTags; j++) {
-            if (qvList[i] == qvNames[j]) {
-                useqv |= 1 << j;
-                break;
-            }
-        }
-        if (j == nTags) {
-            return 1;
-        }
-    }
-    return 0;
-}
-
-void SupplementalQVList::FormatQVOptionalFields(SMRTSequence &alignedSubsequence) {
-    int i;
-    for (i = 0; i < nqvTags; i++) {
-        if (alignedSubsequence.GetQVPointerByIndex(i+1)->data == NULL) {
-            // mask off this quality value since it does not exist
-            useqv = useqv & ~(1 << i);
-        }
-    }
-    for (i = 0; i < nqvTags; i++) {
-        if (useqv & (1 << i)) {
-            QualityVectorToPrintable(alignedSubsequence.GetQVPointerByIndex(i+1)->data, alignedSubsequence.length);
-        }
-    }
-}
-	
-void SupplementalQVList::PrintQVOptionalFields(SMRTSequence &alignedSubsequence, std::ostream &out) {
-    int i = 0;
-    for (i = 0; i < nqvTags; i++) {
-        if (alignedSubsequence.GetQVPointerByIndex(i+1)->data == NULL) {
-            // mask off this quality value since it does not exist
-            useqv = useqv & ~(1 << i);
-        }
-    }
-    for (i = 0; i < nTags; i++) {
-        if (alignedSubsequence.GetQVPointerByIndex(i+1) != NULL and (useqv & (1 << i)) ) {
-            out << "\t" << qvTags[i] << ":Z:";
-            alignedSubsequence.PrintAsciiRichQuality(out, i + 1, 0);
-        }
-    }
-    if (alignedSubsequence.substitutionTag != NULL and (useqv & SubstitutionTag)) {
-        out << "\t" << qvTags[I_SubstitutionTag-1] << ":Z:";
-        alignedSubsequence.PrintAsciiRichQuality(out, I_SubstitutionTag, 0);
-    }
-    if (alignedSubsequence.deletionTag != NULL and (useqv & DeletionTag)) {
-        out << "\t" << qvTags[I_DeletionTag-1] << ":Z:";
-        alignedSubsequence.PrintAsciiRichQuality(out, I_DeletionTag, 0);
-    }
-}
-
-void SupplementalQVList::clear() {
-    for (int j = 0; j < nTags; j++) {
-        useqv &= 0 << j;
-    }
-}
diff --git a/libcpp/alignment/datastructures/alignmentset/SAMSupplementalQVList.hpp b/libcpp/alignment/datastructures/alignmentset/SAMSupplementalQVList.hpp
deleted file mode 100644
index 1ea8baa..0000000
--- a/libcpp/alignment/datastructures/alignmentset/SAMSupplementalQVList.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef _BLASR_SAMSUPPLEMENTALQVLIST_HPP_
-#define _BLASR_SAMSUPPLEMENTALQVLIST_HPP_
-#include "SMRTSequence.hpp"
-#include "SAMQVConversion.hpp"
-
-class SupplementalQVList {
-public:
-	//enum QVList {InsertionQV=0x1, DeletionQV=0x2, SubstitutionQV=0x4, MergeQV=0x8, SubstitutionTag=0x10, DeletionTag=0x20};
-	//enum QVIndex {I_InsertionQV=1,I_DeletionQV=2,I_SubstitutionQV=3,I_MergeQV=4,I_SubstitutionTag=5,I_DeletionTag=6};
-    //defined in FASTQSequence.
-	unsigned int useqv;
-	void SetDefaultQV() {
-		useqv = InsertionQV | DeletionQV | SubstitutionQV | MergeQV | DeletionTag;
-	}
-	static const char* qvTags[];
-	static const char* qvNames[];
-	static int nqvTags;
-	static int nTags;
-
-	int UseQV(std::vector<std::string> &qvList);
-   	void FormatQVOptionalFields(SMRTSequence &alignedSubsequence);
-    	
-	void PrintQVOptionalFields(SMRTSequence &alignedSubsequence, std::ostream &out);
-    void clear();
-};
-
-#endif
diff --git a/libcpp/alignment/datastructures/anchoring/AnchorParameters.cpp b/libcpp/alignment/datastructures/anchoring/AnchorParameters.cpp
deleted file mode 100644
index 8b435b9..0000000
--- a/libcpp/alignment/datastructures/anchoring/AnchorParameters.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-#include "AnchorParameters.hpp"
-
-AnchorParameters::AnchorParameters() {
-    branchQualityThreshold = 0;
-    minMatchLength         = 0;
-    maxMatchScore          = 0;
-    expand                 = 0;
-    contextAlignLength     = 0;
-    useLookupTable         = true;
-    numBranches            = 0;
-    maxAnchorsPerPosition  = 1000;
-    advanceExactMatches    = 0;
-    maxLCPLength           = 0; // 0 Defaults to full lcp length
-    stopMappingOnceUnique  = false;
-    removeEncompassedMatches=false;
-    verbosity              = 0;
-    lcpBoundsOutPtr        = NULL;
-    branchExpand           = 0;
-}
-
-AnchorParameters &AnchorParameters::Assign(const AnchorParameters &rhs) {
-    //
-    // Manually handle assignment in case there is some deep copy
-    // that is necessary eventually.
-    //
-    branchQualityThreshold = rhs.branchQualityThreshold;
-    minMatchLength         = rhs.minMatchLength;
-    maxMatchScore          = rhs.maxMatchScore;
-    expand                 = rhs.expand;
-    contextAlignLength     = rhs.contextAlignLength;
-    numBranches            = rhs.numBranches;
-    maxAnchorsPerPosition  = rhs.maxAnchorsPerPosition;
-    advanceExactMatches    = rhs.advanceExactMatches;
-    maxLCPLength           = rhs.maxLCPLength;
-    stopMappingOnceUnique  = rhs.stopMappingOnceUnique;
-    verbosity              = rhs.verbosity;
-    removeEncompassedMatches= rhs.removeEncompassedMatches;
-    branchExpand           = rhs.branchExpand;
-    return *this;
-}
-
-AnchorParameters &AnchorParameters::operator=(const AnchorParameters &rhs) {
-    return this->Assign(rhs);
-}
diff --git a/libcpp/alignment/datastructures/anchoring/AnchorParameters.hpp b/libcpp/alignment/datastructures/anchoring/AnchorParameters.hpp
deleted file mode 100644
index 8ca5474..0000000
--- a/libcpp/alignment/datastructures/anchoring/AnchorParameters.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef _BLASR_ANCHOR_PARAMETERS_HPP_
-#define _BLASR_ANCHOR_PARAMETERS_HPP_
-
-#include <fstream>
-#include <iostream>
-#include "qvs/QualityValue.hpp"
-#include "DNASequence.hpp"
-
-class AnchorParameters {
-public:
-    QualityValue branchQualityThreshold;
-    int minMatchLength;
-    int maxMatchScore;
-    int expand;
-    int contextAlignLength;
-    bool useLookupTable;
-    int numBranches;
-    int maxAnchorsPerPosition;
-    int advanceExactMatches;
-    int maxLCPLength;
-    bool stopMappingOnceUnique;
-    int verbosity;
-    bool removeEncompassedMatches;
-    std::ostream *lcpBoundsOutPtr;
-    int branchExpand;
-
-    AnchorParameters(); 
-
-    AnchorParameters &Assign(const AnchorParameters &rhs);
-
-    AnchorParameters &operator=(const AnchorParameters &rhs); 
-};
-
-
-#endif // _BLASR_ANCHOR_PARAMETERS_HPP_
diff --git a/libcpp/alignment/datastructures/anchoring/ClusterList.cpp b/libcpp/alignment/datastructures/anchoring/ClusterList.cpp
deleted file mode 100644
index f562ed6..0000000
--- a/libcpp/alignment/datastructures/anchoring/ClusterList.cpp
+++ /dev/null
@@ -1,75 +0,0 @@
-#include "datastructures/anchoring/ClusterList.hpp"
-
-ClusterList::ClusterList() {
-    lowerSizeLimit = 20;
-    lowerSizeLimitNumAnchors = 1;
-    curp = cure = 0;
-    onContigStart = true;
-    curIndex = 0;
-}
-
-void ClusterList::Clear() {
-    onContigStart = true;
-    numBases.clear();
-    startPos.clear();
-    numAnchors.clear();
-}
-
-bool ClusterList::Store(int n, DNALength p, DNALength e, int b) {
-    bool intervalIsEclipsed = true;
-    bool intervalEclipses   = false;
-    if (onContigStart == true) {
-        curp = p;
-        cure = e;
-        intervalIsEclipsed = false;      
-    }
-    else {
-        if (curp <= p and cure >= e) {
-            intervalIsEclipsed = true;
-        }
-        else {
-            if (p <= curp and e >= cure) {
-                intervalEclipses = true;
-            }
-            intervalIsEclipsed = false;
-        }
-    }
-    if (intervalIsEclipsed == false) {
-        //
-        // The current interval is unique: it does not eclipse any 
-        // other intervals and is not eclipsed by any.
-        //
-        if (n >= lowerSizeLimit) {
-            if (intervalEclipses == false or onContigStart) {
-                numBases.push_back(n);
-                startPos.push_back(p);
-                numAnchors.push_back(b);
-                onContigStart = false;
-                //
-                // Record where the last interval is.  Since ther intervals
-                // are sorted by position, only need to compare against the
-                // current interval to make sure they are not overlapping
-                // other intervals.
-                //
-                curp = p; cure = e;
-            }
-            else {
-                //
-                // The new interval eclipses the last one added.
-                //
-                if (n > numBases[numBases.size()-1]) {
-                    numBases[numBases.size()-1] = n;
-                    startPos[startPos.size()-1] = p;
-                    numAnchors[numAnchors.size()-1] = b;
-                    curp = p; cure = e;
-                }
-            }
-        }
-    }
-    return !intervalIsEclipsed;
-}
-
-void ClusterList::ResetCoordinates() {
-    onContigStart = true;
-}
-
diff --git a/libcpp/alignment/datastructures/anchoring/ClusterList.hpp b/libcpp/alignment/datastructures/anchoring/ClusterList.hpp
deleted file mode 100644
index 055446f..0000000
--- a/libcpp/alignment/datastructures/anchoring/ClusterList.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef _BLASR_CLUSTER_LIST_HPP_
-#define _BLASR_CLUSTER_LIST_HPP_
-
-#include <vector>
-#include "DNASequence.hpp"
-
-class ClusterList {
-public:
-    std::vector<int> numBases;
-    std::vector<int> numAnchors;
-    std::vector<unsigned int> startPos;
-    std::vector<int> indices;
-    int lowerSizeLimit;
-    int lowerSizeLimitNumAnchors;
-    DNALength curp, cure; // cur - p, and cur - e.
-    int curIndex;
-    bool onContigStart;
-
-    ClusterList();
-    void Clear();
-    bool Store(int n, DNALength p, DNALength e, int b);
-    void ResetCoordinates();
-};
-
-#endif
diff --git a/libcpp/alignment/datastructures/anchoring/MatchPos.cpp b/libcpp/alignment/datastructures/anchoring/MatchPos.cpp
deleted file mode 100644
index e6d7ec3..0000000
--- a/libcpp/alignment/datastructures/anchoring/MatchPos.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-#include "MatchPos.hpp"
-
-
-MatchPos::MatchPos(const MatchPos &rhs) {
-    (*this) = rhs;
-}
-
-int MatchPos::GetMultiplicity() const {
-    return m;
-}
-
-MatchWeight MatchPos::GetWeight() const {
-    if (m > 0) {
-        return (1.0*l)/m;
-    } else {
-        return 0;
-    }
-}
-
-UInt MatchPos::GetT() {
-    return t;
-}
-
-UInt MatchPos::GetQ() {
-    return (UInt) q;
-}
-
-UInt MatchPos::GetW() {
-    return w;
-}
-
-std::ostream& operator<<(std::ostream & out, MatchPos &p) {
-    out << p.q << "\t" << p.t <<"\t"<< p.l << "\t"<< p.m;
-    return out;
-}
-
-
-ChainedMatchPos::ChainedMatchPos(DNALength pt, DNALength pq, DNALength pl, int pm) : MatchPos(pt, pq, pl, pm) {
-    score = 0; 
-    chainPrev = NULL;
-}
-
-ChainedMatchPos::ChainedMatchPos() : MatchPos() {
-    score = 0;
-    chainPrev = NULL;
-}
-
-int ChainedMatchPos::SetScore(int _score) {
-    return (score = _score);
-}
-
-ChainedMatchPos* ChainedMatchPos::SetChainPrev(ChainedMatchPos *_chainPrev) {
-    return (chainPrev = _chainPrev);
-}
-
-std::ostream& operator<<(std::ostream & out, ChainedMatchPos &p) {
-    out << p.q << "\t" << p.t <<"\t"<< p.l << "\t"<< p.m;
-    return out;
-}
diff --git a/libcpp/alignment/datastructures/anchoring/MatchPos.hpp b/libcpp/alignment/datastructures/anchoring/MatchPos.hpp
deleted file mode 100644
index 513b3d2..0000000
--- a/libcpp/alignment/datastructures/anchoring/MatchPos.hpp
+++ /dev/null
@@ -1,192 +0,0 @@
-#ifndef _BLASR_MATCH_POS_HPP_
-#define _BLASR_MATCH_POS_HPP_
-
-#include <vector>
-#include <algorithm>
-#include <ostream>
-#include "Types.h"
-#include "DNASequence.hpp"
-
-class MatchPos {
-public:
-    DNALength t, q;
-    MatchWeight w;
-    DNALength l;
-    int m; // multiplicity
-
-    inline MatchPos(DNALength pt, DNALength pq, DNALength pl, int pm = 0); 
-
-    MatchPos (const MatchPos &rhs); 
-
-    inline MatchWeight Size(); 
-
-    inline MatchPos(); 
-
-    inline MatchPos& operator=(const MatchPos &rhs); 
-
-    inline DNALength GetLength() const; 
-    
-    int GetMultiplicity() const; 
-    
-    MatchWeight GetWeight() const; 
-
-    inline DNALength GetX() const; 
-    
-    inline DNALength GetY() const; 
-    
-    UInt GetT(); 
-
-    UInt GetQ(); 
-
-    UInt GetW(); 
-
-    friend std::ostream& operator<<(std::ostream & out, MatchPos &p); 
-};
-
-inline MatchPos::MatchPos(DNALength pt, DNALength pq, DNALength pl, int pm) :
-    t(pt), q(pq), l(pl), m(pm), w(0){ }
-
-inline MatchPos::MatchPos() {
-    t = q = -1;
-    l = 0;
-    w = 0;
-    m = 0;
-}
-
-inline MatchWeight MatchPos::Size() {
-    return l;
-}
-
-inline MatchPos& MatchPos::operator=(const MatchPos &rhs) {
-    t = rhs.t; q = rhs.q; w = rhs.w;
-    l = rhs.l;
-    m = rhs.m;
-    return *this;
-}
-
-inline DNALength MatchPos::GetLength() const {
-    return l;
-}
-
-inline DNALength MatchPos::GetX() const {
-    return q;
-}
-
-inline DNALength MatchPos::GetY() const {
-    return t;
-}
-
-
-class ChainedMatchPos : public MatchPos {
-private:
-    int score;
-    ChainedMatchPos *chainPrev;
-
-public:
-    ChainedMatchPos(DNALength pt, DNALength pq, DNALength pl, int pm);
-
-    ChainedMatchPos();
-
-    inline ChainedMatchPos(const ChainedMatchPos &rhs); 
-
-    inline int GetScore();
-
-    int SetScore(int _score); 
-
-    ChainedMatchPos* SetChainPrev(ChainedMatchPos *_chainPrev); 
-
-    inline ChainedMatchPos* GetChainPrev();
-
-    inline ChainedMatchPos &operator=(const ChainedMatchPos &rhs); 
-
-    friend std::ostream& operator<<(std::ostream & out, ChainedMatchPos &p); 
-
-};
-
-inline ChainedMatchPos::ChainedMatchPos(const ChainedMatchPos &rhs) {
-    (*this) = rhs;
-}
-
-inline ChainedMatchPos* ChainedMatchPos::GetChainPrev() {
-    return chainPrev;
-}
-
-inline int ChainedMatchPos::GetScore() {
-    return score;
-}
-
-inline ChainedMatchPos &ChainedMatchPos::operator=(const ChainedMatchPos &rhs) {
-    ((MatchPos&)(*this)) = ((MatchPos&)rhs);
-    return *this;
-}
-
-
-template<typename T_MatchPos>
-class CompareMatchPos {
-    public:
-        int operator()(const T_MatchPos &lhs, const T_MatchPos &rhs) const {
-            if (lhs.t < rhs.t) 
-                return 1;
-            else if (lhs.t > rhs.t)
-                return 0;
-            else { 
-                return lhs.q < rhs.q;
-            }
-        }
-};
-
-typedef std::vector<MatchPos> MatchPosList;
-
-template<typename T_MatchPos>
-class CompareMatchPosByWeight {
-    public:
-        int operator()(const T_MatchPos &a, const T_MatchPos &b) const {
-            return a.l < b.l;
-        }
-};
-
-template<typename T_MatchPos>
-class CompareMatchPosIndexByWeight {
-    public:
-        std::vector<T_MatchPos> *list;
-        int operator()(const int i, const int j) const {
-            return ((*list)[i].w > (*list)[j].w);
-        }
-};
-
-
-template<typename T_MatchPos>
-class CompareMatchPosIndexByTextPos {
-    public:
-        std::vector<T_MatchPos> *list;
-        int operator()(const int i, const int j) const {
-            return (*list)[i].t < (*list)[j].t;
-        }
-};
-
-
-template<typename T_MatchPos>
-void SortMatchPosList(std::vector<T_MatchPos> &mpl) {
-    std::sort(mpl.begin(), mpl.end(), CompareMatchPos<T_MatchPos>());
-}
-
-template<typename T_MatchPos>
-void SortMatchPosListByWeight(std::vector<T_MatchPos> &mpl) {
-    std::sort(mpl.begin(), mpl.end(), CompareMatchPosByWeight<T_MatchPos>());
-}
-
-template<typename T_MatchPos>
-void SortMatchPosIndexListByWeight(std::vector<T_MatchPos> &mpl, std::vector<int> &indices) {
-    CompareMatchPosIndexByWeight<T_MatchPos> cmp;
-    cmp.list = &mpl;
-    std::sort(indices.begin(), indices.end(), cmp);
-}
-
-template<typename T_MatchPos>
-void SortMatchPosIndexListByTextPos(std::vector<T_MatchPos> &mpl, std::vector<int> &indices) {
-    CompareMatchPosIndexByTextPos<T_MatchPos> cmp;
-    cmp.list = &mpl;
-    std::sort(indices.begin(), indices.end(), cmp);
-}
-
-#endif  // _BLASR_MATCH_POS_HPP_
diff --git a/libcpp/alignment/datastructures/anchoring/WeightedInterval.cpp b/libcpp/alignment/datastructures/anchoring/WeightedInterval.cpp
deleted file mode 100644
index 173eb89..0000000
--- a/libcpp/alignment/datastructures/anchoring/WeightedInterval.cpp
+++ /dev/null
@@ -1,181 +0,0 @@
-#include "datastructures/anchoring/WeightedInterval.hpp"
-
-WeightedInterval::WeightedInterval(){}
-
-void WeightedInterval::Init(int _size, int _start, int _end, 
-    int _readIndex, float _pValue) {
-    size      = _size; 
-    start     = _start; 
-    end       = _end; 
-    readIndex = _readIndex;
-    pValue    = _pValue;
-    qStart = 0;
-    qEnd   = 0;
-    nAnchors = 0;
-    totalAnchorSize = 0;
-    pValueVariance = 0;
-    pValueNStdDev = 0;
-    sizeVariance = 0;
-    sizeNStdDev = 0;
-}
-
-WeightedInterval::WeightedInterval(int _size, int _start, int _end, 
-    int _readIndex, float _pValue) {
-    Init(_size, _start, _end, _readIndex, _pValue);
-}
-
-WeightedInterval::WeightedInterval(int _size, int _start, int _end, 
-    int _readIndex, float _pValue, int _qStart, int _qEnd){
-    Init(_size, _start, _end, _readIndex, _pValue);
-    qStart    = _qStart;
-    qEnd      = _qEnd;
-}
-
-WeightedInterval::WeightedInterval(int _size, unsigned int _nAnchors, 
-    unsigned int _totalAnchorSize, int _start, int _end, int _readIndex, 
-    float _pValue, int _qStart, int _qEnd, 
-    std::vector<ChainedMatchPos> &_matches) {
-
-    Init(_size, _start, _end, _readIndex, _pValue);
-    qStart    = _qStart;
-    qEnd      = _qEnd;
-    matches   = _matches;
-    nAnchors  = _nAnchors;
-    totalAnchorSize = _totalAnchorSize;
-}
-
-float WeightedInterval::PValue() const {
-    return pValue;
-}
-
-int WeightedInterval::Size() const {
-    return size;
-}
-
-int WeightedInterval::GetStrandIndex() const {
-    return readIndex;
-}
-
-void WeightedInterval::SetPValueVariance(float v) {
-    pValueVariance = v;
-}
-
-void WeightedInterval::SetPValueNStdDev(float v) {
-    pValueNStdDev = v;
-}
-
-void WeightedInterval::SetSizeVariance(float v) {
-    sizeVariance = v;
-}
-
-void WeightedInterval::SetSizeNStdDev(float v) {
-    sizeNStdDev = v;
-}
-
-int WeightedInterval::operator<(const WeightedInterval &intv) const {
-    if (size == intv.size) {
-        return start > intv.start;
-    }
-    else {
-        return size < intv.size;
-    }
-}
-
-int WeightedInterval::operator==(const WeightedInterval &intv) const {
-    return size == intv.size;
-}
-
-// Functions of class CompareWeightedIntervalByPValue
-int CompareWeightedIntervalByPValue::operator()(const WeightedInterval &a,
-    const WeightedInterval &b) const {
-    if (a.PValue() != b.PValue()) {
-        return a.PValue() < b.PValue();
-    }
-    else {
-        return a.start < b.start;
-    }
-}
-
-// Functions of class WeightedIntervalSet
-WeightedIntervalSet::WeightedIntervalSet() {
-    maxSize = 0;
-}
-
-WeightedIntervalSet::WeightedIntervalSet(int maxSizeP): maxSize(maxSizeP) {
-} 
-
-bool WeightedIntervalSet::insert(WeightedInterval &intv) {
-    intv.isOverlapping = false;
-
-    //
-    // Make sure this interval is not contained inside any other
-    // weighted intervals.  
-    //
-    WeightedIntervalSet::iterator it = (*this).begin();
-    WeightedIntervalSet::iterator endit = (*this).end();
-    bool isContained = false;
-    while (it != endit and isContained == false) {
-        if (intv.qStart >= (*it).qStart and intv.qEnd <= (*it).qEnd and
-            intv.start  >= (*it).start and intv.end <= (*it).end and 
-            intv.readIndex == (*it).readIndex and
-            intv.pValue >= (*it).pValue) {
-            //
-            // This already overlaps an existing interval, don't bother
-            // trying to add it.
-            //
-            isContained = true;
-            intv.isOverlapping = true;
-        } else if((*it).start >= intv.start and 
-                  (*it).end <= intv.end and
-                  (*it).qStart >= intv.qStart and 
-                  (*it).qEnd <= intv.qEnd and
-                  (*it).readIndex == intv.readIndex and
-                  (*it).pValue >= intv.pValue) {
-            WeightedIntervalSet::iterator next = it;
-            ++next;
-            this->erase(it);
-            it = next;
-        } else {
-            ++it;
-        }
-    }
-
-    //
-    // Take a peek to see if this interval is too low of a score to
-    // bother attempting to add at all. 
-    //
-    if (size() >= maxSize and maxSize > 0) {
-        WeightedIntervalSet::iterator last = (*this).end();
-        last--;
-
-        if (last->pValue < intv.pValue) {
-            return false;
-        }
-    }
-
-    if (isContained == false) {
-        bool addInsert = false;
-        if (size() == 0) {
-            addInsert = true;
-        }
-        else {
-            it = end();
-            --it;
-            if (size() < maxSize or (*it).pValue > intv.pValue) {
-                addInsert = true;
-                //
-                // Keep the size of the stack the same if it is at the limit.
-                //
-                if (maxSize != 0 and size() >= maxSize and size() > 0) { 
-                    erase(it);
-                }
-            }
-        }
-        if (addInsert) {
-            ((T_WeightedIntervalMultiSet*)this)->insert(intv);
-        }
-        return true;
-    }
-    return false;
-}
-
diff --git a/libcpp/alignment/datastructures/anchoring/WeightedInterval.hpp b/libcpp/alignment/datastructures/anchoring/WeightedInterval.hpp
deleted file mode 100644
index 052da90..0000000
--- a/libcpp/alignment/datastructures/anchoring/WeightedInterval.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-#ifndef _BLASR_WEIGHTED_INTERVAL_HPP_
-#define _BLASR_WEIGHTED_INTERVAL_HPP_
-
-#include <vector>
-#include <set>
-#include "DNASequence.hpp"
-#include "datastructures/anchoring/MatchPos.hpp" 
-
-class WeightedInterval {
-public:
-    DNALength size; // not necessarily end - start + 1
-    DNALength start;
-    DNALength end;
-    DNALength qStart, qEnd;
-    int readIndex;
-    float pValue;
-    std::vector<int> positions;
-    std::vector<ChainedMatchPos> matches;
-    float pValueVariance, pValueNStdDev;
-    float sizeVariance, sizeNStdDev;
-    int nAnchors;
-    int totalAnchorSize;
-    bool isOverlapping;
-
-    WeightedInterval();
-
-    WeightedInterval(int _size, int _start, int _end, 
-        int _readIndex, float _pValue =0.0);
-
-    WeightedInterval(int _size, int _start, int _end, 
-        int _readIndex, float _pValue, int _qStart, int _qEnd);
-
-    WeightedInterval(int _size, unsigned int _nAnchors, 
-        unsigned int _totalAnchorSize, int _start, int _end, 
-        int _readIndex, float _pValue, int _qStart, int _qEnd, 
-        std::vector<ChainedMatchPos> &_matches);
-
-    void Init(int _size, int _start, int _end, 
-        int _readIndex, float _pValue);
-
-    int GetStrandIndex() const;
-    void SetPValueVariance(float v);
-    void SetPValueNStdDev(float v);
-    void SetSizeVariance(float v);
-    void SetSizeNStdDev(float v);
-    int operator<(const WeightedInterval &intv) const;
-    int operator==(const WeightedInterval &intv) const;
-
-    friend std::ostream & operator << (std::ostream & out, WeightedInterval & wi) {
-        out << wi.size << " " << wi.start << " " << wi.end
-            << " " << wi.qStart << " " << wi.qEnd << " " << wi.readIndex
-            << " " << wi.pValue ;
-        return out;
-    }
-
-    float PValue() const;
-    int Size() const;
-};
-
-class CompareWeightedIntervalByPValue {
-public:
-    int operator()(const WeightedInterval& a, const WeightedInterval& b) const;
-};
-
-typedef std::vector<WeightedInterval> WeightedIntervalVector;
-
-typedef std::multiset<WeightedInterval, CompareWeightedIntervalByPValue> 
-T_WeightedIntervalMultiSet;
-
-class WeightedIntervalSet: public T_WeightedIntervalMultiSet {
-public:
-    int maxSize;
-    WeightedIntervalSet();
-    WeightedIntervalSet(int maxSizeP);
-    bool insert(WeightedInterval &intv);
-    friend std::ostream & operator << (std::ostream & out, WeightedIntervalSet & wis) {
-        WeightedIntervalSet::iterator it;
-        for (it = wis.begin(); it != wis.end(); it++) {
-            out << *((WeightedInterval*)&(*it)) << std::endl;
-        }
-        return out;
-    }
-};
-
-#endif
diff --git a/libcpp/alignment/files/BaseSequenceIO.cpp b/libcpp/alignment/files/BaseSequenceIO.cpp
deleted file mode 100644
index ec39903..0000000
--- a/libcpp/alignment/files/BaseSequenceIO.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-#include <cstdlib>
-#include "BaseSequenceIO.hpp"
-
-using namespace std;
-
-void BaseSequenceIO::SetFiles(FileType &pFileType, std::string &pFileName) {
-    fileType = pFileType;
-    fileName = pFileName;
-}
-
-FileType BaseSequenceIO::GetFileType() {
-    return fileType;
-}
-
-int BaseSequenceIO::DetermineFileTypeByExtension(string &fileName, 
-    FileType &type, bool exitOnFailure) {
-
-    string::size_type dotPos = fileName.rfind(".");
-    if (dotPos != string::npos) {
-        string extension;
-        extension.assign(fileName, dotPos+1, fileName.size() - (dotPos+1));
-        if (extension == "fasta" or
-                extension == "fa" or
-                extension == "fas" or
-                extension == "fsta" or
-                extension == "screen"
-           ) {
-            type = Fasta;
-            return 1;
-        }
-        else if (extension == "h5") {
-            dotPos = fileName.rfind(".", dotPos-1); 
-            extension.assign(fileName, dotPos+1, fileName.size() - (dotPos + 1));
-            if (extension == "pls.h5" or extension == "plx.h5" ) {
-                type = HDFPulse;
-                return 1;
-            }
-            else if (extension == "bas.h5" or extension == "bax.h5") {
-                type = HDFBase;
-                return 1;
-            }
-            else if (extension == "ccs.h5") {
-                type = HDFCCSONLY;
-                return 1;
-            }
-            else {
-                type = None;
-                return 0;
-            }
-        }
-        else if (extension == "fastq" or
-                extension == "fq") {
-            type = Fastq;
-            return 1;
-        }
-        else if (extension == "4bit" or
-                extension == "fourbit") {
-            type = Fourbit;
-            assert("Four bit reading is not yet implemented for the reader agglomerate!" == 0);
-            return 1;
-        }
-        else if (extension == "bam") {
-            type = PBBAM;
-            return 1;
-        }
-        else {
-            type = None;
-            if (exitOnFailure) {
-                cout << "ERROR, file type '." << extension << "' is not understood to be one of pls.h5, fasta, fastq, nor bam. " << endl;
-                exit(1);
-            }
-            return 0;
-        }
-        return 0;
-    }
-    return 0;
-}
diff --git a/libcpp/alignment/files/BaseSequenceIO.hpp b/libcpp/alignment/files/BaseSequenceIO.hpp
deleted file mode 100644
index 1b187d2..0000000
--- a/libcpp/alignment/files/BaseSequenceIO.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef _BLASR_DATA_FILE_TYPE_HPP_
-#define _BLASR_DATA_FILE_TYPE_HPP_
-
-#include <string>
-#include <iostream>
-#include <cassert>
-#include "Enumerations.h"
-
-class BaseSequenceIO {
-
-protected:
-
-    FileType fileType;
-    std::string fileName;
-
-public:
-
-    void SetFiles(FileType &pFileType, std::string &pFileName); 
-
-    FileType GetFileType(); 
-
-    static int DetermineFileTypeByExtension(std::string &fileName, FileType &type, 
-        bool exitOnFailure=true); 
-};	
-
-#endif // _BLASR_DATA_FILE_TYPE_HPP_
diff --git a/libcpp/alignment/files/CCSIterator.cpp b/libcpp/alignment/files/CCSIterator.cpp
deleted file mode 100644
index 7edf650..0000000
--- a/libcpp/alignment/files/CCSIterator.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-#include "files/CCSIterator.hpp"
-
-void CCSIterator::Initialize(CCSSequence *_seqPtr) {
-    seqPtr = _seqPtr;
-    curPass = 0;
-    numPasses = seqPtr->passDirection.size();
-}
-
-int CCSIterator::GetNext(int &direction, int &startBase, int &numBases) {
-    if (curPass >= numPasses) {
-        return 0;
-    }
-    else {
-        direction = seqPtr->passDirection[curPass];
-        startBase = seqPtr->passStartBase[curPass];
-        numBases  = seqPtr->passNumBases[curPass];
-        ++curPass;
-        return 1;
-    }
-}
-
-void CCSIterator::Reset() {
-    curPass = 0;
-}
-
-int CCSIterator::GetNumPasses() {
-    return numPasses;
-}
diff --git a/libcpp/alignment/files/CCSIterator.hpp b/libcpp/alignment/files/CCSIterator.hpp
deleted file mode 100644
index 6f97641..0000000
--- a/libcpp/alignment/files/CCSIterator.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef _BLASR_BASE_CCS_ITERATOR_HPP_
-#define _BLASR_BASE_CCS_ITERATOR_HPP_
-
-#include "CCSSequence.hpp"
-
-class CCSIterator {
-public:
-    CCSSequence *seqPtr;
-    int curPass;
-    int numPasses;
-  
-	virtual void Initialize(CCSSequence *_seqPtr);
-
-	virtual int GetNext(int &direction, int &startBase, int &numBases);
-
-   	void Reset();
-
-    int GetNumPasses();
-};
-
-#endif
diff --git a/libcpp/alignment/files/FragmentCCSIterator.cpp b/libcpp/alignment/files/FragmentCCSIterator.cpp
deleted file mode 100644
index d02876c..0000000
--- a/libcpp/alignment/files/FragmentCCSIterator.cpp
+++ /dev/null
@@ -1,109 +0,0 @@
-#include "files/FragmentCCSIterator.hpp"
-
-
-void FragmentCCSIterator::
-Initialize(CCSSequence *_seqPtr, RegionTable *_regionTablePtr) {
-    seqPtr         = _seqPtr;
-    regionTablePtr = _regionTablePtr;
-    curPass = 0;
-    numPasses = 0;
-    subreadIntervals.clear();
-    readIntervalDirection.clear();
-
-    int hqRegionStart, hqRegionEnd, hqRegionScore;
-    hqRegionStart = hqRegionEnd = hqRegionScore = 0;
-
-    bool hasHQRegion = LookupHQRegion(seqPtr->zmwData.holeNumber, 
-        *regionTablePtr, hqRegionStart, hqRegionEnd, hqRegionScore);
-
-    if (not hasHQRegion) {
-        return; // Don't bother if there is no HQ region.
-    }
-
-    //
-    // Since this iterator covers all passes, and not just those
-    // included in the ccs, the the regions need to be loaded.
-    //
-    CollectSubreadIntervals(*seqPtr, regionTablePtr, subreadIntervals);
-    if (subreadIntervals.size() == 0) { return;}
-
-    readIntervalDirection.resize(subreadIntervals.size());
-    fill(readIntervalDirection.begin(), readIntervalDirection.end(), 2);
-
-    //
-    // Assign the read interval directions based on the pass direction
-    // for the pass that has a similar start position.  This allows
-    // some wiggle although in practice they coordinates of the pass
-    // start base and the template should always match up. 
-    //
-    int i, j;
-    for (i = 0; i < subreadIntervals.size(); i++) {
-        for (j = 0; j < seqPtr->passStartBase.size(); j++) {
-            if (abs( ((int)subreadIntervals[i].start)  - 
-                     ((int)seqPtr->passStartBase[j]) ) < 10) {
-                readIntervalDirection[i] = seqPtr->passDirection[j];
-                break;
-            }
-        }
-    }
-
-    int firstAssignedSubread = 0;
-    while (firstAssignedSubread < subreadIntervals.size() and 
-           readIntervalDirection[firstAssignedSubread] == 2) { 
-        firstAssignedSubread++; 
-    }
-
-    if (firstAssignedSubread == subreadIntervals.size()) {
-        // None of the subread has been assigned a direction, guess.
-        firstAssignedSubread = 0;
-        readIntervalDirection[0] = 0;
-    }
-
-    // Assign directions to intervals to the left of the first assigned.
-    if (firstAssignedSubread < subreadIntervals.size() and 
-        subreadIntervals.size() > 0) {
-        int curSubreadDir = readIntervalDirection[firstAssignedSubread];
-        assert(curSubreadDir == 0 or curSubreadDir == 1);
-        for (i = firstAssignedSubread - 1; i >= 0; i--) {
-            curSubreadDir = (curSubreadDir==0)?1:0;
-            readIntervalDirection[i] = curSubreadDir;
-        }
-    }
-
-    // Assign directions to intervals which are to the right of the first 
-    // assigned and whose direction is unknown.
-    for (i = firstAssignedSubread + 1; i < subreadIntervals.size(); i++) {
-        int & di = readIntervalDirection[i];
-        int   dp = readIntervalDirection[i-1]; 
-        if (di != 0 and di != 1) {
-            di = (dp==0)?1:0; 
-        }
-    }
-
-    //
-    // So far, subreadIntervals have been sorted and each assigned 
-    // a passDirection. But since all or part of a subreadInterval 
-    // may not be in the HQ region, we need to trim low quality regions 
-    // from subreads, remove subreads which do not have any high quality 
-    // regions from subreadIntervals and their corresponding pass directions 
-    // from readIntervalDirection. 
-    //
-    GetHighQualitySubreadsIntervals(subreadIntervals, 
-            readIntervalDirection,
-            hqRegionStart, hqRegionEnd);
-    // Update number of passes. 
-    numPasses = subreadIntervals.size();
-}
-
-int FragmentCCSIterator::
-GetNext(int &direction, int &startBase, int &numBases) {
-    if (curPass >= subreadIntervals.size()) {
-        return 0;
-    }
-    direction = int(readIntervalDirection[curPass]);
-    startBase = int(subreadIntervals[curPass].start);
-    numBases  = int(subreadIntervals[curPass].end - subreadIntervals[curPass].start);
-    ++curPass;
-    return 1;
-}
-
diff --git a/libcpp/alignment/files/FragmentCCSIterator.hpp b/libcpp/alignment/files/FragmentCCSIterator.hpp
deleted file mode 100644
index 620491f..0000000
--- a/libcpp/alignment/files/FragmentCCSIterator.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _BLASR_FRAGMENT_CCS_ITERATOR_HPP_
-#define _BLASR_FRAGMENT_CCS_ITERATOR_HPP_
-
-#include <vector>
-#include "reads/RegionTable.hpp"
-#include "utils/RegionUtils.hpp"
-#include "files/CCSIterator.hpp"
-
-
-class FragmentCCSIterator : public CCSIterator {
-public:
-    RegionTable *regionTablePtr;
-    std::vector<ReadInterval> subreadIntervals;
-    std::vector<int> readIntervalDirection;
-
-    virtual 
-    void Initialize(CCSSequence *_seqPtr, RegionTable *_regionTablePtr);
-
-    virtual 
-    int GetNext(int & direction, int & startBase, int & numBases);
-};
-
-#endif
diff --git a/libcpp/alignment/files/ReaderAgglomerate.cpp b/libcpp/alignment/files/ReaderAgglomerate.cpp
deleted file mode 100644
index ff04a08..0000000
--- a/libcpp/alignment/files/ReaderAgglomerate.cpp
+++ /dev/null
@@ -1,505 +0,0 @@
-#include "files/ReaderAgglomerate.hpp"
-
-void ReaderAgglomerate::SetToUpper() {
-    fastaReader.SetToUpper();
-}
-
-void ReaderAgglomerate::InitializeParameters() {
-    start  = 0;
-    stride = 1;
-    subsample = 1.1;
-    readQuality = 1;
-    useRegionTable = true;
-    ignoreCCS = true;
-    readType = ReadType::SUBREAD;
-#ifdef USE_PBBAM
-    bamFilePtr = NULL;
-    entireFileQueryPtr = NULL;
-#endif
-}
-
-ReaderAgglomerate::ReaderAgglomerate() {
-    InitializeParameters();
-}
-
-ReaderAgglomerate::ReaderAgglomerate(float _subsample) {
-    this->InitializeParameters();
-    subsample = _subsample;
-}
-
-ReaderAgglomerate::ReaderAgglomerate(int _stride) {
-    this->InitializeParameters();
-    stride = _stride;
-}
-
-ReaderAgglomerate::ReaderAgglomerate(int _start, int _stride) {
-    this->InitializeParameters();
-    start  = _start;
-    stride = _stride;
-}
-
-void ReaderAgglomerate::GetMovieName(string &movieName) {
-    if (fileType == Fasta || fileType == Fastq) {
-        movieName = fileName;
-    }
-    else if (fileType == HDFPulse || fileType == HDFBase) {
-        movieName = hdfBasReader.GetMovieName();
-    } 
-    else if (fileType == HDFCCS || fileType == HDFCCSONLY) {
-        movieName = hdfCcsReader.GetMovieName();
-    }
-    else if (fileType == PBBAM) {
-#ifdef USE_PBBAM
-        assert("Reading movie name from BAM using ReaderAgglomerate is not supported." == 0);
-#endif 
-    }
-}
-
-void ReaderAgglomerate::GetChemistryTriple(string & bindingKit, 
-        string & sequencingKit, string & baseCallerVersion) {
-    if (fileType == HDFPulse || fileType == HDFBase) {
-        hdfBasReader.GetChemistryTriple(bindingKit, sequencingKit, baseCallerVersion);
-    }
-    else if (fileType == HDFCCS || fileType == HDFCCSONLY) {
-        hdfCcsReader.GetChemistryTriple(bindingKit, sequencingKit, baseCallerVersion);
-    }
-    else if (fileType == PBBAM) {
-#ifdef USE_PBBAM
-        assert("Reading chemistry triple from BAM using ReaderAgglomerate is not supported." == 0);
-#endif
-    } else {
-        sequencingKit = bindingKit = baseCallerVersion = "";
-    }
-}
-
-void ReaderAgglomerate::SetReadType(const ReadType::ReadTypeEnum & readType_) {
-    readType = readType_;
-}
-
-ReadType::ReadTypeEnum ReaderAgglomerate::GetReadType() {
-    return readType;
-}
-
-bool ReaderAgglomerate::FileHasZMWInformation() {
-    return (fileType == HDFPulse || fileType == HDFBase || 
-            fileType == HDFCCS || fileType == HDFCCSONLY);
-}
-
-void ReaderAgglomerate::SkipReadQuality() {
-    readQuality = 0;
-}
-
-void ReaderAgglomerate::IgnoreCCS() {
-    ignoreCCS = true;
-}
-  
-void ReaderAgglomerate::UseCCS() {
-    ignoreCCS = false;
-    hdfBasReader.SetReadBasesFromCCS();
-}
-
-int ReaderAgglomerate::Initialize(string &pFileName) {
-    if (DetermineFileTypeByExtension(pFileName, fileType)) {
-        fileName = pFileName;
-        return Initialize();
-    }
-    return false;
-}
-
-bool ReaderAgglomerate::SetReadFileName(string &pFileName) {
-    if (DetermineFileTypeByExtension(pFileName, fileType)) {
-        fileName = pFileName;
-        return true;
-    }
-    else {
-        return false;
-    }
-}
-
-int ReaderAgglomerate::Initialize(FileType &pFileType, string &pFileName) {
-    SetFiles(pFileType, pFileName);
-    return Initialize();
-}
-
-#define UNREACHABLE() \
-    cout << "ERROR! Hit unreachable code in " << __FILE__ << ':' << __LINE__ << endl; \
-    assert(0)
-
-bool ReaderAgglomerate::HasRegionTable() {
-    switch(fileType) {
-        case PBBAM:
-        case Fasta:
-        case Fastq:
-            return false;
-            break;
-        case HDFPulse:
-        case HDFBase:
-            return hdfBasReader.HasRegionTable();
-            break;
-        case HDFCCSONLY:
-        case HDFCCS:
-            return hdfCcsReader.HasRegionTable();
-            break;
-        case Fourbit:
-        case None:
-            UNREACHABLE();
-            break;
-    }
-    return false;
-}
-
-#ifdef USE_PBBAM
-
-#define GET_NEXT_FROM_BAM() \
-    numRecords = (bamIterator == entireFileQueryPtr->end())?0:1;\
-    if (numRecords != 0) {seq.Copy(*bamIterator); bamIterator++;} 
-
-#define RESET_PBBAM_PTRS() \
-    if (bamFilePtr != NULL) {delete bamFilePtr; bamFilePtr = NULL;} \
-    if (entireFileQueryPtr != NULL) {delete entireFileQueryPtr; entireFileQueryPtr = NULL;}
-
-#endif
-
-int ReaderAgglomerate::Initialize() {
-    int init = 1;
-    switch(fileType) {
-        case Fasta:
-            init = fastaReader.Init(fileName);
-            break;
-        case Fastq:
-            init = fastqReader.Init(fileName);
-            break;
-        case HDFCCSONLY:
-            ignoreCCS = false;
-            hdfCcsReader.SetReadBasesFromCCS();
-            hdfCcsReader.InitializeDefaultIncludedFields();
-            init = hdfCcsReader.Initialize(fileName);
-            if (init == 0) return 0;
-            break;
-        case HDFPulse:
-        case HDFBase:
-            //
-            // Here one needs to test and see if the hdf file contains ccs.
-            // If this is the case, then the file type is HDFCCS.
-            if (hdfCcsReader.BasFileHasCCS(fileName) and !ignoreCCS) {
-                fileType = HDFCCS;
-                hdfCcsReader.InitializeDefaultIncludedFields();
-                init = hdfCcsReader.Initialize(fileName);
-                if (init == 0) return 0;
-            }
-            else {
-                hdfBasReader.InitializeDefaultIncludedFields();
-                init = hdfBasReader.Initialize(fileName);
-                //
-                // This code is added so that meaningful names are printed 
-                // when running on simulated data that contains the coordinate
-                // information.
-                if (init == 0) return 0;
-            }
-            break;
-        case PBBAM: 
-#ifdef USE_PBBAM
-            RESET_PBBAM_PTRS();
-            try {
-                bamFilePtr = new PacBio::BAM::BamFile(fileName);
-            } catch (std::exception e) {
-                cout << "ERROR! Failed to open " << fileName 
-                     << ": " << e.what() << endl;
-                return 0;
-            }
-            entireFileQueryPtr = new PacBio::BAM::EntireFileQuery(*bamFilePtr);
-            bamIterator = entireFileQueryPtr->begin();
-            break;
-#endif
-        case HDFCCS:
-        case Fourbit:
-        case None:
-            UNREACHABLE();
-            break;
-    }
-    readGroupId = "";
-    if (init == 0 || (start > 0 && Advance(start) == 0) ){
-        return 0;
-    };
-    if (fileType != PBBAM) {
-        // All reads from a non-PBBAM file must have the same read group id. 
-        // Reads from a PABBAM file may come from different read groups.
-        // We have sync reader.readGroupId and SMRTSequence.readGroupId everytime
-        // GetNext() is called.
-        string movieName; GetMovieName(movieName);
-        readGroupId = MakeReadGroupId(movieName, readType);
-    }
-    return 1;
-}
-
-ReaderAgglomerate & ReaderAgglomerate::operator=(ReaderAgglomerate &rhs) {
-    fileType     = rhs.fileType;
-    fileName = rhs.fileName;
-    return *this;
-}
-
-bool ReaderAgglomerate::Subsample(float rate) {
-    bool retVal = true;
-    while( (rand() % 100 + 1) > (rate * 100) and (retVal = Advance(1)));
-    return retVal;
-}
-
-int ReaderAgglomerate::GetNext(FASTASequence &seq) {
-    int numRecords = 0;
-    if (Subsample(subsample) == 0) {
-        return 0;
-    }
-    switch(fileType) {
-        case Fasta:
-            numRecords = fastaReader.GetNext(seq);
-            break;
-        case Fastq:
-            numRecords = fastqReader.GetNext(seq);
-            break;
-        case HDFPulse:
-        case HDFBase:
-            numRecords = hdfBasReader.GetNext(seq);
-            break;
-        case HDFCCSONLY:
-        case HDFCCS:
-            cout << "ERROR! Reading CCS into a structure that cannot handle it." << endl;
-            assert(0);
-            break;
-        case PBBAM:
-#ifdef USE_PBBAM
-            GET_NEXT_FROM_BAM();
-            break;
-#endif
-        case Fourbit:
-        case None:
-            UNREACHABLE();
-            break;
-    }
-    seq.CleanupOnFree();
-    return numRecords;
-}
-
-int ReaderAgglomerate::GetNext(FASTQSequence &seq) {
-    int numRecords = 0;
-    if (Subsample(subsample) == 0) {
-        return 0;
-    }
-    switch(fileType) {
-        case Fasta:
-            numRecords = fastaReader.GetNext(seq);
-            break;
-        case Fastq:
-            numRecords = fastqReader.GetNext(seq);
-            break;
-        case HDFPulse:
-        case HDFBase:
-            numRecords = hdfBasReader.GetNext(seq);
-            break;
-        case PBBAM:
-#ifdef USE_PBBAM
-            GET_NEXT_FROM_BAM();
-            break;
-#endif
-        case HDFCCSONLY:
-        case HDFCCS:
-            cout << "ERROR! Reading CCS into a structure that cannot handle it." << endl;
-            assert(0);
-            break;
-        case Fourbit:
-        case None:
-            UNREACHABLE();
-            break;
-    }
-    if (stride > 1)
-        Advance(stride-1);
-    return numRecords;
-}
-
-int ReaderAgglomerate::GetNext(SMRTSequence &seq) {
-    int numRecords = 0;
-
-    if (Subsample(subsample) == 0) {
-        return 0;
-    }
-    switch(fileType) {
-        case Fasta:
-            numRecords = fastaReader.GetNext(seq);
-            break;
-        case Fastq:
-            numRecords = fastqReader.GetNext(seq);
-            break;
-        case HDFPulse:
-        case HDFBase:
-            numRecords = hdfBasReader.GetNext(seq);
-            break;
-        case HDFCCSONLY:
-            cout << "ERROR! Reading CCS into a structure that cannot handle it." << endl;
-            assert(0);
-            break;
-        case HDFCCS:
-            assert(ignoreCCS == false);
-            assert(hdfBasReader.readBasesFromCCS == true);
-            numRecords = hdfBasReader.GetNext(seq);
-            break;
-        case PBBAM:
-#ifdef USE_PBBAM
-            GET_NEXT_FROM_BAM();
-            break;
-#endif
-        case Fourbit:
-        case None:
-            UNREACHABLE();
-            break;
-    }
-    // A sequence read from a Non-BAM files does not have read group id 
-    // and should be empty, use this->readGroupId instead. Otherwise, 
-    // read group id should be loaded from BamRecord to SMRTSequence, 
-    // update this->readGroupId accordingly.
-    if (fileType != PBBAM) seq.SetReadGroupId(readGroupId);
-    else readGroupId = seq.GetReadGroupId();
-
-    if (stride > 1)
-        Advance(stride-1);
-    return numRecords;
-}
-
-int ReaderAgglomerate::GetNextBases(SMRTSequence &seq, bool readQVs) {
-    int numRecords = 0;
-
-    if (Subsample(subsample) == 0) {
-        return 0;
-    }
-    switch(fileType) {
-        case Fasta:
-            cout << "ERROR! Can not GetNextBases from a Fasta File." << endl;
-            assert(0);
-            break;
-        case Fastq:
-            cout << "ERROR! Can not GetNextBases from a Fastq File." << endl;
-            assert(0);
-            break;
-        case HDFPulse:
-        case HDFBase:
-            numRecords = hdfBasReader.GetNextBases(seq, readQVs);
-            break;
-        case HDFCCSONLY:
-            cout << "ERROR! Reading CCS into a structure that cannot handle it." << endl;
-            assert(0);
-            break;
-        case HDFCCS:
-            cout << "ERROR! Can not GetNextBases from a CCS File." << endl;
-            assert(0);
-            break;
-        case PBBAM:
-#ifdef USE_PBBAM
-            cout << "ERROR! Can not GetNextBases from a BAM File." << endl;
-#endif
-        case Fourbit:
-        case None:
-            UNREACHABLE();
-            break;
-    }
-
-    if (fileType != PBBAM) seq.SetReadGroupId(readGroupId);
-    else readGroupId = seq.GetReadGroupId();
-
-    if (stride > 1)
-        Advance(stride-1);
-    return numRecords;
-}
-
-int ReaderAgglomerate::GetNext(CCSSequence &seq) {
-    int numRecords = 0;
-    if (Subsample(subsample) == 0) {
-        return 0;
-    }
-
-    switch(fileType) {
-        case Fasta:
-            // This just reads in the fasta sequence as if it were a ccs sequence
-            numRecords = fastaReader.GetNext(seq);
-            seq.subreadStart = 0;
-            seq.subreadEnd   = 0;
-            break;
-        case Fastq:
-            numRecords = fastqReader.GetNext(seq);
-            seq.subreadStart = 0;
-            seq.subreadEnd   = 0;
-            break;
-        case HDFPulse:
-        case HDFBase:
-            numRecords = hdfBasReader.GetNext(seq);
-            break;
-        case HDFCCSONLY:
-        case HDFCCS:
-            numRecords = hdfCcsReader.GetNext(seq);
-            break;
-        case PBBAM:
-#ifdef USE_PBBAM
-            cout << "ERROR! Could not read BamRecord as CCSSequence" << endl;
-#endif
-        case Fourbit:
-        case None:
-            UNREACHABLE();
-            break;
-    }
-
-    if (fileType != PBBAM) seq.SetReadGroupId(readGroupId);
-    else readGroupId = seq.GetReadGroupId();
-
-    if (stride > 1)
-        Advance(stride-1);
-    return numRecords;
-}
-
-
-int ReaderAgglomerate::Advance(int nSteps) {
-    int i;
-    switch(fileType) {
-        case Fasta:
-            return fastaReader.Advance(nSteps);
-        case HDFPulse:
-        case HDFBase:
-            return hdfBasReader.Advance(nSteps);
-        case HDFCCSONLY:
-        case HDFCCS:
-            return hdfCcsReader.Advance(nSteps);
-        case Fastq:
-            return fastqReader.Advance(nSteps);
-        case PBBAM:
-        case Fourbit:
-        case None:
-            UNREACHABLE();
-            break;
-    }
-    return false;
-}
-
-void ReaderAgglomerate::Close() {
-    switch(fileType) {
-        case Fasta:
-            fastaReader.Close();
-            break;
-        case Fastq:
-            fastqReader.Close();
-            break;
-        case HDFPulse:
-        case HDFBase:
-            hdfBasReader.Close();
-            break;
-        case HDFCCSONLY:
-        case HDFCCS:
-            hdfCcsReader.Close();
-            break;
-        case PBBAM:
-#ifdef USE_PBBAM
-            RESET_PBBAM_PTRS();
-            break;
-#endif
-        case Fourbit:
-        case None:
-            UNREACHABLE();
-            break;
-    }
-}
-
diff --git a/libcpp/alignment/files/ReaderAgglomerate.hpp b/libcpp/alignment/files/ReaderAgglomerate.hpp
deleted file mode 100644
index 0955498..0000000
--- a/libcpp/alignment/files/ReaderAgglomerate.hpp
+++ /dev/null
@@ -1,136 +0,0 @@
-#ifndef _BLASR_READER_AGGLOMERATE_HPP_
-#define _BLASR_READER_AGGLOMERATE_HPP_
-
-#include <cstdlib>
-
-#include "Enumerations.h"
-#include "reads/ReadType.hpp"
-#include "files/BaseSequenceIO.hpp"
-
-#include "FASTAReader.hpp"
-#include "FASTQReader.hpp"
-#include "CCSSequence.hpp"
-#include "SMRTSequence.hpp"
-#include "StringUtils.hpp"
-
-#include "HDFBasReader.hpp"
-#include "HDFCCSReader.hpp"
-
-#ifdef USE_PBBAM
-#include "pbbam/BamFile.h"
-#include "pbbam/EntireFileQuery.h"
-#include "pbbam/BamRecord.h"
-#endif
-
-class ReaderAgglomerate : public BaseSequenceIO {
-  FASTAReader fastaReader;
-  FASTQReader fastqReader;
-  int readQuality;
-  int stride;
-  int start;
-  float subsample;
-  bool useRegionTable;
-  bool ignoreCCS;
-  ReadType::ReadTypeEnum readType;
-
-public:
-  //
-  // Create interfaces for reading hdf 
-  //
-  T_HDFBasReader<SMRTSequence>  hdfBasReader;
-  HDFCCSReader<CCSSequence>     hdfCcsReader;
-  vector<SMRTSequence>          readBuffer;
-  vector<CCSSequence>           ccsBuffer;
-  string readGroupId;
-
-public:
-  void SetToUpper();
-
-  void InitializeParameters();
-  ReaderAgglomerate();
-
-  ReaderAgglomerate(float _subsample);
-
-  ReaderAgglomerate(int _stride);
-
-  ReaderAgglomerate(int _start, int _stride);
-
-  void GetMovieName(string &movieName);
-
-  /// Get BindingKit, SequencingKit and Base Caller Version from h5.
-  ///
-  /// /param [out] sequencingKit - sequencingKit from 
-  /// /ScanData/RunInfo/SequencingKit.
-  ///
-  /// /param [out] bindingKit - BindingKit from 
-  /// /ScanData/RunInfo/BindingKit.
-  ///
-  /// /param [out] baseCallerVersion - Base Caller Version
-  /// from /PulseData/BaseCalls/ChangeListID.
-  ///
-  void GetChemistryTriple(string & bindingKit, 
-                          string & sequencingKit, 
-                          string & baseCallerVersion);
- 
-  bool FileHasZMWInformation();
-
-  void SkipReadQuality();
-
-  void IgnoreCCS();
-
-  void UseCCS();
-
-  int Initialize(string &pFileName);
-
-  bool SetReadFileName(string &pFileName);
-
-  int Initialize(FileType &pFileType, string &pFileName);
-
-  bool HasRegionTable();
-
-  int Initialize();
-
-  ReaderAgglomerate &operator=(ReaderAgglomerate &rhs);
-
-  bool Subsample(float rate);
-
-  // Set read type to SUBREAD, CCS, or UNKNOWN.
-  void SetReadType(const ReadType::ReadTypeEnum & readType_);
-  
-  // returns read type, SUBREAD, CCS, or UNKNOWN
-  ReadType::ReadTypeEnum GetReadType();
-
-public:
-  int GetNext(FASTASequence &seq);
-  int GetNext(FASTQSequence &seq);
-  int GetNext(SMRTSequence &seq);
-  int GetNext(CCSSequence &seq);
-
-  template<typename T_Sequence>
-      int GetNext(T_Sequence & seq, int & randNum);
-
-  int GetNextBases(SMRTSequence & seq, bool readQVs);
-
-  int Advance(int nSteps);
-
-  void Close();
-
-#ifdef USE_PBBAM
-public:
-  // Define reader to fetch sequences from bam.
-  PacBio::BAM::BamFile * bamFilePtr;
-  PacBio::BAM::EntireFileQuery * entireFileQueryPtr;
-  PacBio::BAM::EntireFileQuery::iterator bamIterator;
-#endif
-};
-
-
-template<typename T_Sequence>
-int ReadChunkByNReads(ReaderAgglomerate &reader, vector<T_Sequence> &reads, int maxNReads);
-
-template<typename T_Sequence>
-int ReadChunkBySize (ReaderAgglomerate &reader, vector<T_Sequence> &reads, int maxMemorySize);
-
-#include "files/ReaderAgglomerateImpl.hpp"
-
-#endif
diff --git a/libcpp/alignment/files/ReaderAgglomerateImpl.hpp b/libcpp/alignment/files/ReaderAgglomerateImpl.hpp
deleted file mode 100644
index c50fafa..0000000
--- a/libcpp/alignment/files/ReaderAgglomerateImpl.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef _BLASR_READER_AGGLOMERATE_IMPL_HPP_
-#define _BLASR_READER_AGGLOMERATE_IMPL_HPP_
-
-template<typename T_Sequence>
-int ReaderAgglomerate::GetNext(T_Sequence & seq, int & randNum) {
-    randNum = rand();
-    return GetNext(seq);
-}
-
-template<typename T_Sequence>
-int ReadChunkByNReads(ReaderAgglomerate &reader, vector<T_Sequence> &reads, int maxNReads) {
-    T_Sequence seq;
-    int nReads = 0;
-    while(nReads < maxNReads) {
-        if (reader.GetNext(seq)) {
-            reads.push_back(seq);
-            ++nReads;
-        }
-        else {
-            break;
-        }
-    }
-    return nReads;
-}
-
-template<typename T_Sequence>
-int ReadChunkBySize (ReaderAgglomerate &reader, vector<T_Sequence> &reads, int maxMemorySize) {
-    T_Sequence seq;
-    int nReads = 0;
-    int totalStorage = 0;
-    while (totalStorage < maxMemorySize) {
-        if (reader.GetNext(seq)) {
-            reads.push_back(seq);
-            totalStorage += seq.GetStorageSize();
-            nReads++;
-        }
-        else {
-            break;
-        }
-    }
-    return nReads;
-}
-
-#endif
diff --git a/libcpp/alignment/format/BAMPrinter.hpp b/libcpp/alignment/format/BAMPrinter.hpp
deleted file mode 100644
index db70308..0000000
--- a/libcpp/alignment/format/BAMPrinter.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef _BLASR_FORMAT_BAMPRINTER_HPP_
-#define _BLASR_FORMAT_BAMPRINTER_HPP_ 
-
-#ifdef USE_PBBAM
-#include <sstream>
-#include <stdint.h>
-#include "format/SAMPrinter.hpp"
-#include "pbbam/BamHeader.h"
-#include "pbbam/BamWriter.h"
-
-template<typename T_Sequence>
-void AlignmentToBamRecord(T_AlignmentCandidate & alignment, 
-        T_Sequence & read, PacBio::BAM::BamRecord & bamRecord, 
-        AlignmentContext & context, SupplementalQVList & qvList,
-        Clipping clipping, bool cigarUseSeqMatch);
-
-namespace BAMOutput {
-
-template<typename T_Sequence>
-void PrintAlignment(T_AlignmentCandidate &alignment, T_Sequence &read,
-        PacBio::BAM::BamWriter &bamWriter, AlignmentContext &context, 
-        SupplementalQVList & qvList, Clipping clipping, 
-        bool cigarUseSeqMatch=false);
-}
-
-#include "BAMPrinterImpl.hpp"
-
-#endif
-#endif
diff --git a/libcpp/alignment/format/BAMPrinterImpl.hpp b/libcpp/alignment/format/BAMPrinterImpl.hpp
deleted file mode 100644
index 9dd66c6..0000000
--- a/libcpp/alignment/format/BAMPrinterImpl.hpp
+++ /dev/null
@@ -1,168 +0,0 @@
-#ifndef _BLASR_BAM_PRINTER_IMPL_HPP_
-#define _BLASR_BAM_PRINTER_IMPL_HPP_
-
-#ifdef USE_PBBAM
-
-#include <algorithm>
-#include "utils/SMRTTitle.hpp"
-using namespace BAMOutput;
-using namespace std;
-#include "pbbam/BamRecord.h"
-#include "pbbam/BamFile.h"
-
-template<typename T_Sequence>
-void AlignmentToBamRecord(T_AlignmentCandidate & alignment, 
-        T_Sequence & read, PacBio::BAM::BamRecord & bamRecord,
-        AlignmentContext & context, SupplementalQVList & qvList,
-        Clipping clipping, bool cigarUseSeqMatch) {
-    assert(clipping == SAMOutput::soft or clipping == SAMOutput::subread);
-
-    // Build from scratch if input reads are not from pbbam files.
-    // Otherwise, use API provided by pbbam to make alignments from bamRecords.
- 
-    bool buildFromScratch = false;
-    if (dynamic_cast<SMRTSequence*>(&read) == NULL) {
-        //not SMRTSequence 
-        buildFromScratch = true;
-    } else { //is SMRTSequence, but not copied from bam.
-        if (not read.copiedFromBam) {
-            buildFromScratch = true;
-        }
-    }
-
-    // build cigar string.
-    string cigarString;
-    T_Sequence alignedSequence;
-    DNALength prefixSoftClip = 0, suffixSoftClip = 0;
-    DNALength prefixHardClip = 0, suffixHardClip = 0;
-    CreateCIGARString(alignment, read, cigarString, clipping,
-                      prefixSoftClip, suffixSoftClip, 
-                      prefixHardClip, suffixHardClip,
-                      cigarUseSeqMatch);
-    SetAlignedSequence(alignment, read, alignedSequence, clipping);
-    PacBio::BAM::Cigar cigar = PacBio::BAM::Cigar::FromStdString(cigarString);
- 
-    // build flag
-    uint16_t flag;
-    BuildFlag(alignment, context, flag);
-
-    // Get sequence string.
-    string seqString;
-    seqString.assign((char*)alignedSequence.seq, alignedSequence.length);
-
-    // Get alignment starting position on reference sequence forward strand.
-    PacBio::BAM::Position pos = 0;
-    PacBio::BAM::Strand strand;
-    if (alignment.tStrand == 0) {
-        pos = static_cast<PacBio::BAM::Position>(alignment.TAlignStart());
-        strand = PacBio::BAM::Strand::FORWARD;
-    } else {
-        pos = static_cast<PacBio::BAM::Position>(alignment.tLength - (alignment.TAlignStart() + alignment.TEnd()));
-        strand = PacBio::BAM::Strand::REVERSE;
-    }
-
-    if (buildFromScratch) {
-        SMRTTitle smrtTitle(alignment.qName);
-        if (smrtTitle.isSMRTTitle) {
-            bamRecord.Impl().Name(smrtTitle.ToString());
-        } else {
-            cout << "ERROR, can not convert non-pacbio reads to pbbam record." << endl;
-            exit(-1);
-        }
-        bamRecord.Impl().SetSequenceAndQualities(seqString, alignedSequence.qual.ToString());
-        bamRecord.Impl().CigarData(cigar);
-        bamRecord.Impl().Bin(0);
-        bamRecord.Impl().InsertSize(0);
-        bamRecord.Impl().MapQuality(static_cast<uint8_t>(alignment.mapQV));
-        bamRecord.Impl().MatePosition(static_cast<PacBio::BAM::Position>(-1));
-        bamRecord.Impl().MateReferenceId(static_cast<int32_t>(-1));
-        bamRecord.Impl().Position(pos);
-        bamRecord.Impl().ReferenceId(static_cast<int32_t>(alignment.tIndex));
-
-        if (strand == PacBio::BAM::Strand::REVERSE) {
-            bamRecord.Impl().SetReverseStrand(true);
-        }
-
-        // Add tags required for bax->bam.
-        PacBio::BAM::TagCollection tags;
-        tags["RG"] = context.readGroupId;
-        if (dynamic_cast<CCSSequence*>(&read) == NULL) { // subread
-            tags["qs"] = read.subreadStart;
-            tags["qe"] = read.subreadEnd;
-            /// Number of passes for a subread should always be 1.
-            tags["np"] = 1;
-        } else { // ccs read
-            /// Number of passes for ccs reads.
-            tags["np"] = (static_cast<CCSSequence*>(&read))->numPasses;
-        }
-        tags["zm"] = read.zmwData.holeNumber;
-
-        // Build QV tags.
-        // Skip tags not define in BAM specification 3.0. 
-        // including XL, XT, XQ, XS, XE, YS, YE.
-        //
-        // Write out optional quality values.  If qvlist does not
-        // have any qv's signaled to print, this is a no-op.
-        //
-        // First transform characters that are too large to printable ones.
-        qvList.FormatQVOptionalFields(alignedSequence);
-
-        // Add QVs to BamRecordImpl.
-        string insertionQVs, deletionQVs, substitutionQVs, mergeQVs, substitutionTags, deletionTags;
-        bool alnReverse = (alignment.tStrand == 1); // reverse-complement alignment
-        // If this is a reverse-complement alignment, bases and QVs of 
-        // alignedSequence are reverse(-complement) of the sequence read
-        // from bax.h5 file. With PB BAM specification 3.0, QVs will be stored 
-        // in BAM Record, therefore, reverse orders of QVs before add QV tags. 
-        if (alignedSequence.GetQVs("InsertionQV", insertionQVs, alnReverse)) { 
-            tags["iq"] = insertionQVs;
-        }
-        if (alignedSequence.GetQVs("DeletionQV", deletionQVs, alnReverse)) {
-            tags["dq"] = deletionQVs;
-        } 
-        if (alignedSequence.GetQVs("SubstitutionQV", substitutionQVs, alnReverse)) {
-            tags["sq"] = substitutionQVs;
-        } 
-        if (alignedSequence.GetQVs("MergeQV", mergeQVs, alnReverse)) {
-            tags["mq"] = mergeQVs;
-        }
-        // substitutionTag is not included by default
-        if (alignedSequence.GetQVs("DeletionTag", deletionTags, alnReverse)) {
-            tags["dt"] = deletionTags;
-        }
-        bamRecord.Impl().Tags(tags);
-    } else {
-        // The following code can be used to hard-clip reads, if needed. 
-        // PacBio::BAM::Position clipStart = read.bamRecord.QueryStart() + alignment.QAlignStart();
-        // PacBio::BAM::Position clipEnd = read.bamRecord.QueryStart() + alignment.QAlignEnd();
-        // bamRecord = PacBio::BAM::BamRecord::Clipped(read.bamRecord, 
-        //                PacBio::BAM::ClipType::CLIP_TO_QUERY,
-        //                clipStart, clipEnd).
-        bamRecord = PacBio::BAM::BamRecord::Mapped(read.bamRecord,
-                        static_cast<int32_t>(alignment.tIndex),
-                        static_cast<PacBio::BAM::Position>(pos),
-                        strand, cigar, 
-                        static_cast<uint8_t>(alignment.mapQV));
-    }
-
-    // Add tags common for bax->bam and bam->bam.
-    bamRecord.Impl().AddTag("AS", alignment.score);
-    bamRecord.Impl().AddTag("NM", context.editDist);
-
-    // Set Flag 
-    bamRecord.Impl().Flag(static_cast<uint32_t>(flag));
-
-}
-
-template<typename T_Sequence>
-void BAMOutput::PrintAlignment(T_AlignmentCandidate &alignment, T_Sequence &read,
-        PacBio::BAM::BamWriter &bamWriter, AlignmentContext &context, 
-        SupplementalQVList & qvList, Clipping clipping, bool cigarUseSeqMatch) {
-
-    PacBio::BAM::BamRecord bamRecord;
-    AlignmentToBamRecord(alignment, read, bamRecord, context, qvList, clipping, cigarUseSeqMatch);
-    bamWriter.Write(bamRecord);
-}
-#endif
-
-#endif
diff --git a/libcpp/alignment/format/CompareSequencesPrinter.cpp b/libcpp/alignment/format/CompareSequencesPrinter.cpp
deleted file mode 100644
index 581664a..0000000
--- a/libcpp/alignment/format/CompareSequencesPrinter.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "CompareSequencesPrinter.hpp"
-
-void CompareSequencesOutput::PrintHeader(std::ostream &out) {
-  out << "qName qLength qStart qEnd qStrand "
-      << "tName tLength tStart tEnd tStrand "
-      << "score numMatch numMismatch numIns numDel "
-      << "mapQV qAlignedSeq matchPattern tAlignedSeq"
-      << std::endl;
-}
-
diff --git a/libcpp/alignment/format/CompareSequencesPrinter.hpp b/libcpp/alignment/format/CompareSequencesPrinter.hpp
deleted file mode 100644
index bd5fe34..0000000
--- a/libcpp/alignment/format/CompareSequencesPrinter.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef _BLASR_COMPARE_SEQUENCES_PRINTER_HPP_
-#define _BLASR_COMPARE_SEQUENCES_PRINTER_HPP_
-
-#include <fstream>
-#include <iostream>
-#include "algorithms/alignment/AlignmentUtils.hpp"
-
-namespace CompareSequencesOutput{
-
-void PrintHeader(std::ostream &out);
-
-template<typename T_Alignment, typename T_QuerySequence, typename T_TargetSequence>
-void Print(T_Alignment &alignment, 
-    T_QuerySequence &qseq, T_TargetSequence &tseq, 
-    std::ostream &out, bool refForward=true);
-
-}
-
-#include "CompareSequencesPrinterImpl.hpp"
-
-#endif
diff --git a/libcpp/alignment/format/CompareSequencesPrinterImpl.hpp b/libcpp/alignment/format/CompareSequencesPrinterImpl.hpp
deleted file mode 100644
index e285780..0000000
--- a/libcpp/alignment/format/CompareSequencesPrinterImpl.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-#ifndef _BLASR_COMPARE_SEQUENCES_PRINTER_IMPL_HPP_
-#define _BLASR_COMPARE_SEQUENCES_PRINTER_IMPL_HPP_
-
-template<typename T_Alignment, typename T_QuerySequence, typename T_TargetSequence>
-void CompareSequencesOutput::Print(T_Alignment &alignment, 
-    T_QuerySequence &qseq, T_TargetSequence &tseq, 
-    std::ostream &out, bool refForward) {
-
-	std::string queryStr, alignStr, textStr;
-	CreateAlignmentStrings(alignment, qseq, tseq, textStr, alignStr, queryStr);
-
-	if (refForward == false) {
-		if (alignment.qStrand == 1 and alignment.tStrand == 0) {
-			DNALength alignedSeqToEnd = 0;
-			//			DNALength alignedTSeqToEnd = 0;
-			if (alignment.blocks.size() > 0) {
-				// First compute the offset of the reverse of the substring that was aligned.
-				
-				alignedSeqToEnd = alignment.qLength - (alignment.qAlignedSeqPos + alignment.qAlignedSeq.length);
-				DNALength alignEndToSubstrEnd = alignment.qAlignedSeq.length - (alignment.qPos + alignment.blocks[alignment.blocks.size()-1].qPos + alignment.blocks[alignment.blocks.size()-1].length);
-				alignment.qPos = alignEndToSubstrEnd;
-			}
-			alignment.qAlignedSeqPos = alignedSeqToEnd;
-			alignment.qStrand = 0;
-			alignment.tStrand = 1;
-							
-		}	
-	}
-	
-	PrintCompareSequencesAlignmentStats(alignment, out);
-	// change the spaces in the align string to *s for easy parsing of alignment
-	VectorIndex i;
-	for (i = 0; i < alignStr.size(); i++ ) { 
-		if (alignStr[i] == ' ') alignStr[i] = '*';
-	}
-
-	if (refForward == false and alignment.tStrand == 1) {
-		//
-		// Build reverse complement strings.
-		//
-        std::string queryStrRC, alignStrRC, textStrRC;
-		queryStrRC.resize(queryStr.size());
-		alignStrRC.resize(alignStr.size());
-		textStrRC.resize(alignStr.size());
-		
-		DNALength pos;
-		DNALength alignStringLength = alignStr.size();
-		for (pos = 0; pos < alignStringLength; pos++ ) {
-			if (queryStr[pos] != '-') {
-				queryStrRC[alignStringLength-pos-1] = ReverseComplementNuc[queryStr[pos]];
-			}
-			else {
-				queryStrRC[alignStringLength-pos-1] = '-';
-			}
-			alignStrRC[alignStringLength-pos-1] = alignStr[pos];
-			
-			if (textStr[pos] != '-') {
-				textStrRC[alignStringLength-pos-1] = ReverseComplementNuc[textStr[pos]];
-			}
-			else {
-				textStrRC[alignStringLength-pos-1] = '-';
-			}
-		}
-		queryStr = queryStrRC;
-		alignStr = alignStrRC;
-		textStr  = textStrRC;
-	}
-					
-    // Headers of m5 format are: 
-    // qName qSeqLength qStart qEnd qStrand 
-    // tName tSeqLength tStart tEnd tStrand
-    // score numMatch numMismatch numIns numDel
-    // mapQV qAlignedSeq matchPattern tAlignedSeq
-	out << queryStr << " " << alignStr << " " << textStr << std::endl;
-}
-
-#endif
diff --git a/libcpp/alignment/format/IntervalPrinter.cpp b/libcpp/alignment/format/IntervalPrinter.cpp
deleted file mode 100644
index e9cd328..0000000
--- a/libcpp/alignment/format/IntervalPrinter.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-#include "IntervalPrinter.hpp"
-
-void IntervalOutput::Print(T_AlignmentCandidate &alignment, 
-    std::ostream &outFile) {
-
-    int mapQV = alignment.mapQV;
-    int lastBlock = alignment.blocks.size()-1;
-    if (lastBlock < 0) return;
-
-    outFile << alignment.qName << " " << alignment.tName << " " 
-            << alignment.score << " " 
-            << alignment.pctSimilarity << " " 
-            << alignment.qStrand << " " 
-            << alignment.QAlignStart() << " "
-            << alignment.QAlignEnd() << " "
-            << alignment.qLength << " "
-            << alignment.tStrand << " "
-            << alignment.TAlignStart() << " "
-            << (alignment.tAlignedSeqPos + alignment.tPos
-                + alignment.blocks[lastBlock].tPos 
-                + alignment.blocks[lastBlock].length) << " "
-            << alignment.tLength << " " 
-            << mapQV << std::endl;
-    //Remove the last four fields from m4 format.
-    //<< " " << alignment.nCells << " " << alignment.clusterScore 
-    //<< " " << alignment.probScore << " " 
-    //<< alignment.numSignificantClusters 
-} 
-
-// Print an alignment from a sam file in Interval (m 4) format.
-void IntervalOutput::PrintFromSAM(AlignmentCandidate<> &alignment, 
-    std::ostream &outFile) {
-
-    int mapQV = alignment.mapQV;
-    int lastBlock = alignment.blocks.size()-1;
-    if (lastBlock < 0) return;
-
-    outFile << alignment.qName << " " 
-            << alignment.tName << " " 
-            << alignment.score << " " 
-            << alignment.pctSimilarity << " " 
-            << alignment.qStrand << " " 
-            << alignment.QAlignStart() << " "
-            << alignment.QAlignEnd() << " "
-            << alignment.qLength << " "
-            << alignment.tStrand << " ";
-
-    DNALength tS = alignment.TAlignStart(); 
-    DNALength tE = alignment.tAlignedSeqPos + alignment.tPos
-                    + alignment.blocks[lastBlock].tPos 
-                    + alignment.blocks[lastBlock].length;
-
-    if (alignment.tStrand == 1) {
-        // Since the alignment is from a SAM file and the reference 
-        // is reverse, compute tS and tE in the coordinate of the reverse
-        // complementary sequence
-        DNALength tmp = tS;
-        tS = alignment.tLength - tE;
-        tE = alignment.tLength - tmp;
-    }
-    outFile << tS << " " << tE << " " << alignment.tLength << " " 
-            << mapQV << std::endl;
-}
-
-void IntervalOutput::PrintHeader(std::ostream &out) {
-    out << "qName tName score percentSimilarity qStrand " 
-        << "qStart qEnd qLength tStrand tStart tEnd tLength mapQV" 
-        << std::endl;
-    //ncells clusterScore probscore numSigClusters" << endl;
-}
diff --git a/libcpp/alignment/format/IntervalPrinter.hpp b/libcpp/alignment/format/IntervalPrinter.hpp
deleted file mode 100644
index a1efdfc..0000000
--- a/libcpp/alignment/format/IntervalPrinter.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef _BLASR_INTERVAL_ALIGNMENT_PRINTER_HPP_
-#define _BLASR_INTERVAL_ALIGNMENT_PRINTER_HPP_
-
-#include "datastructures/alignment/AlignmentCandidate.hpp"
-#include "FASTQSequence.hpp"
-
-namespace IntervalOutput{
-
-void Print(T_AlignmentCandidate &alignment, 
-    std::ostream &outFile);
-
-// Print an alignment from a sam file in Interval (m 4) format.
-void PrintFromSAM(AlignmentCandidate<> &alignment, 
-    std::ostream &outFile);
-
-void PrintHeader(std::ostream &out);
-
-}
-
-
-#endif
diff --git a/libcpp/alignment/format/SAMHeaderPrinter.cpp b/libcpp/alignment/format/SAMHeaderPrinter.cpp
deleted file mode 100644
index c5c8eca..0000000
--- a/libcpp/alignment/format/SAMHeaderPrinter.cpp
+++ /dev/null
@@ -1,432 +0,0 @@
-#include "format/SAMHeaderPrinter.hpp"
-
-const std::string SAMVERSION("1.5");
-const std::string PBBAMVERSION("3.0b7");
-const std::string PACBIOPL("PACBIO");
-
-std::vector<SAMHeaderItem> MakeSAMHeaderItems(const std::string & fromString){
-    std::vector<SAMHeaderItem> items;
-
-    std::vector<std::string> vs;
-    Splice(fromString, ";", vs);
-    std::vector<std::string>::iterator it;
-    for (it = vs.begin(); it != vs.end(); it++) {
-        items.push_back(SAMHeaderItem(*it));
-    }
-    return items;
-}
-
-// SAMHeaderItem
-SAMHeaderItem::SAMHeaderItem(const std::string & fromString) {
-    std::size_t pos = fromString.find("=");
-    if (pos != std::string::npos) {
-        _key = fromString.substr(0, pos);
-        _val = fromString.substr(pos + 1);
-    }
-}
-
-std::string SAMHeaderItem::ToString() {
-    std::stringstream ss;
-    if (_key != "") ss << _key << "=" << _val;
-    return ss.str();
-}
-
-// SAMHeaderTag
-SAMHeaderTag::SAMHeaderTag(const std::string & fromString) {
-    size_t pos = fromString.find(":");
-    if (pos != string::npos) {
-        _tagName = fromString.substr(0, pos);
-        string tagValue = fromString.substr(pos + 1);
-        if (tagValue.find("=") != std::string::npos) {
-            AddItems(tagValue);
-        } else {
-            _tagValue = tagValue;
-        }
-    } else {
-        cout << "Unable to parse SAM/BAM header" << fromString << endl;
-        exit(1);
-    }
-}
-
-std::string SAMHeaderTag::ToString() {
-    std::stringstream ss;
-    if (_tagName != "") {
-        ss << _tagName << ":";
-        if (_tagValue != "") {
-            ss << _tagValue;
-        } else {
-            std::vector<SAMHeaderItem>::iterator it;
-            for(it = _tagItems.begin(); it != _tagItems.end(); it++) {
-                if (it != _tagItems.begin() and (*it).ToString() != "") {
-                    ss << ";";
-                }
-                ss << (*it).ToString();
-            }
-        }
-    }
-    return ss.str();
-}
-
-std::string SAMHeaderTag::TagName() const {
-    return _tagName;
-}
-
-void SAMHeaderTag::AddItem(SAMHeaderItem & item) {
-    _tagItems.push_back(item);
-}
-
-void SAMHeaderTag::AddItem(const std::string & fromString) {
-    _tagItems.push_back(SAMHeaderItem(fromString));
-}
-
-void SAMHeaderTag::AddItems(const std::string & fromString) {
-    // SAM Header Items: key=value;key=value
-    std::vector<SAMHeaderItem> items = MakeSAMHeaderItems(fromString);
-    _tagItems.insert(_tagItems.begin(), items.begin(), items.end());
-}
-
-// SAMHeaderGroup
-SAMHeaderGroup::SAMHeaderGroup(const std::string & fromString) {
-    if (fromString == "" || fromString[0] != '@') return;
-    std::vector<std::string> vs;
-    Splice(fromString.substr(1), "\t", vs);
-    if (vs.size() >= 1) {
-        std::vector<std::string>::iterator it = vs.begin();
-        _groupName = (*it);
-        it++;
-        for(; it != vs.end(); it++) {
-            _tags.push_back(SAMHeaderTag(*it));
-        }
-    }
-}
-
-std::string SAMHeaderGroup::ToString() {
-    std::stringstream ss;
-    ss << "@" << _groupName;
-    SAMHeaderTags::iterator it;
-    for (it = _tags.begin(); it != _tags.end(); it++) {
-        ss << "\t" << (*it).ToString();
-    }
-    return ss.str();
-}
-
-std::ostream & operator << (std::ostream& os, SAMHeaderGroup & g) {
-    return os << g.ToString();
-}
-
-/// returns true if this SAMHeaderGroup contains a tag tagName.
-bool SAMHeaderGroup::HasTag(std::string tagName) {
-    for(SAMHeaderTags::iterator it = _tags.begin(); it != _tags.end(); it++) {
-        if ((*it).TagName() == tagName) {
-            return true;
-        } 
-    }
-    return false;
-}
-
-/// returns value of a tag if it exists, otherwise, return an empty string. 
-std::string SAMHeaderGroup::Tag(const std::string & tagName) {
-    for(SAMHeaderTags::iterator it = _tags.begin(); it != _tags.end(); it++) {
-        if ((*it).TagName() == tagName) {
-            return (*it).ToString();
-        }
-    }
-    return "";
-}
-
-// SAMHeaderGroupWithID
-std::string SAMHeaderGroupWithID::ID() const {return _id;}
-
-SAMHeaderGroupWithID::SAMHeaderGroupWithID(const std::string & fromString)
-: SAMHeaderGroup(fromString) {
-    assert (HasTag("ID"));
-    if (not HasTag("ID")) {
-        assert("ERROR! SAM Header read/program group must has ID tag." == 0);
-    }
-    _id = Tag("ID");
-}
-
-// SAMHeaderRG
-SAMHeaderRG::SAMHeaderRG(const std::string & id, const std::string & pl, 
-            const std::string & pu, const std::vector<SAMHeaderItem> & dsItems) {
-    _groupName = "RG";
-    _id = id;
-    _tags.push_back(SAMHeaderTag("ID", id));
-    _tags.push_back(SAMHeaderTag("PU", pu));
-    _tags.push_back(SAMHeaderTag("PL", pl));
-    _tags.push_back(SAMHeaderTag("DS", dsItems));
-}
-
-SAMHeaderRG::SAMHeaderRG(const std::string & fromString)
-:SAMHeaderGroupWithID(fromString) {
-    if (_groupName != "RG") {
-        assert("ERROR! SAM Header read group should start with @RG" == 0);
-    }
-}
-
-// SAMHeaderPG
-SAMHeaderPG::SAMHeaderPG(const std::string & id, const std::string & progName, 
-        const std::string & progVersion, const std::string & commandLine) {
-    _groupName = "PG";
-    _id = id;
-    _tags.push_back(SAMHeaderTag("ID", id));
-    _tags.push_back(SAMHeaderTag("PN", progName));
-    _tags.push_back(SAMHeaderTag("VN", progVersion));
-    _tags.push_back(SAMHeaderTag("CL", commandLine));
-}
-
-SAMHeaderPG::SAMHeaderPG(const std::string & fromString)
-: SAMHeaderGroupWithID(fromString) {
-    if (_groupName != "PG") {
-        assert("ERROR! SAM Header program group must start with @PG" == 0);
-    }
-}
-
-// SAMHeaderSQ
-SAMHeaderSQ::SAMHeaderSQ(const std::string & sn, const DNALength & ln, const std::string & md5)
-: SAMHeaderSQ(sn, std::to_string(ln), md5) {}
-
-SAMHeaderSQ::SAMHeaderSQ(const std::string & sn, const string & ln, const std::string & md5)
-: SAMHeaderGroup() {
-    _groupName = "SQ";
-    _tags.push_back(SAMHeaderTag("SN", sn));
-    _tags.push_back(SAMHeaderTag("LN", ln));
-    _tags.push_back(SAMHeaderTag("M5", md5));
-}
-
-SAMHeaderSQ::SAMHeaderSQ(const std::string & fromString)
-: SAMHeaderGroup(fromString) {
-    if (_groupName != "SQ") {
-        assert("ERROR! SAM Header soring order must start with @SO" == 0);
-    }
-}
-
-// SAMHeaderPrinter
-std::string SAMHeaderPrinter::ToString() {
-    std::stringstream ss;
-    ss << _hd.ToString()
-        << _sqs.ToString()
-        << _rgs.ToString() 
-        << _pgs.ToString()
-        << _cos.ToString();
-        return ss.str();
-}
-/*
-/// Add a SAM Header @RG entry, including the following tags:
-/// ID (identifier), PL (platform), PU (platform unit), 
-/// DS (description, which may have many items)
-SAMHeaderPrinter & SAMHeaderPrinter::AddRG(std::string & id, std::string & pl, std::string & pu, std::string & ds) {
-    _rgs.Add(SAMHeaderRG(id, pl, pu, ds));
-    return *this;
-}*/
-
-/// Add a SAM Header @RG entry from string, which may contain arbitary tags.
-SAMHeaderPrinter & SAMHeaderPrinter::AddRG(const std::string & fromString) {
-    _rgs.Add(SAMHeaderRG(fromString)); 
-    return *this;
-}
-
-/// Add a SAM Header @PG entry, including the following tags:
-/// ID, progName, progVersion, commandLine. @PG must have unique ID.
-SAMHeaderPrinter & SAMHeaderPrinter::AddPG(std::string & id, std::string & progName, std::string & progVersion, std::string & commandLine) {
-    _pgs.Add(SAMHeaderPG(id, progName, progVersion, commandLine));
-    return *this;
-}
-
-/// Add a SAM Header @PG entry from string, which may contain arbitary tags.
-SAMHeaderPrinter & SAMHeaderPrinter::AddPG(const std::string & fromString) {
-    _pgs.Add(SAMHeaderPG(fromString));
-    return *this;
-}
-
-/// Add a SAM Header @CO entry from string.
-SAMHeaderPrinter & SAMHeaderPrinter::AddCO(const std::string & fromString) {
-    _cos.Add(fromString);
-    return *this;
-}
-
-/// \returns SAMHeaderGroup @HD
-SAMHeaderGroup SAMHeaderPrinter::MakeHD(const std::string & sortingOrder) {
-    std::stringstream ss;
-    ss << "@HD" << "\t" 
-        << "VN:" << SAMVERSION << "\t" 
-        << "SO:" << sortingOrder << "\t"
-        << "pb:" << PBBAMVERSION << std::endl;
-    return SAMHeaderGroup(ss.str());
-}
-
-/// \returns SAMHeaderSQs, SAM Header @SQ groups
-SAMHeaderSQs SAMHeaderPrinter::MakeSQs(SequenceIndexDatabase<FASTASequence> & seqdb) {
-    SAMHeaderSQs sqs;
-    for (int i = 0; i < seqdb.nSeqPos-1; i++) {
-        std::string md5 = "";
-        if (seqdb.md5.size() == seqdb.nSeqPos - 1) {
-            md5 = seqdb.md5[i];
-        }
-        string seqName;
-        seqdb.GetName(i, seqName);
-        sqs.Add(SAMHeaderSQ(seqName, seqdb.GetLengthOfSeq(i), md5));
-    }
-    return sqs;
-}
-
-SAMHeaderPrinter::SAMHeaderPrinter(const std::string & sortingOrder,
-        SequenceIndexDatabase<FASTASequence> & seqdb,
-        const std::vector<std::string> & readsFiles,
-        const ReadType::ReadTypeEnum & readType,
-        const SupplementalQVList & samQVs,
-        const std::string & progName, 
-        const std::string & progVersion,
-        const std::string & commandLine)  
-    :_sortingOrder(sortingOrder), _readsFiles(readsFiles), _seqdb(seqdb) {
-    if (readsFiles.size() == 0) {
-        assert("Must specify input reads files" == 0);
-    }
-    // all read types supported, no check needed.
-
-    // Determine fileType based on extension of the first read file.
-    std::string rf = readsFiles[0];
-    BaseSequenceIO::DetermineFileTypeByExtension(rf, fileType);
-
-    // Make @HD, @SQ, @RG 
-    _hd  = MakeHD(sortingOrder);
-    _sqs = MakeSQs(seqdb);
-    _rgs = MakeRGs(readsFiles, readType, samQVs);
-
-    // Make PGs and COs 
-    _pgs = MakePGs(readsFiles, progName, progVersion, commandLine);
-    _cos = MakeCOs(readsFiles);
-}
-
-/// \param[in] readsFiles - incoming reads files in BAM or other formats
-/// \param[in] readType - read type, must be either SUBREAD or CCS or UNKNOWN
-/// \param[in] samQVs - SupplementalQVList, an object that handles which 
-///                      QVs to print in SAM/BAM file.
-SAMHeaderRGs SAMHeaderPrinter::MakeRGs(const std::vector<std::string> & readsFiles,
-        const ReadType::ReadTypeEnum & readType,
-        const SupplementalQVList & samQVs) {
-    SAMHeaderRGs rgs;
-
-    if (fileType != PBBAM) {
-        ReaderAgglomerate * reader = new ReaderAgglomerate();
-        std::vector<std::string>::const_iterator rfit;
-        for(rfit = readsFiles.begin(); rfit != readsFiles.end(); rfit++) {
-            std::string rf(*rfit);
-            reader->SetReadFileName(rf);
-            reader->SetReadType(readType);
-            reader->Initialize();
-
-            // Get movie name from ReaderAgglomerate
-            std::string movieName;
-            reader->GetMovieName(movieName);
-
-            string bindingKit, sequencingKit, baseCallerVersion;
-            reader->GetChemistryTriple(bindingKit, sequencingKit, baseCallerVersion);
-            reader->Close();
-
-            std::vector<SAMHeaderItem> dsItems;
-            dsItems.push_back(SAMHeaderItem("READTYPE", ReadType::ToString(readType)));
-            dsItems.push_back(SAMHeaderItem("BINDINGKIT", bindingKit));
-            dsItems.push_back(SAMHeaderItem("SEQUENCINGKIT", sequencingKit));
-            dsItems.push_back(SAMHeaderItem("BASECALLERVERSION", baseCallerVersion));
-
-            // Add QVs, e.g., InsertionQV=iq;DeletionQV=dq;...
-            if (samQVs.useqv) {
-                for (int i = 0; i < samQVs.nTags; i++) {
-                    if (samQVs.useqv & (1 << i)) {
-                        dsItems.push_back(SAMHeaderItem(samQVs.qvNames[i], samQVs.qvTags[i]));
-                    }
-                }
-            }
-            rgs.Add(SAMHeaderRG(reader->readGroupId, PACBIOPL, movieName, dsItems));
-        }
-        delete reader;
-    } else {
-#ifdef USE_PBBAM
-        // TODO: use Derek's API to merge bamHeaders from different files when 
-        // it is in place. Use the following code for now. 
-        std::vector<std::string>::const_iterator rfit;
-        for(rfit = readsFiles.begin(); rfit != readsFiles.end(); rfit++) {
-            try {
-                PacBio::BAM::BamFile bamFile(*rfit);
-                PacBio::BAM::BamHeader header = bamFile.Header();
-                // Get read groups from bam header.
-                std::vector<PacBio::BAM::ReadGroupInfo> vrgs = header.ReadGroups();
-                std::vector<PacBio::BAM::ReadGroupInfo>::iterator rgit;
-                for (rgit = vrgs.begin(); rgit != vrgs.end(); rgit++) {
-                    rgs.Add(SAMHeaderRG((*rgit).ToSam()));
-                }
-            } catch (std::exception e) {
-                cout << "ERROR, unable to open bam file " << (*rfit) << endl;
-                exit(1);
-            }
-        }
-#else
-        REQUEST_PBBAM_ERROR();
-#endif
-    }
-    return rgs;
-}
-
-
-SAMHeaderPGs SAMHeaderPrinter::MakePGs(const std::vector<std::string> & readsFiles, 
-        const std::string & progName, const std::string & progVersion, 
-        const std::string & commandLine) {
-    SAMHeaderPGs pgs;
-
-    // program id, unique identifier for @PG lines;
-    int prog_id = 1;
-
-    if (fileType != PBBAM) {
-        // Reads files are not in BAM format, no other @PG lines.
-    } else {
-#ifdef USE_PBBAM
-        // Reads files are in BAM format, keep all @PG lines from Bam files.
-        // TODO: use Derek's API to merge bamHeaders from different files when 
-        // it is in place. Use the following code for now. 
-        std::vector<std::string>::const_iterator rfit;
-        for(rfit = readsFiles.begin(); rfit != readsFiles.end(); rfit++) {
-            PacBio::BAM::BamFile bamFile(*rfit);
-            PacBio::BAM::BamHeader bamHeader = bamFile.Header();
-            std::vector<PacBio::BAM::ProgramInfo> progs = bamHeader.Programs();
-            std::vector<PacBio::BAM::ProgramInfo>::iterator it;
-            for (it = progs.begin(); it != progs.end(); it++) {
-                pgs.Add(SAMHeaderPG((*it).ToSam()));
-                prog_id++; // Increase prog_id;
-            }
-        }
-#else
-        REQUEST_PBBAM_ERROR();
-#endif
-    }
-
-    pgs.Add(SAMHeaderPG(std::to_string(prog_id), progName, progVersion, commandLine));
-    return pgs;
-}
-
-SAMHeaderCOs SAMHeaderPrinter::MakeCOs(const std::vector<std::string> & readsFiles) {
-    SAMHeaderCOs cos;
-
-    if (fileType == PBBAM) {
-#ifdef USE_PBBAM
-        // Reads files are in BAM format, keep all @CO lines from Bam files.
-        std::vector<std::string>::const_iterator rfit;
-        for(rfit = readsFiles.begin(); rfit != readsFiles.end(); rfit++) {
-            PacBio::BAM::BamFile bamFile(*rfit);
-            PacBio::BAM::BamHeader bamHeader = bamFile.Header();
-            cos.Append(bamHeader.Comments());
-        }
-#else
-        REQUEST_PBBAM_ERROR();
-#endif
-    } // reads files are not in BAM format, no comments.
-    return cos;
-}
-
-#ifdef USE_PBBAM
-PacBio::BAM::BamHeader SAMHeaderPrinter::ToBamHeader() {
-    std::string headerStr = ToString();
-    return PacBio::BAM::BamHeader(headerStr);
-}
-#endif
-
diff --git a/libcpp/alignment/format/SAMHeaderPrinter.hpp b/libcpp/alignment/format/SAMHeaderPrinter.hpp
deleted file mode 100644
index 0b95da1..0000000
--- a/libcpp/alignment/format/SAMHeaderPrinter.hpp
+++ /dev/null
@@ -1,311 +0,0 @@
-#ifndef _BLASR_FILE_SAM_HEADER_PRINTER_
-#define _BLASR_FILE_SAM_HEADER_PRINTER_
-
-#include <string>
-#include <vector>
-#include <set>
-#include <iostream>
-#include <sstream>
-#include "Types.h"
-#include "Enumerations.h"
-#include "StringUtils.hpp"
-#include "files/BaseSequenceIO.hpp"
-#include "files/ReaderAgglomerate.hpp"
-#include "datastructures/alignmentset/SAMSupplementalQVList.hpp"
-
-/// This is a simple implementation for generating SAM Headers. 
-/// It is provided such that libblasr can compile with and without
-/// linking to lib PBBAM.
-/// * When compiled without linking to lib PBBAM, blasr should be 
-///   able to produce SAM output.
-/// * When compiled with lib PBBAM, blasr should be able to produce
-///   SAM and BAM output. If input is one or more than one BAM files,
-///   @PG and @CO info will be kept.
-
-#define REQUEST_PBBAM_ERROR() \
-    assert("libblasr must be compiled with lib PBBAM to consume bam files." == 0)
-
-class SAMHeaderItem {
-/// SAM Header Item: key=value
-public:
-    SAMHeaderItem(const std::string & key, const std::string & val)
-    :_key(key), _val(val) {}
-
-    SAMHeaderItem(const std::string & fromString);
-
-    std::string ToString();
-
-private:
-    std::string _key;
-    std::string _val;
-};
-
-std::vector<SAMHeaderItem> MakeSAMHeaderItems(const std::string & fromString);
-
-class SAMHeaderTag {
-public:
-    SAMHeaderTag() {} 
-
-    /// ID:12345
-    SAMHeaderTag(const std::string & tagName, const std::string & tagValue)
-    :_tagName(tagName), _tagValue(tagValue) {}
-
-    /// DS:READTYPE=SUBREAD;BINDKINGKIT=123456
-    SAMHeaderTag(const std::string & tagName, const std::vector<SAMHeaderItem> & tagItems)
-    :_tagName(tagName), _tagItems(tagItems) {}
-
-    SAMHeaderTag(const std::string & fromString);
-
-public:
-    std::string ToString();
-
-    std::string TagName() const;
-
-    void AddItem(SAMHeaderItem & item); 
-
-    void AddItem(const std::string & fromString);
-
-    void AddItems(const std::string & fromString);
-
-private:
-    std::string _tagName;
-    std::string _tagValue;
-    std::vector<SAMHeaderItem> _tagItems;
-};
-
-typedef std::vector<SAMHeaderTag> SAMHeaderTags;
-
-class SAMHeaderGroup {
-public:
-    SAMHeaderGroup() {}
-
-    SAMHeaderGroup(const std::string & groupName, const SAMHeaderTags & tags)
-    :_groupName(groupName), _tags(tags) {}
-
-    SAMHeaderGroup(const std::string & fromString); 
-
-    std::string ToString();
-
-    /// returns true if this SAMHeaderGroup contains a tag tagName.
-    bool HasTag(std::string tagName);
-
-    /// returns value of a tag if it exists, otherwise, return an empty string. 
-    std::string Tag(const std::string & tagName);
-
-protected:
-    std::string _groupName;
-
-    SAMHeaderTags _tags; 
-};
-
-class SAMHeaderGroupWithID : public SAMHeaderGroup {
-public:
-    SAMHeaderGroupWithID() {}
-
-    SAMHeaderGroupWithID(const std::string & fromString); 
-
-    std::string ID() const;
-
-protected:
-    std::string _id;
-};
-
-std::ostream & operator << (std::ostream& os, SAMHeaderGroup & g);
-
-class SAMHeaderRG : public SAMHeaderGroupWithID {
-    /// SAM Header @RG entry, containing ID, PL, PU, DS tags.
-    /// ID: Read group Id Tag, which must be unique for read groups.
-    /// PL: PacBio platform Tag, e.g., PacBio.
-    /// PU: PacBio platform unit Tag, e.g., m1473.....p0
-    /// DS: Description Items for this @RG entry, including READTYPE, BINDKINGKIT, 
-    ///     SEQUENCEKIT, BASECALLERVERSION. 
-    /// The following is an example: 
-    /// @RG ID:abcdefgh PL:PacBio   PU:m1473...p0   DS:READTYPE=SUBREAD;BINDINGKIT=123456;SEQUENCINGKIT=123456;BASECALLERVERSION=2.3
-public:
-    SAMHeaderRG(const std::string & id, const std::string & pl, const std::string & pu, const std::vector<SAMHeaderItem> & dsItems);
-
-    SAMHeaderRG(const std::string & fromString);
-};
-
-class SAMHeaderPG: public SAMHeaderGroupWithID {
-public:
-    SAMHeaderPG(const std::string & id, const std::string & progName, const std::string & progVersion, const std::string & commandLine);
-
-    SAMHeaderPG(const std::string & fromString);
-};
-
-class SAMHeaderSQ:  public SAMHeaderGroup {
-public:
-    SAMHeaderSQ(const std::string & sn, const DNALength & ln, const std::string & md5);
-
-    SAMHeaderSQ(const std::string & sn, const string & ln, const std::string & md5);
-
-    SAMHeaderSQ(const std::string & fromString);
-};
-
-template <class T>
-class SAMHeaderGroups {
-public:
-    SAMHeaderGroups() {}
-
-    // Add a SAM Header group regardless
-    void Add(const T & group);
-   
-    void Append(const std::vector<T> & groups);
-
-    std::string ToString();
-   
-protected:
-    std::vector<T> _groups;
-};
-
-template <class T>
-class SAMHeaderGroupsWithID : public SAMHeaderGroups<T> {
-public:
-    SAMHeaderGroupsWithID(): SAMHeaderGroups<T>() {}
-
-    /// Add a SAM Header group with unique ID if it does not exist.
-    void Add(const T & g) ;
-
-    /// Check whether a group already exists or not.
-    /// \returns true if g.ID() already exists in _groups, otherwise false.
-    bool Contain(const T & g);
-};
-
-typedef SAMHeaderGroupsWithID<SAMHeaderRG> SAMHeaderRGs;
-// FIXME: @PG groups should have unique IDs according to SAM spec v1.5,
-// However, PacBio tools such as blasr and bax2bam use prog name as prog id.
-typedef SAMHeaderGroups<SAMHeaderPG> SAMHeaderPGs;
-typedef SAMHeaderGroups<SAMHeaderSQ> SAMHeaderSQs;
-typedef SAMHeaderGroups<std::string> SAMHeaderCOs;
-
-class SAMHeaderPrinter {
-public:
-    /// SAMHeaderPrinter constructor  
-    /// \param[in] sortingOrder - sorting order of alignments. 
-    /// \param[in] seqdb - database of target sequences.
-    /// \param[in] readsFiles - input reads files, file format
-    /// can be FASTA, FASTQ, BAS.H5, BAX.H5, BAM.
-    /// \param[in] samQVs - samQVs that will be printed.
-    /// \param[in] readType - read type, must be either SUBREAD or CCS or UNKNOWN
-    /// \param[in] progName - program which calls SMAHeaderPrinter
-    /// \param[in] progVersion - program version. 
-    /// \param[in] commandLine - command line to call program. 
-    SAMHeaderPrinter(const std::string & sortingOrder,
-                     SequenceIndexDatabase<FASTASequence> & seqdb,
-                     const std::vector<std::string> & readsFiles,
-                     const ReadType::ReadTypeEnum & readType,
-                     const SupplementalQVList & samQVs,
-                     const std::string & progName, 
-                     const std::string & progVersion,
-                     const std::string & commandLine);
-
-    /// \returns SAM header in string.
-    std::string ToString();
-        
-public:
-#ifdef USE_PBBAM
-    /// Converts this SAMHeader to PacBio::BAM::BamHeader, must be compiled with pbbam
-    /// \returns a PacBio::BAM::BamHeader. 
-    PacBio::BAM::BamHeader ToBamHeader();
-#endif
-
-    /// Add a SAM Header @RG entry, including the following tags:
-    /// ID (identifier), PL (platform), PU (platform unit), 
-    /// DS (description, which may have many items)
-    SAMHeaderPrinter & AddRG(std::string & id, std::string & pl, std::string & pu, std::string & ds);
-
-    /// Add a SAM Header @RG entry from string, which may contain arbitary tags.
-    SAMHeaderPrinter & AddRG(const std::string & fromString);
-   
-    /// Add a SAM Header @PG entry, including the following tags:
-    /// ID, progName, progVersion, commandLine. @PG must have unique ID.
-    SAMHeaderPrinter & AddPG(std::string & id, std::string & progName, std::string & progVersion, std::string & commandLine);
-
-    /// Add a SAM Header @PG entry from string, which may contain arbitary tags.
-    SAMHeaderPrinter & AddPG(const std::string & fromString);
-
-    /// Add a SAM Header @CO entry from string.
-    SAMHeaderPrinter & AddCO(const std::string & fromString);
-
-private:
-    const std::string & _sortingOrder;
-    const std::vector<std::string> & _readsFiles;
-    SequenceIndexDatabase<FASTASequence> & _seqdb;
-    FileType fileType;
-
-    SAMHeaderGroup _hd; //@HD VN:? SO:? pb:?
-    SAMHeaderSQs _sqs;  //@SQ SN:? LN:? M5:?
-    SAMHeaderRGs _rgs;  //@RG ID:? PU:? PL:? DS:key=val;key=val;key=val
-    SAMHeaderPGs _pgs;  //@PG VN:? CL:?
-    SAMHeaderCOs _cos;  //@CO
-
-private:
-    /// \returns SAMHeaderGroup @HD
-    static SAMHeaderGroup MakeHD(const std::string & sortingOrder);
-
-    /// \returns SAMHeaderSQs, SAM Header @SQ groups
-    SAMHeaderSQs MakeSQs(SequenceIndexDatabase<FASTASequence> & seqdb);
-
-    /// \returns SAMHeaderRGs @RG groups
-    /// \param[in] readsFiles - incoming reads files in BAM or other formats
-    /// \param[in] readType - read type, must be either SUBREAD or CCS or UNKNOWN
-    /// \param[in] samQVs - SupplementalQVList, an object that handles which 
-    ///                      QVs to print in SAM/BAM file.
-    SAMHeaderRGs MakeRGs(const std::vector<std::string> & readsFiles,
-        const ReadType::ReadTypeEnum & readType,
-        const SupplementalQVList & samQVs); 
-
-    /// \returns SAMHeaderPGs @PG groups
-    /// \param[in] readsFiles - incoming reads files in BAM or other formats
-    /// \param[in] progName - program which calls SMAHeaderPrinter
-    /// \param[in] progVersion - program version. 
-    /// \param[in] commandLine - command line to call program. 
-    SAMHeaderPGs MakePGs(const std::vector<std::string> & readsFiles, 
-        const std::string & progName, const std::string & progVersion, 
-        const std::string & commandLine);
-
-    /// \returns SAMHeaderPGs @CO groups
-    /// \param[in] readsFiles - incoming reads files in BAM or other formats
-    SAMHeaderCOs MakeCOs(const std::vector<std::string> & readsFiles); 
-};
-
-// template<class T> SAMHeaderGroups
-template<class T>
-void SAMHeaderGroups<T>::Add(const T & group) {
-    this->_groups.push_back(group);
-}
-
-template<class T>
-void SAMHeaderGroups<T>::Append(const std::vector<T> & groups) {
-    for(int i = 0; i < groups.size(); i++) {
-        this->Add(groups[i]);
-    }
-}
-
-template<class T>
-std::string SAMHeaderGroups<T>::ToString() {
-    std::stringstream ss;
-    for (int i = 0; i < this->_groups.size(); i++) {
-        ss << this->_groups[i] << std::endl;
-    }
-    return ss.str();
-}
-
-// template<class T> SAMHeaderGroupsWithID
-template <class T>
-void SAMHeaderGroupsWithID<T>::Add(const T & g) {
-    if (not this->Contain(g)) {this->_groups.push_back(g);}
-}
-
-template <class T>
-bool SAMHeaderGroupsWithID<T>::Contain(const T & g) {
-    typename std::vector<T>::iterator it;
-    for(it = this->_groups.begin(); it < this->_groups.end(); it++) {
-        if ((*it).ID() == g.ID()) {
-            return true;
-        }
-    }
-    return false;
-}
-#endif
diff --git a/libcpp/alignment/format/SAMPrinter.cpp b/libcpp/alignment/format/SAMPrinter.cpp
deleted file mode 100644
index c44c40a..0000000
--- a/libcpp/alignment/format/SAMPrinter.cpp
+++ /dev/null
@@ -1,188 +0,0 @@
-#include "SAMPrinter.hpp"
-#include <algorithm> //reverse
-
-using namespace SAMOutput; 
-
-void SAMOutput::BuildFlag(T_AlignmentCandidate &alignment, AlignmentContext &context, uint16_t &flag) {
-
-    /*
-     *  Much of the flags are commented out for now since they do not
-     *  generate PICARD compliant SAM.  This needs to be worked out. 
-     */
-
-
-    //
-    // Without supporting strobe, assume 1 segment per template.
-    flag = 0;
-    /*
-       if (context.nSubreads > 1) {
-       flag |= MULTI_SEGMENTS;
-       }*/
-
-    //    if (context.AllSubreadsAligned() and context.nSubreads > 1) {
-    //      flag |= ALL_SEGMENTS_ALIGNED;
-    //    }
-
-    if (alignment.tStrand == 1) {
-        flag |= SEQ_REVERSED;
-    }
-    /*
-       if (context.hasNextSubreadPos == false and context.nSubreads > 1) {
-       flag |= NEXT_SEGMENT_UNMAPPED;
-       }
-       if (context.nextSubreadDir == 1) {
-       flag |= SEQ_NEXT_REVERSED;
-       }
-       if (context.IsFirst() and context.nSubreads > 1) {
-       flag |= FIRST_SEGMENT;
-       }
-       */
-       else if (context.nSubreads > 1) {
-           /*
-            * Remember, if you're not first, you're last.
-            */
-           //      flag |= LAST_SEGMENT;
-       }
-       if (context.isPrimary == false) {
-           flag |= SECONDARY_ALIGNMENT;
-       }
-}
-
-void SAMOutput::CreateDNAString(DNASequence &seq, 
-        DNASequence &clippedSeq,
-        //
-        // Trimming is used for both hard non-clipping
-        // so it is called trim instead of clip.
-        //
-        int trimFront,
-        int trimEnd) {
-    assert(seq.length - trimEnd >= trimFront);
-
-    clippedSeq.seq    = &seq.seq[trimFront];
-    clippedSeq.length = seq.length - trimEnd - trimFront;
-}
-
-void SAMOutput::AddGaps(T_AlignmentCandidate &alignment, int gapIndex,
-        std::vector<int> &opSize, std::vector<char> &opChar) {
-    int g;
-    for (g = 0; g < alignment.gaps[gapIndex].size(); g++) {
-        if (alignment.gaps[gapIndex][g].seq == blasr::Gap::Query) {
-            opSize.push_back(alignment.gaps[gapIndex][g].length);
-            opChar.push_back('D');
-        }
-        else if (alignment.gaps[gapIndex][g].seq == blasr::Gap::Target) {
-            opSize.push_back(alignment.gaps[gapIndex][g].length);
-            opChar.push_back('I');
-        }
-    }
-}
-
-void SAMOutput::AddMatchBlockCigarOps(DNASequence & qSeq, DNASequence & tSeq, 
-        blasr::Block & b, DNALength & qSeqPos, DNALength & tSeqPos,
-        std::vector<int> & opSize, std::vector<char> & opChar) {
-    DNALength qPos = qSeqPos + b.qPos, tPos = tSeqPos + b.tPos, n = 0;
-    bool started = false, prevSeqMatch = false;
-    for(DNALength i = 0; i < b.length; i++) {
-        bool curSeqMatch = (qSeq[qPos + i] == tSeq[tPos + i]);
-        if (started) {
-            if (curSeqMatch == prevSeqMatch) opSize[opSize.size()-1]++;
-            else {
-                opSize.push_back(1);
-                opChar.push_back(curSeqMatch?'=':'X');
-            }
-        } else {
-            started = true;
-            opSize.push_back(1);
-            opChar.push_back(curSeqMatch?'=':'X');
-        }
-        prevSeqMatch = curSeqMatch;
-    }
-}
-
-void SAMOutput::CreateNoClippingCigarOps(T_AlignmentCandidate &alignment, 
-        std::vector<int> &opSize, std::vector<char> &opChar, bool cigarUseSeqMatch) {
-    //
-    // Create the cigar string for the aligned region of a read,
-    // excluding the clipping.
-    //
-    int b;
-    // Each block creates a match NM (N=block.length)
-    int nBlocks = alignment.blocks.size();
-    int nGaps   = alignment.gaps.size();
-    opSize.clear();
-    opChar.clear();
-    //
-    // Add gaps at the beginning of the alignment.
-    //
-    if (nGaps > 0) {
-        AddGaps(alignment, 0, opSize, opChar);
-    }
-    for (b = 0; b < nBlocks; b++) {
-        //
-        // Determine the gap before printing the match, since it is
-        // possible that the qurey and target are gapped at the same
-        // time, which merges into a mismatch.
-        //
-        int qGap=0, tGap=0, commonGap=0;
-        int matchLength = alignment.blocks[b].length;
-        if (nGaps == 0) {
-            if (b + 1 < nBlocks) {
-                qGap = alignment.blocks[b+1].qPos - alignment.blocks[b].qPos - alignment.blocks[b].length;
-                tGap = alignment.blocks[b+1].tPos - alignment.blocks[b].tPos - alignment.blocks[b].length;
-                int commonGap;
-                commonGap = abs(qGap - tGap);
-                qGap -= commonGap;
-                tGap -= commonGap;
-                matchLength += commonGap;
-                if (cigarUseSeqMatch) {
-                    AddMatchBlockCigarOps(alignment.qAlignedSeq, 
-                                          alignment.tAlignedSeq, 
-                                          alignment.blocks[b], 
-                                          alignment.qPos, alignment.tPos,
-                                          opSize, opChar);
-                } else {
-                    opSize.push_back(matchLength);
-                    opChar.push_back('M');
-                }
-                assert((qGap > 0 and tGap == 0) or (qGap == 0 and tGap > 0));
-                if (qGap > 0) {
-                    opSize.push_back(qGap);
-                    opChar.push_back('I');
-                }
-                if (tGap > 0) {
-                    opSize.push_back(tGap);
-                    opChar.push_back('D');
-                }
-            }
-        }
-        else {
-            if (cigarUseSeqMatch) {
-                AddMatchBlockCigarOps(alignment.qAlignedSeq, 
-                                      alignment.tAlignedSeq, 
-                                      alignment.blocks[b], 
-                                      alignment.qPos, alignment.tPos,
-                                      opSize, opChar);
-            } else {
-                opSize.push_back(matchLength);
-                opChar.push_back('M');
-            }
-            int gapIndex = b+1;
-            AddGaps(alignment, gapIndex, opSize, opChar);
-        }
-    }
-    if (alignment.tStrand == 1) {
-        std::reverse(opSize.begin(), opSize.end());
-        std::reverse(opChar.begin(), opChar.end());
-    }
-}
-
-void SAMOutput::CigarOpsToString(std::vector<int> &opSize, std::vector<char> &opChar, 
-        std::string &cigarString) {
-    std::stringstream sstrm;
-    int i, nElem;
-    for (i = 0, nElem = opSize.size(); i < nElem; i++) {
-        sstrm << opSize[i] << opChar[i];
-    }
-    cigarString = sstrm.str();
-}
-
diff --git a/libcpp/alignment/format/SAMPrinter.hpp b/libcpp/alignment/format/SAMPrinter.hpp
deleted file mode 100644
index c47f8ec..0000000
--- a/libcpp/alignment/format/SAMPrinter.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-#ifndef _BLASR_FORMAT_SAMPRINTER_HPP_
-#define _BLASR_FORMAT_SAMPRINTER_HPP_ 
-
-#include <sstream>
-#include <stdint.h>
-#include "SMRTSequence.hpp"
-#include "datastructures/alignment/AlignmentCandidate.hpp"
-#include "datastructures/alignment/AlignmentContext.hpp"
-#include "datastructures/alignment/Alignment.hpp"
-#include "datastructures/alignment/Alignment.hpp"
-#include "datastructures/alignmentset/SAMSupplementalQVList.hpp"
-
-
-#define MULTI_SEGMENTS 0x1
-#define ALL_SEGMENTS_ALIGNED 0x2
-#define SEGMENT_UNMAPPED 0x4
-#define NEXT_SEGMENT_UNMAPPED 0x8
-#define SEQ_REVERSED 0x10
-#define SEQ_NEXT_REVERSED 0x20
-#define FIRST_SEGMENT 0x40
-#define LAST_SEGMENT 0x80
-#define SECONDARY_ALIGNMENT 0x100
-#define NO_PASS_QUALITY 0x200
-#define PCR_OR_OPTICAL_DUPLICATE 0x400
-
-namespace SAMOutput {
-
-enum Clipping {hard, soft, subread, none};
-
-void BuildFlag(T_AlignmentCandidate &alignment, AlignmentContext &context, uint16_t &flag); 
-
-//
-// Trimming is used for both hard non-clipping
-// so it is called trim instead of clip.
-//
-void CreateDNAString(DNASequence &seq, DNASequence &clippedSeq, 
-    int trimFront=0, int trimEnd=0); 
-
-void AddGaps(T_AlignmentCandidate &alignment, int gapIndex,
-        std::vector<int> &opSize, std::vector<char> &opChar); 
-
-// Add sequence match/mismatch CIGAR string Ops for block b.
-void AddMatchBlockCigarOps(DNASequence & qSeq, DNASequence & tSeq, blasr::Block & b,
-        DNALength & qSeqPos, DNALength & tSeqPos,
-        std::vector<int> & opSize, std::vector<char> & opChar);
-
-// If cigarUseSeqMatch is true, cigar string uses '=' and 'X' 
-// instead of 'M' to represent sequence match and mismatch;
-void CreateNoClippingCigarOps(T_AlignmentCandidate &alignment, 
-        std::vector<int> &opSize, std::vector<char> &opChar,
-        bool cigarUseSeqMatch = false); 
-//
-// 
-// The aligned sequence is either the sequence from the first
-// aligned base to the last (hard and no clipping), or first high
-// quality base to the last high quality base (soft clipping).
-//
-template<typename T_Sequence>
-void SetAlignedSequence(T_AlignmentCandidate &alignment, T_Sequence &read,
-    T_Sequence &alignedSeq, Clipping clipping = none); 
-
-template<typename T_Sequence>
-void SetSoftClip(T_AlignmentCandidate &alignment, T_Sequence &read, 
-    DNALength hardClipPrefix, DNALength hardClipSuffix,
-    DNALength &softClipPrefix, DNALength &softClipSuffix); 
-
-template<typename T_Sequence>
-void SetHardClip(T_AlignmentCandidate &alignment, T_Sequence &read, 
-    DNALength &prefixClip, DNALength &suffixClip); 
-
-void CigarOpsToString(std::vector<int> &opSize, std::vector<char> &opChar, 
-        std::string &cigarString);
-
-//
-// Straight forward: create the cigar string allowing some clipping
-// The read is provided to give length and hq information.
-//
-template<typename T_Sequence>
-void CreateCIGARString(T_AlignmentCandidate &alignment, T_Sequence &read,
-        std::string &cigarString, Clipping clipping, 
-        DNALength &prefixSoftClip, DNALength &suffixSoftClip,
-        DNALength &prefixHardClip, DNALength &suffixHardClip,
-        bool cigarUseSeqMatch = false); 
-
-template<typename T_Sequence>
-void PrintAlignment(T_AlignmentCandidate &alignment, T_Sequence &read,
-        std::ostream &samFile, AlignmentContext &context, 
-        SupplementalQVList & qvList, Clipping clipping = none,
-        bool cigarUseSeqMatch = false); 
-}
-
-#include "SAMPrinterImpl.hpp"
-#endif // _BLASR_FORMAT_SAMPRINTER_HPP_
diff --git a/libcpp/alignment/format/SAMPrinterImpl.hpp b/libcpp/alignment/format/SAMPrinterImpl.hpp
deleted file mode 100644
index f83d1a9..0000000
--- a/libcpp/alignment/format/SAMPrinterImpl.hpp
+++ /dev/null
@@ -1,304 +0,0 @@
-#include <algorithm> //max
-#include <utility> //swap
-#include <assert.h> //assert
-
-using namespace SAMOutput; 
-
-
-template<typename T_Sequence>
-void SAMOutput::SetAlignedSequence(T_AlignmentCandidate &alignment, T_Sequence &read,
-        T_Sequence &alignedSeq,
-        Clipping clipping) {
-    //
-    // In both no, and hard clipping, the dna sequence that is output
-    // solely corresponds to the aligned sequence.
-    //
-    DNALength clippedReadLength = 0;
-    DNALength clippedStartPos   = 0;
-
-    if (clipping == none or clipping == hard) {
-        DNALength qStart = alignment.QAlignStart();
-        DNALength qEnd   = alignment.QAlignEnd();
-        clippedReadLength = qEnd - qStart;
-        clippedStartPos   = qStart;
-    }
-    else if (clipping == soft) {
-        clippedReadLength = read.length - read.lowQualityPrefix - read.lowQualitySuffix;
-        clippedStartPos = read.lowQualityPrefix;
-    }
-    else if (clipping == subread) {
-        clippedReadLength = read.subreadEnd - read.subreadStart;
-        clippedStartPos = read.subreadStart;
-    }
-    else {
-        std::cout <<" ERROR! The clipping must be none, hard, subread, or soft when setting the aligned sequence." << std::endl;
-        assert(0);
-    }
-
-    //
-    // Set the aligned sequence according to the clipping boundaries.
-    //
-    if (alignment.tStrand == 0) {
-        alignedSeq.ReferenceSubstring(read, clippedStartPos, clippedReadLength);
-    }
-    else {
-        T_Sequence subSeq;
-        subSeq.ReferenceSubstring(read, clippedStartPos, clippedReadLength);
-        subSeq.MakeRC(alignedSeq);
-        assert(alignedSeq.deleteOnExit);
-    }
-}
-
-template<typename T_Sequence>
-void SAMOutput::SetSoftClip(T_AlignmentCandidate &alignment,
-        T_Sequence &read,
-        DNALength hardClipPrefix,
-        DNALength hardClipSuffix,
-        DNALength &softClipPrefix, 
-        DNALength &softClipSuffix) {
-    DNALength qStart, qEnd;
-    qStart = alignment.QAlignStart();
-    qEnd   = alignment.QAlignEnd();
-
-    assert(qStart >= hardClipPrefix);
-    softClipPrefix = alignment.QAlignStart() - hardClipPrefix;
-    assert(alignment.QAlignEnd() + hardClipSuffix <= read.length);
-    softClipSuffix = read.length - hardClipSuffix - alignment.QAlignEnd();
-}
-
-template<typename T_Sequence>
-void SAMOutput::SetHardClip(T_AlignmentCandidate &alignment, 
-        T_Sequence &read,
-        DNALength &prefixClip,
-        DNALength &suffixClip) {
-    //
-    // Set the hard clipping assuming the read is in the forward
-    // direction.
-    //
-    prefixClip = alignment.QAlignStart();
-    suffixClip = read.length - alignment.QAlignEnd();
-    if (alignment.tStrand == 1) {
-        //
-        // If the read is instead reverse, swap the clipping lengths.
-        //
-        std::swap(prefixClip, suffixClip);
-    }
-}
-
-
-//
-// Straight forward: create the cigar string allowing some clipping
-// The read is provided to give length and hq information.
-//
-template<typename T_Sequence>
-void SAMOutput::CreateCIGARString(T_AlignmentCandidate &alignment,
-        T_Sequence &read,
-        std::string &cigarString,
-        Clipping clipping,
-        DNALength & prefixSoftClip, DNALength & suffixSoftClip, 
-        DNALength & prefixHardClip, DNALength & suffixHardClip,
-        bool cigarUseSeqMatch) {
-
-    cigarString = "";
-    // All cigarString use the no clipping core
-    std::vector<int> opSize;
-    std::vector<char> opChar;
-    CreateNoClippingCigarOps(alignment, opSize, opChar, cigarUseSeqMatch);
-
-    // Clipping needs to be added
-
-    if (clipping == hard) {
-      SetHardClip(alignment, read, prefixHardClip, suffixHardClip);
-      if (prefixHardClip > 0) {
-        opSize.insert(opSize.begin(), prefixHardClip);
-        opChar.insert(opChar.begin(), 'H');
-      }
-      if (suffixHardClip > 0) {
-        opSize.push_back(suffixHardClip);
-        opChar.push_back('H');
-      }
-      prefixSoftClip = 0;
-      suffixSoftClip = 0;
-    }
-    if (clipping == soft or clipping == subread) {
-      //
-      // Even if clipping is soft, the hard clipping removes the 
-      // low quality regions
-      //
-      if (clipping == soft) {
-          prefixHardClip = read.lowQualityPrefix;
-          suffixHardClip = read.lowQualitySuffix;
-      }
-      else if (clipping == subread) {
-          prefixHardClip = std::max((DNALength) read.subreadStart, read.lowQualityPrefix);
-          suffixHardClip = std::max((DNALength)(read.length - read.subreadEnd), read.lowQualitySuffix);
-      }
-
-      SetSoftClip(alignment, read, prefixHardClip, suffixHardClip, prefixSoftClip, suffixSoftClip);
-
-      if (alignment.tStrand == 1) {
-        std::swap(prefixHardClip, suffixHardClip);
-        std::swap(prefixSoftClip, suffixSoftClip);
-      }
-
-      //
-      // Insert the hard and soft clipping so that they are in the
-      // order H then S if both exist.
-      //
-      if (prefixSoftClip > 0) {
-        opSize.insert(opSize.begin(), prefixSoftClip);
-        opChar.insert(opChar.begin(), 'S');
-      }
-      if (prefixHardClip > 0) {
-        opSize.insert(opSize.begin(), prefixHardClip);
-        opChar.insert(opChar.begin(), 'H');
-      }
-      
-      //
-      // Append the hard and soft clipping so they are in the order S
-      // then H. 
-      //
-      if (suffixSoftClip > 0) {
-        opSize.push_back(suffixSoftClip);
-        opChar.push_back('S');
-      }
-      if (suffixHardClip > 0) {
-        opSize.push_back(suffixHardClip);
-        opChar.push_back('H');
-      }
-    }
-
-    CigarOpsToString(opSize, opChar, cigarString);
-}
-
-template<typename T_Sequence>
-void SAMOutput::PrintAlignment(T_AlignmentCandidate &alignment,
-        T_Sequence &read,
-        std::ostream &samFile,
-        AlignmentContext &context,
-        SupplementalQVList & qvList,
-        Clipping clipping,
-        bool cigarUseSeqMatch) {
-
-    std::string cigarString;
-    uint16_t flag;
-    T_Sequence alignedSequence;
-    DNALength prefixSoftClip = 0, suffixSoftClip = 0;
-    DNALength prefixHardClip = 0, suffixHardClip = 0;
-
-    CreateCIGARString(alignment, read, cigarString, clipping, prefixSoftClip, suffixSoftClip, prefixHardClip, suffixHardClip, cigarUseSeqMatch);
-    SetAlignedSequence(alignment, read, alignedSequence, clipping);
-    BuildFlag(alignment, context, flag);
-    samFile << alignment.qName << "\t" 
-            << flag << "\t" 
-            << alignment.tName << "\t";   // RNAME
-    if (alignment.tStrand == 0) {
-      samFile << alignment.TAlignStart() + 1 << "\t"; 
-      // POS, add 1 to get 1 based coordinate system
-    }
-    else {
-      samFile << alignment.tLength - (alignment.TAlignStart() + alignment.TEnd()) + 1 << "\t"; // includes - 1 for rev-comp,  +1 for one-based
-    }
-    samFile << (int) alignment.mapQV << "\t"// MAPQ
-            << cigarString << "\t"; // CIGAR
-      
-      //
-      // Determine RNEXT
-
-    std::string rNext;
-    rNext = "*";
-    /*
-    if (context.hasNextSubreadPos == false) {
-      rNext = "*";
-    }
-    else {
-      if (context.rNext == alignment.tName) {
-        rNext = "=";
-      }
-      else {
-        rNext = context.rNext;
-      }
-    }
-    */
-    samFile << rNext << "\t"; // RNEXT
-    
-    DNALength nextSubreadPos = 0;
-    /*
-    if (context.hasNextSubreadPos) {
-      nextSubreadPos = context.nextSubreadPos + 1;
-      }*/
-    samFile << nextSubreadPos << "\t"; // RNEXT, add 1 for 1 based
-                                           // indexing
-
-    //DNALength tLen = alignment.GenomicTEnd() - alignment.GenomicTBegin();
-    //SAM v1.5, tLen is set as 0 for single-segment template
-    samFile << 0 << "\t"; // TLEN
-    // Print the sequence on one line, and suppress printing the
-    // newline (by setting the line length to alignedSequence.length
-    (static_cast<DNASequence*>(&alignedSequence))->PrintSeq(samFile, 0);  // SEQ
-    samFile << "\t";
-    if (alignedSequence.qual.data != NULL && qvList.useqv == 0) {
-        alignedSequence.PrintAsciiQual(samFile, 0);  // QUAL
-    }
-    else {
-      samFile <<"*";
-    }
-    samFile << "\t";
-    //
-    // Add optional fields
-    //
-    samFile << "RG:Z:" << context.readGroupId << "\t";
-    samFile << "AS:i:" << alignment.score << "\t";
-
-    //
-    // "RG" read group Id
-    // "AS" alignment score
-    // "XS" read alignment start position without counting previous soft clips (1 based) 
-    // "XE" read alignment end position without counting previous soft clips (1 based) 
-    // "XL" aligned read length 
-    // "XQ" query sequence length
-    // "XT" # of continues reads, always 1 for blasr 
-    // "NM" edit distance 
-    // "FI" read alignment start position (1 based) 
-    //
-    
-    DNALength qAlignStart = alignment.QAlignStart();
-    DNALength qAlignEnd = alignment.QAlignEnd();
-
-    if (clipping == none) {
-      samFile << "XS:i:" << qAlignStart + 1 << "\t";
-      samFile << "XE:i:" << qAlignEnd + 1 << "\t";
-    }
-    else if (clipping == hard or clipping == soft or clipping == subread) {
-        DNALength xs = prefixHardClip;
-        DNALength xe = read.length - suffixHardClip;
-        if (alignment.tStrand == 1) {
-            xs = suffixHardClip;
-            xe = read.length - prefixHardClip;
-        }
-        samFile << "XS:i:" << xs + 1 << "\t"; // add 1 for 1-based indexing in sam
-        assert(read.length - suffixHardClip == prefixHardClip + alignedSequence.length);
-        samFile << "XE:i:" << xe + 1 << "\t";
-    }
-    samFile << "YS:i:" << read.subreadStart << "\t";
-    samFile << "YE:i:" << read.subreadEnd << "\t";
-    samFile << "ZM:i:" << read.zmwData.holeNumber << "\t";
-    samFile << "XL:i:" << alignment.qAlignedSeq.length << "\t";
-    samFile << "XT:i:1\t"; // reads are allways continuous reads, not
-                        // referenced based circular consensus when
-                        // output by blasr.
-    samFile << "NM:i:" << context.editDist << "\t";
-    samFile << "FI:i:" << alignment.qAlignedSeqPos + 1;
-    // Add query sequence length
-    samFile << "\t" << "XQ:i:" << alignment.qLength;
-
-    //
-	// Write out optional quality values.  If qvlist does not 
-	// have any qv's signaled to print, this is a no-op.
-	//
-	// First transform characters that are too large to printable ones.
-	qvList.FormatQVOptionalFields(alignedSequence);
-	qvList.PrintQVOptionalFields(alignedSequence, samFile);
-
-    samFile << std::endl;
-}
diff --git a/libcpp/alignment/format/StickAlignmentPrinter.hpp b/libcpp/alignment/format/StickAlignmentPrinter.hpp
deleted file mode 100644
index 11f6b39..0000000
--- a/libcpp/alignment/format/StickAlignmentPrinter.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-#ifndef _BLASR_STICK_ALIGNMENT_PRINTER_HPP_
-#define _BLASR_STICK_ALIGNMENT_PRINTER_HPP_
-
-#include <string>
-#include <iostream>
-#include <fstream>
-#include "datastructures/alignment/Alignment.hpp"
-#include "algorithms/alignment/AlignmentUtils.hpp"
-
-template<typename T_Alignment, typename T_QuerySequence, typename T_TargetSequence>
-void StickPrintAlignment(T_Alignment &alignment, 
-        T_QuerySequence &query, T_TargetSequence &text, std::ostream &out,
-        unsigned int qPrintStart = 0,
-        unsigned int tPrintStart = 0,
-        int maxPrintLength = 50) {
-    //
-    // Eventually hack to add options for alignment format.
-    //
-    std::string queryStr, alignStr, textStr;
-    char gapChar = '-';
-    //
-    // [q/t]PrintStart are the beginning/ending of the subsequence that
-    // is being printed however the actual alignment begins at
-    // [q/t]PrintStart + alignment->[q/t]Pos, since there may be a small
-    // gap between the beginning of the alignment and the beginning of
-    // the substring that is aligned.
-    //
-    out << "         Query: " << alignment.qName << endl;
-    out << "        Target: " << alignment.tName << endl;
-    out << "         Model: a hybrid of global/local non-affine alignment" <<endl;
-    out << "     Raw score: " << alignment.score << endl;
-    out << "        Map QV: " << alignment.mapQV << endl;
-    out << "  Query strand: " << alignment.qStrand << endl;
-    out << " Target strand: " << alignment.tStrand << endl;
-    if (alignment.blocks.size() > 0) {
-        out << "   QueryRange: " << qPrintStart + alignment.qPos //alignment.blocks[0].qPos 
-            << " -> " 
-            << (qPrintStart + alignment.qPos + 
-                    + alignment.blocks[alignment.blocks.size() - 1 ].qPos
-                    + alignment.blocks[alignment.blocks.size() - 1 ].length) << " of " << alignment.qLength << endl;
-        out << "  TargetRange: " << tPrintStart + alignment.tPos //alignment.blocks[0].tPos 
-            << " -> " 
-            //				<< (tPrintStart + alignment.blocks[alignment.blocks.size() - 1].tPos +
-            << (tPrintStart + alignment.tPos +
-                    alignment.blocks[alignment.blocks.size() - 1 ].tPos + 
-                    alignment.blocks[alignment.blocks.size() - 1].length) << " of " << alignment.tLength << endl;
-    }
-    else {
-        out << "   QueryRange: NONE " << endl;
-        out << "  TargetRange: NONE " << endl;
-    }
-
-    if (alignment.blocks.size() == 0) 
-        return;
-    CreateAlignmentStrings(alignment, query.seq, text.seq, textStr, alignStr, queryStr, query.length, text.length);
-
-    //
-    // Process any gaps at the beginning of 
-    // the alignment.
-    //
-
-    DNALength qPos, tPos;
-
-    int coordsPrintWidth = MAX(GetNumberWidth(alignment.qPos + qPrintStart + query.length), 
-            GetNumberWidth(alignment.tPos + tPrintStart + query.length));
-
-    // 
-    // Now print the alignment
-    VectorIndex lineLength = maxPrintLength;
-    if (lineLength > textStr.size())
-        lineLength = textStr.size();
-
-    std::string textLine, queryLine, alignLine;
-    DNALength pos = 0;
-    tPos = alignment.tPos;
-    qPos = alignment.qPos;
-    int spacePad = 2;
-    std::string coordPadding(spacePad, ' ');
-    std::string alignStrPadding(coordsPrintWidth + spacePad, ' ');
-
-    while (lineLength > 0) {
-        textLine.assign(textStr, pos, lineLength);
-        alignLine.assign(alignStr, pos, lineLength);
-        queryLine.assign(queryStr, pos, lineLength);
-        out.width(coordsPrintWidth);
-        out << qPrintStart + qPos;
-        out.width(0);
-        out << coordPadding << queryLine << endl;
-        out << alignStrPadding <<  alignLine << endl;
-        out.width(coordsPrintWidth);
-        out << tPrintStart + tPos ;
-        out.width(0);
-        out << coordPadding << textLine  << endl;
-        out << endl;
-
-        pos += lineLength;
-        tPos += lineLength;
-        qPos += lineLength;
-        //
-        // Adjust tPos and qPos for indels.
-        //
-        VectorIndex p;
-        for (p = 0; p < textLine.size(); p++) {
-            if (textLine[p] == gapChar)
-                tPos--;
-        }
-        for (p = 0; p < queryLine.size(); p++) {
-            if (queryLine[p] == gapChar)
-                qPos--;
-        }
-
-        lineLength = maxPrintLength;
-        if (textStr.size() < (pos +lineLength)) {
-            // sets lineLength to 0 on the last iteration
-            lineLength = textStr.size() - pos;
-        }
-        else {
-            lineLength = maxPrintLength;
-        }
-    }
-}
-
-#endif // _BLASR_STICK_ALIGNMENT_PRINTER_HPP_
diff --git a/libcpp/alignment/format/SummaryPrinter.cpp b/libcpp/alignment/format/SummaryPrinter.cpp
deleted file mode 100644
index 6704bce..0000000
--- a/libcpp/alignment/format/SummaryPrinter.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-#include "SummaryPrinter.hpp"
-
-void SummaryOutput::Print(
-    AlignmentCandidate<DNASequence,FASTQSequence> &alignment, 
-    std::ostream &outFile) {
-
-    int lastBlock = alignment.blocks.size()-1;
-    outFile << alignment.qName << " "
-        << alignment.tName << " " 
-        << alignment.qStrand << " " 
-        << alignment.tStrand << " " 
-        << alignment.score << " " 
-        << alignment.pctSimilarity << " "
-        << alignment.tAlignedSeqPos + alignment.blocks[0].tPos << " " 
-        << alignment.tAlignedSeqPos + alignment.blocks[lastBlock].tPos + alignment.blocks[lastBlock].length << " " 
-        << alignment.tLength << " "
-        << alignment.qAlignedSeqPos + alignment.blocks[0].qPos << " " 
-        << alignment.qAlignedSeqPos + alignment.blocks[lastBlock].qPos + alignment.blocks[lastBlock].length << " " 
-        << alignment.qLength << " " << alignment.nCells << std::endl;
-}
-
-void SummaryOutput::PrintHeader(std::ostream &out) {
-    out << "qName tName qStrand tStrand score percentSimilarity tStart tEnd tLength qStart qEnd qLength nCells" 
-        << std::endl;
-}
-
diff --git a/libcpp/alignment/format/SummaryPrinter.hpp b/libcpp/alignment/format/SummaryPrinter.hpp
deleted file mode 100644
index 5cc9c29..0000000
--- a/libcpp/alignment/format/SummaryPrinter.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef SUMMARY_ALIGNMENT_PRINTER_H_
-#define SUMMARY_ALIGNMENT_PRINTER_H_
-
-#include "datastructures/alignment/AlignmentCandidate.hpp"
-#include "FASTQSequence.hpp"
-
-namespace SummaryOutput{
-
-   void Print(AlignmentCandidate<DNASequence,FASTQSequence> &alignment, std::ostream &outFile);
-
-   void PrintHeader(std::ostream &out);
-}
-
-#endif
diff --git a/libcpp/alignment/format/VulgarPrinter.hpp b/libcpp/alignment/format/VulgarPrinter.hpp
deleted file mode 100644
index a4505cf..0000000
--- a/libcpp/alignment/format/VulgarPrinter.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-#ifndef _BLASR_VULGAR_ALIGNMENT_PRINTER_HPP_
-#define _BLASR_VULGAR_ALIGNMENT_PRINTER_HPP_
-
-#include <string>
-#include <sstream>
-
-namespace VulgarOutput{
-template <typename T_Alignment>
-int CreateVulgarString(T_Alignment &alignment, std::string &vstring) {
-    std::stringstream vstream;
-	VectorIndex b;
-	int tGap, qGap, cGap;
-	if (alignment.blocks.size() == 0) {
-		vstring = "";
-		return 1;
-	}
-	for (b = 0; b < alignment.blocks.size() - 1; b++) {
-		tGap = (alignment.blocks[b+1].tPos 
-			    - (alignment.blocks[b].length + 
-				alignment.blocks[b].tPos));
-		qGap = (alignment.blocks[b+1].qPos 
-				- (alignment.blocks[b].length + 
-				alignment.blocks[b].qPos));
-		if (tGap > 0 and qGap > 0)
-			cGap = abs(tGap - qGap);
-		else 
-			cGap = 0;
-		tGap -= cGap;
-		qGap -= cGap;
-		vstream << " M " << alignment.blocks[b].length + cGap;
-		if (tGap > 0) {
-			vstream << " D " << tGap;
-		}
-		else {
-			vstream << " I " << qGap;
-		}
-	}
-	if (alignment.blocks.size() > 0) {
-		vstream << " M " << alignment.blocks[alignment.blocks.size() - 1].length;
-	}
-	vstring = vstream.str();
-	return 1;
-}
-
-template <typename T_Alignment>
-void Print(T_Alignment &alignment, std::ostream &out) {
-    std::string vstring;
-	CreateVulgarString(alignment, vstring);
-	out << vstring;
-}
-}
-
-#endif
diff --git a/libcpp/alignment/format/XMLPrinter.hpp b/libcpp/alignment/format/XMLPrinter.hpp
deleted file mode 100644
index 076518e..0000000
--- a/libcpp/alignment/format/XMLPrinter.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-#ifndef _BLASR_XML_PRINTER_HPP_
-#define _BLASR_XML_PRINTER_HPP_
-
-#include "utils/SimpleXMLUtils.hpp"
-
-namespace XMLOutput{
-
-template<typename T_Alignment, typename T_Sequence> 
-void Print(T_Alignment &alignment, 
-    T_Sequence &query, T_Sequence &text, std::ostream &out,
-    int qPrintStart = 0,
-    int tPrintStart = 0,
-    int maxPrintLength = 50) {
-    /*
-     * Sample alignment:
-     *
-     <hit name="x15_y33_1220208-0008_m081205_152444_Uni_p2_b15" unalignedLength="1301" start="1051" end="1016" strand="-" targetStart="1" targetEnd="44" targetStrand="+">
-     <zScore value="-6.091"/>
-     <nInsert value="1" percent="2.86" />
-     <nDelete value="9" percent="25.71" />
-     <nMismatch value="1" percent="2.86" />
-     <nCorrect value="24" percent="68.57" />
-     <alignment><query>
-     AG--CGTTCC-TATGG-TG-GGGTCGTTA-ACT---GTCGCCAG
-     </query><target>
-     AGCCCG-TCCTTATGGTTGAGGGTTGTTACACTTCGGTCGCCAG
-     </target></alignment>
-     </hit>
-     */
-    char strand[2] = {'+', '-'};
-    std::string tAlignStr, alignStr, qAlignStr;
-    CreateAlignmentStrings(alignment, query.seq, text.seq, tAlignStr, alignStr, qAlignStr);
-    int alignLength = tAlignStr.size();
-    if (alignLength == 0) {
-        alignLength = 1; // Make sure there are no divide by zero.
-        alignment.nIns = 0;
-        alignment.nDel = 0;
-        alignment.nMismatch = 0;
-        alignment.nMatch = 0;
-    }
-    out << BeginDataEntry(std::string("hit"),
-            CreateKeywordValuePair(std::string("name"), alignment.qName) +
-            CreateKeywordValuePair(std::string("unalignedLength"), alignment.qLength) +
-            CreateKeywordValuePair(std::string("start"), alignment.qPos) + 
-            CreateKeywordValuePair(std::string("end"), alignment.qPos + alignment.qAlignLength) +
-            CreateKeywordValuePair(std::string("strand"), strand[alignment.qStrand]) + 
-            CreateKeywordValuePair(std::string("targetStart"), alignment.tPos) +													 
-            CreateKeywordValuePair(std::string("targetEnd"), alignment.tPos + alignment.tAlignLength) +
-            CreateKeywordValuePair(std::string("targetStrand"), strand[alignment.tStrand])) 
-        << std::endl;
-    out << CreateDataEntry(std::string("zScore"),
-            CreateKeywordValuePair(std::string("value"), alignment.zScore)) 
-        << std::endl;
-    out << CreateDataEntry(std::string("nInsert"),
-            CreateKeywordValuePair(std::string("value"), alignment.nIns) + " " +
-            CreateKeywordValuePair(std::string("percent"), alignment.nIns*0.5/alignLength)) 
-        << std::endl;
-    out << CreateDataEntry(std::string("nDelete"),
-            CreateKeywordValuePair(std::string("value"), alignment.nDel) + " " + 
-            CreateKeywordValuePair(std::string("percent"), alignment.nDel*0.5/alignLength)) 
-        << std::endl;
-    out << CreateDataEntry(std::string("nMismatch"),
-            CreateKeywordValuePair(std::string("value"), alignment.nMismatch) + " " + 
-            CreateKeywordValuePair(std::string("percent"), alignment.nMismatch*0.5/alignLength)) 
-        << std::endl;
-    out << CreateDataEntry(std::string("nCorrect"),
-            CreateKeywordValuePair(std::string("value"), alignment.nMatch) + " " +
-            CreateKeywordValuePair(std::string("percent"), alignment.nMatch*0.5/alignLength)) 
-        << std::endl;
-
-    out << CreateStartEntry(std::string("alignment"), std::string("")) 
-        << CreateStartEntry(std::string("query"), std::string("")) 
-        << std::endl;
-    out << qAlignStr << std::endl;
-    out << CreateEndEntry(std::string("query")) << std::endl;
-    out << CreateStartEntry(std::string("target"), std::string("")) 
-        << std::endl;
-    out << tAlignStr << std::endl;
-    out << CreateEndEntry(std::string("target")) << std::endl;
-    out << CreateEndEntry(std::string("alignment")) << std::endl;
-    out << CreateEndEntry(std::string("hit")) << std::endl;
-}
-}
-#endif
diff --git a/libcpp/alignment/ipc/SharedMemoryAllocator.hpp b/libcpp/alignment/ipc/SharedMemoryAllocator.hpp
deleted file mode 100644
index 5599b63..0000000
--- a/libcpp/alignment/ipc/SharedMemoryAllocator.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef _BLASR_SHARED_MEMORY_ALLOCATOR_HPP_
-#define _BLASR_SHARED_MEMORY_ALLOCATOR_HPP_
-
-#include <iostream>
-#include <string>
-#include <errno.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/mman.h>
-
-template<typename T_Data>
-int AllocateMappedShare(std::string &handle, int dataLength, T_Data *&dataPtr, int &shmId) {
-    std::cout << "opening shm" << std::endl;
-    shmId = shm_open(handle.c_str(), O_CREAT| O_RDWR, S_IRUSR | S_IWUSR);
-    if (ftruncate(shmId, sizeof(T_Data[dataLength])) == -1) {
-        std::cout <<" ftruncate error: " << errno << std::endl;
-    }
-    std::cout << "done truncating." << std::endl;
-    dataPtr = (T_Data*) mmap(NULL, sizeof(T_Data[dataLength]),
-                                                PROT_READ | PROT_WRITE, MAP_SHARED, shmId, 0); 
-    if (dataPtr == MAP_FAILED) {
-        // 
-        // Handle this better later on.
-        //
-        std::cout << "ERROR, MEMORY MAP FAILED." << std::endl;
-        exit(1);
-    }
-    std::cout << "done mapping." << std::endl;
-    return dataLength;
-}
-
-
-#endif // _BLASR_SHARED_MEMORY_ALLOCATOR_HPP_
diff --git a/libcpp/alignment/makefile b/libcpp/alignment/makefile
deleted file mode 100644
index 0cfd1d6..0000000
--- a/libcpp/alignment/makefile
+++ /dev/null
@@ -1,52 +0,0 @@
-all:
-
-include ../rules.mk
-include ../defines.mk
-
-CXXOPTS := -std=c++11 -pedantic -MMD -MP -Wno-long-long
-INCLUDES += . ${LIBPBDATA_INCLUDE} ${LIBPBIHDF_INCLUDE} ${HDF5_INCLUDE} ${PBBAM_INCLUDE} ${HTSLIB_INCLUDE} ${BOOST_INCLUDE}
-DEP_LIBS += ${LIBPBDATA_LIB} ${HDF5_LIB} ${PBBAM_LIB} ${HTSLIB_LIB} ${ZLIB_LIB}
-LDFLAGS  += $(patsubst %,$(dirname %),${DEP_LIBS})
-
-all: libblasr.a libblasr.so
-
-sources := $(wildcard algorithms/alignment/*.cpp) \
-		   $(wildcard algorithms/alignment/sdp/*.cpp) \
-		   $(wildcard algorithms/anchoring/*.cpp) \
-		   $(wildcard algorithms/compare/*.cpp) \
-		   $(wildcard algorithms/sorting/*.cpp) \
-		   $(wildcard datastructures/alignment/*.cpp) \
-		   $(wildcard datastructures/alignmentset/*.cpp) \
-		   $(wildcard datastructures/anchoring/*.cpp) \
-		   $(wildcard datastructures/tuplelists/*.cpp) \
-		   $(wildcard suffixarray/*.cpp) \
-		   $(wildcard qvs/*.cpp) \
-		   $(wildcard statistics/*.cpp) \
-		   $(wildcard tuples/*.cpp) \
-		   $(wildcard utils/*.cpp) \
-		   $(wildcard files/*.cpp) \
-		   $(wildcard format/*.cpp) \
-		   $(wildcard simulator/*.cpp) \
-		   $(wildcard *.cpp) 
-
-ifdef nohdf
-sources := $(filter-out files/% utils/FileOfFileNames.cpp format/SAMHeaderPrinter.cpp, $(sources))
-endif
-
-objects := $(sources:.cpp=.o)
-shared_objects := $(sources:.cpp=.shared.o)
-dependencies := $(objects:.o=.d) $(shared_objects:.o=.d)
-
-libblasr.a: $(objects)
-	$(AR) $(ARFLAGS) $@ $^
-
-libblasr.so: $(shared_objects) $(DEP_LIBS)
-	$(CXX) $(LD_SHAREDFLAGS) -o $@ -Wl,-soname,$@ $^
-
-clean: 
-	@rm -f libblasr.a libblasr.so
-	@rm -f $(objects) $(shared_objects) $(dependencies)
-	@find . -type f -name \*.o -delete
-	@find . -type f -name \*.d -delete
-
--include $(dependencies)
diff --git a/libcpp/alignment/old.Makefile b/libcpp/alignment/old.Makefile
deleted file mode 100644
index 099a7d0..0000000
--- a/libcpp/alignment/old.Makefile
+++ /dev/null
@@ -1,113 +0,0 @@
-
-include ../common.mk
-
-# To enable building a shared library, invoke as "make SHARED_LIB=true ..."
-ifneq ($(SHARED_LIB),)
-    # Generating shared library
-    CXX_SHAREDFLAGS := -fPIC
-    LD_SHAREDFLAGS  := -shared -fPIC
-    TARGET_LIB      := libblasr.so
-    # Developers should set these to appropriate defaults (other systems 
-    # will override these on the command line):
-    HDF5_LIB        := ../../../../prebuilt.out/prebuilt.out/hdf5/hdf5-1.8.12/centos-5/lib/libhdf5.so
-    ZLIB_LIB        := ../../../../prebuilt.tmpsrc/zlib/zlib_1.2.8/_output/install/lib/libz.so
-    HTSLIB_LIB      := ../../../staging/PostPrimary/pbbam/_output/install-build/lib/libpbbam.so
-    PBBAM_LIB       := ../../../staging/PostPrimary/pbbam/third-party/htslib/_output/install-build/lib/libhts.so
-    LIBPBDATA_LIB   := ../../../staging/PostPrimary/pbbam/third-party/htslib/_output/install-build/lib/libhts.so
-else
-    # Generating shared library
-    CXX_SHAREDFLAGS :=
-    LD_SHAREDFLAGS  :=
-    TARGET_LIB      := libblasr.a
-    HDF5_LIB        :=
-    ZLIB_LIB        :=
-    HTSLIB_LIB      :=
-    PBBAM_LIB       :=
-    LIBPBDATA_LIB   :=
-endif
-
-DEP_LIBS := $(HDF5_LIB) $(ZLIB_LIB) $(HTSLIB_LIB) $(PBBAM_LIB) $(PBDATA_LIB)
-
-LIBPBDATA_INCLUDE := ../pbdata
-LIBPBIHDF_INCLUDE := ../hdf
-PBBAM_INCLUDE := $(PBBAM)/include
-HTSLIB_INCLUDE ?= $(HTSLIB)
-
-INCLUDES = -I$(LIBPBDATA_INCLUDE) \
-           -I$(LIBPBIHDF_INCLUDE) \
-	   -I.
-ifneq ($(HDF5_INC),)
-INCLUDES += -I$(HDF5_INC)
-else
-HDF_HEADERS := hdf5-1.8.12-headers
-INCLUDES += -I../hdf/$(HDF_HEADERS)/src -I../hdf/$(HDF_HEADERS)/c++/src
-endif
-
-ifneq ($(ZLIB_ROOT), notfound)
-	INCLUDES += -I$(ZLIB_ROOT)/include
-endif
-
-ifeq ($(origin nopbbam), undefined)
-    INCLUDES += -I$(PBBAM_INCLUDE) -I$(HTSLIB_INCLUDE) -I$(BOOST_INCLUDE)
-endif
-
-CXXOPTS := -std=c++11 -pedantic -Wno-long-long -MMD -MP
-
-sources := $(wildcard algorithms/alignment/*.cpp) \
-		   $(wildcard algorithms/alignment/sdp/*.cpp) \
-		   $(wildcard algorithms/anchoring/*.cpp) \
-		   $(wildcard algorithms/compare/*.cpp) \
-		   $(wildcard algorithms/sorting/*.cpp) \
-		   $(wildcard datastructures/alignment/*.cpp) \
-		   $(wildcard datastructures/alignmentset/*.cpp) \
-		   $(wildcard datastructures/anchoring/*.cpp) \
-		   $(wildcard datastructures/tuplelists/*.cpp) \
-		   $(wildcard suffixarray/*.cpp) \
-		   $(wildcard qvs/*.cpp) \
-		   $(wildcard statistics/*.cpp) \
-		   $(wildcard tuples/*.cpp) \
-		   $(wildcard utils/*.cpp) \
-		   $(wildcard files/*.cpp) \
-		   $(wildcard format/*.cpp) \
-		   $(wildcard simulator/*.cpp) \
-		   $(wildcard *.cpp) 
-
-ifdef nohdf
-sources := $(filter-out files/% utils/FileOfFileNames.cpp, $(sources))
-endif
-
-objects := $(sources:.cpp=.o)
-shared_objects := $(sources:.cpp=.shared.o)
-dependencies := $(objects:.o=.d) $(shared_objects:.o=.d)
-
-all : CXXFLAGS ?= -O3
-
-debug : CXXFLAGS ?= -g -ggdb -fno-inline
-
-profile : CXXFLAGS ?= -Os -pg
-
-g: CXXFLAGS = -g -ggdb -fno-inline -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -fno-omit-frame-pointer 
-
-all debug profile g: $(TARGET_LIB)
-
-libblasr.a: $(objects)
-	$(AR_pp) $(ARFLAGS) $@ $^
-
-libblasr.so: $(shared_objects) $(DEP_LIBS)
-	$(CXX_pp) $(LD_SHAREDFLAGS) -o $@ $^
-
-%.o: %.cpp
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(LEGACY) $(INCLUDES) -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.o) $(@:%.o=%.d)" -c $< -o $@
-
-%.shared.o: %.cpp
-	$(CXX_pp) $(CXX_SHAREDFLAGS) $(CXXOPTS) $(CXXFLAGS) $(LEGACY) $(INCLUDES) -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.o) $(@:%.o=%.d)" -c $< -o $@
-
-# .INTERMEDIATE: $(objects)
-
-clean: 
-	@rm -f libblasr.a libblasr.so
-	@rm -f $(objects) $(shared_objects) $(dependencies)
-	@find . -type f -name \*.o -delete
-	@find . -type f -name \*.d -delete
-
--include $(dependencies)
diff --git a/libcpp/alignment/qvs/QualityValueProfile.cpp b/libcpp/alignment/qvs/QualityValueProfile.cpp
deleted file mode 100644
index f1c3c2f..0000000
--- a/libcpp/alignment/qvs/QualityValueProfile.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
-#include "QualityValueProfile.hpp"
-
-QualityValueProfile::QualityValueProfile(int _wordSize, 
-    int _numQualityValues) {
-    wordSize = _wordSize;
-    numQualityValues = _numQualityValues;
-    // Initialize the tuple metrics to map from seq->index
-    tm.Initialize(wordSize);
-    nWords = 1 << (2*wordSize);
-    // Initialize the matrix of quality values.
-    profile.Grow(nWords, numQualityValues);
-    profile.Initialize(0);
-}
-
-void QualityValueProfile::Update(Nucleotide *seq, QualityValue qv) {
-    DNATuple tuple;
-    if (tuple.FromStringLR(seq, tm)) {
-        profile.Set(tuple.tuple, qv, profile(tuple.tuple, qv) + 1);
-    }
-}
-
-void QualityValueProfile::Print(std::ofstream &out) {
-    out << wordSize << " " << numQualityValues 
-        << " " << CDF_GRANULARITY << std::endl;
-    profile.Print(out);
-}
-
-void QualityValueProfile::ProfileToCDF() {
-    int qv;
-    int wordIndex;
-    for (wordIndex = 0 ; wordIndex < nWords; wordIndex++) {
-        int totalSamples = 0;			
-        for (qv = 0; qv < numQualityValues; qv++) {
-            totalSamples += profile(wordIndex, qv);
-            profile.Set(wordIndex, qv, totalSamples);
-        }
-        for (qv = 0; qv < numQualityValues; qv++ ){ 
-            profile.Set(wordIndex, qv, ((profile(wordIndex,qv) * 1.0) / totalSamples)  * CDF_GRANULARITY);
-        }
-    }
-}
diff --git a/libcpp/alignment/qvs/QualityValueProfile.hpp b/libcpp/alignment/qvs/QualityValueProfile.hpp
deleted file mode 100644
index a410fe9..0000000
--- a/libcpp/alignment/qvs/QualityValueProfile.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _BLASR_QUALITY_VALUE_PROFILE_HPP_
-#define _BLASR_QUALITY_VALUE_PROFILE_HPP_
-
-#include <fstream>
-#include "tuples/DNATuple.hpp"
-#include "tuples/TupleMetrics.hpp"
-#include "matrix/FlatMatrix.hpp"
-#include "qvs/QualityValue.hpp"
-
-class QualityValueProfile {
-	int wordSize;
-	int numQualityValues;
-	FlatMatrix2D<int> profile;
-	int nWords;
-	TupleMetrics tm;
-public:
-	static const int CDF_GRANULARITY = 10000;
-	QualityValueProfile(int _wordSize, int _numQualityValues);
-	void Update(Nucleotide *seq, QualityValue qv);
-   	void Print(std::ofstream &out);
-   	void ProfileToCDF();
-};
-#endif
diff --git a/libcpp/alignment/simulator/CDFMap.hpp b/libcpp/alignment/simulator/CDFMap.hpp
deleted file mode 100644
index 9a66a51..0000000
--- a/libcpp/alignment/simulator/CDFMap.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef _SIMULATOR_CDF_MAP_HPP_
-#define _SIMULATOR_CDF_MAP_HPP_
-#include <algorithm>
-#include <vector>
-#include <assert.h>
-#include "statistics/StatUtils.hpp"
-
-template<typename T_Data>
-class CDFMap {
-public:
-    std::vector<int> cdf;
-    std::vector<T_Data> data;
-    /* Tests:
-     * indices                0 1 2 3 4  5  6
-     * lengths:               1 3 5 9 10 10 11
-     * lengthHistogram.data:  1 3 5 9 10 11
-     * lengthHistogram.cdf :  1 2 3 4 6  7
-     *
-     * lengths:               1 3 5 9 10 11
-     * lengthHistogram.data:  1 3 5 9 10 11
-     * lengthHistogram.cdf :  1 2 3 4 5  6
-     *
-     * lengths:               10
-     * lengthHistogram.data:  10
-     * lengthHistogram.cdf :  1 
-     */ 
-     int SelectRandomValue(T_Data &value);
-
-};
-
-template<typename T_Data>
-int CDFMap<T_Data>::SelectRandomValue(T_Data &value)
-{
-    std::vector<int>::iterator search_it;
-    assert(cdf.size() >= 0);
-    int randomIndex = RandomInt(cdf[cdf.size()-1]);
-    search_it = lower_bound(cdf.begin(), cdf.end(), randomIndex);
-    assert(search_it != cdf.end());
-    int valueIndex = search_it - cdf.begin();
-    value = data[valueIndex];
-    return valueIndex;
-}
-
-#endif
diff --git a/libcpp/alignment/simulator/ContextOutputList.hpp b/libcpp/alignment/simulator/ContextOutputList.hpp
deleted file mode 100644
index 5023463..0000000
--- a/libcpp/alignment/simulator/ContextOutputList.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-#ifndef _SIMULATOR_CONTEXT_OUTPUT_LIST_HPP_
-#define _SIMULATOR_CONTEXT_OUTPUT_LIST_HPP_
-
-#include <stdlib.h>
-#include <map>
-#include <iostream>
-#include <fstream>
-#include <string>
-#include "utils.hpp"
-#include "simulator/OutputList.hpp"
-
-
-class ContextOutputList {
-public:
-    std::map<std::string, OutputList*> outputMap;
-    int contextLength;
-    int ParsePair(std::string &output, std::string &outStr, int &outCount){ 
-        std::string contextStr, outCountStr;
-        int i;
-        for (i = 0; i < output.size(); i++) {
-            if (output[i] == '=') {
-                int start = 0;
-                while(start < i and (output[start] == ' ' or output[start] == '\t')) { start++;}
-                outStr.assign(&output[start], i-start);
-                outCountStr.assign(&output[i+1], output.size()-i-1);
-                outCount = atoi(outCountStr.c_str());
-                return 1;
-            }
-        }
-        return 0;
-    }
-
-    int SampleRandomContext(std::string refContext, std::string &readContext) {
-        //
-        // Chec to see if there is a distribution for this ref context, if
-        // not, just return the ref context so that things may proceed,
-        // but return a fail code.
-        //
-        if (outputMap.find(refContext) == outputMap.end()) {
-            readContext = refContext;
-            return 0;
-        }
-        else {
-            outputMap[refContext]->SelectRandomContect(readContext);
-            return 1;
-        }
-    }
-
-
-    void Read(std::string &inName) {
-        ifstream in;
-        CrucialOpen(inName, in, std::ios::in);
-        Read(in);
-    }
-
-    void Read(ifstream &in) {
-        int nLines = 0;
-        contextLength = 0;
-        while(in) {
-            std::string context;
-            if (!(in >> context)) break;
-
-            contextLength = context.size();
-            std::string outputsLine;
-            getline(in,outputsLine);
-            // parse ctx=num; pairs
-            int i;
-            int e;
-            i = 0;
-            if (outputMap.find(context) == outputMap.end()) {
-                outputMap[context] = new OutputList;
-            }
-
-            while(i < outputsLine.size()) {
-                e = i+1;
-                while(e < outputsLine.size() and outputsLine[e] != ';') e++;
-                std::string pairStr;
-                pairStr.assign(&outputsLine[i], e-i);
-                if (e > i + 1) {
-                    std::string outStr;
-                    int outCount;
-                    ParsePair(pairStr, outStr, outCount);
-                    outputMap[context]->AddOutput(outStr, outCount);
-                }
-                i = e + 1;
-            }
-            outputMap[context]->StoreCumulativeCounts();
-        }
-    }
-
-    void Free() {
-        std::map<std::string,OutputList*>::iterator mapIt;
-        for (mapIt = outputMap.begin(); mapIt != outputMap.end(); ++mapIt) {
-            if (mapIt->second) {delete mapIt->second;}
-        }
-    }
-};
-
-
-#endif
diff --git a/libcpp/alignment/simulator/ContextSample.cpp b/libcpp/alignment/simulator/ContextSample.cpp
deleted file mode 100644
index 798df30..0000000
--- a/libcpp/alignment/simulator/ContextSample.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-#include "ContextSample.hpp"
-
-ContextSample::ContextSample() {
-    minSamples = 0;
-    maxSamples = 0;
-    reachedMinSamples = 0;
-}
-
-int ContextSample::GetNSamples() {
-    return samples.size();
-}
-
-int ContextSample::AppendSample(SMRTSequence &seq, DNALength pos) {
-    // 
-    // Check to see if the space has been sampled enough.
-    //
-    if (maxSamples != 0 and samples.size() >= maxSamples)
-        return 0;
-
-    samples.resize(samples.size()+1);
-    samples[samples.size()-1].CreateFromRead(seq,pos);
-    if (samples.size() > minSamples and reachedMinSamples == 0) {
-        reachedMinSamples = 1;
-        return 1;
-    }
-    else {
-        return 0;
-    }
-}
-
-QualitySample* ContextSample::GetRandomQualitySample() {
-    int sampleIndex = RandomInt(samples.size());
-    return &samples[sampleIndex];
-}
-
-void ContextSample::Write(std::ofstream &out) {
-    int s;
-    int sampleSize = samples.size();
-    out.write((char*) &sampleSize, sizeof(sampleSize));
-    for (s = 0; s < samples.size(); s++ ){
-        samples[s].Write(out);
-    }
-}
-
-void ContextSample::Read(std::ifstream &in) {
-    int s;
-    int sampleSize;
-    in.read((char*)&sampleSize, sizeof(sampleSize));
-    samples.resize(sampleSize);
-    for (s = 0; s < sampleSize; s++ ){
-        samples[s].Read(in);
-    }
-}
diff --git a/libcpp/alignment/simulator/ContextSample.hpp b/libcpp/alignment/simulator/ContextSample.hpp
deleted file mode 100644
index c7aa5c2..0000000
--- a/libcpp/alignment/simulator/ContextSample.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef _SIMULATOR_CONTEXT_SAMPLE_HPP_
-#define _SIMULATOR_CONTEXT_SAMPLE_HPP_
-
-#include<string>
-#include<vector>
-#include<iostream>
-#include "simulator/QualitySample.hpp"
-#include "statistics/StatUtils.hpp"
-
-class ContextSample {
-public:
-    std::vector<QualitySample> samples;
-    int minSamples;
-    int maxSamples;
-    int reachedMinSamples;
-
-    ContextSample();
-
-    int GetNSamples();
-
-    int AppendSample(SMRTSequence &seq, DNALength pos);
-
-    QualitySample* GetRandomQualitySample();
-
-    void Write(std::ofstream &out);
-
-    void Read(std::ifstream &in);
-};
-
-#endif
diff --git a/libcpp/alignment/simulator/ContextSet.cpp b/libcpp/alignment/simulator/ContextSet.cpp
deleted file mode 100644
index 1d84d72..0000000
--- a/libcpp/alignment/simulator/ContextSet.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-#include "ContextSet.hpp"
-
-ContextSampleMap::ContextSampleMap() {
-    contextLength = 0;
-}
-
-void ContextSampleMap::Write(std::ofstream &out) {
-    T_ContextSampleMap::iterator mapIt, mapEnd;
-    int mapSize = this->size();
-    out.write((char*)&contextLength, sizeof(contextLength));
-    out.write((char*)&mapSize, sizeof(mapSize));
-    mapEnd = this->end();
-    for(mapIt = this->begin(); mapIt != mapEnd; ++mapIt) {
-        out.write(mapIt->first.c_str(), contextLength);
-        mapIt->second->Write(out);
-    }
-}
-
-void ContextSampleMap::Read(std::ifstream &in) {
-    in.read((char*)&contextLength, sizeof(contextLength));
-    int numContext;
-    in.read((char*)&numContext, sizeof(numContext));
-    int i;
-    char *context = new char[contextLength+1];
-    context[contextLength] = '\0';
-    for (i = 0; i < numContext; i++) {
-        in.read(context, contextLength);
-        std::string contextString = context;
-        // Allocate the context
-        (*this)[contextString] = new ContextSample;
-        (*this)[contextString]->Read(in);
-    }
-    delete[] context;
-}
-
diff --git a/libcpp/alignment/simulator/ContextSet.hpp b/libcpp/alignment/simulator/ContextSet.hpp
deleted file mode 100644
index 7441f08..0000000
--- a/libcpp/alignment/simulator/ContextSet.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef _SIMULATOR_CONTEXT_SET_HPP_
-#define _SIMULATOR_CONTEXT_SET_HPP_
-
-#include <map>
-#include <iostream>
-#include "ContextSample.hpp"
-
-typedef std::map<std::string, ContextSample*> T_ContextSampleMap;
-
-class ContextSampleMap : public T_ContextSampleMap {
-public:
-    int contextLength;
-
-    ContextSampleMap();
-    void Write(std::ofstream &out);
-    void Read(std::ifstream &in);
-};
-
-#endif
diff --git a/libcpp/alignment/simulator/LengthHistogram.cpp b/libcpp/alignment/simulator/LengthHistogram.cpp
deleted file mode 100644
index e135db2..0000000
--- a/libcpp/alignment/simulator/LengthHistogram.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-#include "simulator/LengthHistogram.hpp"
-
-int LengthHistogram::Read(std::string &inName) {
-    std::ifstream in;
-    CrucialOpen(inName, in, std::ios::in);
-    return Read(in);
-}
-
-int LengthHistogram::Read(std::ifstream &in) {
-    while(in) {
-        int length, count;
-        in >> length;
-        in >> count;
-        lengthHistogram.data.push_back(length);
-        if (lengthHistogram.cdf.size() == 0) {
-            lengthHistogram.cdf.push_back(count);
-        }
-        else {
-            lengthHistogram.cdf.push_back(lengthHistogram.cdf[lengthHistogram.cdf.size()-1] + count);
-        }
-    }
-    return 1;
-}
-
-void LengthHistogram::GetRandomLength(int &length) {
-    lengthHistogram.SelectRandomValue(length);
-}
-
-void LengthHistogram::BuildFromAlignmentLengths(std::vector<int> &lengths) {
-    int i;
-    sort(lengths.begin(), lengths.end());
-    int f;
-    for (f = 0, i = 1; i < lengths.size(); i++) {
-        if (lengths[i] != lengths[f]) {
-            lengthHistogram.data.push_back(lengths[f]);
-            lengthHistogram.cdf.push_back(i);
-            f = i;
-        }
-    }
-    if (lengths.size() != 0) {
-        lengthHistogram.data.push_back(lengths[lengths.size()-1]);
-        lengthHistogram.cdf.push_back(lengths.size());
-    }
-    /* Tests:
-     * indices                0 1 2 3 4  5  6
-     * lengths:               1 3 5 9 10 10 11
-     * lengthHistogram.data:  1 3 5 9 10 11
-     * lengthHistogram.cdf :  1 2 3 4 6  7
-     *
-     * lengths:               1 3 5 9 10 11
-     * lengthHistogram.data:  1 3 5 9 10 11
-     * lengthHistogram.cdf :  1 2 3 4 5  6
-     *
-     * lengths:               10
-     * lengthHistogram.data:  10
-     * lengthHistogram.cdf :  1 
-     */ 
-}
diff --git a/libcpp/alignment/simulator/LengthHistogram.hpp b/libcpp/alignment/simulator/LengthHistogram.hpp
deleted file mode 100644
index 28c5e51..0000000
--- a/libcpp/alignment/simulator/LengthHistogram.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef _SIMULATOR_LENGTH_HISTOGRAM_HPP_
-#define _SIMULATOR_LENGTH_HISTOGRAM_HPP_
-
-#include <iostream>
-#include <string>
-#include <vector>
-#include "simulator/CDFMap.hpp"
-#include "alignment/CmpAlignment.hpp"
-#include "utils.hpp"
-
-class LengthHistogram {
-public:
-    CDFMap<int> lengthHistogram;
-
-    int Read(std::string &inName);
-   
-    int Read(std::ifstream &in);
-
-    void GetRandomLength(int &length);
-
-    void BuildFromAlignmentLengths(std::vector<int> &lengths);
-};
-
-#endif
diff --git a/libcpp/alignment/simulator/OutputList.hpp b/libcpp/alignment/simulator/OutputList.hpp
deleted file mode 100644
index 352c047..0000000
--- a/libcpp/alignment/simulator/OutputList.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef _SIMULATOR_OUTPUT_LIST_HPP_
-#define _SIMULATOR_OUTPUT_LIST_HPP_
-
-#include <string>
-#include <vector>
-
-#include "CDFMap.hpp"
-
-class Output {
-public:
-    std::string output;
-	int    count;
-};
-
-class OutputList {
-public:
-	int totalCount;
-    std::vector<Output> outputs;
-	CDFMap<std::vector<Output>::iterator> cdf;
-
-	OutputList() {
-		totalCount = 0;
-	}
-
-	int AddOutput(std::string str, int count) {
-		outputs.resize(outputs.size()+1);
-		outputs[outputs.size()-1].output = str;
-		outputs[outputs.size()-1].count  = count;
-		totalCount += count;
-	}
-	
-	void StoreCumulativeCounts() {
-		int outputIndex;
-		int total = 0;
-		for (outputIndex = 0; outputIndex < outputs.size(); outputIndex++) {
-			total += outputs[outputIndex].count;
-			cdf.cdf.push_back(total);
-			cdf.data.push_back(outputs.begin() + outputIndex);
-		}
-		assert(total == totalCount);
-	}
-
-	int ReturnUniformRandomContextIt(std::vector<Output>::iterator &outputIt) {
-		return cdf.SelectRandomValue(outputIt);
-	}
-
-	int SelectRandomContect(std::string &outputContext) {
-        std::vector<Output>::iterator outIt;
-		ReturnUniformRandomContextIt(outIt);
-		outputContext = outIt->output;
-		return outIt - outputs.begin();
-	}
-		
-};
-
-
-#endif
diff --git a/libcpp/alignment/simulator/OutputSample.hpp b/libcpp/alignment/simulator/OutputSample.hpp
deleted file mode 100644
index 528ecd3..0000000
--- a/libcpp/alignment/simulator/OutputSample.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef _SIMULATOR_OUTPUT_SAMPLE_HPP_
-#define _SIMULATOR_OUTPUT_SAMPLE_HPP_
-
-#include "QualitySample.hpp"
-#include "SMRTSequence.hpp"
-
-class OutputSample {
-public:
-    enum Type {Match, Insertion, Deletion, Substitution};
-
-    std::vector<QualitySample> qualities;
-    std::vector<Nucleotide>    nucleotides;
-    Type type;
-
-    void Resize(int size) {
-        qualities.resize(size);
-        nucleotides.resize(size);
-    }
-
-    int CopyFromSeq(SMRTSequence &seq, int pos, int length=1) {
-        Resize(length);
-        int i;
-        for (i = 0; i < length; i++) {
-            qualities[i].CopyFromSequence(seq, pos+i);
-            nucleotides[i] = seq.seq[pos+i];
-        }
-    }
-
-    void Write(std::ofstream &out) {
-
-        out.write((char*) &type, sizeof(type));
-        int nNuc = nucleotides.size();
-
-        out.write((char*)&nNuc, sizeof(int));
-        int i;
-        for (i = 0; i < qualities.size(); i++) {
-            qualities[i].Write(out);
-        }
-        assert(nNuc == qualities.size());
-        out.write((char*) &nucleotides[0], sizeof(Nucleotide)*nucleotides.size());
-
-    }
-
-    void Read(std::ifstream &in) {
-        in.read((char*) &type, sizeof(Type));
-        int nNuc;
-        in.read((char*) &nNuc, sizeof(int));
-        qualities.resize(nNuc);
-        int i;
-        for (i = 0; i < nNuc; i++) {
-            qualities[i].Read(in);
-        }
-        nucleotides.resize(nNuc);
-        in.read((char*) &nucleotides[0], sizeof(Nucleotide)* nNuc);
-
-    }
-};
-
-#endif
diff --git a/libcpp/alignment/simulator/OutputSampleList.hpp b/libcpp/alignment/simulator/OutputSampleList.hpp
deleted file mode 100644
index f2da93f..0000000
--- a/libcpp/alignment/simulator/OutputSampleList.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef _SIMULATOR_OUTPUT_SAMPLE_LIST_HPP_
-#define _SIMULATOR_OUTPUT_SAMPLE_LIST_HPP_
-
-#include <vector>
-#include "OutputSample.hpp"
-
-class OutputSampleList: public std::vector<OutputSample> {
-public:
-    void Write(ofstream &out) {
-        int nElem = this->size();
-        out.write((char*)&nElem, sizeof(int));
-        if (nElem > 0) {
-            int i;
-            for (i = 0; i < nElem; i++) {
-                (*this)[i].Write(out);
-            }
-        }
-    }
-
-    void Read(std::ifstream &in) {
-        int nElem;
-        in.read((char*) &nElem, sizeof(int));
-        if (nElem > 0) {
-            this->resize(nElem);
-            int i;
-            for (i = 0; i < nElem; i++) {
-                (*this)[i].Read(in);
-            }
-        }
-    }
-};
-
-#endif
diff --git a/libcpp/alignment/simulator/OutputSampleListSet.hpp b/libcpp/alignment/simulator/OutputSampleListSet.hpp
deleted file mode 100644
index dbfe8d0..0000000
--- a/libcpp/alignment/simulator/OutputSampleListSet.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-#ifndef SIMULATOR_OUTPUT_SAMPLE_LIST_SET_H_
-#define SIMULATOR_OUTPUT_SAMPLE_LIST_SET_H_
-
-#include <map>
-#include <string>
-#include <iostream>
-#include "OutputSampleList.hpp"
-
-
-using namespace std;
-
-typedef map<string, OutputSampleList> OutputSampleListMap;
-class OutputSampleListSet {
- public:
-  OutputSampleListMap listMap;
-  vector<string> keys;
-  int keyLength;
-  int nSufficient;
-  int sampleSpaceSize;
-  int keySize;
-  int minSamples;
-  int maxSamples;
-  vector<int> lengths;
-  OutputSampleListSet(int keySizeP) {
-    minSamples = 500;
-    maxSamples = 2000;
-    nSufficient = 0;
-    keySize = keySizeP;
-    sampleSpaceSize = 1 << (2*keySize);
-  }
-
-  void Write(ofstream &out) {
-    // Say how many elements to write.
-    OutputSampleListMap::iterator mapIt;
-    int setSize = listMap.size();
-    out.write((char*) &setSize, sizeof(int));
-    int keySize = 0;
-    // Say how large each element is.
-    if (listMap.size() > 0) {
-      keySize = listMap.begin()->first.size();
-    }
-    out.write((char*)&keySize, sizeof(int));
-
-    for (mapIt = listMap.begin(); mapIt != listMap.end(); ++mapIt) {
-      string mapItKey = mapIt->first;
-      out.write((char*) mapItKey.c_str(), sizeof(char) * mapItKey.size());
-      mapIt->second.Write(out);
-    }
-    int numLengths = lengths.size();
-    out.write((char*) &numLengths, sizeof(int));
-    int i;
-    for ( i = 0; i < lengths.size(); i++) {
-      out.write((char*) &lengths[i], sizeof(int));
-    }
-  }
-
-  void Read(string &inName) {
-    ifstream in;
-    CrucialOpen(inName, in, std::ios::in|std::ios::binary);
-    Read(in);
-    in.close();
-  }
-
-  void Read(ifstream &in) {
-    int setSize;
-    in.read((char*) &setSize, sizeof(int));
-    in.read((char*) &keyLength, sizeof(int));
-
-    if (keyLength == 0 or setSize == 0) { return; }
-    char *key = new char[keyLength+1];
-    key[keyLength] = '\0';
-    int i;
-    for (i = 0; i < setSize; i++) {
-      in.read(key, sizeof(char)*keyLength);
-      listMap[key].Read(in);
-    }
-    int numLengths;
-    in.read((char*) &numLengths, sizeof(int));
-    if (numLengths > 0) {
-      lengths.resize(numLengths);
-    }
-    for (i = 0; i < numLengths; i++) {
-      in.read((char*) &lengths[i], sizeof(int));
-    }
-    if (key) {delete [] key; key = NULL;}
-  }
-
-  void AppendOutputSample(string key, OutputSample &sample) {
-      if (listMap[key].size() < minSamples) {
-          if (listMap[key].size() < maxSamples) {
-              listMap[key].push_back(sample);
-          }
-          if (listMap[key].size() == minSamples) {
-              nSufficient++;
-              cout << nSufficient << " / " << sampleSpaceSize << endl;
-          }
-      }
-  }
-
-  bool Sufficient() {
-      return nSufficient == sampleSpaceSize;
-  }
-
-  void SampleRandomSample(string key, OutputSample &sample) {
-      if (listMap.find(key) == listMap.end()) {
-          cout << listMap.size() << endl;
-          cout <<"ERROR, " << key << " is not a sampled context." << endl;
-          int i;
-          for (i = 0; i < key.size(); i++) {
-              char c = toupper(key[i]);
-              if (c != 'A' and c != 'C' and c != 'G' and c != 'T') {
-                  cout << "The nucleotide " << c << " is not supported." << endl;
-              }
-          }
-          exit(1);
-      }
-      sample = listMap[key][RandomInt(listMap[key].size())];
-  }
-
-
-};
-
-#endif
diff --git a/libcpp/alignment/simulator/QualitySample.cpp b/libcpp/alignment/simulator/QualitySample.cpp
deleted file mode 100644
index 1f15b95..0000000
--- a/libcpp/alignment/simulator/QualitySample.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-#include "QualitySample.hpp" 
-
-void QualitySample::CopyFromSequence(SMRTSequence &seq, int pos) {
-    qv[0] = seq.qual[pos];
-    qv[1] = seq.deletionQV[pos];
-    qv[2] = seq.insertionQV[pos];
-    qv[3] = seq.substitutionQV[pos];
-    tags[0] = seq.deletionTag[pos];
-    tags[1] = seq.substitutionTag[pos];
-    frameValues[0] = seq.pulseIndex[pos];
-    frameValues[1] = seq.preBaseFrames[pos];
-    frameValues[2] = seq.widthInFrames[pos];
-}
-
-void QualitySample::Write(std::ofstream &out) {
-    out.write((char*)qv, sizeof(qv[0])*NQV);
-    out.write((char*)frameValues, sizeof(frameValues[0])*NFV);
-    out.write((char*)tags, sizeof(tags[0])*NT);
-}
-
-void QualitySample::Read(std::ifstream &in) {
-    in.read((char*)qv, sizeof(QualityValue)*NQV);
-    in.read((char*)frameValues, sizeof(frameValues[0])*NFV);
-    in.read((char*)tags, sizeof(tags[0])*NT);
-}
-
-void QualitySample::CreateFromRead(SMRTSequence &seq, DNALength pos) {
-    /*
-     * For now create with a static set of values:
-     * qvs:
-     * 0 QualityValue
-     * 1 DeletionQV
-     * 2 InsertionQV
-     * 3 SubstitutionQV
-     * tags:
-     * 0 DeletionTag
-     * 1 SubstitutionTag
-     * PulseData
-     * 0 PulseIndex
-     * 1 PreBaseFrames
-     * 2 WidthInFrames
-     */
-    //		qv.resize(4);
-    std::fill(&qv[0], &qv[NQV], 0);
-    if (seq.qual.Empty() == false){ 
-        qv[0] = seq.qual[pos];
-    }
-    if (seq.deletionQV.Empty() == false) {
-        qv[1] = seq.deletionQV[pos];
-    }
-    if (seq.insertionQV.Empty() == false ){ 
-        qv[2] = seq.insertionQV[pos];
-    }
-    if (seq.substitutionQV.Empty() == false){ 
-        qv[3] = seq.substitutionQV[pos];
-    }
-    std::fill(&tags[0], &tags[NT], 0);
-    if (seq.deletionTag){ 
-        tags[0] = seq.deletionTag[pos];
-    }
-    if (seq.substitutionTag) {
-        tags[1] = seq.substitutionTag[pos];
-    }
-
-    std::fill(&frameValues[0], &frameValues[NFV], 0);
-    if (seq.pulseIndex) {
-        frameValues[0] = seq.pulseIndex[pos];
-    }
-
-    if (seq.preBaseFrames) {
-        frameValues[1] = seq.preBaseFrames[pos];
-    }
-
-    if (seq.widthInFrames) {
-        frameValues[2] = seq.widthInFrames[pos];
-    }
-}
diff --git a/libcpp/alignment/simulator/QualitySample.hpp b/libcpp/alignment/simulator/QualitySample.hpp
deleted file mode 100644
index 3f0a181..0000000
--- a/libcpp/alignment/simulator/QualitySample.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef _SIMULATOR_QUALITY_SAMPLE_HPP_
-#define _SIMULATOR_QUALITY_SAMPLE_HPP_
-
-#include <iostream>
-#include "Types.h"
-#include "SMRTSequence.hpp"
-#include "qvs/QualityValue.hpp"
-
-#define NQV 4
-#define NFV 3
-#define NT  2
-
-class QualitySample {
-public:
-	QualityValue qv[NQV];
-	HalfWord     frameValues[NFV];
-	Nucleotide   tags[NT];
-
-    void CopyFromSequence(SMRTSequence &seq, int pos);
-    
-    void Write(std::ofstream &out);
-   
-    void Read(std::ifstream &in);
-   
-    void CreateFromRead(SMRTSequence &seq, DNALength pos);
-};
-
-#endif
diff --git a/libcpp/alignment/statistics/AnchorDistributionTable.hpp b/libcpp/alignment/statistics/AnchorDistributionTable.hpp
deleted file mode 100644
index c789b4d..0000000
--- a/libcpp/alignment/statistics/AnchorDistributionTable.hpp
+++ /dev/null
@@ -1,43518 +0,0 @@
-#ifndef STATISTICS_ANCHOR_DISTRIBUTION_TABLE_H_
-#define STATISTICS_ANCHOR_DISTRIBUTION_TABLE_H_
-
-static int anchorMinKValues[] = {10,25,1};
-static int anchorReadLengths[] = {100,3000,10};
-static int anchorReadAccuracies[]  = {70,95,1};
-static float meanNumAnchors[] = {
-0.83,0.91,1.07,1.08,1.18,1.21,1.39,1.46,1.54,1.64,
-1.69,1.83,1.87,1.96,2.08,2.11,2.22,2.35,2.38,2.46,
-2.57,2.60,2.66,2.65,2.82,3.03,3.08,3.06,3.26,3.31,
-3.32,3.38,3.58,3.67,3.69,3.85,3.81,3.88,4.05,4.16,
-4.32,4.43,4.44,4.38,4.44,4.52,4.65,4.90,4.73,4.90,
-4.98,5.11,5.21,5.31,5.37,5.49,5.54,5.70,5.59,5.75,
-5.89,6.02,6.10,6.18,6.33,6.37,6.59,6.36,6.56,6.65,
-6.72,6.74,6.85,7.01,7.08,7.18,7.24,7.27,7.36,7.57,
-7.43,7.63,7.80,7.81,8.12,7.86,8.11,8.20,8.29,8.33,
-8.43,8.39,8.71,8.81,8.70,8.75,8.92,8.94,9.24,9.21,
-9.11,9.36,9.32,9.41,9.62,9.60,9.73,9.91,9.80,9.82,
-10.09,10.17,10.20,10.27,10.33,10.39,10.57,10.46,10.72,10.91,
-10.80,11.10,11.25,11.11,11.45,11.21,11.25,11.45,11.65,11.56,
-11.91,12.01,11.90,11.97,12.09,12.25,12.12,12.21,12.54,12.53,
-12.61,12.37,12.88,12.88,13.03,12.94,13.12,13.23,13.37,13.26,
-13.40,13.47,13.70,13.60,13.72,13.79,14.00,13.99,14.04,13.95,
-14.27,14.16,14.57,14.47,14.65,14.68,14.93,14.98,14.89,15.01,
-15.08,15.24,15.21,15.25,15.21,15.59,15.64,15.81,15.64,15.86,
-15.98,16.17,16.13,16.11,16.15,16.15,16.25,16.42,16.61,16.56,
-16.78,16.62,17.07,16.83,17.13,17.18,17.13,17.51,17.57,17.73,
-17.49,17.83,17.75,17.79,18.08,17.96,18.09,18.25,18.27,18.09,
-18.35,18.56,18.59,18.75,18.67,18.93,18.97,19.12,19.01,19.23,
-19.32,19.48,19.41,19.47,19.72,19.68,19.83,19.94,19.88,20.18,
-20.19,20.11,20.14,20.50,20.35,20.65,20.74,20.77,20.91,20.83,
-20.78,20.91,21.19,21.12,21.21,21.39,21.52,21.27,21.62,21.96,
-21.96,21.59,22.06,21.96,22.24,22.45,22.18,22.63,22.50,22.83,
-22.57,22.77,22.71,22.70,23.02,23.00,23.06,23.24,23.33,23.42,
-23.57,23.61,23.95,23.48,23.88,23.82,24.00,24.08,23.96,24.24,
-24.36,24.41,24.75,24.72,24.59,24.57,24.82,24.71,25.22,24.88,
-0.59,0.65,0.70,0.76,0.82,0.87,0.95,0.98,1.17,1.11,
-1.18,1.22,1.27,1.32,1.48,1.53,1.59,1.60,1.65,1.67,
-1.78,1.80,1.92,1.97,2.07,2.07,2.09,2.18,2.31,2.29,
-2.42,2.49,2.46,2.51,2.56,2.67,2.75,2.79,2.84,2.85,
-2.94,3.01,3.04,3.18,3.22,3.34,3.27,3.39,3.40,3.53,
-3.49,3.61,3.60,3.71,3.77,3.71,3.85,3.98,4.05,4.04,
-4.13,4.24,4.33,4.35,4.37,4.41,4.49,4.55,4.59,4.59,
-4.74,4.89,4.79,4.81,4.82,5.00,5.10,5.11,5.07,5.23,
-5.31,5.39,5.55,5.40,5.47,5.63,5.63,5.73,5.73,5.91,
-5.89,5.94,6.02,5.94,6.13,6.26,6.31,6.29,6.58,6.45,
-6.46,6.41,6.56,6.77,6.79,6.70,6.82,6.84,7.14,7.03,
-6.94,7.00,7.27,7.23,7.35,7.29,7.37,7.28,7.48,7.52,
-7.53,7.74,7.92,7.76,7.85,8.00,7.86,8.04,8.02,8.08,
-8.35,8.32,8.41,8.39,8.34,8.56,8.61,8.67,8.66,8.81,
-8.70,8.87,8.81,8.75,9.33,9.09,9.10,9.00,9.35,9.28,
-9.27,9.44,9.54,9.60,9.60,9.65,9.72,9.77,9.91,9.90,
-10.11,9.90,10.13,10.13,10.21,10.39,10.34,10.22,10.46,10.64,
-10.40,10.84,10.89,10.70,10.98,10.79,10.75,10.96,11.09,11.12,
-11.26,11.40,11.34,11.28,11.32,11.45,11.55,11.80,11.61,11.67,
-11.74,11.69,11.95,11.92,11.92,11.88,11.98,12.26,12.25,12.13,
-12.19,12.16,12.24,12.51,12.52,12.48,12.63,12.90,12.85,12.79,
-12.77,13.16,13.05,13.13,13.12,13.13,13.41,13.37,13.46,13.35,
-13.44,13.65,13.61,13.58,13.74,13.67,13.98,13.97,13.95,13.92,
-14.07,13.87,14.15,14.41,14.36,14.44,14.38,14.54,14.69,14.78,
-14.72,14.90,14.77,14.85,14.84,14.96,15.08,15.04,15.21,15.08,
-15.23,15.29,15.42,15.36,15.29,15.58,15.71,15.78,15.55,15.98,
-16.01,15.88,15.89,16.07,16.11,16.44,16.32,16.29,16.37,16.50,
-16.58,16.38,16.55,16.54,16.54,16.55,16.80,16.77,16.81,16.95,
-16.89,17.43,17.14,17.19,17.04,17.35,17.34,17.40,17.27,17.73,
-0.41,0.47,0.52,0.54,0.56,0.61,0.66,0.72,0.77,0.79,
-0.81,0.90,0.88,0.92,1.01,1.12,1.03,1.09,1.16,1.20,
-1.25,1.25,1.40,1.31,1.37,1.43,1.43,1.51,1.48,1.62,
-1.68,1.73,1.66,1.74,1.82,1.84,1.86,1.94,2.04,2.02,
-2.06,2.14,2.18,2.18,2.17,2.25,2.30,2.25,2.36,2.37,
-2.42,2.50,2.59,2.54,2.63,2.64,2.70,2.88,2.74,2.76,
-2.88,2.91,3.07,2.96,3.09,3.12,3.17,3.14,3.24,3.35,
-3.22,3.27,3.43,3.39,3.38,3.52,3.45,3.56,3.66,3.75,
-3.71,3.69,3.77,3.92,3.90,3.87,3.86,3.99,4.06,4.11,
-4.05,4.18,4.16,4.29,4.31,4.42,4.40,4.47,4.61,4.52,
-4.42,4.54,4.59,4.65,4.71,4.74,4.71,4.88,4.81,4.88,
-4.95,5.00,5.11,5.14,5.18,5.11,5.15,5.32,5.30,5.27,
-5.39,5.45,5.54,5.53,5.52,5.50,5.55,5.67,5.64,5.70,
-5.64,5.84,5.83,5.73,5.93,5.95,6.03,6.21,6.12,6.04,
-6.16,6.14,6.30,6.26,6.24,6.48,6.51,6.33,6.42,6.46,
-6.60,6.59,6.61,6.72,6.83,6.78,6.83,6.91,6.89,6.94,
-6.90,6.99,7.01,7.15,7.19,7.18,7.26,7.11,7.25,7.33,
-7.40,7.34,7.64,7.62,7.51,7.66,7.84,7.69,7.79,7.73,
-7.92,7.83,7.90,7.95,8.08,8.01,8.15,8.24,8.10,8.25,
-8.13,8.15,8.40,8.47,8.45,8.43,8.31,8.52,8.58,8.68,
-8.69,8.53,8.69,8.71,8.69,8.97,8.92,8.80,8.86,8.99,
-9.04,9.08,9.15,9.19,9.32,9.12,9.15,9.47,9.31,9.42,
-9.39,9.54,9.56,9.60,9.70,9.81,9.78,9.68,9.68,9.91,
-9.90,9.69,9.89,9.91,10.12,10.16,10.22,10.25,10.26,10.21,
-10.32,10.34,10.35,10.33,10.37,10.44,10.52,10.53,10.60,10.76,
-10.61,10.79,10.80,10.87,10.84,10.80,10.94,10.90,10.85,11.04,
-11.09,11.20,11.03,11.08,11.16,11.42,11.14,11.30,11.54,11.36,
-11.52,11.43,11.53,11.68,11.62,11.67,11.80,11.83,11.94,12.01,
-11.90,11.94,11.77,12.01,12.08,12.09,12.13,12.33,12.26,12.06,
-0.28,0.33,0.37,0.39,0.41,0.48,0.50,0.49,0.52,0.51,
-0.58,0.63,0.65,0.66,0.68,0.71,0.68,0.79,0.83,0.84,
-0.89,0.90,0.91,0.95,1.02,1.04,1.08,1.04,1.08,1.19,
-1.08,1.22,1.20,1.21,1.30,1.27,1.36,1.35,1.37,1.45,
-1.41,1.44,1.54,1.49,1.54,1.55,1.56,1.65,1.68,1.71,
-1.71,1.78,1.80,1.81,1.85,1.86,1.87,1.87,1.97,1.96,
-2.12,2.07,2.09,2.17,2.14,2.19,2.21,2.27,2.27,2.25,
-2.24,2.36,2.29,2.33,2.44,2.35,2.48,2.45,2.63,2.58,
-2.60,2.64,2.67,2.67,2.69,2.74,2.77,2.84,2.78,2.87,
-3.02,2.88,3.05,2.94,3.05,3.04,3.16,3.15,3.12,3.12,
-3.22,3.28,3.17,3.27,3.22,3.40,3.32,3.34,3.47,3.45,
-3.44,3.49,3.60,3.69,3.63,3.52,3.53,3.69,3.70,3.68,
-3.74,3.78,3.83,3.87,3.96,3.72,3.86,3.95,4.00,3.92,
-4.07,4.03,4.04,4.03,4.12,4.14,4.22,4.17,4.20,4.22,
-4.36,4.31,4.41,4.43,4.46,4.45,4.48,4.53,4.54,4.53,
-4.59,4.71,4.64,4.72,4.78,4.75,4.70,4.85,4.83,4.90,
-4.86,4.98,4.90,5.05,5.04,4.90,5.08,5.16,5.04,5.21,
-5.23,5.09,5.26,5.24,5.29,5.29,5.34,5.46,5.45,5.39,
-5.39,5.53,5.49,5.54,5.42,5.57,5.51,5.64,5.75,5.64,
-5.76,5.76,5.84,5.95,5.89,6.02,5.84,5.99,5.90,6.16,
-6.14,5.97,5.99,6.27,6.06,6.10,6.27,6.31,6.18,6.18,
-6.24,6.32,6.35,6.39,6.54,6.52,6.49,6.51,6.57,6.68,
-6.70,6.57,6.63,6.74,6.72,6.69,6.72,6.96,6.85,6.81,
-6.92,6.79,6.95,7.11,6.98,7.02,6.97,7.06,7.02,7.15,
-7.17,7.20,7.20,7.34,7.35,7.18,7.24,7.46,7.38,7.35,
-7.50,7.52,7.60,7.71,7.47,7.43,7.68,7.65,7.71,7.80,
-7.76,7.78,7.81,7.68,7.98,7.98,8.05,7.86,8.13,8.02,
-8.16,8.19,8.09,8.19,8.09,8.07,8.07,8.19,8.20,8.38,
-8.36,8.51,8.50,8.38,8.37,8.51,8.57,8.34,8.52,8.65,
-0.19,0.22,0.23,0.26,0.28,0.32,0.36,0.34,0.37,0.41,
-0.42,0.42,0.45,0.46,0.51,0.50,0.55,0.53,0.62,0.57,
-0.60,0.59,0.67,0.69,0.75,0.69,0.78,0.77,0.80,0.79,
-0.76,0.89,0.89,0.86,0.94,0.92,0.97,0.93,1.00,1.00,
-1.04,1.07,1.04,1.01,1.11,1.12,1.10,1.18,1.15,1.22,
-1.25,1.26,1.22,1.24,1.33,1.36,1.30,1.39,1.47,1.44,
-1.38,1.42,1.38,1.47,1.49,1.55,1.53,1.58,1.54,1.55,
-1.62,1.64,1.67,1.68,1.70,1.73,1.77,1.84,1.74,1.81,
-1.77,1.81,1.92,1.87,1.95,1.88,1.91,2.00,1.96,1.98,
-2.02,2.10,2.05,2.05,2.08,2.14,2.17,2.14,2.21,2.13,
-2.17,2.19,2.17,2.21,2.23,2.19,2.34,2.29,2.39,2.41,
-2.44,2.42,2.53,2.53,2.45,2.53,2.60,2.59,2.67,2.60,
-2.54,2.62,2.55,2.73,2.74,2.75,2.68,2.74,2.75,2.77,
-2.82,2.81,2.88,2.83,2.97,3.01,2.90,2.98,2.94,3.01,
-3.04,3.06,3.00,3.13,3.06,3.22,3.25,3.23,3.24,3.22,
-3.28,3.31,3.33,3.29,3.28,3.30,3.29,3.41,3.32,3.30,
-3.45,3.38,3.38,3.48,3.45,3.50,3.50,3.61,3.50,3.75,
-3.68,3.57,3.58,3.64,3.66,3.79,3.71,3.71,3.69,3.79,
-3.77,3.85,3.81,3.80,3.85,3.96,4.03,3.91,4.07,4.08,
-3.96,3.93,4.02,4.13,4.09,4.12,4.17,4.13,4.21,4.16,
-4.30,4.17,4.38,4.23,4.29,4.22,4.40,4.39,4.46,4.35,
-4.40,4.43,4.43,4.56,4.49,4.58,4.60,4.49,4.61,4.57,
-4.71,4.59,4.71,4.84,4.72,4.67,4.76,4.79,4.69,4.85,
-4.85,4.82,4.80,4.93,4.94,4.89,4.95,5.06,5.02,5.00,
-5.10,5.06,5.08,5.09,5.14,5.17,5.19,5.23,5.22,5.21,
-5.21,5.23,5.13,5.41,5.37,5.32,5.27,5.33,5.45,5.40,
-5.37,5.53,5.46,5.51,5.56,5.64,5.60,5.49,5.55,5.57,
-5.60,5.72,5.47,5.70,5.68,5.71,5.75,5.76,5.79,5.93,
-5.80,5.80,5.94,5.98,5.89,5.98,5.89,6.07,5.93,6.03,
-0.14,0.14,0.16,0.18,0.18,0.22,0.23,0.25,0.23,0.30,
-0.30,0.31,0.28,0.34,0.36,0.38,0.35,0.41,0.39,0.42,
-0.45,0.45,0.44,0.47,0.48,0.49,0.50,0.50,0.54,0.55,
-0.53,0.57,0.57,0.64,0.64,0.66,0.64,0.69,0.68,0.69,
-0.68,0.70,0.76,0.71,0.76,0.81,0.78,0.78,0.82,0.77,
-0.83,0.87,0.87,0.92,0.90,0.90,0.95,0.96,1.02,0.97,
-0.95,1.02,1.02,1.10,1.03,1.03,1.16,1.12,1.07,1.13,
-1.14,1.14,1.13,1.16,1.20,1.21,1.16,1.21,1.26,1.23,
-1.31,1.24,1.32,1.29,1.31,1.31,1.32,1.44,1.39,1.41,
-1.41,1.40,1.49,1.41,1.46,1.46,1.56,1.52,1.49,1.62,
-1.52,1.54,1.59,1.57,1.61,1.62,1.62,1.74,1.68,1.72,
-1.73,1.74,1.72,1.68,1.74,1.75,1.75,1.85,1.81,1.81,
-1.80,1.85,1.92,1.91,1.95,1.91,1.85,1.98,1.97,2.00,
-2.00,2.00,2.03,2.04,2.11,2.07,2.08,2.07,2.15,2.10,
-2.10,2.08,2.11,2.20,2.17,2.19,2.23,2.14,2.26,2.26,
-2.25,2.22,2.27,2.33,2.30,2.35,2.33,2.36,2.35,2.36,
-2.37,2.42,2.38,2.51,2.45,2.44,2.53,2.55,2.54,2.51,
-2.54,2.51,2.53,2.55,2.65,2.62,2.65,2.61,2.73,2.70,
-2.60,2.68,2.73,2.72,2.67,2.74,2.74,2.82,2.79,2.83,
-2.85,2.82,2.90,2.83,2.89,2.93,2.92,2.94,2.90,2.92,
-3.03,2.93,2.95,2.98,3.03,3.02,3.17,3.09,3.12,3.09,
-3.12,3.14,3.18,3.20,3.18,3.07,3.21,3.21,3.19,3.23,
-3.28,3.30,3.27,3.21,3.35,3.35,3.44,3.34,3.29,3.35,
-3.42,3.37,3.48,3.43,3.36,3.45,3.43,3.52,3.49,3.51,
-3.54,3.62,3.47,3.66,3.56,3.55,3.55,3.70,3.56,3.61,
-3.65,3.66,3.64,3.69,3.65,3.77,3.75,3.68,3.79,3.73,
-3.68,3.77,3.81,3.84,3.81,3.85,3.85,3.90,3.91,3.92,
-3.82,3.95,3.93,4.00,4.05,3.99,4.08,4.04,4.02,4.03,
-4.07,4.19,4.12,4.15,4.12,4.18,4.20,4.22,4.23,4.19,
-0.08,0.11,0.12,0.14,0.14,0.15,0.16,0.17,0.18,0.19,
-0.18,0.20,0.23,0.22,0.24,0.24,0.23,0.29,0.26,0.30,
-0.31,0.29,0.33,0.31,0.33,0.34,0.33,0.38,0.35,0.38,
-0.36,0.40,0.46,0.42,0.41,0.43,0.47,0.47,0.48,0.46,
-0.48,0.49,0.50,0.56,0.52,0.54,0.59,0.59,0.59,0.59,
-0.61,0.56,0.59,0.63,0.64,0.68,0.66,0.68,0.66,0.70,
-0.72,0.69,0.71,0.70,0.72,0.72,0.73,0.78,0.71,0.74,
-0.78,0.80,0.82,0.79,0.84,0.80,0.86,0.89,0.83,0.83,
-0.88,0.91,0.95,0.87,0.91,0.95,0.96,0.94,1.04,0.92,
-0.99,1.07,1.00,0.99,1.04,1.07,1.01,1.06,1.04,1.07,
-1.11,1.13,1.08,1.12,1.14,1.16,1.13,1.14,1.23,1.14,
-1.21,1.21,1.21,1.18,1.30,1.20,1.27,1.32,1.26,1.26,
-1.25,1.30,1.27,1.29,1.28,1.32,1.36,1.32,1.35,1.34,
-1.38,1.40,1.35,1.44,1.45,1.45,1.47,1.45,1.48,1.50,
-1.51,1.45,1.52,1.51,1.51,1.49,1.58,1.53,1.55,1.59,
-1.57,1.61,1.58,1.61,1.70,1.66,1.65,1.67,1.71,1.59,
-1.66,1.70,1.69,1.74,1.74,1.73,1.80,1.74,1.71,1.78,
-1.81,1.71,1.86,1.85,1.83,1.83,1.81,1.87,1.92,1.89,
-1.84,1.92,1.85,1.90,1.90,1.88,1.94,2.05,1.92,1.87,
-2.02,1.98,2.04,2.01,2.04,2.01,2.00,2.05,2.02,2.16,
-2.03,2.03,2.13,2.02,2.13,2.15,2.19,2.20,2.15,2.26,
-2.20,2.18,2.15,2.24,2.21,2.27,2.23,2.29,2.29,2.35,
-2.17,2.27,2.26,2.35,2.30,2.32,2.38,2.31,2.41,2.33,
-2.34,2.43,2.33,2.39,2.39,2.34,2.44,2.49,2.50,2.42,
-2.47,2.47,2.54,2.52,2.49,2.58,2.46,2.54,2.47,2.45,
-2.49,2.60,2.57,2.53,2.75,2.65,2.59,2.63,2.65,2.60,
-2.61,2.74,2.59,2.66,2.69,2.65,2.73,2.72,2.71,2.76,
-2.82,2.80,2.84,2.79,2.84,2.74,2.81,2.90,2.85,2.85,
-2.99,2.88,2.88,2.82,2.88,2.93,2.84,2.84,2.99,2.93,
-0.06,0.08,0.07,0.10,0.10,0.12,0.14,0.10,0.12,0.15,
-0.17,0.17,0.13,0.17,0.17,0.16,0.19,0.17,0.20,0.22,
-0.22,0.21,0.23,0.24,0.22,0.23,0.24,0.25,0.28,0.25,
-0.32,0.24,0.28,0.29,0.26,0.34,0.32,0.33,0.34,0.34,
-0.34,0.39,0.38,0.37,0.35,0.40,0.41,0.38,0.40,0.41,
-0.41,0.42,0.44,0.45,0.47,0.46,0.46,0.47,0.49,0.44,
-0.48,0.52,0.52,0.48,0.52,0.50,0.53,0.59,0.56,0.51,
-0.56,0.54,0.53,0.57,0.58,0.58,0.59,0.59,0.59,0.61,
-0.61,0.65,0.63,0.60,0.66,0.61,0.69,0.68,0.66,0.71,
-0.69,0.69,0.70,0.72,0.71,0.69,0.72,0.76,0.72,0.71,
-0.75,0.80,0.80,0.77,0.76,0.77,0.77,0.82,0.87,0.82,
-0.83,0.83,0.83,0.93,0.84,0.89,0.92,0.90,0.87,0.88,
-0.95,0.92,0.93,0.93,0.96,0.92,0.95,0.97,0.96,0.98,
-1.01,0.96,0.98,0.96,0.98,1.02,1.01,1.09,1.06,1.05,
-1.04,1.02,0.99,1.01,1.04,1.15,1.03,1.08,1.08,1.09,
-1.09,1.09,1.11,1.13,1.07,1.06,1.16,1.13,1.15,1.13,
-1.20,1.15,1.19,1.13,1.20,1.20,1.23,1.25,1.18,1.27,
-1.20,1.25,1.25,1.30,1.27,1.26,1.29,1.28,1.28,1.32,
-1.31,1.40,1.30,1.34,1.32,1.39,1.38,1.37,1.38,1.42,
-1.40,1.36,1.32,1.41,1.45,1.48,1.38,1.43,1.44,1.46,
-1.52,1.49,1.52,1.44,1.44,1.47,1.51,1.56,1.54,1.54,
-1.55,1.54,1.55,1.55,1.58,1.58,1.49,1.57,1.65,1.54,
-1.64,1.61,1.71,1.63,1.59,1.65,1.60,1.62,1.65,1.65,
-1.64,1.64,1.72,1.73,1.63,1.67,1.76,1.69,1.67,1.79,
-1.69,1.77,1.80,1.76,1.73,1.76,1.82,1.72,1.72,1.86,
-1.72,1.79,1.73,1.79,1.83,1.85,1.88,1.90,1.84,1.81,
-1.83,1.88,1.91,1.90,1.94,1.97,1.89,1.90,1.82,1.88,
-1.96,1.96,1.94,1.91,1.96,2.02,2.03,2.03,1.97,2.03,
-2.04,1.98,2.06,2.05,2.01,2.07,2.04,2.11,2.09,2.14,
-0.04,0.05,0.07,0.06,0.08,0.09,0.09,0.07,0.09,0.11,
-0.09,0.09,0.10,0.11,0.12,0.12,0.13,0.13,0.12,0.15,
-0.15,0.13,0.15,0.17,0.19,0.17,0.17,0.16,0.16,0.17,
-0.21,0.20,0.22,0.20,0.22,0.21,0.22,0.23,0.25,0.22,
-0.23,0.27,0.27,0.27,0.26,0.26,0.27,0.29,0.27,0.30,
-0.28,0.28,0.33,0.31,0.30,0.28,0.32,0.31,0.31,0.33,
-0.34,0.34,0.34,0.36,0.31,0.35,0.37,0.38,0.38,0.39,
-0.39,0.40,0.41,0.40,0.38,0.44,0.44,0.42,0.43,0.42,
-0.46,0.45,0.44,0.44,0.44,0.49,0.48,0.47,0.51,0.48,
-0.47,0.52,0.49,0.52,0.52,0.52,0.50,0.48,0.52,0.54,
-0.52,0.55,0.52,0.54,0.51,0.59,0.62,0.61,0.57,0.58,
-0.54,0.57,0.61,0.60,0.61,0.56,0.62,0.62,0.59,0.61,
-0.67,0.66,0.62,0.66,0.63,0.67,0.64,0.65,0.67,0.65,
-0.70,0.70,0.68,0.68,0.73,0.71,0.66,0.73,0.75,0.70,
-0.77,0.74,0.73,0.73,0.75,0.77,0.78,0.70,0.76,0.77,
-0.78,0.77,0.82,0.79,0.74,0.78,0.81,0.84,0.83,0.83,
-0.82,0.86,0.81,0.85,0.90,0.82,0.79,0.87,0.89,0.91,
-0.83,0.90,0.92,0.90,0.80,0.93,0.92,0.87,0.90,0.88,
-0.89,0.92,0.91,0.97,0.93,0.96,0.92,0.92,0.90,0.87,
-0.94,0.98,0.95,0.98,0.93,0.97,1.02,1.06,0.97,1.09,
-1.06,1.04,1.06,1.08,1.00,0.96,1.03,1.06,1.04,1.07,
-1.05,1.08,1.01,1.03,1.03,1.12,1.05,1.07,1.12,1.02,
-1.09,1.16,1.07,1.15,1.12,1.09,1.13,1.14,1.22,1.21,
-1.16,1.16,1.16,1.20,1.22,1.23,1.18,1.20,1.18,1.20,
-1.20,1.23,1.21,1.21,1.26,1.21,1.24,1.29,1.23,1.23,
-1.26,1.26,1.24,1.27,1.34,1.21,1.25,1.33,1.29,1.29,
-1.37,1.34,1.36,1.31,1.35,1.37,1.35,1.32,1.33,1.36,
-1.35,1.25,1.33,1.39,1.36,1.39,1.45,1.30,1.41,1.45,
-1.37,1.43,1.42,1.43,1.47,1.49,1.43,1.40,1.47,1.46,
-0.04,0.04,0.04,0.04,0.05,0.06,0.06,0.05,0.05,0.06,
-0.07,0.07,0.07,0.06,0.08,0.07,0.09,0.08,0.09,0.12,
-0.11,0.10,0.11,0.13,0.14,0.12,0.14,0.13,0.15,0.14,
-0.14,0.14,0.15,0.17,0.16,0.16,0.16,0.15,0.17,0.16,
-0.16,0.18,0.17,0.20,0.20,0.17,0.20,0.20,0.18,0.18,
-0.19,0.22,0.23,0.21,0.22,0.24,0.22,0.23,0.25,0.22,
-0.21,0.25,0.27,0.27,0.24,0.28,0.25,0.26,0.31,0.25,
-0.27,0.29,0.27,0.29,0.26,0.28,0.32,0.29,0.29,0.28,
-0.33,0.32,0.33,0.34,0.34,0.32,0.33,0.34,0.30,0.36,
-0.34,0.35,0.33,0.37,0.36,0.37,0.34,0.39,0.35,0.36,
-0.38,0.37,0.36,0.36,0.40,0.42,0.36,0.36,0.41,0.40,
-0.39,0.42,0.39,0.41,0.41,0.43,0.45,0.43,0.45,0.43,
-0.43,0.48,0.40,0.48,0.45,0.49,0.46,0.47,0.43,0.47,
-0.42,0.48,0.45,0.46,0.51,0.46,0.50,0.49,0.48,0.50,
-0.51,0.52,0.52,0.48,0.55,0.54,0.51,0.54,0.54,0.49,
-0.57,0.55,0.55,0.51,0.54,0.51,0.57,0.55,0.57,0.55,
-0.55,0.60,0.58,0.64,0.60,0.57,0.56,0.60,0.60,0.62,
-0.64,0.57,0.60,0.62,0.57,0.61,0.64,0.66,0.62,0.66,
-0.62,0.62,0.69,0.68,0.69,0.62,0.67,0.64,0.71,0.66,
-0.67,0.64,0.67,0.67,0.68,0.68,0.67,0.70,0.70,0.75,
-0.70,0.72,0.70,0.71,0.73,0.71,0.73,0.76,0.72,0.74,
-0.78,0.79,0.72,0.76,0.76,0.76,0.76,0.78,0.80,0.75,
-0.77,0.78,0.72,0.78,0.79,0.78,0.81,0.82,0.79,0.85,
-0.75,0.79,0.81,0.83,0.85,0.84,0.86,0.85,0.85,0.83,
-0.89,0.85,0.83,0.88,0.85,0.88,0.84,0.85,0.90,0.89,
-0.90,0.88,0.84,0.87,0.85,0.90,0.91,0.93,0.88,0.90,
-0.88,0.84,0.94,0.90,0.91,0.91,0.93,0.92,0.92,0.97,
-0.94,0.93,0.95,0.94,0.99,0.94,0.93,1.00,1.02,0.95,
-0.96,0.97,0.99,1.05,1.04,1.01,0.96,1.03,1.03,0.99,
-0.02,0.03,0.03,0.03,0.03,0.03,0.04,0.04,0.05,0.05,
-0.05,0.04,0.06,0.05,0.06,0.06,0.06,0.07,0.07,0.06,
-0.07,0.07,0.07,0.08,0.06,0.09,0.07,0.09,0.08,0.09,
-0.10,0.11,0.10,0.09,0.10,0.10,0.10,0.11,0.11,0.12,
-0.12,0.11,0.14,0.15,0.14,0.12,0.12,0.15,0.15,0.15,
-0.13,0.16,0.15,0.15,0.17,0.14,0.15,0.14,0.16,0.14,
-0.16,0.17,0.18,0.19,0.18,0.19,0.18,0.16,0.18,0.19,
-0.19,0.19,0.18,0.19,0.18,0.21,0.22,0.21,0.22,0.20,
-0.22,0.23,0.22,0.22,0.22,0.23,0.21,0.24,0.26,0.22,
-0.25,0.23,0.23,0.22,0.23,0.24,0.26,0.24,0.23,0.25,
-0.23,0.28,0.26,0.27,0.28,0.28,0.29,0.29,0.26,0.27,
-0.30,0.29,0.29,0.27,0.30,0.31,0.28,0.32,0.31,0.29,
-0.32,0.32,0.33,0.30,0.30,0.32,0.33,0.32,0.34,0.33,
-0.32,0.32,0.35,0.34,0.34,0.33,0.35,0.35,0.37,0.33,
-0.31,0.34,0.35,0.40,0.37,0.34,0.41,0.41,0.38,0.37,
-0.39,0.37,0.36,0.38,0.37,0.40,0.41,0.39,0.39,0.42,
-0.39,0.38,0.41,0.39,0.45,0.41,0.43,0.40,0.40,0.48,
-0.45,0.43,0.41,0.44,0.43,0.42,0.46,0.45,0.47,0.47,
-0.43,0.45,0.43,0.48,0.46,0.45,0.46,0.48,0.46,0.47,
-0.51,0.47,0.46,0.52,0.47,0.49,0.50,0.51,0.51,0.48,
-0.54,0.49,0.50,0.52,0.52,0.53,0.53,0.51,0.56,0.54,
-0.53,0.55,0.47,0.54,0.55,0.54,0.52,0.56,0.56,0.52,
-0.53,0.56,0.56,0.55,0.55,0.51,0.54,0.56,0.53,0.56,
-0.57,0.57,0.58,0.63,0.59,0.54,0.55,0.59,0.57,0.57,
-0.57,0.57,0.59,0.59,0.57,0.61,0.58,0.59,0.61,0.63,
-0.64,0.61,0.60,0.65,0.62,0.68,0.67,0.64,0.66,0.67,
-0.66,0.68,0.63,0.65,0.66,0.67,0.67,0.63,0.67,0.56,
-0.64,0.64,0.71,0.64,0.63,0.67,0.68,0.64,0.66,0.68,
-0.66,0.69,0.71,0.71,0.71,0.65,0.73,0.70,0.69,0.71,
-0.01,0.03,0.02,0.02,0.03,0.03,0.03,0.03,0.03,0.03,
-0.04,0.04,0.03,0.04,0.05,0.04,0.03,0.05,0.05,0.04,
-0.06,0.05,0.05,0.04,0.06,0.06,0.08,0.06,0.05,0.06,
-0.06,0.07,0.07,0.08,0.07,0.08,0.09,0.08,0.08,0.08,
-0.08,0.09,0.08,0.09,0.09,0.10,0.08,0.11,0.09,0.10,
-0.10,0.11,0.11,0.10,0.09,0.11,0.10,0.11,0.11,0.12,
-0.11,0.13,0.12,0.13,0.13,0.13,0.12,0.13,0.12,0.12,
-0.13,0.13,0.15,0.14,0.14,0.14,0.15,0.15,0.15,0.15,
-0.16,0.15,0.17,0.15,0.16,0.17,0.16,0.15,0.17,0.15,
-0.17,0.17,0.17,0.16,0.17,0.16,0.18,0.17,0.17,0.17,
-0.19,0.18,0.17,0.19,0.19,0.19,0.21,0.20,0.20,0.19,
-0.20,0.21,0.19,0.19,0.21,0.21,0.21,0.19,0.22,0.22,
-0.21,0.20,0.22,0.21,0.23,0.21,0.22,0.22,0.25,0.24,
-0.23,0.24,0.20,0.25,0.21,0.22,0.25,0.23,0.24,0.25,
-0.24,0.23,0.24,0.25,0.26,0.25,0.23,0.28,0.26,0.26,
-0.28,0.29,0.26,0.29,0.28,0.29,0.24,0.26,0.26,0.29,
-0.28,0.29,0.32,0.28,0.28,0.30,0.32,0.29,0.32,0.30,
-0.31,0.28,0.33,0.29,0.29,0.30,0.31,0.32,0.27,0.32,
-0.32,0.30,0.33,0.30,0.31,0.32,0.32,0.32,0.32,0.33,
-0.31,0.33,0.33,0.34,0.38,0.33,0.32,0.32,0.37,0.34,
-0.33,0.33,0.33,0.35,0.34,0.37,0.35,0.35,0.37,0.35,
-0.33,0.39,0.40,0.37,0.36,0.37,0.35,0.39,0.38,0.36,
-0.40,0.42,0.40,0.40,0.39,0.37,0.40,0.38,0.40,0.39,
-0.40,0.40,0.40,0.36,0.37,0.40,0.41,0.43,0.44,0.45,
-0.46,0.41,0.38,0.41,0.44,0.40,0.43,0.41,0.45,0.40,
-0.43,0.42,0.43,0.45,0.52,0.47,0.44,0.47,0.43,0.42,
-0.44,0.48,0.48,0.46,0.46,0.46,0.43,0.50,0.46,0.45,
-0.45,0.43,0.44,0.44,0.49,0.47,0.46,0.43,0.48,0.48,
-0.51,0.49,0.49,0.46,0.51,0.47,0.50,0.50,0.48,0.49,
-0.02,0.01,0.01,0.01,0.01,0.02,0.01,0.02,0.02,0.02,
-0.02,0.02,0.03,0.03,0.02,0.04,0.02,0.03,0.04,0.02,
-0.04,0.05,0.04,0.04,0.04,0.05,0.04,0.07,0.05,0.05,
-0.04,0.06,0.05,0.05,0.04,0.06,0.05,0.06,0.07,0.06,
-0.07,0.06,0.07,0.08,0.07,0.05,0.07,0.07,0.06,0.07,
-0.06,0.09,0.07,0.07,0.07,0.08,0.08,0.09,0.08,0.09,
-0.07,0.09,0.10,0.08,0.08,0.08,0.08,0.08,0.09,0.09,
-0.10,0.10,0.08,0.09,0.08,0.11,0.12,0.09,0.07,0.10,
-0.09,0.10,0.12,0.09,0.12,0.12,0.12,0.11,0.10,0.12,
-0.12,0.11,0.12,0.11,0.14,0.12,0.12,0.11,0.12,0.13,
-0.13,0.12,0.13,0.13,0.13,0.12,0.14,0.13,0.12,0.14,
-0.14,0.13,0.15,0.16,0.14,0.14,0.13,0.13,0.15,0.14,
-0.18,0.15,0.15,0.15,0.17,0.15,0.16,0.16,0.16,0.14,
-0.17,0.17,0.14,0.18,0.18,0.16,0.17,0.15,0.15,0.17,
-0.18,0.17,0.19,0.17,0.18,0.20,0.20,0.17,0.19,0.20,
-0.18,0.20,0.17,0.18,0.20,0.17,0.20,0.19,0.20,0.20,
-0.22,0.20,0.20,0.20,0.24,0.22,0.24,0.21,0.21,0.20,
-0.21,0.21,0.23,0.22,0.23,0.22,0.21,0.21,0.24,0.22,
-0.22,0.22,0.20,0.23,0.23,0.22,0.20,0.26,0.24,0.23,
-0.23,0.23,0.24,0.25,0.27,0.27,0.24,0.25,0.23,0.24,
-0.24,0.25,0.23,0.24,0.25,0.25,0.24,0.24,0.26,0.26,
-0.26,0.29,0.28,0.27,0.27,0.26,0.30,0.25,0.26,0.29,
-0.26,0.24,0.28,0.27,0.28,0.30,0.28,0.29,0.27,0.30,
-0.28,0.26,0.30,0.31,0.28,0.30,0.31,0.30,0.32,0.28,
-0.35,0.30,0.27,0.30,0.28,0.30,0.29,0.29,0.29,0.33,
-0.29,0.33,0.27,0.30,0.30,0.30,0.30,0.30,0.31,0.29,
-0.31,0.29,0.33,0.29,0.34,0.33,0.34,0.35,0.34,0.31,
-0.32,0.33,0.33,0.34,0.34,0.36,0.32,0.34,0.35,0.36,
-0.34,0.35,0.33,0.36,0.33,0.34,0.38,0.36,0.34,0.35,
-0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,
-0.02,0.01,0.01,0.01,0.02,0.02,0.03,0.03,0.02,0.02,
-0.02,0.04,0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.04,
-0.04,0.03,0.04,0.04,0.03,0.03,0.05,0.04,0.05,0.02,
-0.04,0.04,0.04,0.05,0.04,0.04,0.04,0.05,0.05,0.06,
-0.04,0.06,0.08,0.06,0.06,0.05,0.04,0.05,0.06,0.06,
-0.06,0.05,0.07,0.06,0.06,0.05,0.06,0.06,0.07,0.07,
-0.07,0.05,0.07,0.07,0.07,0.08,0.07,0.08,0.07,0.06,
-0.08,0.09,0.07,0.07,0.07,0.07,0.08,0.08,0.07,0.08,
-0.09,0.08,0.10,0.07,0.08,0.10,0.09,0.09,0.09,0.08,
-0.08,0.10,0.09,0.10,0.10,0.12,0.09,0.10,0.09,0.09,
-0.10,0.10,0.09,0.10,0.12,0.09,0.11,0.10,0.10,0.11,
-0.11,0.10,0.10,0.11,0.13,0.10,0.10,0.11,0.11,0.13,
-0.12,0.12,0.10,0.11,0.11,0.14,0.14,0.11,0.11,0.13,
-0.13,0.12,0.13,0.13,0.11,0.13,0.12,0.12,0.11,0.13,
-0.12,0.13,0.14,0.12,0.13,0.13,0.16,0.14,0.14,0.13,
-0.14,0.12,0.14,0.13,0.14,0.16,0.13,0.15,0.15,0.16,
-0.15,0.14,0.13,0.15,0.15,0.14,0.15,0.15,0.17,0.17,
-0.17,0.17,0.14,0.16,0.15,0.17,0.17,0.17,0.18,0.17,
-0.18,0.15,0.17,0.17,0.18,0.16,0.14,0.17,0.15,0.17,
-0.17,0.18,0.17,0.17,0.19,0.20,0.17,0.17,0.18,0.18,
-0.19,0.15,0.21,0.18,0.17,0.17,0.19,0.18,0.20,0.19,
-0.16,0.20,0.20,0.19,0.20,0.21,0.20,0.19,0.19,0.19,
-0.20,0.20,0.18,0.21,0.18,0.22,0.18,0.20,0.22,0.19,
-0.18,0.21,0.19,0.23,0.22,0.21,0.20,0.22,0.22,0.20,
-0.23,0.22,0.21,0.20,0.21,0.23,0.22,0.21,0.20,0.21,
-0.20,0.21,0.20,0.24,0.23,0.23,0.23,0.19,0.26,0.23,
-0.23,0.24,0.21,0.22,0.19,0.28,0.21,0.24,0.22,0.20,
-0.23,0.24,0.23,0.23,0.26,0.23,0.23,0.28,0.24,0.24,
-0.00,0.01,0.01,0.00,0.01,0.01,0.01,0.01,0.01,0.01,
-0.01,0.01,0.01,0.01,0.01,0.01,0.02,0.02,0.02,0.01,
-0.02,0.02,0.02,0.01,0.01,0.03,0.01,0.02,0.02,0.02,
-0.01,0.03,0.02,0.02,0.03,0.04,0.03,0.03,0.04,0.03,
-0.03,0.03,0.03,0.03,0.03,0.03,0.03,0.04,0.04,0.04,
-0.03,0.03,0.04,0.03,0.03,0.04,0.04,0.04,0.03,0.04,
-0.04,0.04,0.04,0.05,0.05,0.04,0.04,0.04,0.05,0.05,
-0.04,0.05,0.05,0.05,0.05,0.04,0.05,0.05,0.06,0.06,
-0.05,0.03,0.05,0.05,0.05,0.06,0.05,0.06,0.05,0.05,
-0.05,0.06,0.05,0.06,0.05,0.05,0.07,0.06,0.06,0.07,
-0.07,0.06,0.07,0.06,0.07,0.06,0.07,0.07,0.07,0.06,
-0.06,0.06,0.09,0.07,0.06,0.07,0.07,0.06,0.07,0.08,
-0.08,0.07,0.07,0.09,0.08,0.08,0.07,0.10,0.08,0.09,
-0.07,0.09,0.08,0.08,0.09,0.08,0.10,0.08,0.09,0.08,
-0.08,0.09,0.08,0.09,0.09,0.08,0.10,0.08,0.07,0.09,
-0.09,0.09,0.09,0.10,0.10,0.10,0.11,0.11,0.09,0.10,
-0.10,0.11,0.10,0.09,0.11,0.09,0.09,0.09,0.12,0.11,
-0.11,0.09,0.10,0.11,0.10,0.11,0.11,0.12,0.10,0.10,
-0.10,0.12,0.11,0.13,0.12,0.09,0.12,0.12,0.11,0.12,
-0.14,0.09,0.11,0.10,0.10,0.10,0.10,0.10,0.12,0.12,
-0.12,0.11,0.13,0.12,0.13,0.12,0.12,0.14,0.12,0.12,
-0.11,0.13,0.11,0.12,0.13,0.12,0.12,0.12,0.11,0.12,
-0.13,0.14,0.13,0.12,0.13,0.13,0.11,0.13,0.14,0.15,
-0.14,0.12,0.12,0.15,0.12,0.14,0.15,0.14,0.13,0.13,
-0.14,0.14,0.12,0.11,0.14,0.16,0.13,0.14,0.14,0.14,
-0.15,0.16,0.14,0.15,0.15,0.15,0.14,0.17,0.14,0.14,
-0.15,0.17,0.17,0.15,0.15,0.15,0.16,0.16,0.18,0.16,
-0.14,0.17,0.17,0.18,0.16,0.15,0.15,0.15,0.17,0.14,
-0.14,0.20,0.17,0.17,0.17,0.20,0.17,0.17,0.17,0.18,
-1.00,1.00,1.20,1.30,1.36,1.48,1.59,1.64,1.81,1.86,
-1.94,1.98,2.13,2.22,2.30,2.41,2.54,2.55,2.70,2.75,
-2.88,3.01,3.04,3.10,3.29,3.31,3.46,3.58,3.61,3.72,
-3.90,3.87,4.07,4.23,4.14,4.26,4.41,4.52,4.58,4.57,
-4.82,4.80,4.87,5.01,5.15,5.16,5.31,5.32,5.53,5.63,
-5.69,5.89,5.88,5.92,6.08,6.10,6.28,6.27,6.40,6.54,
-6.63,6.75,6.96,7.02,6.96,7.12,7.13,7.40,7.39,7.65,
-7.65,7.77,7.87,7.85,8.06,7.98,8.17,8.21,8.51,8.57,
-8.51,8.66,8.80,8.84,8.93,9.03,8.98,9.25,9.28,9.34,
-9.57,9.63,9.56,9.75,9.99,9.90,10.07,10.19,10.11,10.43,
-10.49,10.59,10.53,10.79,10.84,10.90,11.12,11.16,11.30,11.03,
-11.44,11.41,11.54,11.61,11.81,11.91,11.93,12.09,12.13,12.21,
-12.28,12.38,12.51,12.65,12.60,12.77,12.95,12.99,13.02,13.26,
-13.17,13.37,13.57,13.78,13.71,13.76,13.85,14.13,13.95,14.01,
-14.18,14.25,14.49,14.60,14.67,14.82,14.69,14.85,14.98,15.21,
-15.34,15.18,15.33,15.46,15.69,15.60,15.76,16.04,16.03,15.95,
-16.03,16.31,16.35,16.56,16.57,16.43,16.75,16.62,16.88,17.13,
-17.20,17.16,17.13,17.58,17.45,17.70,17.74,17.89,18.03,17.80,
-18.18,18.14,18.36,18.28,18.41,18.50,18.52,18.66,18.82,18.75,
-18.87,19.05,19.18,19.39,19.53,19.25,19.63,19.55,19.66,19.90,
-19.85,19.90,19.94,20.57,20.27,20.45,20.60,20.54,20.68,20.66,
-20.67,20.83,21.09,21.29,21.41,21.46,21.46,21.52,21.64,21.59,
-21.80,22.01,22.18,21.96,22.18,22.18,22.42,22.66,22.53,22.83,
-22.78,22.86,22.76,22.99,23.11,23.21,23.65,23.32,23.59,23.63,
-23.87,23.84,24.07,23.96,24.32,24.29,24.46,24.39,24.52,24.60,
-24.37,24.79,24.85,25.00,25.09,25.21,25.18,25.27,25.38,25.43,
-25.77,25.36,25.75,26.00,25.97,26.01,26.32,26.52,26.42,26.56,
-26.49,26.48,27.00,26.77,27.10,26.92,27.08,27.14,26.85,27.37,
-27.57,27.62,27.64,27.78,27.81,27.94,27.92,28.17,28.38,28.37,
-0.67,0.78,0.81,0.88,0.99,1.02,1.11,1.12,1.29,1.27,
-1.35,1.37,1.50,1.59,1.63,1.76,1.75,1.84,1.95,1.98,
-2.07,2.12,2.10,2.23,2.32,2.43,2.37,2.53,2.54,2.65,
-2.74,2.77,2.89,2.96,3.00,3.12,3.14,3.15,3.27,3.31,
-3.34,3.43,3.45,3.45,3.62,3.69,3.73,3.73,3.94,3.94,
-4.12,4.09,4.20,4.19,4.23,4.49,4.47,4.66,4.66,4.56,
-4.87,4.84,4.93,4.92,4.93,5.01,5.21,5.21,5.25,5.34,
-5.47,5.43,5.51,5.69,5.75,5.67,5.78,5.97,6.03,6.01,
-6.06,6.16,6.27,6.24,6.48,6.42,6.67,6.49,6.74,6.71,
-6.71,6.82,6.81,6.89,7.01,7.04,7.19,7.19,7.35,7.39,
-7.41,7.62,7.51,7.70,7.67,7.80,7.75,7.98,7.96,7.98,
-8.04,8.11,8.20,8.19,8.33,8.33,8.26,8.50,8.59,8.66,
-8.80,8.86,8.96,8.81,9.11,9.12,9.17,9.18,9.27,9.46,
-9.42,9.39,9.63,9.54,9.70,9.73,9.79,10.01,10.08,10.02,
-10.12,10.17,10.30,10.32,10.47,10.62,10.52,10.54,10.60,10.63,
-10.69,10.92,10.92,11.05,11.07,11.14,11.30,11.34,11.27,11.45,
-11.32,11.60,11.61,11.75,11.71,11.63,11.65,11.97,12.04,12.03,
-12.09,12.21,12.23,12.20,12.42,12.39,12.68,12.75,12.64,12.65,
-12.75,12.96,12.87,13.04,13.03,13.08,13.22,13.31,13.09,13.56,
-13.44,13.60,13.78,13.61,13.66,13.71,14.00,13.90,14.11,14.04,
-14.07,14.07,14.22,14.46,14.41,14.46,14.44,14.72,14.60,14.97,
-14.74,14.87,15.22,15.05,15.14,15.06,15.23,15.28,15.48,15.57,
-15.41,15.69,15.93,15.48,15.56,15.73,16.08,15.84,16.12,16.09,
-16.28,16.25,16.54,16.34,16.40,16.50,16.68,16.96,16.79,16.56,
-16.97,16.90,16.91,17.20,17.10,17.08,17.23,17.32,17.46,17.37,
-17.47,17.61,17.60,17.80,17.85,17.99,17.94,18.07,18.06,18.30,
-18.25,18.20,18.35,18.32,18.48,18.59,18.56,18.53,18.62,18.67,
-18.90,19.21,19.03,18.89,19.21,19.07,19.34,19.21,19.59,19.40,
-19.57,19.52,19.52,19.88,19.77,19.73,20.24,19.98,20.13,20.05,
-0.54,0.54,0.61,0.61,0.71,0.76,0.76,0.87,0.91,0.91,
-1.00,1.02,1.06,1.12,1.19,1.28,1.29,1.30,1.35,1.43,
-1.40,1.47,1.58,1.60,1.70,1.67,1.74,1.78,1.85,1.90,
-1.98,1.99,2.04,2.09,2.07,2.16,2.21,2.21,2.32,2.37,
-2.43,2.46,2.52,2.57,2.69,2.55,2.68,2.66,2.87,2.80,
-2.89,2.80,2.98,2.98,3.04,3.17,3.14,3.18,3.33,3.36,
-3.38,3.44,3.46,3.47,3.63,3.52,3.70,3.54,3.74,3.93,
-3.89,3.88,3.95,3.94,3.96,4.13,4.15,4.20,4.19,4.27,
-4.31,4.45,4.41,4.39,4.57,4.63,4.68,4.60,4.76,4.61,
-4.73,4.87,4.88,4.92,4.87,5.03,5.20,5.08,5.16,5.18,
-5.32,5.40,5.40,5.43,5.50,5.54,5.71,5.57,5.69,5.72,
-5.80,5.89,5.90,5.85,5.95,6.04,6.06,6.12,6.20,6.18,
-6.30,6.22,6.38,6.47,6.43,6.42,6.43,6.49,6.71,6.57,
-6.78,6.81,6.78,6.88,6.87,7.11,7.11,7.03,7.09,7.06,
-7.33,7.12,7.30,7.37,7.32,7.41,7.51,7.36,7.54,7.56,
-7.59,7.78,7.89,7.91,7.75,7.83,8.09,8.05,7.93,8.23,
-8.14,8.04,8.16,8.22,8.34,8.32,8.56,8.31,8.73,8.55,
-8.61,8.73,8.80,8.70,8.89,8.85,8.97,9.01,9.06,9.14,
-8.99,9.16,9.22,9.33,9.35,9.39,9.41,9.34,9.34,9.49,
-9.62,9.70,9.54,9.61,9.78,9.76,9.91,9.96,10.12,10.05,
-10.10,10.07,10.16,10.16,10.24,10.03,10.40,10.36,10.63,10.31,
-10.71,10.57,10.75,10.70,10.62,10.65,10.62,10.93,10.97,10.84,
-11.04,10.99,11.11,11.15,11.28,11.19,11.36,11.38,11.34,11.43,
-11.48,11.41,11.59,11.72,11.65,11.80,11.84,11.76,11.87,11.82,
-11.91,11.98,11.99,12.11,12.14,12.43,12.47,12.38,12.38,12.40,
-12.60,12.43,12.36,12.58,12.80,12.61,12.70,12.73,12.86,12.84,
-12.97,12.82,12.97,13.08,13.20,13.01,13.30,13.40,13.38,13.30,
-13.46,13.52,13.45,13.65,13.66,13.46,13.59,13.69,13.67,13.80,
-13.79,13.88,14.01,14.04,14.11,14.18,14.16,13.97,14.17,14.15,
-0.34,0.40,0.41,0.43,0.50,0.54,0.59,0.58,0.62,0.65,
-0.69,0.74,0.77,0.81,0.81,0.83,0.92,0.91,0.95,1.05,
-1.07,1.03,1.11,1.11,1.16,1.24,1.24,1.28,1.25,1.32,
-1.36,1.42,1.43,1.43,1.51,1.58,1.59,1.57,1.58,1.69,
-1.75,1.79,1.73,1.80,1.85,1.90,1.91,1.97,2.02,2.09,
-2.00,2.08,2.10,2.12,2.19,2.22,2.18,2.31,2.28,2.31,
-2.41,2.41,2.46,2.43,2.52,2.50,2.55,2.52,2.66,2.70,
-2.67,2.79,2.72,2.89,2.88,2.92,2.97,2.88,3.07,3.05,
-3.03,3.12,3.10,3.15,3.17,3.30,3.26,3.25,3.29,3.38,
-3.28,3.43,3.44,3.54,3.57,3.57,3.61,3.73,3.67,3.68,
-3.78,3.86,3.75,3.76,3.98,3.87,3.94,4.04,4.00,4.09,
-4.06,4.02,4.23,4.18,4.29,4.25,4.20,4.27,4.35,4.47,
-4.43,4.49,4.67,4.47,4.51,4.59,4.56,4.75,4.74,4.87,
-4.87,4.75,4.82,4.74,4.95,4.96,4.86,5.04,4.90,4.99,
-5.06,5.15,5.10,5.27,5.10,5.28,5.42,5.14,5.40,5.46,
-5.46,5.53,5.32,5.48,5.49,5.71,5.66,5.70,5.65,5.75,
-5.83,5.75,5.96,5.81,5.96,6.02,5.98,5.99,5.99,5.90,
-6.24,6.08,6.25,6.35,6.26,6.29,6.39,6.44,6.45,6.51,
-6.39,6.41,6.60,6.52,6.49,6.69,6.44,6.59,6.76,6.73,
-6.79,6.78,6.78,6.87,6.88,6.96,7.04,7.00,7.10,7.05,
-7.21,7.16,7.43,7.03,7.39,7.24,7.33,7.32,7.34,7.42,
-7.40,7.66,7.69,7.72,7.36,7.56,7.62,7.67,7.77,7.76,
-7.93,7.92,7.93,8.07,7.95,8.04,7.88,8.08,7.95,8.18,
-8.20,8.07,8.22,8.35,8.39,8.34,8.49,8.49,8.31,8.46,
-8.51,8.65,8.61,8.46,8.58,8.74,8.58,8.81,8.64,8.68,
-8.60,8.66,8.77,8.83,8.95,9.06,9.21,9.05,9.04,9.04,
-9.12,9.07,9.27,9.31,9.40,9.27,9.47,9.39,9.54,9.50,
-9.59,9.44,9.63,9.69,9.73,9.63,9.87,9.64,9.83,9.77,
-9.73,9.97,9.92,10.00,9.83,9.95,10.26,10.07,10.02,10.26,
-0.22,0.23,0.29,0.32,0.38,0.35,0.40,0.45,0.43,0.52,
-0.49,0.50,0.56,0.55,0.57,0.62,0.66,0.66,0.70,0.70,
-0.72,0.75,0.81,0.81,0.85,0.83,0.88,0.92,0.93,0.92,
-0.97,0.96,1.02,1.05,1.08,1.08,1.15,1.12,1.18,1.15,
-1.26,1.24,1.19,1.31,1.30,1.38,1.31,1.36,1.43,1.47,
-1.48,1.52,1.54,1.59,1.53,1.62,1.61,1.58,1.66,1.69,
-1.67,1.74,1.71,1.76,1.79,1.79,1.91,1.80,1.84,1.89,
-1.97,2.01,1.99,1.95,1.96,2.00,2.10,2.11,2.08,2.14,
-2.18,2.20,2.21,2.15,2.23,2.33,2.36,2.38,2.39,2.46,
-2.53,2.48,2.42,2.54,2.55,2.47,2.58,2.61,2.57,2.58,
-2.73,2.64,2.69,2.77,2.75,2.86,2.90,2.83,2.92,2.90,
-2.94,3.00,2.94,2.96,2.91,2.93,2.97,3.12,3.07,3.05,
-3.18,3.12,3.22,3.18,3.33,3.23,3.31,3.33,3.39,3.34,
-3.43,3.31,3.42,3.52,3.46,3.50,3.48,3.54,3.55,3.56,
-3.66,3.64,3.61,3.71,3.75,3.82,3.71,3.83,3.80,3.91,
-3.82,3.87,4.00,3.97,4.03,3.94,4.05,4.03,4.09,4.12,
-4.08,4.03,4.12,4.16,4.08,4.21,4.22,4.24,4.34,4.39,
-4.50,4.40,4.52,4.35,4.43,4.42,4.64,4.54,4.55,4.56,
-4.50,4.71,4.67,4.73,4.71,4.70,4.73,4.93,4.77,4.85,
-4.76,4.91,4.77,4.91,5.13,4.81,5.04,5.10,5.07,5.10,
-4.95,5.00,5.14,5.05,5.17,5.15,5.30,5.20,5.16,5.36,
-5.31,5.41,5.48,5.40,5.33,5.37,5.46,5.58,5.47,5.70,
-5.46,5.65,5.50,5.63,5.64,5.58,5.52,5.83,5.78,5.87,
-5.77,5.78,5.92,5.83,5.92,5.86,6.00,5.93,6.01,6.09,
-6.09,6.08,6.02,6.01,6.08,6.17,6.22,6.25,6.25,6.19,
-6.13,6.26,6.18,6.33,6.31,6.33,6.38,6.45,6.38,6.57,
-6.49,6.45,6.54,6.43,6.72,6.60,6.75,6.69,6.72,6.74,
-6.73,6.71,6.71,6.73,7.08,6.98,6.85,7.04,6.98,7.00,
-6.90,7.22,7.02,7.17,6.88,7.06,6.94,7.31,7.20,7.21,
-0.16,0.19,0.21,0.24,0.23,0.27,0.25,0.29,0.30,0.34,
-0.34,0.35,0.39,0.35,0.44,0.45,0.49,0.45,0.47,0.48,
-0.53,0.58,0.56,0.58,0.61,0.62,0.58,0.63,0.68,0.70,
-0.62,0.71,0.74,0.72,0.74,0.86,0.79,0.80,0.78,0.87,
-0.84,0.90,0.93,0.94,0.90,0.91,1.01,0.97,1.01,1.02,
-1.04,1.08,1.02,1.08,1.14,1.11,1.12,1.14,1.12,1.14,
-1.24,1.26,1.24,1.23,1.29,1.26,1.28,1.35,1.31,1.33,
-1.39,1.38,1.34,1.41,1.39,1.44,1.49,1.51,1.47,1.48,
-1.56,1.54,1.64,1.53,1.65,1.65,1.59,1.67,1.62,1.70,
-1.75,1.64,1.74,1.78,1.80,1.82,1.89,1.79,1.75,1.82,
-1.92,1.91,1.88,1.97,2.00,2.02,1.99,1.98,2.10,1.96,
-2.03,2.13,2.13,2.07,2.07,2.12,2.12,2.22,2.15,2.18,
-2.19,2.23,2.32,2.29,2.31,2.31,2.33,2.40,2.37,2.38,
-2.35,2.44,2.41,2.42,2.49,2.50,2.56,2.49,2.58,2.61,
-2.60,2.55,2.56,2.63,2.62,2.63,2.76,2.63,2.73,2.75,
-2.69,2.73,2.77,2.86,2.77,2.82,2.89,2.79,2.84,2.95,
-2.91,2.93,2.90,2.94,2.98,3.00,3.06,3.02,3.03,3.09,
-3.02,3.07,3.21,3.09,3.21,3.19,3.23,3.11,3.33,3.30,
-3.27,3.23,3.29,3.37,3.37,3.35,3.43,3.32,3.37,3.34,
-3.45,3.52,3.45,3.52,3.46,3.50,3.56,3.57,3.56,3.60,
-3.57,3.65,3.68,3.65,3.62,3.68,3.76,3.77,3.80,3.78,
-3.79,3.76,3.86,3.90,3.74,3.87,3.89,3.93,3.94,3.91,
-3.89,3.93,4.02,4.03,4.00,4.08,4.13,4.12,4.16,4.00,
-4.17,4.16,4.16,4.21,4.12,4.13,4.21,4.15,4.33,4.43,
-4.34,4.39,4.31,4.38,4.42,4.37,4.36,4.40,4.30,4.41,
-4.46,4.45,4.44,4.42,4.48,4.53,4.43,4.62,4.62,4.64,
-4.56,4.62,4.56,4.69,4.70,4.75,4.71,4.78,4.70,4.91,
-4.79,4.81,4.77,4.78,4.88,4.91,4.89,4.91,4.92,4.90,
-4.97,5.00,4.96,5.00,5.15,5.04,5.03,4.96,5.17,5.07,
-0.12,0.13,0.15,0.16,0.18,0.18,0.19,0.21,0.23,0.23,
-0.24,0.26,0.27,0.28,0.30,0.31,0.31,0.36,0.36,0.33,
-0.38,0.37,0.41,0.42,0.39,0.45,0.44,0.47,0.45,0.49,
-0.48,0.52,0.56,0.53,0.53,0.58,0.54,0.56,0.59,0.57,
-0.59,0.63,0.66,0.67,0.65,0.71,0.69,0.69,0.73,0.69,
-0.77,0.76,0.71,0.74,0.79,0.75,0.85,0.84,0.84,0.84,
-0.81,0.83,0.88,0.84,0.88,0.98,0.95,0.99,0.95,1.02,
-0.99,1.00,1.05,1.06,1.06,1.02,1.02,1.07,1.06,1.10,
-1.09,1.12,1.18,1.14,1.17,1.17,1.18,1.21,1.23,1.23,
-1.19,1.22,1.21,1.21,1.30,1.31,1.34,1.34,1.31,1.34,
-1.32,1.33,1.40,1.43,1.45,1.41,1.39,1.37,1.44,1.37,
-1.40,1.48,1.48,1.54,1.49,1.52,1.59,1.65,1.55,1.54,
-1.53,1.63,1.62,1.63,1.63,1.61,1.69,1.62,1.70,1.70,
-1.74,1.69,1.73,1.74,1.71,1.71,1.84,1.77,1.77,1.82,
-1.84,1.82,1.82,1.88,1.86,1.82,1.87,1.84,2.01,2.01,
-1.97,1.93,1.98,1.96,2.05,2.01,2.03,2.07,1.95,2.05,
-2.04,2.14,2.08,2.11,2.09,2.20,2.20,2.18,2.18,2.22,
-2.27,2.19,2.27,2.25,2.17,2.26,2.29,2.29,2.25,2.29,
-2.28,2.36,2.31,2.37,2.38,2.40,2.43,2.42,2.33,2.42,
-2.43,2.48,2.50,2.48,2.45,2.47,2.44,2.51,2.50,2.44,
-2.58,2.67,2.57,2.58,2.55,2.62,2.65,2.66,2.68,2.61,
-2.66,2.68,2.73,2.87,2.78,2.70,2.84,2.78,2.69,2.83,
-2.88,2.92,2.80,2.87,2.74,2.88,2.87,2.93,2.87,2.93,
-2.95,2.88,2.93,3.01,2.99,2.95,3.01,2.98,3.06,3.07,
-3.11,3.09,3.13,3.07,3.02,3.08,3.09,3.12,3.15,3.13,
-3.12,3.23,3.16,3.26,3.22,3.22,3.11,3.25,3.26,3.25,
-3.23,3.39,3.29,3.31,3.40,3.30,3.41,3.32,3.41,3.37,
-3.49,3.44,3.49,3.40,3.39,3.47,3.37,3.49,3.64,3.43,
-3.59,3.54,3.64,3.58,3.54,3.56,3.63,3.57,3.57,3.73,
-0.07,0.07,0.10,0.10,0.14,0.15,0.13,0.14,0.16,0.14,
-0.19,0.18,0.21,0.21,0.20,0.21,0.22,0.23,0.23,0.26,
-0.33,0.26,0.26,0.29,0.28,0.34,0.32,0.29,0.32,0.33,
-0.37,0.35,0.34,0.35,0.37,0.36,0.35,0.40,0.43,0.40,
-0.43,0.43,0.43,0.46,0.48,0.49,0.46,0.50,0.51,0.53,
-0.55,0.49,0.55,0.56,0.56,0.57,0.56,0.56,0.58,0.60,
-0.61,0.61,0.66,0.67,0.63,0.63,0.65,0.64,0.69,0.67,
-0.67,0.67,0.72,0.67,0.74,0.72,0.76,0.78,0.78,0.77,
-0.78,0.82,0.80,0.87,0.80,0.81,0.81,0.83,0.84,0.88,
-0.85,0.79,0.90,0.86,0.88,0.89,0.95,0.93,0.90,0.98,
-0.96,0.94,0.97,1.01,0.95,1.03,1.03,1.03,1.05,1.05,
-1.02,1.10,1.07,1.00,1.06,1.04,1.09,1.04,1.07,1.08,
-1.12,1.17,1.13,1.13,1.21,1.15,1.17,1.18,1.15,1.21,
-1.25,1.17,1.23,1.25,1.24,1.28,1.17,1.29,1.25,1.27,
-1.32,1.25,1.30,1.29,1.40,1.34,1.38,1.35,1.40,1.36,
-1.38,1.40,1.41,1.45,1.43,1.41,1.45,1.48,1.46,1.47,
-1.48,1.48,1.54,1.56,1.53,1.51,1.48,1.57,1.53,1.57,
-1.59,1.59,1.57,1.61,1.56,1.58,1.58,1.55,1.61,1.58,
-1.66,1.68,1.65,1.67,1.66,1.69,1.68,1.69,1.67,1.69,
-1.70,1.69,1.71,1.82,1.75,1.74,1.81,1.75,1.76,1.75,
-1.79,1.84,1.72,1.88,1.89,1.83,1.86,1.87,1.92,1.77,
-1.93,1.87,1.84,1.93,2.00,2.00,1.92,1.95,1.97,1.97,
-1.98,1.99,2.02,2.12,2.07,2.00,1.98,2.02,2.10,2.07,
-2.09,2.10,2.07,2.07,2.14,2.11,2.13,2.17,2.08,2.13,
-2.17,2.15,2.17,2.20,2.18,2.19,2.29,2.24,2.08,2.28,
-2.24,2.24,2.22,2.24,2.35,2.30,2.40,2.27,2.26,2.37,
-2.34,2.31,2.30,2.34,2.36,2.30,2.40,2.36,2.44,2.41,
-2.39,2.39,2.46,2.40,2.48,2.44,2.43,2.51,2.53,2.56,
-2.52,2.55,2.45,2.58,2.49,2.53,2.63,2.53,2.47,2.58,
-0.07,0.06,0.08,0.08,0.10,0.10,0.10,0.11,0.10,0.11,
-0.14,0.11,0.13,0.13,0.15,0.15,0.16,0.17,0.17,0.19,
-0.17,0.20,0.23,0.21,0.21,0.23,0.22,0.23,0.21,0.25,
-0.23,0.26,0.23,0.24,0.29,0.28,0.29,0.27,0.30,0.30,
-0.33,0.30,0.29,0.33,0.33,0.33,0.38,0.40,0.39,0.34,
-0.34,0.37,0.39,0.40,0.40,0.39,0.41,0.44,0.41,0.42,
-0.44,0.41,0.42,0.44,0.47,0.49,0.47,0.52,0.48,0.54,
-0.51,0.47,0.55,0.52,0.54,0.51,0.54,0.52,0.59,0.52,
-0.55,0.53,0.56,0.54,0.56,0.62,0.62,0.60,0.63,0.60,
-0.57,0.63,0.62,0.61,0.61,0.62,0.63,0.65,0.68,0.72,
-0.68,0.63,0.68,0.64,0.67,0.71,0.67,0.70,0.74,0.67,
-0.74,0.73,0.72,0.80,0.73,0.76,0.77,0.79,0.80,0.74,
-0.81,0.81,0.78,0.81,0.84,0.81,0.84,0.88,0.82,0.82,
-0.78,0.83,0.88,0.93,0.91,0.89,0.90,0.91,0.89,0.92,
-0.93,0.88,1.00,0.95,0.98,0.94,0.97,0.95,0.98,0.95,
-0.93,0.93,0.93,0.92,1.00,1.01,1.00,1.02,1.02,1.01,
-1.03,1.01,1.00,1.05,1.03,1.02,1.07,1.07,1.12,1.17,
-1.15,1.11,1.05,1.08,1.10,1.08,1.10,1.17,1.14,1.13,
-1.21,1.18,1.22,1.17,1.20,1.20,1.29,1.24,1.24,1.19,
-1.13,1.24,1.21,1.27,1.18,1.34,1.29,1.26,1.26,1.27,
-1.24,1.35,1.31,1.34,1.37,1.35,1.31,1.34,1.42,1.38,
-1.33,1.39,1.33,1.41,1.37,1.34,1.38,1.44,1.44,1.40,
-1.35,1.40,1.42,1.44,1.43,1.44,1.47,1.45,1.44,1.52,
-1.39,1.45,1.49,1.50,1.49,1.57,1.51,1.55,1.47,1.56,
-1.54,1.60,1.54,1.59,1.49,1.56,1.54,1.56,1.58,1.56,
-1.63,1.62,1.54,1.53,1.70,1.62,1.59,1.65,1.68,1.64,
-1.67,1.69,1.71,1.71,1.72,1.64,1.74,1.74,1.71,1.75,
-1.72,1.75,1.65,1.75,1.75,1.72,1.74,1.82,1.74,1.79,
-1.75,1.72,1.75,1.87,1.79,1.78,1.82,1.82,1.78,1.85,
-0.04,0.04,0.06,0.06,0.08,0.07,0.07,0.08,0.09,0.09,
-0.09,0.09,0.08,0.10,0.10,0.13,0.11,0.12,0.12,0.12,
-0.12,0.14,0.15,0.15,0.14,0.12,0.15,0.17,0.15,0.18,
-0.17,0.20,0.17,0.18,0.19,0.20,0.21,0.20,0.22,0.22,
-0.21,0.23,0.23,0.22,0.23,0.24,0.26,0.26,0.25,0.26,
-0.26,0.30,0.28,0.27,0.29,0.28,0.28,0.33,0.33,0.29,
-0.29,0.32,0.32,0.31,0.34,0.35,0.32,0.36,0.31,0.35,
-0.34,0.35,0.37,0.34,0.40,0.36,0.39,0.40,0.40,0.39,
-0.36,0.39,0.42,0.38,0.42,0.44,0.37,0.41,0.45,0.42,
-0.44,0.43,0.47,0.44,0.41,0.48,0.44,0.42,0.47,0.48,
-0.51,0.51,0.48,0.49,0.48,0.51,0.51,0.53,0.49,0.57,
-0.51,0.55,0.54,0.51,0.52,0.50,0.52,0.53,0.58,0.57,
-0.53,0.53,0.53,0.55,0.55,0.62,0.57,0.60,0.61,0.63,
-0.60,0.62,0.63,0.63,0.64,0.64,0.65,0.63,0.66,0.68,
-0.62,0.67,0.71,0.63,0.65,0.64,0.70,0.68,0.71,0.71,
-0.64,0.68,0.70,0.69,0.73,0.69,0.71,0.72,0.78,0.77,
-0.75,0.78,0.75,0.74,0.77,0.73,0.81,0.74,0.75,0.80,
-0.81,0.82,0.77,0.84,0.80,0.80,0.80,0.84,0.80,0.88,
-0.82,0.80,0.87,0.90,0.84,0.90,0.86,0.86,0.85,0.87,
-0.87,0.86,0.88,0.91,0.86,0.89,0.89,0.91,0.92,0.91,
-0.89,0.92,0.93,0.98,0.91,0.88,0.95,0.98,0.97,0.95,
-0.98,0.94,0.99,0.97,1.02,0.99,0.98,1.00,1.02,0.99,
-1.03,1.07,0.98,1.03,1.00,1.01,1.02,1.02,1.02,1.05,
-1.05,1.10,1.10,1.06,1.06,1.08,1.03,1.07,1.08,1.11,
-1.07,1.07,1.10,1.12,1.15,1.13,1.14,1.11,1.09,1.12,
-1.17,1.13,1.15,1.15,1.17,1.12,1.17,1.17,1.20,1.14,
-1.20,1.21,1.15,1.17,1.16,1.19,1.16,1.17,1.22,1.20,
-1.19,1.21,1.22,1.19,1.24,1.19,1.26,1.25,1.28,1.19,
-1.31,1.33,1.27,1.31,1.29,1.33,1.28,1.32,1.34,1.31,
-0.04,0.04,0.05,0.03,0.06,0.05,0.06,0.05,0.07,0.06,
-0.08,0.07,0.06,0.07,0.07,0.07,0.08,0.09,0.09,0.11,
-0.09,0.10,0.10,0.09,0.10,0.10,0.11,0.13,0.13,0.11,
-0.12,0.13,0.13,0.12,0.13,0.15,0.15,0.15,0.17,0.18,
-0.17,0.17,0.14,0.17,0.19,0.19,0.17,0.18,0.20,0.19,
-0.17,0.21,0.19,0.21,0.21,0.21,0.21,0.22,0.20,0.24,
-0.23,0.21,0.23,0.22,0.21,0.22,0.25,0.28,0.26,0.24,
-0.25,0.23,0.28,0.28,0.28,0.27,0.25,0.28,0.25,0.27,
-0.28,0.27,0.27,0.29,0.28,0.31,0.29,0.31,0.31,0.30,
-0.29,0.32,0.34,0.32,0.30,0.33,0.31,0.32,0.34,0.33,
-0.37,0.34,0.31,0.39,0.36,0.37,0.38,0.35,0.34,0.38,
-0.33,0.39,0.34,0.38,0.40,0.42,0.37,0.38,0.37,0.40,
-0.39,0.42,0.39,0.40,0.43,0.41,0.41,0.47,0.43,0.44,
-0.45,0.41,0.44,0.43,0.48,0.45,0.47,0.48,0.46,0.47,
-0.46,0.48,0.47,0.47,0.52,0.52,0.46,0.51,0.49,0.52,
-0.52,0.49,0.48,0.49,0.51,0.53,0.50,0.50,0.56,0.51,
-0.51,0.54,0.53,0.49,0.46,0.53,0.54,0.55,0.51,0.52,
-0.53,0.58,0.58,0.59,0.59,0.55,0.58,0.58,0.62,0.56,
-0.61,0.58,0.59,0.59,0.58,0.62,0.62,0.60,0.59,0.57,
-0.62,0.61,0.61,0.62,0.61,0.60,0.61,0.64,0.66,0.64,
-0.65,0.72,0.68,0.63,0.67,0.67,0.64,0.72,0.69,0.66,
-0.67,0.69,0.71,0.73,0.67,0.68,0.69,0.69,0.73,0.73,
-0.68,0.70,0.72,0.72,0.70,0.72,0.69,0.73,0.74,0.74,
-0.76,0.74,0.74,0.78,0.69,0.76,0.74,0.73,0.80,0.80,
-0.76,0.77,0.73,0.81,0.79,0.76,0.77,0.82,0.78,0.81,
-0.82,0.82,0.77,0.83,0.85,0.89,0.87,0.79,0.85,0.83,
-0.86,0.84,0.82,0.77,0.82,0.83,0.89,0.86,0.84,0.86,
-0.85,0.88,0.85,0.85,0.82,0.94,0.86,0.93,0.97,0.85,
-0.88,0.89,0.94,0.88,0.92,0.87,0.91,0.91,0.90,0.97,
-0.03,0.03,0.03,0.03,0.04,0.04,0.04,0.04,0.04,0.04,
-0.05,0.05,0.04,0.05,0.05,0.06,0.04,0.06,0.06,0.07,
-0.06,0.06,0.07,0.08,0.06,0.08,0.07,0.08,0.08,0.08,
-0.10,0.09,0.10,0.09,0.10,0.10,0.11,0.10,0.11,0.11,
-0.12,0.10,0.11,0.12,0.13,0.12,0.12,0.12,0.11,0.11,
-0.12,0.14,0.15,0.13,0.14,0.15,0.14,0.14,0.16,0.15,
-0.15,0.16,0.13,0.18,0.15,0.16,0.19,0.16,0.20,0.17,
-0.17,0.16,0.19,0.19,0.20,0.18,0.18,0.16,0.18,0.19,
-0.20,0.21,0.20,0.20,0.22,0.21,0.22,0.23,0.21,0.23,
-0.21,0.21,0.24,0.23,0.25,0.23,0.24,0.25,0.22,0.27,
-0.23,0.26,0.26,0.26,0.25,0.24,0.28,0.28,0.26,0.26,
-0.25,0.28,0.27,0.25,0.25,0.27,0.29,0.28,0.27,0.30,
-0.27,0.28,0.30,0.31,0.27,0.27,0.30,0.28,0.34,0.31,
-0.30,0.29,0.34,0.31,0.32,0.30,0.33,0.34,0.33,0.34,
-0.32,0.31,0.31,0.35,0.34,0.32,0.30,0.35,0.38,0.34,
-0.37,0.34,0.36,0.32,0.34,0.38,0.37,0.37,0.37,0.38,
-0.39,0.38,0.42,0.35,0.38,0.37,0.38,0.43,0.42,0.39,
-0.40,0.41,0.40,0.41,0.37,0.42,0.41,0.40,0.44,0.39,
-0.41,0.43,0.43,0.41,0.42,0.44,0.39,0.40,0.43,0.44,
-0.41,0.43,0.48,0.47,0.44,0.43,0.42,0.45,0.47,0.45,
-0.46,0.48,0.46,0.45,0.52,0.47,0.44,0.45,0.48,0.51,
-0.48,0.49,0.45,0.50,0.55,0.52,0.50,0.50,0.54,0.50,
-0.52,0.55,0.52,0.50,0.52,0.52,0.52,0.54,0.56,0.52,
-0.53,0.53,0.55,0.52,0.50,0.56,0.56,0.55,0.56,0.56,
-0.58,0.56,0.58,0.56,0.57,0.56,0.56,0.54,0.53,0.57,
-0.56,0.54,0.60,0.60,0.57,0.56,0.62,0.60,0.56,0.57,
-0.59,0.59,0.61,0.60,0.58,0.61,0.65,0.60,0.56,0.66,
-0.62,0.62,0.63,0.57,0.65,0.58,0.62,0.64,0.65,0.60,
-0.60,0.64,0.58,0.65,0.63,0.67,0.68,0.65,0.65,0.69,
-0.01,0.03,0.03,0.03,0.03,0.02,0.03,0.03,0.03,0.03,
-0.03,0.04,0.02,0.03,0.04,0.03,0.04,0.05,0.04,0.04,
-0.05,0.05,0.06,0.04,0.05,0.07,0.05,0.06,0.06,0.08,
-0.06,0.06,0.08,0.07,0.08,0.05,0.09,0.06,0.09,0.07,
-0.06,0.09,0.09,0.08,0.10,0.08,0.10,0.07,0.08,0.08,
-0.10,0.11,0.08,0.10,0.10,0.11,0.11,0.11,0.10,0.12,
-0.09,0.10,0.14,0.12,0.11,0.11,0.11,0.14,0.12,0.14,
-0.14,0.12,0.12,0.13,0.12,0.14,0.14,0.12,0.14,0.15,
-0.15,0.16,0.13,0.16,0.15,0.14,0.14,0.16,0.19,0.16,
-0.16,0.14,0.14,0.16,0.17,0.14,0.17,0.14,0.18,0.15,
-0.17,0.17,0.16,0.17,0.18,0.19,0.19,0.15,0.16,0.19,
-0.19,0.19,0.19,0.17,0.18,0.20,0.22,0.18,0.20,0.19,
-0.21,0.22,0.19,0.20,0.22,0.20,0.22,0.21,0.23,0.21,
-0.20,0.22,0.20,0.19,0.21,0.22,0.24,0.19,0.22,0.25,
-0.22,0.23,0.22,0.23,0.25,0.23,0.26,0.25,0.23,0.27,
-0.25,0.25,0.27,0.22,0.27,0.24,0.29,0.25,0.26,0.25,
-0.26,0.29,0.27,0.27,0.29,0.28,0.29,0.30,0.29,0.28,
-0.30,0.28,0.28,0.27,0.29,0.27,0.28,0.28,0.30,0.28,
-0.26,0.30,0.30,0.32,0.30,0.31,0.29,0.34,0.30,0.32,
-0.31,0.33,0.32,0.27,0.33,0.29,0.36,0.36,0.31,0.31,
-0.33,0.36,0.32,0.35,0.31,0.28,0.34,0.30,0.32,0.32,
-0.37,0.35,0.33,0.32,0.37,0.36,0.36,0.36,0.36,0.34,
-0.38,0.34,0.38,0.37,0.37,0.39,0.33,0.39,0.36,0.39,
-0.35,0.37,0.37,0.38,0.39,0.39,0.40,0.37,0.42,0.39,
-0.37,0.37,0.40,0.39,0.41,0.38,0.41,0.41,0.42,0.37,
-0.38,0.38,0.45,0.39,0.42,0.40,0.45,0.39,0.39,0.40,
-0.45,0.40,0.40,0.45,0.38,0.43,0.43,0.45,0.44,0.46,
-0.40,0.47,0.41,0.45,0.45,0.49,0.44,0.46,0.45,0.45,
-0.47,0.45,0.45,0.48,0.44,0.46,0.44,0.46,0.42,0.50,
-0.01,0.01,0.01,0.02,0.01,0.02,0.01,0.01,0.01,0.02,
-0.02,0.03,0.02,0.02,0.02,0.02,0.02,0.03,0.03,0.03,
-0.04,0.03,0.03,0.05,0.04,0.03,0.05,0.04,0.04,0.05,
-0.05,0.04,0.05,0.05,0.04,0.05,0.06,0.06,0.04,0.06,
-0.05,0.06,0.05,0.05,0.07,0.05,0.07,0.06,0.05,0.07,
-0.06,0.09,0.07,0.07,0.07,0.06,0.08,0.07,0.08,0.07,
-0.08,0.08,0.09,0.09,0.08,0.09,0.09,0.08,0.09,0.10,
-0.09,0.08,0.10,0.09,0.09,0.10,0.09,0.11,0.11,0.10,
-0.10,0.11,0.10,0.09,0.12,0.10,0.11,0.10,0.10,0.12,
-0.10,0.12,0.10,0.11,0.13,0.12,0.12,0.10,0.12,0.11,
-0.13,0.11,0.13,0.14,0.12,0.13,0.12,0.12,0.10,0.12,
-0.12,0.14,0.14,0.13,0.14,0.15,0.14,0.14,0.14,0.15,
-0.14,0.14,0.17,0.14,0.17,0.16,0.17,0.13,0.17,0.17,
-0.16,0.16,0.14,0.16,0.15,0.15,0.15,0.15,0.17,0.16,
-0.17,0.17,0.16,0.16,0.18,0.16,0.18,0.18,0.18,0.16,
-0.17,0.17,0.17,0.17,0.17,0.18,0.17,0.19,0.20,0.19,
-0.19,0.21,0.19,0.20,0.20,0.21,0.20,0.21,0.20,0.20,
-0.18,0.20,0.20,0.23,0.21,0.19,0.22,0.20,0.22,0.23,
-0.21,0.20,0.19,0.23,0.19,0.23,0.21,0.24,0.20,0.24,
-0.20,0.21,0.24,0.24,0.21,0.23,0.23,0.22,0.23,0.23,
-0.24,0.21,0.22,0.25,0.25,0.26,0.22,0.25,0.23,0.24,
-0.23,0.27,0.24,0.26,0.25,0.23,0.24,0.26,0.28,0.23,
-0.23,0.24,0.25,0.26,0.28,0.24,0.25,0.22,0.26,0.22,
-0.27,0.24,0.28,0.27,0.26,0.28,0.33,0.26,0.27,0.24,
-0.28,0.26,0.27,0.29,0.26,0.28,0.28,0.28,0.28,0.31,
-0.28,0.23,0.27,0.31,0.30,0.30,0.31,0.26,0.33,0.31,
-0.30,0.33,0.29,0.30,0.30,0.29,0.28,0.34,0.28,0.32,
-0.32,0.32,0.29,0.33,0.33,0.33,0.30,0.31,0.30,0.30,
-0.32,0.32,0.30,0.32,0.34,0.32,0.33,0.32,0.33,0.35,
-0.01,0.01,0.01,0.01,0.01,0.01,0.02,0.01,0.01,0.02,
-0.02,0.01,0.01,0.01,0.02,0.01,0.02,0.03,0.02,0.02,
-0.03,0.02,0.02,0.02,0.04,0.04,0.02,0.03,0.03,0.04,
-0.03,0.02,0.03,0.03,0.03,0.04,0.04,0.04,0.04,0.04,
-0.04,0.04,0.04,0.04,0.05,0.04,0.05,0.04,0.05,0.05,
-0.05,0.04,0.04,0.05,0.06,0.04,0.05,0.04,0.06,0.04,
-0.05,0.05,0.06,0.07,0.07,0.07,0.06,0.06,0.05,0.06,
-0.07,0.07,0.06,0.07,0.07,0.06,0.06,0.07,0.07,0.08,
-0.07,0.06,0.07,0.07,0.08,0.07,0.07,0.07,0.08,0.07,
-0.08,0.07,0.08,0.09,0.09,0.09,0.08,0.08,0.09,0.09,
-0.09,0.11,0.09,0.09,0.08,0.09,0.08,0.10,0.09,0.09,
-0.10,0.09,0.10,0.11,0.11,0.11,0.09,0.08,0.10,0.09,
-0.10,0.08,0.10,0.10,0.10,0.09,0.11,0.12,0.10,0.12,
-0.13,0.09,0.13,0.12,0.12,0.14,0.12,0.12,0.10,0.12,
-0.13,0.13,0.10,0.14,0.12,0.12,0.10,0.14,0.14,0.13,
-0.13,0.14,0.12,0.13,0.11,0.13,0.13,0.13,0.10,0.13,
-0.12,0.13,0.12,0.14,0.13,0.15,0.13,0.13,0.16,0.13,
-0.14,0.15,0.13,0.18,0.14,0.14,0.14,0.15,0.16,0.15,
-0.15,0.16,0.17,0.16,0.13,0.14,0.16,0.17,0.15,0.16,
-0.14,0.16,0.17,0.16,0.17,0.17,0.17,0.18,0.15,0.17,
-0.19,0.17,0.17,0.17,0.17,0.16,0.19,0.18,0.17,0.17,
-0.19,0.16,0.14,0.17,0.20,0.18,0.18,0.18,0.16,0.20,
-0.20,0.18,0.20,0.19,0.20,0.21,0.19,0.18,0.17,0.19,
-0.19,0.18,0.20,0.20,0.20,0.19,0.20,0.18,0.20,0.21,
-0.19,0.20,0.21,0.18,0.20,0.21,0.19,0.21,0.22,0.22,
-0.18,0.20,0.21,0.20,0.21,0.20,0.21,0.19,0.22,0.18,
-0.25,0.20,0.21,0.22,0.25,0.21,0.22,0.23,0.22,0.21,
-0.22,0.21,0.25,0.24,0.24,0.21,0.25,0.23,0.26,0.21,
-0.23,0.23,0.24,0.23,0.21,0.21,0.25,0.27,0.23,0.25,
-1.13,1.23,1.22,1.52,1.57,1.61,1.72,1.82,1.98,2.08,
-2.08,2.28,2.47,2.49,2.66,2.70,2.78,2.95,3.03,3.12,
-3.19,3.31,3.49,3.69,3.64,3.79,3.77,4.09,4.18,4.25,
-4.41,4.43,4.59,4.59,4.72,4.85,4.90,5.08,5.10,5.29,
-5.31,5.58,5.64,5.77,5.86,6.13,6.01,6.20,6.24,6.15,
-6.50,6.64,6.57,6.78,6.88,6.86,7.11,7.11,7.19,7.46,
-7.42,7.50,7.61,7.85,7.99,7.97,8.28,8.25,8.40,8.52,
-8.53,8.72,8.69,8.92,9.10,9.20,9.27,9.38,9.39,9.53,
-9.77,9.74,9.80,10.00,10.03,10.10,10.33,10.36,10.55,10.82,
-10.70,10.82,11.03,11.00,11.11,11.25,11.34,11.55,11.53,11.58,
-11.77,11.97,11.90,12.09,12.14,12.46,12.50,12.70,12.80,12.60,
-12.92,13.05,12.86,13.00,13.32,13.50,13.40,13.73,13.71,13.66,
-14.07,13.91,14.24,14.24,14.23,14.65,14.65,14.71,14.76,14.76,
-15.04,14.97,15.22,15.50,15.34,15.62,15.66,15.82,16.03,16.02,
-16.08,16.00,16.43,16.32,16.50,16.67,16.81,16.82,16.99,17.20,
-17.09,17.54,17.38,17.50,17.39,17.62,17.75,17.74,17.94,18.16,
-18.27,18.24,18.36,18.36,18.61,18.89,18.71,18.81,19.26,19.17,
-19.29,19.51,19.53,19.74,19.78,19.84,20.31,20.13,20.05,20.29,
-20.33,20.42,20.67,20.55,20.69,20.97,21.05,20.96,21.18,21.40,
-21.54,21.47,21.79,21.85,21.91,22.21,22.27,22.09,22.12,22.45,
-22.44,22.66,22.64,22.87,22.74,23.11,23.13,23.20,23.52,23.53,
-23.52,23.78,23.94,23.95,24.07,24.13,24.34,24.41,24.44,24.95,
-24.52,24.64,24.91,24.86,25.14,25.09,25.42,25.35,25.70,25.62,
-25.78,25.74,25.74,25.66,26.19,26.30,26.38,26.48,26.46,26.44,
-26.68,26.81,26.83,26.90,27.21,27.17,27.46,27.60,27.54,27.61,
-27.73,28.27,28.10,28.25,28.32,28.33,28.61,28.49,28.83,28.64,
-29.05,29.12,29.11,29.41,29.05,29.44,29.57,29.86,29.89,29.85,
-29.90,29.92,30.36,30.49,30.41,30.31,30.55,30.46,30.98,31.29,
-31.11,30.90,31.50,31.41,31.43,31.73,31.69,31.89,31.80,32.22,
-0.75,0.87,0.95,1.08,1.13,1.15,1.30,1.41,1.40,1.54,
-1.52,1.64,1.74,1.79,1.89,1.90,2.08,2.17,2.12,2.32,
-2.32,2.44,2.51,2.61,2.62,2.76,2.88,2.84,2.90,2.97,
-3.10,3.13,3.25,3.38,3.34,3.48,3.62,3.54,3.69,3.87,
-4.00,4.00,4.03,4.21,4.18,4.36,4.37,4.45,4.39,4.59,
-4.77,4.67,4.85,4.94,4.95,4.97,5.09,5.21,5.27,5.35,
-5.43,5.54,5.55,5.73,5.74,5.86,5.91,6.05,6.08,6.12,
-6.14,6.32,6.25,6.44,6.42,6.54,6.60,6.67,6.63,6.85,
-6.98,6.87,7.01,7.11,7.22,7.26,7.42,7.54,7.70,7.66,
-7.72,7.88,7.75,8.05,8.02,8.23,8.31,8.23,8.36,8.42,
-8.41,8.53,8.53,8.72,8.78,8.91,9.04,9.09,9.07,9.16,
-9.27,9.32,9.43,9.45,9.46,9.74,9.57,9.93,9.96,9.96,
-10.06,10.12,10.34,10.18,10.35,10.40,10.60,10.59,10.61,10.83,
-10.82,10.85,10.84,11.04,11.08,11.21,11.07,11.39,11.53,11.56,
-11.46,11.48,11.84,11.79,12.07,11.86,11.97,12.18,12.31,12.20,
-12.23,12.35,12.56,12.52,12.68,12.79,12.77,12.89,12.91,12.94,
-13.26,13.11,13.35,13.45,13.46,13.55,13.63,14.05,13.59,13.83,
-13.84,13.96,14.00,14.20,14.28,14.32,14.66,14.50,14.42,14.45,
-14.63,14.89,14.93,14.72,15.00,14.96,15.10,15.18,15.30,15.21,
-15.24,15.32,15.65,15.77,15.53,15.82,16.02,15.99,16.06,16.03,
-16.22,16.15,16.32,16.40,16.54,16.57,16.72,16.73,16.99,17.02,
-16.99,17.14,17.11,17.14,17.33,17.41,17.23,17.56,17.59,17.73,
-17.89,17.92,17.97,18.03,18.15,18.11,18.19,18.25,18.09,18.48,
-18.77,18.48,18.75,18.89,18.70,19.28,19.11,19.00,19.04,19.19,
-19.36,19.26,19.53,19.47,19.55,19.95,19.69,19.92,19.93,19.92,
-20.06,20.04,20.48,20.34,20.16,20.25,20.74,20.69,20.43,20.54,
-20.69,20.79,20.92,21.01,21.20,21.13,21.21,21.61,21.32,21.48,
-21.74,21.75,21.95,21.72,21.65,21.75,21.96,22.13,22.12,22.11,
-22.46,22.21,22.61,22.80,23.00,22.71,22.36,23.00,22.98,23.14,
-0.57,0.65,0.67,0.73,0.75,0.82,0.96,0.96,0.98,1.05,
-1.08,1.22,1.20,1.32,1.29,1.35,1.44,1.52,1.64,1.63,
-1.65,1.76,1.77,1.88,1.86,2.00,1.94,1.97,2.09,2.22,
-2.27,2.34,2.35,2.46,2.46,2.53,2.51,2.64,2.65,2.75,
-2.87,2.82,2.95,2.99,3.03,3.01,3.10,3.14,3.21,3.36,
-3.32,3.41,3.48,3.50,3.70,3.61,3.63,3.68,3.84,3.94,
-3.82,3.94,4.02,3.89,4.08,4.21,4.21,4.33,4.27,4.46,
-4.34,4.52,4.48,4.67,4.59,4.81,4.71,4.88,4.80,5.04,
-4.97,5.01,5.05,5.16,5.23,5.29,5.26,5.42,5.36,5.42,
-5.60,5.67,5.60,5.79,5.68,5.84,5.87,6.05,6.02,6.14,
-6.01,6.15,6.29,6.26,6.44,6.39,6.35,6.59,6.41,6.54,
-6.75,6.71,6.82,6.84,6.85,7.04,7.06,7.10,7.15,7.08,
-7.19,7.27,7.34,7.57,7.30,7.53,7.60,7.63,7.68,7.75,
-7.62,7.81,7.80,8.01,7.98,7.96,8.11,8.24,8.34,8.35,
-8.25,8.49,8.49,8.54,8.69,8.70,8.52,8.57,8.77,8.92,
-8.99,9.01,9.04,9.15,9.12,9.05,9.12,9.29,9.26,9.26,
-9.41,9.43,9.51,9.87,9.60,9.87,9.60,9.79,9.90,10.03,
-10.01,10.01,10.09,10.23,10.13,10.36,10.27,10.47,10.60,10.69,
-10.63,10.59,10.67,10.80,10.68,10.72,10.91,11.05,11.00,11.11,
-11.31,11.18,11.28,11.34,11.51,11.40,11.38,11.40,11.50,11.56,
-11.62,11.83,11.83,11.89,11.90,12.02,12.01,12.09,12.05,12.39,
-12.24,12.26,12.19,12.40,12.52,12.59,12.44,12.55,12.67,12.63,
-12.89,12.95,12.81,13.06,12.83,13.12,13.14,13.14,13.16,13.07,
-13.27,13.40,13.27,13.41,13.42,13.58,13.76,13.80,13.57,13.73,
-13.70,13.86,13.81,14.04,14.19,14.37,14.20,14.19,14.32,14.50,
-14.51,14.32,14.46,14.46,14.57,14.84,14.77,14.66,15.07,15.04,
-14.97,15.06,15.07,15.24,15.26,15.21,15.24,15.34,15.75,15.33,
-15.55,15.66,15.59,15.91,15.72,15.65,15.83,15.92,16.07,16.21,
-16.07,16.15,15.99,16.28,16.22,16.42,16.68,16.54,16.51,16.71,
-0.37,0.47,0.47,0.51,0.57,0.67,0.68,0.73,0.72,0.77,
-0.83,0.84,0.87,0.85,0.93,0.99,1.00,1.12,1.15,1.19,
-1.22,1.17,1.29,1.37,1.41,1.44,1.44,1.44,1.46,1.50,
-1.70,1.64,1.66,1.70,1.77,1.81,1.88,1.95,1.90,1.99,
-1.98,2.15,2.06,2.09,2.15,2.24,2.18,2.31,2.32,2.31,
-2.37,2.49,2.56,2.50,2.52,2.52,2.61,2.72,2.73,2.69,
-2.72,2.96,2.86,2.93,3.02,3.04,3.14,3.11,3.08,3.18,
-3.23,3.15,3.33,3.31,3.41,3.44,3.45,3.51,3.50,3.61,
-3.66,3.62,3.67,3.74,3.73,3.81,3.88,3.83,3.95,3.92,
-4.08,4.02,4.12,4.03,4.14,4.22,4.36,4.23,4.29,4.27,
-4.51,4.42,4.48,4.52,4.51,4.78,4.59,4.76,4.77,4.84,
-4.75,4.79,4.88,4.99,5.02,4.99,4.97,5.02,5.10,5.12,
-5.15,5.29,5.34,5.30,5.44,5.35,5.37,5.47,5.54,5.52,
-5.59,5.64,5.70,5.78,5.68,5.70,5.93,5.88,6.06,6.01,
-6.09,6.08,6.12,6.01,6.04,6.31,6.30,6.30,6.38,6.34,
-6.36,6.55,6.48,6.67,6.57,6.65,6.76,6.76,6.79,6.84,
-6.85,6.89,6.87,6.87,6.81,7.00,6.88,6.97,7.00,7.16,
-7.27,7.09,7.33,7.27,7.50,7.37,7.40,7.36,7.59,7.48,
-7.66,7.70,7.79,7.70,7.63,7.82,7.82,8.00,7.97,7.98,
-7.96,8.00,8.15,8.16,8.15,8.36,8.10,8.26,8.38,8.23,
-8.43,8.43,8.48,8.51,8.45,8.58,8.59,8.52,8.78,8.71,
-8.75,8.82,8.96,8.99,9.01,9.05,8.92,9.06,9.01,9.39,
-9.19,9.29,9.34,9.05,9.31,9.38,9.38,9.48,9.44,9.39,
-9.64,9.59,9.80,9.75,9.67,9.65,9.84,9.75,9.89,10.20,
-9.93,10.05,10.01,10.08,10.11,10.26,10.03,10.23,10.15,10.48,
-10.42,10.38,10.37,10.54,10.57,10.55,10.49,10.54,10.69,10.76,
-10.71,10.90,10.89,10.91,11.09,10.75,10.78,10.98,11.14,11.12,
-10.98,11.24,11.25,11.31,11.27,11.45,11.46,11.59,11.61,11.49,
-11.42,11.70,11.37,11.76,11.92,11.77,11.75,11.79,11.80,11.73,
-0.32,0.32,0.33,0.42,0.43,0.46,0.43,0.52,0.47,0.59,
-0.57,0.62,0.67,0.66,0.72,0.80,0.79,0.78,0.81,0.86,
-0.88,0.89,0.93,0.87,0.96,0.96,1.02,1.08,1.09,1.08,
-1.17,1.19,1.24,1.28,1.23,1.28,1.36,1.32,1.34,1.36,
-1.40,1.53,1.49,1.52,1.62,1.55,1.68,1.58,1.66,1.69,
-1.71,1.70,1.82,1.85,1.86,1.87,1.91,1.96,2.02,1.92,
-2.03,2.02,2.05,2.10,2.10,2.13,2.23,2.22,2.23,2.25,
-2.32,2.29,2.36,2.37,2.40,2.36,2.46,2.44,2.50,2.59,
-2.67,2.68,2.66,2.67,2.70,2.67,2.77,2.76,2.76,2.81,
-2.97,2.98,2.90,2.97,3.10,3.08,3.09,3.08,3.11,3.12,
-3.12,3.24,3.27,3.23,3.35,3.21,3.37,3.41,3.35,3.36,
-3.45,3.49,3.51,3.53,3.49,3.62,3.62,3.65,3.69,3.73,
-3.68,3.77,3.87,3.79,3.87,3.88,3.85,3.99,4.03,4.08,
-4.00,4.12,4.16,4.03,4.17,4.14,4.35,4.31,4.23,4.24,
-4.32,4.34,4.39,4.45,4.52,4.45,4.56,4.53,4.51,4.59,
-4.61,4.71,4.64,4.65,4.77,4.71,4.67,4.80,4.85,4.87,
-4.94,4.79,5.03,4.88,5.07,5.06,5.05,5.18,5.16,5.17,
-5.20,5.24,5.23,5.17,5.31,5.27,5.38,5.28,5.38,5.43,
-5.41,5.39,5.61,5.54,5.65,5.53,5.58,5.71,5.71,5.63,
-5.85,5.76,5.77,5.75,5.98,5.88,5.86,6.08,6.05,6.00,
-6.01,6.06,6.04,6.12,6.14,6.19,6.28,6.31,6.29,6.45,
-6.36,6.42,6.41,6.45,6.47,6.42,6.44,6.63,6.52,6.69,
-6.60,6.64,6.68,6.77,6.78,6.85,6.78,6.75,6.83,6.94,
-6.70,6.86,6.87,7.02,7.01,6.92,7.08,7.08,7.08,7.04,
-7.11,7.25,7.19,7.29,7.28,7.27,7.42,7.46,7.44,7.46,
-7.60,7.58,7.47,7.54,7.58,7.59,7.57,7.68,7.89,7.70,
-7.58,7.83,7.78,7.69,7.92,7.79,8.13,7.95,8.08,8.08,
-8.16,8.06,8.22,8.06,8.19,8.25,8.21,8.21,8.29,8.35,
-8.47,8.41,8.45,8.36,8.38,8.36,8.53,8.52,8.67,8.71,
-0.23,0.22,0.23,0.27,0.30,0.33,0.34,0.38,0.37,0.39,
-0.43,0.46,0.44,0.47,0.51,0.54,0.51,0.56,0.57,0.59,
-0.66,0.66,0.67,0.67,0.69,0.75,0.79,0.80,0.77,0.84,
-0.84,0.87,0.82,0.86,0.90,0.93,0.93,0.99,0.98,0.94,
-1.02,1.08,1.02,1.08,1.17,1.17,1.15,1.18,1.21,1.27,
-1.28,1.27,1.25,1.36,1.36,1.29,1.39,1.39,1.35,1.51,
-1.41,1.42,1.55,1.49,1.60,1.51,1.60,1.64,1.58,1.58,
-1.67,1.68,1.68,1.60,1.70,1.75,1.77,1.75,1.83,1.82,
-1.85,1.94,1.97,1.88,1.96,2.00,2.02,2.02,2.09,2.02,
-2.07,2.12,2.17,2.13,2.16,2.15,2.17,2.14,2.27,2.27,
-2.27,2.33,2.35,2.39,2.47,2.37,2.38,2.43,2.54,2.47,
-2.51,2.51,2.50,2.58,2.63,2.61,2.59,2.57,2.71,2.70,
-2.71,2.69,2.68,2.78,2.78,2.81,2.80,2.80,2.81,2.87,
-2.95,3.11,2.91,2.92,2.92,3.04,2.96,3.06,3.06,3.13,
-3.08,3.12,3.11,3.20,3.23,3.19,3.21,3.23,3.32,3.28,
-3.43,3.25,3.35,3.36,3.47,3.44,3.40,3.46,3.38,3.45,
-3.54,3.60,3.46,3.61,3.57,3.62,3.67,3.67,3.57,3.80,
-3.73,3.85,3.78,3.77,3.83,3.84,3.83,3.80,4.04,3.98,
-3.90,3.90,4.01,3.92,4.00,4.06,4.08,4.15,4.08,4.17,
-4.14,4.15,4.18,4.11,4.31,4.18,4.26,4.27,4.25,4.29,
-4.28,4.37,4.49,4.31,4.37,4.39,4.44,4.53,4.53,4.53,
-4.55,4.49,4.67,4.58,4.62,4.51,4.66,4.76,4.65,4.82,
-4.60,4.82,4.70,4.87,4.88,4.78,4.95,4.96,4.87,4.96,
-4.92,5.02,4.92,4.99,4.94,5.02,5.06,5.08,5.04,5.14,
-5.13,5.23,5.17,5.25,5.25,5.26,5.19,5.32,5.30,5.46,
-5.44,5.43,5.49,5.29,5.43,5.61,5.50,5.59,5.58,5.60,
-5.62,5.63,5.77,5.76,5.62,5.62,5.58,5.78,5.73,5.71,
-5.79,5.78,5.81,5.79,5.74,5.87,6.03,5.95,6.06,5.92,
-5.95,6.06,6.07,5.91,6.03,6.04,5.99,6.15,6.25,6.18,
-0.15,0.18,0.19,0.20,0.21,0.22,0.23,0.27,0.28,0.31,
-0.27,0.32,0.34,0.32,0.34,0.35,0.42,0.41,0.44,0.42,
-0.46,0.46,0.47,0.45,0.51,0.52,0.52,0.55,0.60,0.56,
-0.63,0.63,0.65,0.67,0.61,0.67,0.70,0.73,0.74,0.74,
-0.75,0.76,0.79,0.77,0.83,0.74,0.83,0.86,0.87,0.92,
-0.88,0.86,0.89,0.95,0.97,0.96,1.03,1.06,1.05,1.03,
-1.08,1.09,1.11,1.09,1.08,1.11,1.15,1.17,1.16,1.12,
-1.19,1.26,1.18,1.23,1.25,1.24,1.30,1.35,1.32,1.38,
-1.38,1.33,1.33,1.40,1.47,1.42,1.47,1.44,1.51,1.47,
-1.50,1.47,1.51,1.48,1.51,1.57,1.57,1.63,1.55,1.65,
-1.63,1.65,1.67,1.73,1.67,1.67,1.75,1.76,1.74,1.81,
-1.78,1.80,1.81,1.87,1.84,1.93,1.88,1.96,1.97,1.91,
-1.94,2.00,1.99,2.00,2.03,1.97,1.98,2.04,2.00,2.00,
-2.06,2.10,2.08,2.12,2.20,2.19,2.20,2.22,2.13,2.23,
-2.24,2.25,2.25,2.21,2.30,2.40,2.34,2.39,2.35,2.32,
-2.35,2.36,2.45,2.42,2.42,2.47,2.48,2.54,2.59,2.56,
-2.57,2.57,2.57,2.67,2.65,2.61,2.63,2.62,2.62,2.67,
-2.77,2.73,2.71,2.81,2.70,2.87,2.83,2.84,2.77,2.84,
-2.78,2.83,2.94,2.96,2.96,2.93,2.96,2.99,2.95,3.05,
-2.97,3.06,2.98,2.97,3.09,3.02,3.13,3.10,3.01,3.07,
-3.13,3.19,3.15,3.17,3.25,3.20,3.19,3.26,3.24,3.24,
-3.23,3.29,3.39,3.22,3.49,3.41,3.35,3.47,3.37,3.40,
-3.40,3.42,3.42,3.44,3.57,3.44,3.47,3.58,3.63,3.58,
-3.61,3.60,3.69,3.67,3.75,3.65,3.46,3.74,3.75,3.67,
-3.85,3.65,3.76,3.79,3.76,3.81,3.75,3.94,3.84,3.86,
-3.92,3.93,3.88,3.99,4.01,3.95,4.12,4.08,4.04,4.00,
-4.14,3.94,4.01,4.01,4.13,4.10,4.03,4.15,4.13,4.11,
-3.98,4.20,4.21,4.29,4.22,4.21,4.20,4.31,4.34,4.34,
-4.37,4.27,4.37,4.40,4.31,4.45,4.47,4.43,4.54,4.53,
-0.12,0.11,0.14,0.16,0.16,0.17,0.16,0.17,0.23,0.21,
-0.24,0.21,0.26,0.25,0.26,0.29,0.26,0.28,0.30,0.31,
-0.32,0.29,0.34,0.34,0.34,0.40,0.39,0.38,0.43,0.40,
-0.41,0.48,0.45,0.45,0.48,0.50,0.51,0.48,0.52,0.52,
-0.52,0.54,0.51,0.55,0.59,0.55,0.64,0.60,0.61,0.61,
-0.64,0.66,0.67,0.68,0.69,0.66,0.72,0.74,0.74,0.76,
-0.75,0.81,0.81,0.77,0.82,0.77,0.87,0.84,0.88,0.82,
-0.89,0.84,0.94,0.92,0.92,0.88,0.94,0.89,0.97,0.91,
-0.96,0.94,0.97,1.07,1.01,0.98,1.02,1.01,1.10,1.09,
-1.07,1.10,1.10,1.16,1.10,1.08,1.10,1.10,1.16,1.16,
-1.19,1.21,1.25,1.21,1.21,1.25,1.24,1.22,1.24,1.24,
-1.29,1.29,1.32,1.34,1.35,1.29,1.34,1.34,1.37,1.43,
-1.43,1.35,1.49,1.39,1.39,1.50,1.43,1.49,1.46,1.46,
-1.52,1.44,1.54,1.59,1.51,1.55,1.56,1.53,1.54,1.53,
-1.60,1.58,1.60,1.73,1.63,1.67,1.66,1.62,1.64,1.70,
-1.71,1.76,1.78,1.73,1.80,1.76,1.75,1.85,1.78,1.85,
-1.84,1.84,1.89,1.85,1.85,1.99,1.97,1.89,1.86,1.91,
-1.91,1.89,2.00,1.98,1.97,2.01,1.97,2.03,2.05,2.04,
-2.01,2.03,2.01,2.03,2.10,2.04,2.18,2.25,2.10,2.11,
-2.07,2.22,2.14,2.20,2.15,2.20,2.19,2.27,2.15,2.29,
-2.28,2.24,2.25,2.30,2.32,2.36,2.31,2.41,2.36,2.32,
-2.37,2.37,2.38,2.45,2.34,2.40,2.48,2.42,2.43,2.47,
-2.57,2.57,2.50,2.56,2.46,2.55,2.50,2.47,2.52,2.62,
-2.64,2.52,2.64,2.61,2.54,2.68,2.67,2.61,2.74,2.69,
-2.70,2.65,2.81,2.73,2.71,2.69,2.71,2.76,2.85,2.83,
-2.84,2.85,2.83,2.88,2.81,2.72,2.91,2.84,2.90,2.85,
-2.96,2.88,2.91,3.03,3.03,2.87,2.97,2.96,3.01,2.98,
-3.12,3.04,3.06,3.03,3.03,3.08,3.11,3.08,3.10,3.13,
-3.09,3.21,3.19,3.18,3.24,3.24,3.21,3.19,3.17,3.20,
-0.08,0.09,0.08,0.09,0.13,0.10,0.14,0.12,0.14,0.17,
-0.16,0.16,0.16,0.17,0.20,0.19,0.19,0.20,0.22,0.21,
-0.24,0.24,0.25,0.27,0.27,0.28,0.27,0.30,0.29,0.33,
-0.31,0.31,0.32,0.35,0.33,0.35,0.36,0.36,0.35,0.37,
-0.40,0.42,0.38,0.41,0.40,0.45,0.45,0.45,0.42,0.44,
-0.48,0.49,0.43,0.48,0.50,0.50,0.53,0.51,0.50,0.54,
-0.57,0.58,0.51,0.59,0.54,0.52,0.57,0.58,0.61,0.62,
-0.62,0.61,0.65,0.63,0.67,0.64,0.66,0.66,0.69,0.68,
-0.68,0.68,0.73,0.68,0.70,0.73,0.78,0.78,0.73,0.79,
-0.75,0.77,0.77,0.84,0.75,0.78,0.83,0.86,0.91,0.89,
-0.82,0.83,0.85,0.84,0.92,0.86,0.94,0.89,0.89,0.86,
-0.92,0.85,0.93,0.90,0.98,0.95,0.98,1.00,0.94,1.02,
-0.96,0.98,1.02,0.99,1.00,1.04,1.06,1.04,1.06,1.12,
-1.08,1.06,1.11,1.07,1.11,1.08,1.10,1.09,1.14,1.14,
-1.15,1.13,1.17,1.15,1.24,1.22,1.19,1.18,1.24,1.20,
-1.35,1.21,1.21,1.27,1.28,1.32,1.26,1.24,1.36,1.31,
-1.32,1.33,1.27,1.32,1.32,1.37,1.36,1.33,1.43,1.38,
-1.39,1.37,1.42,1.50,1.38,1.41,1.38,1.47,1.40,1.47,
-1.48,1.52,1.46,1.51,1.48,1.55,1.52,1.54,1.58,1.58,
-1.56,1.59,1.58,1.53,1.56,1.58,1.63,1.57,1.60,1.53,
-1.66,1.65,1.68,1.61,1.65,1.64,1.67,1.65,1.70,1.68,
-1.68,1.69,1.64,1.77,1.71,1.74,1.73,1.85,1.75,1.75,
-1.75,1.74,1.77,1.84,1.79,1.89,1.83,1.78,1.93,1.88,
-1.76,1.88,1.90,1.88,1.91,1.91,1.84,1.95,1.96,1.94,
-1.99,1.92,2.04,1.97,1.94,1.96,1.99,1.98,2.00,2.06,
-2.04,1.97,2.00,2.00,2.10,2.01,2.08,2.02,2.07,2.08,
-2.10,2.19,2.10,2.15,2.12,2.09,2.22,2.08,2.16,2.17,
-2.16,2.18,2.18,2.21,2.20,2.12,2.28,2.20,2.10,2.11,
-2.15,2.29,2.26,2.22,2.23,2.23,2.31,2.33,2.30,2.28,
-0.06,0.07,0.07,0.09,0.07,0.09,0.08,0.09,0.12,0.12,
-0.10,0.13,0.13,0.10,0.14,0.16,0.15,0.16,0.14,0.17,
-0.17,0.18,0.18,0.19,0.20,0.21,0.18,0.21,0.21,0.22,
-0.22,0.21,0.23,0.24,0.24,0.28,0.24,0.27,0.26,0.28,
-0.24,0.29,0.29,0.30,0.30,0.32,0.29,0.30,0.32,0.36,
-0.34,0.33,0.38,0.37,0.35,0.37,0.38,0.36,0.39,0.37,
-0.40,0.43,0.38,0.40,0.41,0.42,0.44,0.39,0.43,0.44,
-0.40,0.47,0.43,0.44,0.48,0.52,0.44,0.48,0.50,0.50,
-0.50,0.52,0.49,0.53,0.57,0.50,0.57,0.56,0.59,0.57,
-0.58,0.54,0.57,0.54,0.60,0.60,0.61,0.58,0.62,0.63,
-0.60,0.63,0.65,0.64,0.68,0.63,0.63,0.62,0.67,0.65,
-0.65,0.67,0.66,0.71,0.71,0.69,0.74,0.72,0.69,0.74,
-0.69,0.73,0.73,0.72,0.76,0.77,0.74,0.76,0.79,0.81,
-0.78,0.80,0.80,0.79,0.83,0.83,0.80,0.87,0.80,0.82,
-0.79,0.85,0.80,0.84,0.82,0.86,0.86,0.85,0.83,0.91,
-0.91,0.90,0.94,0.91,0.92,0.89,0.95,0.87,0.96,0.96,
-0.93,0.99,0.95,0.94,0.94,1.04,0.93,1.02,1.02,1.00,
-1.03,1.02,1.01,1.04,1.01,1.00,1.02,1.03,1.01,1.15,
-1.06,1.06,1.08,1.12,1.12,1.07,1.06,1.12,1.06,1.12,
-1.14,1.07,1.14,1.10,1.14,1.11,1.17,1.17,1.13,1.18,
-1.19,1.20,1.18,1.20,1.23,1.16,1.25,1.24,1.22,1.26,
-1.27,1.19,1.28,1.29,1.14,1.23,1.22,1.28,1.23,1.25,
-1.32,1.32,1.29,1.25,1.35,1.35,1.32,1.35,1.30,1.36,
-1.40,1.35,1.38,1.39,1.35,1.37,1.34,1.36,1.31,1.42,
-1.41,1.41,1.41,1.39,1.46,1.33,1.44,1.41,1.39,1.48,
-1.42,1.47,1.46,1.52,1.55,1.54,1.51,1.44,1.55,1.51,
-1.54,1.47,1.45,1.58,1.55,1.47,1.56,1.49,1.60,1.53,
-1.59,1.63,1.55,1.58,1.62,1.54,1.56,1.54,1.59,1.57,
-1.63,1.66,1.66,1.60,1.68,1.67,1.62,1.69,1.67,1.69,
-0.05,0.04,0.05,0.06,0.06,0.07,0.06,0.06,0.08,0.07,
-0.09,0.10,0.08,0.10,0.11,0.09,0.10,0.11,0.11,0.11,
-0.12,0.11,0.13,0.12,0.15,0.15,0.14,0.14,0.15,0.16,
-0.18,0.16,0.17,0.16,0.22,0.18,0.19,0.17,0.19,0.21,
-0.21,0.21,0.21,0.21,0.22,0.19,0.25,0.21,0.23,0.24,
-0.26,0.25,0.23,0.26,0.25,0.28,0.27,0.26,0.26,0.26,
-0.26,0.27,0.28,0.30,0.30,0.30,0.29,0.31,0.31,0.31,
-0.30,0.30,0.33,0.34,0.33,0.30,0.34,0.34,0.37,0.34,
-0.35,0.37,0.37,0.35,0.40,0.36,0.38,0.38,0.41,0.36,
-0.36,0.39,0.39,0.41,0.42,0.43,0.43,0.45,0.44,0.45,
-0.45,0.43,0.45,0.47,0.43,0.48,0.47,0.47,0.48,0.51,
-0.50,0.51,0.51,0.51,0.51,0.49,0.51,0.56,0.49,0.52,
-0.55,0.50,0.55,0.57,0.54,0.50,0.55,0.56,0.56,0.57,
-0.53,0.55,0.58,0.57,0.60,0.59,0.56,0.61,0.62,0.62,
-0.60,0.56,0.63,0.60,0.60,0.59,0.65,0.67,0.69,0.61,
-0.60,0.66,0.61,0.66,0.66,0.62,0.68,0.67,0.74,0.67,
-0.70,0.66,0.64,0.70,0.71,0.71,0.68,0.70,0.74,0.73,
-0.73,0.75,0.73,0.74,0.77,0.75,0.76,0.72,0.77,0.78,
-0.76,0.75,0.75,0.78,0.82,0.79,0.84,0.77,0.78,0.80,
-0.78,0.83,0.82,0.79,0.85,0.84,0.79,0.81,0.89,0.82,
-0.81,0.81,0.88,0.84,0.84,0.89,0.87,0.87,0.81,0.88,
-0.90,0.89,0.88,0.92,0.86,0.92,0.89,0.88,0.91,0.96,
-0.90,0.94,0.90,0.91,0.90,1.00,0.96,0.93,0.92,1.00,
-0.97,0.94,0.94,0.94,0.99,0.97,1.00,0.98,1.00,1.06,
-0.99,1.05,0.98,1.01,1.00,1.02,1.05,1.06,1.00,1.00,
-1.03,1.00,1.01,1.06,1.09,1.00,1.04,1.08,1.14,1.12,
-1.04,1.13,1.09,1.10,1.15,1.09,1.06,1.15,1.08,1.07,
-1.14,1.16,1.15,1.09,1.10,1.14,1.17,1.15,1.16,1.17,
-1.17,1.14,1.23,1.19,1.19,1.24,1.23,1.16,1.11,1.17,
-0.02,0.02,0.03,0.04,0.05,0.06,0.04,0.05,0.05,0.07,
-0.04,0.06,0.06,0.07,0.07,0.08,0.08,0.07,0.07,0.07,
-0.09,0.09,0.09,0.10,0.10,0.10,0.11,0.10,0.11,0.12,
-0.11,0.11,0.13,0.11,0.13,0.10,0.13,0.14,0.12,0.12,
-0.16,0.16,0.15,0.14,0.16,0.15,0.16,0.16,0.16,0.18,
-0.17,0.17,0.17,0.19,0.16,0.19,0.19,0.18,0.20,0.20,
-0.21,0.19,0.22,0.21,0.24,0.21,0.21,0.19,0.20,0.23,
-0.23,0.20,0.27,0.26,0.24,0.24,0.24,0.28,0.27,0.24,
-0.27,0.28,0.28,0.27,0.28,0.28,0.27,0.25,0.29,0.28,
-0.31,0.30,0.29,0.29,0.31,0.29,0.34,0.33,0.31,0.30,
-0.30,0.31,0.32,0.31,0.37,0.31,0.37,0.35,0.34,0.37,
-0.34,0.35,0.39,0.36,0.39,0.36,0.40,0.37,0.39,0.39,
-0.36,0.35,0.41,0.36,0.37,0.42,0.41,0.40,0.37,0.40,
-0.40,0.43,0.41,0.41,0.40,0.43,0.36,0.41,0.43,0.43,
-0.45,0.41,0.41,0.44,0.46,0.46,0.44,0.45,0.41,0.46,
-0.50,0.44,0.44,0.48,0.47,0.48,0.42,0.50,0.50,0.46,
-0.49,0.51,0.51,0.51,0.53,0.51,0.52,0.49,0.48,0.54,
-0.53,0.56,0.54,0.50,0.54,0.53,0.52,0.50,0.56,0.54,
-0.56,0.52,0.55,0.54,0.58,0.58,0.54,0.60,0.54,0.58,
-0.58,0.58,0.62,0.60,0.58,0.62,0.61,0.63,0.66,0.60,
-0.60,0.62,0.60,0.63,0.63,0.65,0.64,0.66,0.67,0.60,
-0.63,0.64,0.62,0.66,0.62,0.61,0.67,0.65,0.64,0.62,
-0.64,0.65,0.66,0.65,0.67,0.71,0.70,0.71,0.71,0.68,
-0.74,0.70,0.76,0.71,0.69,0.72,0.74,0.69,0.68,0.68,
-0.76,0.73,0.70,0.73,0.73,0.77,0.72,0.74,0.73,0.77,
-0.68,0.81,0.75,0.79,0.78,0.77,0.78,0.74,0.73,0.75,
-0.84,0.76,0.75,0.79,0.80,0.79,0.79,0.82,0.82,0.80,
-0.81,0.79,0.81,0.84,0.81,0.87,0.83,0.89,0.89,0.85,
-0.88,0.85,0.84,0.86,0.82,0.84,0.79,0.85,0.91,0.90,
-0.03,0.02,0.03,0.03,0.03,0.04,0.04,0.04,0.04,0.04,
-0.04,0.04,0.04,0.05,0.04,0.06,0.04,0.06,0.05,0.07,
-0.07,0.06,0.07,0.09,0.07,0.08,0.09,0.08,0.10,0.07,
-0.09,0.09,0.08,0.09,0.10,0.11,0.10,0.12,0.10,0.10,
-0.10,0.11,0.12,0.12,0.09,0.12,0.11,0.11,0.12,0.12,
-0.11,0.13,0.12,0.14,0.12,0.15,0.15,0.16,0.16,0.13,
-0.13,0.15,0.15,0.17,0.15,0.18,0.16,0.15,0.20,0.17,
-0.15,0.16,0.17,0.18,0.16,0.17,0.17,0.18,0.19,0.19,
-0.19,0.19,0.17,0.16,0.20,0.21,0.17,0.18,0.21,0.22,
-0.21,0.21,0.20,0.23,0.23,0.20,0.24,0.23,0.17,0.21,
-0.21,0.23,0.24,0.23,0.23,0.26,0.24,0.24,0.24,0.24,
-0.25,0.25,0.26,0.24,0.25,0.24,0.26,0.27,0.26,0.28,
-0.25,0.24,0.28,0.30,0.30,0.28,0.27,0.32,0.32,0.31,
-0.29,0.29,0.28,0.29,0.31,0.32,0.34,0.30,0.33,0.31,
-0.31,0.32,0.32,0.30,0.33,0.31,0.28,0.33,0.32,0.33,
-0.33,0.32,0.33,0.32,0.35,0.34,0.37,0.34,0.35,0.36,
-0.33,0.34,0.39,0.37,0.37,0.36,0.36,0.36,0.35,0.37,
-0.38,0.39,0.38,0.40,0.38,0.40,0.39,0.40,0.40,0.39,
-0.35,0.41,0.37,0.44,0.41,0.41,0.45,0.38,0.39,0.40,
-0.47,0.45,0.45,0.42,0.46,0.43,0.45,0.38,0.41,0.40,
-0.48,0.42,0.44,0.44,0.47,0.44,0.46,0.47,0.44,0.48,
-0.44,0.50,0.46,0.47,0.49,0.47,0.48,0.50,0.48,0.50,
-0.48,0.50,0.49,0.49,0.48,0.50,0.52,0.51,0.49,0.50,
-0.45,0.52,0.50,0.48,0.50,0.49,0.49,0.56,0.50,0.52,
-0.54,0.52,0.49,0.54,0.55,0.54,0.57,0.54,0.55,0.54,
-0.54,0.52,0.56,0.54,0.50,0.53,0.56,0.53,0.52,0.58,
-0.55,0.56,0.61,0.57,0.60,0.58,0.59,0.56,0.54,0.58,
-0.59,0.57,0.60,0.61,0.59,0.61,0.58,0.61,0.56,0.58,
-0.59,0.58,0.65,0.58,0.64,0.64,0.61,0.61,0.67,0.63,
-0.01,0.01,0.02,0.02,0.02,0.03,0.02,0.01,0.04,0.03,
-0.03,0.04,0.03,0.04,0.03,0.04,0.05,0.05,0.04,0.04,
-0.04,0.05,0.05,0.06,0.06,0.04,0.06,0.05,0.06,0.06,
-0.05,0.06,0.07,0.08,0.06,0.06,0.07,0.08,0.07,0.05,
-0.08,0.09,0.08,0.08,0.08,0.07,0.08,0.08,0.08,0.08,
-0.10,0.10,0.09,0.07,0.10,0.09,0.10,0.10,0.11,0.12,
-0.10,0.10,0.12,0.10,0.11,0.12,0.11,0.12,0.11,0.13,
-0.12,0.13,0.12,0.14,0.13,0.14,0.12,0.14,0.14,0.14,
-0.17,0.14,0.12,0.16,0.13,0.16,0.15,0.14,0.15,0.14,
-0.15,0.16,0.16,0.15,0.15,0.16,0.16,0.17,0.17,0.16,
-0.15,0.17,0.18,0.15,0.16,0.17,0.17,0.18,0.19,0.20,
-0.19,0.19,0.17,0.18,0.22,0.20,0.18,0.17,0.18,0.22,
-0.21,0.18,0.22,0.22,0.19,0.21,0.21,0.20,0.20,0.22,
-0.21,0.24,0.21,0.23,0.23,0.23,0.22,0.23,0.25,0.21,
-0.22,0.23,0.24,0.25,0.22,0.24,0.23,0.26,0.23,0.23,
-0.23,0.24,0.24,0.26,0.24,0.23,0.29,0.27,0.22,0.27,
-0.24,0.27,0.28,0.27,0.26,0.28,0.26,0.27,0.26,0.25,
-0.25,0.28,0.28,0.27,0.26,0.28,0.28,0.26,0.31,0.26,
-0.27,0.29,0.29,0.28,0.27,0.30,0.29,0.31,0.27,0.33,
-0.30,0.25,0.31,0.31,0.29,0.34,0.34,0.30,0.30,0.29,
-0.32,0.31,0.30,0.32,0.31,0.34,0.31,0.34,0.33,0.32,
-0.32,0.32,0.32,0.36,0.36,0.35,0.35,0.35,0.35,0.37,
-0.34,0.34,0.38,0.35,0.33,0.37,0.37,0.38,0.37,0.36,
-0.37,0.33,0.38,0.37,0.35,0.36,0.38,0.36,0.35,0.36,
-0.38,0.39,0.37,0.39,0.39,0.38,0.35,0.40,0.35,0.39,
-0.37,0.38,0.40,0.39,0.43,0.35,0.40,0.42,0.38,0.40,
-0.42,0.39,0.39,0.44,0.38,0.41,0.42,0.41,0.39,0.41,
-0.42,0.42,0.44,0.43,0.46,0.42,0.42,0.38,0.42,0.46,
-0.42,0.40,0.45,0.44,0.46,0.44,0.44,0.43,0.45,0.44,
-0.01,0.01,0.01,0.02,0.01,0.01,0.02,0.02,0.02,0.02,
-0.02,0.02,0.03,0.02,0.02,0.02,0.03,0.02,0.02,0.03,
-0.03,0.04,0.04,0.05,0.04,0.04,0.04,0.04,0.04,0.06,
-0.04,0.04,0.04,0.05,0.05,0.04,0.05,0.05,0.05,0.05,
-0.04,0.08,0.06,0.07,0.06,0.05,0.05,0.06,0.07,0.07,
-0.07,0.07,0.07,0.06,0.08,0.07,0.06,0.07,0.09,0.08,
-0.06,0.08,0.07,0.07,0.10,0.09,0.09,0.11,0.09,0.08,
-0.08,0.09,0.08,0.09,0.09,0.09,0.09,0.10,0.09,0.08,
-0.12,0.10,0.08,0.11,0.10,0.13,0.10,0.09,0.11,0.10,
-0.10,0.11,0.10,0.10,0.10,0.09,0.12,0.11,0.11,0.12,
-0.13,0.12,0.11,0.11,0.12,0.12,0.13,0.12,0.13,0.14,
-0.13,0.14,0.13,0.13,0.13,0.12,0.13,0.13,0.13,0.15,
-0.14,0.13,0.14,0.16,0.15,0.14,0.14,0.14,0.15,0.15,
-0.14,0.15,0.15,0.16,0.15,0.15,0.14,0.17,0.18,0.16,
-0.18,0.17,0.17,0.14,0.19,0.16,0.17,0.17,0.18,0.21,
-0.17,0.17,0.16,0.18,0.23,0.17,0.18,0.19,0.16,0.20,
-0.18,0.17,0.18,0.20,0.18,0.19,0.22,0.17,0.19,0.19,
-0.20,0.21,0.22,0.19,0.19,0.18,0.23,0.20,0.20,0.18,
-0.20,0.20,0.21,0.21,0.21,0.24,0.20,0.22,0.22,0.23,
-0.20,0.20,0.20,0.26,0.23,0.22,0.21,0.23,0.23,0.21,
-0.25,0.23,0.25,0.24,0.24,0.23,0.24,0.25,0.23,0.22,
-0.23,0.24,0.24,0.28,0.22,0.24,0.21,0.25,0.25,0.24,
-0.25,0.23,0.25,0.25,0.22,0.23,0.28,0.29,0.25,0.28,
-0.26,0.25,0.26,0.28,0.27,0.30,0.24,0.24,0.25,0.28,
-0.27,0.28,0.26,0.29,0.28,0.31,0.28,0.26,0.29,0.25,
-0.27,0.26,0.28,0.27,0.27,0.29,0.30,0.32,0.29,0.30,
-0.34,0.28,0.31,0.28,0.31,0.29,0.30,0.32,0.30,0.31,
-0.35,0.28,0.31,0.31,0.35,0.31,0.32,0.31,0.35,0.32,
-0.31,0.32,0.36,0.31,0.32,0.32,0.30,0.30,0.31,0.30,
-1.21,1.35,1.57,1.60,1.78,1.87,2.02,2.05,2.27,2.32,
-2.50,2.53,2.65,2.85,2.90,3.05,3.14,3.26,3.35,3.43,
-3.62,3.81,3.83,4.00,4.03,4.18,4.32,4.57,4.60,4.70,
-4.79,4.91,4.95,5.21,5.36,5.53,5.58,5.67,5.82,5.78,
-6.08,6.08,6.24,6.42,6.51,6.70,6.80,6.83,6.99,7.11,
-7.27,7.34,7.49,7.68,7.60,7.95,7.94,8.09,8.12,8.31,
-8.45,8.49,8.62,8.65,8.97,9.03,9.05,9.33,9.40,9.55,
-9.74,9.77,9.86,10.04,10.12,10.18,10.34,10.40,10.85,10.82,
-10.77,11.02,11.22,11.08,11.23,11.31,11.66,11.70,11.83,12.08,
-12.05,12.17,12.27,12.50,12.58,12.69,12.72,12.86,12.90,13.18,
-13.22,13.35,13.51,13.57,13.58,13.79,13.91,13.93,14.23,14.17,
-14.43,14.53,14.87,14.59,14.89,14.98,15.11,15.30,15.37,15.42,
-15.57,15.81,15.70,15.83,16.25,16.14,16.43,16.58,16.49,16.63,
-16.75,17.10,17.09,17.11,17.47,17.35,17.62,17.70,17.91,17.80,
-17.77,18.18,18.10,18.60,18.45,18.62,18.80,18.89,18.95,19.33,
-19.07,19.04,19.52,19.57,19.61,19.78,19.98,20.25,20.20,20.39,
-20.42,20.53,20.68,20.90,20.98,21.21,20.99,21.17,21.43,21.51,
-21.61,21.95,22.01,21.96,22.19,22.09,22.23,22.46,22.60,22.57,
-22.84,22.93,22.96,23.33,23.26,23.27,23.74,23.79,23.88,23.84,
-24.15,24.14,24.24,24.40,24.63,24.68,25.01,24.97,24.93,25.07,
-25.38,25.22,25.45,25.73,25.57,25.80,26.09,25.99,26.22,26.30,
-26.53,26.46,26.68,26.63,27.13,26.95,27.28,27.25,27.25,27.57,
-27.58,27.81,27.71,28.01,28.14,28.58,28.48,28.31,28.46,28.63,
-28.63,29.00,29.23,29.44,29.55,29.63,29.48,29.61,29.83,29.68,
-30.28,29.98,30.16,30.39,30.46,30.52,30.50,31.04,30.89,31.29,
-31.28,31.53,31.45,31.84,32.04,31.99,32.10,32.10,32.41,32.31,
-32.57,32.49,32.47,32.91,32.95,32.84,33.20,33.66,33.46,33.39,
-33.55,33.87,33.81,33.99,34.38,34.09,34.11,34.22,34.46,34.85,
-34.95,35.09,34.81,35.07,35.34,35.57,35.61,35.43,35.72,35.92,
-0.89,0.98,1.08,1.16,1.29,1.38,1.40,1.50,1.62,1.64,
-1.79,1.94,1.96,2.04,2.16,2.23,2.25,2.38,2.54,2.53,
-2.59,2.71,2.74,2.87,3.08,3.01,3.14,3.37,3.33,3.53,
-3.44,3.60,3.72,3.79,3.83,3.90,4.07,4.27,4.21,4.40,
-4.45,4.58,4.53,4.64,4.75,4.87,4.86,5.01,5.15,5.21,
-5.25,5.46,5.41,5.69,5.68,5.80,5.78,5.93,6.00,6.00,
-6.18,6.31,6.34,6.34,6.57,6.64,6.63,6.83,6.88,6.85,
-7.10,7.22,7.17,7.18,7.34,7.37,7.63,7.69,7.76,7.80,
-7.99,7.97,8.09,8.24,8.23,8.48,8.41,8.65,8.64,8.71,
-8.81,8.83,9.04,9.05,9.16,9.25,9.24,9.45,9.47,9.64,
-9.63,9.83,9.99,9.88,9.94,10.11,10.26,10.10,10.41,10.48,
-10.60,10.52,10.80,10.80,10.76,10.92,11.11,11.12,11.15,11.48,
-11.47,11.41,11.52,11.73,11.84,11.99,11.91,11.97,12.12,12.21,
-12.27,12.47,12.37,12.55,12.84,12.58,12.86,12.62,12.93,12.99,
-13.11,13.22,13.20,13.34,13.61,13.61,13.77,13.72,13.86,13.86,
-14.17,14.02,14.42,14.35,14.43,14.40,14.81,14.79,14.86,14.87,
-14.88,14.87,15.18,15.26,15.32,15.17,15.43,15.65,15.60,15.63,
-15.58,15.82,15.97,15.91,16.04,16.30,16.40,16.30,16.58,16.68,
-16.64,16.92,17.06,16.81,17.20,17.38,17.07,17.45,17.42,17.63,
-17.70,17.75,17.89,17.69,18.05,17.95,17.99,18.15,18.39,18.34,
-18.60,18.45,18.65,18.80,19.02,18.96,19.08,19.08,18.91,19.28,
-19.43,19.58,19.43,19.42,19.82,19.80,19.86,19.89,20.17,19.93,
-20.47,20.38,20.26,20.31,20.44,20.51,20.62,20.89,20.80,21.13,
-21.12,21.36,21.36,21.33,21.39,21.54,21.71,21.78,21.57,21.74,
-21.87,22.20,22.27,22.20,22.02,22.40,22.50,22.38,22.76,22.48,
-22.94,22.86,22.96,23.03,23.16,23.29,23.56,23.54,23.48,23.41,
-23.45,23.85,23.68,24.00,23.66,24.18,24.07,24.51,24.32,24.55,
-24.76,24.75,24.76,25.11,24.66,24.88,24.97,25.09,25.08,25.12,
-25.31,25.54,25.58,25.82,25.82,25.61,26.06,25.81,26.15,26.15,
-0.69,0.74,0.75,0.82,0.94,0.98,1.06,1.06,1.19,1.22,
-1.29,1.38,1.44,1.46,1.50,1.59,1.65,1.70,1.84,1.81,
-1.96,2.04,2.08,2.10,2.24,2.32,2.45,2.33,2.42,2.48,
-2.59,2.67,2.72,2.77,2.82,2.93,2.95,3.05,3.15,3.15,
-3.17,3.23,3.28,3.34,3.53,3.54,3.59,3.70,3.61,3.71,
-4.00,3.94,3.99,4.00,4.08,4.14,4.24,4.33,4.33,4.42,
-4.61,4.57,4.60,4.65,4.81,4.78,4.78,4.92,5.01,5.08,
-5.17,5.15,5.13,5.19,5.43,5.60,5.50,5.61,5.53,5.80,
-5.70,5.76,5.97,6.05,6.10,6.06,6.18,6.25,6.42,6.37,
-6.49,6.49,6.57,6.72,6.62,6.83,6.74,6.83,6.96,7.00,
-7.02,7.10,7.24,7.20,7.34,7.51,7.48,7.49,7.56,7.74,
-7.67,7.84,7.74,7.98,8.03,8.01,8.15,8.17,8.00,8.19,
-8.32,8.35,8.39,8.60,8.66,8.57,8.67,8.77,8.98,8.94,
-8.96,8.85,9.07,9.13,9.13,9.39,9.41,9.51,9.50,9.38,
-9.71,9.57,9.80,9.88,9.79,9.99,9.93,9.95,10.03,10.24,
-10.33,10.24,10.38,10.49,10.36,10.48,10.67,10.75,10.78,10.82,
-10.80,10.98,10.85,11.06,11.15,11.23,11.12,11.54,11.30,11.47,
-11.47,11.48,11.99,11.75,11.60,11.93,11.88,12.00,12.11,12.19,
-12.18,12.21,12.47,12.44,12.58,12.67,12.45,12.65,12.52,12.62,
-12.84,12.90,12.80,13.15,13.15,13.35,13.27,13.13,13.41,13.28,
-13.29,13.74,13.52,13.59,13.60,13.76,13.79,13.83,13.96,13.83,
-14.09,14.12,14.25,14.44,14.20,14.39,14.59,14.47,14.47,14.64,
-14.76,14.58,14.88,14.86,15.00,15.20,15.33,15.28,15.24,15.35,
-15.44,15.46,15.62,15.39,15.74,15.70,15.77,15.64,15.47,15.74,
-15.95,15.88,16.05,16.07,16.21,16.47,16.52,16.33,16.54,16.72,
-16.51,16.64,16.75,16.88,17.08,17.03,16.94,17.08,17.32,17.26,
-17.30,17.33,17.47,17.65,17.78,17.69,17.76,17.76,17.77,18.02,
-17.99,17.81,18.05,18.13,18.28,18.23,18.39,18.19,18.13,18.55,
-18.35,18.70,18.71,18.89,18.58,18.73,18.90,19.04,18.92,18.99,
-0.45,0.54,0.57,0.60,0.68,0.67,0.77,0.85,0.89,0.92,
-1.00,1.01,1.04,1.13,1.16,1.09,1.25,1.30,1.32,1.37,
-1.47,1.45,1.50,1.55,1.59,1.60,1.67,1.79,1.73,1.85,
-1.86,1.87,1.95,2.03,2.03,2.15,2.17,2.24,2.29,2.24,
-2.39,2.37,2.49,2.55,2.44,2.65,2.65,2.65,2.69,2.77,
-2.89,2.83,3.03,2.94,3.04,3.00,2.98,3.14,3.10,3.13,
-3.28,3.32,3.25,3.43,3.46,3.54,3.63,3.62,3.59,3.75,
-3.75,3.82,4.01,3.90,4.00,4.06,4.01,4.18,4.13,4.15,
-4.27,4.19,4.33,4.38,4.44,4.43,4.56,4.58,4.58,4.72,
-4.84,4.66,4.68,4.75,4.96,4.93,4.94,5.08,4.93,5.03,
-5.08,5.12,5.22,5.38,5.29,5.43,5.43,5.55,5.58,5.63,
-5.66,5.70,5.78,5.76,5.71,5.78,6.06,5.95,5.92,5.92,
-6.13,6.26,6.15,6.14,6.42,6.48,6.34,6.39,6.54,6.53,
-6.51,6.62,6.74,6.58,6.79,6.84,6.80,6.87,6.88,6.89,
-6.89,7.12,7.18,7.13,7.27,7.34,7.27,7.27,7.51,7.41,
-7.65,7.65,7.61,7.65,7.76,7.66,7.83,7.88,7.95,7.84,
-8.04,7.84,8.04,8.13,8.15,8.13,8.35,8.29,8.26,8.32,
-8.50,8.47,8.45,8.64,8.69,8.79,8.74,8.63,8.86,9.05,
-9.04,8.93,9.05,9.05,9.03,9.10,9.17,9.39,9.36,9.21,
-9.30,9.44,9.46,9.53,9.58,9.73,9.78,9.72,9.59,9.82,
-9.75,9.92,9.99,9.93,10.13,10.14,10.43,10.10,10.23,10.28,
-10.30,10.19,10.43,10.36,10.53,10.55,10.45,10.63,10.83,10.75,
-10.59,10.76,10.72,10.89,11.06,10.86,11.18,11.21,11.11,11.27,
-11.24,11.29,11.44,11.36,11.39,11.35,11.63,11.51,11.77,11.73,
-11.78,11.81,11.78,12.00,11.80,11.91,11.82,12.11,12.10,12.16,
-12.26,12.32,12.23,12.17,12.58,12.47,12.39,12.49,12.51,12.67,
-12.66,12.53,12.82,12.82,12.93,12.77,13.01,12.93,13.19,12.94,
-12.95,13.39,13.28,13.11,13.36,13.54,13.45,13.29,13.40,13.83,
-13.48,13.54,13.48,13.81,13.81,13.68,13.94,13.88,13.90,14.03,
-0.35,0.38,0.42,0.43,0.51,0.55,0.57,0.58,0.64,0.68,
-0.73,0.73,0.81,0.75,0.82,0.84,0.92,0.85,1.00,1.04,
-1.07,1.05,1.06,1.19,1.14,1.21,1.29,1.28,1.25,1.29,
-1.39,1.39,1.40,1.48,1.52,1.54,1.53,1.64,1.60,1.75,
-1.77,1.85,1.72,1.76,1.80,1.88,1.96,1.91,1.97,2.01,
-2.07,2.07,2.17,2.16,2.27,2.22,2.29,2.34,2.36,2.37,
-2.31,2.46,2.37,2.51,2.48,2.60,2.62,2.73,2.62,2.76,
-2.61,2.78,2.84,2.85,2.88,2.93,2.96,2.96,3.00,2.99,
-3.09,3.11,3.25,3.28,3.15,3.14,3.33,3.35,3.30,3.39,
-3.48,3.46,3.46,3.56,3.55,3.62,3.46,3.73,3.77,3.76,
-3.67,3.80,3.85,3.82,3.94,3.95,3.96,4.03,3.95,4.08,
-4.09,4.19,4.24,4.12,4.18,4.32,4.26,4.40,4.43,4.45,
-4.37,4.56,4.62,4.57,4.66,4.58,4.63,4.76,4.63,4.85,
-4.75,4.74,4.84,4.76,4.96,4.88,4.80,5.07,5.06,4.94,
-5.18,5.06,5.13,5.21,5.27,5.31,5.29,5.28,5.46,5.52,
-5.44,5.45,5.46,5.45,5.57,5.64,5.73,5.57,5.82,5.78,
-5.75,5.82,5.79,5.87,5.92,5.92,5.95,6.07,6.18,5.97,
-6.22,6.16,6.32,6.13,6.22,6.43,6.31,6.29,6.59,6.59,
-6.41,6.47,6.55,6.57,6.67,6.61,6.77,6.93,6.77,6.86,
-6.85,6.86,6.88,6.94,6.92,7.07,7.08,6.98,7.07,7.09,
-7.16,7.28,7.14,7.19,7.37,7.37,7.39,7.41,7.39,7.40,
-7.50,7.60,7.56,7.61,7.82,7.56,7.58,7.78,7.70,7.78,
-7.89,7.90,7.83,8.08,7.95,8.08,8.18,8.16,8.16,8.15,
-8.31,8.32,8.43,8.31,8.21,8.41,8.36,8.57,8.47,8.53,
-8.62,8.57,8.45,8.73,8.74,8.69,8.50,8.65,8.96,8.92,
-8.80,8.63,8.78,9.00,9.00,9.05,9.10,9.17,9.12,9.04,
-9.31,9.39,9.09,9.29,9.30,9.37,9.51,9.50,9.46,9.55,
-9.54,9.53,9.62,9.80,9.79,9.83,9.72,9.74,9.84,10.07,
-9.85,9.96,9.87,10.02,9.85,10.18,10.14,10.11,10.09,10.08,
-0.27,0.27,0.26,0.32,0.35,0.40,0.42,0.44,0.43,0.47,
-0.49,0.56,0.55,0.62,0.61,0.65,0.65,0.66,0.70,0.73,
-0.74,0.78,0.81,0.84,0.85,0.88,0.90,0.96,0.97,1.02,
-1.04,1.07,1.06,1.09,1.07,1.10,1.27,1.17,1.24,1.21,
-1.26,1.28,1.30,1.33,1.36,1.42,1.29,1.43,1.42,1.51,
-1.46,1.54,1.49,1.57,1.59,1.63,1.67,1.64,1.71,1.73,
-1.73,1.75,1.86,1.80,1.87,1.93,1.91,1.93,1.98,2.01,
-2.03,1.98,2.01,2.10,2.06,2.13,2.13,2.19,2.17,2.25,
-2.26,2.25,2.31,2.39,2.35,2.38,2.40,2.46,2.39,2.37,
-2.48,2.52,2.50,2.61,2.69,2.60,2.62,2.76,2.78,2.69,
-2.74,2.84,2.79,2.84,2.77,2.87,2.91,2.97,3.03,2.96,
-3.06,3.08,3.02,3.10,3.10,3.06,3.20,3.21,3.23,3.28,
-3.23,3.24,3.37,3.29,3.39,3.45,3.34,3.45,3.37,3.44,
-3.49,3.55,3.54,3.50,3.69,3.56,3.56,3.67,3.63,3.69,
-3.65,3.77,3.81,3.84,3.83,3.88,4.01,4.01,3.99,3.99,
-3.99,3.96,4.06,3.96,4.06,4.16,4.24,4.24,4.19,4.12,
-4.21,4.24,4.36,4.27,4.26,4.32,4.32,4.35,4.50,4.49,
-4.51,4.44,4.51,4.61,4.58,4.52,4.56,4.70,4.67,4.72,
-4.77,4.70,4.76,4.75,4.87,4.95,4.87,4.90,4.96,4.92,
-4.87,4.96,5.09,5.09,5.17,5.01,5.07,5.14,5.25,5.13,
-5.22,5.27,5.25,5.18,5.33,5.30,5.32,5.41,5.46,5.52,
-5.57,5.67,5.45,5.55,5.53,5.58,5.58,5.59,5.66,5.69,
-5.79,5.77,5.89,5.94,5.78,5.87,5.91,5.89,6.04,5.88,
-5.91,6.03,5.94,6.15,6.09,6.14,6.16,6.17,6.17,6.20,
-6.23,6.21,6.10,6.23,6.18,6.44,6.39,6.41,6.37,6.47,
-6.37,6.56,6.61,6.41,6.55,6.65,6.63,6.68,6.71,6.75,
-6.75,6.71,6.67,6.83,6.75,6.71,6.88,6.79,6.88,6.78,
-7.04,7.07,7.00,7.16,7.22,7.14,7.20,6.98,7.26,7.23,
-7.19,7.26,7.35,7.42,7.38,7.31,7.30,7.52,7.39,7.50,
-0.18,0.22,0.24,0.24,0.23,0.29,0.29,0.29,0.37,0.33,
-0.36,0.40,0.42,0.47,0.43,0.50,0.50,0.47,0.55,0.52,
-0.61,0.60,0.56,0.59,0.61,0.63,0.69,0.65,0.71,0.66,
-0.71,0.73,0.82,0.79,0.85,0.86,0.79,0.83,0.88,0.89,
-0.91,0.89,0.96,0.87,0.99,1.04,1.01,1.04,1.04,1.06,
-1.07,1.12,1.14,1.15,1.17,1.21,1.19,1.22,1.24,1.36,
-1.27,1.29,1.32,1.28,1.34,1.42,1.42,1.44,1.38,1.38,
-1.45,1.40,1.45,1.48,1.53,1.45,1.59,1.64,1.66,1.63,
-1.67,1.66,1.66,1.76,1.72,1.75,1.76,1.74,1.77,1.80,
-1.84,1.89,1.73,1.89,1.90,1.86,1.96,1.97,1.92,1.96,
-2.02,2.04,2.07,2.04,2.06,2.13,2.10,2.13,2.11,2.29,
-2.15,2.23,2.28,2.32,2.26,2.29,2.31,2.27,2.31,2.31,
-2.41,2.33,2.37,2.33,2.45,2.56,2.57,2.60,2.52,2.48,
-2.52,2.61,2.56,2.67,2.63,2.65,2.64,2.69,2.65,2.74,
-2.69,2.72,2.63,2.75,2.81,2.83,2.86,2.86,2.91,2.94,
-2.93,2.97,2.93,3.00,3.00,2.96,3.02,3.03,3.09,3.17,
-3.12,3.11,3.14,3.15,3.24,3.27,3.16,3.19,3.17,3.19,
-3.41,3.32,3.33,3.24,3.28,3.26,3.40,3.38,3.48,3.46,
-3.40,3.45,3.42,3.47,3.47,3.62,3.54,3.58,3.57,3.58,
-3.65,3.58,3.66,3.79,3.72,3.72,3.84,3.74,3.85,3.84,
-3.75,3.83,3.88,3.91,3.94,3.98,3.88,3.92,3.90,3.96,
-4.01,4.06,4.05,4.13,4.03,4.04,4.16,4.11,4.15,4.16,
-4.15,4.21,4.27,4.28,4.30,4.30,4.29,4.25,4.37,4.27,
-4.33,4.29,4.37,4.44,4.53,4.43,4.41,4.40,4.57,4.46,
-4.53,4.56,4.73,4.61,4.63,4.55,4.79,4.73,4.57,4.69,
-4.88,4.76,4.81,4.67,4.82,4.64,4.92,4.79,4.92,4.88,
-4.98,4.78,4.89,5.13,4.90,5.08,4.92,5.04,4.94,5.10,
-5.09,5.07,5.08,5.28,5.10,5.14,5.31,5.20,5.17,5.27,
-5.26,5.23,5.30,5.30,5.39,5.44,5.38,5.43,5.32,5.34,
-0.14,0.14,0.16,0.17,0.20,0.22,0.21,0.23,0.22,0.25,
-0.27,0.28,0.29,0.29,0.33,0.34,0.33,0.36,0.33,0.42,
-0.41,0.40,0.42,0.46,0.45,0.47,0.48,0.53,0.52,0.49,
-0.52,0.55,0.54,0.56,0.58,0.60,0.65,0.59,0.61,0.71,
-0.68,0.69,0.72,0.73,0.72,0.70,0.70,0.80,0.81,0.80,
-0.80,0.82,0.84,0.87,0.85,0.91,0.84,0.86,0.90,0.90,
-0.94,0.92,1.00,1.03,0.99,0.99,1.04,1.06,1.02,1.07,
-1.12,1.08,1.07,1.12,1.10,1.06,1.16,1.09,1.19,1.24,
-1.24,1.23,1.22,1.21,1.22,1.25,1.34,1.26,1.33,1.34,
-1.36,1.34,1.35,1.34,1.35,1.40,1.45,1.46,1.55,1.41,
-1.45,1.43,1.53,1.48,1.52,1.55,1.53,1.56,1.51,1.58,
-1.59,1.59,1.63,1.67,1.68,1.71,1.57,1.70,1.68,1.73,
-1.80,1.73,1.80,1.76,1.79,1.78,1.83,1.89,1.83,1.81,
-1.86,1.83,1.89,1.99,1.95,2.04,1.96,1.95,1.95,2.02,
-1.95,2.11,1.99,2.02,2.06,2.02,2.14,2.10,2.13,2.15,
-2.18,2.20,2.16,2.15,2.18,2.23,2.18,2.19,2.28,2.29,
-2.28,2.24,2.30,2.30,2.34,2.38,2.37,2.40,2.48,2.31,
-2.43,2.48,2.48,2.37,2.41,2.47,2.44,2.49,2.52,2.52,
-2.60,2.56,2.59,2.52,2.60,2.54,2.65,2.60,2.60,2.72,
-2.58,2.61,2.76,2.73,2.73,2.65,2.70,2.84,2.71,2.75,
-2.82,2.80,2.73,2.69,2.85,2.96,2.82,2.87,2.89,2.92,
-2.88,2.91,2.96,2.98,2.92,2.96,3.09,2.96,3.00,3.02,
-3.08,3.08,3.19,3.12,3.09,3.06,3.10,3.21,3.13,3.22,
-3.22,3.19,3.12,3.29,3.31,3.24,3.30,3.33,3.33,3.23,
-3.38,3.20,3.38,3.32,3.54,3.38,3.38,3.42,3.40,3.39,
-3.54,3.46,3.50,3.49,3.47,3.44,3.57,3.55,3.52,3.47,
-3.60,3.63,3.54,3.65,3.60,3.67,3.65,3.55,3.75,3.60,
-3.75,3.80,3.70,3.86,3.74,3.71,3.77,3.85,3.87,3.75,
-3.83,3.77,3.90,3.94,3.80,3.85,3.98,4.00,3.95,3.93,
-0.09,0.10,0.11,0.15,0.12,0.14,0.15,0.17,0.16,0.21,
-0.19,0.23,0.19,0.24,0.23,0.26,0.26,0.27,0.29,0.28,
-0.31,0.29,0.34,0.30,0.29,0.35,0.36,0.35,0.39,0.36,
-0.38,0.39,0.43,0.41,0.44,0.42,0.44,0.47,0.47,0.47,
-0.48,0.47,0.48,0.51,0.52,0.54,0.55,0.60,0.60,0.58,
-0.56,0.58,0.61,0.59,0.59,0.67,0.65,0.68,0.65,0.69,
-0.70,0.69,0.70,0.74,0.68,0.74,0.77,0.76,0.78,0.76,
-0.75,0.84,0.77,0.82,0.82,0.79,0.83,0.84,0.88,0.91,
-0.83,0.85,0.89,0.95,0.93,0.92,0.95,0.92,0.92,0.96,
-0.95,1.02,1.00,0.95,1.00,1.03,1.01,1.05,1.09,1.04,
-1.09,1.14,1.08,1.07,1.14,1.11,1.16,1.20,1.14,1.16,
-1.15,1.17,1.19,1.23,1.18,1.19,1.20,1.28,1.17,1.20,
-1.27,1.29,1.27,1.25,1.33,1.32,1.33,1.31,1.35,1.34,
-1.37,1.36,1.40,1.37,1.42,1.45,1.42,1.36,1.45,1.42,
-1.51,1.46,1.47,1.50,1.44,1.50,1.50,1.55,1.50,1.53,
-1.53,1.54,1.55,1.66,1.64,1.60,1.65,1.67,1.59,1.58,
-1.62,1.68,1.69,1.60,1.69,1.75,1.68,1.70,1.80,1.72,
-1.74,1.75,1.77,1.68,1.89,1.80,1.74,1.90,1.82,1.89,
-1.90,1.80,1.86,1.80,1.85,1.94,1.80,1.96,1.90,1.95,
-1.97,1.97,1.92,1.96,2.01,2.03,2.02,2.02,1.97,2.04,
-2.05,2.09,2.08,2.10,2.05,2.08,2.02,2.12,2.06,2.15,
-2.18,2.10,2.18,2.18,2.22,2.20,2.24,2.13,2.30,2.34,
-2.28,2.19,2.23,2.22,2.29,2.27,2.33,2.27,2.28,2.33,
-2.34,2.28,2.37,2.37,2.46,2.46,2.46,2.35,2.39,2.40,
-2.44,2.46,2.47,2.56,2.49,2.46,2.44,2.43,2.52,2.49,
-2.48,2.55,2.52,2.54,2.63,2.60,2.55,2.57,2.63,2.59,
-2.57,2.69,2.57,2.71,2.58,2.76,2.74,2.82,2.71,2.71,
-2.62,2.63,2.73,2.65,2.80,2.78,2.81,2.81,2.75,2.81,
-2.75,2.77,2.89,2.86,2.87,2.92,2.86,2.81,2.85,2.88,
-0.07,0.09,0.09,0.10,0.09,0.10,0.11,0.11,0.14,0.14,
-0.15,0.13,0.16,0.15,0.19,0.19,0.20,0.18,0.22,0.19,
-0.18,0.20,0.24,0.22,0.24,0.26,0.21,0.25,0.28,0.28,
-0.27,0.29,0.29,0.33,0.31,0.31,0.34,0.35,0.34,0.34,
-0.34,0.38,0.38,0.37,0.40,0.37,0.39,0.39,0.42,0.43,
-0.42,0.44,0.44,0.43,0.45,0.48,0.45,0.47,0.46,0.52,
-0.48,0.53,0.51,0.47,0.52,0.53,0.54,0.53,0.55,0.55,
-0.51,0.57,0.57,0.62,0.60,0.62,0.63,0.61,0.63,0.66,
-0.66,0.65,0.66,0.68,0.66,0.70,0.76,0.64,0.70,0.69,
-0.69,0.70,0.74,0.71,0.75,0.74,0.75,0.78,0.73,0.76,
-0.81,0.82,0.82,0.84,0.80,0.77,0.88,0.87,0.84,0.86,
-0.88,0.79,0.90,0.89,0.89,0.82,0.88,0.89,0.90,0.91,
-0.88,0.93,0.97,1.00,0.95,0.97,0.94,0.92,1.00,1.05,
-1.00,0.97,1.02,1.02,1.01,1.04,1.02,0.99,1.06,1.07,
-1.06,1.07,1.09,1.11,1.03,1.12,1.12,1.14,1.06,1.17,
-1.13,1.13,1.15,1.22,1.18,1.10,1.20,1.19,1.17,1.12,
-1.21,1.20,1.19,1.19,1.19,1.20,1.31,1.33,1.24,1.22,
-1.33,1.20,1.22,1.26,1.40,1.28,1.33,1.36,1.30,1.34,
-1.37,1.25,1.39,1.39,1.39,1.37,1.38,1.39,1.41,1.42,
-1.34,1.49,1.40,1.45,1.46,1.37,1.51,1.48,1.48,1.53,
-1.48,1.47,1.58,1.45,1.54,1.53,1.52,1.58,1.56,1.60,
-1.51,1.56,1.60,1.50,1.59,1.54,1.56,1.62,1.58,1.65,
-1.62,1.59,1.60,1.63,1.63,1.63,1.66,1.72,1.68,1.71,
-1.70,1.69,1.74,1.74,1.75,1.70,1.72,1.71,1.76,1.72,
-1.80,1.74,1.85,1.79,1.81,1.79,1.80,1.77,1.87,1.85,
-1.84,1.84,1.83,1.83,1.86,1.73,1.98,1.87,1.90,1.85,
-1.86,1.90,1.84,1.88,1.94,1.93,1.96,1.89,1.95,1.99,
-2.03,1.98,1.98,2.06,1.99,1.99,2.08,2.02,2.00,2.03,
-2.07,1.98,2.04,2.08,2.05,2.06,2.06,2.03,2.12,2.23,
-0.05,0.06,0.06,0.06,0.07,0.07,0.10,0.09,0.07,0.09,
-0.09,0.11,0.09,0.12,0.14,0.15,0.14,0.14,0.14,0.16,
-0.16,0.18,0.19,0.15,0.18,0.18,0.19,0.18,0.23,0.20,
-0.21,0.20,0.23,0.23,0.23,0.22,0.25,0.24,0.26,0.22,
-0.24,0.29,0.27,0.29,0.26,0.28,0.27,0.30,0.31,0.29,
-0.30,0.34,0.34,0.33,0.28,0.37,0.33,0.36,0.34,0.36,
-0.38,0.36,0.34,0.36,0.36,0.36,0.42,0.41,0.45,0.38,
-0.41,0.40,0.41,0.42,0.46,0.43,0.43,0.47,0.45,0.47,
-0.47,0.47,0.46,0.47,0.51,0.48,0.49,0.47,0.50,0.50,
-0.51,0.54,0.50,0.51,0.51,0.56,0.56,0.55,0.60,0.55,
-0.60,0.57,0.59,0.62,0.61,0.58,0.62,0.61,0.61,0.59,
-0.61,0.62,0.62,0.64,0.69,0.65,0.66,0.64,0.64,0.67,
-0.74,0.68,0.69,0.66,0.70,0.70,0.66,0.74,0.74,0.75,
-0.78,0.76,0.77,0.71,0.73,0.72,0.81,0.78,0.83,0.74,
-0.83,0.79,0.78,0.82,0.78,0.79,0.80,0.79,0.83,0.88,
-0.85,0.83,0.85,0.78,0.86,0.87,0.89,0.82,0.91,0.93,
-0.90,0.83,0.86,0.92,0.88,0.96,0.89,0.94,0.91,0.92,
-0.96,0.92,0.91,0.94,0.93,1.01,0.98,0.95,0.99,0.96,
-1.01,0.96,0.94,1.07,0.98,1.00,0.98,1.08,1.00,1.04,
-1.03,1.07,1.03,1.06,1.07,1.05,1.08,1.08,1.06,1.10,
-1.07,1.08,1.09,1.12,1.14,1.12,1.15,1.13,1.10,1.15,
-1.09,1.18,1.19,1.11,1.14,1.18,1.16,1.15,1.13,1.15,
-1.14,1.18,1.21,1.18,1.21,1.21,1.33,1.22,1.25,1.24,
-1.29,1.18,1.25,1.25,1.26,1.27,1.22,1.32,1.28,1.29,
-1.33,1.33,1.27,1.30,1.33,1.29,1.32,1.33,1.36,1.40,
-1.38,1.31,1.37,1.29,1.32,1.33,1.35,1.41,1.39,1.39,
-1.34,1.41,1.43,1.39,1.42,1.43,1.34,1.39,1.40,1.48,
-1.42,1.45,1.45,1.43,1.44,1.49,1.54,1.49,1.46,1.49,
-1.47,1.51,1.55,1.46,1.44,1.55,1.53,1.53,1.53,1.57,
-0.04,0.04,0.06,0.04,0.06,0.05,0.07,0.05,0.04,0.08,
-0.08,0.09,0.08,0.09,0.09,0.10,0.09,0.11,0.10,0.14,
-0.12,0.12,0.12,0.12,0.12,0.14,0.15,0.12,0.14,0.14,
-0.15,0.17,0.15,0.17,0.13,0.17,0.16,0.17,0.17,0.18,
-0.18,0.20,0.19,0.20,0.20,0.20,0.20,0.23,0.24,0.23,
-0.20,0.23,0.23,0.22,0.23,0.26,0.25,0.24,0.26,0.27,
-0.27,0.28,0.28,0.26,0.28,0.29,0.27,0.29,0.29,0.30,
-0.29,0.31,0.31,0.34,0.31,0.32,0.33,0.33,0.36,0.36,
-0.30,0.34,0.34,0.36,0.33,0.36,0.38,0.34,0.34,0.40,
-0.37,0.36,0.41,0.38,0.44,0.37,0.42,0.42,0.39,0.42,
-0.38,0.42,0.45,0.44,0.42,0.46,0.45,0.44,0.43,0.47,
-0.42,0.46,0.43,0.47,0.47,0.46,0.49,0.46,0.50,0.46,
-0.45,0.51,0.50,0.50,0.51,0.52,0.51,0.52,0.56,0.53,
-0.54,0.54,0.51,0.52,0.54,0.53,0.53,0.58,0.56,0.60,
-0.55,0.59,0.60,0.56,0.57,0.64,0.56,0.59,0.64,0.62,
-0.61,0.58,0.58,0.58,0.61,0.65,0.59,0.60,0.62,0.63,
-0.66,0.66,0.67,0.64,0.66,0.65,0.67,0.67,0.64,0.69,
-0.66,0.68,0.69,0.68,0.73,0.66,0.69,0.69,0.68,0.72,
-0.70,0.73,0.73,0.69,0.73,0.75,0.73,0.75,0.79,0.74,
-0.73,0.77,0.76,0.77,0.75,0.81,0.81,0.76,0.74,0.76,
-0.79,0.79,0.79,0.83,0.86,0.85,0.85,0.83,0.87,0.80,
-0.82,0.86,0.83,0.83,0.90,0.84,0.85,0.84,0.81,0.91,
-0.84,0.87,0.94,0.82,0.92,0.84,0.87,0.86,0.93,0.82,
-0.92,0.92,0.84,0.94,0.94,0.89,0.90,0.93,0.93,0.91,
-0.87,0.93,0.94,0.89,0.95,0.92,0.94,0.92,0.97,0.92,
-0.96,1.03,1.02,1.03,0.98,1.06,1.03,0.95,0.99,0.97,
-1.02,0.98,1.01,1.01,1.05,1.05,1.05,1.03,1.00,1.01,
-1.01,1.09,1.03,1.11,1.08,1.07,1.06,1.07,1.12,1.04,
-1.06,1.11,1.15,1.10,1.17,1.13,1.06,1.13,1.16,1.15,
-0.03,0.02,0.03,0.02,0.03,0.04,0.05,0.04,0.04,0.05,
-0.06,0.05,0.07,0.07,0.06,0.07,0.06,0.08,0.07,0.08,
-0.07,0.08,0.09,0.08,0.09,0.08,0.10,0.10,0.11,0.12,
-0.12,0.12,0.10,0.12,0.11,0.12,0.12,0.16,0.14,0.14,
-0.14,0.14,0.11,0.14,0.13,0.13,0.14,0.16,0.16,0.16,
-0.17,0.15,0.17,0.17,0.18,0.17,0.19,0.20,0.18,0.21,
-0.18,0.22,0.22,0.21,0.20,0.20,0.22,0.21,0.23,0.21,
-0.24,0.21,0.22,0.21,0.22,0.24,0.23,0.24,0.26,0.25,
-0.28,0.25,0.24,0.27,0.26,0.31,0.23,0.25,0.27,0.27,
-0.28,0.28,0.27,0.28,0.27,0.30,0.28,0.27,0.33,0.28,
-0.30,0.31,0.31,0.30,0.32,0.33,0.32,0.30,0.31,0.32,
-0.30,0.29,0.34,0.33,0.36,0.36,0.33,0.35,0.33,0.35,
-0.39,0.38,0.38,0.35,0.38,0.37,0.39,0.37,0.37,0.40,
-0.37,0.42,0.38,0.41,0.39,0.39,0.39,0.44,0.42,0.38,
-0.41,0.43,0.45,0.45,0.42,0.44,0.43,0.45,0.46,0.49,
-0.45,0.46,0.43,0.49,0.44,0.45,0.47,0.43,0.45,0.49,
-0.47,0.48,0.51,0.44,0.47,0.46,0.46,0.50,0.50,0.53,
-0.48,0.49,0.54,0.49,0.48,0.48,0.51,0.52,0.52,0.55,
-0.48,0.54,0.55,0.53,0.51,0.52,0.55,0.54,0.57,0.57,
-0.53,0.53,0.54,0.55,0.61,0.55,0.57,0.53,0.57,0.58,
-0.60,0.56,0.59,0.61,0.58,0.58,0.59,0.59,0.64,0.57,
-0.63,0.64,0.63,0.63,0.62,0.61,0.69,0.61,0.62,0.63,
-0.62,0.62,0.64,0.64,0.62,0.63,0.66,0.62,0.69,0.65,
-0.64,0.69,0.66,0.69,0.63,0.64,0.67,0.68,0.70,0.65,
-0.72,0.70,0.65,0.71,0.70,0.72,0.72,0.72,0.73,0.69,
-0.72,0.68,0.69,0.78,0.72,0.73,0.73,0.72,0.73,0.73,
-0.76,0.73,0.77,0.76,0.73,0.73,0.73,0.76,0.74,0.78,
-0.81,0.81,0.74,0.80,0.78,0.78,0.85,0.81,0.82,0.75,
-0.74,0.85,0.78,0.80,0.87,0.81,0.82,0.79,0.82,0.81,
-0.01,0.02,0.03,0.03,0.02,0.03,0.03,0.04,0.04,0.03,
-0.04,0.04,0.04,0.06,0.06,0.04,0.06,0.05,0.06,0.05,
-0.06,0.07,0.07,0.07,0.07,0.07,0.08,0.08,0.06,0.08,
-0.09,0.08,0.08,0.08,0.09,0.08,0.10,0.09,0.10,0.08,
-0.10,0.11,0.10,0.10,0.12,0.09,0.11,0.11,0.11,0.10,
-0.11,0.11,0.13,0.13,0.12,0.12,0.13,0.13,0.15,0.12,
-0.13,0.13,0.17,0.15,0.15,0.16,0.16,0.16,0.16,0.17,
-0.15,0.15,0.15,0.17,0.19,0.16,0.17,0.16,0.16,0.18,
-0.19,0.17,0.18,0.18,0.18,0.20,0.19,0.17,0.19,0.21,
-0.18,0.20,0.19,0.22,0.21,0.20,0.23,0.23,0.21,0.22,
-0.22,0.23,0.21,0.24,0.25,0.23,0.24,0.23,0.23,0.23,
-0.25,0.23,0.21,0.22,0.25,0.28,0.27,0.22,0.28,0.24,
-0.23,0.24,0.24,0.26,0.26,0.27,0.29,0.29,0.27,0.28,
-0.27,0.28,0.29,0.28,0.29,0.31,0.31,0.31,0.31,0.30,
-0.33,0.30,0.32,0.31,0.28,0.32,0.32,0.32,0.34,0.33,
-0.31,0.33,0.33,0.33,0.37,0.33,0.33,0.35,0.35,0.34,
-0.35,0.35,0.38,0.36,0.34,0.34,0.32,0.35,0.34,0.36,
-0.34,0.32,0.38,0.39,0.36,0.37,0.40,0.35,0.37,0.41,
-0.38,0.39,0.36,0.41,0.42,0.40,0.39,0.42,0.41,0.42,
-0.37,0.42,0.41,0.42,0.44,0.43,0.41,0.41,0.41,0.43,
-0.41,0.42,0.42,0.45,0.39,0.43,0.43,0.44,0.45,0.43,
-0.45,0.48,0.45,0.43,0.44,0.48,0.44,0.48,0.45,0.49,
-0.45,0.46,0.50,0.50,0.46,0.48,0.51,0.48,0.50,0.50,
-0.46,0.47,0.47,0.46,0.50,0.47,0.47,0.46,0.45,0.52,
-0.52,0.51,0.49,0.47,0.51,0.50,0.51,0.54,0.52,0.53,
-0.49,0.51,0.50,0.51,0.57,0.51,0.55,0.54,0.57,0.56,
-0.52,0.55,0.53,0.55,0.52,0.52,0.57,0.58,0.55,0.57,
-0.54,0.57,0.59,0.60,0.58,0.56,0.56,0.62,0.56,0.55,
-0.58,0.61,0.59,0.62,0.59,0.58,0.57,0.60,0.60,0.60,
-0.01,0.01,0.01,0.02,0.02,0.03,0.03,0.03,0.03,0.04,
-0.04,0.04,0.03,0.02,0.03,0.04,0.03,0.04,0.05,0.04,
-0.04,0.05,0.04,0.05,0.04,0.05,0.07,0.05,0.06,0.05,
-0.07,0.07,0.06,0.07,0.07,0.07,0.07,0.06,0.07,0.09,
-0.06,0.07,0.09,0.07,0.08,0.09,0.09,0.09,0.08,0.08,
-0.09,0.09,0.09,0.10,0.10,0.09,0.08,0.11,0.10,0.10,
-0.10,0.11,0.11,0.09,0.13,0.10,0.10,0.11,0.09,0.13,
-0.12,0.10,0.11,0.13,0.12,0.13,0.10,0.11,0.13,0.13,
-0.14,0.15,0.13,0.14,0.14,0.15,0.15,0.13,0.15,0.15,
-0.14,0.17,0.15,0.13,0.16,0.14,0.15,0.14,0.16,0.16,
-0.15,0.15,0.17,0.16,0.15,0.18,0.17,0.17,0.16,0.15,
-0.19,0.16,0.20,0.19,0.19,0.19,0.18,0.20,0.21,0.18,
-0.19,0.21,0.19,0.21,0.18,0.20,0.18,0.21,0.18,0.21,
-0.22,0.21,0.21,0.23,0.20,0.20,0.24,0.22,0.22,0.23,
-0.18,0.18,0.21,0.22,0.21,0.23,0.22,0.25,0.23,0.23,
-0.26,0.27,0.24,0.24,0.23,0.26,0.25,0.25,0.29,0.22,
-0.26,0.26,0.26,0.24,0.26,0.23,0.24,0.25,0.27,0.26,
-0.24,0.25,0.28,0.28,0.24,0.28,0.27,0.27,0.29,0.26,
-0.26,0.29,0.28,0.27,0.30,0.29,0.30,0.31,0.29,0.29,
-0.28,0.28,0.30,0.32,0.32,0.33,0.31,0.29,0.32,0.30,
-0.28,0.30,0.34,0.35,0.28,0.32,0.30,0.33,0.32,0.32,
-0.34,0.33,0.36,0.32,0.30,0.34,0.35,0.33,0.36,0.30,
-0.32,0.35,0.34,0.37,0.36,0.33,0.33,0.33,0.36,0.34,
-0.34,0.37,0.34,0.38,0.38,0.35,0.38,0.38,0.37,0.39,
-0.32,0.36,0.37,0.36,0.36,0.35,0.39,0.35,0.36,0.37,
-0.41,0.37,0.37,0.38,0.36,0.39,0.39,0.40,0.42,0.42,
-0.41,0.41,0.42,0.39,0.41,0.41,0.36,0.41,0.41,0.41,
-0.43,0.42,0.39,0.41,0.44,0.39,0.44,0.42,0.41,0.42,
-0.45,0.45,0.44,0.41,0.42,0.47,0.44,0.44,0.45,0.46,
-1.37,1.51,1.64,1.73,1.99,2.05,2.18,2.30,2.47,2.55,
-2.71,2.79,3.08,3.14,3.38,3.43,3.54,3.71,3.85,3.92,
-4.12,4.19,4.36,4.49,4.57,4.81,4.92,4.98,5.22,5.33,
-5.42,5.58,5.63,5.84,5.89,6.03,6.15,6.35,6.50,6.59,
-6.72,6.88,6.94,7.13,7.22,7.48,7.44,7.70,7.77,8.01,
-8.06,8.35,8.36,8.53,8.60,8.86,8.73,9.02,9.15,9.18,
-9.54,9.40,9.63,9.86,10.13,9.97,10.37,10.43,10.59,10.66,
-10.64,10.79,11.13,11.11,11.33,11.51,11.49,11.74,11.86,11.98,
-12.10,12.04,12.52,12.70,12.51,12.75,12.93,12.95,13.13,13.27,
-13.54,13.72,13.70,13.86,14.09,14.32,14.07,14.25,14.53,14.71,
-14.84,14.97,15.23,15.19,15.28,15.62,15.71,15.93,15.88,16.05,
-16.13,16.28,16.24,16.61,16.57,16.96,16.73,17.00,17.18,17.33,
-17.32,17.55,17.74,17.90,18.03,18.12,18.44,18.49,18.66,18.79,
-18.59,19.02,19.02,19.14,19.40,19.74,19.78,19.80,19.90,20.05,
-20.12,20.39,20.47,20.65,20.82,20.78,21.00,21.00,21.23,21.39,
-21.37,21.50,21.65,21.80,21.87,22.29,22.43,22.37,22.57,22.49,
-22.87,23.00,22.97,23.26,23.49,23.52,23.80,23.82,23.86,24.04,
-24.29,24.49,24.34,24.50,25.08,24.77,24.95,25.08,25.21,25.53,
-25.34,25.44,25.89,25.92,26.33,26.19,26.39,26.47,26.54,26.87,
-26.81,26.97,27.26,27.43,27.49,27.71,27.71,28.04,27.84,28.29,
-28.06,28.26,28.24,28.84,28.62,29.02,29.02,29.06,29.23,29.48,
-29.60,29.58,29.84,29.70,30.10,30.25,30.52,30.33,30.34,30.88,
-30.90,31.01,30.88,31.23,31.48,31.70,31.91,32.01,32.05,31.85,
-32.40,32.38,32.84,32.65,32.67,33.09,33.25,33.08,33.26,33.56,
-33.54,33.75,33.81,33.65,34.18,34.30,34.31,34.54,34.48,34.62,
-34.89,35.04,34.95,35.16,35.26,35.60,35.56,35.84,35.94,36.12,
-36.26,36.48,36.26,36.97,36.77,37.03,37.05,37.11,37.52,37.39,
-37.73,37.51,37.80,37.94,38.18,38.06,38.51,38.74,38.48,38.96,
-39.04,38.81,39.19,39.16,39.59,39.30,39.80,39.84,39.87,39.81,
-1.02,1.10,1.20,1.34,1.51,1.52,1.70,1.78,1.73,1.90,
-2.05,1.99,2.22,2.27,2.49,2.54,2.61,2.74,2.78,2.92,
-3.11,3.13,3.13,3.31,3.37,3.55,3.62,3.72,3.85,3.85,
-4.06,4.13,4.18,4.37,4.32,4.53,4.63,4.71,4.82,4.85,
-4.94,5.07,5.22,5.33,5.44,5.61,5.64,5.78,5.71,5.85,
-5.99,6.08,6.24,6.27,6.47,6.51,6.66,6.66,6.70,6.85,
-6.83,7.09,7.26,7.23,7.50,7.45,7.46,7.71,7.68,7.84,
-8.07,8.03,8.16,8.41,8.41,8.49,8.59,8.60,8.80,8.80,
-9.00,9.11,9.26,9.21,9.42,9.46,9.48,9.71,9.94,9.72,
-9.98,9.99,10.07,10.35,10.27,10.41,10.49,10.53,10.86,10.79,
-10.98,11.15,11.06,11.17,11.40,11.46,11.37,11.75,11.70,11.88,
-12.01,12.01,12.18,12.02,12.48,12.61,12.42,12.53,13.07,13.03,
-13.01,13.12,13.12,13.24,13.30,13.40,13.43,13.51,13.88,13.88,
-14.01,14.06,14.29,14.09,14.32,14.33,14.60,14.57,14.44,14.83,
-14.95,15.01,15.37,15.20,15.10,15.42,15.62,15.47,15.83,15.95,
-16.02,15.93,16.26,16.15,16.50,16.50,16.52,16.75,16.74,16.80,
-16.94,17.06,16.91,17.29,17.26,17.32,17.55,17.63,17.62,17.77,
-18.01,18.13,18.03,18.39,18.49,18.48,18.38,18.65,18.54,18.86,
-18.81,19.10,19.12,19.06,19.49,19.27,19.70,19.54,19.73,19.55,
-19.81,19.97,19.94,20.38,20.42,20.42,20.56,20.53,20.80,20.53,
-20.98,21.12,21.11,21.22,21.25,21.31,21.47,21.53,21.60,21.77,
-21.90,21.78,22.17,22.48,22.15,22.46,22.42,22.71,22.53,22.51,
-22.80,22.93,23.02,23.04,23.15,23.39,23.45,23.48,23.66,23.68,
-23.62,23.93,23.93,24.19,24.36,24.29,24.56,24.72,24.55,24.77,
-24.92,25.03,24.97,25.18,25.32,25.24,25.24,25.56,25.52,25.70,
-25.93,25.74,26.05,26.14,26.24,26.31,26.26,26.51,26.44,26.71,
-27.13,26.80,27.31,27.02,27.16,27.20,27.55,27.47,27.71,27.67,
-27.65,27.71,27.92,28.22,28.32,28.34,28.44,28.36,28.38,28.92,
-28.83,28.81,29.13,29.02,29.25,29.12,29.41,29.45,29.77,29.69,
-0.77,0.83,0.89,1.02,1.07,1.11,1.21,1.24,1.41,1.42,
-1.53,1.58,1.60,1.69,1.85,1.86,1.93,1.97,2.09,2.20,
-2.23,2.30,2.41,2.40,2.54,2.56,2.59,2.73,2.83,2.85,
-3.02,2.99,3.20,3.21,3.31,3.32,3.36,3.41,3.61,3.50,
-3.68,3.73,3.85,3.99,3.98,4.05,4.15,4.20,4.44,4.39,
-4.44,4.51,4.64,4.63,4.67,4.71,4.93,4.95,5.07,5.08,
-5.11,5.19,5.27,5.42,5.46,5.57,5.58,5.65,5.79,5.65,
-5.89,5.85,5.94,6.26,6.18,6.30,6.33,6.39,6.58,6.61,
-6.64,6.74,6.81,6.95,6.91,7.04,7.05,7.13,7.34,7.32,
-7.34,7.44,7.51,7.48,7.64,7.82,7.77,7.85,7.83,8.16,
-7.96,8.15,8.11,8.32,8.47,8.44,8.56,8.79,8.69,8.78,
-8.87,8.88,9.15,9.02,9.20,9.04,9.27,9.33,9.44,9.45,
-9.38,9.53,9.75,9.78,9.94,10.07,10.02,10.05,10.17,10.27,
-10.29,10.38,10.47,10.60,10.74,10.79,10.53,10.78,10.88,10.91,
-11.12,11.11,11.20,11.32,11.28,11.29,11.52,11.65,11.59,11.71,
-11.83,11.78,11.81,12.03,12.16,12.17,12.17,12.33,12.51,12.42,
-12.51,12.78,12.85,12.62,12.79,12.98,12.80,13.14,12.93,13.13,
-13.38,13.04,13.42,13.37,13.52,13.81,13.57,13.77,13.72,13.93,
-14.07,14.07,14.19,13.95,14.42,14.39,14.61,14.62,14.48,14.77,
-14.57,14.84,14.77,15.00,15.10,15.10,15.06,15.36,15.31,15.41,
-15.51,15.51,15.51,15.84,15.90,15.72,15.93,16.11,15.99,16.17,
-16.33,16.17,16.40,16.54,16.48,16.57,16.69,16.59,16.93,16.73,
-16.92,16.88,17.12,17.26,17.23,17.31,17.48,17.48,17.37,17.58,
-17.70,17.56,17.93,17.75,17.87,18.20,18.03,18.20,18.16,18.39,
-18.44,18.45,18.23,18.45,18.63,18.79,18.81,18.80,19.09,18.98,
-19.23,19.32,19.29,19.22,19.45,19.36,19.55,19.52,19.50,19.90,
-19.69,19.71,19.98,20.01,20.23,20.33,20.29,20.07,20.43,20.50,
-20.75,20.63,20.75,21.01,20.97,20.98,20.91,21.05,21.24,21.14,
-21.51,21.12,21.40,21.62,21.58,21.54,21.84,21.62,21.81,21.98,
-0.59,0.61,0.65,0.75,0.78,0.86,0.88,0.95,1.03,1.06,
-1.11,1.15,1.24,1.22,1.33,1.34,1.41,1.54,1.52,1.57,
-1.68,1.74,1.81,1.88,1.91,1.88,2.00,2.04,2.05,2.10,
-2.16,2.28,2.26,2.33,2.40,2.46,2.54,2.58,2.58,2.75,
-2.78,2.77,2.86,2.95,2.95,2.88,3.12,3.16,3.15,3.25,
-3.34,3.30,3.32,3.43,3.47,3.58,3.68,3.69,3.65,3.84,
-3.81,3.85,3.81,4.06,4.01,4.07,4.08,4.18,4.24,4.43,
-4.32,4.45,4.48,4.38,4.60,4.54,4.79,4.79,4.77,4.87,
-4.90,4.97,4.92,5.08,5.19,5.30,5.28,5.20,5.36,5.50,
-5.54,5.53,5.50,5.48,5.61,5.83,5.64,5.75,5.89,5.93,
-6.07,6.17,6.17,6.04,6.22,6.38,6.45,6.44,6.46,6.54,
-6.61,6.56,6.67,6.66,6.66,6.75,6.81,6.95,6.95,7.08,
-6.95,7.19,7.14,7.20,7.48,7.26,7.45,7.40,7.46,7.53,
-7.50,7.58,7.74,7.87,7.79,7.87,8.04,8.00,8.01,8.12,
-8.18,8.23,8.20,8.38,8.41,8.57,8.48,8.56,8.67,8.65,
-8.77,8.50,8.79,9.01,9.07,8.92,9.05,9.12,9.09,9.24,
-9.16,9.34,9.46,9.40,9.67,9.57,9.65,9.60,9.75,9.87,
-9.87,10.04,9.89,10.02,10.10,10.07,10.23,10.13,10.27,10.20,
-10.36,10.40,10.35,10.70,10.73,10.69,10.79,10.76,10.84,10.74,
-10.68,10.94,11.02,11.17,11.05,11.24,10.99,11.21,11.39,11.28,
-11.36,11.56,11.58,11.59,11.68,11.52,11.63,11.78,11.97,11.75,
-11.89,11.85,12.01,12.03,12.09,12.20,12.44,12.47,12.55,12.40,
-12.47,12.66,12.51,12.68,12.78,12.94,12.83,12.89,13.18,13.06,
-13.12,12.96,13.15,13.19,13.27,13.53,13.35,13.46,13.40,13.53,
-13.67,13.59,13.90,13.78,13.82,14.07,13.98,13.97,14.06,14.01,
-14.00,14.34,14.30,14.24,14.14,14.56,14.54,14.67,14.62,14.60,
-14.38,14.82,14.79,14.95,14.85,15.02,14.85,15.02,15.08,15.14,
-15.35,15.18,15.29,15.43,15.25,15.40,15.56,15.49,15.71,15.50,
-15.76,15.72,15.97,16.07,15.88,15.96,16.35,16.16,16.14,16.44,
-0.40,0.47,0.52,0.54,0.60,0.59,0.68,0.71,0.73,0.79,
-0.85,0.86,0.90,0.96,0.95,0.99,1.06,1.09,1.12,1.20,
-1.25,1.27,1.30,1.39,1.37,1.40,1.45,1.58,1.58,1.59,
-1.62,1.70,1.71,1.71,1.78,1.75,1.83,1.96,1.96,1.99,
-2.02,2.10,2.15,2.11,2.22,2.24,2.34,2.29,2.33,2.40,
-2.48,2.43,2.48,2.55,2.58,2.58,2.60,2.72,2.71,2.81,
-2.86,2.90,2.89,2.98,2.99,2.98,3.04,3.12,3.22,3.28,
-3.33,3.25,3.21,3.40,3.38,3.42,3.55,3.54,3.52,3.63,
-3.72,3.67,3.66,3.69,3.72,3.83,3.88,3.90,3.94,4.13,
-4.01,4.04,4.08,4.19,4.37,4.28,4.17,4.36,4.26,4.48,
-4.53,4.50,4.52,4.64,4.56,4.53,4.69,4.76,4.86,4.86,
-4.78,4.83,4.88,4.89,4.90,5.04,4.97,5.22,5.18,5.18,
-5.22,5.26,5.30,5.27,5.44,5.52,5.54,5.51,5.54,5.55,
-5.62,5.55,5.75,5.85,5.85,6.02,6.06,5.77,5.91,6.01,
-6.14,6.14,6.16,6.19,6.24,6.36,6.25,6.41,6.45,6.47,
-6.56,6.59,6.58,6.53,6.57,6.63,6.76,6.66,6.82,6.79,
-6.82,6.98,6.99,7.07,6.96,7.04,7.17,7.21,7.19,7.25,
-7.31,7.34,7.50,7.42,7.63,7.42,7.50,7.50,7.63,7.56,
-7.56,7.75,7.73,7.83,7.79,7.81,7.92,7.85,8.10,8.02,
-8.05,8.05,8.11,8.19,8.37,8.24,8.32,8.24,8.34,8.36,
-8.51,8.52,8.56,8.56,8.66,8.75,8.61,8.68,8.74,8.90,
-8.86,8.97,9.01,8.78,9.00,9.09,9.13,9.18,9.15,9.11,
-9.34,9.29,9.46,9.40,9.40,9.52,9.58,9.40,9.54,9.51,
-9.61,9.78,9.81,9.89,9.71,9.80,9.94,10.07,9.93,10.04,
-10.19,10.25,10.29,10.35,10.30,10.19,10.28,10.46,10.37,10.48,
-10.26,10.41,10.68,10.74,10.65,10.71,10.56,10.72,10.73,10.93,
-10.78,10.88,10.91,11.01,10.93,11.08,11.06,11.00,11.20,11.26,
-11.21,11.19,11.29,11.22,11.54,11.64,11.37,11.61,11.50,11.72,
-11.64,11.74,11.67,11.67,11.71,11.89,12.00,11.77,11.88,12.29,
-0.31,0.34,0.35,0.40,0.44,0.48,0.51,0.55,0.54,0.58,
-0.62,0.64,0.62,0.68,0.70,0.76,0.80,0.84,0.79,0.80,
-0.92,0.99,1.02,0.96,1.05,1.01,1.06,1.12,1.17,1.20,
-1.15,1.15,1.22,1.23,1.29,1.36,1.41,1.40,1.44,1.46,
-1.50,1.56,1.61,1.56,1.65,1.66,1.69,1.68,1.75,1.72,
-1.76,1.78,1.84,1.94,1.94,1.97,1.97,1.94,2.05,2.08,
-2.06,2.10,2.19,2.19,2.19,2.29,2.34,2.29,2.31,2.32,
-2.40,2.46,2.43,2.52,2.56,2.56,2.63,2.58,2.60,2.65,
-2.66,2.73,2.77,2.87,2.76,2.88,2.81,2.94,2.93,2.94,
-3.06,3.00,3.09,3.07,3.07,3.05,3.22,3.22,3.17,3.21,
-3.21,3.28,3.21,3.35,3.33,3.44,3.44,3.50,3.59,3.51,
-3.58,3.69,3.69,3.71,3.73,3.65,3.79,3.83,3.92,3.86,
-3.91,3.91,3.97,4.02,4.09,3.98,4.12,4.15,4.11,4.09,
-4.24,4.30,4.38,4.35,4.31,4.39,4.40,4.37,4.41,4.38,
-4.57,4.41,4.64,4.56,4.58,4.57,4.63,4.67,4.73,4.74,
-4.67,4.82,4.71,4.90,4.98,4.90,4.80,4.95,5.05,5.00,
-5.20,5.21,5.04,5.18,5.12,5.30,5.22,5.33,5.14,5.34,
-5.33,5.50,5.38,5.46,5.50,5.58,5.47,5.54,5.61,5.73,
-5.50,5.77,5.68,5.62,5.73,5.89,5.92,5.76,6.02,5.88,
-5.96,5.89,6.06,6.09,6.19,6.18,5.97,6.20,6.31,6.27,
-6.26,6.22,6.29,6.20,6.42,6.37,6.39,6.51,6.43,6.49,
-6.62,6.65,6.56,6.60,6.51,6.80,6.71,6.77,6.85,6.74,
-6.91,6.78,6.94,6.99,7.04,6.91,7.01,7.07,7.01,6.95,
-7.17,7.21,7.13,7.21,7.20,7.41,7.31,7.34,7.58,7.49,
-7.46,7.45,7.46,7.55,7.53,7.59,7.63,7.72,7.70,7.62,
-7.79,7.84,7.71,7.87,8.21,7.99,7.88,7.96,8.04,8.04,
-7.98,8.09,8.01,8.12,8.07,8.28,8.23,8.28,8.17,8.17,
-8.34,8.28,8.33,8.62,8.44,8.55,8.46,8.53,8.42,8.56,
-8.63,8.60,8.76,8.84,8.84,8.80,8.79,8.76,8.80,9.00,
-0.24,0.27,0.27,0.31,0.27,0.33,0.37,0.41,0.40,0.40,
-0.44,0.47,0.48,0.51,0.52,0.57,0.59,0.62,0.69,0.63,
-0.68,0.66,0.73,0.77,0.76,0.79,0.78,0.80,0.83,0.92,
-0.88,0.94,0.96,0.97,0.96,1.00,0.99,1.08,1.05,1.08,
-1.06,1.13,1.14,1.18,1.21,1.22,1.27,1.32,1.26,1.35,
-1.25,1.38,1.43,1.46,1.41,1.42,1.49,1.49,1.50,1.57,
-1.52,1.54,1.61,1.60,1.67,1.69,1.69,1.72,1.68,1.74,
-1.81,1.82,1.80,1.83,1.97,1.76,1.82,2.01,1.84,1.93,
-2.01,2.05,1.95,2.09,2.09,2.08,2.18,2.10,2.16,2.17,
-2.26,2.29,2.25,2.29,2.21,2.36,2.37,2.36,2.46,2.37,
-2.37,2.40,2.53,2.51,2.52,2.55,2.61,2.58,2.65,2.69,
-2.56,2.64,2.68,2.68,2.72,2.77,2.95,2.79,2.88,2.90,
-2.84,2.94,2.88,2.94,2.98,2.92,3.00,3.04,3.08,3.04,
-3.08,3.19,3.23,3.21,3.15,3.17,3.20,3.15,3.27,3.36,
-3.35,3.25,3.37,3.48,3.44,3.39,3.44,3.50,3.42,3.48,
-3.49,3.59,3.52,3.68,3.64,3.68,3.59,3.70,3.69,3.75,
-3.69,3.80,3.83,3.87,3.77,3.85,3.84,3.89,3.99,3.88,
-3.96,3.90,4.00,3.98,4.07,4.09,4.19,4.13,4.17,4.26,
-4.18,4.16,4.26,4.27,4.18,4.28,4.31,4.36,4.33,4.46,
-4.36,4.45,4.46,4.55,4.55,4.53,4.66,4.50,4.64,4.58,
-4.63,4.68,4.50,4.73,4.74,4.85,4.78,4.66,4.73,4.89,
-4.93,4.90,4.88,4.93,4.95,4.92,5.05,5.05,5.00,4.99,
-5.03,5.06,5.21,5.06,5.26,5.20,5.28,5.38,5.20,5.16,
-5.29,5.31,5.31,5.34,5.31,5.37,5.41,5.36,5.49,5.58,
-5.52,5.63,5.53,5.65,5.52,5.57,5.66,5.57,5.54,5.77,
-5.54,5.80,5.70,5.86,5.74,5.89,5.92,5.90,5.88,5.84,
-6.03,6.06,5.97,6.00,6.02,6.08,6.06,6.06,6.18,6.19,
-6.20,6.13,6.13,6.23,6.27,6.37,6.24,6.16,6.27,6.40,
-6.30,6.45,6.49,6.43,6.48,6.48,6.56,6.52,6.70,6.57,
-0.17,0.20,0.21,0.23,0.20,0.26,0.23,0.32,0.31,0.30,
-0.32,0.34,0.37,0.36,0.37,0.38,0.44,0.44,0.48,0.47,
-0.48,0.51,0.53,0.52,0.54,0.58,0.58,0.59,0.61,0.63,
-0.67,0.69,0.72,0.75,0.69,0.73,0.73,0.84,0.79,0.84,
-0.87,0.82,0.88,0.86,0.91,0.83,0.89,0.96,0.97,1.00,
-0.97,0.98,1.02,1.03,1.10,1.05,1.04,1.13,1.12,1.18,
-1.19,1.16,1.17,1.23,1.23,1.23,1.28,1.27,1.28,1.27,
-1.29,1.38,1.37,1.33,1.29,1.45,1.44,1.36,1.42,1.50,
-1.46,1.50,1.52,1.55,1.55,1.58,1.56,1.61,1.59,1.55,
-1.64,1.68,1.61,1.65,1.73,1.69,1.73,1.67,1.80,1.74,
-1.89,1.83,1.81,1.85,1.84,1.84,1.96,1.89,1.90,1.90,
-1.96,1.96,1.91,1.94,2.00,2.00,2.12,2.09,2.08,2.07,
-2.08,2.15,2.16,2.22,2.22,2.14,2.26,2.25,2.26,2.21,
-2.23,2.24,2.35,2.23,2.34,2.44,2.40,2.34,2.37,2.50,
-2.39,2.53,2.52,2.41,2.44,2.45,2.48,2.52,2.55,2.60,
-2.67,2.71,2.64,2.70,2.65,2.75,2.72,2.64,2.78,2.80,
-2.72,2.76,2.76,2.79,2.84,2.83,2.95,2.94,2.96,2.94,
-2.97,2.88,3.02,2.89,3.02,3.04,3.07,3.04,3.03,2.99,
-3.15,3.07,3.15,3.22,3.15,3.24,3.16,3.22,3.26,3.21,
-3.27,3.14,3.29,3.25,3.32,3.37,3.23,3.38,3.43,3.52,
-3.42,3.51,3.50,3.50,3.54,3.55,3.62,3.49,3.51,3.62,
-3.56,3.58,3.58,3.63,3.63,3.78,3.69,3.69,3.68,3.72,
-3.69,3.77,3.73,3.71,3.80,3.89,3.98,3.83,3.91,3.88,
-3.88,3.85,4.02,3.95,4.08,3.82,3.87,4.13,4.09,4.05,
-4.12,4.11,4.06,4.18,4.19,4.17,4.17,4.16,4.29,4.24,
-4.30,4.20,4.20,4.26,4.22,4.39,4.37,4.31,4.45,4.44,
-4.37,4.37,4.52,4.49,4.44,4.52,4.52,4.49,4.64,4.49,
-4.54,4.69,4.55,4.76,4.70,4.60,4.64,4.75,4.84,4.66,
-4.83,4.80,4.77,4.78,4.84,4.67,4.87,4.83,4.95,4.87,
-0.12,0.14,0.14,0.14,0.16,0.21,0.20,0.22,0.22,0.21,
-0.25,0.26,0.29,0.26,0.27,0.32,0.33,0.32,0.33,0.35,
-0.39,0.40,0.41,0.39,0.40,0.43,0.46,0.46,0.47,0.44,
-0.48,0.51,0.54,0.53,0.51,0.54,0.58,0.56,0.60,0.60,
-0.58,0.62,0.68,0.68,0.66,0.68,0.68,0.70,0.69,0.74,
-0.72,0.73,0.73,0.72,0.77,0.79,0.79,0.85,0.85,0.83,
-0.78,0.85,0.86,0.92,0.88,0.86,0.94,0.94,0.91,0.94,
-0.95,0.98,1.02,1.01,0.97,1.04,1.07,1.00,1.09,1.06,
-1.10,1.09,1.11,1.13,1.16,1.14,1.16,1.12,1.23,1.20,
-1.25,1.29,1.28,1.21,1.24,1.27,1.27,1.27,1.33,1.28,
-1.32,1.38,1.42,1.36,1.39,1.40,1.43,1.47,1.46,1.42,
-1.47,1.44,1.53,1.48,1.48,1.49,1.58,1.54,1.60,1.57,
-1.53,1.59,1.65,1.68,1.64,1.60,1.56,1.58,1.69,1.67,
-1.69,1.65,1.65,1.69,1.73,1.77,1.83,1.67,1.83,1.74,
-1.80,1.86,1.81,1.86,1.78,1.85,1.87,1.88,1.94,1.90,
-1.93,1.87,1.91,2.00,1.98,2.03,1.91,2.08,1.95,2.09,
-2.09,2.08,2.10,2.19,2.11,2.11,2.02,2.18,2.14,2.20,
-2.08,2.23,2.15,2.22,2.29,2.34,2.22,2.26,2.30,2.21,
-2.35,2.37,2.36,2.37,2.35,2.45,2.32,2.46,2.39,2.44,
-2.45,2.50,2.46,2.48,2.58,2.46,2.52,2.50,2.49,2.52,
-2.55,2.53,2.58,2.55,2.59,2.59,2.68,2.62,2.65,2.66,
-2.72,2.64,2.69,2.76,2.75,2.64,2.72,2.71,2.74,2.71,
-2.69,2.83,2.78,2.76,2.81,2.83,2.89,2.82,2.82,2.89,
-2.80,2.76,2.93,2.94,2.99,3.03,2.97,2.92,3.03,3.07,
-3.04,2.96,3.05,3.15,3.07,3.07,2.98,3.15,3.05,3.16,
-3.19,3.15,3.20,3.19,3.15,3.07,3.33,3.22,3.20,3.26,
-3.24,3.27,3.38,3.23,3.33,3.34,3.42,3.39,3.34,3.35,
-3.32,3.37,3.37,3.45,3.43,3.45,3.39,3.45,3.48,3.44,
-3.47,3.44,3.44,3.50,3.64,3.71,3.65,3.56,3.49,3.62,
-0.09,0.10,0.12,0.07,0.13,0.15,0.14,0.16,0.15,0.19,
-0.19,0.17,0.19,0.23,0.21,0.23,0.25,0.26,0.28,0.25,
-0.26,0.28,0.28,0.31,0.31,0.32,0.31,0.34,0.35,0.38,
-0.37,0.38,0.37,0.41,0.40,0.45,0.44,0.41,0.46,0.43,
-0.45,0.44,0.47,0.51,0.52,0.51,0.47,0.49,0.49,0.50,
-0.52,0.54,0.56,0.51,0.58,0.57,0.59,0.59,0.62,0.66,
-0.65,0.65,0.65,0.66,0.67,0.69,0.71,0.66,0.68,0.69,
-0.72,0.72,0.74,0.74,0.75,0.77,0.79,0.79,0.79,0.78,
-0.84,0.78,0.84,0.84,0.84,0.81,0.89,0.83,0.95,0.85,
-0.85,0.91,0.95,0.93,0.87,0.95,0.94,0.95,0.96,0.95,
-0.95,0.99,1.00,1.03,1.07,1.03,1.05,1.07,1.10,1.09,
-1.08,1.07,1.08,1.08,1.13,1.13,1.10,1.14,1.18,1.20,
-1.25,1.16,1.19,1.25,1.26,1.19,1.19,1.24,1.17,1.25,
-1.29,1.20,1.22,1.30,1.30,1.32,1.38,1.18,1.31,1.38,
-1.35,1.33,1.37,1.40,1.40,1.42,1.32,1.39,1.48,1.38,
-1.42,1.42,1.42,1.43,1.50,1.55,1.48,1.45,1.47,1.51,
-1.54,1.52,1.55,1.54,1.53,1.58,1.60,1.61,1.60,1.66,
-1.59,1.55,1.62,1.65,1.64,1.65,1.68,1.64,1.72,1.68,
-1.67,1.75,1.66,1.65,1.75,1.79,1.77,1.69,1.71,1.73,
-1.75,1.86,1.83,1.83,1.88,1.83,1.85,1.85,1.90,1.82,
-1.93,1.86,1.94,1.86,1.99,1.98,1.96,1.87,2.04,1.95,
-1.98,1.92,2.05,1.99,1.98,1.99,2.03,2.02,2.10,1.96,
-2.00,1.98,2.08,2.14,2.08,2.05,2.07,2.08,2.10,2.14,
-2.17,2.11,2.15,2.21,2.25,2.12,2.20,2.15,2.18,2.21,
-2.19,2.26,2.23,2.24,2.25,2.29,2.23,2.31,2.29,2.28,
-2.28,2.35,2.32,2.34,2.29,2.39,2.39,2.37,2.35,2.49,
-2.36,2.41,2.40,2.32,2.46,2.39,2.51,2.46,2.43,2.56,
-2.49,2.52,2.49,2.61,2.52,2.54,2.59,2.55,2.58,2.61,
-2.58,2.52,2.64,2.57,2.65,2.69,2.56,2.61,2.65,2.68,
-0.06,0.07,0.10,0.09,0.10,0.10,0.11,0.10,0.12,0.14,
-0.14,0.14,0.14,0.17,0.16,0.18,0.16,0.18,0.19,0.23,
-0.21,0.20,0.20,0.22,0.21,0.25,0.21,0.26,0.25,0.26,
-0.24,0.27,0.27,0.31,0.28,0.28,0.31,0.33,0.32,0.32,
-0.33,0.35,0.34,0.34,0.39,0.34,0.37,0.34,0.38,0.38,
-0.35,0.41,0.45,0.44,0.42,0.43,0.48,0.47,0.48,0.46,
-0.47,0.48,0.50,0.46,0.50,0.47,0.49,0.50,0.51,0.54,
-0.58,0.52,0.54,0.55,0.58,0.57,0.59,0.60,0.59,0.59,
-0.57,0.61,0.62,0.62,0.62,0.58,0.65,0.63,0.66,0.67,
-0.64,0.64,0.71,0.69,0.71,0.73,0.73,0.68,0.72,0.73,
-0.79,0.76,0.73,0.77,0.74,0.71,0.75,0.77,0.82,0.78,
-0.84,0.83,0.76,0.81,0.78,0.86,0.84,0.81,0.86,0.82,
-0.81,0.89,0.91,0.83,0.86,0.91,0.87,0.93,0.90,0.91,
-0.94,0.92,0.91,0.94,0.92,0.93,0.91,0.97,1.02,1.02,
-0.99,0.98,1.03,1.00,1.02,0.98,1.03,1.03,1.04,1.07,
-1.06,1.10,1.08,1.06,1.16,1.12,1.14,1.08,1.15,1.15,
-1.10,1.08,1.15,1.15,1.09,1.12,1.15,1.15,1.17,1.17,
-1.17,1.19,1.21,1.23,1.25,1.23,1.22,1.18,1.27,1.30,
-1.19,1.26,1.26,1.28,1.25,1.27,1.31,1.25,1.33,1.28,
-1.31,1.34,1.39,1.36,1.42,1.39,1.41,1.35,1.36,1.40,
-1.36,1.32,1.39,1.40,1.42,1.44,1.46,1.39,1.47,1.43,
-1.41,1.44,1.48,1.53,1.50,1.52,1.52,1.47,1.49,1.47,
-1.51,1.55,1.47,1.48,1.55,1.58,1.55,1.61,1.57,1.53,
-1.58,1.62,1.60,1.60,1.61,1.65,1.66,1.70,1.65,1.69,
-1.59,1.65,1.61,1.60,1.76,1.68,1.75,1.74,1.75,1.74,
-1.68,1.71,1.70,1.81,1.67,1.80,1.81,1.82,1.80,1.83,
-1.79,1.78,1.76,1.83,1.84,1.79,1.80,1.78,1.91,1.77,
-1.83,1.83,1.88,1.90,1.83,1.87,1.87,1.87,1.90,1.81,
-1.97,1.93,1.90,1.91,1.96,1.97,1.91,1.97,2.02,1.99,
-0.04,0.07,0.07,0.06,0.08,0.08,0.07,0.07,0.10,0.11,
-0.10,0.10,0.11,0.12,0.13,0.12,0.12,0.16,0.16,0.14,
-0.15,0.14,0.17,0.18,0.16,0.17,0.19,0.16,0.19,0.21,
-0.20,0.20,0.21,0.21,0.21,0.23,0.23,0.23,0.23,0.25,
-0.27,0.25,0.26,0.29,0.24,0.26,0.25,0.27,0.28,0.32,
-0.28,0.30,0.33,0.28,0.30,0.32,0.30,0.31,0.34,0.37,
-0.36,0.37,0.33,0.39,0.37,0.36,0.36,0.38,0.34,0.38,
-0.39,0.40,0.43,0.44,0.41,0.39,0.44,0.43,0.44,0.45,
-0.43,0.46,0.45,0.44,0.48,0.49,0.47,0.42,0.50,0.47,
-0.47,0.46,0.51,0.45,0.53,0.50,0.50,0.52,0.50,0.54,
-0.56,0.51,0.53,0.53,0.58,0.55,0.60,0.58,0.54,0.57,
-0.56,0.58,0.58,0.57,0.57,0.64,0.63,0.62,0.59,0.64,
-0.63,0.64,0.63,0.66,0.65,0.64,0.67,0.63,0.68,0.69,
-0.75,0.68,0.71,0.70,0.68,0.69,0.69,0.71,0.78,0.71,
-0.72,0.70,0.72,0.74,0.76,0.79,0.72,0.75,0.81,0.81,
-0.78,0.80,0.73,0.82,0.81,0.77,0.81,0.85,0.82,0.78,
-0.82,0.83,0.81,0.82,0.86,0.84,0.83,0.86,0.80,0.90,
-0.87,0.92,0.86,0.93,0.92,0.91,0.89,0.89,0.85,0.88,
-0.98,0.94,0.94,0.93,0.94,0.94,0.92,0.99,0.99,1.00,
-0.96,0.94,0.96,1.03,1.01,1.06,1.02,1.02,0.99,1.05,
-1.05,1.04,0.99,1.06,1.00,1.04,1.01,1.10,1.09,1.12,
-1.08,1.14,1.10,1.05,1.06,1.05,1.11,1.12,1.07,1.18,
-1.09,1.14,1.11,1.12,1.11,1.21,1.20,1.13,1.15,1.15,
-1.16,1.17,1.22,1.27,1.17,1.20,1.14,1.20,1.20,1.21,
-1.26,1.29,1.19,1.23,1.26,1.20,1.22,1.27,1.28,1.22,
-1.30,1.24,1.28,1.21,1.28,1.30,1.32,1.30,1.28,1.34,
-1.37,1.30,1.30,1.32,1.31,1.36,1.35,1.28,1.39,1.39,
-1.31,1.42,1.39,1.40,1.33,1.43,1.34,1.41,1.44,1.38,
-1.35,1.48,1.46,1.42,1.42,1.47,1.39,1.42,1.50,1.41,
-0.03,0.05,0.05,0.06,0.05,0.06,0.06,0.07,0.06,0.07,
-0.07,0.09,0.09,0.08,0.07,0.09,0.10,0.10,0.10,0.11,
-0.09,0.11,0.12,0.13,0.12,0.13,0.14,0.13,0.15,0.14,
-0.14,0.16,0.15,0.17,0.16,0.15,0.17,0.16,0.16,0.19,
-0.19,0.22,0.21,0.16,0.19,0.20,0.20,0.23,0.19,0.22,
-0.21,0.22,0.22,0.23,0.24,0.23,0.25,0.23,0.24,0.23,
-0.24,0.27,0.27,0.27,0.28,0.28,0.31,0.28,0.28,0.28,
-0.29,0.31,0.26,0.32,0.34,0.29,0.34,0.31,0.29,0.30,
-0.29,0.33,0.31,0.32,0.29,0.35,0.33,0.36,0.36,0.37,
-0.36,0.38,0.39,0.36,0.38,0.38,0.39,0.42,0.40,0.37,
-0.38,0.44,0.40,0.39,0.42,0.41,0.42,0.43,0.44,0.43,
-0.41,0.44,0.44,0.47,0.46,0.46,0.46,0.49,0.47,0.42,
-0.44,0.48,0.50,0.49,0.53,0.48,0.49,0.51,0.50,0.48,
-0.53,0.52,0.54,0.49,0.53,0.53,0.52,0.53,0.52,0.57,
-0.54,0.51,0.52,0.56,0.54,0.57,0.56,0.56,0.59,0.57,
-0.59,0.57,0.55,0.58,0.61,0.62,0.63,0.60,0.64,0.64,
-0.64,0.65,0.61,0.64,0.63,0.63,0.68,0.64,0.58,0.66,
-0.66,0.66,0.64,0.71,0.66,0.68,0.68,0.68,0.71,0.66,
-0.66,0.66,0.71,0.72,0.71,0.68,0.74,0.64,0.74,0.70,
-0.72,0.71,0.73,0.74,0.75,0.71,0.75,0.76,0.72,0.75,
-0.77,0.78,0.76,0.71,0.79,0.77,0.78,0.79,0.79,0.79,
-0.80,0.78,0.82,0.81,0.78,0.78,0.81,0.83,0.82,0.79,
-0.81,0.77,0.86,0.88,0.90,0.90,0.88,0.82,0.85,0.85,
-0.86,0.98,0.87,0.90,0.91,0.89,0.88,0.89,0.86,0.89,
-0.92,0.91,0.93,0.91,0.87,0.90,0.97,0.94,0.97,0.90,
-0.98,0.92,0.98,0.95,0.96,0.98,0.95,0.92,0.97,1.01,
-0.95,1.01,0.97,1.01,0.95,1.02,0.99,0.97,1.06,0.98,
-1.01,0.99,1.03,1.07,1.02,1.05,0.99,1.03,1.05,1.03,
-1.06,1.12,1.08,1.05,1.04,1.02,1.04,1.12,1.10,1.14,
-0.03,0.03,0.03,0.04,0.04,0.04,0.05,0.04,0.05,0.04,
-0.06,0.05,0.07,0.06,0.07,0.06,0.06,0.07,0.07,0.08,
-0.08,0.10,0.08,0.09,0.09,0.11,0.10,0.10,0.11,0.12,
-0.10,0.11,0.10,0.14,0.10,0.11,0.11,0.13,0.12,0.14,
-0.13,0.14,0.14,0.15,0.16,0.14,0.15,0.17,0.16,0.16,
-0.16,0.15,0.15,0.18,0.18,0.19,0.18,0.17,0.19,0.17,
-0.19,0.17,0.18,0.22,0.18,0.22,0.22,0.22,0.20,0.21,
-0.22,0.20,0.20,0.23,0.20,0.22,0.26,0.23,0.23,0.25,
-0.30,0.25,0.25,0.24,0.25,0.22,0.26,0.26,0.29,0.26,
-0.25,0.26,0.23,0.26,0.30,0.26,0.28,0.28,0.28,0.28,
-0.27,0.27,0.28,0.32,0.33,0.33,0.35,0.29,0.32,0.35,
-0.32,0.33,0.33,0.37,0.31,0.34,0.34,0.33,0.34,0.34,
-0.35,0.31,0.37,0.34,0.36,0.40,0.38,0.39,0.37,0.38,
-0.39,0.40,0.37,0.38,0.36,0.36,0.38,0.37,0.39,0.39,
-0.39,0.42,0.40,0.40,0.40,0.39,0.42,0.42,0.44,0.42,
-0.45,0.47,0.41,0.42,0.46,0.41,0.43,0.46,0.47,0.41,
-0.44,0.47,0.49,0.41,0.49,0.45,0.48,0.52,0.49,0.47,
-0.46,0.53,0.49,0.48,0.50,0.49,0.52,0.52,0.51,0.52,
-0.48,0.51,0.50,0.52,0.51,0.54,0.50,0.53,0.49,0.49,
-0.53,0.54,0.54,0.55,0.55,0.58,0.55,0.55,0.55,0.53,
-0.54,0.54,0.54,0.59,0.55,0.61,0.60,0.52,0.59,0.58,
-0.62,0.58,0.67,0.54,0.60,0.59,0.61,0.57,0.63,0.61,
-0.61,0.61,0.64,0.62,0.64,0.62,0.65,0.68,0.62,0.64,
-0.67,0.64,0.73,0.66,0.67,0.66,0.70,0.65,0.70,0.65,
-0.70,0.66,0.70,0.67,0.69,0.69,0.71,0.66,0.70,0.70,
-0.64,0.69,0.69,0.72,0.70,0.73,0.74,0.70,0.70,0.71,
-0.71,0.71,0.73,0.75,0.73,0.72,0.70,0.74,0.75,0.71,
-0.75,0.76,0.75,0.76,0.72,0.70,0.77,0.76,0.76,0.81,
-0.82,0.78,0.73,0.76,0.83,0.76,0.79,0.77,0.79,0.79,
-0.02,0.02,0.02,0.02,0.04,0.03,0.03,0.04,0.04,0.04,
-0.04,0.04,0.05,0.03,0.04,0.06,0.04,0.07,0.06,0.06,
-0.06,0.05,0.07,0.07,0.06,0.06,0.07,0.07,0.09,0.08,
-0.09,0.09,0.07,0.08,0.07,0.08,0.09,0.09,0.10,0.10,
-0.09,0.08,0.09,0.12,0.11,0.10,0.12,0.10,0.10,0.12,
-0.12,0.13,0.11,0.15,0.10,0.11,0.14,0.14,0.13,0.14,
-0.15,0.14,0.15,0.15,0.17,0.14,0.14,0.13,0.13,0.18,
-0.16,0.17,0.18,0.18,0.16,0.16,0.20,0.17,0.18,0.17,
-0.17,0.18,0.18,0.17,0.19,0.18,0.19,0.18,0.20,0.21,
-0.21,0.20,0.21,0.17,0.20,0.22,0.21,0.18,0.20,0.24,
-0.19,0.20,0.20,0.20,0.26,0.23,0.24,0.21,0.24,0.23,
-0.23,0.24,0.25,0.23,0.24,0.24,0.23,0.27,0.25,0.26,
-0.24,0.25,0.29,0.23,0.28,0.25,0.24,0.27,0.24,0.26,
-0.25,0.24,0.30,0.28,0.27,0.27,0.32,0.30,0.27,0.28,
-0.31,0.31,0.29,0.28,0.30,0.32,0.33,0.32,0.33,0.31,
-0.29,0.32,0.28,0.31,0.32,0.34,0.36,0.33,0.34,0.37,
-0.34,0.37,0.33,0.33,0.32,0.33,0.36,0.38,0.32,0.37,
-0.37,0.35,0.36,0.35,0.36,0.36,0.39,0.37,0.36,0.36,
-0.40,0.40,0.40,0.39,0.38,0.36,0.37,0.39,0.42,0.40,
-0.39,0.41,0.41,0.42,0.45,0.41,0.38,0.40,0.39,0.44,
-0.41,0.39,0.40,0.40,0.42,0.45,0.44,0.47,0.41,0.45,
-0.44,0.44,0.43,0.42,0.44,0.46,0.44,0.45,0.47,0.42,
-0.45,0.48,0.42,0.44,0.50,0.47,0.50,0.47,0.51,0.48,
-0.48,0.46,0.47,0.46,0.47,0.47,0.46,0.49,0.50,0.47,
-0.51,0.47,0.52,0.50,0.53,0.48,0.52,0.54,0.49,0.50,
-0.55,0.53,0.48,0.48,0.52,0.51,0.55,0.55,0.53,0.53,
-0.56,0.49,0.54,0.50,0.56,0.58,0.56,0.54,0.52,0.58,
-0.54,0.57,0.57,0.56,0.53,0.57,0.59,0.56,0.59,0.57,
-0.57,0.53,0.56,0.57,0.57,0.58,0.61,0.55,0.57,0.55,
-1.55,1.67,1.79,2.02,2.21,2.31,2.39,2.66,2.73,2.84,
-3.00,3.25,3.31,3.51,3.66,3.86,3.86,4.13,4.31,4.35,
-4.55,4.70,4.86,4.98,5.13,5.28,5.45,5.69,5.78,5.82,
-6.13,6.17,6.28,6.45,6.54,6.91,6.93,7.01,7.17,7.30,
-7.50,7.52,7.88,7.91,8.09,8.08,8.33,8.61,8.70,8.97,
-9.07,9.20,9.12,9.41,9.51,9.76,9.77,9.94,10.15,10.35,
-10.38,10.62,10.81,11.11,11.24,11.29,11.32,11.48,11.74,11.67,
-11.85,12.11,12.29,12.30,12.77,12.76,13.03,12.98,13.20,13.39,
-13.38,13.45,13.95,13.90,14.19,14.17,14.28,14.62,14.74,14.94,
-14.94,15.19,15.36,15.46,15.61,15.68,15.86,15.96,16.07,16.60,
-16.51,16.70,16.58,16.80,16.94,17.14,17.65,17.66,17.57,17.73,
-18.07,18.20,18.31,18.46,18.45,18.91,19.11,19.20,19.27,19.47,
-19.52,19.56,19.99,19.86,20.04,20.06,20.44,20.54,20.70,20.77,
-20.98,20.96,21.16,21.27,21.74,21.82,21.79,22.00,22.04,22.13,
-22.23,22.51,22.86,22.84,22.97,23.21,23.42,23.57,23.64,23.65,
-23.75,23.84,24.32,24.47,24.46,24.71,24.66,25.19,25.48,25.13,
-25.43,25.40,25.96,25.97,25.90,26.13,26.34,26.36,26.90,26.79,
-26.86,26.77,27.12,27.64,27.60,27.64,27.79,27.94,28.03,28.24,
-28.47,28.49,28.71,28.77,29.02,28.94,29.21,29.51,29.36,29.54,
-29.54,29.95,29.76,30.12,30.28,30.77,30.66,31.09,31.09,31.46,
-31.38,31.40,31.56,31.70,32.05,32.36,32.14,32.56,32.63,32.77,
-32.94,33.18,33.08,33.33,33.32,33.57,33.71,33.84,34.18,34.36,
-34.21,34.48,34.68,34.68,34.84,35.18,35.33,35.08,35.48,35.62,
-35.85,35.99,36.15,36.19,36.56,36.55,36.76,36.74,36.96,37.17,
-37.31,37.34,37.89,37.74,37.90,38.23,38.17,38.37,38.92,38.58,
-39.00,38.34,39.35,38.96,39.48,39.47,39.63,39.76,39.85,40.03,
-40.49,40.31,40.72,40.58,40.74,41.03,41.20,41.36,41.52,41.88,
-41.67,41.87,41.74,42.23,42.21,42.52,42.44,42.83,42.78,43.08,
-43.28,43.11,43.38,43.78,43.63,43.69,44.54,44.37,44.33,44.74,
-1.16,1.25,1.36,1.45,1.64,1.73,1.80,1.90,2.08,2.11,
-2.19,2.44,2.54,2.56,2.70,2.78,3.03,3.06,3.18,3.25,
-3.37,3.44,3.70,3.65,3.81,3.97,4.07,4.14,4.33,4.34,
-4.54,4.70,4.75,4.86,5.03,5.08,5.13,5.27,5.42,5.45,
-5.60,5.75,5.97,5.96,6.08,6.11,6.33,6.45,6.59,6.52,
-6.70,6.91,6.92,7.19,7.22,7.25,7.51,7.55,7.58,7.78,
-7.87,8.06,7.97,8.25,8.18,8.42,8.63,8.56,8.72,8.99,
-8.90,9.25,9.31,9.38,9.36,9.46,9.51,9.87,9.73,9.95,
-10.13,10.20,10.43,10.41,10.69,10.63,10.67,10.84,10.95,11.19,
-11.23,11.41,11.39,11.45,11.63,11.82,12.07,12.01,12.06,12.38,
-12.36,12.31,12.49,12.52,12.75,12.86,12.96,13.15,13.41,13.30,
-13.51,13.49,13.57,13.82,13.95,13.81,14.09,13.80,14.16,14.54,
-14.49,14.70,14.80,14.92,15.02,15.25,15.23,15.29,15.46,15.55,
-15.78,15.80,15.71,15.78,16.28,16.30,16.44,16.47,16.62,16.99,
-16.54,16.81,16.92,17.21,17.29,17.27,17.36,17.56,17.61,17.78,
-17.87,17.99,18.07,18.37,18.11,18.47,18.61,18.55,18.83,18.81,
-19.00,19.23,19.11,19.48,19.54,19.60,19.63,19.73,19.82,20.07,
-20.14,20.41,20.32,20.37,20.71,20.76,20.68,21.00,21.25,21.14,
-21.01,21.52,21.56,21.57,21.70,21.92,21.95,21.95,22.03,22.14,
-22.40,22.25,22.62,22.75,23.07,23.33,22.87,23.12,23.35,23.59,
-23.33,23.62,23.80,23.64,23.99,24.02,24.28,24.04,24.58,24.47,
-24.76,25.02,24.71,25.10,25.20,25.00,25.34,25.61,25.51,25.75,
-25.95,25.85,25.80,25.95,26.34,26.22,26.62,26.75,26.55,26.81,
-26.83,27.16,27.20,27.36,27.41,27.27,27.45,27.85,27.74,28.06,
-27.97,28.05,28.41,28.18,28.60,28.38,28.68,28.65,29.05,28.89,
-29.12,28.95,29.07,29.55,29.38,29.67,29.65,29.93,29.83,30.12,
-30.11,30.28,30.69,30.42,30.91,30.69,31.11,30.89,31.30,31.20,
-31.32,31.55,31.63,31.78,31.73,32.02,32.08,32.51,32.50,32.35,
-32.52,32.63,32.81,32.83,32.90,32.85,33.07,33.20,33.22,33.59,
-0.88,0.97,1.03,1.14,1.13,1.28,1.38,1.47,1.54,1.62,
-1.74,1.77,1.91,1.93,2.02,2.12,2.18,2.32,2.42,2.50,
-2.53,2.59,2.70,2.79,2.91,3.01,3.12,3.10,3.27,3.25,
-3.35,3.53,3.56,3.59,3.79,3.82,3.88,3.95,4.07,4.13,
-4.21,4.32,4.50,4.44,4.57,4.66,4.78,4.77,4.93,5.09,
-5.09,5.13,5.30,5.39,5.41,5.47,5.59,5.64,5.59,5.85,
-5.76,5.96,6.06,6.21,6.21,6.09,6.41,6.62,6.60,6.55,
-6.78,6.74,7.04,6.93,6.91,7.13,7.27,7.34,7.42,7.53,
-7.65,7.61,7.77,7.84,7.84,8.01,8.08,8.07,8.28,8.36,
-8.42,8.47,8.55,8.66,8.74,8.68,9.01,9.19,9.02,9.25,
-9.14,9.28,9.52,9.44,9.88,9.76,9.91,9.74,9.90,9.89,
-10.17,10.09,10.24,10.38,10.49,10.46,10.62,10.58,10.61,10.95,
-11.10,11.18,11.16,11.26,11.43,11.25,11.60,11.51,11.65,11.72,
-11.70,11.97,11.98,12.08,12.03,12.23,12.27,12.31,12.38,12.49,
-12.68,12.67,12.73,12.69,12.97,13.05,13.27,13.16,13.53,13.59,
-13.40,13.42,13.63,13.64,13.58,13.86,13.91,13.89,14.44,14.09,
-14.52,14.40,14.41,14.34,14.43,14.66,14.84,14.96,14.99,14.99,
-15.19,15.07,15.23,15.09,15.28,15.53,15.64,15.84,15.82,15.67,
-15.81,15.99,16.29,16.17,16.51,16.50,16.39,16.67,16.65,16.83,
-17.05,16.91,17.02,17.18,16.93,17.39,17.32,17.32,17.33,17.53,
-17.46,17.83,17.55,18.04,18.08,17.93,18.03,18.20,18.27,18.31,
-18.31,18.49,18.65,18.58,18.86,18.90,19.09,18.99,19.26,19.24,
-19.57,19.44,19.37,19.28,19.80,19.58,19.70,19.84,20.12,20.14,
-20.03,20.12,20.18,20.16,20.38,20.72,20.81,20.68,20.99,20.93,
-21.02,21.13,21.22,21.15,21.30,21.42,21.50,21.51,21.63,21.69,
-21.84,21.83,21.87,22.20,21.86,22.09,22.35,22.53,22.54,22.39,
-22.57,22.71,22.92,22.92,23.07,23.04,23.12,23.24,23.41,23.37,
-23.60,23.59,23.62,23.94,23.99,23.79,23.73,24.15,24.14,24.48,
-24.62,24.73,24.46,24.52,24.72,24.86,24.93,25.07,24.67,25.28,
-0.66,0.75,0.80,0.86,0.91,0.97,1.05,1.08,1.08,1.21,
-1.30,1.35,1.39,1.42,1.58,1.64,1.71,1.68,1.76,1.83,
-1.90,1.99,2.04,2.16,2.17,2.26,2.30,2.31,2.44,2.47,
-2.52,2.65,2.66,2.77,2.71,2.83,2.96,2.95,3.08,3.06,
-3.16,3.22,3.29,3.31,3.35,3.54,3.54,3.56,3.73,3.68,
-3.86,3.93,3.91,4.01,3.98,4.06,4.18,4.12,4.27,4.47,
-4.30,4.43,4.49,4.54,4.78,4.77,4.73,4.92,4.93,5.15,
-5.15,5.09,5.25,5.25,5.22,5.38,5.49,5.49,5.59,5.57,
-5.73,5.78,5.78,5.82,5.91,5.96,5.99,6.11,6.25,6.23,
-6.27,6.34,6.48,6.48,6.62,6.76,6.61,6.76,6.76,6.79,
-6.94,6.89,7.01,7.09,7.09,7.32,7.48,7.50,7.44,7.55,
-7.48,7.74,7.71,7.72,7.61,7.88,7.93,7.89,8.05,8.04,
-8.15,8.27,8.11,8.43,8.47,8.50,8.58,8.68,8.81,8.79,
-8.81,8.95,9.01,8.99,8.99,9.15,9.10,9.20,9.30,9.70,
-9.50,9.49,9.47,9.65,9.69,9.80,9.71,9.85,9.83,10.01,
-10.01,10.06,10.15,10.19,10.23,10.35,10.51,10.45,10.63,10.63,
-10.58,10.93,10.69,10.88,11.11,11.08,11.09,11.26,11.21,11.51,
-11.24,11.41,11.40,11.49,11.50,11.50,11.67,11.98,11.63,11.87,
-11.99,12.03,12.22,12.19,12.34,12.13,12.47,12.31,12.50,12.69,
-12.62,12.71,12.83,12.88,12.86,12.92,13.06,13.01,13.17,13.09,
-13.11,13.30,13.40,13.74,13.40,13.62,13.74,13.72,13.63,13.77,
-13.83,13.89,13.76,14.08,14.07,14.03,14.29,14.18,14.40,14.45,
-14.45,14.39,14.59,14.89,14.62,14.89,14.72,14.97,15.15,15.23,
-15.16,15.15,15.40,15.26,15.57,15.42,15.57,15.52,15.67,15.47,
-15.73,15.98,15.91,15.89,15.74,16.27,16.18,16.24,16.11,16.27,
-16.40,16.40,16.50,16.70,16.43,16.84,16.64,16.89,17.10,17.13,
-17.09,17.17,17.15,17.24,17.29,17.05,17.51,17.41,17.42,17.65,
-17.64,17.40,17.83,17.82,17.79,18.14,17.86,18.08,18.36,18.18,
-18.34,18.39,18.55,18.39,18.68,18.74,18.73,18.72,19.19,18.78,
-0.49,0.54,0.59,0.65,0.72,0.79,0.72,0.80,0.85,0.90,
-0.94,1.01,1.01,1.07,1.15,1.23,1.21,1.22,1.39,1.42,
-1.44,1.54,1.55,1.60,1.62,1.68,1.68,1.74,1.82,1.81,
-1.88,1.96,2.00,2.03,2.17,2.10,2.17,2.22,2.36,2.38,
-2.33,2.44,2.52,2.65,2.60,2.53,2.70,2.75,2.77,2.85,
-2.86,2.85,2.92,3.06,3.02,3.17,3.11,3.17,3.18,3.30,
-3.33,3.38,3.48,3.47,3.49,3.53,3.57,3.65,3.54,3.61,
-3.86,3.81,3.88,3.79,3.95,4.03,4.02,4.11,4.12,4.20,
-4.25,4.22,4.36,4.38,4.41,4.47,4.52,4.67,4.72,4.67,
-4.75,4.76,4.84,4.88,5.01,5.07,5.10,5.05,5.21,5.17,
-5.10,5.23,5.35,5.28,5.51,5.38,5.49,5.58,5.65,5.64,
-5.71,5.65,5.77,5.87,5.93,5.91,5.95,6.08,6.06,6.29,
-6.21,6.22,6.25,6.30,6.46,6.24,6.50,6.46,6.46,6.59,
-6.69,6.65,6.47,6.72,6.85,6.76,6.96,6.98,7.02,7.11,
-7.02,7.12,7.21,7.19,7.23,7.33,7.32,7.34,7.49,7.57,
-7.66,7.68,7.76,7.68,7.73,7.83,7.86,7.89,7.91,7.95,
-7.88,8.18,8.00,8.28,8.26,8.29,8.24,8.36,8.58,8.37,
-8.43,8.56,8.45,8.66,8.76,8.64,8.89,8.90,8.75,8.82,
-9.04,8.93,9.12,9.09,9.18,9.23,9.41,9.31,9.48,9.50,
-9.52,9.53,9.56,9.61,9.51,9.84,9.69,9.92,9.79,9.97,
-9.83,9.92,9.81,10.07,10.03,10.22,10.33,10.12,10.30,10.47,
-10.52,10.44,10.38,10.51,10.46,10.66,10.48,10.80,10.65,10.82,
-11.03,11.11,10.78,10.98,11.21,11.02,11.22,11.20,11.23,11.27,
-11.26,11.33,11.51,11.30,11.62,11.62,11.69,11.75,11.58,11.58,
-11.94,11.84,11.83,11.98,11.98,12.16,12.10,12.09,12.27,12.21,
-12.39,12.28,12.46,12.51,12.20,12.47,12.52,12.59,12.69,12.68,
-12.91,12.68,12.94,12.80,12.93,12.99,13.04,13.11,13.12,13.10,
-13.40,13.20,13.40,13.39,13.54,13.35,13.53,13.51,13.41,13.65,
-13.46,13.77,13.63,14.00,13.86,13.91,14.12,13.93,13.97,14.11,
-0.37,0.39,0.44,0.45,0.49,0.57,0.60,0.59,0.66,0.72,
-0.77,0.74,0.84,0.79,0.89,0.88,0.91,0.92,0.98,1.06,
-1.09,1.11,1.15,1.21,1.21,1.22,1.27,1.31,1.33,1.41,
-1.42,1.52,1.46,1.52,1.53,1.61,1.72,1.62,1.67,1.76,
-1.80,1.83,1.84,1.85,1.89,1.90,1.96,2.02,2.17,2.07,
-2.12,2.15,2.19,2.25,2.34,2.27,2.35,2.38,2.46,2.46,
-2.49,2.52,2.56,2.62,2.65,2.68,2.71,2.84,2.77,2.73,
-2.85,2.90,2.80,2.89,3.01,3.05,3.05,3.17,3.11,3.19,
-3.24,3.28,3.26,3.33,3.28,3.33,3.44,3.42,3.48,3.52,
-3.60,3.54,3.59,3.69,3.69,3.58,3.58,3.74,3.77,3.81,
-3.88,3.91,3.97,3.90,4.07,4.07,4.04,4.10,4.11,4.22,
-4.24,4.29,4.37,4.31,4.46,4.49,4.49,4.54,4.51,4.59,
-4.67,4.62,4.59,4.86,4.72,4.79,4.77,4.83,4.93,4.89,
-4.97,4.90,5.27,5.10,5.00,5.28,5.19,5.18,5.33,5.29,
-5.36,5.32,5.33,5.48,5.44,5.49,5.47,5.55,5.54,5.63,
-5.53,5.79,5.73,5.77,5.71,5.90,5.90,5.84,5.88,6.09,
-5.94,5.98,6.09,5.99,6.07,6.15,6.15,6.16,6.32,6.27,
-6.23,6.50,6.28,6.46,6.65,6.56,6.71,6.64,6.71,6.75,
-6.77,6.72,6.87,6.83,6.82,6.95,6.96,6.96,7.10,7.20,
-7.16,7.05,7.07,7.16,7.32,7.33,7.27,7.41,7.35,7.49,
-7.29,7.51,7.45,7.66,7.55,7.48,7.59,7.62,7.70,7.81,
-7.71,7.75,7.87,7.93,7.82,7.99,8.01,7.91,8.16,8.10,
-8.12,8.28,8.18,8.27,8.20,8.26,8.40,8.36,8.38,8.60,
-8.55,8.63,8.64,8.61,8.56,8.77,8.62,8.79,8.92,8.71,
-8.82,9.04,8.94,9.04,8.94,9.01,9.16,9.15,9.21,9.16,
-9.30,9.27,9.36,9.27,9.28,9.38,9.33,9.53,9.40,9.52,
-9.64,9.42,9.75,9.69,9.79,9.72,9.81,9.63,10.03,9.95,
-9.89,9.89,9.96,10.04,10.17,10.12,10.11,10.10,10.16,10.22,
-10.26,10.33,10.35,10.23,10.56,10.44,10.44,10.78,10.57,10.65,
-0.27,0.29,0.34,0.35,0.42,0.43,0.42,0.48,0.48,0.51,
-0.53,0.57,0.54,0.63,0.64,0.67,0.71,0.71,0.76,0.81,
-0.78,0.86,0.87,0.78,1.01,0.96,0.97,0.99,1.00,1.05,
-1.08,1.07,1.15,1.12,1.20,1.22,1.21,1.35,1.30,1.30,
-1.30,1.35,1.34,1.44,1.41,1.48,1.52,1.56,1.53,1.58,
-1.67,1.68,1.73,1.70,1.68,1.79,1.73,1.81,1.83,1.81,
-1.88,1.80,1.87,1.88,1.99,1.96,2.01,2.02,2.13,2.20,
-2.15,2.18,2.20,2.21,2.28,2.20,2.33,2.37,2.28,2.40,
-2.42,2.42,2.51,2.45,2.56,2.49,2.67,2.55,2.60,2.67,
-2.59,2.74,2.74,2.77,2.73,2.81,2.83,2.79,2.79,2.84,
-2.89,2.87,3.00,2.97,3.06,3.12,3.15,3.19,3.02,3.14,
-3.18,3.15,3.19,3.29,3.37,3.32,3.34,3.35,3.44,3.41,
-3.47,3.53,3.53,3.58,3.60,3.56,3.64,3.52,3.61,3.68,
-3.68,3.71,3.76,3.79,3.90,3.89,3.87,3.93,3.86,3.91,
-3.94,4.09,4.07,4.05,4.03,4.14,4.16,4.12,4.17,4.25,
-4.33,4.25,4.32,4.25,4.30,4.40,4.40,4.45,4.51,4.38,
-4.54,4.65,4.61,4.68,4.56,4.77,4.64,4.68,4.76,4.80,
-4.76,4.81,4.97,4.85,4.98,4.89,5.00,5.05,4.88,4.93,
-4.99,4.97,5.20,5.10,5.06,5.12,5.16,5.28,5.15,5.36,
-5.31,5.40,5.36,5.46,5.35,5.54,5.54,5.43,5.46,5.55,
-5.66,5.59,5.52,5.62,5.87,5.66,5.76,5.77,5.68,5.67,
-5.93,5.77,5.81,5.97,5.99,5.94,5.96,5.94,6.15,6.06,
-6.24,6.21,6.27,6.18,6.18,6.29,6.42,6.13,6.09,6.31,
-6.35,6.38,6.44,6.42,6.60,6.42,6.62,6.65,6.80,6.71,
-6.52,6.73,6.72,6.54,6.73,6.77,6.71,6.99,6.79,6.90,
-6.90,6.89,7.01,6.97,6.93,7.18,6.96,7.04,7.13,7.05,
-7.10,7.15,7.30,7.25,7.12,7.35,7.53,7.29,7.34,7.49,
-7.55,7.30,7.45,7.47,7.38,7.60,7.64,7.66,7.72,7.73,
-7.89,7.67,7.80,7.90,7.82,7.91,7.75,7.80,7.81,7.92,
-0.22,0.21,0.25,0.26,0.26,0.33,0.32,0.34,0.36,0.39,
-0.42,0.45,0.42,0.49,0.48,0.53,0.53,0.55,0.57,0.57,
-0.62,0.64,0.67,0.69,0.67,0.70,0.73,0.71,0.76,0.81,
-0.81,0.82,0.83,0.86,0.80,0.85,0.86,0.93,0.94,1.04,
-1.05,1.02,1.03,1.05,1.10,1.07,1.16,1.21,1.20,1.10,
-1.27,1.20,1.20,1.25,1.31,1.30,1.37,1.36,1.36,1.41,
-1.35,1.43,1.45,1.44,1.43,1.56,1.44,1.53,1.54,1.59,
-1.60,1.56,1.64,1.69,1.69,1.70,1.67,1.69,1.78,1.84,
-1.91,1.91,1.85,1.92,1.87,1.97,1.95,1.96,1.90,1.89,
-1.99,2.01,2.08,1.99,2.07,2.04,2.05,2.10,2.23,2.11,
-2.19,2.27,2.26,2.34,2.33,2.29,2.34,2.37,2.30,2.37,
-2.32,2.41,2.42,2.45,2.51,2.50,2.50,2.54,2.52,2.58,
-2.56,2.56,2.67,2.58,2.76,2.71,2.83,2.75,2.78,2.74,
-2.88,2.82,2.85,2.88,2.79,2.96,2.90,2.88,2.93,3.03,
-2.98,3.00,2.96,3.06,3.03,3.05,3.14,3.03,3.11,3.17,
-3.17,3.25,3.30,3.26,3.31,3.35,3.33,3.29,3.38,3.33,
-3.42,3.32,3.41,3.42,3.50,3.47,3.51,3.44,3.52,3.44,
-3.54,3.65,3.54,3.69,3.71,3.73,3.74,3.71,3.74,3.76,
-3.76,3.85,3.81,3.91,3.83,3.98,3.86,4.08,3.91,3.96,
-4.10,4.00,4.00,3.98,4.07,3.97,4.03,4.12,4.23,4.27,
-4.14,4.33,4.27,4.21,4.31,4.21,4.36,4.29,4.35,4.41,
-4.38,4.40,4.27,4.44,4.49,4.49,4.50,4.55,4.48,4.53,
-4.56,4.62,4.63,4.61,4.72,4.66,4.73,4.64,4.89,4.67,
-4.76,4.80,4.83,4.87,4.90,4.83,4.92,4.88,4.96,4.94,
-4.97,4.91,4.87,5.16,5.05,5.08,5.12,5.11,5.16,5.16,
-5.09,5.23,5.14,5.30,5.42,5.24,5.32,5.33,5.17,5.37,
-5.36,5.33,5.63,5.42,5.44,5.55,5.37,5.45,5.46,5.59,
-5.51,5.55,5.49,5.60,5.65,5.65,5.68,5.67,5.66,5.83,
-5.81,5.93,5.99,5.96,6.02,5.88,5.85,6.02,5.95,5.90,
-0.16,0.17,0.18,0.21,0.21,0.22,0.27,0.29,0.29,0.25,
-0.29,0.33,0.34,0.35,0.34,0.37,0.39,0.42,0.44,0.46,
-0.48,0.50,0.50,0.51,0.49,0.52,0.55,0.55,0.59,0.61,
-0.60,0.64,0.60,0.70,0.66,0.63,0.70,0.69,0.69,0.69,
-0.72,0.78,0.75,0.80,0.89,0.79,0.82,0.83,0.90,0.93,
-0.92,0.94,0.99,0.97,0.93,0.94,0.95,1.00,1.04,1.06,
-1.06,1.05,1.08,1.07,1.06,1.19,1.16,1.15,1.20,1.13,
-1.21,1.25,1.24,1.25,1.24,1.26,1.30,1.29,1.32,1.32,
-1.42,1.37,1.37,1.40,1.43,1.47,1.46,1.46,1.45,1.48,
-1.51,1.55,1.46,1.53,1.56,1.61,1.55,1.63,1.55,1.69,
-1.58,1.73,1.71,1.70,1.68,1.71,1.69,1.78,1.78,1.77,
-1.82,1.76,1.87,1.86,1.95,1.88,1.81,1.94,1.96,1.97,
-1.95,1.93,2.00,2.07,2.00,2.01,2.00,2.00,2.09,2.10,
-2.09,2.17,2.08,2.11,2.19,2.22,2.13,2.21,2.29,2.19,
-2.26,2.29,2.18,2.23,2.32,2.35,2.37,2.37,2.43,2.34,
-2.45,2.31,2.50,2.44,2.41,2.47,2.41,2.46,2.50,2.52,
-2.53,2.54,2.59,2.58,2.51,2.64,2.60,2.65,2.74,2.72,
-2.71,2.65,2.73,2.75,2.75,2.75,2.74,2.74,2.75,2.70,
-2.84,2.84,2.85,2.91,2.94,2.93,2.86,2.93,2.98,2.99,
-3.00,3.07,2.98,3.10,2.96,3.04,3.08,3.11,3.08,3.05,
-3.11,3.14,3.21,3.23,3.16,3.22,3.30,3.23,3.30,3.35,
-3.26,3.28,3.29,3.31,3.29,3.34,3.43,3.44,3.36,3.41,
-3.42,3.46,3.43,3.40,3.56,3.46,3.48,3.52,3.52,3.62,
-3.67,3.58,3.66,3.75,3.61,3.71,3.64,3.81,3.75,3.64,
-3.86,3.74,3.80,3.85,3.81,3.90,3.83,3.74,3.86,3.84,
-3.85,4.00,3.88,3.94,4.00,3.96,3.93,3.98,4.06,4.01,
-4.13,3.94,4.04,4.14,4.00,4.10,4.12,4.10,4.21,4.28,
-4.25,4.18,4.17,4.19,4.30,4.22,4.25,4.34,4.24,4.31,
-4.33,4.30,4.33,4.41,4.31,4.33,4.46,4.39,4.43,4.60,
-0.11,0.12,0.14,0.15,0.15,0.16,0.19,0.18,0.20,0.25,
-0.23,0.25,0.23,0.26,0.28,0.29,0.31,0.29,0.33,0.31,
-0.34,0.35,0.37,0.35,0.40,0.39,0.39,0.45,0.42,0.42,
-0.47,0.46,0.47,0.52,0.47,0.54,0.54,0.53,0.52,0.57,
-0.60,0.56,0.56,0.62,0.60,0.57,0.62,0.67,0.62,0.67,
-0.70,0.67,0.64,0.73,0.66,0.75,0.76,0.78,0.76,0.78,
-0.78,0.79,0.77,0.82,0.86,0.82,0.84,0.85,0.91,0.86,
-0.92,0.94,0.97,0.91,0.89,0.94,0.94,0.95,1.01,0.94,
-0.98,1.04,1.11,1.08,1.10,1.10,1.05,1.10,1.06,1.10,
-1.06,1.21,1.16,1.16,1.19,1.18,1.17,1.19,1.26,1.22,
-1.27,1.24,1.22,1.21,1.31,1.29,1.32,1.32,1.20,1.34,
-1.28,1.34,1.41,1.37,1.41,1.43,1.47,1.43,1.52,1.41,
-1.46,1.45,1.44,1.48,1.45,1.44,1.54,1.60,1.55,1.56,
-1.54,1.66,1.55,1.60,1.62,1.59,1.68,1.72,1.70,1.61,
-1.69,1.59,1.67,1.67,1.76,1.75,1.77,1.79,1.71,1.73,
-1.81,1.82,1.77,1.84,1.81,1.85,1.86,1.87,1.92,1.92,
-1.92,1.94,1.94,1.91,1.94,1.97,2.05,2.03,1.95,2.04,
-2.10,2.11,2.01,2.12,2.07,2.08,2.15,2.06,2.12,2.08,
-2.15,2.24,2.16,2.17,2.22,2.24,2.19,2.19,2.25,2.16,
-2.30,2.17,2.26,2.25,2.25,2.30,2.26,2.35,2.36,2.36,
-2.32,2.40,2.34,2.35,2.41,2.44,2.39,2.39,2.51,2.53,
-2.50,2.43,2.41,2.41,2.51,2.53,2.45,2.50,2.63,2.50,
-2.49,2.50,2.64,2.64,2.63,2.65,2.71,2.58,2.60,2.74,
-2.61,2.81,2.68,2.68,2.78,2.80,2.76,2.84,2.71,2.73,
-2.83,2.79,2.77,2.85,2.82,2.81,2.85,2.88,2.91,2.92,
-2.82,2.87,2.98,2.94,3.02,2.99,2.98,3.08,3.07,2.96,
-3.04,3.10,3.11,3.08,3.08,3.15,3.03,3.18,3.13,3.09,
-3.28,3.06,3.24,3.11,3.12,3.28,3.22,3.19,3.27,3.27,
-3.28,3.33,3.35,3.40,3.34,3.23,3.35,3.34,3.41,3.42,
-0.09,0.10,0.09,0.12,0.12,0.12,0.16,0.14,0.14,0.17,
-0.16,0.17,0.19,0.18,0.18,0.23,0.21,0.25,0.22,0.27,
-0.29,0.27,0.25,0.27,0.25,0.31,0.29,0.33,0.30,0.32,
-0.33,0.34,0.36,0.35,0.39,0.40,0.42,0.38,0.42,0.44,
-0.39,0.43,0.42,0.39,0.47,0.43,0.47,0.50,0.45,0.49,
-0.47,0.49,0.55,0.54,0.57,0.56,0.60,0.58,0.58,0.59,
-0.63,0.58,0.58,0.62,0.63,0.61,0.65,0.68,0.67,0.67,
-0.68,0.69,0.71,0.71,0.76,0.71,0.73,0.74,0.74,0.73,
-0.78,0.78,0.74,0.73,0.82,0.81,0.79,0.83,0.81,0.83,
-0.82,0.89,0.87,0.87,0.84,0.91,0.89,0.89,0.86,0.88,
-0.90,0.94,0.97,0.88,0.98,0.98,0.96,0.99,1.00,1.03,
-1.06,0.99,1.08,1.01,1.05,1.03,1.11,1.08,1.09,1.09,
-1.05,1.08,1.11,1.11,1.11,1.18,1.09,1.12,1.14,1.22,
-1.20,1.23,1.21,1.21,1.23,1.25,1.23,1.26,1.25,1.26,
-1.25,1.31,1.29,1.35,1.27,1.35,1.29,1.25,1.30,1.33,
-1.40,1.38,1.36,1.34,1.40,1.38,1.34,1.38,1.42,1.36,
-1.40,1.43,1.44,1.37,1.46,1.49,1.49,1.53,1.50,1.50,
-1.44,1.59,1.57,1.51,1.52,1.46,1.65,1.54,1.56,1.56,
-1.62,1.59,1.64,1.58,1.62,1.63,1.66,1.66,1.66,1.72,
-1.74,1.68,1.71,1.68,1.74,1.72,1.68,1.78,1.77,1.80,
-1.77,1.81,1.82,1.90,1.80,1.76,1.82,1.86,1.82,1.84,
-1.82,1.85,1.91,1.85,1.92,1.90,1.92,1.92,1.95,1.95,
-1.91,1.96,1.98,1.99,2.06,1.91,2.00,1.98,1.99,1.94,
-1.97,1.98,2.02,2.12,2.16,2.05,2.17,2.13,2.20,2.12,
-2.15,2.03,2.09,2.04,2.13,2.17,2.07,2.13,2.12,2.15,
-2.21,2.16,2.24,2.27,2.21,2.24,2.25,2.16,2.21,2.27,
-2.25,2.26,2.32,2.23,2.28,2.35,2.29,2.31,2.32,2.34,
-2.38,2.28,2.42,2.34,2.32,2.39,2.47,2.41,2.53,2.44,
-2.40,2.41,2.48,2.46,2.43,2.45,2.46,2.39,2.50,2.50,
-0.07,0.06,0.07,0.09,0.09,0.09,0.09,0.11,0.11,0.13,
-0.12,0.13,0.13,0.15,0.13,0.17,0.16,0.16,0.17,0.20,
-0.18,0.20,0.23,0.23,0.22,0.22,0.22,0.23,0.23,0.24,
-0.23,0.25,0.26,0.30,0.31,0.29,0.30,0.29,0.28,0.30,
-0.28,0.35,0.31,0.32,0.35,0.39,0.32,0.35,0.35,0.38,
-0.37,0.35,0.40,0.39,0.43,0.41,0.42,0.46,0.44,0.42,
-0.46,0.43,0.45,0.47,0.44,0.46,0.47,0.46,0.50,0.54,
-0.51,0.55,0.53,0.56,0.54,0.56,0.53,0.57,0.53,0.57,
-0.58,0.59,0.58,0.61,0.58,0.61,0.59,0.63,0.62,0.60,
-0.60,0.65,0.64,0.68,0.66,0.67,0.67,0.64,0.68,0.68,
-0.73,0.68,0.73,0.72,0.71,0.77,0.73,0.78,0.75,0.73,
-0.71,0.79,0.77,0.76,0.81,0.74,0.84,0.80,0.79,0.76,
-0.82,0.83,0.80,0.85,0.86,0.83,0.86,0.85,0.85,0.85,
-0.86,0.88,0.84,0.88,0.88,0.95,0.93,0.94,0.96,0.88,
-0.93,0.93,0.95,0.94,0.97,1.01,1.02,0.96,0.94,1.03,
-0.99,0.90,0.99,1.00,1.12,1.02,1.04,1.05,1.10,1.09,
-1.07,1.08,1.12,1.13,1.12,1.06,1.13,1.07,1.15,1.14,
-1.11,1.14,1.16,1.08,1.18,1.17,1.16,1.16,1.21,1.22,
-1.19,1.23,1.24,1.26,1.23,1.21,1.21,1.30,1.24,1.23,
-1.27,1.29,1.24,1.26,1.32,1.31,1.30,1.34,1.29,1.35,
-1.31,1.34,1.31,1.29,1.35,1.33,1.34,1.43,1.44,1.37,
-1.32,1.46,1.38,1.40,1.38,1.43,1.46,1.45,1.38,1.39,
-1.45,1.46,1.52,1.49,1.45,1.50,1.55,1.46,1.54,1.54,
-1.48,1.54,1.52,1.62,1.46,1.57,1.56,1.54,1.53,1.58,
-1.59,1.54,1.59,1.62,1.60,1.64,1.59,1.58,1.59,1.59,
-1.62,1.60,1.75,1.69,1.71,1.69,1.62,1.67,1.64,1.67,
-1.73,1.67,1.77,1.69,1.73,1.81,1.73,1.80,1.77,1.79,
-1.81,1.71,1.77,1.73,1.75,1.85,1.74,1.89,1.87,1.78,
-1.80,1.80,1.85,1.82,1.88,1.84,1.84,1.85,1.93,1.87,
-0.05,0.05,0.06,0.05,0.07,0.08,0.09,0.07,0.07,0.10,
-0.09,0.12,0.11,0.10,0.12,0.11,0.11,0.14,0.13,0.17,
-0.16,0.15,0.15,0.14,0.14,0.16,0.17,0.20,0.16,0.18,
-0.17,0.17,0.22,0.20,0.23,0.23,0.22,0.20,0.22,0.22,
-0.20,0.22,0.26,0.26,0.25,0.28,0.29,0.24,0.28,0.27,
-0.27,0.32,0.30,0.27,0.28,0.29,0.31,0.29,0.33,0.34,
-0.35,0.32,0.35,0.35,0.39,0.34,0.35,0.37,0.39,0.42,
-0.41,0.35,0.39,0.37,0.39,0.39,0.38,0.40,0.41,0.42,
-0.42,0.41,0.41,0.45,0.47,0.47,0.47,0.43,0.45,0.44,
-0.48,0.50,0.51,0.54,0.46,0.44,0.52,0.48,0.47,0.51,
-0.53,0.53,0.54,0.52,0.52,0.58,0.57,0.54,0.58,0.58,
-0.56,0.58,0.56,0.57,0.54,0.57,0.59,0.55,0.65,0.62,
-0.64,0.62,0.61,0.65,0.62,0.65,0.64,0.61,0.67,0.61,
-0.68,0.65,0.64,0.69,0.66,0.67,0.70,0.69,0.68,0.69,
-0.67,0.69,0.75,0.69,0.71,0.72,0.75,0.72,0.74,0.73,
-0.77,0.72,0.80,0.78,0.72,0.77,0.80,0.78,0.82,0.79,
-0.80,0.76,0.82,0.84,0.86,0.84,0.79,0.85,0.85,0.85,
-0.87,0.87,0.84,0.90,0.83,0.86,0.86,0.89,0.85,0.87,
-0.95,0.84,0.97,0.92,0.94,0.92,0.92,0.99,0.96,0.94,
-0.93,0.92,0.97,0.97,0.89,0.92,0.97,0.99,1.01,0.95,
-0.98,0.97,1.05,1.02,1.08,1.04,1.03,1.07,1.00,1.10,
-1.08,1.05,1.09,1.05,1.05,1.02,1.09,1.11,1.10,1.03,
-1.10,1.15,1.17,1.11,1.17,1.16,1.15,1.21,1.11,1.11,
-1.19,1.19,1.14,1.16,1.16,1.20,1.17,1.14,1.14,1.17,
-1.11,1.22,1.17,1.24,1.13,1.25,1.19,1.25,1.21,1.24,
-1.21,1.25,1.22,1.22,1.23,1.26,1.27,1.22,1.28,1.31,
-1.26,1.28,1.28,1.23,1.26,1.26,1.27,1.34,1.28,1.28,
-1.34,1.32,1.31,1.37,1.39,1.38,1.35,1.38,1.35,1.32,
-1.35,1.40,1.37,1.41,1.34,1.34,1.41,1.42,1.43,1.47,
-0.03,0.04,0.05,0.05,0.05,0.06,0.08,0.06,0.06,0.07,
-0.07,0.08,0.09,0.09,0.07,0.10,0.09,0.10,0.10,0.09,
-0.12,0.12,0.13,0.12,0.11,0.11,0.12,0.14,0.13,0.15,
-0.14,0.15,0.14,0.14,0.15,0.14,0.18,0.18,0.15,0.18,
-0.18,0.17,0.15,0.19,0.19,0.21,0.20,0.21,0.24,0.21,
-0.22,0.22,0.20,0.22,0.22,0.24,0.23,0.25,0.26,0.23,
-0.26,0.24,0.24,0.26,0.25,0.27,0.26,0.28,0.26,0.26,
-0.29,0.28,0.31,0.27,0.29,0.29,0.32,0.30,0.29,0.33,
-0.31,0.33,0.28,0.34,0.32,0.37,0.34,0.36,0.37,0.36,
-0.36,0.33,0.38,0.37,0.37,0.36,0.39,0.38,0.38,0.39,
-0.40,0.38,0.39,0.38,0.38,0.36,0.41,0.43,0.42,0.40,
-0.44,0.41,0.43,0.42,0.46,0.42,0.39,0.43,0.45,0.44,
-0.45,0.45,0.51,0.47,0.51,0.52,0.45,0.46,0.48,0.47,
-0.50,0.51,0.49,0.53,0.49,0.53,0.53,0.50,0.55,0.52,
-0.50,0.52,0.54,0.54,0.56,0.56,0.54,0.54,0.54,0.55,
-0.57,0.58,0.59,0.57,0.57,0.59,0.62,0.61,0.62,0.61,
-0.61,0.59,0.59,0.62,0.65,0.65,0.61,0.64,0.61,0.61,
-0.61,0.61,0.67,0.64,0.66,0.64,0.67,0.65,0.66,0.70,
-0.71,0.66,0.68,0.68,0.65,0.69,0.73,0.70,0.71,0.70,
-0.70,0.69,0.72,0.71,0.71,0.76,0.72,0.73,0.73,0.76,
-0.66,0.76,0.76,0.81,0.75,0.76,0.77,0.75,0.84,0.77,
-0.78,0.80,0.80,0.74,0.82,0.80,0.84,0.79,0.83,0.79,
-0.83,0.79,0.79,0.83,0.79,0.86,0.82,0.91,0.83,0.81,
-0.81,0.85,0.84,0.86,0.84,0.84,0.89,0.91,0.88,0.92,
-0.92,0.92,0.86,0.88,0.95,0.92,0.91,0.91,0.94,0.96,
-0.92,0.94,0.95,0.99,0.93,0.98,0.93,0.93,0.94,1.00,
-0.97,0.95,0.96,0.94,0.96,1.02,0.93,0.93,1.01,0.91,
-0.99,1.00,0.95,1.02,0.96,1.05,1.01,1.03,1.01,1.07,
-1.02,1.02,1.06,1.06,1.01,1.06,1.01,1.09,1.02,1.10,
-0.03,0.03,0.03,0.03,0.04,0.05,0.05,0.06,0.05,0.06,
-0.05,0.04,0.07,0.06,0.07,0.06,0.06,0.07,0.07,0.07,
-0.07,0.07,0.08,0.08,0.10,0.11,0.10,0.10,0.09,0.10,
-0.10,0.12,0.13,0.11,0.12,0.11,0.12,0.13,0.13,0.13,
-0.12,0.13,0.15,0.15,0.14,0.15,0.15,0.14,0.17,0.16,
-0.14,0.17,0.17,0.16,0.20,0.17,0.19,0.17,0.18,0.18,
-0.16,0.19,0.18,0.19,0.20,0.18,0.22,0.20,0.21,0.23,
-0.20,0.23,0.21,0.21,0.22,0.21,0.23,0.24,0.26,0.23,
-0.23,0.25,0.23,0.25,0.24,0.25,0.27,0.26,0.26,0.26,
-0.24,0.26,0.27,0.25,0.28,0.31,0.28,0.30,0.28,0.29,
-0.31,0.30,0.27,0.28,0.28,0.31,0.33,0.36,0.33,0.33,
-0.31,0.33,0.31,0.32,0.31,0.33,0.32,0.37,0.31,0.32,
-0.37,0.36,0.36,0.35,0.38,0.39,0.36,0.34,0.36,0.34,
-0.35,0.36,0.37,0.38,0.37,0.37,0.39,0.42,0.40,0.40,
-0.42,0.39,0.39,0.39,0.43,0.43,0.41,0.41,0.42,0.44,
-0.44,0.41,0.41,0.47,0.43,0.45,0.41,0.42,0.47,0.42,
-0.51,0.48,0.43,0.48,0.44,0.47,0.47,0.46,0.49,0.49,
-0.43,0.51,0.51,0.48,0.51,0.52,0.51,0.50,0.50,0.53,
-0.50,0.53,0.46,0.51,0.52,0.54,0.57,0.52,0.55,0.53,
-0.55,0.54,0.56,0.56,0.59,0.59,0.57,0.54,0.54,0.56,
-0.60,0.55,0.56,0.54,0.59,0.58,0.57,0.62,0.58,0.56,
-0.58,0.52,0.61,0.62,0.64,0.61,0.64,0.59,0.63,0.62,
-0.62,0.65,0.68,0.67,0.65,0.60,0.61,0.60,0.62,0.64,
-0.66,0.64,0.64,0.66,0.67,0.66,0.62,0.63,0.66,0.66,
-0.67,0.62,0.67,0.68,0.63,0.69,0.69,0.65,0.67,0.71,
-0.73,0.67,0.69,0.68,0.67,0.70,0.68,0.68,0.74,0.67,
-0.77,0.70,0.71,0.73,0.73,0.75,0.72,0.74,0.73,0.75,
-0.76,0.77,0.74,0.73,0.74,0.76,0.79,0.79,0.76,0.78,
-0.78,0.79,0.80,0.75,0.82,0.72,0.76,0.80,0.84,0.81,
-1.73,1.82,2.07,2.22,2.42,2.56,2.69,2.73,3.12,3.24,
-3.45,3.43,3.71,3.86,4.01,4.19,4.33,4.55,4.70,4.86,
-5.07,5.22,5.34,5.46,5.64,5.81,5.88,6.19,6.39,6.49,
-6.68,6.67,7.06,7.14,7.34,7.55,7.65,7.72,8.03,8.21,
-8.34,8.59,8.61,8.70,8.87,9.04,9.30,9.37,9.54,9.91,
-10.00,10.07,10.37,10.51,10.52,10.69,11.06,11.01,11.25,11.48,
-11.62,11.80,11.84,12.20,12.21,12.42,12.52,12.76,12.93,13.05,
-13.20,13.38,13.64,13.96,13.94,13.91,14.20,14.48,14.65,14.78,
-15.07,15.00,15.30,15.31,15.60,15.73,15.86,16.34,16.12,16.32,
-16.48,16.76,16.93,17.03,17.20,17.46,17.59,17.63,17.85,18.00,
-18.25,18.34,18.54,18.65,18.89,18.92,19.37,19.36,19.48,19.75,
-19.81,19.86,20.13,20.48,20.53,20.68,21.03,21.11,21.04,21.28,
-21.53,21.57,21.66,22.19,22.24,22.34,22.44,22.75,22.96,23.25,
-23.03,23.10,23.37,23.62,23.72,23.77,24.06,24.48,24.46,24.48,
-25.04,25.09,25.29,25.19,25.43,25.74,25.50,26.07,26.11,26.31,
-26.47,26.54,26.59,26.76,27.15,27.18,27.37,27.68,28.01,28.06,
-28.14,28.30,28.39,28.79,29.02,28.69,29.26,29.20,29.47,29.66,
-29.54,30.06,30.00,30.34,30.20,30.64,30.72,30.80,31.31,31.15,
-31.45,31.36,31.68,31.94,31.52,32.23,32.33,32.65,32.64,32.78,
-32.95,33.12,33.26,33.67,33.69,33.83,34.10,34.15,34.41,34.71,
-34.75,35.02,34.91,35.31,35.44,35.39,35.90,36.03,35.65,36.22,
-36.28,36.48,36.62,36.99,37.01,37.11,37.36,37.26,37.68,37.83,
-37.79,38.14,38.35,38.70,38.74,39.17,38.72,39.17,39.45,39.81,
-39.54,39.78,40.15,40.30,40.30,40.38,40.77,40.74,40.93,41.07,
-41.17,41.34,41.57,41.74,41.96,42.30,42.31,42.22,42.59,42.89,
-42.80,42.93,43.36,43.39,43.56,43.68,43.82,44.58,44.43,44.42,
-44.75,44.84,44.74,45.14,45.36,45.70,45.71,45.51,45.77,46.12,
-46.09,46.55,46.64,46.66,46.99,46.95,46.89,47.52,47.44,47.63,
-47.55,48.07,48.41,48.28,48.50,48.68,48.97,49.20,49.07,49.51,
-1.30,1.35,1.58,1.70,1.82,1.94,2.04,2.16,2.23,2.45,
-2.54,2.73,2.84,2.84,3.15,3.17,3.30,3.50,3.54,3.64,
-3.77,3.91,4.07,4.23,4.35,4.40,4.55,4.76,4.74,4.89,
-4.98,5.12,5.34,5.55,5.57,5.64,5.71,5.95,6.10,6.13,
-6.36,6.41,6.48,6.62,6.78,6.82,7.15,7.08,7.35,7.54,
-7.61,7.67,7.85,7.86,8.08,8.26,8.43,8.57,8.63,8.63,
-8.85,8.83,9.19,9.31,9.38,9.35,9.60,9.57,9.83,10.02,
-10.04,10.23,10.36,10.39,10.62,10.73,10.70,10.85,11.16,11.29,
-11.30,11.46,11.79,11.71,11.58,11.97,12.05,12.16,12.37,12.47,
-12.67,12.69,12.87,12.93,13.12,13.15,13.31,13.44,13.51,13.70,
-13.69,14.01,14.08,14.31,14.39,14.41,14.44,14.66,14.93,14.90,
-15.03,15.33,15.32,15.55,15.54,15.89,15.93,15.89,15.96,16.18,
-16.43,16.46,16.57,17.02,16.84,16.95,17.05,17.15,17.36,17.50,
-17.62,17.75,17.83,18.12,18.08,18.39,18.46,18.40,18.61,18.82,
-18.93,18.86,19.06,19.29,19.15,19.33,19.56,19.86,19.93,20.05,
-20.29,19.92,20.21,20.50,20.72,20.82,20.93,20.94,21.07,21.04,
-21.33,21.21,21.83,21.93,22.01,22.02,22.07,22.37,22.34,22.56,
-22.59,22.57,22.88,22.95,23.14,23.18,23.48,23.30,23.44,23.38,
-23.88,24.12,24.06,24.22,24.22,24.35,24.87,24.73,24.73,24.95,
-25.23,25.25,25.34,25.51,25.61,25.71,25.92,25.92,25.92,26.23,
-26.39,26.47,26.65,26.45,27.01,27.12,26.77,27.11,27.48,27.44,
-27.67,27.74,27.46,28.03,27.89,28.24,28.52,28.73,28.67,28.73,
-28.88,29.05,29.06,29.06,29.40,29.62,29.43,29.85,30.04,29.82,
-30.09,30.12,30.40,30.52,30.44,30.59,30.65,31.32,31.08,31.13,
-31.55,31.71,31.48,31.88,31.75,32.11,31.84,32.18,32.30,32.29,
-32.54,32.79,32.87,32.83,33.41,33.22,33.28,33.55,33.57,33.54,
-33.81,33.96,34.03,34.24,34.40,34.55,34.46,34.79,34.95,34.99,
-35.24,35.23,35.43,35.55,35.58,35.74,35.87,36.00,36.05,36.16,
-36.43,36.52,36.42,36.78,36.80,37.24,37.45,37.22,37.36,37.53,
-0.97,1.06,1.16,1.25,1.45,1.49,1.55,1.68,1.78,1.84,
-1.93,2.04,2.22,2.23,2.27,2.39,2.52,2.61,2.66,2.73,
-2.83,2.98,3.12,3.13,3.26,3.35,3.45,3.65,3.69,3.68,
-3.86,3.96,4.01,4.22,4.22,4.36,4.37,4.44,4.67,4.63,
-4.68,4.91,4.98,5.05,5.07,5.29,5.33,5.47,5.64,5.69,
-5.81,5.74,5.90,5.94,6.02,6.16,6.29,6.40,6.55,6.53,
-6.77,6.71,7.00,7.02,7.10,7.30,7.34,7.33,7.45,7.54,
-7.65,7.85,7.84,7.95,8.07,8.07,8.21,8.46,8.49,8.48,
-8.62,8.70,8.81,8.60,9.02,9.01,9.34,9.28,9.36,9.41,
-9.48,9.60,9.74,9.91,10.04,9.88,10.01,10.17,10.33,10.42,
-10.43,10.52,10.86,10.81,10.82,10.84,11.13,11.15,11.33,11.21,
-11.59,11.44,11.70,11.79,11.79,12.06,12.01,12.07,12.02,12.28,
-12.47,12.43,12.84,12.88,12.78,12.79,12.88,13.23,13.17,13.17,
-13.31,13.37,13.66,13.63,13.89,13.84,14.01,13.91,14.08,14.08,
-14.25,14.42,14.44,14.60,14.69,14.85,14.88,14.87,14.98,15.39,
-15.33,15.46,15.54,15.56,15.96,15.56,15.87,16.01,16.11,16.14,
-16.32,16.32,16.36,16.41,16.68,16.66,16.93,16.69,16.80,16.95,
-17.31,17.03,17.55,17.59,17.34,17.67,17.80,17.80,17.78,18.14,
-18.00,18.29,18.58,18.45,18.55,18.65,18.62,18.77,19.06,18.99,
-19.13,19.36,19.09,19.40,19.51,19.33,19.53,19.68,19.73,19.80,
-19.87,20.13,20.36,20.31,20.50,20.59,20.70,20.74,20.71,21.12,
-21.05,21.23,21.30,21.38,21.31,21.43,21.59,21.69,21.95,21.79,
-21.92,21.98,22.36,22.22,22.31,22.42,22.46,22.56,22.53,22.94,
-22.88,22.94,23.14,22.99,23.22,23.39,23.52,23.71,23.44,23.65,
-24.02,23.78,24.52,24.22,24.40,24.41,24.46,24.48,24.87,25.01,
-24.76,25.00,24.73,25.12,25.29,25.14,25.36,25.51,25.70,25.89,
-25.81,25.84,25.83,26.10,26.11,26.06,26.45,26.55,26.62,26.54,
-26.39,26.82,26.77,26.75,26.72,27.56,27.39,27.40,27.29,27.47,
-27.60,27.59,27.74,28.01,28.11,27.98,28.06,28.06,28.53,28.37,
-0.74,0.84,0.92,0.94,1.12,1.11,1.20,1.22,1.38,1.37,
-1.46,1.52,1.60,1.71,1.73,1.85,1.90,1.97,2.03,2.17,
-2.24,2.28,2.46,2.47,2.45,2.58,2.70,2.74,2.75,2.94,
-2.86,2.99,3.09,3.08,3.25,3.15,3.33,3.36,3.46,3.60,
-3.64,3.67,3.73,3.87,3.90,4.03,4.07,4.20,4.22,4.27,
-4.44,4.49,4.48,4.57,4.71,4.75,4.76,4.84,4.85,4.89,
-5.08,5.16,5.24,5.42,5.47,5.50,5.59,5.54,5.72,5.82,
-5.90,5.88,5.94,6.04,6.12,6.24,6.16,6.32,6.33,6.51,
-6.54,6.66,6.74,6.67,6.80,6.85,6.93,7.01,7.14,7.14,
-7.20,7.44,7.39,7.55,7.42,7.58,7.72,7.78,7.82,7.88,
-8.01,7.87,8.09,8.36,8.39,8.38,8.49,8.53,8.66,8.63,
-8.66,8.82,8.98,8.92,9.08,9.06,9.04,9.13,9.40,9.25,
-9.32,9.63,9.39,9.69,9.77,9.82,9.84,9.86,9.93,10.21,
-10.23,10.15,10.33,10.21,10.57,10.55,10.69,10.54,10.66,10.82,
-10.80,10.93,10.95,10.87,11.02,11.11,11.25,11.33,11.37,11.60,
-11.59,11.52,11.84,11.91,12.00,12.08,11.77,12.06,12.15,12.24,
-12.42,12.44,12.41,12.50,12.50,12.66,12.64,12.86,12.89,13.02,
-13.10,13.06,13.43,13.34,13.52,13.39,13.61,13.65,13.67,13.72,
-13.66,13.84,13.88,14.03,13.89,14.20,14.25,14.60,14.20,14.47,
-14.29,14.43,14.68,14.75,14.72,14.85,14.91,14.91,15.05,15.19,
-15.23,15.07,15.45,15.38,15.86,15.74,15.57,15.82,15.73,15.80,
-16.02,16.16,16.06,16.34,16.27,16.09,16.51,16.36,16.35,16.71,
-16.63,16.66,16.89,16.73,17.18,16.99,16.98,17.02,17.48,17.29,
-17.36,17.54,17.39,17.78,17.80,17.90,17.70,17.96,18.03,18.14,
-18.18,18.50,18.23,18.27,18.36,18.27,18.53,18.76,18.57,18.75,
-19.02,18.94,18.95,19.16,18.95,19.31,19.15,19.37,19.15,19.49,
-19.65,19.83,19.69,19.67,19.72,19.96,19.98,20.21,20.13,20.37,
-20.37,20.38,20.58,20.48,20.66,20.59,20.78,20.75,20.91,21.04,
-20.90,21.08,21.11,21.36,21.38,21.48,21.22,21.41,21.58,21.32,
-0.54,0.63,0.66,0.70,0.78,0.88,0.89,0.97,1.08,1.11,
-1.10,1.23,1.23,1.29,1.39,1.35,1.47,1.51,1.52,1.56,
-1.63,1.76,1.77,1.81,1.92,1.97,1.94,2.03,2.10,2.20,
-2.17,2.21,2.37,2.45,2.45,2.42,2.55,2.57,2.69,2.71,
-2.78,2.84,2.78,2.90,2.89,3.04,3.10,3.09,3.19,3.27,
-3.31,3.40,3.33,3.55,3.50,3.63,3.59,3.69,3.83,3.81,
-4.02,3.97,3.99,3.99,4.14,4.26,4.15,4.34,4.29,4.43,
-4.31,4.43,4.58,4.47,4.70,4.74,4.88,4.74,4.91,4.95,
-4.96,5.02,5.07,5.06,5.21,5.15,5.29,5.36,5.35,5.50,
-5.47,5.73,5.65,5.75,5.69,5.77,5.85,5.92,5.95,5.90,
-6.08,6.08,6.14,6.26,6.20,6.37,6.37,6.41,6.52,6.61,
-6.60,6.73,6.71,6.84,6.87,6.94,6.93,7.02,6.93,7.11,
-7.17,7.23,7.35,7.37,7.43,7.44,7.51,7.50,7.63,7.66,
-7.64,7.82,7.84,7.86,7.88,7.97,8.10,8.17,8.22,8.25,
-8.22,8.38,8.33,8.43,8.41,8.58,8.55,8.70,8.80,8.85,
-8.85,8.84,8.90,9.12,9.05,9.04,9.12,9.13,9.38,9.15,
-9.20,9.40,9.65,9.31,9.61,9.53,9.69,9.80,9.86,9.92,
-9.86,9.97,10.15,10.09,10.12,10.24,10.09,10.22,10.29,10.37,
-10.53,10.58,10.66,10.61,10.61,10.60,10.87,10.77,11.10,10.99,
-10.88,11.03,11.26,11.35,11.24,11.18,11.16,11.31,11.50,11.50,
-11.59,11.75,11.78,11.54,11.70,11.82,12.04,11.89,11.97,12.09,
-12.09,12.16,12.21,12.22,12.25,12.31,12.58,12.67,12.46,12.72,
-12.70,12.66,12.68,12.69,12.82,12.91,12.81,13.19,13.20,13.02,
-13.11,13.29,13.33,13.36,13.52,13.65,13.53,13.52,13.71,13.68,
-13.86,13.94,13.81,13.87,14.19,14.00,14.01,14.02,14.33,14.26,
-14.31,14.44,14.46,14.46,14.45,14.59,14.69,14.63,14.69,14.93,
-14.73,14.70,14.94,15.01,15.20,15.21,15.22,15.15,15.47,15.33,
-15.33,15.52,15.64,15.67,15.47,15.77,15.57,15.69,15.88,16.04,
-15.97,15.95,16.13,16.23,16.24,16.22,16.18,16.32,16.33,16.35,
-0.45,0.46,0.54,0.58,0.63,0.66,0.71,0.70,0.80,0.83,
-0.91,0.89,0.93,1.02,0.99,1.12,1.07,1.13,1.23,1.21,
-1.18,1.31,1.36,1.43,1.45,1.47,1.53,1.49,1.60,1.66,
-1.74,1.76,1.78,1.88,1.83,1.91,1.89,1.88,2.06,2.11,
-2.11,2.12,2.22,2.26,2.39,2.29,2.41,2.40,2.43,2.49,
-2.51,2.56,2.57,2.64,2.65,2.74,2.58,2.69,2.83,2.94,
-2.97,3.02,3.08,3.00,3.05,3.12,3.15,3.22,3.37,3.35,
-3.39,3.40,3.45,3.56,3.51,3.56,3.57,3.61,3.73,3.74,
-3.74,3.84,3.88,3.97,4.01,3.97,4.09,4.07,4.04,4.17,
-4.23,4.22,4.29,4.39,4.34,4.43,4.46,4.49,4.38,4.51,
-4.56,4.59,4.76,4.77,4.68,4.82,4.92,4.91,4.95,4.95,
-5.02,4.99,5.24,5.21,5.17,5.27,5.43,5.40,5.30,5.49,
-5.44,5.52,5.54,5.51,5.59,5.62,5.69,5.85,5.72,5.74,
-5.88,5.86,6.01,6.11,6.15,6.16,6.01,6.25,6.27,6.28,
-6.32,6.32,6.47,6.45,6.34,6.58,6.61,6.57,6.55,6.69,
-6.63,6.74,6.78,6.71,6.91,6.89,6.97,6.93,6.97,7.26,
-7.20,7.19,7.12,7.33,7.37,7.50,7.31,7.48,7.39,7.51,
-7.63,7.55,7.56,7.75,7.74,7.79,7.80,7.74,8.02,7.86,
-8.02,8.01,8.09,8.08,8.05,8.32,8.21,8.25,8.29,8.39,
-8.36,8.45,8.39,8.46,8.60,8.71,8.52,8.83,8.66,8.77,
-8.88,8.65,8.93,8.95,9.01,8.98,9.07,9.10,9.13,9.10,
-9.24,9.22,9.34,9.45,9.42,9.53,9.44,9.71,9.59,9.49,
-9.64,9.74,9.88,9.57,9.68,9.66,9.70,10.03,9.92,9.91,
-10.21,10.09,10.17,10.20,10.23,10.15,10.40,10.23,10.32,10.53,
-10.46,10.39,10.45,10.68,10.55,10.55,10.64,10.88,10.78,10.76,
-10.68,10.95,10.95,11.17,11.10,11.25,11.15,11.33,11.33,11.28,
-11.39,11.34,11.30,11.63,11.44,11.60,11.55,11.62,11.67,11.61,
-11.78,11.82,11.80,11.92,11.87,11.98,11.82,12.00,12.19,12.02,
-12.19,12.35,12.25,12.24,12.33,12.28,12.50,12.36,12.40,12.45,
-0.34,0.37,0.37,0.40,0.42,0.49,0.49,0.53,0.56,0.65,
-0.67,0.68,0.75,0.69,0.75,0.80,0.89,0.88,0.88,0.95,
-0.99,1.02,1.06,1.02,1.10,1.03,1.17,1.21,1.25,1.22,
-1.33,1.25,1.42,1.39,1.39,1.41,1.43,1.47,1.51,1.58,
-1.58,1.65,1.66,1.66,1.72,1.72,1.77,1.92,1.87,1.88,
-1.95,1.94,1.96,2.06,2.04,2.07,2.10,2.14,2.26,2.24,
-2.20,2.31,2.28,2.33,2.34,2.45,2.41,2.48,2.54,2.56,
-2.59,2.58,2.55,2.65,2.66,2.74,2.75,2.76,2.82,2.84,
-2.88,2.83,2.98,2.92,2.89,3.09,3.11,3.05,3.11,3.17,
-3.20,3.23,3.34,3.31,3.27,3.32,3.45,3.48,3.36,3.47,
-3.53,3.54,3.58,3.58,3.58,3.62,3.73,3.81,3.73,3.81,
-3.91,3.82,3.92,3.93,3.90,4.01,4.04,3.97,4.01,4.13,
-4.29,4.25,4.20,4.21,4.25,4.28,4.36,4.22,4.40,4.49,
-4.42,4.47,4.54,4.51,4.55,4.64,4.63,4.75,4.63,4.76,
-4.91,4.77,4.92,4.91,4.93,4.98,4.91,5.16,5.10,5.00,
-5.04,5.19,5.13,5.07,5.26,5.21,5.33,5.21,5.29,5.47,
-5.51,5.49,5.49,5.49,5.52,5.49,5.63,5.65,5.58,5.71,
-5.67,5.76,5.81,5.79,5.92,5.89,5.82,6.02,6.00,6.00,
-6.07,6.11,6.02,6.07,6.21,6.19,6.27,6.21,6.21,6.16,
-6.47,6.51,6.47,6.45,6.49,6.46,6.41,6.51,6.58,6.74,
-6.63,6.79,6.83,6.78,6.80,6.81,6.84,6.84,6.93,6.85,
-7.00,7.04,7.14,6.99,7.02,7.12,7.22,7.14,7.37,7.25,
-7.28,7.55,7.44,7.44,7.45,7.46,7.54,7.61,7.62,7.45,
-7.65,7.63,7.73,7.86,7.98,7.71,7.82,7.91,7.86,7.93,
-7.99,7.96,8.13,7.99,8.05,8.11,8.29,8.31,8.22,8.19,
-8.37,8.27,8.21,8.49,8.63,8.39,8.23,8.66,8.64,8.64,
-8.65,8.59,8.58,8.77,8.65,8.78,8.69,8.79,8.89,9.03,
-9.02,8.90,8.92,9.03,9.16,8.89,9.00,9.18,9.13,9.17,
-9.35,9.39,9.19,9.39,9.31,9.29,9.37,9.51,9.39,9.43,
-0.25,0.26,0.32,0.37,0.36,0.36,0.41,0.40,0.43,0.47,
-0.49,0.50,0.51,0.59,0.60,0.60,0.61,0.65,0.67,0.72,
-0.73,0.78,0.77,0.82,0.84,0.82,0.84,0.93,0.94,0.92,
-0.96,1.03,1.04,1.09,1.05,1.12,1.10,1.16,1.14,1.23,
-1.22,1.22,1.30,1.30,1.28,1.34,1.39,1.33,1.43,1.40,
-1.47,1.49,1.45,1.54,1.50,1.61,1.62,1.60,1.61,1.72,
-1.76,1.75,1.81,1.77,1.81,1.78,1.84,1.83,1.84,1.90,
-1.94,1.94,2.05,2.02,2.00,2.10,2.14,2.13,2.18,2.15,
-2.19,2.22,2.18,2.23,2.23,2.34,2.32,2.32,2.33,2.36,
-2.34,2.44,2.54,2.49,2.52,2.53,2.60,2.59,2.68,2.73,
-2.67,2.72,2.67,2.74,2.80,2.79,2.84,2.85,2.84,2.90,
-2.85,2.94,2.92,2.93,2.95,3.11,3.06,3.14,3.18,3.12,
-3.19,3.17,3.20,3.29,3.18,3.34,3.26,3.36,3.25,3.31,
-3.47,3.39,3.45,3.39,3.50,3.47,3.60,3.62,3.55,3.68,
-3.66,3.58,3.63,3.67,3.67,3.93,3.85,3.88,3.86,3.78,
-3.83,3.89,3.95,4.00,3.93,3.98,3.99,4.05,4.03,4.19,
-4.09,4.13,4.20,4.22,4.19,4.25,4.32,4.20,4.39,4.17,
-4.44,4.30,4.42,4.37,4.50,4.50,4.51,4.68,4.62,4.52,
-4.53,4.58,4.72,4.65,4.77,4.65,4.74,4.85,4.72,4.79,
-4.80,4.91,4.82,4.81,4.89,5.07,4.97,5.05,5.12,5.09,
-5.17,5.01,5.12,5.08,5.24,5.19,5.14,5.23,5.22,5.24,
-5.30,5.42,5.29,5.29,5.41,5.38,5.46,5.58,5.46,5.48,
-5.68,5.52,5.52,5.69,5.78,5.69,5.77,5.69,5.74,5.82,
-5.75,5.85,5.81,5.87,5.89,5.92,5.91,5.88,5.98,6.07,
-6.03,6.17,6.11,6.04,6.14,6.26,6.39,6.13,6.29,6.07,
-6.24,6.30,6.33,6.30,6.48,6.43,6.43,6.42,6.46,6.45,
-6.45,6.60,6.45,6.60,6.66,6.72,6.66,6.64,6.71,6.76,
-6.85,6.70,6.74,6.82,6.93,6.85,6.98,7.01,7.03,7.08,
-6.95,6.89,7.06,7.00,7.24,7.06,7.19,7.14,7.21,7.12,
-0.20,0.21,0.20,0.23,0.25,0.27,0.30,0.30,0.35,0.38,
-0.35,0.40,0.42,0.40,0.43,0.44,0.52,0.52,0.54,0.51,
-0.56,0.58,0.59,0.61,0.69,0.67,0.62,0.75,0.70,0.76,
-0.73,0.78,0.77,0.87,0.77,0.83,0.91,0.89,0.89,0.87,
-0.98,0.95,0.89,1.01,0.99,0.99,1.02,0.98,1.06,1.11,
-1.10,1.13,1.12,1.17,1.18,1.18,1.17,1.26,1.27,1.26,
-1.30,1.30,1.34,1.30,1.35,1.42,1.43,1.41,1.45,1.42,
-1.48,1.47,1.50,1.55,1.52,1.62,1.62,1.55,1.59,1.62,
-1.60,1.66,1.68,1.71,1.72,1.73,1.72,1.73,1.86,1.79,
-1.79,1.79,1.92,1.82,1.97,1.85,1.95,1.99,1.97,1.97,
-2.04,2.04,2.04,2.08,2.08,2.15,2.12,2.15,2.18,2.24,
-2.23,2.24,2.27,2.25,2.24,2.25,2.26,2.38,2.41,2.35,
-2.39,2.40,2.43,2.45,2.45,2.48,2.53,2.53,2.47,2.54,
-2.61,2.50,2.57,2.59,2.64,2.79,2.63,2.66,2.70,2.76,
-2.77,2.81,2.77,2.77,2.88,2.81,2.90,2.95,2.90,2.89,
-2.97,2.94,2.94,3.07,3.03,3.05,3.04,3.00,3.09,3.07,
-3.17,3.16,3.10,3.19,3.20,3.21,3.21,3.18,3.23,3.29,
-3.29,3.29,3.34,3.36,3.39,3.28,3.47,3.48,3.58,3.58,
-3.54,3.54,3.52,3.53,3.58,3.59,3.52,3.52,3.74,3.67,
-3.68,3.58,3.66,3.77,3.65,3.75,3.85,3.77,3.93,3.83,
-3.98,3.96,3.92,3.99,3.93,3.84,3.92,3.89,4.06,3.92,
-4.12,4.22,4.06,4.02,4.20,4.11,4.01,4.23,4.18,4.20,
-4.30,4.15,4.25,4.26,4.32,4.35,4.39,4.42,4.38,4.44,
-4.43,4.35,4.35,4.39,4.55,4.46,4.58,4.47,4.47,4.64,
-4.56,4.58,4.63,4.69,4.69,4.67,4.60,4.62,4.64,4.80,
-4.70,4.83,4.84,4.86,4.85,4.91,4.89,4.84,4.90,4.84,
-4.94,5.05,5.09,5.01,4.98,5.03,5.08,5.16,5.06,5.02,
-5.16,5.21,5.32,5.19,5.16,5.24,5.32,5.20,5.31,5.36,
-5.37,5.31,5.36,5.37,5.47,5.42,5.45,5.37,5.41,5.48,
-0.14,0.16,0.16,0.19,0.20,0.22,0.20,0.24,0.25,0.30,
-0.31,0.29,0.31,0.33,0.34,0.37,0.37,0.38,0.44,0.44,
-0.41,0.47,0.45,0.48,0.46,0.49,0.51,0.52,0.52,0.56,
-0.57,0.60,0.57,0.64,0.60,0.67,0.68,0.64,0.67,0.71,
-0.70,0.72,0.71,0.75,0.79,0.78,0.77,0.84,0.78,0.85,
-0.85,0.88,0.91,0.86,0.90,0.88,0.94,0.95,0.96,0.95,
-0.93,1.02,1.02,1.03,1.03,1.01,1.11,1.04,1.08,1.13,
-1.09,1.16,1.10,1.17,1.16,1.14,1.20,1.20,1.25,1.24,
-1.22,1.29,1.25,1.31,1.32,1.37,1.37,1.30,1.36,1.40,
-1.40,1.44,1.42,1.39,1.50,1.40,1.48,1.48,1.48,1.49,
-1.51,1.51,1.56,1.63,1.66,1.64,1.64,1.61,1.62,1.68,
-1.68,1.64,1.70,1.76,1.71,1.82,1.77,1.82,1.81,1.79,
-1.86,1.82,1.86,1.89,1.87,1.86,1.86,1.96,1.98,2.02,
-1.95,1.97,2.05,2.03,1.98,2.10,2.11,2.05,2.13,2.08,
-2.09,2.10,2.15,2.15,2.05,2.12,2.17,2.21,2.23,2.24,
-2.21,2.20,2.24,2.24,2.34,2.22,2.33,2.44,2.32,2.32,
-2.42,2.39,2.36,2.43,2.40,2.41,2.40,2.41,2.49,2.56,
-2.51,2.48,2.54,2.58,2.54,2.64,2.59,2.66,2.55,2.71,
-2.65,2.62,2.70,2.64,2.81,2.71,2.74,2.71,2.81,2.84,
-2.67,2.85,2.80,2.91,2.84,2.72,2.92,2.85,2.83,2.93,
-2.89,2.93,3.02,3.02,3.00,2.96,3.11,2.97,3.02,3.11,
-3.14,3.10,3.10,3.17,3.09,3.06,3.15,3.12,3.24,3.32,
-3.26,3.23,3.30,3.25,3.33,3.30,3.37,3.34,3.34,3.29,
-3.32,3.38,3.36,3.42,3.44,3.46,3.43,3.44,3.30,3.36,
-3.42,3.59,3.45,3.49,3.59,3.62,3.56,3.60,3.70,3.63,
-3.64,3.67,3.57,3.66,3.73,3.67,3.80,3.73,3.80,3.84,
-3.67,3.83,3.82,3.80,3.73,3.87,3.88,3.87,3.88,3.86,
-3.92,3.94,3.91,4.00,4.06,3.96,3.94,3.95,3.96,3.95,
-4.02,4.05,3.99,4.14,4.17,4.12,4.20,4.25,4.10,4.11,
-0.11,0.12,0.12,0.14,0.15,0.16,0.20,0.20,0.21,0.21,
-0.23,0.23,0.23,0.26,0.29,0.26,0.29,0.29,0.30,0.31,
-0.33,0.36,0.37,0.34,0.36,0.40,0.39,0.37,0.37,0.42,
-0.40,0.41,0.47,0.47,0.48,0.51,0.48,0.52,0.53,0.53,
-0.56,0.53,0.52,0.56,0.56,0.58,0.61,0.61,0.62,0.68,
-0.64,0.63,0.64,0.65,0.66,0.65,0.75,0.69,0.66,0.77,
-0.74,0.76,0.75,0.77,0.80,0.74,0.81,0.86,0.83,0.89,
-0.83,0.84,0.86,0.87,0.84,0.95,0.93,0.92,0.97,0.96,
-0.95,0.98,0.93,1.04,1.00,1.00,1.03,0.99,1.07,1.04,
-1.05,1.10,1.07,1.09,1.06,1.17,1.13,1.17,1.14,1.12,
-1.17,1.17,1.17,1.24,1.27,1.25,1.23,1.32,1.21,1.25,
-1.28,1.28,1.30,1.28,1.31,1.28,1.33,1.38,1.37,1.36,
-1.34,1.43,1.41,1.42,1.43,1.41,1.54,1.40,1.46,1.52,
-1.54,1.54,1.54,1.53,1.54,1.53,1.53,1.56,1.60,1.56,
-1.54,1.58,1.65,1.60,1.60,1.62,1.56,1.63,1.66,1.72,
-1.66,1.75,1.76,1.71,1.66,1.85,1.75,1.84,1.75,1.78,
-1.81,1.80,1.83,1.86,1.83,1.84,1.85,1.84,1.85,1.89,
-1.89,1.96,1.95,1.95,1.92,2.07,1.83,2.02,2.07,1.99,
-1.96,2.09,2.07,2.02,2.09,2.05,1.95,2.12,2.17,2.10,
-2.12,2.21,2.17,2.16,2.15,2.10,2.13,2.24,2.20,2.24,
-2.23,2.29,2.23,2.28,2.31,2.29,2.27,2.32,2.36,2.28,
-2.33,2.27,2.38,2.33,2.31,2.45,2.43,2.40,2.54,2.32,
-2.42,2.41,2.52,2.52,2.46,2.44,2.46,2.65,2.56,2.54,
-2.54,2.54,2.58,2.64,2.59,2.54,2.66,2.64,2.68,2.71,
-2.74,2.60,2.73,2.58,2.68,2.66,2.68,2.63,2.71,2.77,
-2.79,2.77,2.74,2.81,2.78,2.83,2.84,2.84,2.85,2.81,
-2.81,2.83,2.90,2.93,2.85,2.91,2.88,2.90,2.96,3.02,
-2.99,2.94,2.95,2.95,3.17,2.95,2.98,3.04,3.08,3.07,
-3.06,3.10,3.07,3.01,3.13,3.16,3.19,3.25,3.19,3.20,
-0.09,0.09,0.09,0.11,0.11,0.12,0.12,0.16,0.14,0.17,
-0.18,0.17,0.16,0.20,0.16,0.18,0.21,0.23,0.23,0.25,
-0.22,0.26,0.30,0.26,0.25,0.29,0.29,0.30,0.33,0.33,
-0.32,0.33,0.33,0.35,0.35,0.34,0.39,0.39,0.38,0.40,
-0.42,0.43,0.45,0.41,0.41,0.45,0.44,0.43,0.51,0.47,
-0.51,0.53,0.48,0.52,0.50,0.55,0.55,0.51,0.59,0.61,
-0.62,0.61,0.54,0.57,0.60,0.59,0.62,0.61,0.65,0.64,
-0.65,0.66,0.69,0.69,0.72,0.70,0.67,0.73,0.72,0.73,
-0.76,0.71,0.75,0.78,0.75,0.81,0.71,0.81,0.84,0.81,
-0.81,0.84,0.80,0.82,0.76,0.86,0.88,0.88,0.88,0.95,
-0.89,0.90,0.94,0.92,0.92,0.93,0.91,0.94,0.96,0.92,
-1.04,0.97,1.03,0.93,1.03,1.04,1.01,1.06,1.07,1.08,
-1.01,1.05,1.04,1.09,1.08,1.11,1.08,1.09,1.07,1.16,
-1.08,1.14,1.13,1.19,1.17,1.16,1.12,1.16,1.26,1.18,
-1.16,1.23,1.26,1.31,1.24,1.28,1.22,1.26,1.31,1.26,
-1.32,1.29,1.31,1.33,1.34,1.33,1.30,1.35,1.30,1.34,
-1.30,1.41,1.40,1.41,1.43,1.47,1.40,1.49,1.46,1.45,
-1.37,1.45,1.47,1.48,1.46,1.50,1.48,1.47,1.44,1.57,
-1.51,1.54,1.50,1.58,1.62,1.57,1.57,1.62,1.62,1.55,
-1.65,1.60,1.61,1.69,1.66,1.64,1.70,1.69,1.63,1.66,
-1.69,1.74,1.69,1.75,1.71,1.75,1.82,1.71,1.81,1.77,
-1.79,1.81,1.75,1.77,1.86,1.84,1.78,1.78,1.83,1.79,
-1.86,1.82,1.89,1.84,1.85,1.83,1.88,1.99,1.85,1.96,
-1.88,1.99,2.01,2.01,1.93,2.02,1.95,1.96,1.91,2.00,
-1.99,2.04,2.02,2.01,2.07,2.07,2.07,2.10,2.05,2.08,
-2.06,2.14,2.15,2.13,2.10,2.11,2.17,2.09,2.16,2.15,
-2.16,2.11,2.14,2.22,2.23,2.22,2.14,2.21,2.19,2.25,
-2.28,2.29,2.25,2.38,2.34,2.33,2.22,2.26,2.36,2.21,
-2.37,2.44,2.29,2.27,2.35,2.42,2.37,2.49,2.44,2.54,
-0.06,0.08,0.07,0.09,0.08,0.10,0.10,0.10,0.11,0.12,
-0.15,0.12,0.17,0.15,0.13,0.15,0.18,0.17,0.22,0.19,
-0.18,0.21,0.19,0.22,0.22,0.23,0.24,0.27,0.22,0.25,
-0.24,0.26,0.28,0.26,0.29,0.27,0.27,0.26,0.29,0.29,
-0.32,0.33,0.33,0.34,0.34,0.30,0.35,0.36,0.37,0.33,
-0.37,0.37,0.39,0.39,0.36,0.44,0.40,0.40,0.41,0.41,
-0.42,0.44,0.43,0.40,0.43,0.48,0.46,0.46,0.48,0.51,
-0.49,0.47,0.47,0.49,0.49,0.50,0.53,0.51,0.56,0.60,
-0.59,0.55,0.58,0.55,0.56,0.57,0.58,0.57,0.60,0.64,
-0.64,0.61,0.60,0.65,0.64,0.64,0.67,0.66,0.69,0.67,
-0.69,0.72,0.67,0.66,0.73,0.76,0.73,0.76,0.65,0.73,
-0.73,0.73,0.74,0.73,0.80,0.70,0.81,0.78,0.81,0.80,
-0.78,0.82,0.78,0.81,0.81,0.85,0.83,0.85,0.85,0.90,
-0.88,0.87,0.83,0.96,0.89,0.92,0.85,0.88,0.88,0.92,
-0.93,0.96,0.95,1.02,0.92,0.96,0.97,0.95,0.95,1.02,
-0.98,1.01,0.96,1.01,1.02,1.00,1.02,1.01,1.09,0.98,
-1.07,1.04,1.11,1.08,1.07,1.06,1.07,1.09,1.11,1.12,
-1.07,1.13,1.09,1.11,1.13,1.16,1.11,1.13,1.15,1.15,
-1.13,1.15,1.17,1.17,1.19,1.21,1.18,1.28,1.21,1.21,
-1.27,1.25,1.23,1.27,1.25,1.22,1.29,1.27,1.27,1.26,
-1.27,1.27,1.31,1.29,1.35,1.32,1.27,1.29,1.28,1.25,
-1.36,1.34,1.33,1.42,1.33,1.40,1.34,1.37,1.39,1.43,
-1.41,1.40,1.50,1.40,1.46,1.49,1.47,1.46,1.41,1.39,
-1.53,1.53,1.50,1.44,1.46,1.48,1.50,1.49,1.54,1.63,
-1.55,1.58,1.58,1.55,1.60,1.61,1.54,1.57,1.54,1.53,
-1.56,1.65,1.55,1.65,1.61,1.57,1.62,1.65,1.62,1.64,
-1.65,1.58,1.68,1.65,1.78,1.78,1.70,1.72,1.70,1.77,
-1.68,1.75,1.70,1.77,1.71,1.71,1.73,1.80,1.79,1.74,
-1.71,1.69,1.82,1.79,1.71,1.79,1.79,1.81,1.87,1.85,
-0.05,0.05,0.06,0.07,0.06,0.07,0.06,0.08,0.08,0.10,
-0.10,0.11,0.11,0.10,0.09,0.12,0.12,0.12,0.13,0.13,
-0.13,0.13,0.15,0.14,0.16,0.14,0.17,0.18,0.16,0.17,
-0.19,0.19,0.19,0.22,0.22,0.20,0.22,0.22,0.23,0.24,
-0.25,0.22,0.25,0.24,0.25,0.27,0.26,0.26,0.27,0.29,
-0.30,0.31,0.27,0.32,0.32,0.34,0.31,0.33,0.36,0.31,
-0.31,0.35,0.31,0.34,0.34,0.34,0.32,0.35,0.33,0.38,
-0.37,0.39,0.37,0.38,0.38,0.42,0.37,0.38,0.40,0.43,
-0.44,0.43,0.45,0.41,0.45,0.45,0.50,0.45,0.48,0.46,
-0.46,0.47,0.47,0.48,0.52,0.48,0.52,0.48,0.52,0.50,
-0.47,0.51,0.56,0.55,0.51,0.51,0.52,0.57,0.56,0.56,
-0.53,0.55,0.57,0.58,0.61,0.63,0.57,0.58,0.61,0.59,
-0.64,0.63,0.59,0.62,0.57,0.65,0.70,0.64,0.71,0.68,
-0.67,0.66,0.64,0.71,0.66,0.68,0.70,0.71,0.68,0.69,
-0.73,0.69,0.73,0.68,0.75,0.74,0.71,0.73,0.78,0.77,
-0.70,0.72,0.78,0.85,0.79,0.73,0.85,0.80,0.81,0.78,
-0.87,0.76,0.75,0.77,0.85,0.80,0.83,0.82,0.84,0.87,
-0.84,0.87,0.78,0.90,0.87,0.82,0.87,0.85,0.78,0.88,
-0.91,0.92,0.95,0.93,0.87,0.91,0.92,0.90,0.91,0.91,
-0.96,0.91,0.91,0.97,0.92,0.94,1.00,0.97,0.95,0.92,
-0.95,1.02,0.93,0.99,1.02,1.00,1.01,1.01,1.01,0.94,
-0.98,1.05,0.97,1.05,1.04,1.07,1.10,1.04,1.04,1.05,
-1.12,1.04,1.08,1.04,1.08,1.05,1.06,1.05,1.05,1.07,
-1.17,1.16,1.09,1.13,1.10,1.09,1.09,1.19,1.16,1.18,
-1.20,1.13,1.17,1.09,1.24,1.20,1.22,1.15,1.26,1.26,
-1.20,1.20,1.23,1.20,1.23,1.23,1.21,1.24,1.21,1.29,
-1.28,1.27,1.25,1.30,1.26,1.32,1.28,1.28,1.28,1.27,
-1.34,1.28,1.36,1.28,1.38,1.33,1.38,1.31,1.31,1.36,
-1.38,1.33,1.38,1.34,1.37,1.35,1.33,1.38,1.38,1.44,
-0.04,0.04,0.04,0.04,0.05,0.05,0.06,0.06,0.05,0.07,
-0.07,0.07,0.08,0.08,0.09,0.09,0.09,0.12,0.09,0.11,
-0.12,0.13,0.10,0.11,0.11,0.12,0.15,0.15,0.14,0.13,
-0.15,0.12,0.14,0.16,0.15,0.16,0.16,0.16,0.19,0.17,
-0.16,0.19,0.20,0.18,0.19,0.20,0.17,0.20,0.22,0.22,
-0.20,0.20,0.23,0.22,0.22,0.23,0.25,0.24,0.27,0.21,
-0.20,0.29,0.26,0.24,0.27,0.26,0.29,0.28,0.26,0.27,
-0.28,0.30,0.31,0.31,0.29,0.28,0.31,0.28,0.30,0.31,
-0.34,0.31,0.32,0.33,0.31,0.34,0.35,0.35,0.33,0.37,
-0.34,0.34,0.35,0.38,0.36,0.38,0.38,0.36,0.40,0.37,
-0.39,0.43,0.40,0.40,0.42,0.38,0.44,0.40,0.39,0.42,
-0.40,0.40,0.44,0.41,0.44,0.43,0.44,0.45,0.47,0.47,
-0.44,0.53,0.44,0.46,0.44,0.46,0.47,0.48,0.46,0.45,
-0.48,0.52,0.47,0.53,0.55,0.49,0.52,0.55,0.52,0.52,
-0.50,0.54,0.56,0.54,0.55,0.54,0.55,0.53,0.59,0.55,
-0.60,0.54,0.57,0.60,0.62,0.57,0.63,0.61,0.60,0.58,
-0.60,0.59,0.60,0.61,0.62,0.59,0.63,0.65,0.64,0.60,
-0.65,0.67,0.66,0.68,0.63,0.67,0.62,0.69,0.68,0.71,
-0.65,0.70,0.72,0.68,0.65,0.73,0.73,0.74,0.71,0.69,
-0.69,0.67,0.72,0.75,0.73,0.72,0.73,0.75,0.75,0.75,
-0.64,0.75,0.72,0.75,0.75,0.77,0.81,0.76,0.77,0.79,
-0.82,0.77,0.81,0.79,0.78,0.75,0.81,0.79,0.83,0.82,
-0.79,0.86,0.84,0.78,0.85,0.86,0.88,0.79,0.86,0.89,
-0.82,0.85,0.80,0.89,0.83,0.83,0.84,0.82,0.91,0.89,
-0.92,0.90,0.92,0.90,0.92,1.01,0.93,0.91,0.91,0.89,
-0.96,0.94,0.97,0.90,0.94,0.93,0.93,0.94,0.96,0.91,
-0.93,0.97,0.98,1.00,0.96,0.94,0.93,1.00,0.97,1.02,
-0.97,1.06,0.95,0.98,1.05,0.96,1.00,0.99,1.00,1.02,
-1.00,1.04,1.09,1.00,1.04,1.08,1.03,1.03,1.07,1.06,
-1.87,2.07,2.25,2.41,2.55,2.83,2.98,3.19,3.34,3.60,
-3.63,3.88,4.02,4.18,4.41,4.54,4.80,5.02,5.14,5.45,
-5.55,5.69,5.88,6.00,6.24,6.38,6.60,6.81,6.95,7.18,
-7.35,7.49,7.66,7.87,8.06,8.29,8.30,8.71,8.88,8.97,
-9.19,9.34,9.46,9.78,9.84,10.08,10.15,10.51,10.63,10.93,
-10.98,11.08,11.21,11.58,11.73,11.85,12.06,12.20,12.49,12.54,
-12.46,13.02,13.05,13.35,13.50,13.81,13.90,13.99,14.06,14.30,
-14.62,14.71,14.89,15.15,15.37,15.59,15.52,15.86,16.05,16.30,
-16.38,16.68,16.83,16.94,17.09,17.42,17.54,17.81,18.00,18.04,
-18.21,18.56,18.58,18.87,19.05,19.34,19.47,19.39,19.65,19.86,
-20.17,19.98,20.45,20.65,20.78,20.61,20.84,21.31,21.66,21.66,
-21.61,21.96,22.40,22.36,22.49,22.56,23.02,23.31,23.34,23.47,
-23.76,23.98,24.03,24.24,24.28,24.55,24.89,25.11,25.10,25.26,
-25.59,25.64,25.97,26.09,26.25,26.33,26.60,26.72,26.97,27.07,
-27.21,27.38,27.59,27.97,27.96,28.02,28.27,28.51,28.71,28.97,
-29.01,29.24,29.50,29.64,29.98,30.27,30.04,30.50,30.46,30.82,
-31.08,30.92,31.25,31.67,31.74,31.75,32.12,32.26,32.17,32.64,
-32.82,32.96,33.06,33.17,33.43,33.66,33.90,33.87,34.22,34.30,
-34.59,35.05,35.15,35.05,35.34,35.61,35.70,35.93,36.13,36.22,
-36.33,36.55,36.69,36.87,37.22,37.50,37.39,37.65,37.93,37.79,
-38.33,38.53,38.72,38.94,38.78,39.14,39.18,39.49,39.50,39.85,
-40.03,40.23,40.25,40.68,40.90,40.91,41.26,40.96,41.49,41.52,
-41.72,42.33,42.27,42.49,42.27,43.13,42.93,43.10,43.38,43.60,
-43.59,43.48,44.11,44.21,44.23,44.73,45.06,45.11,45.00,44.87,
-45.65,45.65,45.98,46.25,45.97,46.40,46.33,46.96,47.16,47.17,
-47.68,47.65,47.70,47.77,48.20,48.06,48.39,48.65,48.71,48.95,
-48.94,49.16,49.34,49.93,50.08,50.13,50.57,50.22,50.17,50.44,
-50.95,51.27,51.32,51.25,51.93,51.92,52.02,52.35,52.47,52.40,
-53.01,52.77,53.20,53.20,53.19,53.76,53.86,54.06,54.02,54.16,
-1.42,1.56,1.71,1.86,2.02,2.17,2.21,2.41,2.50,2.74,
-2.81,3.02,3.08,3.21,3.38,3.55,3.74,3.76,3.96,4.12,
-4.22,4.32,4.58,4.75,4.89,4.96,5.03,5.18,5.37,5.42,
-5.68,5.63,5.94,6.17,6.23,6.36,6.42,6.67,6.80,6.93,
-7.05,7.21,7.46,7.41,7.57,7.89,7.92,8.00,8.16,8.10,
-8.37,8.46,8.86,8.87,8.95,8.95,9.34,9.31,9.68,9.74,
-9.73,10.20,10.33,10.19,10.41,10.60,10.72,10.87,10.88,11.09,
-11.18,11.56,11.62,11.74,11.93,11.91,11.97,12.30,12.29,12.66,
-12.54,12.70,12.87,13.03,13.25,13.47,13.46,13.51,13.65,13.89,
-14.03,14.02,14.41,14.45,14.72,14.67,14.96,14.91,15.07,15.35,
-15.51,15.45,15.83,16.03,16.00,16.28,16.15,16.45,16.48,16.76,
-16.79,16.93,16.95,17.16,17.48,17.59,17.41,17.68,17.90,18.22,
-18.27,18.25,18.57,18.65,18.69,18.86,19.19,19.09,19.39,19.48,
-19.62,19.81,19.78,20.07,20.31,20.08,20.62,20.64,20.81,20.73,
-21.07,21.28,21.25,21.39,21.49,21.84,22.15,21.83,22.32,22.45,
-22.37,22.47,22.79,22.89,22.81,23.04,23.21,23.20,23.53,23.69,
-23.70,23.79,24.22,24.05,24.11,24.62,24.72,24.81,24.81,25.38,
-25.15,25.53,25.48,25.64,25.63,26.06,26.05,26.04,26.34,26.45,
-26.64,26.76,26.86,26.96,27.13,27.29,27.27,27.78,27.76,27.75,
-27.93,28.24,28.33,28.70,28.69,28.63,28.95,29.13,29.02,29.39,
-29.37,29.77,29.52,29.64,29.99,30.14,30.20,30.24,30.46,30.63,
-30.76,31.09,31.20,31.23,30.96,31.24,31.59,31.76,31.92,32.02,
-32.25,32.17,32.33,32.81,32.69,32.76,32.99,33.04,33.17,33.26,
-33.66,33.69,33.73,34.03,34.42,34.40,34.61,34.47,34.73,35.27,
-34.81,35.32,35.38,35.38,35.35,35.60,35.82,35.71,36.04,36.43,
-36.43,36.53,36.58,36.62,37.06,36.97,37.50,37.37,37.59,37.51,
-37.57,37.83,38.47,38.03,38.50,38.55,38.59,38.64,38.79,38.98,
-38.85,39.12,39.39,39.49,40.12,40.05,40.16,40.15,40.27,40.45,
-40.63,40.90,40.76,41.15,41.13,40.95,41.51,41.51,41.79,42.02,
-1.12,1.21,1.29,1.39,1.53,1.62,1.77,1.89,1.95,2.07,
-2.25,2.27,2.38,2.62,2.67,2.72,2.83,2.99,2.97,3.14,
-3.19,3.35,3.51,3.64,3.76,3.87,3.94,4.00,4.16,4.13,
-4.29,4.49,4.56,4.55,4.79,4.86,5.02,5.11,5.19,5.25,
-5.39,5.55,5.61,5.75,5.85,5.88,6.16,6.15,6.32,6.46,
-6.49,6.63,6.77,6.92,6.98,7.04,7.08,7.21,7.28,7.56,
-7.58,7.66,7.78,8.07,8.03,8.09,8.10,8.21,8.42,8.48,
-8.71,8.80,8.83,8.90,8.93,9.18,9.30,9.72,9.43,9.66,
-9.64,9.74,9.96,10.03,10.21,10.23,10.41,10.48,10.56,10.71,
-10.84,10.85,11.01,11.14,11.17,11.37,11.54,11.42,11.74,11.76,
-11.92,11.86,12.03,12.22,12.42,12.36,12.52,12.75,12.71,12.88,
-12.87,13.10,13.17,13.46,13.46,13.56,13.56,13.67,13.87,13.72,
-14.05,14.13,14.41,14.35,14.35,14.77,14.77,14.90,14.94,15.09,
-15.07,15.18,15.21,15.61,15.32,15.58,15.69,15.77,16.12,15.95,
-16.17,16.34,16.24,16.45,16.50,16.78,16.77,17.10,17.34,17.28,
-17.17,17.30,17.45,17.67,17.82,17.72,17.98,18.20,18.14,18.19,
-18.51,18.37,18.52,18.49,18.99,18.73,19.01,19.00,19.25,18.95,
-19.39,19.60,19.51,19.65,19.91,19.55,20.00,20.15,20.34,20.30,
-20.46,20.75,20.77,20.68,20.90,21.13,21.16,21.43,21.34,21.52,
-21.45,21.73,21.92,22.07,21.89,22.19,22.15,22.35,22.33,22.53,
-22.54,22.92,22.89,22.81,23.24,23.22,23.28,23.25,23.44,23.44,
-23.74,23.85,24.00,23.87,24.30,24.37,24.27,24.63,24.42,24.77,
-24.81,24.83,25.12,25.20,25.49,25.54,25.60,25.61,25.52,25.60,
-26.04,26.04,26.14,26.06,26.39,26.67,26.35,26.36,26.84,26.76,
-26.99,27.22,27.25,27.57,27.27,27.50,27.71,28.00,27.91,27.70,
-28.07,28.19,28.22,28.27,28.55,28.31,28.65,28.75,29.01,28.79,
-29.20,29.56,29.55,29.56,29.61,29.62,29.58,29.71,30.06,29.86,
-30.17,30.16,30.36,30.09,30.50,30.59,30.66,30.82,30.89,31.01,
-31.28,31.21,31.36,31.60,31.55,31.96,31.91,32.04,32.06,32.37,
-0.86,0.97,1.04,1.10,1.15,1.23,1.42,1.42,1.54,1.59,
-1.65,1.72,1.87,1.83,2.03,2.08,2.16,2.21,2.28,2.42,
-2.59,2.58,2.72,2.74,2.90,2.88,2.96,3.19,3.19,3.25,
-3.45,3.46,3.58,3.62,3.65,3.77,3.89,3.96,4.08,4.05,
-4.17,4.22,4.29,4.55,4.51,4.61,4.69,4.85,4.76,4.87,
-5.02,5.03,5.13,5.22,5.29,5.46,5.38,5.61,5.69,5.79,
-5.78,5.95,5.99,6.11,6.16,6.17,6.45,6.39,6.50,6.48,
-6.67,6.76,6.74,6.97,7.12,7.03,7.01,7.21,7.26,7.38,
-7.51,7.49,7.68,7.73,7.78,7.79,7.94,8.11,8.07,8.25,
-8.45,8.49,8.40,8.57,8.71,8.65,8.85,9.06,8.88,9.10,
-9.26,9.17,9.35,9.44,9.50,9.43,9.44,9.74,9.82,9.89,
-9.88,10.22,10.12,10.27,10.12,10.50,10.40,10.64,10.67,10.82,
-10.57,10.94,10.88,11.14,11.19,11.20,11.32,11.38,11.43,11.50,
-11.57,11.66,11.90,11.79,11.90,11.97,12.17,12.21,12.31,12.40,
-12.52,12.60,12.68,12.60,12.76,12.83,13.02,12.87,13.24,13.24,
-13.27,13.42,13.40,13.49,13.78,13.81,13.85,13.79,13.84,14.00,
-14.18,14.17,14.33,14.27,14.36,14.65,14.57,14.79,14.87,14.86,
-15.04,14.84,15.23,15.04,15.22,15.26,15.56,15.39,15.50,15.65,
-15.70,15.82,16.00,16.07,16.40,16.07,16.47,16.41,16.32,16.41,
-16.52,16.77,16.70,16.63,17.03,16.99,16.96,17.07,17.15,17.27,
-17.56,17.41,17.51,17.76,17.90,17.88,18.09,17.97,18.07,18.27,
-18.17,18.50,18.52,18.42,18.77,18.82,18.68,18.87,18.78,19.04,
-19.27,19.21,19.34,19.35,19.28,19.46,19.76,19.52,19.85,19.94,
-19.89,19.92,20.24,20.15,20.24,20.31,20.25,20.46,20.75,20.68,
-20.88,21.00,20.88,20.94,21.14,21.16,21.12,21.38,21.41,21.49,
-21.66,21.80,21.86,21.82,22.00,21.94,22.06,22.05,22.25,22.51,
-22.31,22.86,22.37,22.85,22.82,22.73,22.82,22.84,23.33,23.32,
-23.23,23.61,23.48,23.56,23.78,23.64,23.71,23.77,23.77,24.19,
-24.40,23.81,24.17,24.28,24.23,24.34,24.37,24.66,24.89,24.73,
-0.65,0.75,0.85,0.85,0.94,0.96,1.05,1.12,1.18,1.26,
-1.30,1.32,1.43,1.49,1.57,1.61,1.64,1.74,1.81,1.84,
-1.86,1.93,2.05,2.18,2.24,2.23,2.32,2.42,2.44,2.56,
-2.57,2.65,2.59,2.73,2.91,3.06,2.91,3.08,3.12,3.13,
-3.22,3.30,3.42,3.44,3.42,3.55,3.62,3.59,3.74,3.75,
-3.88,3.98,4.14,4.00,4.10,4.10,4.33,4.21,4.36,4.52,
-4.62,4.55,4.62,4.71,4.71,4.82,4.88,5.00,4.99,5.07,
-5.20,5.07,5.20,5.41,5.36,5.52,5.61,5.43,5.62,5.62,
-5.83,5.86,5.96,5.95,6.08,6.14,6.20,6.22,6.31,6.40,
-6.40,6.32,6.66,6.67,6.73,6.75,6.80,6.87,6.90,6.78,
-7.02,7.11,7.25,7.18,7.29,7.27,7.42,7.57,7.58,7.74,
-7.73,7.68,7.88,8.03,7.96,7.83,8.27,8.25,8.17,8.39,
-8.37,8.27,8.36,8.51,8.54,8.77,8.61,8.71,8.73,8.94,
-8.95,8.94,9.20,9.19,9.02,9.23,9.31,9.39,9.42,9.41,
-9.56,9.76,9.81,9.79,9.72,9.98,9.98,9.90,10.13,10.14,
-10.23,10.17,10.32,10.36,10.52,10.51,10.56,10.75,10.86,10.76,
-10.90,10.99,11.05,11.06,11.13,11.02,11.15,11.25,11.43,11.41,
-11.52,11.39,11.49,11.80,11.67,11.84,11.93,12.02,11.91,12.25,
-12.20,12.24,12.16,12.42,12.51,12.52,12.66,12.42,12.51,12.59,
-13.01,12.90,12.83,13.06,13.25,13.13,13.40,13.15,13.26,13.19,
-13.51,13.35,13.47,13.69,14.00,13.68,13.71,13.98,14.02,14.21,
-14.11,14.16,14.34,14.31,14.20,14.38,14.31,14.43,14.47,14.33,
-14.71,14.62,14.97,15.06,15.16,15.06,15.03,15.28,15.33,15.16,
-15.50,15.36,15.43,15.40,15.64,15.67,15.71,15.83,15.87,15.67,
-16.02,15.83,16.10,16.13,16.08,16.47,16.23,16.54,16.73,16.46,
-16.59,16.71,16.73,16.76,16.92,16.79,17.07,17.15,17.18,17.35,
-17.46,17.37,17.40,17.58,17.61,17.41,17.72,17.83,17.77,17.64,
-17.84,17.84,18.21,17.84,18.11,18.31,18.22,18.10,18.54,18.34,
-18.66,18.66,18.54,18.88,18.75,18.82,18.78,19.03,18.98,19.21,
-0.53,0.54,0.59,0.66,0.69,0.77,0.81,0.87,0.91,0.96,
-0.93,1.06,1.10,1.13,1.27,1.26,1.26,1.32,1.39,1.42,
-1.48,1.54,1.55,1.64,1.73,1.72,1.88,1.76,1.85,1.96,
-1.97,2.04,2.12,2.14,2.18,2.27,2.33,2.28,2.37,2.46,
-2.48,2.60,2.57,2.66,2.82,2.74,2.81,2.75,2.86,2.90,
-2.96,3.02,3.08,3.19,3.12,3.20,3.30,3.29,3.46,3.40,
-3.44,3.49,3.57,3.64,3.61,3.69,3.73,3.81,3.85,3.95,
-3.92,4.01,4.10,4.12,4.16,4.18,4.27,4.28,4.30,4.33,
-4.45,4.52,4.50,4.67,4.58,4.58,4.68,4.80,4.90,4.92,
-4.94,4.94,4.98,5.10,5.18,5.09,5.18,5.26,5.33,5.39,
-5.35,5.52,5.51,5.58,5.66,5.63,5.67,5.65,5.75,5.79,
-5.96,5.83,6.05,6.09,6.11,6.22,6.16,6.32,6.24,6.34,
-6.45,6.52,6.61,6.51,6.49,6.43,6.69,6.78,6.83,6.83,
-6.80,6.98,7.06,7.00,7.06,7.13,7.23,7.25,7.39,7.46,
-7.45,7.34,7.53,7.42,7.57,7.66,7.70,7.72,7.82,7.90,
-7.91,7.80,8.07,8.06,8.04,8.19,8.15,8.18,8.28,8.34,
-8.29,8.49,8.45,8.47,8.64,8.70,8.69,8.84,8.71,8.88,
-8.98,9.01,9.04,9.16,9.05,8.94,9.21,9.10,9.16,9.56,
-9.52,9.34,9.36,9.48,9.51,9.50,9.74,9.82,9.99,9.77,
-9.85,9.84,9.92,9.95,10.10,10.04,10.12,10.22,10.11,10.33,
-10.44,10.42,10.46,10.23,10.47,10.66,10.62,10.70,10.84,10.75,
-10.90,10.94,10.99,11.02,11.03,11.17,11.14,11.38,11.18,11.34,
-11.26,11.45,11.55,11.42,11.44,11.51,11.62,11.64,11.85,11.74,
-11.79,11.77,12.12,11.96,12.08,11.97,12.15,12.07,12.27,12.42,
-12.45,12.42,12.13,12.37,12.66,12.72,12.74,12.75,12.48,12.65,
-13.03,12.65,12.99,12.85,13.02,12.98,13.09,13.22,13.19,13.23,
-13.21,13.37,13.47,13.48,13.48,13.47,13.60,13.70,13.63,13.73,
-13.74,13.56,13.70,14.02,14.04,14.03,13.91,14.18,14.10,14.24,
-14.17,14.39,14.57,14.42,14.32,14.49,14.53,14.69,14.69,14.76,
-0.38,0.42,0.48,0.48,0.55,0.58,0.66,0.68,0.69,0.76,
-0.78,0.77,0.81,0.96,0.98,1.01,0.98,0.98,1.08,1.14,
-1.17,1.23,1.18,1.32,1.34,1.38,1.38,1.45,1.42,1.50,
-1.52,1.56,1.62,1.71,1.70,1.65,1.70,1.76,1.79,1.90,
-1.92,1.93,1.99,2.03,2.01,2.13,2.08,2.09,2.25,2.19,
-2.29,2.36,2.34,2.35,2.51,2.48,2.50,2.50,2.55,2.62,
-2.57,2.75,2.71,2.74,2.85,2.86,2.92,2.97,2.95,2.96,
-3.03,3.06,3.17,3.23,3.19,3.28,3.23,3.36,3.32,3.38,
-3.40,3.55,3.50,3.52,3.50,3.70,3.63,3.75,3.81,3.71,
-3.86,3.77,3.84,3.90,3.85,3.99,3.96,4.02,4.14,4.05,
-4.05,4.23,4.20,4.15,4.28,4.20,4.35,4.42,4.42,4.54,
-4.64,4.57,4.70,4.58,4.76,4.73,4.74,4.85,4.80,4.91,
-4.99,4.98,5.04,5.04,5.11,5.09,5.04,5.22,5.22,5.32,
-5.36,5.39,5.40,5.49,5.45,5.47,5.43,5.62,5.64,5.64,
-5.65,5.86,5.83,5.77,5.85,5.74,6.00,6.07,5.91,6.09,
-6.16,6.19,6.13,6.19,6.18,6.38,6.24,6.32,6.49,6.40,
-6.60,6.48,6.41,6.56,6.64,6.63,6.56,6.79,6.81,6.78,
-6.79,6.68,6.89,6.85,6.82,7.00,7.14,7.07,7.20,7.30,
-7.39,7.21,7.19,7.37,7.34,7.52,7.34,7.41,7.57,7.53,
-7.53,7.72,7.65,7.70,7.75,7.96,7.84,7.77,7.83,8.08,
-8.02,8.08,8.06,8.11,8.22,8.20,8.12,8.25,8.45,8.35,
-8.34,8.43,8.45,8.36,8.52,8.50,8.50,8.57,8.80,8.64,
-8.81,8.70,8.85,8.93,8.96,8.92,8.97,9.13,8.92,9.01,
-9.08,9.30,9.37,9.29,9.37,9.11,9.32,9.38,9.43,9.27,
-9.55,9.38,9.50,9.54,9.74,9.86,9.63,9.71,9.98,9.59,
-9.63,9.95,9.98,9.98,10.10,10.19,10.12,10.11,10.06,10.00,
-10.27,10.15,10.36,10.26,10.49,10.41,10.39,10.57,10.55,10.50,
-10.45,10.70,10.55,10.76,10.75,10.66,10.96,10.87,10.96,10.90,
-11.09,11.00,10.99,10.92,10.96,11.30,11.26,11.38,11.23,11.27,
-0.30,0.34,0.37,0.42,0.44,0.49,0.47,0.49,0.54,0.61,
-0.64,0.63,0.66,0.69,0.73,0.72,0.75,0.81,0.81,0.83,
-0.87,0.87,0.93,0.97,1.04,1.09,1.04,1.12,1.13,1.19,
-1.12,1.18,1.31,1.28,1.23,1.30,1.29,1.36,1.43,1.46,
-1.44,1.50,1.52,1.59,1.55,1.68,1.60,1.68,1.71,1.67,
-1.74,1.75,1.84,1.96,1.97,1.86,1.93,2.02,1.95,1.97,
-2.09,2.07,2.09,2.09,2.20,2.19,2.26,2.29,2.32,2.36,
-2.32,2.34,2.34,2.38,2.48,2.39,2.48,2.48,2.58,2.54,
-2.62,2.64,2.57,2.81,2.77,2.76,2.73,2.85,2.80,2.96,
-2.96,2.91,2.96,2.95,3.12,3.13,3.14,3.07,3.06,3.15,
-3.21,3.24,3.26,3.38,3.30,3.25,3.50,3.44,3.37,3.46,
-3.47,3.56,3.46,3.60,3.55,3.69,3.71,3.75,3.74,3.78,
-3.83,3.79,3.88,3.94,3.88,3.97,3.93,3.99,3.98,4.07,
-4.15,4.08,4.22,4.18,4.29,4.22,4.26,4.37,4.38,4.39,
-4.35,4.41,4.40,4.55,4.51,4.48,4.51,4.56,4.61,4.70,
-4.80,4.79,4.80,4.80,4.78,4.72,4.79,4.87,4.83,5.05,
-4.95,4.88,4.99,5.03,5.06,5.19,5.14,5.20,5.26,5.19,
-5.22,5.35,5.46,5.34,5.48,5.25,5.39,5.44,5.45,5.56,
-5.54,5.66,5.70,5.66,5.55,5.64,5.76,5.88,5.73,5.66,
-5.84,5.94,5.94,5.88,5.85,5.95,5.97,6.13,6.09,6.13,
-6.17,6.07,6.18,6.17,6.26,6.27,6.43,6.30,6.30,6.32,
-6.33,6.47,6.36,6.48,6.64,6.44,6.58,6.53,6.56,6.78,
-6.63,6.83,6.93,6.66,6.84,7.00,6.81,6.92,6.93,7.00,
-7.02,7.23,6.99,7.01,7.08,7.09,7.24,7.34,7.21,7.42,
-7.45,7.25,7.47,7.38,7.42,7.46,7.41,7.47,7.54,7.60,
-7.44,7.57,7.72,7.66,7.68,7.75,7.74,7.83,7.86,7.69,
-7.91,7.87,7.96,7.93,8.07,7.95,7.95,8.26,8.23,8.18,
-8.01,8.31,8.22,8.23,8.49,8.40,8.57,8.40,8.41,8.36,
-8.41,8.54,8.45,8.56,8.65,8.63,8.66,8.79,8.73,8.71,
-0.23,0.23,0.26,0.27,0.32,0.33,0.36,0.38,0.39,0.46,
-0.46,0.49,0.51,0.53,0.55,0.59,0.61,0.65,0.65,0.66,
-0.67,0.73,0.72,0.73,0.80,0.76,0.84,0.81,0.89,0.84,
-0.98,0.94,0.98,0.98,1.04,1.03,1.05,1.07,1.12,1.13,
-1.10,1.16,1.18,1.21,1.22,1.23,1.27,1.31,1.30,1.38,
-1.32,1.42,1.42,1.39,1.37,1.44,1.51,1.39,1.55,1.50,
-1.54,1.58,1.58,1.61,1.67,1.69,1.65,1.77,1.81,1.78,
-1.78,1.76,1.88,1.84,1.91,1.94,1.95,1.91,1.98,2.00,
-2.06,2.04,2.04,2.11,2.15,2.11,2.15,2.17,2.24,2.21,
-2.27,2.26,2.30,2.31,2.31,2.35,2.40,2.39,2.53,2.48,
-2.51,2.52,2.57,2.61,2.54,2.58,2.66,2.67,2.61,2.64,
-2.67,2.67,2.73,2.75,2.81,2.84,2.73,2.81,2.85,2.81,
-2.88,3.00,3.00,2.90,3.05,2.98,3.00,3.04,2.98,3.11,
-3.14,3.19,3.15,3.22,3.17,3.25,3.29,3.34,3.35,3.30,
-3.35,3.38,3.47,3.44,3.56,3.51,3.50,3.51,3.56,3.52,
-3.66,3.57,3.57,3.67,3.73,3.75,3.79,3.87,3.73,3.92,
-3.80,3.88,3.93,3.90,3.98,3.86,3.96,4.01,4.00,4.14,
-4.01,4.10,4.00,4.14,4.16,4.18,4.19,4.25,4.24,4.34,
-4.25,4.24,4.32,4.32,4.32,4.52,4.39,4.40,4.51,4.47,
-4.46,4.50,4.49,4.50,4.62,4.68,4.60,4.56,4.77,4.74,
-4.67,4.78,4.78,4.80,4.82,4.72,4.89,4.86,4.97,4.90,
-4.90,4.94,5.03,5.05,4.89,5.02,5.09,5.14,5.15,5.08,
-5.21,5.21,5.25,5.33,5.37,5.28,5.36,5.43,5.27,5.33,
-5.42,5.45,5.42,5.46,5.47,5.51,5.54,5.53,5.63,5.44,
-5.77,5.62,5.59,5.55,5.62,5.70,5.71,5.78,5.86,5.83,
-5.83,5.97,5.89,5.94,6.01,5.87,6.06,6.07,6.13,6.03,
-6.04,6.09,6.18,6.19,6.11,6.09,6.10,6.26,6.37,6.25,
-6.14,6.10,6.24,6.14,6.29,6.61,6.41,6.36,6.61,6.34,
-6.56,6.57,6.49,6.65,6.65,6.67,6.57,6.74,6.67,6.68,
-0.15,0.22,0.21,0.24,0.24,0.26,0.29,0.28,0.31,0.35,
-0.34,0.35,0.37,0.41,0.45,0.44,0.47,0.47,0.47,0.50,
-0.55,0.55,0.55,0.56,0.57,0.56,0.58,0.66,0.66,0.63,
-0.64,0.71,0.72,0.73,0.73,0.80,0.82,0.83,0.85,0.83,
-0.89,0.90,0.96,0.94,0.95,0.97,0.94,0.93,1.03,0.96,
-1.07,1.02,1.11,1.11,1.11,1.10,1.07,1.13,1.20,1.24,
-1.11,1.21,1.21,1.32,1.30,1.29,1.32,1.35,1.35,1.39,
-1.36,1.42,1.43,1.44,1.45,1.46,1.52,1.51,1.51,1.60,
-1.50,1.61,1.53,1.64,1.65,1.63,1.55,1.70,1.66,1.73,
-1.73,1.75,1.62,1.76,1.85,1.75,1.87,1.85,1.79,1.80,
-1.88,1.95,1.91,1.93,2.01,1.95,2.01,2.00,2.04,2.09,
-2.04,2.11,2.17,2.10,2.15,2.15,2.16,2.22,2.29,2.28,
-2.23,2.31,2.27,2.30,2.34,2.34,2.29,2.38,2.37,2.38,
-2.41,2.44,2.52,2.48,2.48,2.56,2.51,2.66,2.55,2.62,
-2.57,2.68,2.66,2.62,2.72,2.72,2.75,2.65,2.79,2.69,
-2.73,2.75,2.84,2.76,2.90,2.77,2.89,2.90,2.95,2.90,
-2.97,2.92,2.97,2.94,3.09,3.07,2.98,2.98,3.15,2.99,
-3.13,3.23,3.01,3.19,3.20,3.20,3.21,3.13,3.34,3.37,
-3.23,3.21,3.28,3.32,3.21,3.35,3.41,3.40,3.47,3.38,
-3.43,3.48,3.49,3.52,3.60,3.44,3.58,3.65,3.65,3.62,
-3.71,3.69,3.72,3.71,3.63,3.81,3.76,3.76,3.77,3.76,
-3.77,3.92,3.79,3.77,3.72,3.92,3.90,3.82,3.95,4.03,
-4.04,4.04,4.10,3.99,4.04,4.04,4.15,3.99,4.07,4.03,
-4.21,4.21,4.19,4.12,4.25,4.27,4.33,4.21,4.17,4.35,
-4.29,4.37,4.34,4.28,4.46,4.38,4.35,4.43,4.42,4.51,
-4.52,4.40,4.63,4.55,4.53,4.42,4.57,4.58,4.60,4.71,
-4.71,4.55,4.80,4.71,4.78,4.75,4.77,4.75,4.74,4.73,
-4.74,4.76,4.86,4.78,4.88,4.90,4.99,5.01,5.00,4.96,
-4.99,5.09,5.09,5.09,5.13,5.08,5.00,5.11,5.18,5.11,
-0.14,0.16,0.16,0.18,0.20,0.21,0.22,0.24,0.26,0.28,
-0.28,0.28,0.31,0.33,0.32,0.32,0.38,0.39,0.36,0.38,
-0.40,0.41,0.44,0.45,0.47,0.47,0.51,0.53,0.55,0.53,
-0.52,0.51,0.56,0.55,0.55,0.65,0.59,0.65,0.61,0.64,
-0.64,0.70,0.71,0.70,0.73,0.76,0.73,0.72,0.74,0.81,
-0.78,0.88,0.79,0.84,0.80,0.88,0.88,0.89,0.90,0.89,
-0.98,1.00,0.97,0.99,0.97,0.99,1.05,1.07,1.05,1.03,
-1.06,1.09,1.19,1.09,1.11,1.14,1.10,1.17,1.12,1.18,
-1.22,1.26,1.22,1.24,1.21,1.28,1.30,1.29,1.35,1.33,
-1.29,1.29,1.31,1.35,1.43,1.37,1.43,1.50,1.47,1.44,
-1.48,1.52,1.50,1.52,1.52,1.53,1.62,1.56,1.63,1.58,
-1.60,1.57,1.64,1.61,1.61,1.67,1.66,1.80,1.73,1.70,
-1.69,1.74,1.80,1.79,1.77,1.81,1.82,1.74,1.85,1.79,
-1.88,1.81,1.98,1.96,1.93,1.91,1.96,2.02,1.91,1.98,
-2.04,2.03,2.07,2.14,2.10,2.04,2.12,2.00,2.09,2.08,
-2.13,2.07,2.18,2.07,2.25,2.12,2.18,2.17,2.26,2.29,
-2.28,2.28,2.31,2.21,2.28,2.34,2.32,2.41,2.38,2.41,
-2.32,2.46,2.45,2.43,2.44,2.48,2.40,2.51,2.47,2.54,
-2.46,2.65,2.48,2.58,2.53,2.60,2.69,2.70,2.65,2.74,
-2.67,2.70,2.69,2.64,2.65,2.74,2.72,2.87,2.72,2.70,
-2.83,2.84,2.82,2.81,2.84,2.89,2.86,2.88,2.94,2.86,
-2.94,2.94,2.97,2.89,2.95,3.01,2.98,3.02,2.96,3.10,
-3.00,3.13,3.08,3.14,3.14,3.20,3.19,3.15,3.26,3.21,
-3.23,3.23,3.18,3.30,3.23,3.29,3.36,3.35,3.36,3.24,
-3.29,3.29,3.37,3.31,3.44,3.43,3.39,3.46,3.35,3.50,
-3.48,3.43,3.56,3.47,3.46,3.48,3.54,3.59,3.62,3.52,
-3.59,3.57,3.59,3.55,3.71,3.73,3.68,3.75,3.62,3.72,
-3.71,3.69,3.80,3.87,3.79,3.82,3.86,3.85,3.72,3.84,
-3.93,3.84,3.93,3.93,3.94,3.96,3.94,4.02,3.98,3.93,
-0.13,0.10,0.13,0.13,0.15,0.17,0.17,0.18,0.18,0.21,
-0.21,0.21,0.24,0.27,0.25,0.24,0.26,0.29,0.30,0.32,
-0.27,0.31,0.35,0.32,0.38,0.37,0.36,0.39,0.43,0.41,
-0.40,0.42,0.46,0.41,0.44,0.47,0.47,0.47,0.47,0.51,
-0.51,0.51,0.56,0.55,0.57,0.53,0.61,0.60,0.62,0.60,
-0.62,0.66,0.63,0.67,0.65,0.69,0.68,0.71,0.68,0.70,
-0.77,0.76,0.75,0.76,0.77,0.78,0.77,0.76,0.77,0.81,
-0.78,0.89,0.85,0.82,0.85,0.90,0.89,0.93,0.87,0.91,
-0.92,0.91,0.98,0.93,1.01,1.03,0.93,1.02,1.01,1.01,
-1.01,1.02,1.08,1.03,1.10,1.13,1.07,1.08,1.14,1.14,
-1.12,1.16,1.12,1.11,1.13,1.22,1.23,1.20,1.20,1.21,
-1.22,1.21,1.23,1.29,1.27,1.30,1.34,1.30,1.31,1.34,
-1.25,1.33,1.39,1.36,1.43,1.38,1.39,1.44,1.41,1.48,
-1.38,1.50,1.44,1.41,1.51,1.48,1.50,1.48,1.46,1.57,
-1.58,1.54,1.56,1.55,1.58,1.66,1.63,1.65,1.66,1.51,
-1.58,1.69,1.57,1.69,1.75,1.71,1.69,1.67,1.80,1.77,
-1.75,1.78,1.75,1.71,1.80,1.74,1.79,1.86,1.89,1.79,
-1.88,1.83,1.84,1.85,1.86,1.93,1.87,1.91,1.87,1.91,
-1.97,1.96,1.96,1.95,1.96,2.03,2.02,2.07,2.07,1.97,
-1.99,2.08,2.08,2.17,2.04,2.13,2.15,2.11,2.09,2.14,
-2.16,2.19,2.21,2.17,2.13,2.10,2.27,2.24,2.29,2.20,
-2.27,2.35,2.26,2.30,2.36,2.35,2.39,2.35,2.37,2.35,
-2.42,2.42,2.42,2.34,2.45,2.45,2.43,2.49,2.48,2.49,
-2.39,2.50,2.46,2.43,2.54,2.50,2.58,2.51,2.57,2.58,
-2.56,2.62,2.56,2.62,2.55,2.60,2.63,2.66,2.66,2.61,
-2.65,2.70,2.72,2.73,2.79,2.73,2.68,2.77,2.79,2.75,
-2.81,2.81,2.74,2.72,2.87,2.80,2.81,2.92,2.85,2.87,
-2.86,2.86,2.92,2.85,2.97,2.86,2.92,3.05,2.85,3.08,
-3.05,2.98,3.03,3.00,3.06,3.03,2.95,3.10,3.04,3.06,
-0.08,0.08,0.08,0.10,0.10,0.12,0.14,0.13,0.15,0.14,
-0.17,0.18,0.19,0.18,0.22,0.19,0.22,0.23,0.23,0.23,
-0.24,0.23,0.26,0.28,0.29,0.26,0.31,0.31,0.29,0.28,
-0.33,0.33,0.31,0.35,0.40,0.37,0.34,0.38,0.39,0.37,
-0.41,0.39,0.41,0.38,0.41,0.42,0.45,0.46,0.45,0.49,
-0.46,0.47,0.51,0.51,0.46,0.51,0.54,0.52,0.55,0.55,
-0.56,0.56,0.54,0.57,0.55,0.59,0.55,0.56,0.62,0.60,
-0.62,0.63,0.69,0.62,0.65,0.68,0.68,0.73,0.73,0.69,
-0.74,0.74,0.70,0.73,0.74,0.72,0.74,0.76,0.81,0.79,
-0.80,0.81,0.80,0.85,0.84,0.83,0.89,0.84,0.84,0.84,
-0.91,0.87,0.86,0.89,0.90,0.91,0.95,0.94,0.94,0.96,
-0.98,0.96,0.96,1.02,1.02,1.02,1.02,1.00,1.01,1.03,
-1.02,1.07,1.06,1.04,1.05,1.08,1.01,1.17,1.08,1.10,
-1.13,1.15,1.12,1.14,1.20,1.16,1.13,1.18,1.13,1.20,
-1.25,1.18,1.16,1.23,1.26,1.24,1.27,1.28,1.24,1.19,
-1.26,1.27,1.27,1.31,1.30,1.31,1.33,1.33,1.33,1.31,
-1.41,1.36,1.40,1.38,1.43,1.34,1.38,1.41,1.49,1.47,
-1.40,1.42,1.50,1.52,1.49,1.45,1.48,1.42,1.48,1.49,
-1.50,1.49,1.54,1.56,1.52,1.51,1.61,1.61,1.55,1.50,
-1.71,1.62,1.63,1.63,1.64,1.62,1.66,1.60,1.65,1.61,
-1.65,1.72,1.68,1.63,1.68,1.70,1.71,1.78,1.73,1.78,
-1.74,1.68,1.79,1.80,1.81,1.78,1.78,1.89,1.83,1.76,
-1.77,1.82,1.81,1.85,1.90,1.91,1.84,1.90,1.94,1.84,
-1.89,1.93,1.87,1.92,1.92,1.91,1.99,1.87,1.95,1.95,
-1.93,1.98,2.02,1.98,1.90,1.94,1.98,1.97,2.05,2.02,
-2.06,2.05,2.10,2.09,2.10,2.22,2.11,2.09,2.06,2.21,
-2.09,2.18,2.13,2.21,2.20,2.15,2.22,2.11,2.28,2.21,
-2.22,2.24,2.29,2.28,2.22,2.23,2.27,2.23,2.30,2.24,
-2.31,2.40,2.33,2.30,2.41,2.35,2.35,2.38,2.30,2.37,
-0.06,0.07,0.08,0.08,0.08,0.09,0.09,0.09,0.10,0.12,
-0.12,0.14,0.12,0.14,0.15,0.18,0.14,0.18,0.20,0.17,
-0.18,0.20,0.20,0.20,0.21,0.23,0.20,0.23,0.23,0.22,
-0.22,0.25,0.26,0.28,0.27,0.26,0.28,0.28,0.29,0.29,
-0.31,0.32,0.31,0.33,0.32,0.36,0.35,0.33,0.37,0.36,
-0.37,0.37,0.38,0.39,0.40,0.41,0.41,0.42,0.39,0.42,
-0.45,0.47,0.47,0.43,0.47,0.48,0.46,0.47,0.45,0.50,
-0.47,0.50,0.53,0.50,0.50,0.49,0.54,0.55,0.52,0.55,
-0.53,0.55,0.54,0.59,0.58,0.57,0.56,0.61,0.59,0.64,
-0.61,0.62,0.61,0.67,0.64,0.64,0.65,0.67,0.64,0.69,
-0.67,0.66,0.70,0.70,0.67,0.68,0.70,0.71,0.71,0.77,
-0.75,0.73,0.73,0.71,0.74,0.81,0.81,0.84,0.81,0.80,
-0.82,0.76,0.77,0.77,0.76,0.78,0.83,0.88,0.80,0.83,
-0.83,0.83,0.84,0.89,0.87,0.90,0.88,0.88,0.93,0.95,
-0.93,0.91,0.93,0.90,0.92,0.96,0.97,1.01,1.02,0.92,
-1.02,1.04,1.02,1.03,1.01,1.00,0.95,1.01,1.03,1.06,
-1.01,1.06,1.05,1.06,1.03,1.10,1.14,1.09,1.07,1.10,
-1.05,1.09,1.09,1.10,1.13,1.12,1.11,1.14,1.20,1.09,
-1.16,1.15,1.17,1.12,1.18,1.15,1.19,1.19,1.18,1.21,
-1.21,1.28,1.26,1.19,1.26,1.18,1.24,1.28,1.29,1.30,
-1.34,1.33,1.31,1.27,1.26,1.27,1.35,1.29,1.27,1.28,
-1.21,1.34,1.41,1.39,1.29,1.31,1.37,1.45,1.42,1.38,
-1.39,1.46,1.40,1.43,1.38,1.41,1.40,1.41,1.40,1.48,
-1.47,1.45,1.55,1.52,1.47,1.51,1.49,1.49,1.49,1.49,
-1.53,1.50,1.49,1.51,1.53,1.55,1.57,1.55,1.57,1.55,
-1.54,1.56,1.65,1.62,1.63,1.66,1.60,1.67,1.58,1.61,
-1.56,1.67,1.58,1.71,1.68,1.70,1.65,1.68,1.67,1.66,
-1.62,1.67,1.69,1.73,1.63,1.74,1.66,1.75,1.68,1.69,
-1.75,1.76,1.81,1.77,1.76,1.81,1.78,1.77,1.80,1.78,
-0.04,0.06,0.07,0.06,0.07,0.06,0.08,0.07,0.09,0.09,
-0.09,0.09,0.10,0.10,0.12,0.12,0.11,0.14,0.14,0.13,
-0.12,0.14,0.17,0.16,0.15,0.14,0.16,0.19,0.19,0.16,
-0.17,0.17,0.20,0.20,0.20,0.21,0.24,0.21,0.23,0.22,
-0.24,0.24,0.26,0.27,0.26,0.28,0.25,0.29,0.30,0.29,
-0.29,0.28,0.30,0.28,0.27,0.31,0.28,0.28,0.33,0.34,
-0.32,0.35,0.36,0.32,0.36,0.38,0.38,0.36,0.39,0.37,
-0.39,0.35,0.39,0.38,0.40,0.39,0.39,0.42,0.41,0.43,
-0.41,0.41,0.44,0.41,0.43,0.44,0.47,0.45,0.47,0.50,
-0.44,0.50,0.52,0.50,0.50,0.49,0.49,0.51,0.53,0.53,
-0.54,0.52,0.56,0.55,0.57,0.55,0.57,0.56,0.54,0.53,
-0.56,0.56,0.60,0.60,0.59,0.61,0.62,0.62,0.64,0.62,
-0.64,0.59,0.64,0.60,0.62,0.64,0.63,0.64,0.64,0.71,
-0.65,0.64,0.62,0.68,0.63,0.69,0.71,0.70,0.69,0.71,
-0.71,0.65,0.73,0.70,0.71,0.73,0.73,0.73,0.77,0.73,
-0.77,0.79,0.76,0.76,0.74,0.78,0.79,0.76,0.83,0.78,
-0.76,0.80,0.82,0.82,0.86,0.85,0.80,0.81,0.84,0.85,
-0.81,0.79,0.88,0.85,0.82,0.86,0.85,0.89,0.91,0.90,
-0.82,0.88,0.90,0.90,0.92,0.93,0.96,0.95,0.94,0.95,
-0.90,0.91,0.92,0.94,0.97,0.98,1.00,0.92,0.94,1.03,
-1.02,0.99,0.99,0.94,1.02,0.99,0.96,1.02,1.03,1.05,
-1.02,1.03,1.13,1.07,1.11,1.10,1.04,1.07,1.09,1.02,
-1.02,1.10,1.09,1.13,1.15,1.11,1.04,1.14,1.16,1.12,
-1.09,1.13,1.14,1.10,1.16,1.13,1.17,1.11,1.19,1.10,
-1.12,1.13,1.22,1.19,1.21,1.19,1.25,1.19,1.27,1.21,
-1.24,1.15,1.21,1.18,1.19,1.26,1.21,1.22,1.23,1.23,
-1.22,1.25,1.23,1.29,1.32,1.29,1.28,1.36,1.29,1.30,
-1.28,1.27,1.34,1.34,1.31,1.29,1.33,1.30,1.36,1.36,
-1.33,1.38,1.31,1.32,1.42,1.36,1.41,1.35,1.39,1.49,
-2.02,2.27,2.52,2.65,2.79,3.04,3.21,3.42,3.63,3.85,
-4.06,4.25,4.46,4.71,4.87,5.12,5.17,5.42,5.82,5.80,
-6.03,6.25,6.46,6.78,6.86,6.98,7.13,7.39,7.69,7.86,
-8.03,8.24,8.38,8.76,8.86,9.10,9.18,9.44,9.67,9.73,
-10.06,10.16,10.45,10.67,10.89,11.03,11.24,11.51,11.73,11.85,
-12.06,12.30,12.24,12.67,12.84,13.05,13.14,13.20,13.45,13.77,
-14.18,14.10,14.41,14.66,15.07,15.02,15.12,15.30,15.79,15.74,
-15.95,16.38,16.46,16.69,16.73,17.04,17.11,17.60,17.65,17.78,
-18.05,18.17,18.27,18.51,18.61,19.05,19.05,19.45,19.57,19.81,
-19.94,20.21,20.41,20.79,20.64,20.80,21.10,21.36,21.61,21.72,
-22.06,22.10,22.51,22.57,23.01,22.88,23.33,23.65,23.58,23.84,
-24.03,24.19,24.42,24.46,24.56,24.92,25.21,25.40,25.64,25.67,
-25.84,25.93,26.51,26.58,26.41,26.69,27.12,27.28,27.48,27.81,
-27.87,28.01,28.41,28.45,28.84,28.80,29.06,29.38,29.69,29.62,
-29.85,30.13,30.44,30.53,30.70,30.85,31.17,31.11,31.49,31.79,
-31.95,31.93,32.27,32.24,32.57,32.97,33.08,33.22,33.52,33.71,
-34.12,34.06,34.14,34.09,34.57,35.15,35.07,35.49,35.32,35.53,
-36.04,36.03,36.22,36.55,36.83,36.87,36.87,37.45,37.30,37.81,
-37.59,37.86,38.24,38.45,38.44,38.68,39.09,39.09,39.58,39.40,
-39.82,40.23,40.16,40.29,40.74,40.60,41.16,41.37,41.58,41.62,
-41.85,41.84,42.37,42.46,42.66,42.99,43.17,43.23,43.12,43.52,
-43.95,44.00,44.01,44.32,44.77,45.02,44.79,45.54,45.62,45.64,
-45.85,45.90,46.29,46.55,46.64,46.80,47.17,47.19,47.35,47.81,
-47.77,47.71,48.21,48.58,48.67,48.60,48.75,48.89,49.45,49.83,
-49.65,49.82,50.12,50.55,50.91,50.48,51.24,51.26,51.56,51.60,
-51.69,51.74,52.44,52.21,52.43,52.83,52.72,53.13,53.66,53.60,
-53.97,53.80,54.01,54.27,54.64,54.33,55.27,55.38,55.26,55.46,
-55.75,55.74,56.28,55.98,56.51,56.76,57.15,57.48,57.43,57.37,
-57.82,57.88,58.17,58.19,58.73,59.00,58.96,58.96,59.01,59.61,
-1.61,1.75,1.91,2.03,2.21,2.32,2.53,2.76,2.85,2.93,
-3.18,3.32,3.51,3.69,3.77,3.91,4.06,4.26,4.46,4.52,
-4.67,4.84,4.96,5.24,5.28,5.47,5.64,5.73,5.89,6.20,
-6.30,6.41,6.69,6.86,6.93,7.06,7.19,7.34,7.42,7.67,
-7.79,7.91,8.32,8.27,8.46,8.59,8.78,8.88,9.06,9.32,
-9.20,9.46,9.70,9.84,10.13,10.05,10.29,10.41,10.65,10.79,
-10.85,11.08,11.24,11.25,11.45,11.78,11.97,12.12,12.05,12.35,
-12.52,12.64,12.98,13.09,13.41,13.40,13.32,13.71,13.72,13.79,
-13.95,14.12,14.37,14.61,14.38,14.81,15.15,15.18,15.27,15.43,
-15.58,15.75,15.93,16.00,16.15,16.43,16.63,16.71,16.68,16.90,
-17.00,17.19,17.43,17.68,17.94,18.01,17.86,17.99,18.40,18.40,
-18.82,18.78,18.96,19.13,19.30,19.37,19.39,19.94,20.20,19.87,
-20.16,20.14,20.31,20.73,20.91,21.16,21.29,21.34,21.32,21.56,
-21.83,22.06,22.08,22.32,22.53,22.70,22.75,22.86,23.27,23.28,
-23.28,23.59,23.58,23.68,23.92,23.95,24.40,24.28,24.47,24.85,
-25.10,25.12,25.28,25.46,25.33,25.60,26.05,26.26,26.39,26.38,
-26.20,26.86,26.86,26.53,27.08,27.20,27.35,27.58,27.46,27.77,
-27.94,28.11,28.22,28.65,28.58,28.55,28.90,29.15,29.21,29.49,
-29.52,29.79,29.91,29.94,30.39,30.31,30.44,30.47,30.71,30.75,
-31.16,31.26,31.31,31.43,31.84,31.65,32.24,32.16,32.55,32.73,
-32.70,32.97,33.07,33.31,33.35,33.66,33.67,34.05,33.72,34.25,
-34.24,34.32,34.57,34.55,34.88,34.88,35.24,35.16,35.24,35.39,
-35.96,35.97,35.93,36.10,36.34,36.51,36.84,37.06,36.89,37.13,
-37.60,37.68,37.77,37.85,37.81,37.71,38.19,38.55,38.59,38.77,
-39.24,39.04,39.12,39.31,39.40,39.56,40.07,40.26,40.32,40.43,
-40.58,40.78,40.95,40.86,41.13,41.31,41.29,41.67,41.58,41.70,
-42.29,42.26,42.04,42.66,42.74,42.68,43.03,43.02,43.12,43.42,
-43.58,43.70,43.82,43.82,44.13,44.58,44.10,44.70,44.74,44.90,
-45.35,45.44,45.16,45.51,45.78,45.64,46.12,46.16,46.34,46.09,
-1.27,1.35,1.55,1.65,1.80,1.91,1.96,2.09,2.18,2.37,
-2.49,2.62,2.77,2.82,2.94,3.14,3.22,3.26,3.56,3.54,
-3.67,3.71,3.89,4.03,4.12,4.23,4.46,4.51,4.68,4.68,
-4.95,4.96,5.11,5.33,5.40,5.41,5.63,5.70,5.91,5.96,
-6.03,6.16,6.43,6.44,6.59,6.83,6.90,7.02,7.00,7.25,
-7.37,7.36,7.58,7.70,7.72,7.88,7.97,8.07,8.18,8.48,
-8.59,8.51,8.65,8.79,9.05,9.06,9.20,9.49,9.49,9.58,
-9.88,9.83,10.00,9.96,10.24,10.35,10.49,10.74,10.67,10.95,
-11.04,11.04,11.12,11.21,11.36,11.64,11.58,11.89,11.91,12.10,
-12.16,12.29,12.35,12.44,12.65,12.71,12.84,12.96,13.07,13.18,
-13.37,13.40,13.65,13.72,13.67,14.05,14.08,14.10,14.44,14.46,
-14.55,14.78,14.76,14.82,15.27,15.37,15.30,15.61,15.63,15.56,
-15.68,15.98,15.98,16.05,16.33,16.39,16.48,16.71,16.55,16.87,
-16.96,17.03,17.20,17.43,17.45,17.40,17.76,17.85,18.06,18.07,
-17.99,18.22,18.37,18.48,18.55,18.88,19.03,19.01,19.21,19.20,
-19.48,19.44,19.63,19.86,19.73,20.14,19.93,20.30,20.55,20.38,
-20.55,20.75,20.90,20.95,21.16,21.34,21.46,21.32,21.61,21.88,
-21.69,22.05,22.18,22.22,22.35,22.81,22.41,22.73,22.85,22.83,
-23.00,22.89,23.31,23.66,23.53,23.51,23.91,24.03,23.91,23.96,
-24.27,24.45,24.26,24.65,24.73,24.99,25.09,24.99,25.36,25.70,
-25.43,25.56,25.67,26.08,25.85,26.32,26.42,26.34,26.35,26.58,
-26.51,26.80,26.89,27.07,27.20,27.44,27.26,27.52,27.83,27.88,
-28.22,27.91,28.15,28.25,28.54,28.58,28.41,28.95,28.82,29.09,
-29.22,29.05,29.23,29.39,29.61,29.80,29.90,30.03,30.10,30.68,
-30.10,30.65,30.62,30.79,30.80,30.79,30.96,31.27,31.16,31.50,
-31.61,31.61,31.54,31.89,32.20,32.28,32.16,32.42,32.58,32.73,
-32.56,32.77,32.65,33.00,33.27,33.41,33.58,33.58,33.61,33.91,
-33.95,34.13,34.10,34.19,34.42,34.51,34.69,34.81,35.13,34.97,
-35.32,35.27,35.76,35.75,35.53,35.82,36.10,35.92,36.09,36.20,
-0.95,1.06,1.17,1.24,1.37,1.49,1.51,1.65,1.69,1.82,
-1.91,2.01,2.07,2.19,2.26,2.41,2.45,2.63,2.69,2.75,
-2.81,2.99,3.07,3.11,3.19,3.29,3.36,3.55,3.54,3.69,
-3.84,3.88,3.87,4.15,4.27,4.23,4.38,4.42,4.50,4.77,
-4.76,4.86,4.88,5.04,5.14,5.20,5.41,5.45,5.67,5.55,
-5.72,5.67,5.95,5.91,6.08,6.17,6.25,6.32,6.46,6.66,
-6.58,6.82,6.81,6.92,7.08,7.07,7.23,7.41,7.30,7.55,
-7.55,7.71,7.88,7.85,7.83,7.97,8.26,8.26,8.41,8.43,
-8.42,8.54,8.81,8.77,9.02,8.98,9.11,9.29,9.24,9.35,
-9.50,9.49,9.60,9.54,9.85,9.98,10.09,10.22,10.39,10.27,
-10.37,10.56,10.55,10.64,10.80,11.15,11.02,11.23,11.30,11.31,
-11.41,11.40,11.52,11.66,11.78,11.91,11.84,12.16,12.15,12.18,
-12.32,12.46,12.71,12.63,12.74,12.66,12.80,13.07,13.09,13.04,
-13.46,13.22,13.42,13.63,13.66,13.68,13.69,14.05,14.04,14.20,
-14.15,14.32,14.42,14.52,14.69,14.62,14.73,14.89,15.02,15.00,
-15.16,15.24,15.30,15.39,15.49,15.68,15.89,15.69,15.89,15.94,
-16.14,16.16,16.40,16.25,16.37,16.46,16.61,16.72,16.93,16.86,
-17.01,17.12,17.27,17.27,17.42,17.65,17.53,17.67,17.88,17.77,
-17.94,18.15,18.29,18.34,18.38,18.52,18.32,18.58,18.76,18.84,
-18.85,18.80,18.92,19.29,19.30,19.52,19.46,19.68,19.50,19.92,
-19.95,19.95,20.09,20.30,20.27,20.25,20.51,20.61,20.56,20.86,
-20.70,20.93,21.13,21.05,21.02,21.32,21.48,21.72,21.80,21.97,
-21.65,22.06,22.06,22.26,22.06,22.21,22.18,22.46,22.61,22.66,
-22.73,22.71,23.06,22.67,23.01,23.09,23.31,23.20,23.59,23.61,
-23.20,23.83,23.85,23.84,24.01,24.34,24.30,24.30,24.21,24.57,
-24.54,24.66,24.75,24.85,24.74,24.86,25.37,25.14,25.44,25.39,
-25.40,25.70,25.82,25.87,25.92,25.83,26.20,26.48,26.11,26.36,
-26.44,26.51,27.03,26.77,26.63,27.07,26.99,27.14,27.44,27.36,
-27.35,27.57,27.59,27.83,27.48,27.95,28.09,28.20,28.06,28.09,
-0.75,0.85,0.92,0.99,1.07,1.16,1.19,1.25,1.34,1.42,
-1.50,1.58,1.64,1.74,1.77,1.89,1.96,1.97,2.09,2.15,
-2.20,2.24,2.42,2.45,2.55,2.56,2.62,2.78,2.94,2.80,
-2.97,3.08,3.10,3.29,3.29,3.33,3.36,3.47,3.50,3.58,
-3.74,3.72,3.88,3.94,4.05,4.16,4.16,4.20,4.36,4.41,
-4.42,4.46,4.62,4.67,4.76,4.76,4.79,4.91,5.07,4.98,
-5.18,5.22,5.29,5.37,5.48,5.63,5.59,5.76,5.72,5.84,
-5.83,5.94,6.04,6.04,6.25,6.48,6.33,6.33,6.53,6.54,
-6.74,6.71,6.76,6.86,6.94,7.01,7.14,7.07,7.23,7.24,
-7.45,7.28,7.65,7.64,7.81,7.74,7.78,8.02,8.03,7.94,
-8.11,8.22,8.34,8.40,8.39,8.41,8.51,8.75,8.65,8.70,
-8.82,8.95,9.05,9.11,9.08,9.19,9.27,9.54,9.46,9.48,
-9.73,9.62,9.82,9.82,9.76,10.02,10.26,9.98,10.12,10.19,
-10.21,10.57,10.43,10.55,10.66,10.60,10.75,10.87,10.99,10.89,
-11.13,11.04,11.34,11.15,11.44,11.31,11.63,11.55,11.75,11.97,
-11.86,11.76,11.76,12.25,12.06,12.24,12.22,12.36,12.46,12.40,
-12.34,12.61,12.77,12.84,12.73,12.92,12.88,12.92,13.05,13.16,
-13.26,13.35,13.47,13.29,13.59,13.70,13.67,13.69,13.94,13.94,
-14.12,14.03,14.06,14.24,14.34,14.39,14.50,14.59,14.52,14.52,
-14.61,14.78,14.99,15.04,15.14,14.98,15.14,15.29,15.29,15.31,
-15.49,15.58,15.72,15.60,15.76,16.02,16.02,15.92,16.12,16.25,
-16.15,16.24,16.59,16.43,16.47,16.70,16.63,16.75,16.85,17.02,
-16.85,16.95,17.09,17.28,17.18,17.27,17.50,17.48,17.42,17.59,
-17.95,17.78,17.90,18.12,17.82,18.24,18.03,18.37,18.43,18.58,
-18.51,18.55,18.39,18.55,18.74,18.65,18.80,18.86,19.03,18.91,
-19.12,19.23,19.25,19.46,19.28,19.49,19.45,19.68,19.69,19.81,
-19.76,20.16,20.19,20.26,20.23,20.10,20.37,20.36,20.41,20.81,
-20.72,20.73,20.94,20.70,20.93,20.77,21.02,21.21,21.24,21.34,
-21.53,21.20,21.47,21.47,21.64,21.99,21.84,21.87,21.82,22.25,
-0.60,0.66,0.72,0.76,0.81,0.82,0.94,0.97,1.03,1.10,
-1.24,1.23,1.28,1.39,1.40,1.40,1.57,1.60,1.62,1.63,
-1.81,1.73,1.88,1.94,2.01,2.02,2.09,2.17,2.22,2.27,
-2.31,2.37,2.49,2.51,2.53,2.57,2.65,2.79,2.78,2.85,
-2.91,2.86,2.99,3.02,3.16,3.26,3.20,3.42,3.50,3.39,
-3.54,3.56,3.48,3.68,3.71,3.80,4.00,3.89,3.91,3.93,
-4.04,4.12,4.18,4.21,4.20,4.42,4.43,4.45,4.66,4.53,
-4.63,4.70,4.63,4.87,4.93,4.95,5.06,5.00,5.05,5.21,
-5.19,5.23,5.38,5.41,5.38,5.37,5.43,5.59,5.67,5.78,
-5.85,5.94,5.80,6.03,6.14,6.03,6.05,6.13,6.26,6.37,
-6.43,6.33,6.52,6.58,6.54,6.72,6.77,6.83,6.76,6.83,
-6.80,7.00,6.82,7.00,7.24,7.28,7.25,7.27,7.41,7.51,
-7.44,7.48,7.66,7.79,7.77,7.68,7.75,7.82,7.89,7.94,
-8.18,8.08,8.20,8.26,8.41,8.34,8.45,8.43,8.42,8.59,
-8.65,8.69,8.90,8.88,8.81,8.99,8.87,8.86,9.09,9.26,
-9.21,9.31,9.31,9.38,9.37,9.51,9.48,9.63,9.72,9.69,
-9.87,9.99,10.04,9.98,10.04,10.22,10.10,10.27,10.35,10.31,
-10.36,10.53,10.44,10.70,10.45,10.66,10.69,10.74,10.94,10.96,
-10.87,11.10,11.22,11.19,11.19,11.24,11.50,11.37,11.49,11.43,
-11.70,11.62,11.65,11.63,11.76,11.78,11.76,12.06,12.10,11.99,
-12.13,11.98,12.37,12.26,12.37,12.47,12.46,12.64,12.54,12.71,
-12.81,12.58,12.62,12.99,12.97,12.87,13.13,12.97,12.97,13.24,
-13.26,13.27,13.56,13.36,13.58,13.34,13.49,13.66,13.68,13.91,
-13.92,13.95,13.95,14.04,14.13,14.09,14.14,14.10,14.38,14.19,
-14.35,14.47,14.42,14.45,14.63,14.74,14.63,14.83,14.90,14.93,
-15.06,15.01,14.91,14.98,14.98,15.12,15.23,15.39,15.77,15.48,
-15.50,15.60,15.77,15.84,15.93,15.95,15.81,15.92,15.93,16.03,
-16.17,16.24,16.27,16.52,16.64,16.32,16.59,16.46,16.73,16.64,
-16.76,16.72,16.76,16.87,16.99,16.94,17.16,16.90,17.10,17.21,
-0.47,0.49,0.56,0.63,0.65,0.66,0.76,0.71,0.85,0.88,
-0.90,0.94,0.99,1.05,1.10,1.13,1.22,1.22,1.29,1.35,
-1.42,1.39,1.45,1.56,1.58,1.60,1.63,1.67,1.72,1.75,
-1.70,1.84,1.88,1.98,1.94,2.05,2.03,2.07,2.23,2.21,
-2.32,2.36,2.32,2.37,2.44,2.51,2.57,2.55,2.66,2.67,
-2.73,2.74,2.90,2.81,2.85,2.88,2.93,2.95,3.06,3.12,
-3.21,3.18,3.41,3.33,3.40,3.37,3.48,3.48,3.54,3.57,
-3.62,3.60,3.71,3.85,3.80,3.73,3.81,3.88,3.91,3.96,
-4.05,4.08,4.22,4.14,4.30,4.38,4.31,4.40,4.38,4.47,
-4.62,4.68,4.57,4.65,4.52,4.72,4.79,4.80,4.83,4.89,
-4.81,5.01,4.95,5.11,5.14,5.14,5.30,5.15,5.30,5.33,
-5.46,5.43,5.45,5.68,5.53,5.67,5.66,5.77,5.89,5.74,
-5.94,5.92,5.92,5.86,6.09,6.04,6.11,6.08,6.11,6.28,
-6.27,6.34,6.36,6.36,6.42,6.54,6.63,6.52,6.70,6.62,
-6.76,6.78,6.86,6.86,6.91,6.97,6.95,7.15,7.13,7.24,
-7.29,7.17,7.18,7.38,7.35,7.36,7.46,7.51,7.41,7.38,
-7.68,7.54,7.82,7.78,7.98,7.79,7.85,7.95,7.91,8.04,
-8.12,8.13,8.15,8.22,8.21,8.25,8.49,8.39,8.46,8.47,
-8.52,8.61,8.60,8.61,8.71,8.85,8.90,8.89,8.85,8.91,
-9.06,8.95,9.05,9.06,9.23,9.06,9.31,9.37,9.37,9.46,
-9.33,9.42,9.38,9.46,9.87,9.83,9.71,9.79,9.74,9.75,
-10.09,9.80,10.07,10.06,10.02,9.97,10.20,10.13,10.26,10.25,
-10.21,10.35,10.57,10.61,10.49,10.63,10.47,10.66,10.44,10.73,
-10.82,10.88,10.88,10.81,11.01,11.11,10.99,11.00,11.20,11.15,
-11.26,11.16,11.30,11.44,11.26,11.32,11.46,11.57,11.65,11.82,
-11.75,11.68,11.77,11.83,11.88,11.92,12.09,12.02,12.18,12.15,
-12.07,12.16,12.12,12.32,12.41,12.39,12.22,12.29,12.53,12.68,
-12.51,12.49,12.43,12.73,13.00,12.65,12.80,12.83,12.74,12.96,
-13.03,13.10,12.90,13.24,13.00,13.12,13.35,13.40,13.31,13.44,
-0.33,0.39,0.43,0.49,0.52,0.55,0.56,0.62,0.65,0.70,
-0.76,0.72,0.77,0.82,0.81,0.94,0.93,0.97,0.99,0.97,
-1.07,1.09,1.12,1.18,1.19,1.21,1.24,1.34,1.36,1.44,
-1.42,1.42,1.45,1.52,1.60,1.59,1.62,1.67,1.61,1.76,
-1.78,1.78,1.78,1.87,1.88,1.90,1.99,2.06,2.10,2.05,
-2.10,2.15,2.23,2.25,2.18,2.19,2.30,2.32,2.39,2.41,
-2.41,2.52,2.54,2.45,2.63,2.60,2.68,2.66,2.78,2.75,
-2.85,2.84,2.94,2.97,2.96,3.07,3.14,3.01,3.08,3.13,
-3.17,3.23,3.14,3.27,3.27,3.28,3.51,3.44,3.44,3.48,
-3.52,3.46,3.57,3.61,3.67,3.71,3.69,3.76,3.73,3.90,
-3.85,3.86,3.92,3.91,4.00,4.08,4.03,4.13,4.24,4.07,
-4.16,4.17,4.27,4.24,4.39,4.40,4.59,4.42,4.55,4.44,
-4.55,4.56,4.57,4.75,4.69,4.74,4.80,4.81,4.88,4.83,
-4.75,5.01,4.97,5.00,4.87,5.13,4.99,5.27,5.13,5.24,
-5.24,5.28,5.18,5.35,5.36,5.30,5.47,5.62,5.67,5.55,
-5.70,5.55,5.75,5.58,5.81,5.74,5.68,5.86,5.79,5.92,
-6.00,5.89,5.99,6.00,6.01,6.08,6.19,6.25,6.27,6.27,
-6.18,6.28,6.37,6.48,6.36,6.59,6.46,6.50,6.58,6.52,
-6.62,6.70,6.71,6.84,6.71,6.89,6.92,6.95,6.91,7.08,
-7.15,7.12,7.04,7.21,7.00,7.03,7.08,7.29,7.34,7.42,
-7.46,7.36,7.40,7.60,7.52,7.56,7.44,7.58,7.76,7.65,
-7.59,7.72,7.85,7.90,7.95,7.98,7.92,7.93,7.88,8.10,
-8.08,8.11,8.12,8.23,8.09,8.09,8.16,8.36,8.25,8.34,
-8.36,8.46,8.32,8.70,8.54,8.49,8.63,8.72,8.64,8.55,
-8.82,8.85,8.82,8.93,8.84,8.95,8.91,8.94,9.02,9.07,
-9.11,9.21,9.21,9.03,9.25,9.16,9.24,9.30,9.51,9.35,
-9.59,9.33,9.57,9.63,9.49,9.53,9.64,9.70,9.77,9.63,
-9.83,9.74,9.78,9.96,10.12,10.09,9.90,10.05,10.11,10.11,
-10.20,10.11,10.28,10.19,10.37,10.16,10.37,10.22,10.38,10.33,
-0.28,0.32,0.32,0.36,0.42,0.42,0.44,0.46,0.50,0.53,
-0.57,0.58,0.59,0.66,0.63,0.67,0.72,0.80,0.76,0.74,
-0.80,0.82,0.90,0.96,0.89,1.01,1.02,1.01,1.02,1.08,
-1.10,1.09,1.19,1.19,1.18,1.25,1.28,1.28,1.32,1.34,
-1.28,1.43,1.47,1.49,1.45,1.50,1.47,1.53,1.60,1.59,
-1.61,1.69,1.71,1.74,1.77,1.79,1.84,1.79,1.87,2.00,
-1.96,1.94,1.95,2.03,2.00,2.06,2.14,2.08,2.09,2.17,
-2.19,2.20,2.17,2.33,2.34,2.38,2.35,2.45,2.38,2.52,
-2.53,2.49,2.56,2.61,2.55,2.57,2.72,2.74,2.72,2.66,
-2.78,2.68,2.85,2.76,2.84,2.86,2.92,2.96,2.94,3.08,
-2.94,3.05,3.12,3.06,3.14,3.14,3.23,3.25,3.13,3.27,
-3.25,3.36,3.31,3.38,3.34,3.40,3.39,3.47,3.58,3.57,
-3.63,3.56,3.65,3.70,3.71,3.77,3.73,3.80,3.81,3.86,
-3.86,3.80,3.81,4.04,3.90,4.00,4.11,4.01,4.06,4.02,
-4.12,4.14,4.15,4.16,4.12,4.20,4.12,4.44,4.26,4.38,
-4.37,4.32,4.44,4.47,4.49,4.55,4.54,4.47,4.65,4.61,
-4.67,4.61,4.65,4.72,4.65,4.80,4.74,4.81,4.85,5.04,
-4.95,5.02,4.91,4.94,4.95,5.00,5.04,5.14,5.18,5.22,
-5.04,5.27,5.15,5.23,5.25,5.33,5.32,5.29,5.58,5.50,
-5.40,5.61,5.52,5.58,5.45,5.59,5.57,5.58,5.73,5.80,
-5.76,5.69,5.82,5.75,5.84,5.76,5.86,5.86,5.98,5.89,
-6.04,6.07,6.10,6.13,6.23,6.21,6.22,6.14,6.18,6.26,
-6.15,6.31,6.20,6.21,6.44,6.40,6.48,6.42,6.64,6.54,
-6.55,6.56,6.56,6.55,6.69,6.79,6.59,6.77,6.81,6.81,
-6.72,7.00,6.89,6.93,6.96,7.01,6.88,7.08,6.97,7.10,
-6.97,7.24,7.16,7.17,7.19,7.03,7.18,7.21,7.34,7.24,
-7.41,7.42,7.48,7.33,7.43,7.59,7.40,7.42,7.64,7.73,
-7.63,7.47,7.73,7.67,7.71,7.74,7.90,7.82,7.93,7.93,
-7.90,7.92,8.04,8.18,8.12,7.98,8.10,7.96,8.29,8.03,
-0.22,0.23,0.27,0.29,0.29,0.35,0.33,0.37,0.42,0.40,
-0.42,0.47,0.49,0.52,0.51,0.51,0.58,0.60,0.61,0.59,
-0.64,0.64,0.68,0.73,0.73,0.74,0.79,0.80,0.83,0.82,
-0.88,0.91,0.88,0.91,1.01,1.02,1.00,1.00,1.05,0.99,
-1.09,1.11,1.10,1.08,1.17,1.12,1.17,1.22,1.22,1.28,
-1.27,1.27,1.37,1.38,1.34,1.39,1.43,1.40,1.46,1.51,
-1.50,1.49,1.54,1.57,1.58,1.57,1.63,1.59,1.69,1.67,
-1.69,1.74,1.77,1.75,1.78,1.81,1.86,1.84,1.85,1.82,
-1.98,1.97,1.99,1.99,2.11,2.05,2.05,2.11,2.09,2.08,
-2.16,2.10,2.22,2.32,2.23,2.22,2.26,2.23,2.30,2.32,
-2.28,2.37,2.42,2.42,2.48,2.44,2.49,2.42,2.43,2.49,
-2.57,2.58,2.54,2.59,2.61,2.69,2.65,2.73,2.78,2.69,
-2.77,2.77,2.79,2.77,2.88,2.92,2.97,2.97,2.95,2.92,
-3.14,2.98,2.98,3.08,2.98,3.07,3.03,3.09,3.13,3.29,
-3.17,3.28,3.32,3.12,3.24,3.35,3.34,3.32,3.30,3.41,
-3.40,3.46,3.48,3.40,3.51,3.48,3.54,3.43,3.56,3.62,
-3.56,3.58,3.69,3.72,3.79,3.77,3.81,3.74,3.77,3.80,
-3.86,3.77,3.88,3.78,3.95,3.93,4.01,3.93,4.13,4.10,
-4.01,4.05,4.02,4.14,4.22,4.24,4.21,4.17,4.21,4.22,
-4.22,4.25,4.36,4.35,4.36,4.32,4.40,4.45,4.48,4.51,
-4.58,4.42,4.52,4.54,4.51,4.47,4.64,4.62,4.64,4.62,
-4.79,4.64,4.60,4.78,4.77,4.80,4.88,4.78,4.78,4.83,
-4.94,4.99,4.93,4.87,4.97,4.95,5.04,4.95,5.04,5.08,
-5.08,5.11,5.16,5.26,5.11,5.30,5.25,5.20,5.29,5.36,
-5.34,5.39,5.27,5.49,5.50,5.37,5.42,5.47,5.43,5.59,
-5.53,5.57,5.51,5.64,5.53,5.67,5.59,5.61,5.73,5.77,
-5.85,5.74,5.84,5.75,5.81,5.72,5.88,5.86,5.92,5.96,
-6.00,6.00,6.02,5.95,5.96,6.11,6.11,6.10,6.09,6.11,
-6.11,6.30,6.16,6.28,6.21,6.16,6.42,6.36,6.26,6.16,
-0.15,0.20,0.22,0.23,0.22,0.27,0.24,0.29,0.29,0.32,
-0.36,0.39,0.37,0.41,0.38,0.40,0.45,0.47,0.47,0.48,
-0.51,0.53,0.54,0.55,0.54,0.55,0.60,0.63,0.67,0.65,
-0.68,0.74,0.70,0.79,0.72,0.74,0.80,0.79,0.82,0.76,
-0.82,0.85,0.84,0.93,0.88,0.91,0.98,1.02,0.93,1.04,
-1.00,0.96,1.06,1.05,1.12,1.12,1.13,1.15,1.14,1.14,
-1.16,1.20,1.25,1.21,1.20,1.27,1.26,1.26,1.25,1.25,
-1.32,1.33,1.38,1.42,1.50,1.41,1.41,1.41,1.48,1.52,
-1.54,1.58,1.57,1.56,1.55,1.58,1.58,1.64,1.61,1.70,
-1.61,1.70,1.66,1.70,1.76,1.67,1.80,1.80,1.88,1.78,
-1.83,1.82,1.90,1.92,1.89,1.94,1.92,1.95,1.93,1.92,
-2.01,1.95,2.08,2.07,2.03,2.10,2.17,2.07,2.12,2.12,
-2.14,2.18,2.20,2.09,2.19,2.33,2.27,2.27,2.29,2.33,
-2.41,2.32,2.38,2.31,2.32,2.42,2.46,2.41,2.40,2.50,
-2.60,2.50,2.51,2.47,2.55,2.60,2.62,2.62,2.69,2.60,
-2.65,2.62,2.72,2.66,2.70,2.74,2.77,2.70,2.80,2.82,
-2.79,2.71,2.88,2.85,2.94,2.78,2.89,2.87,2.94,2.96,
-2.94,3.09,3.05,3.06,3.11,3.01,3.19,3.14,3.11,3.15,
-3.10,3.16,3.15,3.26,3.33,3.31,3.38,3.17,3.17,3.31,
-3.29,3.33,3.27,3.35,3.46,3.43,3.46,3.40,3.43,3.54,
-3.49,3.61,3.46,3.51,3.62,3.62,3.59,3.58,3.58,3.65,
-3.61,3.76,3.63,3.68,3.64,3.69,3.73,3.82,3.84,3.76,
-3.89,3.77,3.89,3.90,3.87,3.98,3.91,3.94,4.00,4.00,
-3.94,3.97,4.08,4.01,4.17,4.07,4.13,4.10,4.04,4.11,
-4.07,4.05,4.18,4.11,4.28,4.12,4.25,4.26,4.39,4.25,
-4.29,4.30,4.34,4.29,4.33,4.38,4.42,4.31,4.55,4.33,
-4.49,4.58,4.43,4.45,4.63,4.54,4.53,4.67,4.56,4.72,
-4.76,4.67,4.80,4.68,4.67,4.74,4.75,4.79,4.69,4.70,
-4.73,4.87,4.80,4.82,4.99,4.85,4.76,5.04,4.93,4.94,
-0.12,0.15,0.16,0.18,0.19,0.20,0.21,0.19,0.26,0.23,
-0.27,0.28,0.29,0.29,0.29,0.33,0.32,0.36,0.40,0.38,
-0.39,0.38,0.39,0.42,0.48,0.47,0.46,0.47,0.48,0.49,
-0.53,0.55,0.54,0.56,0.57,0.58,0.62,0.59,0.61,0.68,
-0.65,0.68,0.66,0.66,0.66,0.76,0.75,0.78,0.70,0.77,
-0.76,0.80,0.80,0.81,0.82,0.81,0.86,0.83,0.86,0.90,
-0.91,0.93,1.02,0.95,0.97,1.00,0.99,0.97,1.06,0.99,
-1.07,1.04,1.03,1.08,1.06,1.08,1.08,1.08,1.20,1.17,
-1.23,1.20,1.22,1.24,1.20,1.24,1.21,1.26,1.28,1.23,
-1.26,1.31,1.34,1.32,1.30,1.37,1.37,1.41,1.39,1.43,
-1.42,1.43,1.41,1.44,1.48,1.46,1.52,1.48,1.48,1.57,
-1.57,1.61,1.62,1.56,1.64,1.58,1.67,1.66,1.62,1.76,
-1.70,1.75,1.71,1.75,1.70,1.72,1.75,1.79,1.74,1.81,
-1.78,1.82,1.92,1.92,1.92,1.84,1.90,1.92,1.87,1.98,
-1.90,2.00,2.01,1.95,1.99,1.98,2.01,2.12,2.03,2.04,
-2.10,2.06,2.09,2.04,2.18,2.12,2.13,2.15,2.16,2.18,
-2.25,2.29,2.27,2.23,2.31,2.25,2.24,2.27,2.31,2.38,
-2.34,2.35,2.38,2.38,2.40,2.39,2.37,2.43,2.44,2.40,
-2.46,2.42,2.45,2.54,2.47,2.53,2.62,2.58,2.60,2.44,
-2.57,2.60,2.55,2.57,2.70,2.65,2.67,2.77,2.67,2.71,
-2.71,2.65,2.80,2.76,2.79,2.86,2.77,2.80,2.81,2.83,
-2.76,2.83,2.95,2.85,2.86,2.95,2.94,2.91,2.98,2.95,
-2.93,3.03,3.03,3.00,3.02,3.04,3.08,3.08,3.01,2.96,
-3.14,3.13,3.24,3.15,3.13,3.28,3.16,3.06,3.26,3.26,
-3.28,3.17,3.25,3.30,3.32,3.39,3.23,3.27,3.27,3.33,
-3.35,3.35,3.40,3.41,3.45,3.46,3.53,3.48,3.43,3.48,
-3.50,3.46,3.39,3.65,3.54,3.48,3.49,3.66,3.62,3.65,
-3.56,3.56,3.65,3.70,3.63,3.62,3.76,3.68,3.71,3.81,
-3.79,3.82,3.75,3.78,3.84,3.83,3.86,3.90,3.87,3.93,
-0.10,0.10,0.14,0.14,0.14,0.17,0.16,0.18,0.18,0.20,
-0.22,0.23,0.23,0.24,0.25,0.26,0.29,0.27,0.28,0.30,
-0.33,0.34,0.38,0.35,0.35,0.35,0.36,0.35,0.38,0.40,
-0.39,0.38,0.40,0.46,0.43,0.44,0.47,0.44,0.51,0.51,
-0.50,0.51,0.52,0.53,0.59,0.56,0.59,0.56,0.60,0.61,
-0.63,0.65,0.67,0.62,0.68,0.65,0.68,0.70,0.67,0.69,
-0.68,0.70,0.78,0.75,0.73,0.75,0.76,0.78,0.77,0.76,
-0.78,0.82,0.80,0.86,0.85,0.87,0.89,0.93,0.87,0.93,
-0.87,0.94,0.95,0.96,1.01,1.00,0.94,0.99,0.97,0.97,
-1.05,0.98,1.00,1.03,1.03,1.06,1.06,1.11,1.07,1.11,
-1.10,1.05,1.19,1.17,1.17,1.13,1.17,1.23,1.16,1.24,
-1.22,1.21,1.24,1.23,1.20,1.29,1.23,1.35,1.31,1.36,
-1.27,1.36,1.35,1.38,1.37,1.34,1.40,1.35,1.40,1.35,
-1.43,1.40,1.45,1.45,1.43,1.45,1.47,1.50,1.49,1.49,
-1.55,1.59,1.58,1.54,1.52,1.56,1.60,1.58,1.57,1.59,
-1.66,1.61,1.69,1.65,1.70,1.63,1.68,1.59,1.62,1.75,
-1.70,1.70,1.78,1.86,1.74,1.84,1.83,1.79,1.82,1.78,
-1.82,1.91,1.78,1.76,1.84,1.88,1.87,1.89,1.85,1.86,
-1.92,1.99,1.96,1.97,1.92,2.03,1.93,1.96,2.05,1.91,
-2.06,1.95,2.02,2.00,2.13,2.00,2.07,2.15,2.07,2.06,
-2.11,2.21,2.16,2.12,2.13,2.23,2.20,2.19,2.26,2.21,
-2.28,2.21,2.26,2.29,2.27,2.30,2.25,2.23,2.29,2.34,
-2.26,2.36,2.30,2.38,2.44,2.34,2.39,2.27,2.39,2.34,
-2.44,2.42,2.38,2.43,2.49,2.49,2.39,2.55,2.52,2.65,
-2.59,2.50,2.50,2.54,2.59,2.61,2.56,2.58,2.63,2.63,
-2.74,2.61,2.65,2.58,2.69,2.63,2.72,2.73,2.60,2.66,
-2.72,2.75,2.70,2.77,2.71,2.78,2.80,2.73,2.81,2.90,
-2.81,2.84,2.86,2.84,2.88,2.79,2.97,2.85,2.93,2.95,
-2.90,2.94,2.93,2.98,2.89,2.94,2.96,3.01,3.01,3.06,
-0.09,0.10,0.10,0.10,0.10,0.13,0.11,0.15,0.15,0.14,
-0.16,0.18,0.18,0.18,0.20,0.20,0.20,0.21,0.25,0.20,
-0.23,0.20,0.25,0.26,0.26,0.28,0.26,0.31,0.29,0.33,
-0.33,0.34,0.32,0.36,0.32,0.37,0.35,0.36,0.36,0.41,
-0.40,0.39,0.42,0.42,0.43,0.41,0.47,0.46,0.48,0.47,
-0.43,0.49,0.49,0.51,0.49,0.44,0.54,0.55,0.54,0.51,
-0.59,0.59,0.59,0.60,0.57,0.58,0.58,0.61,0.61,0.70,
-0.60,0.62,0.66,0.66,0.66,0.63,0.70,0.67,0.68,0.71,
-0.74,0.73,0.75,0.72,0.70,0.75,0.75,0.81,0.78,0.79,
-0.82,0.83,0.79,0.82,0.83,0.80,0.88,0.80,0.85,0.82,
-0.89,0.89,0.85,0.90,0.91,0.96,0.95,0.92,0.91,0.95,
-0.92,0.99,0.94,1.00,0.94,0.97,1.01,1.03,1.01,1.05,
-1.08,1.00,1.01,1.11,1.04,1.08,1.07,1.06,1.12,1.11,
-1.12,1.11,1.06,1.08,1.19,1.13,1.14,1.14,1.16,1.21,
-1.19,1.20,1.23,1.24,1.17,1.16,1.22,1.23,1.31,1.23,
-1.19,1.33,1.31,1.26,1.27,1.31,1.35,1.29,1.28,1.30,
-1.38,1.37,1.31,1.40,1.40,1.41,1.34,1.43,1.38,1.45,
-1.38,1.39,1.45,1.46,1.38,1.38,1.48,1.50,1.46,1.53,
-1.48,1.53,1.46,1.51,1.52,1.57,1.59,1.55,1.58,1.60,
-1.52,1.60,1.59,1.55,1.66,1.55,1.65,1.69,1.62,1.62,
-1.66,1.62,1.70,1.67,1.65,1.69,1.71,1.74,1.69,1.73,
-1.67,1.69,1.77,1.77,1.78,1.79,1.70,1.71,1.82,1.79,
-1.77,1.83,1.88,1.86,1.84,1.83,1.90,1.83,1.88,1.89,
-1.95,1.94,1.85,1.90,1.90,1.91,1.92,1.92,1.97,2.08,
-1.92,1.97,1.97,2.04,2.02,2.02,2.00,2.00,2.07,2.03,
-2.08,2.06,2.08,2.09,2.08,2.16,2.16,2.13,2.17,2.15,
-2.09,2.09,2.14,2.12,2.18,2.15,2.16,2.17,2.16,2.17,
-2.13,2.30,2.25,2.28,2.23,2.31,2.25,2.23,2.26,2.30,
-2.36,2.28,2.30,2.35,2.33,2.29,2.38,2.31,2.33,2.33,
-0.06,0.07,0.08,0.09,0.10,0.10,0.09,0.09,0.11,0.11,
-0.12,0.13,0.16,0.16,0.17,0.17,0.16,0.17,0.17,0.15,
-0.20,0.18,0.23,0.19,0.23,0.22,0.23,0.20,0.22,0.22,
-0.24,0.24,0.22,0.23,0.24,0.29,0.31,0.29,0.27,0.30,
-0.30,0.29,0.29,0.33,0.35,0.35,0.36,0.37,0.33,0.33,
-0.38,0.39,0.36,0.38,0.40,0.41,0.40,0.40,0.41,0.44,
-0.39,0.42,0.40,0.46,0.48,0.45,0.46,0.47,0.48,0.41,
-0.51,0.50,0.49,0.53,0.50,0.51,0.53,0.51,0.57,0.59,
-0.56,0.55,0.55,0.56,0.53,0.58,0.56,0.58,0.61,0.59,
-0.61,0.68,0.67,0.68,0.63,0.66,0.65,0.66,0.67,0.67,
-0.68,0.70,0.68,0.68,0.73,0.74,0.72,0.75,0.71,0.69,
-0.80,0.76,0.72,0.71,0.74,0.84,0.82,0.74,0.77,0.77,
-0.80,0.85,0.82,0.77,0.79,0.78,0.82,0.88,0.81,0.84,
-0.92,0.89,0.89,0.88,0.88,0.92,0.84,0.90,0.92,0.93,
-0.94,0.88,0.94,0.97,0.94,0.98,0.95,0.98,0.95,1.01,
-1.00,0.98,1.04,0.99,1.02,1.02,1.03,0.99,1.08,1.02,
-1.01,1.05,1.09,1.07,1.17,1.09,1.05,1.07,1.13,1.08,
-1.09,1.12,1.13,1.11,1.12,1.20,1.22,1.17,1.07,1.13,
-1.17,1.16,1.19,1.19,1.23,1.19,1.23,1.26,1.23,1.21,
-1.19,1.17,1.21,1.22,1.30,1.30,1.25,1.23,1.27,1.28,
-1.33,1.34,1.23,1.27,1.35,1.35,1.32,1.30,1.33,1.33,
-1.34,1.39,1.36,1.35,1.38,1.39,1.43,1.36,1.40,1.43,
-1.41,1.46,1.36,1.48,1.44,1.40,1.51,1.46,1.43,1.44,
-1.49,1.51,1.48,1.54,1.55,1.56,1.52,1.48,1.47,1.57,
-1.58,1.53,1.59,1.54,1.52,1.60,1.61,1.57,1.61,1.59,
-1.63,1.60,1.54,1.59,1.64,1.61,1.65,1.59,1.67,1.70,
-1.65,1.66,1.67,1.72,1.65,1.72,1.72,1.71,1.72,1.71,
-1.70,1.71,1.83,1.79,1.72,1.75,1.80,1.67,1.75,1.69,
-1.78,1.75,1.77,1.83,1.86,1.85,1.88,1.88,1.81,1.85,
-2.20,2.56,2.64,2.94,3.11,3.34,3.56,3.75,4.01,4.29,
-4.43,4.73,4.87,5.05,5.27,5.51,5.72,5.93,6.08,6.51,
-6.76,6.91,7.02,7.20,7.48,7.72,8.01,8.05,8.39,8.64,
-8.67,8.93,9.11,9.48,9.73,9.84,9.99,10.13,10.29,10.56,
-10.99,11.21,11.28,11.64,11.87,12.02,12.31,12.48,12.63,13.08,
-13.18,13.24,13.49,13.70,13.92,14.25,14.41,14.54,14.85,15.06,
-15.20,15.71,15.91,15.86,16.05,16.40,16.77,16.74,17.05,17.16,
-17.39,17.57,17.89,17.91,18.23,18.68,18.89,18.84,19.20,19.33,
-19.54,19.76,20.16,20.12,20.18,20.67,21.10,21.17,21.42,21.47,
-21.79,21.93,22.19,22.36,22.70,22.81,23.08,23.45,23.59,23.67,
-23.79,24.17,24.46,24.53,24.74,25.11,25.33,25.35,25.74,25.95,
-26.21,26.63,26.51,26.64,27.04,27.01,27.48,27.67,27.82,28.27,
-28.29,28.52,28.68,28.98,29.18,29.27,29.67,29.92,29.92,30.08,
-30.33,30.58,30.96,31.22,31.34,31.73,31.64,31.71,31.99,32.36,
-32.64,32.71,33.23,33.10,33.47,33.81,33.97,34.23,34.34,34.80,
-34.53,34.64,35.26,35.66,35.67,35.65,36.11,36.41,36.68,36.88,
-36.97,37.25,37.37,37.67,37.92,37.98,38.30,38.51,38.77,39.02,
-39.25,39.45,39.70,39.77,39.98,40.19,40.57,40.77,40.81,40.84,
-41.64,41.79,41.96,42.00,42.08,42.31,42.72,42.82,43.28,43.27,
-43.51,43.62,43.99,44.47,44.16,44.12,44.65,44.95,45.06,45.27,
-45.78,45.98,45.69,46.81,46.77,46.78,46.86,46.92,46.96,47.77,
-47.78,48.06,48.28,48.38,48.44,49.15,49.10,49.08,49.62,49.80,
-50.14,50.40,50.59,50.25,51.19,51.28,51.21,51.53,51.56,51.92,
-52.12,52.50,52.46,52.93,53.21,53.30,53.67,53.87,53.83,54.41,
-54.25,54.49,54.80,54.90,55.36,55.20,55.62,55.84,56.54,56.19,
-56.65,57.00,57.13,56.71,57.30,57.64,57.41,57.79,58.36,58.79,
-58.93,58.97,59.22,59.26,59.48,59.54,59.93,60.25,60.72,60.81,
-60.67,60.91,61.24,61.70,61.75,62.03,62.09,62.51,62.40,62.93,
-63.07,63.39,63.29,63.57,63.56,63.70,64.24,64.56,64.95,65.09,
-1.78,1.92,2.13,2.27,2.44,2.58,2.85,3.07,3.19,3.35,
-3.50,3.58,3.82,4.03,4.34,4.31,4.53,4.66,4.79,5.03,
-5.17,5.47,5.60,5.79,5.93,6.06,6.19,6.38,6.60,6.86,
-6.96,7.14,7.24,7.46,7.67,7.73,7.98,8.13,8.27,8.44,
-8.70,8.79,8.83,9.19,9.38,9.56,9.58,9.77,10.09,10.17,
-10.20,10.51,10.62,10.88,11.10,11.16,11.15,11.46,11.73,11.87,
-12.20,12.34,12.38,12.55,12.65,12.90,13.07,13.19,13.45,13.46,
-13.87,13.85,14.20,14.23,14.63,14.46,14.77,15.08,15.10,15.29,
-15.39,15.68,15.82,15.91,16.24,16.26,16.70,16.59,16.95,17.06,
-16.96,17.30,17.55,17.73,17.86,18.14,18.33,18.52,18.54,18.69,
-18.98,19.12,19.25,19.36,19.77,19.69,20.06,20.19,20.22,20.54,
-20.73,20.74,20.81,21.16,21.44,21.32,21.99,21.75,22.23,22.12,
-22.35,22.48,22.73,23.08,23.21,23.12,23.33,23.50,23.81,23.95,
-23.98,24.25,24.48,24.53,24.90,24.99,25.11,25.05,25.47,25.53,
-25.65,25.96,26.03,26.28,26.56,26.63,26.71,27.10,27.25,27.27,
-27.44,27.69,27.86,27.71,28.26,28.35,28.55,28.74,28.95,28.91,
-29.01,29.37,29.70,29.76,29.86,29.80,30.51,30.50,30.28,30.88,
-31.07,30.97,31.24,31.35,31.61,31.82,31.87,32.05,32.28,32.56,
-32.77,32.73,33.00,33.31,33.17,33.44,33.54,33.50,34.07,34.10,
-34.03,34.37,34.78,34.85,35.01,35.20,35.31,35.52,35.60,35.64,
-36.03,36.31,36.28,36.45,36.70,36.80,37.23,37.17,37.31,37.74,
-37.73,38.23,38.35,38.32,38.57,38.48,38.83,38.68,39.31,39.34,
-39.74,39.60,39.98,40.08,40.18,40.13,40.58,40.58,40.88,40.95,
-41.49,41.21,41.72,41.59,41.56,41.95,42.09,42.46,42.69,43.03,
-42.79,43.25,42.94,43.44,43.64,43.71,43.67,43.88,44.29,44.48,
-44.62,44.81,44.93,45.27,45.07,45.49,45.84,45.94,46.22,46.19,
-46.60,46.42,46.59,46.66,46.69,47.40,47.12,47.59,47.54,48.11,
-48.26,48.13,48.36,48.59,48.62,48.67,49.26,49.15,49.44,49.73,
-49.81,49.91,50.16,50.32,50.48,50.53,50.81,51.05,51.15,51.37,
-1.47,1.55,1.63,1.90,2.00,2.08,2.23,2.35,2.47,2.65,
-2.85,2.89,2.97,3.17,3.24,3.42,3.58,3.69,3.84,3.97,
-4.11,4.16,4.33,4.62,4.73,4.81,4.89,5.00,5.13,5.40,
-5.50,5.66,5.75,5.99,6.00,6.10,6.34,6.30,6.62,6.82,
-6.84,6.92,7.11,7.27,7.29,7.47,7.69,7.75,7.94,8.01,
-8.24,8.37,8.45,8.64,8.59,8.82,9.00,9.29,9.30,9.40,
-9.43,9.58,9.69,10.14,9.93,10.38,10.45,10.54,10.61,10.69,
-10.87,10.87,11.00,11.13,11.42,11.58,11.63,11.88,11.91,12.14,
-12.44,12.34,12.47,12.56,12.85,12.88,13.04,12.97,13.35,13.31,
-13.61,13.87,13.63,13.83,14.17,14.23,14.36,14.44,14.68,14.73,
-14.97,15.39,15.36,15.34,15.53,15.46,15.95,15.91,15.97,16.14,
-16.32,16.39,16.79,16.83,16.86,16.88,17.26,17.22,17.44,17.55,
-17.54,17.65,17.94,18.33,18.16,18.33,18.44,18.58,18.70,18.93,
-18.98,19.17,19.50,19.51,19.63,19.82,19.70,19.96,20.12,20.15,
-20.49,20.68,20.67,20.88,20.94,20.87,21.40,21.67,21.61,21.63,
-21.67,21.97,21.98,22.14,22.25,22.49,22.44,22.76,22.80,22.86,
-23.04,23.31,23.25,23.46,23.58,23.79,24.00,24.00,24.12,24.02,
-24.30,24.78,24.66,24.97,24.93,25.03,25.28,25.16,25.66,25.59,
-25.89,25.81,25.87,26.23,26.24,26.26,26.58,26.64,26.87,26.80,
-26.91,27.20,27.45,27.43,27.69,27.99,28.02,27.95,27.97,28.50,
-28.62,28.66,28.63,28.77,29.18,29.19,29.16,29.29,29.72,29.96,
-29.67,30.06,29.91,30.18,30.41,30.62,30.56,30.89,30.89,31.10,
-31.38,31.25,31.56,31.61,31.73,31.93,32.08,32.18,32.40,32.68,
-32.71,32.82,32.72,32.96,33.26,33.50,33.28,33.31,33.53,33.63,
-34.14,34.16,34.20,34.27,34.58,34.56,34.76,34.78,34.91,34.92,
-35.23,35.76,35.34,35.84,35.87,36.04,35.90,36.30,36.37,36.29,
-36.77,36.68,36.84,37.15,37.43,37.43,37.61,37.84,37.80,37.72,
-37.85,38.04,38.09,38.54,38.62,38.64,38.46,38.86,39.26,38.93,
-39.27,39.45,39.37,39.66,39.72,39.86,40.40,40.73,40.32,40.68,
-1.09,1.23,1.35,1.39,1.53,1.61,1.77,1.80,2.00,2.02,
-2.14,2.34,2.40,2.44,2.63,2.74,2.84,2.91,3.06,3.22,
-3.30,3.26,3.47,3.64,3.63,3.84,3.86,3.97,4.03,4.19,
-4.29,4.41,4.49,4.60,4.71,4.76,4.92,5.10,5.13,5.35,
-5.38,5.42,5.55,5.59,5.90,5.95,6.07,6.13,6.29,6.28,
-6.35,6.59,6.75,6.63,6.94,6.89,7.07,7.36,7.37,7.43,
-7.49,7.69,7.83,7.91,7.92,8.19,8.05,8.34,8.43,8.66,
-8.59,8.81,8.73,8.99,9.05,9.17,9.24,9.38,9.48,9.49,
-9.68,9.89,9.96,9.99,10.04,10.11,10.47,10.48,10.41,10.75,
-10.75,10.96,10.81,11.21,11.09,11.31,11.39,11.51,11.67,11.62,
-11.84,11.93,11.91,12.27,12.15,12.29,12.36,12.62,12.61,12.81,
-12.83,12.97,13.04,13.15,13.18,13.66,13.46,13.51,13.84,13.82,
-13.97,14.13,14.32,14.22,14.37,14.65,14.55,14.62,14.76,14.93,
-15.03,15.14,14.99,15.45,15.41,15.69,15.79,15.81,15.93,16.04,
-15.96,16.15,16.24,16.32,16.42,16.82,16.57,16.90,16.94,17.26,
-17.17,17.27,17.48,17.56,17.58,17.70,17.79,17.83,17.96,17.94,
-18.08,18.49,18.48,18.53,18.58,18.94,18.68,18.92,19.33,19.36,
-19.46,19.37,19.51,19.61,19.77,20.00,20.04,20.14,20.33,20.07,
-20.47,20.48,20.39,20.69,20.71,20.93,21.10,21.04,21.15,21.45,
-21.38,21.46,21.77,21.77,22.01,22.11,22.23,22.14,22.29,22.39,
-22.62,22.51,22.95,22.87,22.81,23.13,23.31,23.20,23.37,23.25,
-23.49,23.61,23.85,23.82,23.82,23.82,24.39,24.54,24.64,24.80,
-24.66,24.54,24.67,24.90,25.27,25.12,25.52,25.33,25.40,25.47,
-25.68,25.77,25.93,26.02,25.89,26.33,26.37,26.29,26.63,26.64,
-26.71,26.73,27.07,27.09,27.17,27.23,27.50,27.63,27.41,27.79,
-27.64,28.02,28.03,28.00,28.29,28.20,28.52,28.55,28.63,28.78,
-28.99,29.07,28.92,28.95,29.20,29.37,29.58,29.82,29.95,29.97,
-29.82,30.05,30.41,30.53,30.23,30.65,30.61,30.71,30.87,31.10,
-30.99,30.89,31.33,31.22,31.18,31.57,31.44,31.73,32.12,31.95,
-0.92,0.93,1.01,1.12,1.23,1.26,1.34,1.50,1.55,1.67,
-1.70,1.80,1.89,1.94,2.06,2.19,2.24,2.31,2.36,2.56,
-2.60,2.66,2.68,2.74,3.01,2.94,2.99,3.08,3.39,3.35,
-3.41,3.48,3.56,3.72,3.72,3.85,4.06,3.90,4.11,4.17,
-4.32,4.41,4.59,4.57,4.52,4.66,4.78,4.80,4.97,5.10,
-5.21,5.18,5.37,5.33,5.40,5.46,5.56,5.70,5.78,5.80,
-6.05,5.96,6.09,6.17,6.36,6.53,6.41,6.54,6.54,6.67,
-6.77,6.85,7.04,7.02,7.10,7.29,7.33,7.36,7.32,7.47,
-7.65,7.67,7.79,7.94,7.99,8.13,8.21,8.14,8.31,8.32,
-8.56,8.54,8.70,8.70,8.92,8.86,8.96,9.00,9.13,9.40,
-9.18,9.43,9.52,9.56,9.77,9.77,9.99,9.96,9.91,10.17,
-10.08,10.30,10.33,10.52,10.38,10.63,10.59,10.73,10.88,11.01,
-10.97,11.02,11.16,11.29,11.31,11.50,11.50,11.72,11.70,11.92,
-11.89,11.98,12.13,12.02,12.04,12.20,12.49,12.39,12.61,12.46,
-12.72,12.82,12.90,12.96,12.97,13.10,13.10,13.34,13.44,13.37,
-13.48,13.72,13.89,13.58,13.72,14.04,13.99,14.18,14.16,14.26,
-14.57,14.34,14.54,14.49,14.93,14.96,14.76,15.02,15.05,15.19,
-15.03,15.48,15.52,15.19,15.75,15.78,15.73,16.00,15.86,15.99,
-16.02,16.41,16.28,16.37,16.23,16.42,16.51,16.54,16.89,16.77,
-16.77,16.98,17.22,17.46,17.53,17.50,17.33,17.55,17.57,17.81,
-17.75,17.82,17.91,17.89,18.22,18.20,18.27,18.75,18.47,18.54,
-18.65,18.65,18.82,19.08,18.78,19.12,19.26,19.15,19.43,19.31,
-19.40,19.50,19.63,20.06,20.01,19.77,19.84,20.00,20.16,20.03,
-20.18,20.30,20.68,20.52,20.64,20.72,20.71,21.14,21.11,21.18,
-21.24,21.16,21.36,21.60,21.62,21.57,21.86,21.87,21.85,21.91,
-21.87,21.93,22.30,22.40,22.18,22.42,22.75,22.36,22.64,22.71,
-22.79,22.93,23.18,23.10,23.16,23.19,23.34,23.32,23.48,23.86,
-23.69,23.93,23.62,24.00,24.27,24.11,24.41,24.40,24.29,24.37,
-24.62,24.50,24.68,24.97,24.80,25.24,25.15,25.12,25.22,25.77,
-0.68,0.74,0.84,0.93,0.93,1.04,1.09,1.14,1.19,1.29,
-1.35,1.42,1.49,1.61,1.58,1.69,1.79,1.87,1.90,1.95,
-1.97,2.15,2.19,2.21,2.32,2.29,2.47,2.46,2.54,2.62,
-2.68,2.78,2.80,2.89,3.00,3.00,3.05,3.22,3.24,3.28,
-3.39,3.43,3.52,3.46,3.67,3.72,3.72,3.87,3.90,3.96,
-4.05,4.11,4.20,4.24,4.37,4.41,4.38,4.45,4.53,4.65,
-4.67,4.78,4.82,4.76,4.91,4.93,5.20,5.23,5.38,5.34,
-5.43,5.38,5.58,5.52,5.60,5.65,5.73,5.71,5.75,5.91,
-6.05,5.94,6.22,6.29,6.32,6.43,6.41,6.59,6.41,6.46,
-6.71,6.76,6.78,6.86,6.94,6.96,6.95,7.20,7.26,7.37,
-7.24,7.50,7.60,7.66,7.76,7.79,7.80,7.87,7.97,7.95,
-8.10,8.00,8.13,8.18,8.39,8.32,8.42,8.57,8.40,8.62,
-8.77,8.84,8.92,8.88,8.94,9.08,9.16,9.10,9.27,9.26,
-9.55,9.54,9.65,9.60,9.68,9.64,9.76,9.85,9.98,10.21,
-10.03,10.12,10.13,10.27,10.31,10.29,10.55,10.48,10.57,10.68,
-10.77,10.77,10.74,11.00,11.10,11.14,11.15,11.25,11.28,11.27,
-11.40,11.41,11.59,11.79,11.62,11.63,11.78,11.76,11.82,12.10,
-12.09,12.08,12.16,12.16,12.43,12.45,12.56,12.32,12.87,12.73,
-12.91,12.85,12.74,12.97,12.97,13.01,13.00,13.27,13.26,13.26,
-13.25,13.54,13.57,13.78,13.65,13.76,13.67,13.84,13.87,14.09,
-13.95,14.08,14.33,14.21,14.50,14.32,14.52,14.68,14.46,14.72,
-14.53,14.87,14.84,14.89,15.05,14.95,15.13,15.13,15.30,15.44,
-15.50,15.38,15.37,15.57,15.70,15.70,15.49,15.68,15.73,15.86,
-16.13,15.97,16.06,16.09,16.16,16.26,16.33,16.42,16.54,16.57,
-16.75,16.86,16.82,16.86,16.90,17.19,16.99,17.38,17.10,17.41,
-17.25,17.36,17.57,17.64,17.84,17.65,17.66,17.82,18.00,17.86,
-18.09,17.96,18.34,18.26,18.20,18.52,18.41,18.50,18.48,18.91,
-18.86,18.84,18.59,18.98,18.86,19.28,19.29,19.18,19.13,19.41,
-19.25,19.38,19.44,19.51,19.78,19.75,19.65,19.83,20.06,19.91,
-0.57,0.61,0.66,0.71,0.76,0.84,0.82,0.89,0.92,0.96,
-1.07,1.14,1.17,1.26,1.36,1.36,1.43,1.43,1.50,1.58,
-1.68,1.67,1.68,1.77,1.79,1.83,1.95,2.03,2.11,2.08,
-2.11,2.17,2.19,2.42,2.30,2.44,2.46,2.56,2.50,2.65,
-2.70,2.77,2.79,2.84,2.84,2.95,2.95,2.95,3.04,3.13,
-3.26,3.31,3.29,3.36,3.36,3.38,3.45,3.54,3.50,3.53,
-3.75,3.77,3.73,3.81,3.89,3.93,4.11,4.05,4.08,4.16,
-4.30,4.25,4.40,4.44,4.55,4.42,4.54,4.62,4.70,4.61,
-4.82,4.82,4.77,4.85,4.80,4.94,5.11,5.02,5.18,5.32,
-5.32,5.39,5.30,5.49,5.50,5.57,5.70,5.66,5.59,5.82,
-5.84,5.88,5.98,5.92,6.08,6.09,6.15,6.08,6.13,6.30,
-6.42,6.41,6.41,6.56,6.54,6.59,6.49,6.55,6.83,6.77,
-6.76,6.97,7.07,7.09,7.07,7.04,7.27,7.20,7.38,7.40,
-7.44,7.49,7.56,7.59,7.77,7.66,7.78,7.88,7.77,7.91,
-7.85,8.03,8.13,8.04,8.00,8.23,8.26,8.24,8.33,8.43,
-8.66,8.49,8.54,8.70,8.89,8.66,8.89,8.93,9.10,8.94,
-9.04,9.08,9.16,9.10,9.11,9.38,9.25,9.47,9.45,9.32,
-9.44,9.59,9.68,9.61,9.72,9.70,9.89,9.93,9.84,10.04,
-10.02,10.20,10.15,10.29,10.27,10.41,10.43,10.46,10.37,10.38,
-10.54,10.82,10.67,10.84,10.81,10.71,10.91,10.98,11.09,11.11,
-11.25,11.17,11.16,11.27,11.28,11.31,11.23,11.36,11.45,11.64,
-11.55,11.63,11.60,11.73,11.79,11.91,12.06,12.05,11.97,12.07,
-12.14,12.03,12.11,12.34,12.28,12.51,12.40,12.40,12.59,12.56,
-12.69,12.72,12.90,12.75,12.88,12.96,12.85,13.08,13.28,13.31,
-13.06,13.12,13.34,13.50,13.49,13.45,13.50,13.75,13.79,13.69,
-13.67,13.91,13.78,13.89,13.79,13.81,14.01,14.06,14.13,14.29,
-14.35,14.30,14.41,14.61,14.41,14.45,14.59,14.81,14.73,14.75,
-14.62,14.74,14.66,14.81,15.22,14.94,14.96,15.61,15.16,15.38,
-15.30,15.36,15.56,15.27,15.62,15.62,15.73,15.82,15.77,15.94,
-0.43,0.48,0.53,0.59,0.62,0.62,0.66,0.69,0.76,0.86,
-0.83,0.90,0.92,0.99,1.07,0.99,1.07,1.16,1.20,1.18,
-1.25,1.34,1.36,1.35,1.39,1.55,1.51,1.56,1.56,1.61,
-1.69,1.77,1.76,1.75,1.85,1.93,1.93,1.90,1.94,2.06,
-2.10,2.14,2.19,2.22,2.31,2.36,2.35,2.41,2.49,2.46,
-2.51,2.47,2.57,2.64,2.61,2.69,2.73,2.83,2.95,2.99,
-2.88,3.09,3.01,3.08,3.13,3.26,3.19,3.21,3.21,3.29,
-3.40,3.31,3.47,3.41,3.48,3.48,3.46,3.54,3.64,3.73,
-3.73,3.78,3.73,3.81,3.95,4.10,3.93,3.94,4.05,4.19,
-4.18,4.20,4.30,4.36,4.26,4.32,4.54,4.56,4.42,4.54,
-4.59,4.69,4.69,4.67,4.81,4.77,4.90,4.89,5.05,5.02,
-5.03,5.07,5.09,5.02,5.11,5.28,5.40,5.26,5.39,5.51,
-5.36,5.38,5.56,5.58,5.55,5.66,5.68,5.59,5.84,5.79,
-5.87,6.03,5.84,6.08,5.98,6.00,6.02,6.10,6.16,6.28,
-6.33,6.31,6.26,6.43,6.53,6.31,6.51,6.58,6.75,6.63,
-6.61,6.71,6.59,6.83,6.88,6.85,6.86,7.06,7.15,7.12,
-7.16,7.24,7.17,7.32,7.22,7.35,7.28,7.43,7.48,7.54,
-7.49,7.55,7.76,7.72,7.71,7.68,7.83,7.79,7.91,8.00,
-7.80,7.83,7.84,8.16,8.08,8.15,8.23,8.19,8.29,8.31,
-8.38,8.27,8.42,8.45,8.58,8.74,8.65,8.62,8.85,8.71,
-8.78,8.63,8.89,8.70,8.96,9.02,9.06,9.20,9.00,9.21,
-9.22,9.13,9.17,9.18,9.52,9.26,9.34,9.37,9.55,9.54,
-9.59,9.65,9.66,9.77,9.68,9.84,9.92,9.85,9.87,10.05,
-10.18,10.08,10.09,10.15,10.20,10.26,10.34,10.24,10.37,10.38,
-10.46,10.41,10.50,10.53,10.44,10.62,10.75,10.66,10.69,10.77,
-10.85,10.74,10.87,10.97,11.09,11.09,11.14,11.14,11.21,11.23,
-11.21,11.28,11.46,11.38,11.38,11.51,11.39,11.68,11.73,11.67,
-11.66,11.80,11.74,11.91,11.89,11.84,11.95,11.97,12.07,12.03,
-12.17,12.11,12.26,12.30,12.33,12.39,12.35,12.49,12.41,12.33,
-0.36,0.39,0.46,0.41,0.47,0.50,0.52,0.58,0.63,0.64,
-0.70,0.74,0.73,0.80,0.79,0.81,0.87,0.92,0.96,0.99,
-0.99,0.99,1.04,1.12,1.15,1.15,1.22,1.20,1.29,1.29,
-1.37,1.33,1.45,1.47,1.40,1.48,1.51,1.56,1.63,1.67,
-1.60,1.67,1.72,1.77,1.77,1.86,1.88,1.92,1.91,2.01,
-1.92,1.94,2.11,2.06,2.10,2.18,2.18,2.24,2.19,2.25,
-2.31,2.35,2.37,2.42,2.37,2.54,2.62,2.58,2.60,2.55,
-2.65,2.71,2.74,2.86,2.70,2.68,2.94,2.85,2.88,2.90,
-2.92,3.01,3.05,3.16,3.18,3.13,3.18,3.21,3.19,3.22,
-3.39,3.35,3.37,3.30,3.35,3.45,3.46,3.49,3.64,3.60,
-3.72,3.62,3.85,3.74,3.85,3.76,3.71,3.88,3.91,4.00,
-3.88,3.94,4.11,4.03,4.07,4.12,4.18,4.14,4.20,4.26,
-4.23,4.32,4.26,4.43,4.41,4.43,4.42,4.52,4.51,4.73,
-4.64,4.77,4.59,4.74,4.83,4.89,4.78,4.91,4.86,4.96,
-4.98,5.04,4.91,5.10,5.21,5.05,5.21,5.14,5.13,5.18,
-5.18,5.28,5.27,5.40,5.44,5.30,5.40,5.48,5.63,5.63,
-5.52,5.71,5.76,5.69,5.78,5.67,5.71,5.90,5.89,5.80,
-5.93,5.83,5.94,6.09,6.10,6.05,6.23,6.18,6.03,6.25,
-6.35,6.30,6.31,6.40,6.49,6.48,6.43,6.48,6.50,6.58,
-6.63,6.72,6.69,6.64,6.73,6.71,6.80,6.70,6.93,6.85,
-6.95,6.89,7.11,7.02,7.04,7.09,7.19,7.04,7.34,7.10,
-7.26,7.18,7.28,7.29,7.46,7.47,7.52,7.42,7.53,7.54,
-7.56,7.56,7.60,7.69,7.80,7.66,7.91,7.79,7.81,7.82,
-7.93,8.00,7.91,8.16,8.04,8.06,8.19,8.19,8.20,8.24,
-8.16,8.10,8.23,8.45,8.38,8.53,8.34,8.50,8.50,8.50,
-8.65,8.57,8.62,8.75,8.53,8.71,8.72,8.90,8.71,8.94,
-8.91,8.94,8.90,8.94,9.07,9.13,9.12,9.13,9.22,9.11,
-9.30,9.08,9.26,9.39,9.26,9.23,9.60,9.53,9.46,9.36,
-9.50,9.52,9.73,9.68,9.70,9.64,9.81,9.74,9.87,9.88,
-0.27,0.31,0.31,0.37,0.39,0.38,0.43,0.43,0.47,0.48,
-0.55,0.52,0.57,0.64,0.63,0.69,0.63,0.71,0.72,0.85,
-0.76,0.80,0.87,0.91,0.89,0.86,0.89,0.91,1.00,1.09,
-1.05,1.08,1.12,1.11,1.08,1.18,1.26,1.24,1.26,1.26,
-1.28,1.33,1.37,1.40,1.40,1.45,1.49,1.50,1.56,1.58,
-1.48,1.59,1.70,1.62,1.66,1.78,1.73,1.74,1.79,1.76,
-1.76,1.83,1.86,1.85,1.85,1.88,1.98,1.99,1.97,2.02,
-2.02,2.14,2.12,2.21,2.28,2.24,2.26,2.34,2.31,2.43,
-2.34,2.39,2.46,2.46,2.47,2.45,2.48,2.54,2.55,2.64,
-2.60,2.65,2.66,2.70,2.76,2.65,2.79,2.85,2.83,2.85,
-2.89,2.90,2.92,2.93,3.03,3.06,3.01,3.15,3.05,3.11,
-3.12,3.19,3.24,3.23,3.28,3.23,3.24,3.20,3.39,3.32,
-3.36,3.40,3.44,3.48,3.49,3.48,3.54,3.49,3.67,3.71,
-3.62,3.70,3.70,3.67,3.82,3.89,3.88,3.83,3.81,3.91,
-3.97,3.93,3.89,3.99,3.96,4.04,4.02,4.19,4.09,4.12,
-4.14,4.24,4.21,4.30,4.27,4.19,4.33,4.31,4.41,4.40,
-4.41,4.50,4.42,4.55,4.45,4.59,4.48,4.67,4.73,4.63,
-4.62,4.72,4.67,4.72,4.90,4.85,4.83,4.82,4.85,4.95,
-4.92,4.98,4.99,4.94,5.14,4.95,5.14,5.16,5.23,5.11,
-5.18,5.24,5.32,5.24,5.33,5.25,5.35,5.34,5.53,5.44,
-5.53,5.49,5.45,5.53,5.55,5.52,5.67,5.59,5.65,5.67,
-5.68,5.75,5.67,5.74,5.81,5.90,5.89,5.93,5.98,6.00,
-6.05,6.07,6.13,6.03,6.12,6.14,6.19,6.24,6.23,6.25,
-6.24,6.13,6.26,6.32,6.50,6.34,6.41,6.44,6.46,6.52,
-6.57,6.53,6.50,6.43,6.58,6.62,6.59,6.72,6.76,6.75,
-6.87,6.78,6.91,6.86,6.79,6.93,7.00,6.95,7.17,7.02,
-7.04,7.13,7.02,7.08,7.12,7.22,7.13,7.03,7.17,7.23,
-7.24,7.29,7.33,7.35,7.30,7.30,7.41,7.60,7.36,7.58,
-7.63,7.50,7.63,7.43,7.57,7.64,7.84,7.71,7.77,7.64,
-0.21,0.26,0.25,0.26,0.29,0.29,0.32,0.36,0.41,0.41,
-0.43,0.42,0.46,0.47,0.49,0.53,0.57,0.53,0.58,0.61,
-0.66,0.67,0.66,0.73,0.73,0.72,0.67,0.78,0.80,0.80,
-0.81,0.87,0.87,0.90,0.90,0.96,0.94,0.94,1.04,1.02,
-1.04,1.09,1.06,1.15,1.13,1.10,1.16,1.15,1.21,1.22,
-1.21,1.25,1.24,1.27,1.34,1.32,1.43,1.40,1.42,1.47,
-1.41,1.48,1.52,1.51,1.51,1.55,1.62,1.59,1.63,1.67,
-1.61,1.68,1.67,1.71,1.71,1.72,1.80,1.74,1.80,1.84,
-1.87,1.86,1.96,1.91,1.95,1.98,2.07,2.00,2.08,2.05,
-2.08,2.04,2.11,2.11,2.07,2.16,2.31,2.25,2.24,2.25,
-2.29,2.33,2.33,2.32,2.41,2.33,2.37,2.45,2.49,2.50,
-2.55,2.57,2.52,2.59,2.58,2.47,2.55,2.66,2.70,2.71,
-2.67,2.65,2.60,2.70,2.77,2.81,2.75,2.75,2.79,2.79,
-2.89,2.90,2.93,2.97,2.92,3.02,2.97,3.02,3.15,3.04,
-3.12,3.01,3.15,3.15,3.15,3.12,3.21,3.24,3.29,3.37,
-3.37,3.41,3.27,3.40,3.38,3.41,3.43,3.51,3.40,3.50,
-3.54,3.50,3.54,3.60,3.55,3.63,3.52,3.65,3.67,3.65,
-3.78,3.64,3.69,3.78,3.85,3.87,3.81,3.89,3.96,3.91,
-3.96,3.92,3.89,3.96,3.93,4.05,4.01,4.14,4.21,4.01,
-4.14,4.05,4.09,4.16,4.20,4.24,4.24,4.13,4.29,4.38,
-4.36,4.36,4.38,4.38,4.44,4.49,4.33,4.43,4.40,4.49,
-4.60,4.53,4.54,4.56,4.63,4.74,4.82,4.62,4.70,4.83,
-4.73,4.63,4.67,4.67,4.84,4.79,4.93,4.82,4.90,5.01,
-4.95,5.04,4.93,5.06,5.05,4.92,5.11,4.91,5.10,5.15,
-5.19,5.20,5.15,5.16,5.33,5.21,5.15,5.25,5.28,5.41,
-5.17,5.35,5.40,5.30,5.37,5.45,5.38,5.51,5.62,5.50,
-5.51,5.59,5.53,5.59,5.63,5.66,5.71,5.82,5.86,5.61,
-5.67,5.89,5.80,5.83,5.85,5.76,5.88,5.91,5.92,6.09,
-6.00,6.03,6.05,5.95,6.11,6.13,6.20,6.13,6.17,6.11,
-0.19,0.19,0.21,0.23,0.23,0.25,0.29,0.27,0.30,0.31,
-0.36,0.36,0.34,0.39,0.39,0.38,0.41,0.46,0.46,0.49,
-0.51,0.51,0.56,0.54,0.54,0.57,0.57,0.64,0.66,0.66,
-0.63,0.67,0.74,0.71,0.71,0.73,0.76,0.81,0.77,0.82,
-0.85,0.85,0.85,0.87,0.92,0.92,0.89,0.90,0.95,0.99,
-0.92,0.98,1.01,1.04,1.03,1.07,1.06,1.09,1.18,1.08,
-1.16,1.17,1.15,1.15,1.20,1.16,1.24,1.28,1.22,1.35,
-1.33,1.31,1.40,1.39,1.31,1.39,1.47,1.39,1.46,1.38,
-1.47,1.42,1.56,1.52,1.57,1.48,1.58,1.57,1.58,1.63,
-1.68,1.67,1.64,1.70,1.69,1.70,1.70,1.75,1.73,1.74,
-1.79,1.81,1.83,1.90,1.83,1.87,1.82,1.86,1.87,1.92,
-1.89,1.94,2.08,2.02,2.06,2.11,2.05,2.01,2.08,2.11,
-2.11,2.15,2.14,2.15,2.26,2.16,2.25,2.22,2.21,2.29,
-2.35,2.21,2.34,2.28,2.29,2.46,2.42,2.33,2.36,2.44,
-2.47,2.48,2.51,2.46,2.60,2.58,2.48,2.59,2.51,2.53,
-2.53,2.63,2.70,2.56,2.62,2.69,2.71,2.71,2.67,2.79,
-2.71,2.85,2.78,2.71,2.84,2.78,2.82,2.85,2.87,2.95,
-3.02,2.85,2.95,2.99,3.00,2.92,3.05,3.08,3.07,3.08,
-3.19,3.12,3.11,3.24,3.15,3.15,3.12,3.12,3.23,3.21,
-3.23,3.26,3.26,3.25,3.29,3.32,3.35,3.36,3.38,3.36,
-3.37,3.45,3.42,3.45,3.58,3.46,3.49,3.53,3.53,3.56,
-3.71,3.54,3.67,3.46,3.71,3.65,3.69,3.71,3.61,3.80,
-3.73,3.68,3.83,3.87,3.80,3.77,3.72,3.86,3.77,3.86,
-3.95,3.87,3.93,3.87,4.03,3.95,3.87,4.13,3.94,4.17,
-4.10,4.05,4.14,4.03,4.08,4.12,4.22,4.09,4.14,4.12,
-4.37,4.23,4.25,4.36,4.40,4.44,4.33,4.35,4.36,4.38,
-4.36,4.43,4.43,4.42,4.40,4.48,4.45,4.48,4.50,4.55,
-4.52,4.61,4.60,4.49,4.62,4.71,4.72,4.66,4.74,4.69,
-4.69,4.73,4.68,4.88,4.72,4.82,4.79,4.79,4.78,4.95,
-0.12,0.15,0.17,0.21,0.17,0.18,0.20,0.22,0.23,0.29,
-0.25,0.27,0.30,0.31,0.30,0.32,0.31,0.34,0.36,0.38,
-0.38,0.39,0.43,0.42,0.43,0.49,0.48,0.49,0.51,0.50,
-0.55,0.54,0.54,0.58,0.59,0.58,0.60,0.59,0.60,0.63,
-0.65,0.62,0.59,0.67,0.75,0.68,0.68,0.71,0.78,0.70,
-0.77,0.81,0.81,0.83,0.86,0.86,0.87,0.84,0.84,0.85,
-0.87,0.90,0.95,0.92,0.90,0.97,1.00,0.97,1.04,1.04,
-1.00,1.06,1.04,1.10,1.08,1.05,1.18,1.07,1.09,1.22,
-1.11,1.16,1.18,1.20,1.23,1.30,1.20,1.30,1.28,1.29,
-1.27,1.31,1.35,1.23,1.36,1.35,1.34,1.40,1.44,1.45,
-1.44,1.39,1.48,1.43,1.45,1.46,1.49,1.49,1.53,1.54,
-1.50,1.58,1.58,1.58,1.61,1.68,1.60,1.64,1.65,1.66,
-1.65,1.65,1.73,1.77,1.76,1.72,1.79,1.79,1.79,1.78,
-1.74,1.74,1.80,1.78,1.82,1.84,1.87,1.85,1.82,1.95,
-2.01,1.97,1.92,1.97,2.03,1.88,1.99,1.99,2.04,2.02,
-2.05,2.06,2.11,2.18,2.09,2.11,2.08,2.10,2.21,2.15,
-2.17,2.18,2.27,2.28,2.20,2.19,2.36,2.19,2.26,2.23,
-2.29,2.29,2.37,2.36,2.40,2.38,2.39,2.47,2.47,2.36,
-2.44,2.49,2.45,2.47,2.51,2.54,2.49,2.51,2.50,2.60,
-2.58,2.54,2.61,2.61,2.60,2.68,2.65,2.63,2.63,2.64,
-2.72,2.72,2.66,2.67,2.82,2.79,2.72,2.71,2.80,2.75,
-2.73,2.82,2.87,2.83,2.88,2.92,2.93,2.94,3.01,2.95,
-2.93,2.93,2.96,2.94,2.96,3.08,3.13,3.00,3.06,3.13,
-3.00,3.09,3.10,3.17,3.06,3.23,3.16,3.21,3.16,3.22,
-3.24,3.14,3.25,3.24,3.22,3.27,3.20,3.30,3.21,3.31,
-3.29,3.33,3.42,3.29,3.35,3.39,3.52,3.38,3.49,3.46,
-3.44,3.48,3.47,3.44,3.57,3.61,3.55,3.51,3.64,3.50,
-3.62,3.67,3.63,3.62,3.58,3.61,3.63,3.67,3.69,3.72,
-3.76,3.64,3.83,3.73,3.75,3.87,3.71,3.83,3.75,3.80,
-0.10,0.10,0.14,0.15,0.15,0.15,0.17,0.15,0.17,0.21,
-0.19,0.23,0.24,0.25,0.26,0.26,0.31,0.28,0.28,0.31,
-0.32,0.30,0.34,0.33,0.35,0.39,0.35,0.41,0.37,0.40,
-0.40,0.44,0.46,0.41,0.46,0.46,0.49,0.49,0.50,0.50,
-0.51,0.57,0.55,0.56,0.58,0.52,0.57,0.57,0.56,0.60,
-0.63,0.66,0.63,0.63,0.69,0.69,0.69,0.70,0.76,0.71,
-0.73,0.65,0.72,0.75,0.77,0.75,0.78,0.78,0.80,0.84,
-0.84,0.80,0.87,0.87,0.86,0.87,0.85,0.88,0.88,0.93,
-0.93,0.96,0.93,0.94,0.92,0.95,0.98,0.92,1.02,0.95,
-1.03,1.06,0.99,1.02,1.08,1.07,1.08,1.08,1.10,1.10,
-1.04,1.15,1.09,1.13,1.15,1.10,1.22,1.18,1.18,1.22,
-1.23,1.23,1.21,1.32,1.30,1.32,1.25,1.30,1.39,1.30,
-1.32,1.31,1.28,1.39,1.33,1.39,1.46,1.39,1.46,1.40,
-1.51,1.43,1.41,1.42,1.43,1.47,1.50,1.45,1.41,1.50,
-1.53,1.51,1.50,1.56,1.57,1.50,1.66,1.63,1.59,1.66,
-1.67,1.63,1.64,1.67,1.63,1.73,1.70,1.62,1.66,1.75,
-1.68,1.72,1.73,1.70,1.80,1.82,1.78,1.82,1.86,1.81,
-1.86,1.82,1.88,1.83,1.88,1.91,1.91,1.90,1.94,1.94,
-2.00,1.94,1.98,2.02,1.96,1.95,2.01,2.00,1.94,2.06,
-2.00,2.16,2.07,2.02,2.15,1.96,2.09,2.03,2.14,2.15,
-2.04,2.18,2.10,2.21,2.22,2.20,2.19,2.26,2.19,2.24,
-2.16,2.25,2.34,2.21,2.29,2.26,2.27,2.34,2.36,2.29,
-2.33,2.36,2.37,2.35,2.37,2.42,2.35,2.33,2.45,2.47,
-2.46,2.32,2.42,2.44,2.52,2.48,2.57,2.52,2.50,2.53,
-2.52,2.58,2.60,2.48,2.60,2.60,2.57,2.59,2.58,2.66,
-2.59,2.58,2.65,2.77,2.65,2.81,2.70,2.71,2.65,2.72,
-2.74,2.67,2.79,2.83,2.68,2.74,2.81,2.74,2.85,2.72,
-2.77,2.79,2.90,2.79,2.91,2.88,2.89,2.90,2.92,2.85,
-2.98,2.85,3.02,2.94,3.06,2.92,2.96,2.94,3.00,3.04,
-0.08,0.09,0.09,0.13,0.11,0.14,0.13,0.14,0.15,0.15,
-0.18,0.19,0.19,0.17,0.21,0.19,0.20,0.22,0.21,0.23,
-0.22,0.23,0.26,0.25,0.27,0.29,0.29,0.27,0.30,0.29,
-0.30,0.35,0.33,0.34,0.35,0.37,0.42,0.38,0.40,0.43,
-0.40,0.40,0.43,0.45,0.41,0.42,0.45,0.45,0.48,0.47,
-0.49,0.50,0.50,0.57,0.52,0.51,0.54,0.55,0.55,0.56,
-0.58,0.60,0.60,0.58,0.59,0.59,0.61,0.63,0.63,0.64,
-0.63,0.64,0.62,0.67,0.67,0.66,0.65,0.64,0.68,0.75,
-0.76,0.73,0.75,0.75,0.66,0.76,0.78,0.78,0.81,0.78,
-0.81,0.81,0.80,0.86,0.85,0.82,0.86,0.87,0.83,0.84,
-0.92,0.88,0.89,0.87,0.92,0.89,0.95,0.93,0.98,0.93,
-0.92,0.95,0.99,1.02,1.00,0.95,0.97,0.96,1.03,0.99,
-1.06,1.05,1.04,1.09,1.07,1.08,1.15,1.12,1.12,1.11,
-1.18,1.11,1.10,1.18,1.19,1.20,1.18,1.16,1.19,1.24,
-1.24,1.20,1.22,1.22,1.23,1.23,1.18,1.25,1.27,1.23,
-1.25,1.31,1.30,1.20,1.30,1.31,1.39,1.42,1.31,1.36,
-1.33,1.32,1.43,1.31,1.37,1.43,1.39,1.38,1.38,1.46,
-1.43,1.44,1.46,1.44,1.42,1.47,1.58,1.50,1.53,1.46,
-1.49,1.52,1.53,1.54,1.53,1.56,1.59,1.57,1.56,1.53,
-1.57,1.59,1.60,1.63,1.64,1.65,1.62,1.73,1.64,1.67,
-1.68,1.65,1.72,1.65,1.70,1.74,1.75,1.70,1.80,1.73,
-1.82,1.80,1.75,1.78,1.87,1.76,1.81,1.84,1.81,1.84,
-1.86,1.84,1.86,1.86,1.91,1.90,1.84,1.90,1.85,1.88,
-1.94,1.94,1.91,1.91,1.96,1.90,1.94,2.01,2.00,2.03,
-1.97,1.99,1.97,2.13,1.99,2.07,2.11,2.07,2.05,2.03,
-2.03,2.07,2.03,2.16,2.17,2.06,2.14,2.15,2.12,2.12,
-2.13,2.21,2.17,2.19,2.22,2.13,2.21,2.20,2.23,2.25,
-2.24,2.34,2.22,2.23,2.27,2.22,2.19,2.30,2.26,2.32,
-2.39,2.29,2.31,2.38,2.26,2.39,2.34,2.31,2.40,2.39,
-2.42,2.71,2.95,3.14,3.35,3.60,3.90,4.12,4.42,4.49,
-4.77,5.01,5.38,5.46,5.79,6.01,6.15,6.41,6.75,6.90,
-7.23,7.45,7.55,7.78,7.95,8.37,8.55,8.85,8.95,9.36,
-9.58,9.78,9.84,10.24,10.46,10.78,11.03,11.23,11.44,11.66,
-11.80,12.03,12.29,12.50,12.80,13.18,13.39,13.57,13.73,14.08,
-14.16,14.38,14.68,14.92,15.23,15.43,15.65,15.72,16.10,16.38,
-16.74,16.81,16.88,17.27,17.51,17.66,18.02,18.07,18.50,18.61,
-18.74,19.23,19.43,19.58,19.66,20.02,20.40,20.76,20.95,20.98,
-21.07,21.62,21.89,22.12,22.26,22.45,22.73,22.91,23.11,23.33,
-23.77,23.79,24.05,24.40,24.64,24.58,25.14,25.05,25.52,25.89,
-25.96,26.33,26.41,26.73,26.98,27.25,27.54,27.62,28.02,28.23,
-28.40,28.80,28.78,29.09,29.22,29.64,29.59,30.14,30.24,30.39,
-30.75,30.97,31.27,31.33,31.62,31.66,32.01,32.34,32.35,33.05,
-33.10,33.26,33.33,33.68,33.98,34.07,34.44,34.71,34.90,35.18,
-35.30,35.50,35.69,36.21,36.22,36.50,36.70,37.05,37.24,37.51,
-37.80,37.94,38.53,38.52,38.66,39.12,38.99,39.23,39.74,39.87,
-39.88,40.16,40.98,40.68,40.95,41.24,41.50,41.73,41.79,42.18,
-42.30,42.81,42.55,43.02,43.21,43.89,43.68,44.24,44.30,44.75,
-45.02,44.92,45.40,45.43,45.94,45.98,46.29,46.24,46.56,46.80,
-47.38,47.43,47.73,47.83,48.15,48.47,48.76,49.28,48.93,49.31,
-49.41,49.86,49.91,50.30,50.40,50.54,50.78,51.38,51.33,51.62,
-52.00,52.08,52.24,52.70,52.88,53.11,53.20,53.45,53.87,54.02,
-54.25,54.12,54.79,55.17,55.49,55.34,55.76,55.92,55.99,56.58,
-56.94,57.01,57.10,57.11,57.58,57.43,58.15,58.18,58.30,58.44,
-58.73,59.13,59.36,59.61,59.70,60.24,60.05,60.50,60.84,61.01,
-61.30,61.76,61.78,62.00,62.50,62.34,62.78,62.73,63.06,63.36,
-63.39,63.90,64.38,64.41,64.72,64.86,65.02,65.33,65.72,66.08,
-66.20,65.95,66.52,66.69,66.81,67.03,67.70,67.39,67.67,68.20,
-68.25,68.31,68.85,69.33,69.61,69.50,69.77,69.84,70.27,70.60,
-1.86,2.11,2.36,2.54,2.77,2.90,3.01,3.23,3.40,3.60,
-3.84,4.03,4.26,4.48,4.58,4.81,4.98,5.16,5.39,5.62,
-5.70,5.93,6.11,6.35,6.42,6.72,6.85,7.11,7.20,7.48,
-7.56,7.85,8.01,8.24,8.44,8.45,8.71,8.84,9.14,9.43,
-9.54,9.59,9.89,10.14,10.19,10.57,10.55,10.77,10.85,11.17,
-11.49,11.61,11.67,11.86,12.07,12.40,12.49,12.60,12.76,13.09,
-13.14,13.42,13.53,13.87,14.05,14.27,14.47,14.38,14.70,14.86,
-15.04,15.45,15.48,15.74,15.88,16.04,16.39,16.33,16.70,16.68,
-17.02,17.33,17.24,17.53,17.86,17.82,18.10,18.39,18.49,18.65,
-18.92,19.11,19.28,19.57,19.76,19.79,20.10,20.25,20.54,20.77,
-20.86,21.07,21.12,21.46,21.23,21.67,21.90,22.13,22.28,22.26,
-22.62,22.85,23.00,23.49,23.33,23.44,23.69,23.90,24.12,24.43,
-24.56,24.67,24.86,25.29,25.17,25.50,25.71,25.89,26.08,25.93,
-26.62,26.57,26.73,27.08,27.31,27.40,27.71,28.01,28.05,28.24,
-28.33,28.50,28.89,28.71,29.19,29.13,29.37,29.61,29.87,29.99,
-30.19,30.49,30.68,30.57,30.86,31.33,31.48,31.75,31.79,31.85,
-31.99,32.60,32.53,32.74,32.81,32.88,33.02,33.16,33.80,33.62,
-34.10,33.87,34.47,34.31,34.72,35.19,35.18,35.49,35.90,35.41,
-35.52,35.85,36.01,36.52,36.52,36.67,36.99,37.13,37.55,37.35,
-37.90,38.00,38.24,38.41,38.36,38.78,38.86,39.22,39.25,39.72,
-39.46,40.09,39.86,40.08,40.44,40.58,40.68,40.83,41.06,41.58,
-41.85,41.77,41.65,42.29,42.32,42.42,42.88,42.66,42.43,43.21,
-43.29,43.45,44.05,44.08,43.96,44.27,44.27,44.54,44.92,45.15,
-45.09,45.63,45.76,45.65,45.99,46.13,46.39,46.37,46.80,46.91,
-47.10,47.57,47.64,47.62,48.23,47.96,48.09,48.27,48.80,48.60,
-49.23,49.19,49.10,49.37,49.73,49.96,50.22,50.31,50.59,50.68,
-50.89,51.12,51.05,50.85,51.44,51.67,52.27,51.99,52.55,52.57,
-52.55,52.76,53.26,53.35,53.40,53.80,54.15,54.19,54.37,54.53,
-55.08,54.97,55.17,55.20,55.23,55.53,56.08,55.71,56.31,56.16,
-1.55,1.66,1.85,2.07,2.21,2.33,2.48,2.59,2.75,2.95,
-3.07,3.21,3.39,3.50,3.68,3.81,3.98,4.09,4.17,4.42,
-4.50,4.68,4.96,5.09,5.29,5.33,5.50,5.59,5.72,5.94,
-6.13,6.18,6.31,6.54,6.69,6.87,7.11,7.09,7.31,7.45,
-7.62,7.77,7.85,7.99,8.30,8.40,8.50,8.62,8.85,9.00,
-8.97,9.18,9.52,9.55,9.59,9.95,9.98,10.21,10.30,10.47,
-10.52,10.85,10.97,11.02,11.04,11.27,11.42,11.60,11.73,11.95,
-12.18,12.35,12.27,12.60,12.72,12.88,13.06,13.17,13.24,13.62,
-13.50,13.87,14.13,14.14,14.19,14.30,14.66,14.74,14.83,15.03,
-14.96,15.36,15.36,15.53,15.76,15.90,16.00,16.24,16.34,16.42,
-16.67,16.71,16.85,17.05,17.32,17.28,17.43,17.79,17.60,18.02,
-18.06,18.30,18.50,18.42,18.94,18.81,19.16,19.36,19.48,19.65,
-19.91,19.72,19.93,20.16,20.15,20.31,20.64,20.75,20.80,20.85,
-21.24,21.29,21.44,21.66,21.64,22.10,22.05,22.11,22.43,22.44,
-22.50,22.72,22.91,23.13,23.11,23.28,23.78,23.69,24.19,24.03,
-24.13,24.23,24.37,24.34,24.57,24.91,25.20,25.32,25.20,25.70,
-25.60,25.86,25.85,26.13,26.25,26.16,26.49,26.77,27.01,26.73,
-27.27,27.01,27.66,27.60,28.22,27.87,27.79,28.16,28.35,28.42,
-28.67,28.82,28.89,29.35,29.33,29.59,29.60,29.60,30.18,29.92,
-30.15,30.51,30.34,30.57,31.00,30.90,31.15,31.34,31.27,31.70,
-31.34,31.78,31.86,32.20,32.33,32.67,32.51,32.99,32.82,32.98,
-33.21,33.42,33.55,33.71,33.85,33.85,33.83,34.16,34.37,34.77,
-34.83,34.71,34.76,35.06,35.13,35.51,35.55,35.72,36.04,36.22,
-36.17,36.48,36.47,36.65,37.12,36.91,37.08,37.15,37.49,37.56,
-37.74,38.20,38.02,38.32,38.29,38.43,38.67,38.91,38.99,39.06,
-39.37,39.17,39.52,39.40,39.81,40.10,40.12,40.48,40.44,40.63,
-40.60,40.98,40.89,41.13,41.37,41.39,41.70,41.62,42.24,42.17,
-42.42,42.33,42.41,42.40,42.81,42.93,43.11,43.58,43.37,43.49,
-43.79,43.70,44.21,44.13,44.35,44.58,44.64,44.61,44.91,45.34,
-1.24,1.38,1.50,1.56,1.77,1.78,2.02,2.16,2.20,2.39,
-2.46,2.57,2.70,2.84,2.94,3.14,3.16,3.28,3.43,3.56,
-3.57,3.85,3.94,4.03,4.06,4.19,4.39,4.64,4.63,4.74,
-4.81,5.01,5.05,5.19,5.38,5.57,5.65,5.65,5.81,5.85,
-6.11,6.17,6.33,6.47,6.63,6.72,6.90,6.94,6.94,7.08,
-7.09,7.40,7.55,7.59,7.77,7.83,8.12,8.13,8.28,8.38,
-8.57,8.54,8.60,8.82,8.96,9.10,9.16,9.34,9.50,9.48,
-9.54,9.98,10.00,9.96,10.26,10.27,10.56,10.61,10.67,10.78,
-10.92,10.98,11.12,11.50,11.40,11.57,11.75,11.71,11.86,11.92,
-12.05,12.36,12.46,12.44,12.75,12.63,12.88,12.88,13.10,13.23,
-13.37,13.40,13.61,13.65,13.98,14.03,14.03,14.21,14.33,14.45,
-14.60,14.65,14.87,14.84,15.12,15.07,15.20,15.30,15.54,15.56,
-15.74,15.79,16.07,16.00,15.93,16.38,16.35,16.52,16.71,16.65,
-17.12,17.15,17.12,17.21,17.31,17.42,17.59,17.87,17.91,17.98,
-18.28,18.26,18.61,18.34,18.68,18.75,18.89,18.86,19.23,19.05,
-19.42,19.30,19.50,19.51,19.59,19.86,20.03,20.33,20.23,20.36,
-20.61,20.47,20.73,20.91,20.95,21.02,21.11,21.25,21.49,21.66,
-21.67,21.75,21.77,22.08,22.22,22.21,22.51,22.65,22.88,22.64,
-22.89,23.08,23.14,23.34,23.52,23.52,23.61,23.64,23.91,23.92,
-24.07,24.37,24.46,24.66,24.54,24.91,24.84,24.81,25.30,25.32,
-25.57,25.31,25.76,25.70,25.71,25.89,26.23,26.31,26.45,26.40,
-26.61,26.55,26.64,26.78,27.00,27.51,27.21,27.35,27.71,27.50,
-28.00,27.87,27.78,28.27,28.28,28.41,28.46,28.71,28.61,28.95,
-28.77,28.99,29.45,29.17,29.33,29.73,29.86,29.65,30.12,30.04,
-30.08,30.27,30.55,30.46,30.68,30.87,30.77,30.77,30.95,31.48,
-31.37,31.52,31.54,31.82,31.56,32.00,32.31,32.25,32.33,32.63,
-32.68,32.49,32.84,33.02,33.16,32.98,33.26,33.23,33.23,33.46,
-33.83,33.83,34.08,34.11,34.39,34.34,34.38,34.66,34.69,34.82,
-34.96,35.01,35.20,35.44,35.51,35.47,35.41,35.87,36.00,35.89,
-1.05,1.09,1.15,1.27,1.34,1.53,1.58,1.68,1.78,1.81,
-1.95,2.10,2.16,2.25,2.33,2.53,2.55,2.75,2.70,2.88,
-2.93,3.05,3.05,3.19,3.27,3.44,3.48,3.73,3.70,3.72,
-3.86,4.03,4.11,4.16,4.26,4.37,4.42,4.56,4.67,4.69,
-4.76,5.01,5.07,5.17,5.24,5.28,5.28,5.53,5.59,5.67,
-5.86,5.93,5.97,6.16,6.12,6.41,6.46,6.45,6.57,6.71,
-6.71,6.96,7.13,7.06,7.21,7.33,7.39,7.52,7.54,7.81,
-7.72,7.66,7.99,8.11,8.27,8.26,8.39,8.39,8.43,8.65,
-8.82,8.82,8.97,9.14,8.98,9.29,9.25,9.21,9.55,9.52,
-9.72,9.90,9.73,10.00,10.04,10.12,10.10,10.36,10.35,10.69,
-10.69,10.67,10.88,11.00,11.21,11.15,11.08,11.35,11.53,11.47,
-11.65,11.71,11.75,11.95,12.05,12.19,12.23,12.09,12.28,12.66,
-12.48,12.74,12.66,12.89,12.86,13.00,13.04,13.48,13.40,13.40,
-13.61,13.68,13.76,13.82,13.82,13.93,14.16,14.21,14.30,14.50,
-14.40,14.69,14.71,14.89,14.85,15.06,14.96,15.16,15.31,15.12,
-15.30,15.43,15.50,15.71,15.88,15.85,15.99,16.38,16.10,16.37,
-16.39,16.64,16.70,16.71,16.90,16.91,17.11,17.22,17.28,17.49,
-17.61,17.47,17.75,17.63,17.87,17.74,18.10,17.90,18.09,18.15,
-18.47,18.30,18.71,18.65,18.88,18.59,19.04,19.04,19.21,19.20,
-19.38,19.37,19.79,19.66,19.40,19.83,20.01,19.98,20.13,19.98,
-20.00,20.47,20.34,20.58,20.72,20.83,20.81,21.04,21.11,21.11,
-21.26,21.24,21.32,21.46,21.47,21.98,22.06,21.92,21.91,22.20,
-21.95,22.41,22.27,22.50,22.47,22.63,22.66,22.64,23.38,22.96,
-23.12,23.17,23.37,23.49,23.49,23.77,23.46,23.93,23.92,24.02,
-24.17,24.00,24.33,24.51,24.67,24.57,24.55,24.78,24.93,25.15,
-25.06,25.32,25.15,25.27,25.73,25.39,25.72,25.79,25.87,26.02,
-26.11,26.03,26.39,26.73,26.67,26.88,26.52,26.70,26.91,26.96,
-26.98,27.07,27.04,27.46,27.52,27.64,27.45,27.52,27.78,28.05,
-28.25,28.25,28.19,28.25,28.38,28.40,28.45,28.66,28.49,28.78,
-0.80,0.87,0.93,1.04,1.14,1.14,1.22,1.36,1.47,1.49,
-1.56,1.60,1.75,1.75,1.82,2.00,2.03,2.15,2.19,2.27,
-2.35,2.50,2.53,2.58,2.61,2.71,2.83,2.88,2.95,3.02,
-3.19,3.24,3.25,3.31,3.41,3.46,3.66,3.67,3.78,3.85,
-3.88,4.04,4.01,4.27,4.26,4.33,4.24,4.36,4.47,4.56,
-4.57,4.83,4.80,4.78,4.92,4.93,5.18,5.18,5.26,5.33,
-5.37,5.56,5.47,5.54,5.80,5.78,5.80,5.91,6.00,6.07,
-6.14,6.30,6.40,6.30,6.47,6.65,6.57,6.79,6.81,6.97,
-7.02,6.93,7.11,7.22,7.34,7.45,7.44,7.48,7.59,7.62,
-7.64,7.62,7.91,7.95,8.16,8.13,8.29,8.39,8.51,8.51,
-8.54,8.64,8.82,8.70,8.95,9.06,8.95,9.05,9.26,9.14,
-9.28,9.34,9.46,9.48,9.54,9.56,9.89,9.91,9.86,10.02,
-10.10,10.28,10.33,10.25,10.62,10.40,10.47,10.62,10.67,10.83,
-10.88,10.73,11.01,11.00,11.17,11.11,11.24,11.39,11.39,11.56,
-11.53,11.62,11.70,11.74,11.94,12.01,12.06,12.19,12.33,12.20,
-12.37,12.42,12.48,12.64,12.68,12.87,12.91,13.04,13.05,13.10,
-13.13,13.08,13.41,13.36,13.37,13.84,13.67,13.74,13.77,13.84,
-13.85,14.02,14.03,14.23,14.24,14.42,14.51,14.37,14.53,14.59,
-14.75,14.73,15.00,14.72,14.86,15.00,15.14,15.12,15.15,15.43,
-15.28,15.56,15.56,15.68,15.77,16.03,15.97,16.09,16.02,16.08,
-16.07,16.48,16.36,16.41,16.50,16.59,16.66,16.69,16.78,16.94,
-16.97,16.89,17.15,17.19,17.38,17.31,17.59,17.62,17.60,17.73,
-17.77,17.95,17.77,18.08,18.02,18.21,18.36,18.19,18.33,18.37,
-18.64,18.83,18.62,18.80,18.79,18.92,19.01,18.82,19.17,19.12,
-19.45,19.25,19.51,19.69,19.74,19.53,19.81,19.83,20.05,20.20,
-20.11,20.08,20.28,20.20,20.34,20.60,20.68,20.67,20.48,20.59,
-20.97,20.90,21.01,21.27,21.36,21.17,21.56,21.43,21.44,21.57,
-21.79,22.02,21.70,21.95,21.92,22.02,22.04,22.15,22.38,22.30,
-22.25,22.40,22.58,22.69,22.75,22.65,22.83,22.95,22.77,23.28,
-0.67,0.68,0.72,0.85,0.86,0.96,0.99,1.06,1.17,1.25,
-1.27,1.34,1.45,1.52,1.51,1.58,1.66,1.62,1.71,1.89,
-1.87,1.89,2.01,2.02,2.10,2.17,2.22,2.30,2.35,2.45,
-2.52,2.52,2.60,2.63,2.67,2.83,2.77,2.96,2.97,3.02,
-3.16,3.10,3.16,3.29,3.30,3.42,3.50,3.59,3.56,3.62,
-3.73,3.76,3.82,3.87,3.90,4.11,4.18,4.08,4.17,4.30,
-4.32,4.47,4.43,4.51,4.60,4.69,4.68,4.71,4.82,4.89,
-4.95,4.96,5.03,5.24,5.14,5.31,5.35,5.36,5.46,5.49,
-5.70,5.58,5.65,5.76,5.80,5.85,6.00,5.96,6.12,6.10,
-6.16,6.16,6.29,6.44,6.44,6.60,6.55,6.62,6.80,6.67,
-6.91,6.80,6.98,7.04,7.07,7.14,7.12,7.21,7.37,7.40,
-7.53,7.52,7.55,7.60,7.70,7.63,7.83,7.76,7.79,8.16,
-8.18,8.00,8.25,8.30,8.31,8.35,8.32,8.45,8.47,8.57,
-8.60,8.63,8.79,8.96,8.85,9.01,9.06,9.14,8.98,9.35,
-9.33,9.43,9.34,9.42,9.44,9.63,9.73,9.72,9.77,9.70,
-9.83,10.01,10.06,10.02,10.39,10.20,10.34,10.27,10.38,10.45,
-10.44,10.50,10.64,10.75,10.79,10.91,10.80,10.88,11.03,11.12,
-11.28,11.22,11.25,11.28,11.45,11.45,11.52,11.68,11.60,11.67,
-11.81,11.82,11.86,11.89,11.78,12.05,11.97,12.20,12.30,12.26,
-12.27,12.36,12.69,12.36,12.51,12.64,12.71,12.93,12.87,12.95,
-13.11,13.06,13.22,13.08,13.23,13.29,13.26,13.55,13.25,13.59,
-13.81,13.65,13.81,13.71,14.10,13.88,13.94,14.13,14.07,14.27,
-14.30,14.34,14.21,14.53,14.52,14.57,14.66,14.61,14.66,14.59,
-14.88,14.78,15.09,14.94,15.23,15.21,15.00,15.28,15.18,15.32,
-15.31,15.63,15.60,15.72,15.59,15.76,15.87,15.72,15.76,16.05,
-16.05,16.31,16.04,16.09,16.31,16.62,16.37,16.56,16.78,16.51,
-16.82,16.72,16.89,16.74,16.90,17.02,16.99,16.91,17.40,17.20,
-17.42,17.35,17.58,17.39,17.66,17.63,17.82,17.75,17.74,17.82,
-17.92,18.09,18.16,18.06,18.17,18.07,18.37,18.41,18.33,18.53,
-0.51,0.58,0.61,0.65,0.70,0.82,0.81,0.89,0.86,0.98,
-0.96,1.05,1.06,1.11,1.22,1.22,1.35,1.31,1.40,1.43,
-1.47,1.54,1.60,1.68,1.73,1.75,1.79,1.83,1.95,1.98,
-1.96,1.99,2.06,2.15,2.14,2.28,2.39,2.32,2.41,2.42,
-2.56,2.46,2.63,2.61,2.73,2.70,2.77,2.85,2.92,2.94,
-2.96,3.06,3.08,3.13,3.08,3.26,3.36,3.36,3.39,3.46,
-3.49,3.45,3.56,3.70,3.61,3.71,3.74,3.77,3.93,3.85,
-3.87,4.05,4.08,4.18,4.26,4.29,4.22,4.25,4.30,4.45,
-4.53,4.52,4.53,4.42,4.66,4.69,4.72,4.85,4.88,4.86,
-5.06,4.97,5.07,5.07,5.18,5.25,5.28,5.32,5.25,5.37,
-5.50,5.49,5.56,5.61,5.68,5.66,5.69,5.77,5.85,5.98,
-5.90,6.17,5.96,6.10,6.15,6.12,6.14,6.22,6.30,6.41,
-6.41,6.58,6.50,6.74,6.60,6.73,6.76,6.83,6.73,6.86,
-6.90,7.04,6.98,7.17,7.16,7.18,7.13,7.34,7.20,7.35,
-7.47,7.45,7.52,7.47,7.55,7.63,7.66,7.77,7.86,7.87,
-7.99,8.02,7.98,8.07,8.00,8.19,8.10,8.49,8.18,8.43,
-8.40,8.55,8.50,8.54,8.44,8.59,8.73,8.98,8.97,8.84,
-8.89,8.92,9.01,9.18,9.24,9.12,9.14,9.32,9.13,9.34,
-9.30,9.49,9.53,9.43,9.62,9.70,9.63,9.76,9.87,9.80,
-9.90,9.93,9.88,9.97,10.09,10.07,10.22,10.38,10.17,10.41,
-10.40,10.49,10.38,10.51,10.50,10.66,10.57,10.82,10.71,10.78,
-10.95,11.11,10.90,11.05,11.12,11.24,11.14,11.41,11.39,11.40,
-11.35,11.42,11.45,11.55,11.68,11.68,11.62,11.70,11.78,11.77,
-11.81,11.96,12.01,11.88,11.88,12.18,12.19,12.12,12.26,12.08,
-12.54,12.41,12.37,12.36,12.47,12.55,12.85,12.62,12.88,12.79,
-12.88,12.87,13.01,12.99,12.99,13.06,13.09,13.28,13.29,13.40,
-13.04,13.31,13.41,13.61,13.53,13.63,13.64,13.64,13.59,13.80,
-13.79,13.94,13.88,13.95,14.20,13.90,14.27,14.27,14.26,14.36,
-14.45,14.26,14.57,14.63,14.42,14.59,14.69,14.72,14.76,14.84,
-0.37,0.41,0.50,0.53,0.58,0.60,0.67,0.71,0.69,0.78,
-0.83,0.85,0.90,0.90,0.96,1.00,1.04,1.05,1.16,1.18,
-1.20,1.21,1.25,1.29,1.31,1.32,1.47,1.41,1.56,1.59,
-1.62,1.65,1.68,1.77,1.78,1.83,1.85,1.85,1.93,1.93,
-1.95,1.95,2.11,2.11,2.12,2.17,2.26,2.28,2.38,2.32,
-2.42,2.50,2.48,2.50,2.52,2.50,2.62,2.68,2.58,2.71,
-2.77,2.85,2.84,2.85,2.87,2.99,2.90,3.10,3.10,3.17,
-3.12,3.23,3.22,3.42,3.45,3.38,3.37,3.45,3.43,3.49,
-3.53,3.58,3.68,3.75,3.80,3.77,3.87,3.83,3.85,3.99,
-3.93,3.99,4.04,3.99,4.11,4.16,4.25,4.17,4.33,4.28,
-4.38,4.30,4.41,4.60,4.47,4.51,4.58,4.69,4.74,4.66,
-4.76,4.79,4.81,4.94,4.90,4.98,5.09,4.97,5.08,5.19,
-5.05,5.13,5.33,5.25,5.38,5.43,5.49,5.36,5.47,5.49,
-5.63,5.56,5.71,5.68,5.52,5.78,5.93,5.89,5.71,5.89,
-5.87,5.98,6.13,6.13,6.12,6.18,6.16,6.14,6.28,6.26,
-6.45,6.53,6.28,6.40,6.37,6.52,6.67,6.64,6.67,6.70,
-6.83,6.79,6.78,6.82,6.80,7.03,6.99,7.12,7.07,6.97,
-7.06,7.26,7.23,7.29,7.33,7.35,7.42,7.40,7.25,7.48,
-7.53,7.63,7.57,7.54,7.73,7.88,7.68,7.93,7.85,7.93,
-7.93,8.03,8.13,7.97,8.10,8.09,8.03,8.24,8.22,8.19,
-8.34,8.31,8.42,8.48,8.61,8.48,8.60,8.52,8.70,8.78,
-8.77,8.80,8.72,8.90,8.77,8.91,8.83,9.09,9.09,9.02,
-9.01,9.26,9.17,9.26,9.25,9.38,9.26,9.35,9.43,9.39,
-9.52,9.53,9.64,9.50,9.71,9.76,9.69,9.87,9.51,9.65,
-10.00,9.99,10.00,9.97,10.06,10.08,10.25,10.05,10.17,10.30,
-10.26,10.46,10.34,10.28,10.48,10.37,10.44,10.44,10.60,10.62,
-10.60,10.50,10.71,10.89,10.86,10.97,10.92,10.95,11.06,11.01,
-10.92,11.04,11.05,11.10,11.27,11.44,11.17,11.43,11.24,11.49,
-11.44,11.41,11.66,11.71,11.62,11.73,11.71,11.63,11.74,11.67,
-0.32,0.35,0.40,0.40,0.49,0.50,0.51,0.55,0.59,0.60,
-0.60,0.67,0.70,0.76,0.79,0.86,0.77,0.85,0.94,0.94,
-0.92,1.00,1.06,1.06,1.11,1.17,1.12,1.25,1.18,1.27,
-1.23,1.27,1.34,1.41,1.39,1.41,1.48,1.49,1.52,1.57,
-1.62,1.61,1.64,1.67,1.75,1.66,1.76,1.78,1.83,1.90,
-1.90,1.91,1.93,2.04,2.09,2.13,2.06,2.19,2.25,2.16,
-2.17,2.28,2.27,2.35,2.35,2.43,2.44,2.48,2.51,2.49,
-2.53,2.57,2.63,2.68,2.67,2.76,2.71,2.79,2.77,2.74,
-2.76,2.79,2.88,2.97,2.97,2.98,3.08,3.12,3.03,3.15,
-3.11,3.15,3.26,3.25,3.27,3.28,3.40,3.36,3.45,3.50,
-3.53,3.51,3.52,3.57,3.68,3.66,3.64,3.58,3.56,3.83,
-3.75,3.76,3.81,3.87,3.98,3.91,4.01,4.00,4.04,4.04,
-4.07,4.16,4.32,4.20,4.18,4.30,4.29,4.34,4.40,4.37,
-4.34,4.48,4.67,4.59,4.60,4.62,4.74,4.71,4.73,4.77,
-4.64,4.81,4.95,4.76,4.95,4.91,4.93,5.06,4.99,5.01,
-5.04,4.99,5.12,5.27,5.04,5.23,5.32,5.33,5.33,5.27,
-5.39,5.33,5.51,5.41,5.44,5.53,5.64,5.63,5.62,5.83,
-5.76,5.70,5.75,5.72,5.91,5.93,5.87,5.91,5.93,5.97,
-5.98,6.07,6.20,6.01,6.06,6.01,6.33,6.20,6.24,6.37,
-6.47,6.39,6.23,6.31,6.38,6.59,6.60,6.44,6.61,6.63,
-6.55,6.62,6.68,6.60,6.80,6.91,6.88,6.83,6.88,7.00,
-7.01,6.97,6.90,6.90,7.04,7.17,7.29,7.21,7.28,7.44,
-7.21,7.43,7.39,7.28,7.57,7.32,7.50,7.67,7.68,7.60,
-7.66,7.53,7.67,7.66,7.65,7.87,7.88,7.75,8.03,7.79,
-7.96,7.79,8.10,8.03,8.20,8.09,8.17,8.17,8.19,8.32,
-8.22,8.30,8.36,8.31,8.33,8.42,8.40,8.32,8.43,8.47,
-8.55,8.56,8.53,8.49,8.73,8.78,8.83,8.64,8.87,8.68,
-8.75,8.76,8.84,8.81,8.95,9.03,9.10,9.15,8.95,9.03,
-9.32,9.27,9.15,9.36,9.37,9.32,9.52,9.57,9.42,9.39,
-0.27,0.29,0.33,0.36,0.37,0.39,0.43,0.45,0.43,0.45,
-0.55,0.54,0.58,0.60,0.62,0.66,0.68,0.67,0.76,0.74,
-0.80,0.76,0.83,0.84,0.86,0.90,0.90,0.94,0.95,0.98,
-1.02,1.03,1.11,1.05,1.17,1.14,1.20,1.18,1.26,1.28,
-1.33,1.27,1.32,1.38,1.30,1.40,1.40,1.41,1.45,1.53,
-1.56,1.44,1.61,1.61,1.57,1.56,1.68,1.70,1.74,1.71,
-1.79,1.84,1.83,1.92,1.90,1.94,1.90,1.95,1.99,1.96,
-1.98,2.05,2.07,2.09,2.14,2.16,2.20,2.17,2.26,2.23,
-2.29,2.37,2.33,2.35,2.42,2.35,2.43,2.42,2.53,2.61,
-2.55,2.61,2.57,2.56,2.70,2.73,2.73,2.71,2.81,2.76,
-2.77,2.84,2.75,2.87,2.90,2.89,2.97,2.97,2.90,3.10,
-3.01,3.08,3.10,3.05,3.16,3.18,3.28,3.21,3.20,3.32,
-3.29,3.35,3.37,3.47,3.34,3.35,3.46,3.43,3.56,3.48,
-3.57,3.54,3.56,3.54,3.64,3.56,3.72,3.75,3.77,3.79,
-3.76,3.84,3.82,3.79,3.90,4.00,3.99,3.83,3.93,4.07,
-4.09,4.06,4.17,4.21,4.23,4.21,4.24,4.27,4.26,4.18,
-4.27,4.33,4.23,4.30,4.44,4.46,4.50,4.45,4.51,4.52,
-4.46,4.57,4.59,4.54,4.69,4.62,4.71,4.74,4.87,4.81,
-4.75,4.86,4.81,4.96,4.88,4.95,5.06,4.98,5.03,5.00,
-4.99,5.03,5.05,5.16,5.19,5.21,5.23,5.31,5.18,5.24,
-5.17,5.24,5.36,5.29,5.44,5.36,5.47,5.53,5.51,5.47,
-5.71,5.53,5.64,5.64,5.58,5.74,5.82,5.63,5.70,5.84,
-5.79,5.88,5.92,5.94,5.94,6.03,5.97,6.04,6.00,6.09,
-6.14,6.23,6.08,6.02,6.16,6.18,6.12,6.25,6.29,6.36,
-6.30,6.41,6.38,6.38,6.46,6.42,6.59,6.47,6.80,6.68,
-6.55,6.58,6.66,6.80,6.69,6.74,6.71,6.81,6.78,6.87,
-7.00,6.76,7.03,7.02,6.99,7.01,6.90,7.00,7.14,7.05,
-7.01,7.17,7.06,7.17,7.06,7.24,7.38,7.21,7.21,7.22,
-7.34,7.50,7.34,7.46,7.45,7.53,7.61,7.40,7.72,7.42,
-0.19,0.26,0.24,0.25,0.30,0.31,0.33,0.35,0.40,0.37,
-0.40,0.45,0.47,0.49,0.52,0.54,0.52,0.57,0.59,0.61,
-0.64,0.60,0.66,0.66,0.67,0.73,0.74,0.72,0.79,0.79,
-0.83,0.85,0.86,0.89,0.89,0.94,0.99,0.95,0.95,1.03,
-1.02,1.02,1.07,1.06,1.10,1.12,1.17,1.14,1.13,1.16,
-1.24,1.23,1.29,1.31,1.32,1.31,1.37,1.35,1.36,1.38,
-1.43,1.46,1.45,1.48,1.49,1.53,1.58,1.57,1.56,1.59,
-1.68,1.62,1.65,1.66,1.78,1.75,1.88,1.75,1.78,1.79,
-1.81,1.91,1.92,1.89,1.91,1.96,1.88,1.99,2.00,2.02,
-1.99,2.03,1.98,2.10,2.10,2.15,2.12,2.18,2.27,2.15,
-2.27,2.24,2.28,2.29,2.32,2.35,2.38,2.30,2.45,2.40,
-2.44,2.54,2.48,2.55,2.49,2.49,2.53,2.53,2.56,2.68,
-2.64,2.65,2.67,2.71,2.64,2.74,2.77,2.91,2.77,2.81,
-2.82,2.92,2.80,2.73,2.91,2.90,2.99,2.98,2.92,3.07,
-3.02,3.04,3.09,3.11,3.17,3.10,3.20,3.21,3.21,3.20,
-3.22,3.27,3.26,3.30,3.29,3.43,3.42,3.46,3.47,3.52,
-3.45,3.38,3.53,3.44,3.58,3.51,3.69,3.54,3.64,3.62,
-3.58,3.58,3.73,3.76,3.81,3.78,3.78,3.81,3.73,3.75,
-3.85,3.92,3.97,4.00,3.96,4.11,3.97,3.99,4.00,3.94,
-4.00,4.11,4.10,4.11,4.10,4.05,4.21,4.18,4.20,4.22,
-4.21,4.27,4.31,4.24,4.38,4.46,4.28,4.34,4.42,4.32,
-4.47,4.45,4.54,4.51,4.45,4.51,4.49,4.57,4.56,4.68,
-4.75,4.74,4.69,4.75,4.77,4.78,4.83,4.69,4.80,4.91,
-4.89,4.91,4.96,4.92,4.94,4.96,4.90,5.07,5.15,4.98,
-5.16,5.02,5.17,5.12,5.13,5.28,5.18,5.22,5.32,5.23,
-5.30,5.30,5.19,5.25,5.28,5.31,5.39,5.50,5.49,5.43,
-5.51,5.50,5.54,5.53,5.59,5.59,5.60,5.61,5.67,5.71,
-5.62,5.55,5.65,5.85,5.69,5.71,5.77,5.80,5.86,5.80,
-5.90,5.90,6.02,6.01,6.00,5.84,6.10,6.03,6.12,6.01,
-0.18,0.17,0.17,0.23,0.24,0.27,0.28,0.29,0.29,0.34,
-0.34,0.33,0.37,0.37,0.39,0.39,0.41,0.43,0.49,0.51,
-0.49,0.46,0.54,0.54,0.54,0.55,0.59,0.61,0.62,0.68,
-0.66,0.71,0.69,0.70,0.74,0.77,0.72,0.78,0.77,0.81,
-0.84,0.83,0.85,0.85,0.83,0.87,0.93,0.90,0.94,0.93,
-0.96,1.03,0.98,1.02,1.08,1.05,1.12,1.15,1.13,1.11,
-1.13,1.17,1.17,1.18,1.23,1.20,1.22,1.24,1.23,1.25,
-1.24,1.32,1.33,1.30,1.35,1.41,1.43,1.38,1.44,1.47,
-1.47,1.46,1.44,1.48,1.53,1.56,1.51,1.57,1.57,1.56,
-1.65,1.67,1.61,1.70,1.74,1.73,1.71,1.72,1.73,1.71,
-1.90,1.76,1.82,1.83,1.89,1.80,1.87,1.91,1.79,1.93,
-2.00,1.93,2.04,1.97,2.09,2.09,2.10,2.10,2.07,2.12,
-2.14,2.15,2.13,2.20,2.18,2.23,2.27,2.16,2.33,2.29,
-2.27,2.33,2.29,2.26,2.37,2.35,2.35,2.36,2.40,2.48,
-2.40,2.47,2.54,2.47,2.50,2.58,2.52,2.50,2.52,2.54,
-2.58,2.60,2.55,2.74,2.70,2.71,2.69,2.76,2.69,2.79,
-2.74,2.86,2.74,2.83,2.73,2.81,2.83,2.89,2.92,2.98,
-2.98,3.00,3.04,2.95,3.11,3.01,3.01,2.91,3.10,3.07,
-3.14,3.13,3.18,3.13,3.15,3.28,3.15,3.25,3.23,3.20,
-3.29,3.20,3.31,3.23,3.43,3.38,3.38,3.42,3.36,3.34,
-3.32,3.43,3.45,3.52,3.40,3.52,3.44,3.52,3.50,3.52,
-3.54,3.47,3.60,3.46,3.63,3.71,3.64,3.71,3.58,3.74,
-3.62,3.80,3.63,3.86,3.77,3.83,3.86,4.00,3.93,3.90,
-3.82,3.92,3.95,3.95,3.85,3.94,3.85,4.02,3.94,4.01,
-4.15,4.13,4.10,4.13,4.14,4.13,4.15,4.16,4.11,4.19,
-4.20,4.35,4.35,4.33,4.33,4.36,4.33,4.34,4.34,4.41,
-4.26,4.46,4.38,4.41,4.30,4.55,4.36,4.62,4.54,4.45,
-4.57,4.54,4.62,4.50,4.63,4.65,4.49,4.62,4.65,4.78,
-4.69,4.67,4.63,4.74,4.73,4.75,4.79,4.78,4.95,4.73,
-0.13,0.14,0.19,0.17,0.18,0.21,0.22,0.21,0.25,0.25,
-0.26,0.25,0.28,0.31,0.32,0.33,0.38,0.34,0.34,0.36,
-0.41,0.42,0.40,0.47,0.46,0.46,0.54,0.50,0.54,0.51,
-0.51,0.56,0.52,0.61,0.59,0.60,0.59,0.65,0.64,0.67,
-0.61,0.64,0.71,0.66,0.67,0.69,0.72,0.70,0.77,0.77,
-0.75,0.86,0.77,0.81,0.79,0.84,0.82,0.88,0.90,0.89,
-0.88,0.92,0.95,0.94,1.00,1.01,0.99,0.96,1.06,1.04,
-1.08,1.05,1.06,1.13,1.11,1.17,1.12,1.13,1.13,1.13,
-1.16,1.19,1.17,1.19,1.17,1.26,1.24,1.23,1.31,1.34,
-1.30,1.29,1.32,1.35,1.35,1.41,1.38,1.47,1.41,1.44,
-1.42,1.43,1.45,1.52,1.52,1.54,1.57,1.56,1.50,1.54,
-1.59,1.54,1.54,1.69,1.57,1.72,1.60,1.69,1.69,1.68,
-1.67,1.70,1.74,1.76,1.71,1.77,1.78,1.75,1.77,1.85,
-1.81,1.87,1.85,1.87,1.89,1.87,1.88,1.92,1.96,1.90,
-1.93,1.97,1.96,1.96,2.01,1.99,2.05,2.04,2.08,2.14,
-2.01,2.08,2.07,2.10,2.08,2.15,2.17,2.12,2.12,2.20,
-2.17,2.21,2.26,2.28,2.37,2.17,2.28,2.29,2.34,2.29,
-2.37,2.43,2.43,2.37,2.46,2.47,2.39,2.39,2.38,2.50,
-2.50,2.47,2.48,2.53,2.54,2.48,2.54,2.58,2.58,2.53,
-2.62,2.54,2.61,2.72,2.58,2.66,2.60,2.55,2.79,2.73,
-2.64,2.78,2.73,2.69,2.75,2.81,2.87,2.88,2.80,2.80,
-2.84,2.88,2.88,2.86,3.01,2.96,2.89,3.04,3.03,3.03,
-2.92,2.86,2.94,3.12,3.11,3.09,3.02,3.15,3.16,3.12,
-3.09,3.18,3.15,3.17,3.15,3.11,3.16,3.21,3.18,3.20,
-3.19,3.15,3.24,3.29,3.44,3.28,3.27,3.33,3.34,3.33,
-3.38,3.41,3.40,3.38,3.42,3.46,3.47,3.54,3.46,3.61,
-3.51,3.44,3.60,3.67,3.56,3.45,3.57,3.58,3.56,3.63,
-3.60,3.53,3.67,3.65,3.70,3.68,3.79,3.77,3.82,3.82,
-3.84,3.83,3.79,3.91,3.77,3.82,3.86,3.77,3.79,3.96,
-0.10,0.14,0.14,0.15,0.15,0.16,0.19,0.19,0.16,0.23,
-0.21,0.21,0.23,0.23,0.23,0.26,0.27,0.25,0.30,0.31,
-0.32,0.30,0.31,0.34,0.36,0.39,0.38,0.38,0.40,0.41,
-0.41,0.42,0.45,0.47,0.42,0.49,0.49,0.47,0.51,0.49,
-0.48,0.52,0.56,0.60,0.61,0.56,0.65,0.62,0.61,0.62,
-0.66,0.67,0.68,0.66,0.61,0.67,0.72,0.71,0.72,0.73,
-0.74,0.76,0.75,0.79,0.76,0.76,0.77,0.84,0.84,0.81,
-0.79,0.89,0.83,0.83,0.91,0.90,0.90,0.91,0.89,0.96,
-0.90,0.99,0.97,0.95,0.96,1.00,0.98,1.03,1.07,1.03,
-1.02,0.98,1.06,1.05,1.14,1.11,1.11,1.12,1.12,1.17,
-1.13,1.18,1.15,1.13,1.13,1.24,1.21,1.20,1.22,1.28,
-1.25,1.25,1.29,1.31,1.28,1.34,1.35,1.35,1.30,1.32,
-1.29,1.30,1.39,1.32,1.35,1.43,1.50,1.43,1.39,1.49,
-1.50,1.48,1.46,1.48,1.51,1.54,1.50,1.49,1.58,1.54,
-1.53,1.60,1.61,1.65,1.57,1.54,1.62,1.56,1.63,1.66,
-1.65,1.73,1.73,1.72,1.71,1.70,1.68,1.77,1.70,1.77,
-1.76,1.78,1.74,1.81,1.77,1.79,1.81,1.83,1.84,1.85,
-1.89,1.83,1.85,1.78,1.95,1.84,1.92,1.91,1.93,1.94,
-1.98,2.00,1.96,2.00,2.03,2.04,2.00,2.09,2.04,2.08,
-2.04,2.10,2.12,2.10,2.13,2.15,2.23,2.09,2.20,2.22,
-2.16,2.09,2.27,2.22,2.17,2.28,2.33,2.25,2.25,2.25,
-2.29,2.31,2.28,2.36,2.30,2.33,2.37,2.41,2.37,2.40,
-2.46,2.45,2.45,2.40,2.46,2.34,2.43,2.44,2.42,2.44,
-2.44,2.56,2.47,2.52,2.50,2.50,2.53,2.51,2.58,2.54,
-2.56,2.53,2.62,2.61,2.58,2.64,2.66,2.83,2.75,2.65,
-2.67,2.77,2.75,2.79,2.67,2.71,2.83,2.73,2.84,2.82,
-2.74,2.79,2.79,2.85,2.83,2.81,2.90,2.90,2.90,2.91,
-2.99,2.93,2.89,2.88,2.94,2.96,2.93,2.92,2.96,2.95,
-3.01,3.12,3.03,3.01,3.06,3.02,3.13,3.11,3.20,3.12,
-2.70,2.92,3.10,3.40,3.62,4.00,4.24,4.42,4.68,4.95,
-5.17,5.45,5.64,5.98,6.19,6.40,6.71,7.05,7.22,7.53,
-7.69,8.00,8.37,8.60,8.73,9.02,9.29,9.46,9.85,10.01,
-10.34,10.57,10.68,11.07,11.16,11.72,11.73,11.99,12.24,12.48,
-12.88,13.08,13.39,13.59,13.88,14.06,14.34,14.48,14.72,15.19,
-15.32,15.44,15.85,16.19,16.31,16.72,16.84,17.19,17.33,17.61,
-17.93,18.10,18.45,18.73,18.81,19.15,19.67,19.59,19.91,20.24,
-20.30,20.73,20.79,21.25,21.20,21.84,22.05,22.09,22.53,22.79,
-22.93,23.27,23.63,23.57,23.95,24.31,24.62,24.72,24.93,25.12,
-25.58,25.63,26.02,26.23,26.39,26.81,26.90,27.10,27.72,27.64,
-28.07,28.30,28.49,28.88,29.25,29.41,29.35,30.00,30.27,30.39,
-30.59,30.86,31.06,31.37,31.66,31.87,32.14,32.27,32.73,32.80,
-33.12,33.34,33.38,33.80,34.36,34.33,34.43,35.02,35.07,35.54,
-35.56,35.94,36.26,36.63,36.89,37.02,37.05,37.41,37.65,37.81,
-38.54,38.61,38.71,38.93,39.11,39.60,39.59,39.82,40.34,40.35,
-40.64,40.89,41.21,41.63,41.73,42.12,42.18,42.56,42.87,43.20,
-43.38,43.26,43.64,43.76,44.30,44.68,44.64,45.20,45.44,45.34,
-45.73,46.14,46.59,46.79,47.06,47.21,47.06,47.34,47.87,48.32,
-48.13,48.51,48.99,49.16,49.12,49.62,49.87,50.26,50.41,50.87,
-50.95,51.00,51.43,51.85,52.00,52.12,52.28,52.80,52.83,53.35,
-53.34,53.61,54.18,54.14,54.19,54.73,54.85,55.32,55.56,55.70,
-55.87,55.99,56.45,57.20,56.98,57.53,57.46,57.59,58.19,58.31,
-58.83,58.71,59.08,59.12,59.69,59.89,60.01,60.42,60.46,60.90,
-61.02,61.27,62.00,61.69,62.23,62.35,62.49,62.61,63.14,63.06,
-63.80,64.10,64.38,64.44,64.55,65.08,65.29,65.60,65.60,65.93,
-66.31,66.38,66.58,66.88,67.16,67.11,67.84,67.90,68.17,68.55,
-68.31,68.95,68.95,69.21,69.53,69.66,70.56,70.53,70.56,71.07,
-71.42,71.34,71.70,71.96,72.00,72.10,72.76,72.96,73.11,73.44,
-73.82,74.47,74.41,74.63,74.66,75.20,75.08,75.39,75.81,75.85,
-2.11,2.38,2.54,2.76,3.00,3.15,3.39,3.56,3.84,3.94,
-4.25,4.38,4.61,4.76,5.07,5.27,5.39,5.70,5.84,6.01,
-6.19,6.51,6.63,6.94,7.02,7.26,7.54,7.61,8.00,8.12,
-8.52,8.44,8.73,8.93,9.04,9.23,9.61,9.74,10.00,10.07,
-10.38,10.58,10.80,10.87,11.27,11.34,11.69,11.64,11.93,12.08,
-12.44,12.64,12.90,13.00,13.34,13.37,13.64,13.98,14.00,14.44,
-14.66,14.83,14.95,15.07,15.33,15.51,15.72,15.91,16.01,16.37,
-16.36,16.76,16.87,17.15,17.42,17.69,17.79,18.00,18.16,18.52,
-18.53,18.81,19.01,19.05,19.39,19.68,19.99,20.02,20.01,20.45,
-20.61,20.91,21.15,21.31,21.49,21.76,22.03,22.07,22.29,22.41,
-22.80,22.86,23.02,23.28,23.66,23.85,23.94,24.16,24.33,24.58,
-24.75,24.91,25.20,25.53,25.44,25.72,26.21,26.28,26.28,26.68,
-26.75,27.11,27.46,27.38,27.62,27.96,28.21,28.24,28.54,28.47,
-28.77,29.18,29.42,29.72,29.63,29.95,30.08,30.49,30.59,30.76,
-30.83,31.31,31.11,31.49,32.07,32.18,32.21,32.49,32.47,32.94,
-33.05,32.99,33.31,33.63,33.93,34.01,34.16,34.58,34.72,34.83,
-35.13,35.57,35.61,35.66,35.87,36.13,36.32,36.41,36.79,37.11,
-36.97,37.54,37.77,37.52,38.01,38.16,38.10,38.48,38.88,39.00,
-39.32,39.45,39.79,39.72,39.86,40.42,40.63,40.51,41.00,40.79,
-41.02,41.42,41.66,41.76,42.30,42.47,42.48,42.86,42.91,43.13,
-43.47,43.61,43.79,43.97,43.86,44.12,44.86,44.70,44.82,45.25,
-45.26,45.38,45.62,45.61,46.12,46.28,46.66,46.46,47.07,47.11,
-47.57,47.32,47.80,48.23,48.34,48.16,48.34,48.77,49.18,49.35,
-49.25,49.63,49.86,49.86,49.92,50.18,50.67,50.65,51.53,51.70,
-51.71,51.65,51.82,52.05,52.34,52.34,52.41,52.76,52.99,53.34,
-53.40,53.79,54.04,54.33,54.30,54.54,55.01,54.97,55.28,55.48,
-55.64,55.68,56.24,56.18,56.72,56.91,56.96,56.87,57.33,57.56,
-57.54,57.75,58.07,58.55,58.37,59.04,59.10,58.99,59.38,59.51,
-59.94,59.88,60.07,60.55,60.26,60.88,61.20,61.34,61.58,61.72,
-1.74,1.92,2.09,2.25,2.40,2.58,2.79,2.89,3.05,3.28,
-3.37,3.54,3.68,3.93,4.14,4.16,4.38,4.50,4.68,4.87,
-5.03,5.25,5.40,5.47,5.87,5.82,6.21,6.23,6.49,6.56,
-6.78,6.86,7.11,7.31,7.29,7.52,7.76,7.85,8.14,8.23,
-8.31,8.46,8.64,8.78,9.08,9.17,9.39,9.62,9.82,9.88,
-10.14,10.15,10.45,10.65,10.89,10.97,11.19,11.16,11.30,11.62,
-11.88,11.96,11.91,12.25,12.37,12.72,12.87,12.83,13.05,13.20,
-13.35,13.62,13.77,13.94,13.91,14.25,14.21,14.38,14.67,14.96,
-15.18,15.11,15.64,15.35,15.72,15.94,16.07,16.06,16.35,16.41,
-16.94,16.79,17.21,17.34,17.39,17.42,17.80,17.77,18.07,18.25,
-18.42,18.32,18.63,18.89,19.13,19.27,19.41,19.57,19.91,19.96,
-19.82,20.25,20.37,20.72,20.77,20.75,21.04,21.25,21.54,21.49,
-21.43,21.98,22.06,22.45,22.47,22.62,22.57,22.92,23.02,23.28,
-23.40,23.39,23.61,23.96,23.95,24.32,24.16,24.26,24.86,25.13,
-25.31,24.98,25.26,25.54,25.71,25.74,26.09,26.29,26.39,26.64,
-26.97,27.06,27.05,27.31,27.45,27.64,27.46,27.97,28.03,28.20,
-28.51,28.47,28.89,28.79,29.23,29.00,29.45,29.44,29.57,29.77,
-30.23,30.31,30.50,30.63,30.88,30.72,31.06,31.21,31.56,31.63,
-31.77,31.73,32.06,32.31,32.08,32.49,32.83,33.16,33.03,33.29,
-33.35,33.87,33.93,33.98,33.89,34.25,34.38,34.44,34.64,35.15,
-35.08,35.24,35.47,35.62,35.55,35.83,35.99,36.26,36.53,36.55,
-36.73,36.85,37.02,37.10,37.37,37.51,37.90,37.44,38.18,38.41,
-38.34,38.42,38.92,38.59,39.21,39.31,39.10,39.53,39.59,39.75,
-40.19,40.30,40.07,40.08,40.93,40.67,41.11,41.07,41.76,41.80,
-41.86,41.67,42.18,42.20,42.32,42.62,42.52,43.16,43.00,43.02,
-43.31,43.47,43.72,44.06,44.30,44.16,44.41,44.49,44.55,44.81,
-45.20,44.86,45.58,45.61,45.90,45.97,46.18,46.37,46.38,46.61,
-46.79,46.80,47.11,47.29,47.44,47.63,47.82,48.05,47.94,48.12,
-48.48,48.74,48.78,49.34,49.18,49.53,49.39,49.75,49.57,50.08,
-1.43,1.55,1.72,1.89,1.95,2.14,2.23,2.40,2.49,2.58,
-2.73,2.95,3.09,3.26,3.38,3.37,3.48,3.61,3.77,3.96,
-4.10,4.27,4.42,4.49,4.77,4.73,4.94,5.05,5.19,5.35,
-5.50,5.57,5.76,5.86,5.98,6.19,6.31,6.39,6.49,6.66,
-6.78,6.89,7.01,7.10,7.30,7.47,7.64,7.63,7.88,8.02,
-8.18,8.29,8.46,8.70,8.70,8.93,8.82,9.20,9.21,9.29,
-9.52,9.65,9.74,10.05,10.09,10.34,10.36,10.38,10.58,10.79,
-10.91,11.01,11.14,11.38,11.35,11.55,11.67,11.68,11.82,11.98,
-12.27,12.42,12.52,12.69,12.69,12.88,13.05,13.08,13.29,13.29,
-13.43,13.77,13.93,13.88,14.03,14.33,14.39,14.49,14.63,14.73,
-14.90,15.22,15.40,15.30,15.31,15.55,15.69,15.79,15.74,16.21,
-16.28,16.36,16.59,16.59,16.61,16.96,17.18,17.09,17.33,17.33,
-17.45,17.82,18.00,18.12,18.04,18.37,18.52,18.50,18.59,18.88,
-18.71,18.98,19.23,19.45,19.60,19.57,19.66,19.79,20.30,20.08,
-20.25,20.41,20.52,20.71,20.47,20.90,21.19,21.23,21.61,21.59,
-21.72,21.47,21.93,22.24,22.11,22.22,22.52,22.57,22.73,22.84,
-23.18,23.39,23.21,23.47,23.68,23.82,23.82,24.00,24.21,24.38,
-24.19,24.55,24.89,24.75,24.75,25.04,25.35,25.35,25.41,25.69,
-25.67,25.91,25.95,26.23,26.17,26.33,26.56,26.69,26.68,26.89,
-26.87,27.20,27.49,27.27,27.44,27.66,28.06,27.73,28.20,28.35,
-28.57,28.47,28.71,28.80,28.93,29.04,29.23,29.45,29.51,29.53,
-29.75,29.71,30.05,29.98,30.46,30.45,30.67,30.72,30.49,30.78,
-31.13,31.52,31.66,31.61,31.86,31.82,32.20,32.29,32.19,32.62,
-32.47,32.59,32.92,32.99,32.82,33.03,33.42,33.22,33.51,33.39,
-33.94,34.15,34.23,34.06,34.40,34.34,34.62,35.21,34.89,34.86,
-35.11,35.31,35.19,35.40,35.86,35.64,35.83,36.14,36.14,36.36,
-36.59,36.67,36.92,36.89,36.79,37.17,37.02,37.11,37.35,37.71,
-37.68,37.72,38.23,38.38,38.26,38.48,38.73,38.99,38.85,39.16,
-38.88,39.58,39.74,39.51,39.65,39.95,40.20,40.07,39.98,40.50,
-1.07,1.32,1.39,1.46,1.54,1.70,1.78,1.85,1.97,2.11,
-2.17,2.37,2.44,2.61,2.69,2.76,2.87,3.01,3.04,3.14,
-3.31,3.38,3.55,3.72,3.77,3.81,3.98,4.02,4.13,4.34,
-4.40,4.46,4.62,4.78,4.86,5.02,5.18,5.10,5.39,5.38,
-5.52,5.62,5.68,5.87,5.94,5.93,6.12,6.36,6.40,6.46,
-6.69,6.79,6.78,6.96,7.07,7.23,7.28,7.31,7.44,7.64,
-7.60,7.83,7.89,8.04,8.15,8.31,8.42,8.61,8.61,8.71,
-8.76,9.02,8.97,9.12,9.36,9.43,9.37,9.61,9.61,9.75,
-9.85,10.10,10.21,10.15,10.40,10.39,10.60,10.76,10.70,10.88,
-11.00,11.07,11.17,11.36,11.46,11.91,11.65,11.87,11.79,12.00,
-12.24,12.17,12.26,12.27,12.56,12.69,12.73,12.85,13.12,13.02,
-13.08,13.38,13.53,13.59,13.51,13.53,13.93,14.00,14.11,14.14,
-14.36,14.45,14.54,14.70,14.71,14.91,15.06,14.90,15.07,15.30,
-15.34,15.40,15.60,15.44,15.74,15.92,15.93,15.90,16.18,16.37,
-16.50,16.44,16.51,16.58,16.85,17.14,17.09,17.34,17.18,17.48,
-17.40,17.65,17.66,17.77,17.96,17.91,18.25,18.36,18.18,18.64,
-18.57,18.62,19.22,18.94,18.99,19.08,19.45,19.33,19.61,19.64,
-19.73,20.03,20.06,20.16,20.21,20.25,20.23,20.48,20.43,20.92,
-20.90,20.78,20.87,21.33,21.22,21.23,21.32,21.46,21.79,21.72,
-21.89,22.07,21.84,22.28,22.53,22.52,22.65,22.50,22.85,22.98,
-22.85,23.12,23.14,23.27,23.22,23.63,23.75,23.58,23.84,23.93,
-24.09,24.30,24.37,24.51,24.32,24.65,24.82,24.80,25.07,24.88,
-25.20,25.15,25.50,25.73,25.43,25.77,25.85,25.83,26.06,26.18,
-25.99,26.18,26.63,26.63,26.81,26.95,26.79,26.97,27.15,27.30,
-27.37,27.59,27.70,27.91,28.02,28.04,28.13,28.14,28.10,28.33,
-28.48,28.73,28.86,28.98,28.91,29.07,29.07,29.34,29.22,29.57,
-29.55,29.73,29.87,29.98,30.33,30.01,30.35,30.44,30.50,30.58,
-30.53,30.85,30.84,31.21,31.16,31.18,31.00,31.43,31.34,31.82,
-31.84,31.88,31.92,32.14,32.25,32.47,32.51,32.55,32.74,32.71,
-0.90,1.03,1.08,1.15,1.30,1.38,1.45,1.55,1.58,1.70,
-1.75,1.97,2.01,2.11,2.15,2.28,2.36,2.40,2.48,2.65,
-2.68,2.80,2.88,2.95,3.08,3.19,3.26,3.27,3.39,3.44,
-3.57,3.65,3.80,3.92,3.93,4.01,4.09,4.36,4.29,4.33,
-4.45,4.53,4.60,4.75,4.84,4.84,5.01,5.05,5.17,5.25,
-5.26,5.48,5.50,5.73,5.73,5.80,5.94,5.94,6.07,6.26,
-6.08,6.25,6.42,6.49,6.55,6.68,6.70,6.89,6.96,7.17,
-7.03,7.22,7.33,7.41,7.50,7.41,7.54,7.72,7.83,7.88,
-8.07,8.01,8.31,8.46,8.22,8.55,8.39,8.66,8.74,8.90,
-8.88,8.97,9.21,9.16,9.26,9.28,9.36,9.55,9.55,9.57,
-9.74,9.88,10.01,10.01,10.18,10.06,10.36,10.43,10.34,10.47,
-10.60,10.64,10.83,11.04,10.95,11.07,11.18,11.26,11.31,11.60,
-11.51,11.66,11.57,11.90,11.87,11.91,12.08,12.18,12.14,12.43,
-12.48,12.57,12.52,12.72,12.88,12.89,12.80,13.22,13.20,13.40,
-13.33,13.49,13.65,13.57,13.65,13.77,13.74,14.00,14.04,14.35,
-14.08,14.38,14.40,14.48,14.62,14.64,14.75,14.88,14.96,15.06,
-15.14,15.16,15.09,15.28,15.42,15.47,15.77,15.79,15.79,15.76,
-15.87,15.95,16.17,16.27,16.18,16.41,16.49,16.57,16.78,16.72,
-16.83,17.09,17.15,17.02,17.32,17.34,17.41,17.41,17.64,17.84,
-17.71,17.90,18.02,18.01,18.10,17.95,18.27,18.31,18.62,18.80,
-18.75,18.69,18.86,18.90,19.01,18.94,19.33,19.19,19.36,19.30,
-19.64,19.45,19.58,19.83,19.87,19.86,20.01,20.17,20.23,20.09,
-20.32,20.46,20.67,20.71,20.70,20.83,21.15,20.90,21.12,21.18,
-21.09,21.60,21.36,21.44,21.42,21.76,21.83,21.66,22.04,22.10,
-22.52,22.07,22.39,22.35,22.71,22.50,22.81,22.73,22.95,23.03,
-23.15,23.04,23.18,23.29,23.47,23.49,23.65,23.52,23.83,23.83,
-23.77,23.82,24.16,24.24,24.05,24.52,24.26,24.78,24.57,24.80,
-24.90,24.84,24.97,25.05,25.24,25.11,25.39,25.25,25.68,25.47,
-25.62,25.57,25.85,26.07,26.04,26.42,26.23,26.26,26.50,26.60,
-0.76,0.85,0.86,0.98,0.99,1.12,1.20,1.26,1.28,1.40,
-1.53,1.56,1.55,1.75,1.78,1.76,1.96,1.95,1.98,2.09,
-2.15,2.21,2.33,2.44,2.50,2.57,2.66,2.69,2.80,2.88,
-2.90,3.08,3.06,3.10,3.20,3.22,3.42,3.40,3.55,3.58,
-3.57,3.74,3.74,3.81,3.84,4.01,4.00,4.12,4.23,4.28,
-4.31,4.45,4.48,4.51,4.56,4.77,4.75,4.93,4.97,5.02,
-5.09,5.20,5.13,5.36,5.25,5.43,5.52,5.53,5.55,5.63,
-5.79,5.78,5.84,6.00,6.00,6.08,6.29,6.27,6.32,6.37,
-6.45,6.59,6.70,6.75,6.77,6.77,6.82,7.05,6.95,7.12,
-7.00,7.23,7.28,7.35,7.42,7.53,7.72,7.75,7.81,7.83,
-7.95,8.04,7.94,8.00,8.16,8.23,8.35,8.43,8.52,8.67,
-8.70,8.69,8.86,9.00,8.90,8.97,9.06,9.10,9.22,9.29,
-9.18,9.33,9.56,9.69,9.72,9.64,9.70,9.84,9.96,9.93,
-10.15,10.28,10.16,10.21,10.22,10.36,10.49,10.59,10.81,10.59,
-10.80,11.06,10.96,10.98,11.01,11.17,11.27,11.22,11.32,11.40,
-11.59,11.56,11.68,11.77,11.67,11.94,12.11,11.85,11.99,12.21,
-12.34,12.18,12.29,12.51,12.63,12.80,12.82,12.91,12.59,12.96,
-13.00,12.91,13.12,13.27,13.27,13.13,13.29,13.33,13.50,13.44,
-13.52,13.92,13.68,14.03,14.02,14.01,14.23,14.06,14.28,14.27,
-14.40,14.34,14.33,14.59,14.78,14.86,14.95,14.82,14.97,15.06,
-14.97,14.92,15.21,15.24,15.18,15.41,15.53,15.56,15.79,15.56,
-15.96,15.76,15.97,15.88,16.25,16.07,16.30,16.35,16.56,16.50,
-16.50,16.69,16.45,16.61,16.74,16.83,16.84,17.25,17.18,17.13,
-17.12,17.35,17.43,17.28,17.65,17.77,17.93,17.57,17.73,18.00,
-18.16,18.06,18.16,18.25,18.18,18.08,18.31,18.48,18.48,18.61,
-18.67,18.91,18.73,18.62,19.02,18.83,19.29,19.11,19.20,19.34,
-19.45,19.57,19.70,19.48,19.62,19.95,19.80,19.92,20.08,20.16,
-19.96,19.92,20.15,20.39,20.37,20.42,20.62,20.45,20.72,20.78,
-20.84,21.01,21.06,20.92,21.11,21.24,21.36,21.42,21.50,21.43,
-0.61,0.65,0.70,0.76,0.81,0.90,0.95,0.99,1.11,1.15,
-1.21,1.27,1.33,1.40,1.44,1.47,1.56,1.56,1.60,1.65,
-1.80,1.87,1.89,1.90,2.00,2.06,2.15,2.16,2.25,2.29,
-2.31,2.40,2.46,2.38,2.64,2.67,2.69,2.79,2.88,2.82,
-2.95,3.00,3.02,3.16,3.23,3.24,3.30,3.39,3.34,3.44,
-3.52,3.51,3.58,3.74,3.73,3.81,3.90,3.93,4.02,4.07,
-4.08,4.15,4.21,4.32,4.32,4.38,4.47,4.41,4.59,4.73,
-4.74,4.71,4.84,4.85,4.84,4.96,5.04,5.01,4.98,5.21,
-5.17,5.36,5.43,5.42,5.45,5.42,5.73,5.73,5.69,5.78,
-5.86,5.83,6.00,6.05,6.05,6.09,6.32,6.28,6.35,6.33,
-6.36,6.35,6.66,6.58,6.65,6.72,6.85,6.79,6.98,6.97,
-6.99,7.03,7.13,7.11,7.18,7.29,7.39,7.32,7.60,7.59,
-7.51,7.62,7.59,7.67,7.87,7.81,7.94,8.04,8.21,7.99,
-8.15,8.20,8.44,8.59,8.35,8.63,8.54,8.61,8.74,8.75,
-8.65,8.91,9.01,8.98,8.92,9.05,9.05,9.08,9.07,9.22,
-9.29,9.37,9.35,9.37,9.46,9.63,9.70,9.65,9.75,9.85,
-9.94,10.08,9.96,10.02,10.15,10.25,10.24,10.28,10.44,10.38,
-10.53,10.50,10.57,10.83,10.71,10.89,11.04,10.90,10.99,11.02,
-11.15,11.29,11.22,11.05,11.19,11.28,11.31,11.59,11.65,11.60,
-11.75,11.66,11.71,11.84,11.88,11.88,12.14,12.12,12.22,12.15,
-12.33,12.27,12.31,12.34,12.39,12.62,12.57,12.62,12.59,12.72,
-12.96,12.88,13.17,12.96,12.99,13.04,13.07,13.22,13.21,13.18,
-13.20,13.49,13.51,13.46,13.65,13.70,13.61,13.75,13.94,13.86,
-13.99,13.93,13.96,14.20,14.31,14.22,14.32,14.51,14.42,14.41,
-14.66,14.58,14.60,14.56,14.84,14.74,14.86,14.96,14.85,14.82,
-15.24,15.11,15.20,15.34,15.52,15.20,15.48,15.54,15.45,15.78,
-15.75,15.94,15.83,15.74,15.94,16.07,16.05,15.85,16.42,16.07,
-16.27,16.57,16.28,16.40,16.43,16.58,16.53,16.67,16.71,16.84,
-16.89,17.00,16.95,16.93,17.16,17.24,17.21,17.03,17.46,17.35,
-0.50,0.52,0.62,0.59,0.67,0.73,0.76,0.83,0.85,0.90,
-0.95,1.02,1.05,1.15,1.18,1.14,1.24,1.28,1.32,1.41,
-1.50,1.46,1.56,1.58,1.59,1.70,1.78,1.75,1.82,1.82,
-1.89,1.97,2.05,2.02,2.02,2.18,2.21,2.20,2.25,2.25,
-2.35,2.39,2.43,2.59,2.56,2.61,2.67,2.74,2.74,2.71,
-2.77,2.84,2.95,2.96,2.94,3.03,3.14,3.16,3.24,3.29,
-3.35,3.38,3.56,3.47,3.48,3.51,3.55,3.73,3.58,3.82,
-3.92,3.89,3.88,3.90,3.98,4.01,4.11,4.11,4.11,4.18,
-4.23,4.24,4.30,4.38,4.38,4.54,4.49,4.67,4.70,4.66,
-4.72,4.82,4.76,4.83,4.89,4.93,5.00,5.04,5.07,5.19,
-5.17,5.24,5.25,5.26,5.30,5.36,5.53,5.40,5.55,5.55,
-5.73,5.62,5.84,5.90,5.89,5.91,5.94,6.03,6.14,6.09,
-6.04,6.28,6.11,6.30,6.26,6.41,6.38,6.47,6.50,6.67,
-6.61,6.67,6.67,6.86,6.78,6.78,6.98,7.02,7.07,7.02,
-7.12,7.16,7.14,7.29,7.26,7.46,7.32,7.41,7.46,7.53,
-7.45,7.62,7.67,7.51,7.67,7.91,7.82,7.80,8.07,7.97,
-8.11,8.18,8.05,8.16,8.17,8.27,8.31,8.30,8.43,8.46,
-8.41,8.48,8.57,8.59,8.66,8.83,8.72,8.64,8.80,8.91,
-8.86,9.06,9.12,9.27,9.13,9.19,9.31,9.39,9.43,9.46,
-9.58,9.52,9.39,9.48,9.69,9.73,9.81,9.79,9.75,9.84,
-9.97,9.98,9.88,10.10,10.19,10.11,10.21,10.21,10.22,10.36,
-10.34,10.32,10.45,10.48,10.57,10.64,10.56,10.70,10.73,10.94,
-10.84,10.77,11.00,11.05,11.11,11.17,11.22,11.22,11.17,11.24,
-11.50,11.48,11.27,11.57,11.50,11.56,11.62,11.53,11.53,11.57,
-11.76,12.07,12.00,11.80,11.93,12.24,12.17,12.14,12.30,12.17,
-12.16,12.45,12.43,12.39,12.46,12.42,12.42,12.63,12.58,12.54,
-12.72,12.75,12.71,12.81,13.07,12.75,13.12,13.27,13.06,13.33,
-13.16,13.07,13.49,13.36,13.50,13.39,13.36,13.51,13.60,13.66,
-13.71,13.94,13.73,13.61,14.06,14.04,14.02,13.87,14.06,14.14,
-0.44,0.42,0.48,0.50,0.55,0.59,0.64,0.68,0.73,0.76,
-0.74,0.80,0.89,0.90,0.94,0.94,1.05,1.06,1.12,1.16,
-1.19,1.19,1.22,1.23,1.31,1.38,1.33,1.41,1.48,1.50,
-1.57,1.54,1.64,1.62,1.66,1.72,1.79,1.87,1.84,1.88,
-1.89,2.00,1.95,2.07,2.01,2.12,2.10,2.19,2.27,2.23,
-2.31,2.31,2.35,2.32,2.46,2.53,2.58,2.59,2.69,2.61,
-2.74,2.58,2.74,2.79,2.81,2.90,2.92,2.92,2.99,2.98,
-3.11,3.15,3.16,3.14,3.19,3.33,3.25,3.30,3.44,3.42,
-3.39,3.48,3.52,3.49,3.54,3.64,3.69,3.73,3.67,3.78,
-3.85,3.90,3.97,3.99,3.98,4.05,4.01,4.06,4.14,4.06,
-4.24,4.25,4.28,4.36,4.38,4.40,4.43,4.43,4.45,4.61,
-4.61,4.66,4.61,4.61,4.75,4.76,4.80,4.94,4.94,5.05,
-5.05,5.09,5.15,5.04,5.09,5.16,5.11,5.27,5.06,5.27,
-5.39,5.38,5.50,5.51,5.48,5.59,5.54,5.63,5.70,5.86,
-5.76,5.87,5.80,5.92,6.03,5.99,6.01,6.07,5.87,6.02,
-6.23,5.98,6.27,6.36,6.25,6.32,6.42,6.45,6.41,6.41,
-6.42,6.48,6.56,6.64,6.63,6.67,6.68,6.83,6.76,6.76,
-7.01,6.92,7.01,6.98,7.01,7.08,7.13,7.09,7.21,7.13,
-7.29,7.30,7.38,7.36,7.38,7.41,7.38,7.41,7.54,7.54,
-7.68,7.76,7.71,7.55,7.65,7.78,7.91,7.93,7.82,8.00,
-7.92,7.88,8.00,8.02,8.26,8.20,8.11,8.37,8.40,8.42,
-8.32,8.57,8.68,8.56,8.61,8.74,8.50,8.53,8.66,8.74,
-8.81,8.90,8.84,8.93,8.79,9.04,9.02,9.07,9.09,9.12,
-9.25,9.26,9.26,9.29,9.28,9.35,9.29,9.41,9.47,9.45,
-9.62,9.42,9.55,9.69,9.66,9.79,9.88,9.97,9.76,9.77,
-9.77,10.11,10.12,10.04,10.27,10.23,10.07,10.21,10.07,10.38,
-10.41,10.41,10.34,10.33,10.38,10.53,10.66,10.70,10.56,10.73,
-10.68,10.65,10.53,10.65,10.64,10.97,10.98,10.70,11.09,11.14,
-11.09,11.09,11.04,11.17,11.39,11.34,11.26,11.14,11.47,11.45,
-0.33,0.37,0.41,0.42,0.47,0.49,0.51,0.55,0.56,0.61,
-0.67,0.65,0.71,0.73,0.77,0.81,0.83,0.90,0.90,0.93,
-0.93,0.98,1.02,1.02,1.08,1.07,1.16,1.21,1.21,1.23,
-1.24,1.27,1.34,1.35,1.40,1.47,1.42,1.42,1.50,1.50,
-1.59,1.58,1.61,1.64,1.57,1.69,1.78,1.73,1.82,1.81,
-1.86,1.89,1.93,1.96,1.97,2.00,2.04,2.10,2.10,2.10,
-2.16,2.15,2.10,2.28,2.25,2.27,2.36,2.45,2.42,2.40,
-2.49,2.56,2.60,2.60,2.57,2.64,2.68,2.69,2.68,2.75,
-2.76,2.84,2.83,2.78,2.94,3.03,2.97,3.02,3.05,2.95,
-3.13,3.17,3.20,3.03,3.21,3.26,3.26,3.42,3.41,3.41,
-3.40,3.46,3.52,3.48,3.54,3.60,3.57,3.63,3.68,3.63,
-3.73,3.69,3.73,3.88,3.86,3.77,4.01,3.83,3.96,4.01,
-4.02,4.09,4.10,4.14,4.14,4.13,4.32,4.30,4.17,4.34,
-4.37,4.39,4.34,4.35,4.44,4.51,4.45,4.52,4.67,4.68,
-4.65,4.63,4.74,4.65,4.84,4.78,4.81,4.88,4.99,5.07,
-4.95,5.01,4.80,5.02,5.01,5.12,5.03,5.22,5.15,5.32,
-5.18,5.37,5.36,5.34,5.39,5.43,5.36,5.52,5.48,5.51,
-5.54,5.58,5.66,5.57,5.76,5.74,5.69,5.75,5.79,5.99,
-5.96,5.86,5.96,5.85,5.98,6.11,6.10,6.27,6.12,6.09,
-6.17,6.31,6.29,6.35,6.33,6.24,6.37,6.39,6.45,6.44,
-6.56,6.57,6.69,6.49,6.66,6.51,6.62,6.76,6.62,6.74,
-6.82,6.77,6.87,6.92,6.91,6.96,6.99,6.98,6.98,7.09,
-7.11,6.97,7.21,7.20,7.21,7.30,7.33,7.45,7.37,7.28,
-7.39,7.41,7.50,7.59,7.66,7.57,7.45,7.81,7.76,7.68,
-7.68,7.75,7.99,7.84,7.81,7.92,7.99,7.91,8.03,8.07,
-8.02,8.09,8.20,8.18,8.23,8.27,8.22,8.14,8.23,8.34,
-8.29,8.34,8.48,8.48,8.38,8.53,8.57,8.59,8.65,8.63,
-8.65,8.63,8.94,8.87,8.66,8.79,8.83,8.96,8.91,8.95,
-8.92,9.05,8.96,9.01,9.20,9.20,9.03,9.15,9.23,9.15,
-0.26,0.28,0.33,0.35,0.33,0.39,0.40,0.46,0.47,0.49,
-0.53,0.53,0.58,0.61,0.63,0.63,0.61,0.70,0.70,0.69,
-0.78,0.76,0.81,0.85,0.89,0.84,0.94,0.91,0.95,0.95,
-0.99,1.11,1.16,1.09,1.16,1.06,1.16,1.22,1.18,1.26,
-1.25,1.27,1.27,1.36,1.32,1.36,1.45,1.44,1.51,1.54,
-1.54,1.60,1.62,1.59,1.64,1.64,1.69,1.64,1.75,1.72,
-1.74,1.86,1.76,1.80,1.85,1.84,1.94,1.90,1.95,1.96,
-1.97,2.07,2.07,2.11,2.12,2.10,2.14,2.24,2.20,2.19,
-2.24,2.19,2.34,2.38,2.43,2.40,2.41,2.45,2.37,2.48,
-2.48,2.70,2.53,2.57,2.60,2.55,2.65,2.61,2.64,2.78,
-2.83,2.73,2.84,2.78,2.90,3.02,2.95,2.82,3.03,3.05,
-3.03,3.06,3.11,3.13,3.17,3.17,3.18,3.18,3.29,3.26,
-3.28,3.32,3.34,3.40,3.31,3.30,3.30,3.45,3.38,3.47,
-3.46,3.40,3.61,3.53,3.73,3.65,3.62,3.67,3.71,3.68,
-3.69,3.80,3.85,3.79,3.90,3.81,3.96,3.97,4.00,4.01,
-4.01,4.09,4.00,4.22,4.22,4.15,4.25,4.17,4.19,4.13,
-4.35,4.35,4.33,4.36,4.44,4.36,4.33,4.46,4.38,4.54,
-4.54,4.64,4.48,4.46,4.54,4.55,4.70,4.81,4.70,4.67,
-4.83,4.85,4.88,4.85,4.88,4.88,4.98,4.91,4.95,4.94,
-4.95,5.05,5.00,5.23,5.15,5.03,5.18,5.20,5.29,5.35,
-5.32,5.34,5.28,5.26,5.34,5.38,5.46,5.35,5.39,5.56,
-5.42,5.53,5.58,5.61,5.57,5.70,5.74,5.68,5.62,5.66,
-5.86,5.75,5.79,5.87,6.00,5.84,5.90,5.90,5.89,5.97,
-6.01,6.14,6.05,6.05,6.13,6.08,6.23,6.17,6.38,6.31,
-6.18,6.35,6.32,6.30,6.52,6.39,6.37,6.49,6.49,6.55,
-6.55,6.38,6.50,6.57,6.59,6.54,6.57,6.67,6.63,6.82,
-6.77,6.78,6.99,6.82,6.94,6.99,6.96,7.01,7.03,7.05,
-6.96,6.94,7.10,7.03,7.19,7.15,7.20,7.13,7.23,7.14,
-7.32,7.32,7.33,7.44,7.40,7.29,7.30,7.49,7.59,7.57,
-0.21,0.22,0.25,0.28,0.31,0.30,0.34,0.31,0.38,0.42,
-0.40,0.45,0.47,0.48,0.52,0.53,0.55,0.57,0.57,0.59,
-0.58,0.66,0.67,0.63,0.67,0.71,0.73,0.74,0.77,0.77,
-0.83,0.84,0.88,0.87,0.92,0.92,0.96,0.91,0.92,1.03,
-1.01,1.05,1.09,1.08,1.09,1.17,1.14,1.18,1.22,1.22,
-1.25,1.26,1.25,1.23,1.30,1.32,1.41,1.35,1.37,1.37,
-1.39,1.44,1.47,1.46,1.52,1.53,1.49,1.54,1.62,1.60,
-1.65,1.64,1.70,1.70,1.73,1.73,1.83,1.80,1.76,1.78,
-1.83,1.86,1.87,1.89,1.95,1.80,1.87,1.92,2.03,2.05,
-2.01,2.04,2.07,2.14,2.13,2.12,2.17,2.15,2.20,2.24,
-2.25,2.26,2.32,2.29,2.32,2.32,2.40,2.34,2.41,2.39,
-2.42,2.40,2.58,2.50,2.47,2.58,2.56,2.56,2.60,2.59,
-2.67,2.67,2.75,2.59,2.70,2.77,2.77,2.78,2.82,2.90,
-2.96,2.80,2.88,2.90,3.02,2.95,2.94,2.94,3.08,2.96,
-3.06,3.12,3.14,3.04,2.98,3.14,3.13,3.33,3.22,3.27,
-3.35,3.33,3.11,3.23,3.30,3.34,3.32,3.46,3.58,3.48,
-3.38,3.57,3.53,3.56,3.53,3.61,3.60,3.54,3.59,3.63,
-3.70,3.77,3.71,3.68,3.83,3.66,3.74,3.85,3.90,3.89,
-3.89,3.80,3.92,3.80,4.00,4.04,4.00,4.04,4.04,3.96,
-3.94,4.09,4.24,4.21,4.20,4.15,4.28,4.22,4.15,4.27,
-4.20,4.27,4.39,4.29,4.35,4.32,4.31,4.45,4.56,4.46,
-4.52,4.42,4.59,4.46,4.44,4.57,4.49,4.59,4.50,4.66,
-4.69,4.64,4.70,4.76,4.73,4.78,4.72,4.89,4.95,4.88,
-4.96,4.82,4.88,4.91,4.86,4.84,5.07,4.98,4.93,5.14,
-4.97,5.03,5.10,5.02,5.11,5.23,5.19,5.26,5.30,5.18,
-5.40,5.35,5.37,5.27,5.35,5.32,5.45,5.44,5.33,5.42,
-5.48,5.63,5.53,5.63,5.52,5.69,5.51,5.65,5.59,5.50,
-5.80,5.69,5.72,5.67,5.84,5.87,5.76,5.77,5.82,5.90,
-5.92,5.92,5.76,5.96,6.04,5.93,5.99,5.82,5.92,5.95,
-0.18,0.19,0.21,0.23,0.24,0.26,0.24,0.28,0.27,0.33,
-0.33,0.36,0.37,0.39,0.40,0.44,0.45,0.45,0.47,0.45,
-0.52,0.52,0.54,0.60,0.59,0.58,0.59,0.66,0.65,0.68,
-0.68,0.67,0.64,0.69,0.80,0.73,0.75,0.81,0.72,0.79,
-0.83,0.86,0.83,0.89,0.93,0.96,0.93,0.91,0.96,0.95,
-0.98,1.05,1.04,1.02,1.00,1.07,1.07,1.14,1.09,1.08,
-1.16,1.19,1.22,1.21,1.23,1.24,1.21,1.39,1.29,1.30,
-1.30,1.33,1.26,1.29,1.45,1.46,1.35,1.50,1.47,1.47,
-1.49,1.49,1.58,1.58,1.53,1.60,1.63,1.66,1.61,1.61,
-1.60,1.60,1.68,1.72,1.65,1.71,1.74,1.75,1.84,1.81,
-1.84,1.76,1.83,1.89,1.82,1.87,1.86,1.96,1.89,1.95,
-1.99,2.08,2.01,1.99,2.09,2.07,2.09,2.03,2.21,2.15,
-2.17,2.13,2.07,2.20,2.12,2.31,2.20,2.17,2.27,2.28,
-2.32,2.30,2.37,2.40,2.36,2.42,2.41,2.44,2.42,2.43,
-2.54,2.52,2.58,2.59,2.59,2.62,2.58,2.56,2.50,2.60,
-2.61,2.57,2.72,2.64,2.66,2.73,2.77,2.74,2.73,2.70,
-2.81,2.78,2.81,2.87,2.87,2.89,2.99,2.89,2.93,2.96,
-2.97,2.86,3.02,3.10,3.00,2.92,2.97,3.09,3.12,3.13,
-3.13,3.13,3.02,3.29,3.27,3.13,3.21,3.19,3.28,3.25,
-3.30,3.23,3.33,3.35,3.51,3.38,3.43,3.46,3.35,3.43,
-3.50,3.57,3.53,3.47,3.55,3.52,3.56,3.56,3.55,3.60,
-3.63,3.60,3.76,3.73,3.63,3.73,3.88,3.72,3.63,3.70,
-3.96,3.85,3.76,3.77,3.82,3.83,3.84,3.89,3.97,3.91,
-3.92,4.07,3.95,4.01,3.93,4.02,4.04,4.14,4.08,4.23,
-4.17,4.10,4.13,4.25,4.16,4.14,4.06,4.18,4.24,4.18,
-4.22,4.38,4.38,4.28,4.30,4.33,4.54,4.42,4.41,4.40,
-4.40,4.46,4.45,4.43,4.51,4.47,4.57,4.55,4.57,4.63,
-4.63,4.58,4.67,4.69,4.55,4.52,4.65,4.70,4.68,4.75,
-4.77,4.71,4.73,4.87,4.76,4.83,4.86,4.91,4.92,4.89,
-0.15,0.15,0.14,0.18,0.19,0.21,0.22,0.25,0.25,0.23,
-0.27,0.28,0.29,0.32,0.33,0.35,0.35,0.39,0.40,0.38,
-0.41,0.44,0.42,0.44,0.47,0.48,0.47,0.48,0.49,0.54,
-0.53,0.59,0.55,0.55,0.61,0.57,0.61,0.66,0.65,0.65,
-0.68,0.68,0.71,0.71,0.73,0.70,0.76,0.78,0.79,0.87,
-0.75,0.88,0.79,0.79,0.94,0.85,0.91,0.90,0.94,0.90,
-0.96,0.90,0.97,0.95,0.98,1.03,1.02,1.02,1.02,1.08,
-1.02,1.07,1.10,1.10,1.12,1.08,1.13,1.16,1.19,1.18,
-1.18,1.31,1.18,1.21,1.29,1.31,1.23,1.30,1.33,1.30,
-1.32,1.37,1.40,1.35,1.40,1.40,1.42,1.48,1.50,1.52,
-1.49,1.47,1.52,1.52,1.57,1.62,1.56,1.48,1.57,1.54,
-1.60,1.63,1.62,1.69,1.70,1.66,1.67,1.69,1.70,1.67,
-1.70,1.79,1.75,1.77,1.84,1.79,1.73,1.89,1.83,1.89,
-1.89,1.89,1.91,1.90,1.91,2.01,1.96,2.05,1.92,1.99,
-1.98,2.04,2.02,2.01,2.13,2.04,2.19,2.08,2.14,2.12,
-2.14,2.14,2.12,2.06,2.19,2.15,2.15,2.29,2.26,2.17,
-2.22,2.24,2.29,2.29,2.35,2.30,2.33,2.39,2.31,2.41,
-2.39,2.35,2.46,2.47,2.48,2.39,2.56,2.58,2.51,2.54,
-2.47,2.48,2.59,2.60,2.56,2.58,2.54,2.67,2.72,2.62,
-2.65,2.66,2.69,2.66,2.73,2.87,2.71,2.79,2.81,2.85,
-2.70,2.79,2.77,2.75,2.77,2.87,2.95,2.82,2.84,2.93,
-2.82,2.84,2.96,2.88,3.05,3.07,3.03,3.10,3.05,3.12,
-3.00,3.18,3.02,3.03,3.05,3.20,3.18,3.19,3.15,3.16,
-3.14,3.23,3.22,3.14,3.26,3.24,3.24,3.27,3.25,3.29,
-3.23,3.35,3.37,3.36,3.32,3.45,3.33,3.40,3.48,3.51,
-3.48,3.46,3.45,3.51,3.52,3.58,3.58,3.54,3.63,3.62,
-3.59,3.64,3.68,3.69,3.60,3.63,3.65,3.63,3.71,3.77,
-3.69,3.75,3.75,3.83,3.71,3.74,3.88,3.74,3.75,3.90,
-3.78,3.95,3.90,3.85,3.90,3.97,4.04,3.91,3.94,3.98,
-2.83,3.11,3.33,3.74,3.90,4.17,4.50,4.90,5.06,5.28,
-5.61,5.71,6.18,6.33,6.75,6.93,7.27,7.39,7.71,7.94,
-8.40,8.57,8.86,9.08,9.46,9.71,9.88,10.30,10.44,10.90,
-10.92,11.17,11.72,11.75,12.22,12.43,12.69,12.96,13.28,13.53,
-13.75,13.98,14.21,14.52,14.91,15.12,15.33,15.61,16.05,16.15,
-16.36,16.73,16.99,17.48,17.61,17.81,18.16,18.46,18.56,19.08,
-19.20,19.36,19.72,20.09,20.36,20.68,20.75,21.16,21.36,21.66,
-22.03,22.38,22.56,22.64,22.95,23.35,23.28,24.00,24.27,24.45,
-24.71,24.87,25.18,25.39,25.78,25.91,26.31,26.70,26.75,27.01,
-27.34,27.74,27.74,27.99,28.48,28.84,29.28,29.30,29.59,29.99,
-30.06,30.24,30.55,30.90,31.35,31.46,31.84,32.05,32.39,32.59,
-32.80,33.27,33.17,33.60,33.76,34.22,34.48,35.14,35.14,35.33,
-35.55,35.96,36.11,36.28,36.59,36.87,37.26,37.59,37.83,37.94,
-38.38,38.66,38.95,39.02,39.16,39.61,40.02,40.34,40.64,40.78,
-40.75,41.43,41.57,41.92,42.02,42.49,42.61,42.81,43.16,43.53,
-43.77,43.91,44.26,44.58,44.90,45.05,45.62,45.53,45.99,46.04,
-46.60,46.85,47.04,47.28,47.41,47.98,48.19,48.46,48.77,49.04,
-48.87,49.41,50.00,50.07,50.64,50.91,50.64,51.00,51.20,51.55,
-52.04,52.12,52.35,52.54,53.00,53.09,53.51,53.51,54.03,54.66,
-54.60,54.99,55.09,55.29,55.97,56.37,56.15,56.66,56.71,56.98,
-57.67,57.51,58.22,58.13,58.65,58.90,58.86,59.05,59.21,59.90,
-60.01,60.02,60.75,61.13,61.35,61.66,61.99,61.90,62.23,62.20,
-62.68,63.16,63.13,63.85,64.08,64.01,64.61,64.63,65.01,65.27,
-65.64,65.76,66.34,66.34,66.53,66.76,67.40,67.30,67.70,68.12,
-68.23,68.70,68.75,68.88,69.32,69.57,70.10,70.22,70.46,70.35,
-70.93,71.42,71.36,71.92,71.88,72.42,73.06,72.55,73.21,73.55,
-73.71,73.76,74.35,74.53,74.82,75.20,75.46,76.46,75.85,76.23,
-76.38,76.78,77.02,77.33,77.48,78.15,78.15,78.17,78.80,78.72,
-79.33,79.71,79.58,79.92,80.29,80.44,80.76,81.09,81.48,81.89,
-2.35,2.63,2.77,3.03,3.19,3.42,3.65,3.89,4.06,4.26,
-4.49,4.82,4.95,5.25,5.51,5.64,5.90,6.16,6.36,6.62,
-6.80,7.12,7.26,7.44,7.72,7.95,8.14,8.36,8.53,8.85,
-9.04,9.29,9.50,9.66,10.00,10.24,10.38,10.46,10.84,11.02,
-11.20,11.55,11.77,11.93,12.21,12.53,12.64,12.73,12.99,13.25,
-13.67,13.80,14.01,14.31,14.48,14.69,14.84,15.18,15.50,15.47,
-15.89,15.91,16.29,16.52,16.50,16.85,17.06,17.25,17.58,17.68,
-17.94,18.20,18.40,18.68,18.80,19.11,19.31,19.55,19.75,20.18,
-20.16,20.60,20.74,20.76,21.06,21.27,21.68,21.77,22.05,22.11,
-22.64,22.48,22.91,22.95,23.35,23.59,23.88,23.81,24.33,24.56,
-24.71,25.00,24.96,25.28,25.53,25.88,25.96,26.32,26.14,26.78,
-27.07,27.23,27.48,27.59,27.87,28.20,28.20,28.47,28.71,28.72,
-29.31,29.35,29.60,29.95,30.10,30.23,30.30,30.66,30.76,31.34,
-31.32,31.55,31.64,31.93,32.51,32.36,32.76,32.85,33.13,33.57,
-33.83,33.74,34.05,34.40,34.30,34.64,34.90,35.20,35.40,35.61,
-36.07,35.97,36.30,36.45,36.55,36.68,37.02,37.46,37.74,37.53,
-38.25,38.38,38.68,38.78,38.86,39.19,39.30,39.75,40.05,40.41,
-40.25,40.47,40.62,40.96,41.25,41.63,41.77,41.86,42.16,42.32,
-42.74,43.07,43.15,43.22,43.36,43.69,44.02,44.01,44.40,44.39,
-44.86,45.04,45.00,45.42,45.73,45.98,46.18,46.45,46.58,46.67,
-47.09,47.32,47.31,47.59,48.00,48.06,48.65,48.23,48.82,49.20,
-49.13,49.25,49.63,49.74,50.05,50.43,50.77,50.92,50.90,51.20,
-51.64,51.74,51.81,52.20,52.60,52.57,52.85,53.27,53.11,53.38,
-53.71,54.03,53.70,54.37,54.71,55.05,55.26,55.14,55.40,55.67,
-56.16,56.18,56.58,56.76,56.97,56.77,57.36,57.50,57.88,57.99,
-58.30,58.36,58.58,58.90,59.31,59.38,59.59,59.69,60.26,60.12,
-60.62,60.43,60.85,60.96,61.40,61.54,61.79,62.00,61.93,62.51,
-62.44,62.74,63.30,63.32,63.68,64.14,63.90,64.33,64.29,64.68,
-65.19,65.12,65.41,65.52,65.86,66.42,66.38,66.47,66.69,66.67,
-1.93,2.06,2.28,2.48,2.58,2.88,3.04,3.09,3.37,3.57,
-3.78,3.91,4.12,4.28,4.47,4.58,4.84,5.01,5.18,5.41,
-5.54,5.88,6.05,6.18,6.42,6.60,6.73,6.80,7.09,7.22,
-7.46,7.71,7.70,8.00,8.18,8.28,8.38,8.71,8.86,9.04,
-9.27,9.35,9.69,9.73,9.91,10.16,10.35,10.55,10.64,11.00,
-10.96,11.21,11.34,11.63,11.76,12.00,12.09,12.41,12.56,12.63,
-12.85,13.18,13.27,13.39,13.83,13.76,13.94,14.11,14.46,14.48,
-14.75,14.72,15.25,15.29,15.59,15.80,15.78,15.99,16.02,16.36,
-16.51,16.98,16.73,17.09,17.32,17.54,17.61,17.70,18.03,18.30,
-18.35,18.75,18.91,18.82,19.11,19.27,19.43,19.72,20.01,19.97,
-20.29,20.43,20.43,20.96,21.08,21.23,21.31,21.49,21.82,21.86,
-21.98,22.22,22.41,22.49,22.94,23.01,23.18,23.51,23.67,23.64,
-23.84,23.97,24.26,24.50,24.73,24.70,25.14,25.18,25.39,25.59,
-25.70,25.84,26.09,26.23,26.52,26.72,26.94,27.07,27.09,27.58,
-27.45,27.58,27.98,28.23,28.26,28.43,28.66,28.73,28.87,29.44,
-29.31,29.69,29.61,29.89,30.03,30.30,30.66,30.65,30.75,30.98,
-31.24,31.56,31.66,31.71,32.02,31.88,32.53,32.54,32.57,32.75,
-32.99,32.81,33.39,33.62,33.67,33.95,34.56,34.43,34.56,34.75,
-35.16,35.27,35.15,35.46,35.91,35.62,35.98,36.25,36.55,36.34,
-36.87,36.85,36.89,37.23,37.04,37.58,37.85,38.05,38.33,38.53,
-38.39,38.71,38.94,39.24,39.01,39.36,39.58,39.69,40.05,40.24,
-40.25,40.38,41.17,41.31,41.20,41.60,41.50,41.61,41.67,41.93,
-42.23,42.30,42.60,42.64,42.96,42.96,43.23,43.72,43.77,44.26,
-44.14,43.94,44.67,44.51,44.74,44.99,45.19,45.61,45.66,45.35,
-45.69,46.00,46.33,46.38,46.43,46.99,47.04,47.25,47.24,47.51,
-47.61,48.00,48.33,48.30,48.19,48.86,48.61,49.23,48.93,49.38,
-49.84,49.66,50.22,50.07,50.15,50.43,50.56,51.09,50.85,51.46,
-51.65,51.49,51.86,51.90,52.05,52.45,52.65,52.56,52.89,53.07,
-52.94,53.46,53.44,53.88,53.77,54.05,54.64,54.41,54.68,54.97,
-1.55,1.80,1.85,2.02,2.21,2.32,2.43,2.56,2.73,2.96,
-3.04,3.22,3.34,3.45,3.62,3.76,4.02,4.03,4.26,4.40,
-4.63,4.71,4.84,5.06,5.12,5.37,5.40,5.58,5.78,6.02,
-6.20,6.21,6.44,6.51,6.71,6.85,6.97,7.13,7.43,7.44,
-7.63,7.73,7.88,8.17,8.31,8.27,8.46,8.64,8.90,8.97,
-9.08,9.36,9.39,9.69,9.71,9.76,10.04,10.16,10.36,10.34,
-10.62,10.75,10.81,11.05,11.27,11.32,11.48,11.64,11.77,12.14,
-12.15,12.18,12.40,12.58,12.90,12.80,13.05,13.05,13.26,13.36,
-13.46,13.69,13.79,14.16,14.20,14.44,14.55,14.73,14.65,15.08,
-15.15,15.21,15.32,15.62,15.48,15.88,15.89,16.07,16.34,16.62,
-16.54,17.03,16.91,16.93,17.30,17.26,17.26,17.74,17.81,18.04,
-18.05,18.13,18.47,18.45,18.82,18.91,19.03,19.31,19.51,19.16,
-19.64,19.90,19.83,19.86,20.10,20.63,20.41,20.59,20.77,20.84,
-21.15,21.21,21.28,21.32,21.51,21.76,21.89,22.40,22.39,22.56,
-22.57,22.77,22.87,23.05,23.28,23.37,23.51,23.51,23.72,23.93,
-24.27,24.07,24.43,24.59,24.69,24.97,25.25,25.11,25.32,25.30,
-25.45,25.64,26.01,25.94,26.32,26.43,26.40,26.75,26.75,27.09,
-27.32,27.34,27.29,27.24,27.74,27.76,28.17,28.28,28.38,28.38,
-29.01,28.74,28.90,29.10,29.18,29.33,29.41,29.77,29.72,29.97,
-30.15,29.98,30.63,30.57,30.49,30.96,30.91,31.42,31.52,31.50,
-31.56,31.87,31.93,31.86,32.27,32.11,32.64,32.62,32.86,33.02,
-33.34,33.51,33.33,33.80,33.83,33.74,34.31,34.34,34.46,34.69,
-34.58,34.83,34.81,35.03,35.10,35.32,35.46,35.43,35.74,36.16,
-36.48,36.26,36.48,36.69,36.64,36.90,36.97,37.12,37.33,37.39,
-37.70,37.72,37.82,38.05,38.31,38.74,38.47,38.50,38.52,39.01,
-39.17,39.29,39.47,39.45,39.83,39.85,39.60,40.48,40.27,40.62,
-40.80,40.62,40.71,41.20,41.44,41.18,41.50,41.89,41.68,42.11,
-41.99,42.24,42.26,42.75,42.82,42.83,42.87,43.33,43.37,43.53,
-43.73,43.91,44.09,44.16,44.20,44.57,44.39,44.84,45.02,44.99,
-1.26,1.42,1.48,1.63,1.78,1.90,2.05,2.13,2.22,2.34,
-2.53,2.66,2.80,2.85,2.99,3.10,3.21,3.46,3.48,3.73,
-3.65,3.94,4.01,4.11,4.25,4.38,4.48,4.56,4.68,4.93,
-4.97,5.04,5.17,5.36,5.47,5.67,5.63,5.87,6.07,6.23,
-6.28,6.31,6.47,6.56,6.78,6.92,6.97,7.07,7.06,7.30,
-7.51,7.59,7.69,7.78,7.89,8.06,8.16,8.32,8.36,8.56,
-8.76,8.73,8.84,8.88,9.05,9.15,9.36,9.62,9.71,9.74,
-9.87,10.13,10.23,10.22,10.41,10.52,10.63,10.72,10.99,11.03,
-11.13,11.13,11.26,11.42,11.66,11.86,11.90,11.90,12.03,12.19,
-12.40,12.54,12.56,12.88,12.91,12.95,13.10,13.37,13.41,13.51,
-13.45,13.53,13.85,13.88,14.14,14.29,14.37,14.44,14.71,14.73,
-14.93,14.92,15.14,15.07,15.32,15.28,15.71,15.69,15.68,15.77,
-16.23,16.39,16.18,16.39,16.79,16.66,17.07,16.90,17.05,17.27,
-17.37,17.43,17.47,17.67,17.84,18.02,18.00,18.32,18.45,18.35,
-18.52,18.68,18.73,18.81,19.06,18.98,19.13,19.42,19.47,19.72,
-19.81,20.07,20.00,20.40,20.23,20.39,20.57,20.84,20.84,20.83,
-21.24,21.15,21.24,21.09,21.46,21.35,21.72,21.93,22.12,22.17,
-22.24,22.39,22.39,22.51,22.74,22.77,23.07,23.14,23.26,23.27,
-23.67,23.48,23.65,23.78,24.33,24.23,24.08,24.17,24.63,24.43,
-24.71,24.72,24.96,25.23,25.20,25.15,25.46,25.66,25.52,26.00,
-25.87,26.15,26.20,26.15,26.48,26.31,26.60,26.87,26.98,27.30,
-27.04,27.45,27.60,27.72,27.77,27.83,27.74,28.25,28.30,28.08,
-28.53,28.48,28.61,28.91,28.84,29.14,29.26,29.65,29.32,29.35,
-29.83,29.84,30.12,30.11,29.99,30.26,30.21,30.46,30.73,30.79,
-31.07,31.21,31.10,31.42,31.41,31.74,31.64,31.80,31.80,32.01,
-32.11,31.91,32.41,32.60,32.81,32.30,32.74,32.84,33.13,33.12,
-33.32,33.38,33.59,33.54,33.58,34.05,34.33,34.22,34.33,34.49,
-34.55,34.58,34.81,35.01,34.82,35.26,35.19,35.38,35.50,35.69,
-35.81,35.88,36.07,36.04,36.45,36.43,36.80,36.38,36.84,36.73,
-1.05,1.15,1.22,1.38,1.43,1.55,1.68,1.74,1.91,2.01,
-2.07,2.21,2.28,2.30,2.43,2.58,2.65,2.84,2.89,2.94,
-3.11,3.02,3.28,3.30,3.55,3.62,3.73,3.83,3.83,4.03,
-4.05,4.20,4.34,4.35,4.62,4.60,4.71,4.82,4.94,4.95,
-5.10,5.19,5.27,5.42,5.59,5.53,5.71,5.85,5.95,5.95,
-6.18,6.26,6.33,6.44,6.55,6.57,6.79,6.86,6.91,6.96,
-7.03,7.27,7.28,7.40,7.50,7.48,7.72,7.82,7.93,8.06,
-8.13,8.15,8.27,8.42,8.63,8.68,8.81,8.94,8.94,8.93,
-9.12,9.29,9.31,9.42,9.47,9.57,9.92,9.78,10.04,9.97,
-10.18,10.13,10.35,10.37,10.58,10.62,10.92,10.75,11.04,11.16,
-11.05,11.39,11.37,11.51,11.59,11.64,11.79,12.17,11.98,12.00,
-12.18,12.28,12.39,12.52,12.51,12.67,12.75,13.00,12.87,12.96,
-13.18,13.35,13.39,13.44,13.69,13.59,13.74,14.07,14.07,14.16,
-14.09,14.31,14.48,14.52,14.57,14.65,14.78,14.73,15.21,15.15,
-15.14,15.26,15.42,15.46,15.42,15.58,15.57,15.71,16.11,16.00,
-16.22,16.33,16.24,16.48,16.61,16.73,16.86,16.78,17.13,17.16,
-17.25,17.41,17.24,17.75,17.70,17.88,17.72,17.91,17.98,18.26,
-18.32,18.49,18.39,18.55,18.48,18.53,18.95,18.89,18.84,19.39,
-19.28,19.14,19.29,19.61,19.79,19.62,20.03,19.90,20.09,20.44,
-20.19,20.37,20.59,20.72,20.76,20.78,20.98,21.16,21.02,21.03,
-21.33,21.18,21.51,21.57,21.52,21.83,21.80,21.86,22.09,22.42,
-22.19,22.27,22.25,22.48,22.48,22.94,23.00,22.84,22.96,23.32,
-23.09,23.45,23.51,23.54,23.65,23.84,23.93,24.12,24.36,24.18,
-24.33,24.38,24.43,24.45,24.79,24.55,25.00,25.11,25.11,25.22,
-25.50,25.49,25.41,25.64,25.79,25.82,25.94,25.86,26.21,26.34,
-26.35,26.36,26.49,26.84,26.70,26.72,26.73,27.21,27.18,27.27,
-27.40,27.76,27.43,27.81,27.65,27.86,27.86,28.18,28.26,28.24,
-28.36,28.24,28.58,28.79,28.71,28.86,29.21,29.06,28.94,29.04,
-29.48,29.45,29.54,29.78,29.98,29.78,30.01,30.02,30.19,30.19,
-0.87,0.97,1.07,1.09,1.14,1.29,1.34,1.41,1.56,1.55,
-1.70,1.77,1.85,1.97,2.04,2.05,2.22,2.28,2.32,2.49,
-2.60,2.60,2.68,2.83,2.87,2.86,3.05,3.12,3.20,3.30,
-3.35,3.49,3.52,3.52,3.68,3.76,3.94,3.94,4.04,4.05,
-4.23,4.23,4.39,4.30,4.47,4.50,4.67,4.71,4.86,4.88,
-4.99,5.04,5.24,5.28,5.36,5.46,5.51,5.60,5.67,5.77,
-5.87,5.99,6.01,6.23,6.14,6.19,6.40,6.37,6.46,6.60,
-6.59,6.71,6.91,6.88,7.05,7.10,7.10,7.29,7.46,7.34,
-7.48,7.63,7.74,7.66,7.84,7.95,8.01,8.01,8.01,8.34,
-8.24,8.35,8.55,8.68,8.71,8.62,8.86,8.77,9.01,9.16,
-9.19,9.24,9.23,9.31,9.71,9.51,9.76,9.64,9.92,9.84,
-9.96,10.06,10.29,10.16,10.34,10.41,10.27,10.59,10.52,10.82,
-10.79,10.93,10.92,10.98,11.18,11.34,11.21,11.44,11.41,11.53,
-11.69,11.61,11.80,11.89,11.93,12.20,12.42,12.46,12.36,12.55,
-12.32,12.64,12.67,12.54,12.83,12.96,12.90,13.09,13.09,13.17,
-13.39,13.34,13.50,13.58,13.55,13.61,13.69,13.92,13.88,14.09,
-14.23,14.16,14.31,14.50,14.50,14.61,14.69,14.88,14.83,14.77,
-14.89,15.10,14.94,15.23,15.48,15.38,15.64,15.44,15.63,15.70,
-15.81,15.79,15.99,15.98,16.26,16.41,16.40,16.43,16.24,16.49,
-16.45,16.84,16.73,16.81,16.94,16.89,17.15,17.20,17.52,17.38,
-17.56,17.39,17.52,17.61,17.81,17.72,18.12,18.22,18.11,18.07,
-18.20,18.37,18.37,18.60,18.52,18.73,18.75,18.79,18.97,19.39,
-19.03,19.37,19.39,19.35,19.48,19.61,19.68,19.65,19.93,19.71,
-20.06,19.85,20.06,20.23,20.41,20.10,20.62,20.45,20.50,20.55,
-20.77,20.71,21.00,21.08,21.18,21.10,21.24,21.45,21.36,21.42,
-21.46,21.69,21.85,21.89,21.82,22.25,21.93,22.09,22.23,22.20,
-22.35,22.42,22.74,22.72,22.93,22.87,22.98,23.15,23.08,23.27,
-23.19,23.26,23.48,23.48,23.56,23.48,23.54,23.94,23.98,23.86,
-24.41,24.15,24.12,24.40,24.32,24.58,24.40,24.62,24.73,24.70,
-0.71,0.80,0.87,0.94,0.95,1.08,1.08,1.24,1.31,1.31,
-1.37,1.42,1.52,1.60,1.64,1.71,1.86,1.86,1.96,1.98,
-2.05,2.17,2.19,2.27,2.36,2.31,2.46,2.57,2.65,2.60,
-2.66,2.88,2.84,2.91,3.05,3.11,3.18,3.23,3.30,3.31,
-3.40,3.51,3.53,3.69,3.66,3.79,3.89,4.01,3.98,3.96,
-4.10,4.22,4.21,4.31,4.31,4.42,4.56,4.55,4.61,4.74,
-4.68,4.83,5.01,5.00,5.10,5.18,5.20,5.29,5.23,5.43,
-5.53,5.58,5.53,5.71,5.71,5.74,5.80,5.98,6.03,6.01,
-6.12,6.27,6.22,6.36,6.46,6.41,6.57,6.62,6.73,6.83,
-6.83,6.73,6.90,7.09,7.16,7.06,7.19,7.38,7.30,7.35,
-7.60,7.55,7.71,7.64,7.74,7.88,7.89,8.00,7.93,8.14,
-8.09,8.26,8.27,8.42,8.56,8.63,8.63,8.65,8.85,8.73,
-8.87,8.90,8.91,9.21,9.21,9.20,9.35,9.44,9.50,9.28,
-9.47,9.45,9.82,9.70,10.01,10.00,9.97,10.01,10.09,10.14,
-10.31,10.29,10.41,10.59,10.66,10.60,10.64,10.63,10.74,10.95,
-10.86,11.02,11.13,11.26,11.01,11.29,11.44,11.41,11.46,11.59,
-11.85,11.85,11.77,11.89,11.84,11.87,11.97,11.92,12.18,12.11,
-12.30,12.32,12.51,12.43,12.40,12.61,12.64,12.61,12.90,13.01,
-12.84,13.00,13.12,13.24,13.14,13.17,13.49,13.43,13.38,13.51,
-13.45,13.72,13.77,13.78,13.87,13.92,13.98,14.02,14.21,14.17,
-14.12,14.43,14.32,14.67,14.46,14.90,14.66,14.77,14.85,14.81,
-15.05,15.01,14.98,15.30,15.24,15.12,15.42,15.56,15.47,15.54,
-15.48,15.84,15.70,15.99,15.82,16.02,16.05,15.98,16.07,16.28,
-16.48,16.38,16.41,16.45,16.66,16.79,16.69,16.86,16.82,16.92,
-17.06,17.07,17.19,17.12,17.41,17.52,17.56,17.57,17.63,17.56,
-17.82,17.90,17.84,17.73,18.17,18.06,18.14,18.33,18.17,18.26,
-18.55,18.47,18.61,18.73,18.66,18.80,18.80,18.64,18.82,18.96,
-18.99,18.99,19.25,19.13,19.34,19.31,19.45,19.46,19.74,19.60,
-19.67,19.86,19.91,19.93,20.20,20.21,19.99,20.20,20.36,20.35,
-0.56,0.65,0.71,0.73,0.81,0.86,0.95,0.98,1.02,1.10,
-1.20,1.25,1.28,1.32,1.35,1.37,1.48,1.49,1.59,1.69,
-1.70,1.72,1.83,1.84,1.92,1.93,1.98,2.07,2.19,2.21,
-2.27,2.28,2.38,2.43,2.45,2.53,2.73,2.65,2.72,2.81,
-2.81,2.99,2.86,3.05,3.09,3.12,3.13,3.20,3.21,3.31,
-3.40,3.42,3.54,3.49,3.59,3.68,3.68,3.74,3.77,3.91,
-3.88,3.92,4.06,4.11,4.16,4.22,4.28,4.39,4.46,4.49,
-4.39,4.45,4.67,4.53,4.70,4.73,4.86,4.84,4.91,5.06,
-5.08,5.14,5.17,5.17,5.34,5.36,5.34,5.43,5.55,5.53,
-5.58,5.59,5.68,5.75,5.75,5.86,6.06,5.94,6.03,6.22,
-5.97,6.18,6.25,6.43,6.42,6.60,6.48,6.50,6.55,6.60,
-6.56,6.74,6.80,6.87,7.01,7.14,6.91,7.13,7.17,7.32,
-7.01,7.31,7.32,7.46,7.38,7.66,7.66,7.63,7.76,7.76,
-7.90,7.75,7.95,7.91,7.96,7.99,8.21,8.05,8.26,8.52,
-8.37,8.33,8.38,8.68,8.57,8.56,8.67,8.84,8.88,8.91,
-9.01,8.92,9.00,9.14,8.93,9.30,9.40,9.33,9.43,9.39,
-9.60,9.57,9.58,9.64,9.71,9.80,9.79,9.87,9.93,9.89,
-10.00,10.26,10.19,10.37,10.34,10.27,10.46,10.54,10.41,10.57,
-10.55,10.65,10.59,10.76,10.84,10.79,11.04,11.03,11.09,11.14,
-11.24,11.27,11.37,11.52,11.39,11.43,11.53,11.56,11.84,11.48,
-11.69,11.77,11.88,11.80,11.84,11.92,12.04,12.18,12.04,12.22,
-12.29,12.38,12.38,12.41,12.67,12.55,12.46,12.77,12.67,12.84,
-13.12,12.78,13.00,13.09,13.07,13.03,13.21,13.18,13.41,13.30,
-13.46,13.29,13.45,13.40,13.74,13.62,13.50,13.80,13.63,13.79,
-13.86,14.09,14.02,14.22,14.20,14.22,14.11,14.34,14.43,14.25,
-14.54,14.55,14.62,14.48,14.66,14.87,14.87,14.98,14.98,14.88,
-15.08,15.00,15.11,15.26,15.39,15.46,15.53,15.43,15.39,15.69,
-15.70,15.93,15.69,15.69,16.10,15.89,15.86,16.08,16.05,16.09,
-16.18,16.26,16.31,16.29,16.35,16.48,16.57,16.62,16.71,16.65,
-0.49,0.51,0.58,0.65,0.69,0.71,0.73,0.83,0.88,0.92,
-0.93,0.97,1.03,1.11,1.13,1.21,1.18,1.25,1.28,1.33,
-1.37,1.42,1.46,1.55,1.52,1.61,1.71,1.78,1.82,1.83,
-1.85,1.85,1.90,2.03,2.08,2.12,2.12,2.17,2.27,2.33,
-2.26,2.32,2.37,2.45,2.53,2.54,2.49,2.63,2.65,2.60,
-2.69,2.83,2.81,2.85,2.98,3.00,3.09,3.13,3.08,3.14,
-3.09,3.26,3.26,3.31,3.44,3.54,3.54,3.66,3.61,3.68,
-3.70,3.74,3.68,3.70,3.73,3.93,3.93,3.97,3.96,4.06,
-4.17,4.11,4.25,4.35,4.39,4.33,4.43,4.41,4.48,4.60,
-4.53,4.67,4.71,4.75,4.83,4.89,4.84,4.88,4.94,4.98,
-4.99,5.11,5.17,5.13,5.25,5.32,5.22,5.39,5.37,5.48,
-5.60,5.51,5.65,5.67,5.76,5.77,5.84,5.79,5.83,5.82,
-5.97,6.05,6.09,6.06,6.18,6.17,6.21,6.21,6.31,6.18,
-6.46,6.50,6.64,6.61,6.57,6.64,6.72,6.77,6.71,6.82,
-6.85,6.96,6.81,7.15,6.99,7.03,7.16,7.23,7.29,7.38,
-7.36,7.28,7.38,7.11,7.51,7.63,7.66,7.55,7.68,7.73,
-7.76,7.77,7.94,8.07,7.95,8.13,8.14,7.98,8.25,8.35,
-8.20,8.24,8.50,8.20,8.37,8.57,8.41,8.70,8.48,8.63,
-8.68,8.78,8.71,8.96,8.86,8.97,8.96,9.06,9.03,9.06,
-9.08,9.28,9.17,9.24,9.36,9.47,9.44,9.43,9.58,9.57,
-9.55,9.77,9.64,9.83,9.67,9.99,9.80,9.97,9.95,10.10,
-10.22,10.19,10.21,10.17,10.21,10.32,10.44,10.52,10.42,10.46,
-10.50,10.61,10.66,10.49,10.84,10.65,10.95,10.85,10.84,11.02,
-11.01,10.97,11.24,11.26,11.15,11.43,11.33,11.38,11.31,11.30,
-11.61,11.61,11.58,11.53,11.70,11.78,11.66,11.72,11.79,11.98,
-11.86,12.01,12.04,11.99,11.99,12.01,12.11,12.24,12.26,12.38,
-12.18,12.27,12.35,12.36,12.40,12.56,12.64,12.54,12.81,12.67,
-12.76,12.91,12.88,12.74,12.95,13.00,12.99,13.06,13.25,13.08,
-13.06,13.41,13.48,13.51,13.69,13.61,13.57,13.51,13.52,13.55,
-0.39,0.42,0.45,0.53,0.53,0.58,0.61,0.68,0.66,0.75,
-0.77,0.81,0.87,0.87,0.88,0.94,0.96,1.04,1.07,1.11,
-1.14,1.21,1.21,1.26,1.31,1.34,1.39,1.39,1.46,1.56,
-1.57,1.61,1.62,1.68,1.65,1.75,1.73,1.83,1.86,1.89,
-1.88,1.88,1.91,2.04,2.08,2.06,2.14,2.15,2.16,2.23,
-2.22,2.32,2.38,2.41,2.37,2.41,2.56,2.53,2.56,2.68,
-2.68,2.60,2.76,2.78,2.74,2.92,2.77,2.97,2.89,2.95,
-3.04,3.04,3.15,3.20,3.13,3.12,3.26,3.32,3.20,3.42,
-3.42,3.38,3.48,3.50,3.50,3.59,3.52,3.73,3.74,3.70,
-3.80,3.83,3.85,3.90,3.89,3.95,4.01,4.14,4.10,3.96,
-4.19,4.09,4.26,4.21,4.35,4.44,4.31,4.41,4.46,4.54,
-4.53,4.53,4.66,4.69,4.67,4.71,4.73,4.78,4.83,4.87,
-4.78,4.92,4.87,5.06,5.01,5.13,5.16,5.24,5.10,5.28,
-5.43,5.26,5.31,5.41,5.49,5.53,5.67,5.42,5.71,5.64,
-5.55,5.65,5.75,5.80,5.83,5.87,5.82,5.92,5.88,6.04,
-6.10,6.01,6.02,6.10,6.07,6.17,6.17,6.32,6.32,6.35,
-6.38,6.45,6.61,6.41,6.46,6.61,6.55,6.61,6.69,6.69,
-6.71,6.73,6.73,6.84,6.88,6.88,6.97,7.12,6.93,7.12,
-7.08,7.01,7.18,7.38,7.37,7.20,7.29,7.22,7.35,7.43,
-7.44,7.56,7.53,7.72,7.61,7.64,7.63,7.75,7.68,7.96,
-7.82,7.81,8.04,8.12,8.01,8.10,8.04,8.10,8.18,8.29,
-8.36,8.22,8.41,8.41,8.41,8.36,8.37,8.51,8.61,8.71,
-8.65,8.56,8.71,8.60,8.74,9.02,9.08,8.79,8.85,8.82,
-8.94,8.95,8.98,9.07,9.04,9.16,9.31,9.10,9.23,9.41,
-9.36,9.60,9.35,9.49,9.74,9.49,9.60,9.70,9.81,9.77,
-9.67,9.77,10.03,9.87,9.83,9.98,9.91,10.08,9.95,10.15,
-10.06,10.15,10.25,10.21,10.26,10.29,10.28,10.42,10.54,10.19,
-10.51,10.66,10.51,10.66,10.60,10.80,10.78,10.94,10.67,10.92,
-10.96,11.03,11.02,11.02,11.03,11.24,11.11,11.22,11.38,11.20,
-0.32,0.34,0.39,0.44,0.43,0.45,0.50,0.54,0.60,0.60,
-0.62,0.68,0.73,0.71,0.80,0.76,0.85,0.85,0.89,0.91,
-0.93,0.97,1.00,1.04,1.04,1.08,1.12,1.15,1.23,1.22,
-1.28,1.28,1.29,1.33,1.34,1.43,1.49,1.49,1.49,1.53,
-1.55,1.63,1.61,1.65,1.66,1.72,1.71,1.74,1.78,1.76,
-1.90,1.79,1.94,1.93,1.92,2.03,2.01,1.98,2.08,2.13,
-2.14,2.31,2.25,2.27,2.28,2.27,2.29,2.45,2.34,2.46,
-2.38,2.57,2.53,2.51,2.58,2.59,2.60,2.71,2.68,2.78,
-2.83,2.79,2.92,2.91,2.86,2.90,2.93,2.95,3.07,3.02,
-3.07,3.07,3.14,3.18,3.13,3.20,3.32,3.35,3.32,3.42,
-3.35,3.45,3.45,3.47,3.52,3.54,3.54,3.69,3.62,3.74,
-3.73,3.82,3.70,3.87,3.87,3.78,3.89,3.90,4.00,3.94,
-4.01,3.95,4.10,4.21,4.04,4.25,4.21,4.20,4.27,4.33,
-4.29,4.33,4.35,4.50,4.39,4.43,4.43,4.51,4.72,4.50,
-4.55,4.65,4.80,4.68,4.65,4.80,4.84,4.82,4.86,4.81,
-5.01,5.16,4.84,5.08,4.96,5.11,5.15,5.04,5.24,5.25,
-5.24,5.21,5.39,5.31,5.48,5.48,5.42,5.45,5.53,5.45,
-5.44,5.56,5.64,5.58,5.68,5.77,5.67,5.74,5.75,5.88,
-5.75,5.89,6.05,5.90,5.81,6.12,5.95,6.09,6.14,6.04,
-6.26,6.16,6.21,6.30,6.20,6.32,6.31,6.45,6.40,6.33,
-6.47,6.43,6.45,6.59,6.67,6.62,6.66,6.63,6.63,6.75,
-6.85,6.89,6.64,6.88,6.81,6.96,6.92,6.94,6.95,7.00,
-7.03,7.11,7.09,7.09,7.13,7.35,7.08,7.43,7.40,7.38,
-7.34,7.48,7.47,7.43,7.60,7.51,7.61,7.58,7.79,7.83,
-7.83,7.69,7.66,7.96,7.91,7.90,8.00,7.89,8.05,8.07,
-8.05,8.03,8.14,8.22,8.15,8.28,8.16,8.14,8.23,8.33,
-8.38,8.53,8.34,8.41,8.47,8.57,8.45,8.47,8.51,8.76,
-8.66,8.68,8.73,8.79,8.80,8.76,8.75,8.93,8.74,8.95,
-8.84,9.02,9.01,8.98,9.28,9.14,9.01,9.10,9.09,9.08,
-0.24,0.29,0.35,0.35,0.36,0.40,0.41,0.46,0.46,0.49,
-0.54,0.55,0.56,0.57,0.65,0.67,0.67,0.71,0.74,0.71,
-0.75,0.82,0.83,0.84,0.90,0.92,0.90,0.93,0.96,0.98,
-1.01,1.05,1.13,1.13,1.11,1.16,1.16,1.15,1.15,1.21,
-1.29,1.27,1.31,1.24,1.39,1.37,1.42,1.47,1.47,1.45,
-1.49,1.56,1.57,1.59,1.68,1.70,1.62,1.70,1.74,1.75,
-1.74,1.75,1.90,1.92,1.91,1.96,1.89,1.96,1.94,1.96,
-2.03,2.00,2.11,2.12,2.12,2.18,2.08,2.24,2.19,2.17,
-2.26,2.28,2.31,2.37,2.40,2.41,2.46,2.49,2.39,2.46,
-2.55,2.52,2.63,2.58,2.59,2.58,2.61,2.73,2.64,2.75,
-2.75,2.90,2.81,2.83,2.84,2.88,2.93,3.05,3.05,3.10,
-3.00,3.15,3.08,3.08,3.16,3.21,3.08,3.23,3.19,3.31,
-3.31,3.35,3.33,3.41,3.44,3.50,3.50,3.42,3.48,3.54,
-3.61,3.64,3.68,3.50,3.75,3.61,3.63,3.71,3.70,3.83,
-3.77,3.88,3.86,3.95,3.85,3.91,3.89,4.01,4.00,3.93,
-4.04,3.96,4.06,4.20,4.24,4.19,4.23,4.25,4.21,4.33,
-4.30,4.25,4.34,4.44,4.34,4.29,4.43,4.41,4.58,4.60,
-4.56,4.57,4.71,4.60,4.65,4.62,4.61,4.68,4.89,4.72,
-4.84,4.80,4.86,4.82,4.88,4.95,4.97,5.00,5.10,5.10,
-5.08,5.08,5.03,5.25,5.17,5.27,5.28,5.19,5.12,5.28,
-5.38,5.32,5.24,5.36,5.30,5.30,5.44,5.51,5.48,5.50,
-5.60,5.55,5.65,5.45,5.67,5.59,5.67,5.68,5.77,5.92,
-5.95,5.59,5.79,5.73,5.87,5.94,5.96,5.94,6.09,6.08,
-6.03,6.11,6.05,6.21,6.10,6.21,6.13,6.38,6.31,6.39,
-6.37,6.28,6.33,6.37,6.45,6.36,6.49,6.57,6.62,6.44,
-6.60,6.62,6.59,6.55,6.60,6.71,6.80,6.74,6.84,6.79,
-6.93,6.81,6.90,6.77,6.82,6.80,6.91,6.97,7.07,7.06,
-7.13,7.02,7.18,7.22,7.03,7.20,7.19,7.24,7.17,7.26,
-7.52,7.40,7.47,7.35,7.47,7.52,7.49,7.68,7.59,7.50,
-0.23,0.25,0.24,0.28,0.28,0.33,0.32,0.39,0.39,0.40,
-0.40,0.47,0.49,0.52,0.47,0.54,0.54,0.56,0.58,0.60,
-0.63,0.63,0.63,0.66,0.73,0.70,0.73,0.77,0.78,0.81,
-0.82,0.83,0.81,0.90,0.89,0.99,0.98,1.00,0.99,0.99,
-1.07,1.06,1.08,1.13,1.17,1.12,1.19,1.18,1.21,1.22,
-1.28,1.29,1.27,1.30,1.31,1.34,1.43,1.44,1.43,1.47,
-1.46,1.47,1.47,1.50,1.57,1.59,1.54,1.61,1.66,1.66,
-1.67,1.70,1.74,1.77,1.72,1.73,1.78,1.74,1.83,1.85,
-1.83,1.90,1.94,1.95,1.99,2.00,1.99,2.04,2.05,2.06,
-2.15,2.01,2.03,2.21,2.18,2.24,2.24,2.26,2.27,2.16,
-2.31,2.29,2.30,2.27,2.29,2.44,2.44,2.36,2.52,2.50,
-2.49,2.53,2.47,2.55,2.52,2.61,2.66,2.61,2.64,2.67,
-2.70,2.68,2.72,2.68,2.78,2.78,2.87,2.81,2.92,2.84,
-2.93,2.93,2.96,3.00,2.98,3.00,3.11,3.06,3.12,3.04,
-3.15,3.08,3.09,3.21,3.21,3.12,3.18,3.28,3.21,3.27,
-3.26,3.27,3.39,3.43,3.41,3.45,3.37,3.56,3.48,3.54,
-3.50,3.56,3.52,3.53,3.64,3.59,3.59,3.59,3.71,3.70,
-3.73,3.74,3.84,3.76,3.90,3.79,3.85,3.94,3.90,3.99,
-4.03,3.86,3.98,4.01,4.00,4.17,4.20,4.11,4.02,4.13,
-4.08,4.05,4.26,4.25,4.26,4.31,4.34,4.33,4.28,4.34,
-4.32,4.42,4.40,4.41,4.42,4.51,4.47,4.53,4.41,4.57,
-4.51,4.52,4.63,4.70,4.53,4.62,4.65,4.62,4.77,4.86,
-4.71,4.71,4.73,4.81,4.88,4.79,4.76,4.86,4.94,4.89,
-5.00,5.02,5.03,5.02,4.85,5.11,5.09,5.20,5.20,5.13,
-5.21,5.14,5.20,5.32,5.24,5.21,5.34,5.40,5.32,5.24,
-5.40,5.38,5.44,5.60,5.45,5.52,5.49,5.58,5.57,5.49,
-5.52,5.66,5.62,5.66,5.60,5.79,5.81,5.76,5.67,5.79,
-5.86,5.93,5.98,5.90,5.86,5.79,5.87,6.07,5.95,6.03,
-5.90,6.14,6.03,6.09,6.03,6.22,6.17,6.06,6.16,6.15,
-0.19,0.19,0.20,0.22,0.28,0.29,0.30,0.28,0.31,0.34,
-0.35,0.36,0.36,0.41,0.40,0.47,0.43,0.44,0.46,0.50,
-0.51,0.55,0.51,0.56,0.56,0.57,0.64,0.65,0.69,0.63,
-0.67,0.69,0.74,0.74,0.79,0.77,0.83,0.84,0.80,0.79,
-0.85,0.85,0.86,0.91,0.89,0.97,0.99,0.96,0.99,1.03,
-0.99,1.04,1.04,1.10,1.10,1.07,1.11,1.10,1.18,1.21,
-1.21,1.20,1.26,1.24,1.26,1.29,1.31,1.29,1.33,1.29,
-1.29,1.32,1.37,1.41,1.38,1.42,1.48,1.49,1.50,1.56,
-1.51,1.58,1.54,1.52,1.53,1.65,1.72,1.64,1.68,1.71,
-1.67,1.67,1.67,1.74,1.72,1.74,1.77,1.77,1.80,1.78,
-1.83,1.89,1.90,1.98,1.94,1.98,1.92,1.92,1.95,2.05,
-2.01,2.04,2.09,2.10,2.07,2.15,2.21,2.19,2.23,2.18,
-2.20,2.26,2.25,2.32,2.11,2.33,2.39,2.32,2.35,2.44,
-2.38,2.49,2.36,2.42,2.42,2.46,2.53,2.48,2.56,2.50,
-2.61,2.62,2.75,2.62,2.63,2.61,2.65,2.66,2.70,2.69,
-2.69,2.75,2.82,2.76,2.78,2.80,2.82,2.88,2.85,2.91,
-2.94,2.84,2.93,3.00,3.03,2.89,2.93,3.01,3.03,3.01,
-3.08,3.07,3.15,3.04,3.05,3.06,3.17,3.21,3.21,3.23,
-3.21,3.34,3.34,3.31,3.27,3.34,3.41,3.25,3.31,3.45,
-3.36,3.40,3.41,3.51,3.51,3.53,3.41,3.43,3.58,3.59,
-3.68,3.60,3.50,3.66,3.69,3.69,3.67,3.61,3.71,3.77,
-3.72,3.75,3.76,3.86,3.81,3.82,3.80,3.97,3.84,3.88,
-3.80,3.92,3.92,4.04,3.89,3.98,3.98,4.01,4.01,4.09,
-4.07,4.15,4.15,4.21,4.22,4.19,4.16,4.11,4.25,4.30,
-4.26,4.30,4.29,4.22,4.42,4.42,4.44,4.26,4.39,4.39,
-4.49,4.42,4.39,4.46,4.40,4.51,4.55,4.49,4.62,4.58,
-4.65,4.49,4.62,4.62,4.61,4.51,4.67,4.70,4.65,4.76,
-4.78,4.73,4.77,4.69,4.83,4.91,4.79,4.90,4.97,5.04,
-4.91,4.90,5.09,4.99,5.11,5.05,4.96,5.15,5.00,5.02,
-3.08,3.34,3.66,3.92,4.25,4.45,4.88,5.05,5.38,5.69,
-5.98,6.23,6.48,6.88,7.13,7.43,7.64,8.01,8.26,8.53,
-8.91,9.14,9.39,9.80,9.92,10.39,10.56,10.97,11.15,11.43,
-11.85,12.05,12.36,12.64,12.78,13.20,13.46,13.78,14.02,14.33,
-14.77,14.96,15.23,15.55,15.88,16.18,16.52,16.91,17.14,17.46,
-17.72,17.82,18.16,18.52,18.61,19.17,19.23,19.48,19.82,20.13,
-20.51,20.97,21.07,21.50,21.75,22.06,22.28,22.45,22.95,23.11,
-23.40,23.77,23.93,24.34,24.59,24.96,25.22,25.44,25.73,25.99,
-26.25,26.66,26.98,27.05,27.32,27.88,28.16,28.33,28.71,29.12,
-29.37,29.71,29.96,30.16,30.14,30.56,30.87,31.28,31.40,31.84,
-32.27,32.62,32.88,33.00,33.43,33.58,33.99,34.24,34.50,34.98,
-35.18,35.47,35.51,36.01,36.13,36.44,36.91,37.35,37.21,37.58,
-37.78,38.28,38.48,39.00,39.08,39.23,39.87,40.32,40.23,40.58,
-40.76,41.25,41.72,41.54,42.06,42.37,42.68,43.06,43.25,43.54,
-43.70,43.90,44.41,44.75,44.64,45.14,45.35,45.85,46.07,46.21,
-46.91,46.98,47.41,47.52,47.58,47.95,48.43,48.88,49.37,49.41,
-49.65,49.62,50.37,50.40,50.71,50.99,51.12,51.81,52.05,52.04,
-52.29,52.79,52.86,53.51,53.67,53.66,54.27,54.73,54.83,55.01,
-55.45,55.71,55.93,56.70,56.62,56.84,57.36,57.71,58.00,58.04,
-58.49,58.54,59.08,59.08,59.37,59.76,60.10,60.51,60.81,60.85,
-61.36,61.50,62.04,61.95,62.47,62.59,63.12,63.63,63.55,63.70,
-64.51,64.64,64.84,65.14,65.00,65.56,66.18,66.42,66.21,66.83,
-66.76,67.10,67.44,67.81,68.22,68.39,68.92,69.06,69.30,69.79,
-70.15,70.19,70.25,70.73,71.19,71.19,71.59,71.95,72.17,72.87,
-73.08,72.90,73.26,73.67,74.44,74.37,74.83,74.82,75.13,75.69,
-75.81,76.16,76.41,76.76,77.23,77.06,77.96,77.68,77.89,78.54,
-78.70,79.15,79.33,79.94,79.91,80.40,80.50,80.85,81.00,81.29,
-81.58,82.04,82.34,82.43,82.77,83.08,83.69,83.50,84.00,84.07,
-84.47,84.45,84.66,85.34,85.65,85.84,86.40,86.71,86.99,87.08,
-2.54,2.76,3.06,3.21,3.56,3.66,3.96,4.15,4.48,4.65,
-5.02,5.13,5.44,5.64,5.90,6.14,6.45,6.53,6.83,7.13,
-7.44,7.71,7.81,8.04,8.30,8.65,8.79,9.07,9.23,9.59,
-9.81,9.98,10.16,10.66,10.82,10.82,11.22,11.49,11.68,11.97,
-12.19,12.33,12.73,12.83,13.16,13.41,13.71,13.87,14.03,14.27,
-14.44,14.82,15.23,15.23,15.68,15.84,16.00,16.30,16.57,16.95,
-17.03,17.27,17.43,17.68,18.16,18.21,18.29,18.78,18.87,19.14,
-19.53,19.70,19.91,20.12,20.52,20.49,20.98,21.17,21.34,21.61,
-21.87,22.21,22.52,22.55,22.99,22.90,23.37,23.57,24.04,24.33,
-24.16,24.48,24.78,24.86,25.01,25.45,25.67,25.93,26.24,26.46,
-26.73,26.88,27.07,27.17,27.57,27.87,28.18,28.60,28.53,29.00,
-29.12,29.36,29.35,29.86,29.99,30.48,30.65,30.68,30.96,31.41,
-31.46,31.62,32.07,32.23,32.42,32.63,32.96,33.11,33.35,33.67,
-33.88,34.18,34.32,34.66,35.08,35.37,35.40,35.58,35.89,36.06,
-36.30,36.50,36.76,37.11,37.31,37.53,37.95,37.93,38.28,38.42,
-38.98,38.89,39.21,39.43,39.75,39.71,40.29,40.58,40.46,41.03,
-41.19,41.25,41.41,42.01,42.49,42.23,42.53,42.74,43.24,43.30,
-43.54,43.98,43.94,44.20,44.52,44.84,45.16,45.44,45.30,45.86,
-46.07,46.54,46.52,46.63,46.67,47.31,47.48,47.54,48.12,48.29,
-48.28,48.59,48.81,48.73,49.22,49.87,50.07,50.15,50.05,50.65,
-51.03,51.11,51.39,51.81,51.65,51.94,52.21,52.78,52.84,52.89,
-53.17,53.89,53.52,53.89,54.30,54.83,54.82,55.02,55.10,55.34,
-55.73,55.69,56.17,56.24,56.37,56.80,57.14,57.43,57.72,57.64,
-58.04,58.31,58.57,58.73,59.16,59.37,59.59,59.95,59.87,60.34,
-60.34,60.91,60.88,61.19,61.14,61.70,62.38,62.26,62.42,62.86,
-62.58,63.23,63.42,63.89,63.62,63.93,64.22,64.69,64.61,64.96,
-65.28,65.91,65.63,66.23,66.33,66.68,66.58,67.00,67.63,67.54,
-68.01,67.86,68.14,68.63,68.58,68.88,68.60,69.36,69.81,69.76,
-70.48,70.57,70.65,70.80,71.15,71.50,71.64,71.75,71.98,72.29,
-2.05,2.38,2.45,2.67,2.89,3.04,3.27,3.52,3.69,3.98,
-4.09,4.38,4.51,4.72,4.89,5.11,5.24,5.44,5.70,5.88,
-6.16,6.25,6.52,6.75,6.90,7.04,7.22,7.54,7.76,8.03,
-8.10,8.37,8.58,8.79,9.00,9.12,9.34,9.57,9.82,9.87,
-10.21,10.31,10.55,10.77,10.98,11.05,11.30,11.51,11.53,11.90,
-12.13,12.32,12.44,12.61,12.95,13.00,13.32,13.56,13.62,13.89,
-14.13,14.45,14.62,14.65,14.91,15.03,15.28,15.52,15.74,16.14,
-16.13,16.36,16.72,16.53,16.76,17.06,17.17,17.59,17.79,17.95,
-18.04,18.36,18.57,18.69,19.06,19.07,19.23,19.34,19.70,19.89,
-20.18,20.29,20.52,20.75,21.08,21.40,21.29,21.62,21.82,21.84,
-22.11,22.41,22.60,22.62,22.99,23.17,23.39,23.40,23.70,23.80,
-24.32,24.28,24.73,24.39,24.94,25.23,25.33,25.65,25.82,25.91,
-26.25,26.31,26.37,26.72,26.96,27.19,27.23,27.53,27.78,27.73,
-28.16,28.17,28.39,28.63,29.05,29.00,29.58,29.61,29.87,29.85,
-30.25,30.52,30.54,30.62,30.62,31.26,31.28,31.49,31.82,31.89,
-32.00,32.48,32.56,32.88,33.16,33.12,33.57,33.63,33.64,34.31,
-34.18,34.48,34.27,34.92,34.91,34.96,35.24,35.62,35.85,35.96,
-36.17,36.45,36.72,36.87,36.87,36.91,37.38,37.65,37.93,37.79,
-38.29,38.41,38.67,38.73,39.19,39.26,39.22,39.33,39.81,39.77,
-40.14,40.53,40.64,40.94,40.88,41.09,41.28,41.66,42.00,41.98,
-42.17,42.53,42.69,42.59,43.24,43.41,43.34,43.44,43.74,44.07,
-44.23,44.34,44.49,44.58,44.98,45.35,45.55,45.71,45.62,46.02,
-46.29,46.71,46.41,46.71,47.05,46.90,47.71,47.83,47.80,48.08,
-48.29,48.73,48.74,48.72,48.91,49.17,49.46,49.42,50.38,50.21,
-50.10,50.67,50.75,50.90,50.87,51.31,51.34,51.43,51.65,52.00,
-52.58,52.49,52.76,52.66,53.01,53.27,53.28,53.19,53.81,53.67,
-54.35,54.47,54.73,54.75,54.93,54.91,55.75,55.69,55.89,56.19,
-56.14,56.62,56.52,56.83,57.32,57.19,57.30,57.57,57.72,57.88,
-58.17,58.44,58.63,58.67,58.62,59.23,59.44,59.78,60.00,60.24,
-1.72,1.89,2.06,2.25,2.42,2.62,2.72,2.98,3.11,3.19,
-3.41,3.58,3.70,3.97,4.10,4.24,4.31,4.57,4.65,4.90,
-5.12,5.28,5.39,5.61,5.74,5.94,6.04,6.27,6.34,6.51,
-6.64,6.95,7.05,7.25,7.36,7.53,7.65,7.86,8.04,8.18,
-8.34,8.44,8.61,8.90,9.02,9.23,9.43,9.65,9.72,9.81,
-10.06,10.20,10.35,10.58,10.74,10.96,11.06,11.30,11.35,11.48,
-11.86,11.86,12.19,12.24,12.44,12.48,12.85,12.96,13.14,13.17,
-13.30,13.65,13.62,13.97,13.95,14.32,14.31,14.68,14.72,14.80,
-15.02,15.25,15.48,15.58,15.79,15.87,16.15,16.29,16.32,16.50,
-16.82,16.95,17.06,17.15,17.39,17.48,17.66,17.98,17.98,18.17,
-18.54,18.72,18.72,18.74,19.19,19.21,19.39,19.64,19.66,19.72,
-19.94,20.24,20.34,20.43,20.76,20.88,20.95,21.07,21.34,21.53,
-21.82,22.02,22.00,22.22,22.38,22.49,22.62,22.69,23.09,23.13,
-23.19,23.60,23.66,23.91,24.00,24.43,24.37,24.35,24.76,24.88,
-25.02,25.02,25.31,25.73,25.82,25.90,25.96,26.25,26.04,26.41,
-26.71,26.96,27.13,27.22,27.00,27.68,27.83,27.88,27.97,28.09,
-28.33,28.50,28.65,28.71,28.88,29.05,29.26,29.50,29.83,29.90,
-30.15,30.15,30.42,30.68,30.36,31.05,31.03,31.24,31.42,31.41,
-31.81,31.77,31.77,31.95,32.30,32.64,32.61,32.87,32.98,33.25,
-33.48,33.60,33.52,33.94,33.97,34.19,34.30,34.52,34.61,34.74,
-34.92,35.19,35.42,35.52,35.67,35.97,36.02,35.96,36.52,36.58,
-36.95,36.83,37.18,37.32,37.35,37.45,37.63,37.74,37.92,38.32,
-38.40,38.72,38.72,38.99,39.15,39.43,39.11,39.51,39.73,39.79,
-39.76,39.98,40.33,40.52,40.61,40.72,40.83,41.11,41.18,41.47,
-41.58,41.75,41.93,42.15,42.15,42.74,42.87,42.90,43.06,42.96,
-43.51,43.70,43.47,43.72,43.99,44.12,44.19,44.59,44.67,44.66,
-44.78,45.02,45.44,45.14,45.57,45.89,46.05,46.09,46.11,46.37,
-46.84,46.83,46.69,47.01,47.35,47.27,47.60,48.12,47.89,48.07,
-48.41,48.45,48.65,48.91,48.73,49.12,48.88,49.45,50.09,50.03,
-1.40,1.59,1.72,1.88,2.00,2.15,2.26,2.40,2.60,2.68,
-2.84,3.01,3.08,3.24,3.31,3.54,3.68,3.77,3.98,4.14,
-4.27,4.29,4.53,4.58,4.71,4.98,4.98,5.24,5.24,5.41,
-5.58,5.62,5.84,6.11,6.15,6.26,6.31,6.48,6.62,6.85,
-7.00,7.06,7.14,7.36,7.45,7.61,7.88,7.88,8.03,8.25,
-8.28,8.59,8.70,8.77,8.95,8.97,9.27,9.43,9.45,9.64,
-9.79,9.87,9.98,10.11,10.27,10.35,10.55,10.59,10.97,11.03,
-11.17,11.19,11.45,11.58,11.72,11.76,11.83,12.09,12.15,12.40,
-12.53,12.68,12.68,12.86,13.02,13.18,13.32,13.46,13.59,13.81,
-13.94,13.87,14.19,14.27,14.60,14.55,14.66,14.86,14.95,15.19,
-15.26,15.30,15.65,15.79,15.86,15.88,15.92,16.27,16.22,16.43,
-16.56,16.75,16.71,17.23,17.13,17.32,17.40,17.64,17.69,18.00,
-17.95,18.18,18.25,18.55,18.49,18.79,18.89,18.97,19.21,19.46,
-19.55,19.63,19.57,19.75,19.77,19.91,20.32,20.40,20.55,20.56,
-20.87,20.57,21.06,21.04,21.07,21.38,21.21,21.91,21.93,21.92,
-22.34,22.34,22.63,22.57,22.72,22.92,22.88,23.09,23.27,23.30,
-23.64,23.63,23.91,23.84,24.02,24.18,24.36,24.82,24.55,24.86,
-25.14,25.25,25.26,25.12,25.52,25.62,25.51,25.82,25.96,26.23,
-26.25,26.49,26.55,26.82,26.86,26.95,27.16,27.10,27.34,27.39,
-27.56,27.96,27.77,28.12,28.13,28.40,28.34,28.51,28.97,29.04,
-29.02,29.11,29.56,29.45,29.54,29.77,29.89,30.02,30.23,30.25,
-30.35,30.68,30.97,30.87,31.01,31.03,31.25,31.47,31.43,31.93,
-31.98,31.66,32.08,31.96,32.20,32.62,32.50,32.64,33.02,33.00,
-33.49,33.43,33.51,33.43,33.57,34.02,34.03,34.17,34.30,34.92,
-34.46,34.44,34.90,34.98,34.95,35.34,35.30,35.47,35.83,36.00,
-35.90,36.27,36.20,36.04,36.49,36.65,36.61,36.94,37.22,37.06,
-37.41,37.35,37.77,37.54,37.87,37.82,38.22,38.12,38.41,38.36,
-38.83,38.98,38.81,38.98,39.21,39.23,39.60,39.44,39.75,40.20,
-40.15,39.78,40.38,40.75,40.92,40.92,40.59,41.14,41.24,41.63,
-1.17,1.31,1.47,1.52,1.69,1.80,1.92,2.04,2.12,2.16,
-2.38,2.43,2.55,2.73,2.76,2.99,3.04,3.19,3.30,3.39,
-3.48,3.66,3.70,3.89,3.90,4.13,4.19,4.30,4.48,4.59,
-4.66,4.83,4.88,4.98,5.04,5.23,5.28,5.39,5.52,5.69,
-5.86,5.84,5.95,6.13,6.25,6.30,6.34,6.56,6.57,6.82,
-6.98,7.11,7.21,7.28,7.44,7.46,7.65,7.69,7.82,8.03,
-8.06,8.17,8.31,8.46,8.53,8.61,8.83,8.69,9.07,9.19,
-9.22,9.27,9.53,9.64,9.71,9.85,9.98,9.98,10.10,10.18,
-10.28,10.35,10.56,10.61,10.76,10.93,11.07,11.09,11.24,11.43,
-11.40,11.62,11.76,11.71,11.98,12.06,12.20,12.39,12.33,12.64,
-12.58,12.78,12.89,12.84,12.96,13.34,13.46,13.50,13.64,13.79,
-13.76,13.87,14.16,14.49,14.10,14.55,14.68,14.64,14.65,14.96,
-14.79,15.10,15.24,15.38,15.27,15.65,15.56,15.91,15.98,15.97,
-16.02,16.29,16.22,16.47,16.59,16.77,16.91,16.87,17.01,16.98,
-17.32,17.64,17.56,17.63,17.60,17.82,18.00,18.09,18.20,18.32,
-18.38,18.57,18.64,18.65,18.88,18.87,19.01,19.22,19.13,19.43,
-19.45,19.62,19.90,19.98,19.86,20.18,20.22,20.09,20.36,20.77,
-20.70,20.89,20.91,20.98,21.15,21.06,21.11,21.50,21.63,21.66,
-21.76,22.21,22.08,22.29,22.32,22.43,22.49,22.76,22.78,23.00,
-23.20,22.88,23.06,23.40,23.45,23.55,23.58,23.82,23.71,23.98,
-24.29,24.13,24.34,24.40,24.70,24.82,24.71,24.93,25.06,25.03,
-25.34,25.23,25.30,25.64,25.81,25.93,25.91,25.88,26.28,26.14,
-26.39,26.64,26.68,26.66,26.92,27.16,27.13,27.19,27.41,27.52,
-27.70,27.82,27.73,28.03,28.04,28.09,28.36,28.28,28.36,28.59,
-28.70,28.73,28.88,28.83,29.26,29.24,29.53,29.23,29.44,29.86,
-29.77,29.71,30.14,30.22,30.08,30.23,30.53,30.50,30.72,30.78,
-30.88,31.26,31.20,31.18,31.33,31.42,31.81,31.72,32.04,31.70,
-32.25,32.15,32.47,32.34,32.58,32.78,32.81,32.97,33.10,33.32,
-32.96,33.07,33.45,33.59,33.77,33.99,34.17,34.23,34.59,34.35,
-1.05,1.11,1.18,1.30,1.42,1.51,1.64,1.69,1.83,1.87,
-1.95,2.07,2.14,2.21,2.28,2.45,2.54,2.60,2.78,2.83,
-2.87,3.04,3.07,3.19,3.34,3.42,3.51,3.49,3.62,3.69,
-3.81,3.88,4.14,4.12,4.20,4.37,4.42,4.42,4.57,4.67,
-4.80,4.94,4.93,5.10,5.11,5.30,5.43,5.37,5.61,5.70,
-5.79,5.82,6.03,6.07,6.16,6.23,6.33,6.41,6.46,6.67,
-6.62,6.64,6.78,7.08,7.10,7.20,7.32,7.42,7.49,7.49,
-7.52,7.72,7.84,8.00,8.14,8.18,8.35,8.33,8.33,8.53,
-8.45,8.62,9.01,8.86,8.93,9.07,9.31,9.32,9.45,9.37,
-9.64,9.69,9.84,9.88,9.94,10.05,10.25,10.25,10.30,10.47,
-10.54,10.65,10.73,10.78,11.05,11.08,10.90,11.15,11.40,11.34,
-11.44,11.59,11.63,11.78,11.83,11.83,12.10,12.12,12.33,12.33,
-12.51,12.53,12.65,12.54,12.61,12.85,12.76,13.24,13.32,13.29,
-13.32,13.46,13.41,13.50,13.57,13.84,13.93,13.95,14.25,14.21,
-14.45,14.35,14.40,14.48,14.59,14.75,14.88,14.79,15.08,15.12,
-15.16,15.46,15.41,15.54,15.68,15.89,15.84,15.87,16.00,16.15,
-16.26,16.45,16.24,16.57,16.61,16.84,16.90,16.93,16.76,16.85,
-17.07,17.24,17.21,17.44,17.64,17.54,17.63,18.02,17.95,18.05,
-18.17,18.37,18.50,18.35,18.30,18.51,18.46,18.74,18.99,18.89,
-19.19,19.11,19.29,19.16,19.52,19.38,19.64,19.63,19.94,19.85,
-20.01,20.22,20.16,20.26,20.46,20.42,20.72,20.76,20.80,20.93,
-21.01,21.08,21.17,21.24,21.45,21.65,21.56,21.53,21.76,21.99,
-21.82,21.94,22.03,22.31,22.14,22.47,22.54,22.61,22.69,22.70,
-22.66,22.87,23.22,23.40,23.29,23.27,23.39,23.66,23.65,23.77,
-23.59,23.93,24.15,24.13,24.18,24.30,24.36,24.30,24.56,24.58,
-24.74,24.85,24.90,24.91,25.08,25.21,25.37,25.40,25.52,25.67,
-25.70,25.81,25.83,26.11,26.08,26.27,26.16,26.38,26.31,26.55,
-26.73,26.82,26.81,26.84,26.91,27.29,27.34,27.29,27.45,27.56,
-27.67,27.66,27.69,27.72,28.27,28.08,28.08,28.40,28.25,28.44,
-0.82,0.91,1.04,1.07,1.12,1.18,1.27,1.38,1.42,1.56,
-1.53,1.74,1.84,1.88,1.90,1.95,1.97,2.26,2.26,2.31,
-2.34,2.49,2.59,2.64,2.80,2.80,2.98,3.04,2.96,3.16,
-3.23,3.26,3.40,3.46,3.50,3.57,3.62,3.72,3.90,3.98,
-3.99,4.10,4.07,4.28,4.32,4.42,4.44,4.45,4.69,4.80,
-4.79,4.86,5.07,5.05,5.22,5.20,5.19,5.17,5.47,5.51,
-5.51,5.62,5.70,5.81,5.86,5.90,6.01,6.16,6.14,6.31,
-6.34,6.37,6.49,6.57,6.72,6.70,6.62,6.95,6.88,7.20,
-7.08,7.29,7.38,7.24,7.55,7.47,7.68,7.81,7.85,7.81,
-7.93,8.10,8.22,8.19,8.24,8.30,8.42,8.48,8.76,8.57,
-8.65,8.68,8.86,8.95,9.01,8.97,9.24,9.25,9.45,9.50,
-9.56,9.81,9.72,9.86,9.72,9.94,10.17,10.14,10.20,10.20,
-10.38,10.44,10.47,10.57,10.78,10.52,10.68,10.95,10.88,11.05,
-11.12,11.09,11.32,11.25,11.49,11.51,11.56,11.76,11.79,11.76,
-11.73,11.97,12.09,12.11,12.15,12.41,12.37,12.57,12.43,12.71,
-12.65,12.71,12.84,12.89,12.87,12.98,13.15,13.27,13.39,13.37,
-13.44,13.73,13.68,13.62,13.93,13.93,14.05,13.94,14.20,14.37,
-14.16,14.27,14.47,14.44,14.55,14.76,14.65,14.78,14.91,15.03,
-15.27,15.11,15.20,15.51,15.22,15.35,15.67,15.55,15.67,15.81,
-15.71,15.93,15.84,16.14,16.12,16.11,16.43,16.32,16.30,16.59,
-16.58,16.79,16.68,17.18,16.82,17.00,17.03,17.24,17.34,17.44,
-17.63,17.38,17.65,17.52,17.81,17.84,18.01,17.82,17.76,18.16,
-18.07,18.14,18.43,18.63,18.46,18.69,18.79,18.98,18.77,18.93,
-18.94,19.06,19.21,19.18,19.32,19.40,19.60,19.58,19.39,19.67,
-19.75,19.82,19.86,20.13,20.03,20.24,20.25,20.21,20.46,20.55,
-20.41,20.43,20.66,20.89,21.07,20.89,20.88,21.23,21.22,21.17,
-21.20,21.46,21.60,21.53,21.57,22.01,21.53,22.07,21.97,22.01,
-22.01,22.29,22.33,22.25,22.34,22.58,22.46,22.75,22.64,23.11,
-22.88,22.96,23.11,23.07,23.31,23.25,23.45,23.46,23.44,23.64,
-0.70,0.76,0.82,0.86,0.93,1.05,1.09,1.11,1.21,1.26,
-1.34,1.43,1.41,1.56,1.63,1.71,1.75,1.76,1.82,1.94,
-2.04,2.07,2.17,2.16,2.22,2.35,2.39,2.41,2.54,2.53,
-2.68,2.84,2.81,2.86,2.90,2.96,3.00,3.15,3.29,3.37,
-3.29,3.39,3.37,3.67,3.49,3.62,3.66,3.71,3.79,3.93,
-4.00,3.98,4.04,4.30,4.20,4.21,4.29,4.49,4.56,4.60,
-4.56,4.63,4.74,4.74,4.98,4.94,5.02,5.07,5.09,5.21,
-5.33,5.28,5.37,5.43,5.49,5.50,5.64,5.77,5.82,5.88,
-5.94,5.90,6.01,6.08,6.14,6.22,6.41,6.39,6.54,6.54,
-6.68,6.75,6.61,6.66,6.85,6.84,6.93,6.98,7.23,7.23,
-7.13,7.24,7.24,7.47,7.37,7.56,7.66,7.77,7.76,8.07,
-7.79,7.99,8.07,8.11,8.12,8.31,8.20,8.30,8.37,8.38,
-8.51,8.52,8.68,8.84,8.81,8.88,9.12,8.91,8.97,9.21,
-9.22,9.29,9.31,9.49,9.58,9.59,9.62,9.69,9.62,9.82,
-9.82,9.87,9.90,10.06,10.14,10.31,10.35,10.54,10.29,10.38,
-10.67,10.50,10.73,10.59,10.90,10.98,10.93,10.98,10.94,11.15,
-11.14,11.23,11.40,11.31,11.51,11.57,11.63,11.72,11.79,11.70,
-11.83,12.03,11.92,12.07,12.10,12.14,12.26,12.28,12.22,12.46,
-12.40,12.46,12.64,12.79,12.79,12.72,12.69,12.95,13.01,13.07,
-13.14,13.17,13.38,13.34,13.43,13.27,13.43,13.56,13.63,13.56,
-13.75,13.96,13.90,14.02,13.91,14.11,14.35,14.24,14.29,14.26,
-14.42,14.35,14.64,14.69,14.55,14.71,14.94,14.68,14.77,14.99,
-15.35,15.17,15.41,15.30,15.40,15.34,15.50,15.53,15.35,15.68,
-15.70,15.79,15.87,15.98,16.08,16.03,16.23,16.25,16.24,16.27,
-16.32,16.45,16.58,16.69,16.63,16.91,16.90,16.88,16.78,17.00,
-17.10,17.16,17.07,17.07,17.32,17.30,17.48,17.58,17.63,17.56,
-17.75,17.70,17.81,17.89,18.03,18.01,17.92,18.31,18.36,18.28,
-18.37,18.50,18.55,18.44,18.56,18.47,18.88,18.71,18.78,19.02,
-19.10,19.11,19.08,19.47,19.04,19.45,19.35,19.38,19.45,19.62,
-0.55,0.61,0.70,0.73,0.78,0.85,0.94,0.97,1.05,1.04,
-1.15,1.14,1.26,1.27,1.36,1.25,1.44,1.48,1.57,1.62,
-1.69,1.74,1.81,1.78,1.84,1.94,2.02,2.05,2.08,2.14,
-2.24,2.19,2.30,2.43,2.42,2.49,2.47,2.55,2.59,2.72,
-2.73,2.84,2.81,2.87,2.92,3.02,3.04,3.14,3.24,3.10,
-3.30,3.35,3.29,3.41,3.46,3.55,3.59,3.62,3.91,3.76,
-3.93,3.99,4.05,3.94,4.09,4.14,4.18,4.22,4.33,4.36,
-4.35,4.36,4.38,4.47,4.58,4.59,4.72,4.72,4.88,4.87,
-5.03,4.97,5.01,5.03,5.25,5.18,5.24,5.36,5.32,5.38,
-5.55,5.50,5.63,5.69,5.67,5.66,5.87,5.86,6.00,5.86,
-6.11,6.04,6.27,6.07,6.13,6.34,6.30,6.39,6.52,6.53,
-6.48,6.50,6.68,6.69,6.79,6.89,7.01,6.90,6.89,7.05,
-7.04,7.27,7.19,7.32,7.20,7.37,7.23,7.41,7.59,7.66,
-7.60,7.74,7.64,7.81,7.88,7.91,8.10,8.12,8.12,8.17,
-8.26,8.31,8.33,8.30,8.39,8.43,8.51,8.68,8.72,8.65,
-8.68,8.85,8.91,8.82,8.88,8.96,9.00,9.10,9.05,9.29,
-9.21,9.28,9.48,9.22,9.47,9.71,9.73,9.71,9.71,9.77,
-9.76,9.76,9.94,9.96,9.94,10.08,10.21,10.23,10.39,10.21,
-10.41,10.37,10.47,10.48,10.53,10.56,10.74,10.77,10.78,10.89,
-10.91,10.92,11.05,10.97,11.21,11.02,11.20,11.43,11.17,11.49,
-11.50,11.47,11.39,11.58,11.61,11.67,11.83,11.79,11.89,11.91,
-12.08,12.09,12.21,12.21,12.11,12.25,12.37,12.26,12.34,12.53,
-12.58,12.57,12.59,12.54,12.80,12.88,12.84,12.78,13.06,13.11,
-13.28,13.06,13.17,13.24,13.38,13.35,13.49,13.34,13.59,13.56,
-13.53,13.54,13.81,13.63,13.79,13.97,14.02,14.07,14.12,13.94,
-14.14,14.33,14.35,14.52,14.40,14.40,14.64,14.70,14.64,14.53,
-14.59,14.69,14.78,14.71,14.94,14.94,15.08,15.19,15.21,15.05,
-15.37,15.16,15.33,15.34,15.44,15.60,15.60,15.57,15.71,15.72,
-15.96,15.96,15.87,15.95,15.99,15.93,16.17,16.07,16.15,16.36,
-0.50,0.52,0.59,0.65,0.66,0.67,0.76,0.77,0.86,0.90,
-0.94,1.01,0.95,1.07,1.07,1.19,1.18,1.27,1.30,1.34,
-1.36,1.41,1.48,1.46,1.56,1.62,1.64,1.74,1.69,1.80,
-1.92,1.89,1.98,2.03,1.98,2.09,2.09,2.11,2.18,2.21,
-2.38,2.34,2.33,2.48,2.41,2.52,2.55,2.56,2.60,2.68,
-2.68,2.83,2.84,2.84,2.90,2.88,3.00,3.04,3.14,3.06,
-3.22,3.19,3.22,3.30,3.37,3.43,3.52,3.50,3.62,3.70,
-3.53,3.62,3.69,3.69,3.84,3.73,3.92,4.03,4.04,4.04,
-4.03,4.12,4.25,4.24,4.31,4.29,4.46,4.49,4.46,4.42,
-4.51,4.59,4.62,4.76,4.72,4.81,4.92,4.88,5.05,4.86,
-4.98,5.05,5.02,5.16,5.27,5.18,5.25,5.37,5.38,5.37,
-5.43,5.45,5.47,5.53,5.46,5.62,5.70,5.67,5.79,5.81,
-5.91,6.10,6.16,6.07,6.02,6.17,6.21,6.08,6.15,6.27,
-6.26,6.45,6.54,6.49,6.46,6.61,6.59,6.78,6.74,6.80,
-6.72,6.98,6.96,6.96,6.99,7.00,7.21,7.07,7.00,7.26,
-7.24,7.33,7.38,7.28,7.33,7.50,7.40,7.63,7.69,7.55,
-7.84,7.60,7.68,7.86,7.88,7.92,7.96,8.21,7.90,8.27,
-8.09,8.13,8.34,8.32,8.39,8.43,8.39,8.42,8.55,8.60,
-8.64,8.56,8.65,8.75,8.73,8.78,8.79,9.03,8.95,8.98,
-9.06,9.08,9.20,9.28,9.25,9.23,9.53,9.35,9.33,9.39,
-9.68,9.65,9.76,9.61,9.49,9.59,9.83,9.68,9.94,9.96,
-10.05,10.07,10.02,10.20,10.08,10.05,10.19,10.09,10.34,10.33,
-10.26,10.38,10.41,10.44,10.54,10.70,10.56,10.65,10.81,10.85,
-10.90,10.94,10.96,10.94,10.95,11.01,11.25,11.09,11.10,11.35,
-11.29,11.25,11.47,11.46,11.48,11.67,11.60,11.69,11.80,11.66,
-11.66,11.90,11.87,11.84,11.81,12.01,11.93,12.30,12.03,12.12,
-12.01,12.35,12.47,12.27,12.24,12.50,12.41,12.39,12.58,12.62,
-12.80,12.49,13.04,12.70,13.05,12.83,12.90,12.89,13.10,13.12,
-13.20,13.16,13.32,13.06,13.12,13.42,13.46,13.37,13.47,13.45,
-0.41,0.46,0.47,0.54,0.53,0.56,0.63,0.65,0.71,0.76,
-0.75,0.78,0.83,0.86,0.93,0.97,1.00,1.00,1.09,1.09,
-1.13,1.15,1.24,1.21,1.30,1.32,1.35,1.38,1.46,1.49,
-1.51,1.58,1.54,1.60,1.68,1.70,1.72,1.76,1.87,1.90,
-1.84,1.92,1.94,2.03,2.02,2.07,2.11,2.08,2.18,2.22,
-2.32,2.33,2.30,2.35,2.40,2.48,2.48,2.48,2.55,2.67,
-2.59,2.69,2.68,2.75,2.85,2.84,2.86,2.91,3.05,2.88,
-2.98,3.09,3.17,3.13,3.21,3.24,3.31,3.31,3.28,3.37,
-3.39,3.33,3.44,3.42,3.48,3.57,3.64,3.64,3.65,3.75,
-3.84,3.83,3.91,3.89,4.01,4.06,4.05,4.09,4.18,4.14,
-4.10,4.09,4.21,4.42,4.29,4.37,4.36,4.42,4.44,4.38,
-4.50,4.51,4.72,4.72,4.66,4.71,4.74,4.73,4.83,4.85,
-4.96,4.93,5.00,4.93,5.09,5.05,5.11,5.15,5.26,5.18,
-5.28,5.21,5.29,5.36,5.47,5.33,5.48,5.51,5.50,5.50,
-5.68,5.67,5.70,5.76,5.76,5.88,5.68,5.76,5.95,5.95,
-5.91,5.98,6.03,6.15,6.13,6.30,6.26,6.17,6.39,6.33,
-6.29,6.34,6.44,6.52,6.54,6.58,6.51,6.58,6.64,6.74,
-6.73,6.66,6.82,6.76,7.00,6.95,6.91,7.14,7.08,7.08,
-7.11,7.13,7.08,7.26,7.22,7.32,7.50,7.43,7.40,7.60,
-7.54,7.55,7.55,7.78,7.81,7.71,7.75,7.65,7.69,7.88,
-7.93,7.90,7.95,7.97,8.06,8.05,7.98,8.24,8.20,8.19,
-8.34,8.40,8.46,8.29,8.35,8.42,8.54,8.41,8.44,8.70,
-8.77,8.63,8.71,8.96,8.78,8.65,8.80,8.85,9.01,9.14,
-8.94,8.92,9.07,9.09,9.26,9.27,9.22,9.30,9.19,9.26,
-9.48,9.43,9.49,9.36,9.44,9.46,9.76,9.64,9.56,9.71,
-9.80,9.83,9.73,9.93,9.82,9.94,10.06,10.07,10.10,10.13,
-10.04,10.22,10.27,10.43,10.30,10.45,10.46,10.30,10.48,10.57,
-10.56,10.48,10.45,10.47,10.58,10.77,10.77,10.82,10.71,10.78,
-11.07,10.99,11.06,10.91,11.12,10.92,11.00,11.19,11.26,11.18,
-0.33,0.38,0.40,0.41,0.47,0.49,0.52,0.53,0.53,0.62,
-0.64,0.63,0.68,0.77,0.78,0.82,0.83,0.88,0.89,0.97,
-0.93,1.05,1.05,1.04,1.08,1.10,1.18,1.13,1.17,1.20,
-1.23,1.26,1.28,1.35,1.40,1.39,1.43,1.41,1.49,1.54,
-1.55,1.57,1.56,1.65,1.73,1.69,1.73,1.79,1.78,1.77,
-1.84,1.90,1.93,1.99,2.03,2.09,2.09,2.08,2.04,2.19,
-2.21,2.17,2.24,2.35,2.29,2.42,2.31,2.45,2.41,2.48,
-2.58,2.48,2.60,2.56,2.57,2.65,2.71,2.72,2.74,2.75,
-2.80,2.88,2.86,2.90,2.98,2.97,2.94,3.11,3.10,3.18,
-3.15,3.09,3.19,3.27,3.20,3.34,3.33,3.37,3.43,3.46,
-3.42,3.43,3.48,3.53,3.55,3.63,3.67,3.65,3.71,3.77,
-3.82,3.76,3.80,3.84,3.79,3.89,4.01,3.91,3.93,4.02,
-4.12,4.08,4.08,4.16,4.21,4.15,4.27,4.31,4.38,4.37,
-4.42,4.34,4.37,4.54,4.59,4.46,4.47,4.49,4.69,4.61,
-4.73,4.60,4.83,4.70,4.82,4.96,4.75,4.92,4.90,4.98,
-4.99,5.06,5.07,5.16,5.18,5.05,5.17,5.21,5.32,5.30,
-5.17,5.34,5.34,5.31,5.28,5.48,5.52,5.42,5.57,5.67,
-5.67,5.42,5.82,5.63,5.75,5.75,5.94,5.82,5.91,5.83,
-5.98,5.87,5.90,6.05,6.04,6.27,6.02,6.01,5.98,6.19,
-6.23,6.35,6.29,6.35,6.43,6.35,6.47,6.45,6.38,6.55,
-6.42,6.55,6.52,6.63,6.64,6.75,6.80,6.72,6.80,6.89,
-6.91,6.88,6.96,6.99,6.98,7.06,6.99,6.92,7.10,7.08,
-7.23,7.17,7.20,7.26,7.26,7.29,7.33,7.43,7.37,7.44,
-7.54,7.46,7.61,7.72,7.56,7.54,7.78,7.74,7.64,7.81,
-7.78,7.85,7.81,7.85,7.69,8.00,7.84,7.94,8.10,8.23,
-8.07,8.13,8.25,8.12,8.26,7.99,8.17,8.41,8.37,8.48,
-8.38,8.42,8.45,8.60,8.46,8.65,8.62,8.64,8.73,8.72,
-8.81,8.81,8.80,8.85,8.88,8.79,8.90,9.02,8.89,9.01,
-8.96,8.97,9.11,8.95,9.10,9.11,9.21,9.29,9.28,9.46,
-0.27,0.32,0.33,0.34,0.36,0.39,0.42,0.45,0.50,0.49,
-0.55,0.54,0.55,0.60,0.55,0.64,0.64,0.72,0.72,0.76,
-0.79,0.77,0.89,0.89,0.87,0.90,0.96,0.95,1.02,1.03,
-1.04,1.04,1.16,1.14,1.10,1.22,1.20,1.20,1.19,1.24,
-1.30,1.32,1.29,1.43,1.47,1.45,1.49,1.48,1.50,1.56,
-1.53,1.59,1.59,1.60,1.68,1.71,1.62,1.79,1.75,1.75,
-1.81,1.88,1.79,1.90,1.99,1.95,2.06,1.96,1.93,2.01,
-2.10,2.10,2.10,2.07,2.17,2.25,2.20,2.34,2.32,2.33,
-2.31,2.33,2.37,2.36,2.46,2.44,2.53,2.44,2.57,2.55,
-2.46,2.65,2.62,2.61,2.69,2.78,2.62,2.76,2.82,2.79,
-2.86,2.86,2.98,2.88,2.99,2.93,3.06,2.97,3.05,3.02,
-3.10,3.11,3.10,3.17,3.19,3.29,3.25,3.22,3.25,3.45,
-3.37,3.52,3.51,3.45,3.56,3.47,3.53,3.49,3.63,3.77,
-3.58,3.50,3.64,3.69,3.80,3.74,3.83,3.87,3.84,3.86,
-3.92,3.88,3.96,3.97,3.96,3.93,4.03,4.12,4.10,4.18,
-4.08,4.14,4.23,4.22,4.23,4.16,4.30,4.40,4.27,4.36,
-4.28,4.36,4.44,4.54,4.58,4.58,4.55,4.58,4.61,4.68,
-4.70,4.64,4.67,4.88,4.80,4.71,4.72,4.81,4.89,4.81,
-4.81,4.95,5.06,4.93,4.96,5.04,5.07,5.25,5.16,5.13,
-5.27,5.20,5.25,5.18,5.34,5.36,5.34,5.36,5.44,5.42,
-5.46,5.43,5.56,5.56,5.59,5.46,5.54,5.60,5.62,5.70,
-5.71,5.63,5.80,5.82,5.78,5.80,5.88,5.84,5.88,5.97,
-5.97,5.88,6.11,6.00,6.05,5.88,6.25,6.18,6.06,6.30,
-6.10,6.29,6.29,6.33,6.29,6.33,6.46,6.27,6.34,6.25,
-6.35,6.43,6.54,6.48,6.65,6.58,6.60,6.54,6.57,6.71,
-6.57,6.67,6.83,6.83,6.84,6.78,6.85,6.90,6.84,6.98,
-7.01,7.06,6.90,7.00,7.00,7.13,7.17,7.11,7.22,7.29,
-7.22,7.26,7.28,7.42,7.24,7.38,7.44,7.53,7.44,7.47,
-7.57,7.63,7.56,7.63,7.67,7.67,7.77,7.56,7.72,7.97,
-0.22,0.25,0.24,0.29,0.31,0.35,0.36,0.38,0.39,0.41,
-0.46,0.44,0.51,0.53,0.50,0.54,0.60,0.58,0.59,0.62,
-0.63,0.63,0.71,0.72,0.75,0.76,0.78,0.83,0.84,0.87,
-0.81,0.92,0.92,0.90,0.98,0.96,0.95,0.97,1.10,1.04,
-1.10,1.12,1.16,1.12,1.15,1.14,1.23,1.25,1.25,1.31,
-1.31,1.30,1.36,1.34,1.35,1.41,1.48,1.43,1.48,1.50,
-1.51,1.53,1.53,1.55,1.58,1.64,1.63,1.68,1.62,1.71,
-1.66,1.77,1.81,1.81,1.78,1.90,1.84,1.89,1.87,1.93,
-1.92,1.95,1.92,2.05,2.02,2.10,2.14,2.09,2.15,2.12,
-2.15,2.23,2.12,2.26,2.29,2.30,2.30,2.26,2.34,2.27,
-2.33,2.31,2.44,2.41,2.41,2.47,2.46,2.53,2.70,2.57,
-2.50,2.65,2.61,2.59,2.58,2.67,2.77,2.70,2.73,2.73,
-2.81,2.83,2.81,2.85,2.93,2.90,2.93,2.91,3.00,2.97,
-2.96,3.01,3.10,3.09,3.02,3.05,3.08,3.17,3.23,3.17,
-3.29,3.25,3.30,3.31,3.47,3.40,3.35,3.36,3.35,3.43,
-3.39,3.40,3.51,3.48,3.49,3.57,3.52,3.50,3.58,3.56,
-3.60,3.70,3.67,3.68,3.69,3.76,3.76,3.86,3.78,3.81,
-3.93,3.89,3.80,3.92,3.96,3.94,3.96,4.05,4.14,4.08,
-4.03,4.06,4.13,4.05,4.14,4.19,4.21,4.14,4.24,4.17,
-4.28,4.29,4.37,4.38,4.34,4.45,4.42,4.42,4.48,4.55,
-4.49,4.49,4.54,4.54,4.64,4.65,4.61,4.62,4.62,4.72,
-4.74,4.82,4.72,4.84,4.80,4.89,4.78,4.89,4.95,5.00,
-4.97,4.91,5.00,4.95,4.99,5.17,5.11,5.06,5.17,5.12,
-5.29,5.19,5.16,5.29,5.26,5.26,5.40,5.31,5.33,5.28,
-5.37,5.30,5.40,5.54,5.41,5.53,5.52,5.42,5.55,5.54,
-5.45,5.55,5.57,5.72,5.71,5.67,5.73,5.73,5.81,5.80,
-5.89,5.75,5.72,5.87,5.85,5.88,5.79,5.91,5.97,5.85,
-6.00,6.08,5.96,6.05,6.01,6.26,5.99,6.10,6.12,6.05,
-6.25,6.18,6.34,6.17,6.37,6.37,6.49,6.44,6.42,6.37,
-3.30,3.61,3.82,4.14,4.40,4.82,5.09,5.49,5.71,6.06,
-6.28,6.75,6.97,7.18,7.59,7.87,8.14,8.56,8.85,9.12,
-9.37,9.69,10.05,10.25,10.67,10.92,11.27,11.68,11.87,12.20,
-12.61,12.85,13.28,13.47,13.83,14.10,14.33,14.71,15.00,15.37,
-15.66,15.89,16.29,16.57,16.87,17.07,17.37,17.83,18.18,18.27,
-18.69,19.09,19.18,19.59,19.90,20.27,20.49,20.87,21.01,21.40,
-21.82,22.09,22.11,22.61,23.00,23.42,23.66,23.97,24.11,24.48,
-24.74,25.01,25.32,25.93,26.16,26.39,26.72,26.86,27.32,27.61,
-28.01,28.26,28.45,28.86,29.22,29.47,29.77,30.24,30.46,30.66,
-31.11,31.34,31.68,31.92,32.29,32.76,33.00,32.94,33.51,33.74,
-33.92,34.56,34.66,35.22,35.13,35.61,36.06,36.39,36.52,36.89,
-37.33,37.42,37.78,38.11,38.34,38.73,38.78,39.49,39.50,39.89,
-40.25,40.76,40.81,41.10,41.41,41.73,41.95,42.19,42.90,42.87,
-43.48,43.81,43.91,44.05,44.66,44.84,44.91,45.63,45.93,46.31,
-46.75,46.84,47.10,47.31,48.00,48.11,48.15,48.44,48.67,49.16,
-49.39,49.84,50.17,50.87,50.81,50.99,51.31,51.81,51.89,52.39,
-52.48,52.81,53.12,53.53,53.56,54.13,54.26,54.85,55.16,55.41,
-55.31,55.99,56.29,56.54,56.95,57.33,57.45,57.92,58.04,58.50,
-58.78,59.05,59.07,59.66,60.26,60.27,60.60,61.06,61.66,61.33,
-61.81,62.16,62.48,62.73,62.80,63.32,63.87,64.07,64.33,64.75,
-65.12,65.50,65.39,65.76,66.48,66.63,66.41,67.43,66.84,67.67,
-68.28,68.54,68.66,69.06,69.53,69.63,69.98,70.35,70.34,70.80,
-70.81,71.35,71.56,72.03,72.46,72.81,72.82,73.19,73.98,73.74,
-73.63,74.55,74.80,75.18,75.09,75.92,75.78,76.31,76.55,76.73,
-77.50,77.66,78.07,78.07,78.46,78.88,79.32,79.29,79.82,80.15,
-80.22,80.73,81.23,81.63,81.72,82.04,82.23,82.42,82.99,83.26,
-83.17,83.90,83.77,84.35,84.59,85.03,85.18,85.55,85.85,86.56,
-86.83,86.97,87.03,87.63,87.42,87.76,88.42,88.62,88.89,89.39,
-89.67,90.25,90.33,90.78,91.03,91.23,91.41,91.76,92.07,92.39,
-2.72,2.95,3.27,3.53,3.85,4.08,4.29,4.60,4.89,5.04,
-5.34,5.56,5.74,6.14,6.32,6.58,6.82,7.03,7.41,7.69,
-7.92,8.13,8.42,8.78,8.97,9.23,9.52,9.79,9.93,10.08,
-10.47,10.67,11.00,11.23,11.55,11.75,12.14,12.33,12.69,12.87,
-13.13,13.40,13.69,13.91,14.26,14.44,14.48,14.96,15.05,15.50,
-15.64,15.90,16.19,16.43,16.83,17.07,17.20,17.53,17.85,18.05,
-18.27,18.63,18.72,19.04,19.33,19.58,19.83,20.09,20.48,20.62,
-20.90,21.12,21.35,21.73,21.88,22.11,22.38,22.68,22.99,23.05,
-23.45,23.61,24.00,24.30,24.48,24.76,25.05,25.48,25.46,25.80,
-26.13,26.31,26.54,27.07,27.03,27.27,27.76,27.74,27.98,28.53,
-28.65,28.83,29.21,29.55,29.71,29.81,30.22,30.51,30.69,30.85,
-31.26,31.61,31.65,32.04,32.29,32.52,32.84,32.88,33.44,33.71,
-34.03,34.15,34.42,34.62,35.04,35.04,35.36,35.66,35.91,36.17,
-36.35,36.69,36.90,36.94,37.51,37.74,38.25,38.24,38.59,38.91,
-38.98,39.39,39.80,39.95,40.11,40.33,40.50,40.95,41.07,41.48,
-41.55,41.89,42.02,42.43,42.63,42.69,43.35,43.46,43.84,44.08,
-44.12,44.35,44.72,45.05,45.44,45.50,45.98,46.11,46.32,46.81,
-47.01,47.25,47.08,47.62,47.89,48.28,48.41,48.62,48.96,49.20,
-49.33,49.62,49.98,50.13,50.39,50.62,50.74,51.19,51.22,51.81,
-52.02,52.01,52.68,52.60,52.88,53.37,53.41,53.65,53.99,54.36,
-54.82,54.95,55.29,55.33,55.92,55.85,56.07,56.31,56.74,56.93,
-57.06,57.60,57.67,58.05,57.85,58.29,58.52,58.92,59.01,59.63,
-59.63,60.01,60.32,60.64,60.58,61.10,61.34,61.44,61.73,62.06,
-62.37,62.44,62.95,63.00,63.29,63.87,63.95,64.01,64.28,64.98,
-65.00,65.04,65.31,65.73,66.04,65.93,66.61,66.60,66.97,67.41,
-67.54,67.70,68.25,68.32,68.59,68.68,69.34,69.31,69.61,70.03,
-70.18,70.39,70.71,71.43,70.97,71.93,71.80,71.74,72.37,72.32,
-72.92,72.92,73.53,73.10,73.86,73.76,74.42,74.60,75.19,74.79,
-75.08,75.49,75.97,75.73,76.56,76.61,77.25,77.46,77.20,77.58,
-2.29,2.55,2.73,2.95,3.18,3.36,3.54,3.84,4.04,4.24,
-4.47,4.67,4.92,5.11,5.38,5.53,5.73,6.05,6.13,6.41,
-6.58,6.81,7.00,7.25,7.58,7.67,7.92,8.21,8.44,8.63,
-8.86,8.90,9.23,9.34,9.71,9.82,10.19,10.28,10.57,10.88,
-11.05,11.28,11.43,11.80,11.87,12.14,12.41,12.60,12.76,13.08,
-13.16,13.51,13.57,13.76,14.05,14.25,14.61,14.65,15.06,15.21,
-15.53,15.69,15.93,16.09,16.24,16.43,16.77,16.74,17.10,17.26,
-17.49,17.69,18.03,18.24,18.49,18.42,19.11,19.08,19.36,19.63,
-19.77,20.07,20.12,20.55,20.71,20.78,20.83,21.31,21.36,21.78,
-21.88,22.06,22.25,22.49,22.82,23.00,23.34,23.31,23.63,23.68,
-24.10,24.30,24.32,24.80,24.91,25.15,25.50,25.81,25.80,26.30,
-26.34,26.59,26.51,26.95,27.16,27.11,27.45,27.84,28.24,28.02,
-28.44,28.79,28.79,28.97,29.39,29.35,29.82,29.81,29.95,30.25,
-30.70,30.93,31.13,31.34,31.45,31.70,31.87,32.28,32.23,32.42,
-32.67,33.06,33.51,33.34,33.65,33.72,34.30,34.26,34.65,34.91,
-34.91,35.03,35.42,35.41,35.97,35.86,36.32,36.39,36.72,37.00,
-36.99,37.36,37.51,37.83,37.97,38.07,38.46,38.72,38.97,39.19,
-39.27,39.57,39.77,40.02,40.29,40.39,40.74,40.73,40.92,41.33,
-41.49,41.62,41.99,42.28,42.40,42.31,42.64,42.73,43.25,43.42,
-43.92,43.89,44.16,44.22,44.36,44.74,44.99,45.13,45.44,45.56,
-45.76,46.03,46.52,46.23,46.50,47.04,47.34,47.71,47.86,47.75,
-47.98,48.20,48.57,48.58,48.86,49.27,49.36,49.69,50.00,49.91,
-50.32,50.13,50.66,50.38,51.08,51.43,51.26,51.81,51.97,51.97,
-52.23,52.43,53.11,52.91,53.06,53.68,53.69,53.96,54.21,54.45,
-54.53,54.99,55.12,54.94,55.62,55.93,55.84,56.00,56.16,56.56,
-57.00,56.93,57.35,57.40,57.50,57.69,58.19,58.21,58.37,58.37,
-58.84,59.20,59.23,59.32,59.68,60.00,60.29,60.62,60.84,60.76,
-61.01,61.19,61.31,61.74,61.95,62.40,62.59,62.78,62.88,63.21,
-63.29,63.15,63.66,63.85,64.60,64.36,64.72,64.64,65.00,64.86,
-1.97,2.08,2.26,2.49,2.71,2.87,2.96,3.28,3.35,3.49,
-3.74,3.98,4.10,4.32,4.49,4.77,4.89,4.99,5.13,5.36,
-5.53,5.89,5.95,6.04,6.23,6.44,6.68,6.93,7.04,7.26,
-7.49,7.63,7.78,7.89,8.08,8.32,8.53,8.74,8.76,9.06,
-9.25,9.61,9.60,9.78,9.91,10.22,10.30,10.61,10.74,10.96,
-11.10,11.27,11.42,11.57,11.64,12.01,12.07,12.35,12.56,12.53,
-12.85,13.06,13.39,13.62,13.52,13.89,13.97,14.16,14.33,14.52,
-14.61,14.87,15.20,15.29,15.47,15.74,15.83,16.07,16.13,16.49,
-16.48,16.64,16.93,17.14,17.18,17.46,17.72,17.73,18.14,18.06,
-18.46,18.44,18.77,18.95,19.21,19.25,19.43,19.70,19.91,20.05,
-20.41,20.52,20.48,20.84,20.91,21.13,21.26,21.69,21.68,21.83,
-22.10,22.31,22.49,22.50,22.83,23.17,23.16,23.23,23.39,23.73,
-23.90,24.05,24.54,24.21,24.49,24.78,24.82,25.03,25.43,25.31,
-25.64,25.88,25.96,26.32,26.49,26.44,26.80,26.90,27.23,27.29,
-27.29,27.65,27.87,27.97,28.30,28.47,28.73,28.87,28.91,29.27,
-29.27,29.39,29.69,29.81,30.15,30.34,30.67,30.59,30.85,31.26,
-31.31,31.24,31.77,31.71,32.08,32.21,32.21,32.55,32.70,32.85,
-32.72,33.28,33.26,33.61,33.82,33.85,34.17,34.48,34.53,34.78,
-34.85,34.85,35.10,35.29,35.62,35.51,35.91,36.02,36.25,36.68,
-36.89,36.74,37.09,37.43,37.41,37.64,37.65,38.01,38.22,38.25,
-38.51,38.94,39.06,39.22,38.94,39.29,39.66,39.78,39.98,40.10,
-40.11,40.88,40.46,40.71,41.06,41.19,41.32,41.50,41.70,42.08,
-42.15,42.36,42.54,42.56,42.98,43.20,43.23,43.38,43.57,44.03,
-43.99,44.34,44.41,44.78,45.04,44.89,45.02,45.41,45.54,45.68,
-45.57,46.05,46.48,46.33,46.44,46.82,46.84,47.01,47.52,47.65,
-47.66,47.76,48.08,48.33,48.20,48.62,48.79,48.96,49.36,49.06,
-49.68,49.80,50.17,49.77,50.46,50.23,50.17,50.98,51.00,51.24,
-51.52,51.38,51.59,51.82,51.91,52.35,52.38,52.74,52.96,53.13,
-53.36,53.64,53.86,53.89,53.90,54.08,54.26,54.32,54.66,54.74,
-1.63,1.76,1.88,2.12,2.23,2.37,2.50,2.68,2.83,2.93,
-3.02,3.29,3.46,3.60,3.72,3.85,4.09,4.33,4.36,4.55,
-4.58,4.78,4.97,5.09,5.38,5.50,5.58,5.77,5.91,6.04,
-6.22,6.38,6.54,6.57,6.87,7.00,7.21,7.31,7.47,7.64,
-7.76,8.01,8.14,8.35,8.27,8.37,8.72,8.82,9.09,9.20,
-9.39,9.56,9.57,9.84,10.03,10.17,10.22,10.53,10.47,10.56,
-10.77,10.85,11.01,11.26,11.43,11.58,11.88,11.98,12.12,12.27,
-12.27,12.55,12.75,12.76,13.03,13.11,13.44,13.56,13.58,13.76,
-14.02,14.07,14.26,14.34,14.68,14.57,14.81,15.07,15.21,15.39,
-15.42,15.60,15.75,15.75,16.03,16.33,16.27,16.54,16.63,16.72,
-16.88,17.05,17.39,17.34,17.55,17.68,17.78,18.07,18.00,18.45,
-18.41,18.59,19.00,18.86,19.19,19.44,19.33,19.59,19.82,19.85,
-20.11,20.46,20.31,20.26,20.57,20.98,20.93,21.33,21.56,21.53,
-21.46,21.81,21.70,22.03,22.26,22.61,22.55,22.61,22.64,22.69,
-23.09,23.41,23.54,23.54,23.83,23.66,24.25,24.23,24.44,24.50,
-24.52,24.84,24.93,25.25,25.25,25.46,25.55,25.78,26.09,26.14,
-26.13,26.30,26.52,26.68,26.65,26.90,27.21,27.05,27.50,27.89,
-27.81,27.82,28.06,28.03,28.34,28.31,28.51,28.70,29.17,28.94,
-29.29,29.51,29.53,29.64,29.96,29.98,30.02,30.34,30.57,30.57,
-30.92,30.93,31.20,31.34,31.44,31.55,31.79,32.15,31.98,32.20,
-32.28,32.41,32.43,32.80,33.14,33.15,33.28,33.37,33.58,33.78,
-33.76,33.99,34.15,34.63,34.61,34.54,34.70,35.04,35.00,35.55,
-35.57,35.61,35.89,35.68,36.13,36.47,36.27,36.26,36.65,36.92,
-37.39,37.02,37.07,37.43,37.30,37.79,37.80,38.16,38.45,38.31,
-38.45,38.84,38.75,39.11,39.22,38.94,39.30,39.69,39.56,40.07,
-39.98,39.85,40.58,40.70,40.87,40.95,40.83,41.35,41.17,41.18,
-41.85,41.77,41.97,42.00,42.21,42.42,42.70,42.77,42.87,42.81,
-43.08,43.10,43.38,43.73,43.53,43.88,44.20,44.15,44.40,44.81,
-44.63,44.89,44.97,45.14,45.57,45.43,45.86,46.02,45.83,45.63,
-1.38,1.45,1.58,1.74,1.86,2.07,2.16,2.25,2.36,2.53,
-2.58,2.79,2.90,3.04,3.19,3.22,3.50,3.58,3.60,3.85,
-3.86,4.07,4.26,4.24,4.44,4.61,4.74,4.90,5.00,5.06,
-5.25,5.43,5.47,5.55,5.79,5.88,5.97,6.10,6.33,6.43,
-6.49,6.76,6.74,6.98,7.08,7.20,7.34,7.44,7.64,7.69,
-7.80,7.76,8.07,8.18,8.42,8.55,8.49,8.67,8.80,8.98,
-9.01,9.31,9.36,9.37,9.57,9.73,9.88,10.22,10.06,10.26,
-10.57,10.42,10.62,10.78,10.81,10.94,11.14,11.33,11.41,11.50,
-11.55,11.86,11.98,12.21,12.32,12.25,12.44,12.47,12.79,12.77,
-12.91,13.16,13.15,13.14,13.79,13.71,13.64,13.98,14.01,14.23,
-14.33,14.38,14.62,14.66,14.84,14.86,14.91,15.10,15.18,15.35,
-15.59,15.68,15.83,15.93,16.18,16.23,16.43,16.52,16.62,16.85,
-16.61,16.88,17.19,17.28,17.13,17.31,17.57,17.82,17.88,17.86,
-18.17,18.40,18.36,18.53,18.51,18.74,18.98,19.10,19.39,19.34,
-19.45,19.62,19.77,19.86,19.89,19.88,20.19,20.24,20.45,20.68,
-20.75,20.90,20.91,21.16,21.23,21.50,21.31,21.64,21.74,21.83,
-22.11,21.96,22.14,22.53,22.70,22.64,22.87,22.82,23.13,23.20,
-23.32,23.46,23.62,23.78,23.56,24.00,24.02,24.23,24.23,24.43,
-24.72,24.79,24.90,24.94,25.04,25.23,25.21,25.59,25.69,25.65,
-25.84,26.11,26.27,26.17,26.35,26.67,26.82,26.77,27.13,26.84,
-26.87,27.54,27.45,27.56,27.51,27.77,27.77,28.24,28.14,28.32,
-28.27,28.45,28.67,28.72,28.86,28.83,29.39,29.43,29.40,29.58,
-29.92,29.82,30.16,30.22,30.27,30.53,30.58,30.32,30.70,30.87,
-31.01,31.17,31.30,31.48,31.82,31.68,31.84,31.86,32.22,32.47,
-32.30,32.43,32.65,32.75,32.92,32.66,33.03,33.49,33.46,33.66,
-33.75,33.90,33.86,33.77,34.38,34.49,34.35,34.43,34.83,34.74,
-35.15,35.13,35.34,35.55,35.39,35.53,35.76,35.74,35.81,35.70,
-36.04,36.57,36.45,36.55,36.62,36.83,36.74,37.20,37.20,37.55,
-37.58,37.67,37.89,37.88,38.16,38.28,38.33,38.24,38.54,38.92,
-1.18,1.22,1.36,1.48,1.61,1.66,1.72,1.92,2.03,2.11,
-2.31,2.36,2.35,2.55,2.63,2.78,2.91,2.93,3.12,3.26,
-3.40,3.41,3.62,3.64,3.81,3.93,3.90,4.09,4.15,4.26,
-4.28,4.54,4.65,4.65,4.74,4.98,5.03,5.10,5.29,5.40,
-5.42,5.50,5.75,5.81,5.91,6.08,6.16,6.35,6.41,6.62,
-6.61,6.68,6.84,6.89,7.00,7.03,7.29,7.27,7.39,7.57,
-7.63,7.75,7.86,7.99,7.88,8.17,8.35,8.45,8.45,8.66,
-8.67,8.87,9.02,9.07,9.02,9.39,9.48,9.53,9.67,9.60,
-9.84,9.95,10.08,10.16,10.15,10.40,10.58,10.50,10.67,10.91,
-10.90,10.98,11.06,11.24,11.35,11.46,11.57,11.70,11.80,11.80,
-12.00,12.17,12.08,12.36,12.54,12.50,12.67,12.77,12.68,12.90,
-12.97,13.14,13.36,13.47,13.35,13.69,13.85,13.72,13.88,13.99,
-13.97,14.25,14.52,14.56,14.57,14.69,14.86,14.92,15.04,15.31,
-15.35,15.18,15.34,15.75,15.54,15.84,15.89,15.89,16.02,16.26,
-16.19,16.40,16.68,16.61,16.63,16.86,17.00,16.98,17.07,17.31,
-17.38,17.56,17.65,17.65,17.78,18.04,18.12,18.22,18.44,18.25,
-18.41,18.60,18.48,18.91,19.05,19.14,19.00,19.11,19.48,19.57,
-19.58,19.61,19.79,19.54,20.07,20.24,20.33,20.44,20.45,20.45,
-20.79,20.73,20.78,20.96,21.00,21.25,21.12,21.54,21.56,21.59,
-21.52,21.87,21.97,22.02,22.24,22.20,22.20,22.64,22.47,22.70,
-22.86,22.82,22.86,23.05,23.36,23.46,23.60,23.73,23.49,24.04,
-23.85,23.91,24.00,24.18,24.27,24.62,24.39,24.81,24.69,24.92,
-25.31,25.13,25.26,25.32,25.25,25.31,25.55,25.88,25.79,25.92,
-25.84,26.34,26.04,26.47,26.47,26.68,26.57,26.75,27.02,26.96,
-27.30,27.19,27.30,27.58,27.64,27.67,27.81,27.83,28.03,28.11,
-28.21,28.60,28.46,28.63,28.88,28.84,28.92,28.87,29.04,29.23,
-29.27,29.23,29.45,29.78,29.75,29.93,29.98,30.16,30.16,30.40,
-30.56,30.34,30.67,31.09,30.92,31.04,30.93,31.09,31.18,31.30,
-31.59,31.79,31.74,31.78,32.02,32.02,32.20,32.06,32.52,32.66,
-0.95,1.06,1.11,1.24,1.37,1.42,1.46,1.62,1.72,1.78,
-1.83,1.97,1.99,2.13,2.17,2.32,2.37,2.58,2.64,2.75,
-2.77,2.94,2.99,3.04,3.15,3.22,3.28,3.39,3.44,3.55,
-3.77,3.71,3.90,3.96,4.14,4.18,4.21,4.32,4.45,4.49,
-4.64,4.73,4.71,4.88,4.92,5.07,5.17,5.20,5.28,5.44,
-5.47,5.61,5.73,5.75,5.89,5.94,6.08,6.12,6.28,6.24,
-6.36,6.46,6.67,6.62,6.82,6.92,7.04,7.12,7.13,7.18,
-7.40,7.36,7.50,7.58,7.78,7.86,7.73,7.87,8.12,8.12,
-8.36,8.21,8.39,8.58,8.58,8.74,8.82,8.98,8.87,9.13,
-9.11,9.32,9.46,9.37,9.49,9.65,9.74,9.86,9.89,9.89,
-10.27,10.12,10.11,10.36,10.41,10.53,10.64,10.62,10.85,10.84,
-11.06,10.96,11.14,11.19,11.40,11.41,11.52,11.64,11.80,11.62,
-11.89,11.96,12.05,12.08,12.24,12.29,12.39,12.69,12.63,12.64,
-12.73,12.77,13.02,13.13,13.28,13.29,13.45,13.51,13.53,13.52,
-13.71,13.63,13.87,13.98,14.21,14.09,14.13,14.26,14.50,14.45,
-14.46,14.45,15.02,14.77,14.65,15.00,15.12,15.31,15.43,15.47,
-15.57,15.66,15.71,15.77,15.87,15.96,16.11,15.98,16.18,16.41,
-16.53,16.55,16.73,16.68,16.89,16.75,17.20,17.06,17.06,17.27,
-17.34,17.57,17.51,17.77,17.63,17.75,17.92,17.93,18.20,18.09,
-18.28,18.24,18.45,18.86,18.48,18.90,18.77,18.98,19.28,19.01,
-19.17,19.24,19.27,19.63,19.61,19.76,19.97,20.00,19.81,20.01,
-20.01,19.78,20.58,20.45,20.29,20.43,20.69,20.76,21.02,20.98,
-21.12,20.93,21.15,21.34,21.25,21.32,21.56,21.77,21.68,21.85,
-22.05,21.91,22.29,22.25,22.28,22.42,22.44,22.55,22.58,22.84,
-22.85,22.88,22.85,22.88,23.26,23.21,23.33,23.59,23.63,23.48,
-23.52,23.81,23.98,23.98,23.96,24.02,24.35,24.36,24.34,24.46,
-24.65,24.66,24.82,25.04,24.96,25.17,25.23,25.19,25.36,25.32,
-25.47,25.88,25.87,25.77,25.89,25.81,26.10,26.10,26.30,26.41,
-26.36,26.85,26.43,26.55,26.93,26.95,26.84,27.17,27.00,27.08,
-0.82,0.85,0.99,1.04,1.10,1.20,1.29,1.28,1.39,1.50,
-1.58,1.58,1.67,1.71,1.94,2.06,2.04,2.14,2.16,2.30,
-2.40,2.44,2.48,2.56,2.68,2.79,2.77,2.88,2.94,2.96,
-3.05,3.18,3.22,3.35,3.42,3.49,3.67,3.66,3.73,3.83,
-3.88,3.94,3.93,4.10,4.12,4.22,4.26,4.29,4.45,4.59,
-4.57,4.77,4.79,4.85,4.98,5.01,5.01,5.24,5.24,5.43,
-5.38,5.48,5.49,5.73,5.67,5.70,5.95,5.92,5.93,6.17,
-6.16,6.22,6.35,6.26,6.44,6.66,6.51,6.78,6.85,6.82,
-7.07,7.11,7.08,7.20,7.22,7.18,7.35,7.47,7.55,7.52,
-7.70,7.76,7.70,7.91,8.03,8.21,8.22,8.21,8.26,8.41,
-8.41,8.46,8.62,8.71,8.69,8.82,8.81,9.00,9.04,9.04,
-9.13,9.32,9.31,9.47,9.53,9.67,9.57,9.66,9.91,9.96,
-10.02,10.15,10.17,10.14,10.29,10.37,10.64,10.44,10.53,10.71,
-10.73,10.87,10.89,10.91,11.11,11.20,11.15,11.20,11.51,11.45,
-11.43,11.42,11.61,11.88,11.74,11.84,11.90,12.02,12.13,12.17,
-12.54,12.38,12.48,12.47,12.66,12.52,12.69,12.90,12.94,12.95,
-13.06,13.13,13.10,13.15,13.30,13.47,13.69,13.68,13.67,13.62,
-13.98,14.08,14.08,14.14,14.14,14.27,14.23,14.24,14.42,14.58,
-14.77,14.86,14.64,14.70,14.95,14.91,15.18,15.08,15.25,15.22,
-15.36,15.38,15.27,15.62,15.57,15.72,15.62,15.93,16.11,16.14,
-16.12,16.13,16.27,16.32,16.39,16.40,16.62,16.89,16.69,16.86,
-16.58,17.07,16.82,16.84,17.11,17.22,17.28,17.39,17.47,17.38,
-17.64,17.62,17.59,17.62,18.10,17.98,18.39,18.11,18.22,18.28,
-18.39,18.51,18.59,18.49,18.64,18.93,18.85,19.02,18.90,19.34,
-19.33,19.44,19.45,19.33,19.54,19.23,19.64,19.52,19.94,19.79,
-19.91,20.07,19.80,20.00,20.32,20.47,20.41,20.70,20.46,20.60,
-20.86,20.95,20.88,20.81,20.76,21.08,21.33,21.35,21.24,21.21,
-21.48,21.62,21.36,21.64,21.67,22.10,21.96,22.11,22.07,22.02,
-22.05,22.24,22.47,22.41,22.56,22.82,22.60,22.75,22.89,22.97,
-0.68,0.75,0.84,0.87,0.97,1.02,1.09,1.16,1.20,1.28,
-1.27,1.36,1.47,1.48,1.62,1.64,1.64,1.78,1.86,1.88,
-1.90,1.97,2.07,2.12,2.25,2.34,2.38,2.41,2.55,2.52,
-2.60,2.62,2.75,2.84,2.92,2.93,2.97,3.03,3.11,3.15,
-3.21,3.32,3.35,3.41,3.51,3.52,3.51,3.69,3.76,3.86,
-3.90,3.89,4.03,4.10,4.07,4.21,4.23,4.33,4.41,4.51,
-4.53,4.66,4.63,4.78,4.80,4.76,4.86,4.83,5.02,5.14,
-5.15,5.24,5.23,5.37,5.33,5.51,5.55,5.63,5.60,5.78,
-5.90,5.96,5.97,5.91,6.05,6.20,6.13,6.21,6.28,6.29,
-6.47,6.48,6.64,6.73,6.74,6.78,6.86,6.79,6.97,7.11,
-7.13,7.19,7.23,7.35,7.36,7.28,7.46,7.63,7.60,7.68,
-7.83,7.82,7.81,7.94,8.07,8.08,8.06,8.17,8.23,8.27,
-8.37,8.44,8.59,8.63,8.76,8.72,8.74,8.85,8.95,8.99,
-9.11,9.04,9.23,9.13,9.28,9.49,9.30,9.53,9.49,9.57,
-9.80,9.72,9.62,9.89,9.91,10.04,10.08,10.20,10.23,10.29,
-10.33,10.44,10.52,10.39,10.59,10.54,10.53,10.88,10.81,10.84,
-11.11,10.97,11.16,11.13,11.33,11.31,11.32,11.44,11.47,11.58,
-11.55,11.71,11.87,11.64,11.71,11.89,12.03,12.15,12.21,12.10,
-12.11,12.25,12.26,12.35,12.40,12.46,12.84,12.82,12.70,12.92,
-12.91,12.94,13.10,13.18,13.05,13.24,13.36,13.43,13.55,13.43,
-13.50,13.58,13.58,13.78,13.93,13.62,13.89,14.03,14.19,13.94,
-14.06,14.22,14.28,14.45,14.51,14.61,14.54,14.58,14.82,14.70,
-14.67,14.86,15.15,14.87,15.18,15.28,15.19,15.37,15.41,15.18,
-15.50,15.44,15.54,15.59,15.66,15.75,15.79,15.86,15.82,16.03,
-16.25,15.95,16.12,16.43,16.30,16.60,16.51,16.52,16.64,16.58,
-16.86,16.65,16.81,17.07,17.00,17.11,17.30,17.44,17.31,17.20,
-17.32,17.63,17.41,17.82,17.68,17.62,17.75,17.84,17.97,17.84,
-18.39,17.93,18.12,18.03,18.34,18.39,18.54,18.21,18.67,18.52,
-18.77,18.92,18.79,18.95,18.90,18.95,19.09,19.09,19.21,19.38,
-0.57,0.61,0.72,0.75,0.83,0.85,0.91,0.99,1.01,1.05,
-1.12,1.16,1.26,1.30,1.31,1.36,1.47,1.40,1.51,1.58,
-1.63,1.68,1.80,1.82,1.92,1.89,1.96,1.98,2.08,2.14,
-2.19,2.22,2.32,2.33,2.43,2.46,2.52,2.49,2.59,2.69,
-2.74,2.72,2.85,2.94,2.98,2.96,3.04,3.07,3.10,3.28,
-3.22,3.33,3.29,3.52,3.47,3.59,3.50,3.62,3.69,3.74,
-3.75,3.85,3.88,3.99,4.01,4.06,4.10,4.20,4.18,4.29,
-4.29,4.36,4.52,4.40,4.49,4.62,4.63,4.83,4.78,4.96,
-4.98,4.92,4.81,5.03,5.22,5.08,5.27,5.26,5.29,5.36,
-5.44,5.52,5.62,5.59,5.65,5.63,5.78,5.80,5.79,6.09,
-5.98,5.94,6.07,6.07,6.16,6.32,6.33,6.28,6.43,6.43,
-6.42,6.60,6.51,6.62,6.67,6.86,6.88,6.75,6.92,6.96,
-6.91,7.08,7.05,7.10,7.20,7.27,7.35,7.48,7.41,7.61,
-7.62,7.79,7.59,7.80,7.62,7.82,8.01,7.96,8.04,8.23,
-8.21,8.32,8.25,8.32,8.46,8.37,8.44,8.56,8.50,8.68,
-8.68,8.71,8.87,8.84,8.69,8.93,9.03,9.12,9.04,9.16,
-9.28,9.21,9.29,9.46,9.37,9.57,9.45,9.60,9.66,9.82,
-9.79,9.92,9.81,9.89,10.03,10.00,10.05,10.16,10.26,10.23,
-10.27,10.41,10.47,10.40,10.39,10.54,10.65,10.60,10.77,10.72,
-10.75,10.88,11.02,10.90,10.90,11.09,11.14,11.09,11.29,11.42,
-11.45,11.31,11.53,11.47,11.48,11.77,11.87,11.70,11.73,11.78,
-12.05,12.07,12.07,12.02,12.12,12.18,12.31,12.12,12.46,12.49,
-12.24,12.60,12.48,12.59,12.78,12.67,12.90,12.96,12.78,12.93,
-13.00,13.09,13.10,13.24,13.24,13.11,13.22,13.33,13.56,13.26,
-13.52,13.51,13.54,13.60,13.79,13.95,13.82,13.90,13.76,13.88,
-14.05,14.08,14.15,14.15,14.35,14.41,14.23,14.45,14.53,14.70,
-14.52,14.72,14.58,14.81,14.68,14.75,15.05,14.91,14.89,14.93,
-15.10,15.12,15.07,15.23,15.35,15.58,15.37,15.48,15.74,15.62,
-15.64,15.76,15.91,16.07,15.87,15.92,16.00,16.03,15.92,16.14,
-0.51,0.56,0.59,0.64,0.65,0.71,0.74,0.83,0.84,0.90,
-0.97,0.99,0.99,1.08,1.15,1.17,1.21,1.25,1.30,1.32,
-1.42,1.43,1.47,1.53,1.59,1.53,1.62,1.73,1.74,1.81,
-1.89,1.89,1.97,2.02,1.99,2.04,2.12,2.13,2.14,2.24,
-2.28,2.38,2.35,2.40,2.48,2.50,2.54,2.60,2.64,2.70,
-2.72,2.82,2.83,2.84,2.89,3.00,3.04,3.02,3.22,3.17,
-3.19,3.35,3.25,3.31,3.32,3.37,3.52,3.46,3.57,3.55,
-3.64,3.73,3.74,3.62,3.90,3.85,3.98,3.88,4.02,4.06,
-4.17,4.05,4.15,4.26,4.39,4.28,4.38,4.49,4.49,4.48,
-4.54,4.62,4.73,4.81,4.77,4.89,4.85,4.84,4.89,4.87,
-4.94,5.04,5.08,5.10,5.16,5.16,5.27,5.42,5.42,5.42,
-5.49,5.46,5.63,5.54,5.65,5.71,5.66,5.70,5.71,5.73,
-5.85,5.94,6.08,6.10,6.12,6.16,6.30,6.22,6.26,6.41,
-6.31,6.42,6.49,6.57,6.42,6.52,6.52,6.72,6.79,6.78,
-6.74,6.94,6.84,6.88,7.03,7.03,7.13,7.17,7.24,7.41,
-7.32,7.37,7.29,7.38,7.34,7.48,7.80,7.64,7.73,7.75,
-7.72,7.76,7.83,7.77,8.01,7.99,8.02,8.15,7.99,8.12,
-8.11,8.19,8.46,8.31,8.26,8.45,8.40,8.38,8.60,8.56,
-8.67,8.57,8.65,8.79,8.74,8.79,8.94,9.09,9.09,9.06,
-9.09,9.22,9.29,9.18,9.42,9.32,9.39,9.31,9.51,9.43,
-9.57,9.51,9.80,9.64,9.67,9.61,9.77,9.77,10.04,10.02,
-9.93,10.21,10.03,10.13,10.02,10.16,10.26,10.43,10.40,10.40,
-10.34,10.48,10.54,10.35,10.57,10.57,10.81,10.65,10.66,10.94,
-10.89,11.10,10.89,11.02,11.04,11.02,11.16,11.29,11.20,11.30,
-11.25,11.38,11.53,11.52,11.59,11.71,11.65,11.75,11.87,11.78,
-11.73,11.60,12.03,11.85,11.98,12.08,12.10,12.15,12.09,12.07,
-12.39,12.17,12.30,12.58,12.44,12.53,12.39,12.68,12.72,12.83,
-12.64,12.81,12.78,12.86,12.93,12.95,13.07,13.13,13.07,13.00,
-13.24,13.11,13.25,13.34,13.51,13.39,13.37,13.35,13.41,13.63,
-0.42,0.45,0.48,0.54,0.55,0.60,0.63,0.69,0.75,0.73,
-0.83,0.87,0.85,0.85,0.87,1.02,1.05,1.07,1.08,1.16,
-1.16,1.18,1.24,1.24,1.29,1.38,1.40,1.39,1.47,1.46,
-1.48,1.58,1.61,1.64,1.71,1.74,1.75,1.80,1.84,1.89,
-1.91,1.91,2.12,2.03,2.08,2.11,2.10,2.17,2.22,2.33,
-2.28,2.32,2.40,2.43,2.36,2.50,2.61,2.58,2.61,2.65,
-2.71,2.73,2.74,2.79,2.92,2.84,2.95,2.92,3.00,3.07,
-2.97,3.12,3.13,3.19,3.21,3.24,3.24,3.38,3.34,3.41,
-3.49,3.52,3.51,3.53,3.57,3.66,3.69,3.66,3.76,3.79,
-3.75,3.88,3.81,3.82,3.92,4.10,4.08,4.11,4.20,4.20,
-4.20,4.19,4.27,4.37,4.32,4.41,4.38,4.45,4.40,4.49,
-4.46,4.61,4.58,4.71,4.72,4.73,4.83,4.91,4.96,4.94,
-5.01,5.05,5.12,5.12,5.02,5.18,5.15,5.22,5.35,5.26,
-5.31,5.35,5.43,5.46,5.39,5.45,5.49,5.57,5.63,5.63,
-5.70,5.94,5.91,5.84,5.91,6.00,6.00,6.01,6.10,6.02,
-6.08,6.21,6.08,6.24,6.22,6.27,6.29,6.42,6.42,6.51,
-6.54,6.53,6.47,6.54,6.66,6.74,6.63,6.87,6.79,6.87,
-6.85,6.75,6.94,7.09,7.04,7.09,7.05,7.20,7.12,7.28,
-7.30,7.39,7.35,7.31,7.39,7.38,7.44,7.53,7.55,7.55,
-7.67,7.75,7.79,7.49,7.77,7.90,8.05,7.84,7.86,8.02,
-8.03,8.14,8.14,8.04,8.07,8.33,8.22,8.39,8.37,8.18,
-8.44,8.44,8.70,8.57,8.61,8.57,8.67,8.66,8.69,8.77,
-8.76,8.72,8.77,8.87,9.01,8.94,9.04,8.91,9.10,9.02,
-9.09,9.31,9.22,9.31,9.26,9.42,9.41,9.26,9.37,9.33,
-9.66,9.60,9.63,9.56,9.64,9.65,9.84,9.79,9.82,9.90,
-9.95,9.94,9.94,10.23,9.95,10.31,10.22,10.17,10.02,10.41,
-10.19,10.24,10.32,10.41,10.44,10.59,10.64,10.54,10.58,10.75,
-10.68,10.43,10.76,10.86,10.89,10.95,10.94,10.86,11.00,11.06,
-11.18,11.20,11.01,11.15,11.17,11.49,11.12,11.21,11.26,11.39,
-0.32,0.37,0.39,0.43,0.47,0.50,0.51,0.55,0.57,0.61,
-0.67,0.69,0.71,0.71,0.81,0.83,0.78,0.88,0.92,0.99,
-0.97,0.97,1.02,1.05,1.08,1.19,1.15,1.20,1.25,1.31,
-1.27,1.29,1.36,1.38,1.47,1.54,1.46,1.51,1.56,1.53,
-1.59,1.60,1.71,1.74,1.71,1.74,1.78,1.85,1.94,1.96,
-1.93,1.93,2.03,2.02,2.11,2.10,2.18,2.23,2.11,2.21,
-2.26,2.36,2.26,2.40,2.41,2.37,2.43,2.48,2.57,2.57,
-2.56,2.51,2.56,2.63,2.73,2.83,2.87,2.85,2.87,2.86,
-2.78,2.84,2.92,2.98,2.97,3.02,3.18,3.09,3.16,3.12,
-3.21,3.35,3.31,3.26,3.32,3.35,3.41,3.50,3.47,3.41,
-3.60,3.53,3.55,3.74,3.69,3.69,3.82,3.77,3.83,3.83,
-3.76,3.89,3.85,3.97,4.02,4.07,4.07,4.14,4.19,4.18,
-4.11,4.22,4.09,4.25,4.33,4.30,4.34,4.36,4.54,4.41,
-4.57,4.51,4.59,4.66,4.67,4.61,4.74,4.66,4.73,4.68,
-4.75,4.86,4.92,4.92,5.05,5.00,5.05,4.94,5.09,4.97,
-5.05,5.06,5.25,5.28,5.38,5.34,5.30,5.32,5.46,5.49,
-5.40,5.44,5.52,5.50,5.60,5.62,5.68,5.62,5.78,5.76,
-5.73,5.77,5.80,5.81,5.91,5.92,5.95,6.11,6.05,6.02,
-6.07,5.98,6.08,6.13,6.30,6.13,6.31,6.42,6.38,6.29,
-6.34,6.45,6.37,6.57,6.58,6.66,6.68,6.67,6.60,6.70,
-6.82,6.68,6.86,6.80,6.88,6.93,6.98,7.02,7.04,6.98,
-7.15,7.20,7.22,7.27,7.21,7.34,7.23,7.47,7.33,7.29,
-7.41,7.44,7.43,7.49,7.51,7.37,7.58,7.62,7.70,7.72,
-7.51,7.71,7.76,7.76,7.86,7.87,7.83,8.07,7.93,7.96,
-7.87,8.02,8.16,8.25,8.07,8.13,8.00,8.25,8.26,8.25,
-8.20,8.49,8.41,8.38,8.37,8.40,8.58,8.59,8.66,8.68,
-8.81,8.51,8.73,8.76,8.77,8.73,8.75,8.99,8.87,8.89,
-9.04,8.86,8.95,9.22,9.08,9.04,9.10,9.02,9.15,9.21,
-9.21,9.33,9.34,9.37,9.38,9.47,9.38,9.41,9.37,9.61,
-0.27,0.32,0.32,0.39,0.39,0.41,0.45,0.49,0.47,0.55,
-0.54,0.55,0.60,0.63,0.69,0.71,0.76,0.77,0.79,0.83,
-0.83,0.84,0.86,0.95,0.94,0.94,0.98,1.02,1.03,1.05,
-1.08,1.11,1.15,1.18,1.22,1.22,1.20,1.31,1.32,1.35,
-1.34,1.40,1.42,1.46,1.46,1.48,1.55,1.63,1.60,1.60,
-1.62,1.71,1.65,1.65,1.70,1.83,1.75,1.85,1.78,1.79,
-1.90,1.92,1.95,1.99,2.03,2.07,2.02,2.17,2.13,2.17,
-2.12,2.20,2.20,2.25,2.30,2.39,2.29,2.28,2.36,2.32,
-2.40,2.47,2.49,2.49,2.67,2.53,2.60,2.60,2.67,2.76,
-2.75,2.66,2.66,2.78,2.77,2.88,2.87,2.85,2.95,2.94,
-3.00,2.99,3.07,3.09,3.16,3.11,3.11,3.17,3.19,3.19,
-3.23,3.19,3.20,3.28,3.38,3.35,3.43,3.39,3.48,3.44,
-3.58,3.44,3.59,3.62,3.54,3.68,3.62,3.79,3.69,3.78,
-3.77,3.66,3.76,3.84,3.89,3.84,3.89,3.90,3.99,3.88,
-4.12,4.00,4.18,4.18,4.18,4.04,4.29,4.28,4.24,4.36,
-4.25,4.32,4.32,4.43,4.39,4.43,4.35,4.44,4.54,4.53,
-4.56,4.66,4.55,4.52,4.70,4.57,4.74,4.68,4.77,4.92,
-4.73,4.91,4.97,4.96,5.10,4.95,4.99,5.14,5.13,5.11,
-5.07,5.20,5.18,5.25,5.20,5.29,5.32,5.30,5.28,5.34,
-5.20,5.45,5.32,5.50,5.55,5.52,5.51,5.53,5.54,5.80,
-5.74,5.83,5.77,5.75,5.90,5.75,5.80,5.86,6.02,5.83,
-5.88,5.82,6.08,5.94,6.03,6.05,5.99,6.11,6.06,6.10,
-6.19,6.22,6.31,6.17,6.33,6.53,6.30,6.33,6.49,6.31,
-6.49,6.35,6.49,6.61,6.67,6.68,6.60,6.67,6.65,6.71,
-6.68,6.67,6.74,6.79,6.78,6.72,7.00,6.96,6.89,7.05,
-6.94,6.82,7.12,7.10,6.92,7.15,7.21,7.14,7.26,7.31,
-7.27,7.24,7.26,7.34,7.36,7.45,7.38,7.46,7.51,7.37,
-7.52,7.69,7.65,7.57,7.67,7.62,7.69,7.67,8.03,7.91,
-7.81,7.70,7.99,7.87,7.86,7.76,8.05,8.03,8.08,8.10,
-3.45,3.82,4.06,4.42,4.74,5.09,5.36,5.81,6.02,6.42,
-6.73,7.01,7.38,7.64,8.00,8.28,8.67,9.04,9.40,9.71,
-9.99,10.23,10.63,11.01,11.21,11.54,11.93,12.23,12.60,12.88,
-13.40,13.50,13.83,14.16,14.42,14.86,15.16,15.50,15.85,16.27,
-16.52,16.94,17.18,17.38,17.84,17.93,18.60,18.92,19.14,19.45,
-19.73,20.08,20.44,20.75,20.92,21.23,21.52,21.79,22.33,22.76,
-22.95,23.23,23.77,24.00,24.39,24.79,24.93,25.29,25.72,25.87,
-26.20,26.50,26.83,27.24,27.45,27.90,28.04,28.68,28.91,29.33,
-29.43,29.83,30.09,30.64,30.70,31.03,31.35,31.73,32.00,32.42,
-32.86,32.99,33.58,33.80,33.85,34.45,34.79,35.11,35.40,35.73,
-36.10,36.32,36.66,36.77,37.33,37.70,37.94,38.12,38.62,38.97,
-39.54,39.45,40.09,40.32,40.50,40.72,41.26,41.55,41.95,42.40,
-42.44,42.86,43.08,43.42,43.63,44.17,44.44,45.05,45.09,45.40,
-45.73,45.87,46.42,46.53,47.07,47.28,47.66,48.10,48.22,48.59,
-48.82,49.35,49.70,50.23,50.58,50.67,50.92,51.41,51.61,51.90,
-52.12,52.47,52.80,53.07,53.53,53.68,54.33,54.68,54.78,55.12,
-55.72,55.86,56.23,56.43,57.18,57.25,57.42,57.87,58.12,58.37,
-58.65,59.01,59.49,59.55,60.17,60.42,60.84,61.15,61.64,61.70,
-62.14,62.52,62.56,62.96,63.19,63.57,64.11,64.47,64.65,64.87,
-65.18,65.56,65.76,66.24,66.45,66.94,67.16,67.29,67.91,68.39,
-68.78,68.84,69.30,69.43,69.80,70.08,70.49,70.70,70.87,71.20,
-71.53,72.06,72.36,72.60,73.04,73.43,73.94,73.95,74.40,74.76,
-75.16,75.26,75.40,75.73,76.26,76.52,76.86,77.17,77.83,77.82,
-78.39,78.71,78.94,79.02,79.88,79.88,80.03,80.54,80.94,81.16,
-81.68,82.14,82.16,82.68,82.89,82.81,83.51,83.84,84.02,84.59,
-84.57,85.19,85.52,86.02,86.07,86.46,86.84,87.01,87.28,87.92,
-88.19,88.82,88.45,89.17,89.47,89.81,90.12,90.23,90.76,90.46,
-91.02,91.67,91.82,92.21,92.71,93.41,93.06,93.46,93.91,93.92,
-94.56,94.98,95.09,95.47,95.58,95.95,96.56,96.70,97.03,97.49,
-2.94,3.17,3.50,3.72,4.09,4.30,4.58,4.87,5.06,5.34,
-5.71,5.97,6.31,6.57,6.72,7.02,7.43,7.58,7.87,8.13,
-8.48,8.74,8.96,9.27,9.54,9.78,10.07,10.55,10.71,10.99,
-11.27,11.51,11.90,12.03,12.47,12.49,12.90,13.22,13.48,13.63,
-13.97,14.23,14.45,14.77,15.16,15.39,15.68,15.79,16.12,16.44,
-16.79,16.83,17.25,17.54,17.94,18.05,18.52,18.68,18.84,19.30,
-19.55,19.81,20.13,20.39,20.48,20.75,21.11,21.51,21.82,21.95,
-22.34,22.62,22.86,23.18,23.29,23.57,23.87,24.17,24.49,24.82,
-24.92,25.21,25.55,25.81,26.39,26.36,26.61,27.10,27.17,27.40,
-27.93,28.04,28.51,28.54,29.00,29.39,29.55,29.69,29.96,30.25,
-30.45,30.73,31.36,31.31,31.70,31.84,32.26,32.24,32.87,33.22,
-33.17,33.43,33.68,34.10,34.60,34.73,34.94,35.17,35.33,35.85,
-35.98,36.27,36.65,36.91,37.22,37.55,38.04,38.29,38.37,38.56,
-39.10,39.08,39.56,39.67,39.82,40.13,40.54,40.78,41.17,41.38,
-41.62,42.05,42.25,42.51,42.91,43.16,43.21,43.60,43.69,44.18,
-44.42,44.81,45.08,44.95,45.20,45.69,45.79,46.51,46.62,47.27,
-47.19,47.49,47.56,47.87,48.27,48.38,48.93,49.23,49.29,49.65,
-50.01,50.16,50.39,50.97,50.77,51.58,51.57,51.96,52.06,52.20,
-52.72,53.10,53.36,53.56,53.68,54.05,54.20,54.56,55.15,55.12,
-55.35,55.82,56.06,56.16,56.29,56.80,57.16,57.48,57.66,58.09,
-58.15,58.45,58.52,59.26,59.35,59.61,59.97,60.53,60.53,60.73,
-61.00,61.53,61.51,61.97,62.20,62.53,62.84,62.80,63.05,63.54,
-63.55,63.65,63.99,64.74,65.14,65.15,65.25,65.63,65.88,66.38,
-66.50,66.65,67.22,67.14,67.44,67.86,68.39,68.52,68.72,69.05,
-69.21,69.89,69.89,70.00,70.64,70.99,71.03,71.01,71.20,71.83,
-71.93,72.33,72.71,72.94,73.35,73.53,73.58,73.90,74.08,74.67,
-75.08,75.23,75.39,75.75,75.86,76.56,76.47,76.72,77.36,77.13,
-77.69,77.45,78.12,78.67,78.78,78.62,78.89,79.57,79.77,80.13,
-80.19,80.67,80.83,81.03,81.58,81.65,82.17,82.47,82.46,82.74,
-2.48,2.74,2.92,3.18,3.37,3.65,3.92,4.13,4.39,4.58,
-4.82,4.98,5.31,5.51,5.72,6.03,6.20,6.54,6.68,6.94,
-7.22,7.50,7.58,7.79,8.25,8.28,8.55,8.70,9.14,9.26,
-9.72,9.71,10.00,10.25,10.28,10.71,11.04,11.20,11.42,11.70,
-11.86,12.21,12.21,12.64,12.86,13.00,13.38,13.43,13.75,14.12,
-14.08,14.40,14.67,14.92,15.23,15.38,15.56,15.92,16.21,16.37,
-16.64,16.88,17.01,17.20,17.47,17.91,18.00,18.20,18.54,18.63,
-19.03,19.20,19.37,19.47,19.78,20.31,20.25,20.55,20.79,21.05,
-21.22,21.50,21.80,21.91,22.48,22.35,22.70,22.95,23.20,23.37,
-23.56,24.02,24.38,24.42,24.59,24.73,25.14,25.23,25.48,25.55,
-26.15,26.20,26.47,26.75,26.89,27.20,27.38,27.81,27.82,28.09,
-28.42,28.54,28.93,29.00,29.43,29.56,30.01,29.93,30.23,30.29,
-30.78,30.77,30.98,31.53,31.59,32.04,32.12,32.56,32.51,32.86,
-32.88,33.37,33.49,33.83,33.93,34.08,34.39,34.63,35.01,35.20,
-35.43,35.70,35.84,36.05,36.44,36.59,36.93,37.20,37.38,37.65,
-37.57,37.92,38.10,38.42,38.71,39.04,39.07,39.51,39.69,39.72,
-40.16,40.53,40.59,40.69,40.87,40.81,41.72,41.65,41.60,42.27,
-42.47,42.61,42.94,43.25,43.14,43.66,43.94,44.03,44.14,44.23,
-44.80,44.97,45.31,45.56,45.79,46.01,46.19,46.35,46.79,46.60,
-47.13,47.67,47.51,47.73,48.48,48.34,48.55,48.87,49.11,49.29,
-49.42,49.64,50.01,50.45,50.40,51.05,50.81,51.09,51.25,51.65,
-51.81,52.12,52.44,52.63,52.86,53.03,53.27,53.57,53.95,54.15,
-54.14,54.33,54.63,54.91,55.25,55.47,55.95,55.84,56.36,56.47,
-56.45,56.79,56.89,57.38,57.54,57.78,57.99,58.22,58.37,58.57,
-58.98,59.17,59.16,59.58,59.68,60.06,60.15,60.31,60.79,61.09,
-61.22,61.24,61.45,61.95,62.26,62.73,62.28,62.89,63.14,63.43,
-63.76,64.02,64.11,64.30,64.58,64.39,64.61,65.18,65.62,65.81,
-66.00,66.04,66.42,66.72,67.02,66.95,67.53,67.74,67.90,68.15,
-68.43,68.35,68.78,69.00,69.06,69.27,69.66,69.60,70.05,69.91,
-2.17,2.29,2.48,2.73,2.94,3.11,3.30,3.46,3.66,3.89,
-4.14,4.33,4.55,4.69,4.83,5.07,5.31,5.51,5.78,5.98,
-6.17,6.35,6.45,6.67,6.98,7.20,7.26,7.49,7.73,7.84,
-8.07,8.30,8.55,8.67,8.81,8.97,9.32,9.44,9.68,9.94,
-10.14,10.20,10.53,10.74,10.97,11.27,11.31,11.41,11.55,11.98,
-12.12,12.27,12.41,12.68,13.10,13.08,13.32,13.71,13.77,13.94,
-14.12,14.32,14.59,14.65,14.77,14.98,15.30,15.51,15.76,15.91,
-16.00,16.27,16.40,16.54,16.80,17.13,17.20,17.39,17.82,17.80,
-18.13,18.23,18.62,18.63,18.99,19.29,19.18,19.57,19.61,19.93,
-20.08,20.31,20.49,20.82,20.99,21.08,21.23,21.70,21.94,21.80,
-22.02,22.32,22.43,22.77,22.90,23.13,23.16,23.51,23.65,23.78,
-24.27,24.27,24.58,24.80,24.97,25.21,25.27,25.56,25.62,25.75,
-26.14,26.16,26.47,26.74,26.84,26.91,27.41,27.21,27.85,27.93,
-27.98,28.21,28.40,28.60,28.91,29.28,29.39,29.45,29.74,30.02,
-30.12,30.42,30.51,30.83,30.73,31.09,31.57,31.52,31.67,31.77,
-32.04,32.08,32.49,32.77,32.87,32.94,33.19,33.38,33.83,33.89,
-34.07,34.11,34.46,34.60,34.94,35.29,35.26,35.28,35.74,35.58,
-36.03,36.37,36.65,36.78,37.09,37.10,37.43,37.55,37.78,38.02,
-38.16,38.52,38.47,38.72,39.01,39.10,39.45,39.53,39.65,39.89,
-40.00,40.17,40.64,40.45,40.78,41.19,41.38,41.45,41.71,41.79,
-41.97,42.30,42.52,42.75,42.69,43.02,43.36,43.34,43.76,43.85,
-43.91,44.51,44.57,44.91,45.03,44.96,45.34,45.41,45.61,46.22,
-46.18,46.30,46.36,46.72,46.88,47.11,47.09,47.35,47.77,47.70,
-47.75,48.25,48.50,48.86,48.76,49.14,49.60,49.66,49.49,49.93,
-50.00,50.24,50.55,50.47,50.53,51.10,51.14,51.56,51.85,51.78,
-51.94,52.15,52.42,52.73,52.53,52.82,53.26,53.37,53.67,53.99,
-54.08,54.32,54.55,54.74,54.79,54.97,55.36,55.32,55.50,55.57,
-56.62,56.49,56.39,56.50,56.86,57.17,57.15,57.24,57.53,57.82,
-58.16,58.51,58.69,58.69,59.03,59.03,59.12,59.37,59.79,59.97,
-1.77,1.95,2.09,2.32,2.53,2.65,2.81,3.02,3.15,3.30,
-3.48,3.69,3.85,4.01,4.13,4.41,4.55,4.65,4.81,5.03,
-5.25,5.35,5.50,5.78,5.85,6.10,6.29,6.32,6.46,6.69,
-6.92,7.00,7.27,7.45,7.58,7.65,7.93,8.12,8.25,8.47,
-8.70,8.61,8.91,9.14,9.22,9.37,9.60,9.77,9.98,10.07,
-10.28,10.41,10.55,10.81,11.02,11.13,11.35,11.45,11.69,11.94,
-11.95,12.20,12.22,12.47,12.61,12.96,13.07,13.19,13.34,13.60,
-13.77,13.83,13.94,14.20,14.25,14.44,14.58,14.83,14.97,15.10,
-15.32,15.57,15.71,15.90,16.05,16.21,16.42,16.72,16.71,16.89,
-17.07,17.26,17.45,17.55,17.68,17.86,18.01,18.18,18.59,18.75,
-18.65,18.94,19.04,19.27,19.39,19.86,19.83,19.90,20.11,20.27,
-20.46,20.52,20.84,20.94,21.16,21.47,21.59,21.64,21.86,21.99,
-22.24,22.35,22.54,22.75,22.69,23.16,23.05,23.51,23.52,23.55,
-23.95,23.84,24.30,24.42,24.54,24.44,24.90,25.17,25.40,25.39,
-25.61,25.62,25.84,26.04,26.17,26.45,26.56,26.92,26.77,27.29,
-27.21,27.60,27.53,27.64,28.15,28.45,27.99,28.27,28.71,28.87,
-28.98,29.01,29.49,29.64,29.64,29.74,29.87,30.16,30.15,30.45,
-30.51,30.88,30.96,31.29,31.51,31.57,31.51,31.88,32.16,32.27,
-32.44,32.29,32.83,32.78,33.12,33.16,33.44,33.45,33.85,34.02,
-33.98,34.19,34.40,34.80,35.13,34.80,35.31,35.21,35.30,35.42,
-35.64,36.03,36.07,36.22,36.19,36.68,36.77,37.14,37.14,37.25,
-37.52,37.49,37.74,37.96,38.00,38.26,38.16,38.67,39.01,39.01,
-39.31,39.18,39.66,39.44,39.95,40.10,40.19,40.38,40.76,40.72,
-41.08,40.87,41.25,41.22,41.58,41.77,42.10,42.01,42.32,42.12,
-42.34,42.86,42.99,43.42,43.39,43.35,43.55,43.66,44.05,44.12,
-44.36,44.35,44.41,44.66,44.82,45.02,45.58,45.10,45.80,45.80,
-45.93,46.31,46.33,46.27,46.69,46.79,47.06,47.55,47.59,47.28,
-47.68,48.15,47.86,48.04,48.52,48.49,48.46,48.88,49.22,49.13,
-49.18,49.57,49.96,50.13,50.17,50.12,50.33,50.41,50.33,51.01,
-1.50,1.65,1.81,1.97,2.17,2.35,2.36,2.56,2.71,2.81,
-2.97,3.09,3.29,3.46,3.60,3.71,3.81,3.96,4.11,4.35,
-4.38,4.52,4.70,4.77,4.96,5.17,5.31,5.40,5.54,5.68,
-5.76,6.08,6.11,6.33,6.39,6.55,6.67,6.79,7.06,7.16,
-7.34,7.55,7.60,7.67,7.90,8.11,8.23,8.31,8.34,8.54,
-8.74,8.74,9.06,9.23,9.43,9.41,9.68,9.70,9.92,10.10,
-10.05,10.29,10.36,10.57,10.76,10.96,11.00,11.27,11.30,11.54,
-11.82,11.73,11.84,12.04,12.14,12.37,12.66,12.62,12.85,12.93,
-12.92,13.28,13.41,13.66,13.57,13.78,13.80,14.18,14.32,14.36,
-14.68,14.76,14.70,15.04,15.23,15.36,15.13,15.47,15.68,15.74,
-15.91,16.23,16.18,16.23,16.71,16.59,16.94,17.17,17.31,17.17,
-17.59,17.60,17.71,17.87,17.65,18.26,18.28,18.28,18.53,18.81,
-18.77,19.04,19.05,19.29,19.47,19.50,19.57,19.96,19.83,20.08,
-20.25,20.45,20.53,20.81,20.66,21.02,21.07,21.23,21.44,21.67,
-21.54,21.97,22.00,22.24,22.26,22.44,22.67,22.75,22.90,23.00,
-23.32,23.45,23.58,23.73,23.90,23.87,24.05,23.98,24.55,24.50,
-24.65,24.81,24.98,24.99,25.10,25.32,25.46,25.42,25.95,25.91,
-26.11,26.19,26.55,26.52,26.63,26.95,26.94,27.10,27.18,27.59,
-27.42,27.62,27.88,28.09,28.04,28.51,28.45,28.42,28.47,28.81,
-28.86,29.14,29.02,29.39,29.75,29.83,30.03,30.19,30.09,30.06,
-30.52,30.49,30.56,30.80,31.14,31.18,31.30,31.41,31.61,31.73,
-31.77,32.24,32.00,32.20,32.48,32.37,32.66,33.20,32.86,32.97,
-33.33,33.22,33.49,33.63,33.84,33.83,33.89,34.17,34.56,34.49,
-34.84,34.79,34.94,35.03,35.15,35.26,35.51,35.77,36.06,35.72,
-36.23,36.43,36.44,36.39,36.77,36.96,37.01,37.00,37.14,37.48,
-37.71,37.85,37.85,38.15,37.98,38.33,38.25,38.62,38.94,38.92,
-38.88,39.33,39.38,39.91,39.74,39.52,39.97,40.37,40.05,40.41,
-40.69,40.63,40.79,40.89,41.34,41.46,41.57,41.34,41.61,41.62,
-41.73,42.05,41.96,42.52,42.31,42.79,42.92,42.90,43.11,43.41,
-1.28,1.48,1.56,1.70,1.79,1.87,1.97,2.14,2.33,2.38,
-2.52,2.68,2.70,2.96,3.05,3.10,3.22,3.43,3.55,3.67,
-3.78,3.82,4.01,4.10,4.25,4.28,4.41,4.54,4.77,4.88,
-5.01,5.19,5.22,5.34,5.53,5.53,5.74,5.84,5.88,6.07,
-6.21,6.42,6.44,6.59,6.58,6.87,7.06,7.12,7.19,7.47,
-7.32,7.54,7.61,7.80,7.96,7.92,8.18,8.31,8.45,8.52,
-8.56,8.65,8.98,9.00,9.19,9.33,9.32,9.38,9.56,9.84,
-9.89,9.95,10.05,10.39,10.44,10.44,10.66,10.81,10.93,10.84,
-11.26,11.27,11.42,11.45,11.56,11.66,11.85,11.98,12.04,12.19,
-12.37,12.41,12.75,12.71,12.92,12.87,13.19,13.24,13.44,13.52,
-13.50,13.75,13.95,14.08,13.96,14.14,14.37,14.51,14.65,14.78,
-14.86,14.87,15.01,15.22,15.23,15.51,15.48,15.61,16.08,15.95,
-16.05,16.04,16.28,16.55,16.63,16.50,16.84,16.82,16.99,17.02,
-17.10,17.46,17.44,17.56,17.84,17.78,18.10,18.15,18.38,18.34,
-18.51,18.68,18.75,18.95,19.07,19.02,19.09,19.31,19.45,19.57,
-19.63,19.75,19.78,20.21,20.22,20.33,20.57,20.51,20.65,20.79,
-20.96,21.24,21.38,21.33,21.48,21.45,21.80,21.84,21.94,22.00,
-22.14,22.32,22.09,22.36,22.52,22.76,22.92,23.04,22.97,23.55,
-23.39,23.57,23.63,23.67,23.84,23.84,24.13,24.14,24.42,24.45,
-24.55,24.80,24.83,24.79,25.29,25.16,25.25,25.41,25.76,25.77,
-25.60,25.85,26.06,26.27,26.35,26.39,26.54,26.75,26.66,26.53,
-27.06,27.08,27.02,27.55,27.60,27.66,27.55,27.98,28.10,28.34,
-28.53,28.35,28.64,28.56,28.56,29.05,28.84,29.34,29.07,29.18,
-29.70,29.46,29.90,30.11,30.30,30.02,30.14,30.30,30.56,30.61,
-30.71,30.91,31.15,31.02,31.07,31.24,31.25,31.52,31.71,31.87,
-31.75,32.16,32.21,32.38,32.60,32.72,32.58,32.76,32.91,33.21,
-33.11,33.05,33.40,33.50,33.73,33.87,33.88,33.95,34.24,34.33,
-34.46,34.33,34.70,34.73,34.97,35.20,35.35,35.43,35.34,35.22,
-35.64,35.71,35.86,35.97,36.30,35.99,36.36,36.53,36.58,36.80,
-1.13,1.26,1.30,1.37,1.51,1.65,1.75,1.84,2.01,2.04,
-2.14,2.25,2.37,2.41,2.59,2.64,2.68,2.86,2.99,3.08,
-3.15,3.35,3.41,3.51,3.50,3.83,3.84,3.85,4.00,4.16,
-4.23,4.29,4.46,4.51,4.55,4.69,4.84,4.98,4.89,5.14,
-5.28,5.39,5.51,5.59,5.66,5.86,5.86,6.10,6.08,6.21,
-6.30,6.41,6.54,6.64,6.73,6.80,6.95,7.11,7.28,7.37,
-7.30,7.43,7.59,7.77,7.75,7.98,7.92,8.17,8.23,8.19,
-8.48,8.33,8.59,8.72,8.70,8.75,8.98,9.19,9.20,9.23,
-9.41,9.43,9.48,9.69,9.89,10.04,10.02,10.11,10.19,10.37,
-10.62,10.58,10.71,10.81,11.06,11.12,11.02,11.34,11.39,11.46,
-11.59,11.63,11.66,11.78,12.07,11.91,12.16,12.29,12.41,12.33,
-12.57,12.66,12.82,12.93,12.95,13.10,13.11,13.31,13.62,13.39,
-13.66,13.79,13.98,13.83,14.08,14.08,14.25,14.38,14.49,14.62,
-14.74,14.74,14.97,14.88,15.00,15.32,15.32,15.15,15.38,15.60,
-15.69,15.88,16.05,16.02,16.09,16.17,16.33,16.48,16.50,16.56,
-16.64,16.64,16.94,17.13,17.04,17.26,17.40,17.34,17.52,17.54,
-17.84,17.92,18.13,18.16,18.25,18.35,18.41,18.66,18.50,18.67,
-18.86,19.06,18.85,19.17,19.27,19.42,19.52,19.79,19.77,19.76,
-19.80,20.03,20.09,20.12,20.43,20.38,20.61,20.70,20.71,20.80,
-20.91,21.02,21.03,21.32,21.21,21.32,21.35,21.67,21.88,21.86,
-22.06,22.15,22.18,22.21,22.45,22.54,22.75,22.76,22.98,23.02,
-22.80,23.05,23.25,22.98,23.35,23.71,23.73,23.83,23.84,24.00,
-24.07,24.22,24.04,24.60,24.81,24.71,24.68,24.89,24.61,25.07,
-25.10,25.47,25.28,25.42,25.26,25.45,25.91,25.76,25.93,26.15,
-26.16,26.36,26.30,26.67,26.50,26.84,26.70,26.78,26.75,27.18,
-27.23,27.04,27.31,27.46,27.45,27.80,27.84,28.04,27.94,28.08,
-28.29,28.36,28.52,28.53,28.52,28.89,28.72,28.85,29.21,29.17,
-29.22,29.51,29.51,29.53,29.69,29.76,29.85,29.87,30.02,30.15,
-30.42,30.34,30.63,30.66,30.76,30.71,31.11,31.06,31.20,31.41,
-0.94,1.04,1.11,1.22,1.26,1.40,1.52,1.60,1.61,1.76,
-1.82,1.87,2.02,2.10,2.18,2.32,2.35,2.45,2.53,2.63,
-2.77,2.79,2.92,3.10,3.06,3.12,3.21,3.25,3.49,3.51,
-3.62,3.60,3.79,3.82,3.95,4.03,4.13,4.15,4.31,4.33,
-4.53,4.54,4.62,4.79,4.86,4.96,5.07,5.05,5.22,5.25,
-5.39,5.49,5.48,5.72,5.75,5.83,5.86,5.92,6.11,6.25,
-6.22,6.25,6.32,6.54,6.58,6.61,6.87,6.96,7.17,7.03,
-7.04,7.17,7.29,7.38,7.40,7.55,7.59,7.83,7.95,8.07,
-8.00,8.14,8.26,8.20,8.35,8.38,8.55,8.54,8.81,8.82,
-8.86,8.91,9.12,9.14,9.25,9.42,9.43,9.53,9.62,9.60,
-9.78,9.75,9.89,10.10,10.02,10.22,10.27,10.35,10.51,10.71,
-10.79,10.68,10.88,11.03,11.04,11.13,11.08,11.33,11.50,11.63,
-11.56,11.60,11.84,11.80,11.91,12.15,12.15,12.22,12.27,12.39,
-12.39,12.54,12.59,12.69,12.96,12.89,12.88,13.09,13.29,13.12,
-13.44,13.31,13.53,13.55,13.74,13.84,13.88,14.13,14.06,14.40,
-14.04,14.32,14.50,14.57,14.64,14.61,14.88,14.86,15.02,14.91,
-15.00,15.32,15.30,15.32,15.42,15.68,15.85,15.58,15.79,15.89,
-15.89,15.95,16.14,16.25,16.27,16.47,16.58,16.70,16.55,16.59,
-16.83,16.95,17.04,16.98,17.13,17.26,17.37,17.45,17.49,17.73,
-17.84,17.89,17.79,17.96,17.98,18.38,18.57,18.32,18.65,18.66,
-18.82,18.81,18.88,18.93,19.24,19.10,19.27,19.22,19.17,19.67,
-19.49,19.86,19.96,19.79,19.95,20.10,20.04,20.10,20.35,20.57,
-20.49,20.67,20.53,20.80,20.70,20.94,20.78,21.23,21.12,21.43,
-21.43,21.46,21.43,21.73,21.73,21.67,21.71,22.01,22.08,21.91,
-22.28,22.29,22.27,22.42,22.32,22.77,22.99,22.89,22.86,22.98,
-22.98,23.21,23.30,23.44,23.27,23.43,23.76,23.79,23.94,23.74,
-24.00,24.09,24.08,24.30,24.33,24.36,24.50,24.65,24.62,24.80,
-24.70,25.04,24.94,25.22,25.36,25.33,25.41,25.37,25.45,25.65,
-25.86,26.04,25.61,26.22,26.21,26.20,26.25,26.53,26.41,26.47,
-0.80,0.88,0.93,0.94,1.09,1.13,1.22,1.29,1.42,1.50,
-1.56,1.62,1.69,1.83,1.90,1.99,1.97,2.05,2.13,2.13,
-2.31,2.42,2.41,2.54,2.58,2.63,2.75,2.76,2.92,3.07,
-3.10,3.19,3.17,3.29,3.43,3.38,3.51,3.65,3.66,3.77,
-3.96,3.91,3.98,4.16,4.11,4.18,4.27,4.34,4.33,4.45,
-4.55,4.62,4.77,4.77,4.86,4.93,5.04,5.11,5.19,5.23,
-5.38,5.42,5.39,5.56,5.71,5.88,5.80,5.89,5.81,6.05,
-6.15,6.29,6.31,6.27,6.33,6.53,6.54,6.71,6.66,6.67,
-6.86,6.90,6.95,6.98,7.04,7.17,7.32,7.43,7.33,7.58,
-7.53,7.51,7.77,7.82,7.90,8.13,7.97,8.03,8.20,8.16,
-8.43,8.44,8.47,8.55,8.73,8.67,8.65,8.93,9.09,8.96,
-9.04,9.25,9.27,9.30,9.36,9.40,9.56,9.60,9.60,9.66,
-9.97,9.82,9.90,10.12,10.11,10.22,10.25,10.20,10.49,10.43,
-10.47,10.56,10.64,10.86,10.97,11.04,11.05,11.31,11.39,11.23,
-11.23,11.46,11.45,11.60,11.79,11.69,11.83,11.86,11.89,12.18,
-12.10,12.19,12.29,12.30,12.29,12.56,12.54,12.63,12.59,12.82,
-12.77,12.78,13.08,13.06,13.25,13.20,13.32,13.43,13.40,13.45,
-13.63,13.55,13.64,13.86,13.69,14.10,13.99,13.96,14.23,14.27,
-14.45,14.37,14.72,14.70,14.41,14.78,14.91,14.85,14.95,15.07,
-15.01,15.16,15.38,15.28,15.59,15.48,15.48,15.77,15.74,15.76,
-15.78,15.81,15.88,16.04,16.00,16.26,16.26,16.43,16.32,16.51,
-16.49,16.77,16.68,16.77,16.88,17.02,17.08,17.08,17.15,17.47,
-16.98,17.51,17.57,17.45,17.80,17.55,17.84,17.77,17.98,17.93,
-18.21,18.07,18.31,18.63,18.29,18.34,18.45,18.61,18.77,18.99,
-18.81,19.07,19.02,19.04,19.16,19.09,19.50,19.45,19.47,19.57,
-19.66,19.56,19.69,19.66,19.77,20.02,20.36,20.24,20.27,20.36,
-20.33,20.62,20.78,20.46,20.87,20.76,20.78,20.78,21.00,21.31,
-21.08,21.24,21.32,21.37,21.24,21.58,21.57,21.75,21.82,21.84,
-21.96,22.05,22.30,22.19,22.29,22.32,22.33,22.24,22.44,22.56,
-0.66,0.73,0.82,0.89,0.99,0.97,1.03,1.12,1.19,1.26,
-1.35,1.38,1.44,1.45,1.64,1.57,1.71,1.80,1.76,1.92,
-2.00,2.06,2.04,2.14,2.31,2.28,2.37,2.37,2.46,2.50,
-2.59,2.68,2.75,2.83,2.79,3.00,2.97,3.09,3.13,3.17,
-3.26,3.29,3.31,3.49,3.46,3.45,3.58,3.67,3.69,3.84,
-3.79,3.88,4.01,4.00,4.12,4.19,4.34,4.27,4.42,4.47,
-4.47,4.53,4.72,4.74,4.69,4.83,4.93,4.83,4.87,5.14,
-5.18,5.21,5.25,5.45,5.40,5.47,5.59,5.72,5.69,5.81,
-5.79,5.91,5.98,5.96,6.06,6.15,6.18,6.07,6.37,6.47,
-6.33,6.49,6.60,6.58,6.62,6.88,6.83,6.78,6.95,7.17,
-7.09,7.13,7.11,7.33,7.20,7.42,7.53,7.41,7.67,7.61,
-7.72,7.81,7.74,7.91,8.06,8.05,8.04,8.21,8.26,8.30,
-8.52,8.28,8.36,8.62,8.55,8.55,8.78,8.94,8.81,8.91,
-9.11,9.14,8.93,9.18,9.27,9.47,9.27,9.57,9.54,9.49,
-9.61,9.72,9.85,9.81,9.79,9.78,10.08,10.16,10.18,10.23,
-10.25,10.43,10.42,10.39,10.60,10.65,10.63,10.74,10.80,10.86,
-10.77,10.96,11.01,11.17,11.24,11.30,11.28,11.38,11.48,11.55,
-11.62,11.48,11.74,11.77,11.76,11.96,12.21,11.98,12.02,12.27,
-12.25,12.20,12.34,12.52,12.58,12.66,12.64,12.75,12.62,12.99,
-12.77,12.86,12.65,13.01,13.26,13.21,13.20,13.35,13.39,13.43,
-13.31,13.52,13.55,13.71,13.75,13.67,13.82,13.84,13.99,14.15,
-14.22,14.17,14.13,14.20,14.24,14.53,14.51,14.54,14.58,14.51,
-14.93,14.80,14.95,14.92,15.00,14.96,15.16,15.27,15.16,15.30,
-15.48,15.53,15.63,15.58,15.69,15.82,15.77,15.96,15.78,16.18,
-15.97,16.07,16.05,16.23,16.35,16.10,16.61,16.43,16.41,16.70,
-16.81,16.71,16.76,16.85,17.05,17.10,17.18,17.15,17.20,17.24,
-17.23,17.37,17.42,17.61,17.75,17.43,17.79,17.88,17.79,18.09,
-17.92,18.17,18.11,18.41,18.11,18.68,18.48,18.36,18.34,18.55,
-18.54,18.51,18.63,18.91,19.05,19.16,19.00,19.04,19.27,19.21,
-0.63,0.66,0.70,0.73,0.77,0.83,0.92,0.96,1.05,1.10,
-1.17,1.14,1.27,1.28,1.41,1.37,1.46,1.49,1.50,1.60,
-1.69,1.73,1.80,1.83,1.88,2.01,2.00,2.02,2.11,2.15,
-2.28,2.32,2.28,2.35,2.44,2.49,2.50,2.56,2.67,2.74,
-2.76,2.85,2.85,2.94,3.06,3.08,3.09,3.20,3.24,3.22,
-3.38,3.31,3.39,3.49,3.49,3.61,3.67,3.79,3.78,3.79,
-3.90,3.94,3.94,4.01,3.95,4.13,4.22,4.11,4.24,4.45,
-4.50,4.43,4.53,4.53,4.56,4.71,4.80,4.71,4.85,4.78,
-4.97,5.06,5.08,5.10,5.19,5.20,5.15,5.23,5.34,5.54,
-5.46,5.51,5.53,5.56,5.55,5.74,5.88,5.86,5.85,6.00,
-6.04,6.10,6.05,6.29,6.23,6.39,6.29,6.35,6.37,6.54,
-6.58,6.66,6.72,6.76,6.71,6.68,6.96,6.84,7.00,7.11,
-7.01,7.14,7.23,7.33,7.37,7.34,7.52,7.57,7.60,7.62,
-7.58,7.55,7.77,7.72,7.83,7.94,7.97,7.97,8.08,8.11,
-8.15,8.28,8.40,8.44,8.35,8.38,8.44,8.58,8.63,8.79,
-8.70,8.71,9.00,8.86,8.94,9.05,9.12,9.09,9.23,9.31,
-9.33,9.28,9.34,9.44,9.53,9.64,9.59,9.52,9.70,9.78,
-9.88,9.73,10.00,9.83,10.12,10.07,10.12,10.19,10.27,10.38,
-10.51,10.27,10.57,10.41,10.74,10.52,10.82,10.70,10.92,10.92,
-10.94,11.28,11.07,10.99,11.20,11.29,11.13,11.32,11.58,11.46,
-11.40,11.58,11.54,11.59,11.64,11.85,11.73,11.93,11.96,11.93,
-12.27,12.10,12.04,12.23,12.17,12.41,12.42,12.38,12.31,12.59,
-12.58,12.57,12.73,12.88,12.76,12.79,12.92,12.69,13.24,12.86,
-13.21,13.27,13.42,13.37,13.35,13.41,13.50,13.70,13.32,13.55,
-13.74,13.67,13.77,13.77,13.90,13.85,13.99,13.99,14.09,14.00,
-14.22,14.12,14.27,14.38,14.37,14.31,14.58,14.62,14.76,14.90,
-14.76,14.64,14.97,14.95,14.87,15.09,15.08,15.16,15.38,15.20,
-15.13,15.47,15.54,15.54,15.47,15.75,15.53,15.64,15.62,15.73,
-15.94,15.90,15.82,15.93,16.13,16.25,16.24,16.22,16.27,16.30,
-0.50,0.54,0.55,0.67,0.66,0.72,0.75,0.87,0.85,0.93,
-0.93,0.97,1.04,1.09,1.11,1.22,1.28,1.23,1.32,1.33,
-1.41,1.42,1.50,1.57,1.62,1.61,1.66,1.70,1.75,1.87,
-1.89,1.95,2.01,2.03,2.10,2.15,2.21,2.21,2.34,2.31,
-2.31,2.37,2.48,2.47,2.44,2.61,2.67,2.63,2.76,2.81,
-2.78,2.86,2.86,2.96,3.03,3.00,3.13,3.08,3.14,3.19,
-3.25,3.40,3.37,3.45,3.44,3.49,3.55,3.58,3.60,3.69,
-3.66,3.84,3.85,3.87,3.86,3.84,4.00,4.15,4.20,4.08,
-4.13,4.22,4.17,4.35,4.36,4.45,4.50,4.60,4.64,4.54,
-4.57,4.54,4.68,4.76,4.82,4.93,4.98,4.94,5.03,5.13,
-5.18,5.03,5.19,5.18,5.21,5.41,5.45,5.38,5.56,5.57,
-5.60,5.73,5.65,5.67,5.75,5.68,5.80,5.92,5.88,6.01,
-6.17,6.03,6.12,6.18,6.21,6.21,6.21,6.42,6.36,6.36,
-6.49,6.54,6.70,6.70,6.71,6.83,6.79,6.83,6.92,6.90,
-7.03,6.97,7.08,7.11,7.20,7.25,7.34,7.26,7.21,7.39,
-7.46,7.52,7.46,7.60,7.58,7.63,7.64,7.72,7.77,7.76,
-7.71,7.93,7.99,8.03,8.08,8.09,8.20,8.16,8.16,8.23,
-8.27,8.53,8.37,8.45,8.55,8.58,8.59,8.73,8.88,8.79,
-8.69,8.85,8.92,8.97,9.00,9.12,9.09,9.13,9.16,9.34,
-9.18,9.35,9.26,9.50,9.49,9.54,9.48,9.65,9.58,9.72,
-9.77,9.75,10.03,9.85,9.88,9.96,10.28,9.95,10.14,10.33,
-10.22,10.24,10.33,10.38,10.40,10.40,10.40,10.49,10.53,10.65,
-10.68,10.67,10.56,10.78,10.95,10.84,10.98,11.03,10.95,11.08,
-11.05,11.17,11.13,11.32,11.30,11.26,11.45,11.35,11.39,11.55,
-11.53,11.68,11.80,11.79,11.75,11.78,11.89,11.92,11.99,11.87,
-12.12,12.24,12.23,12.23,12.36,12.31,12.40,12.25,12.38,12.56,
-12.40,12.51,12.66,12.68,12.65,12.64,12.67,12.93,12.82,13.07,
-12.99,13.05,13.06,13.09,13.15,13.02,13.16,13.44,13.48,13.26,
-13.46,13.55,13.62,13.49,13.48,13.58,13.67,13.89,13.93,13.81,
-0.37,0.48,0.49,0.54,0.57,0.60,0.65,0.71,0.69,0.79,
-0.83,0.84,0.94,0.89,0.93,1.01,1.05,1.05,1.10,1.13,
-1.16,1.22,1.29,1.31,1.36,1.40,1.46,1.51,1.47,1.54,
-1.57,1.62,1.62,1.68,1.80,1.76,1.80,1.92,1.87,1.92,
-1.95,1.98,2.05,2.10,2.09,2.26,2.27,2.27,2.28,2.39,
-2.37,2.46,2.54,2.55,2.50,2.55,2.62,2.67,2.74,2.73,
-2.74,2.74,2.81,2.92,2.88,2.96,3.02,3.16,3.04,3.14,
-3.13,3.24,3.23,3.30,3.42,3.29,3.44,3.39,3.50,3.47,
-3.53,3.67,3.55,3.75,3.78,3.68,3.79,3.75,3.90,4.01,
-3.98,4.14,3.92,4.06,4.20,4.20,4.23,4.19,4.30,4.33,
-4.33,4.28,4.48,4.50,4.49,4.62,4.56,4.67,4.62,4.66,
-4.71,4.77,4.70,4.78,4.84,4.98,4.99,5.06,4.99,5.17,
-5.12,5.21,5.25,5.47,5.22,5.41,5.36,5.44,5.46,5.46,
-5.63,5.55,5.56,5.71,5.69,5.70,5.75,5.94,5.77,5.84,
-5.91,5.91,5.94,6.04,6.14,6.00,6.01,6.19,6.18,6.26,
-6.41,6.25,6.33,6.44,6.47,6.60,6.59,6.62,6.70,6.68,
-6.56,6.66,6.87,6.76,6.95,6.83,6.94,6.93,7.07,7.03,
-7.00,7.12,7.21,7.18,7.35,7.32,7.46,7.40,7.47,7.36,
-7.49,7.54,7.51,7.57,7.74,7.77,7.74,7.88,7.78,7.73,
-7.88,7.88,7.93,8.07,8.04,8.03,8.19,8.12,8.28,8.25,
-8.31,8.33,8.35,8.35,8.40,8.40,8.44,8.54,8.66,8.60,
-8.70,8.77,8.69,8.73,8.81,8.85,8.89,8.80,8.75,8.99,
-9.01,9.15,9.08,9.22,9.29,9.14,9.14,9.27,9.46,9.39,
-9.35,9.41,9.60,9.69,9.80,9.75,9.84,9.77,9.78,9.78,
-9.92,9.98,9.79,9.84,10.02,9.97,10.32,10.19,10.22,10.14,
-10.15,10.22,10.41,10.30,10.37,10.44,10.51,10.49,10.55,10.55,
-10.73,10.84,10.60,10.84,10.68,10.85,10.98,10.81,10.95,10.95,
-11.02,11.16,11.01,11.22,11.27,11.15,11.33,11.29,11.40,11.32,
-11.33,11.28,11.48,11.48,11.56,11.65,11.59,11.80,11.81,11.87,
-0.34,0.39,0.39,0.47,0.47,0.51,0.54,0.56,0.62,0.64,
-0.67,0.69,0.76,0.82,0.84,0.83,0.96,0.89,0.94,0.97,
-1.01,1.06,1.10,1.15,1.18,1.22,1.22,1.22,1.29,1.34,
-1.29,1.38,1.46,1.43,1.45,1.47,1.59,1.65,1.52,1.66,
-1.76,1.66,1.77,1.78,1.79,1.87,1.94,1.96,1.92,2.00,
-2.05,2.04,2.11,2.14,2.16,2.25,2.18,2.33,2.25,2.26,
-2.37,2.35,2.44,2.54,2.47,2.52,2.59,2.61,2.57,2.69,
-2.62,2.70,2.83,2.72,2.77,2.84,2.88,2.84,3.04,2.99,
-2.98,3.04,3.11,3.17,3.25,3.19,3.25,3.24,3.20,3.34,
-3.29,3.34,3.47,3.47,3.58,3.64,3.57,3.61,3.74,3.66,
-3.78,3.65,3.72,3.78,3.92,3.87,3.90,4.01,3.98,3.97,
-4.00,3.96,4.24,4.13,4.18,4.28,4.20,4.23,4.27,4.35,
-4.37,4.35,4.40,4.46,4.49,4.48,4.58,4.63,4.74,4.67,
-4.71,4.75,4.72,4.73,4.80,5.00,4.87,4.85,5.00,4.96,
-5.06,5.05,5.02,5.20,5.06,5.06,5.21,5.32,5.31,5.32,
-5.37,5.35,5.46,5.47,5.49,5.44,5.63,5.67,5.60,5.66,
-5.70,5.77,5.63,5.88,5.94,5.78,5.91,5.91,6.01,6.07,
-5.87,6.04,6.17,6.13,6.15,6.30,6.31,6.31,6.48,6.36,
-6.40,6.48,6.36,6.52,6.58,6.47,6.60,6.60,6.56,6.62,
-6.73,6.74,6.91,6.74,6.74,6.88,7.05,6.91,7.00,6.98,
-7.05,7.05,7.07,7.21,7.24,7.35,7.22,7.25,7.35,7.34,
-7.45,7.37,7.43,7.44,7.49,7.52,7.60,7.54,7.79,7.72,
-7.76,7.84,7.97,7.78,7.96,7.92,7.81,8.02,7.89,7.99,
-8.14,8.06,8.10,8.08,8.21,8.29,8.29,8.38,8.20,8.39,
-8.37,8.46,8.43,8.53,8.26,8.50,8.58,8.59,8.62,8.66,
-8.83,8.75,8.74,8.80,8.82,8.77,8.91,8.83,8.91,8.99,
-9.07,9.10,9.11,9.14,9.22,9.29,9.23,9.29,9.13,9.32,
-9.42,9.33,9.57,9.44,9.63,9.51,9.54,9.53,9.75,9.71,
-9.72,9.80,9.78,9.82,9.80,9.87,9.92,9.98,9.70,10.03,
-3.65,3.96,4.28,4.63,4.98,5.32,5.63,5.98,6.30,6.71,
-7.00,7.40,7.71,8.10,8.44,8.76,8.98,9.30,9.74,10.02,
-10.39,10.77,11.07,11.45,11.76,12.06,12.54,12.80,13.10,13.57,
-13.86,14.17,14.33,15.06,15.21,15.42,15.84,16.23,16.67,16.99,
-17.09,17.62,17.86,18.30,18.59,18.99,19.29,19.61,20.09,20.37,
-20.64,20.97,21.45,21.55,21.98,22.34,22.71,23.03,23.36,23.69,
-23.96,24.37,24.82,25.14,25.54,25.89,25.97,26.56,26.79,27.15,
-27.53,27.79,28.18,28.58,28.75,29.30,29.50,29.89,30.30,30.48,
-30.88,31.24,31.75,31.68,32.19,32.36,32.93,33.27,33.62,33.89,
-34.11,34.56,34.84,35.21,35.66,36.12,36.43,36.59,36.85,37.29,
-37.73,37.81,38.25,38.67,39.10,39.39,39.79,40.00,40.29,40.69,
-41.07,41.55,41.87,42.14,42.51,42.78,43.12,43.58,43.97,44.29,
-44.38,44.74,45.15,45.64,45.82,46.23,46.57,46.82,47.25,47.57,
-47.94,48.43,48.66,48.85,49.38,49.50,49.92,50.02,50.53,50.82,
-51.30,51.43,52.03,52.28,52.84,53.27,53.18,53.72,53.88,54.34,
-54.51,54.89,55.09,55.73,56.05,56.25,56.64,56.85,57.44,57.90,
-58.15,58.44,58.73,59.04,59.44,59.80,60.28,60.29,60.86,61.12,
-61.63,61.94,62.05,62.42,62.86,63.01,63.44,64.00,64.56,64.69,
-65.06,65.09,65.41,66.03,66.19,66.68,67.06,67.27,67.62,68.00,
-68.20,68.53,69.16,69.37,69.75,69.93,70.42,70.90,70.90,71.33,
-71.73,72.08,72.33,72.76,73.14,73.53,73.78,74.05,74.48,74.84,
-75.43,75.33,75.88,76.05,76.67,76.74,77.24,77.38,78.11,78.32,
-78.47,78.96,79.16,79.66,79.95,80.50,80.34,81.01,81.30,81.36,
-81.87,82.23,82.46,82.75,83.27,83.71,84.30,84.57,84.36,84.95,
-85.32,85.83,85.78,86.57,86.71,87.38,87.71,87.50,88.05,88.61,
-88.77,89.12,89.47,89.81,89.79,90.22,91.08,91.28,91.43,92.07,
-92.27,92.54,92.82,93.63,93.89,93.88,94.16,94.28,94.89,95.33,
-95.54,96.37,96.29,96.48,96.75,97.31,97.98,98.38,98.39,98.57,
-98.99,99.46,99.91,100.19,100.79,100.76,101.09,101.62,101.78,102.31,
-3.13,3.40,3.64,4.00,4.30,4.53,4.84,5.17,5.50,5.77,
-6.00,6.34,6.60,6.90,7.23,7.45,7.72,8.12,8.36,8.70,
-9.04,9.21,9.59,9.84,10.09,10.38,10.79,10.94,11.24,11.71,
-11.92,12.15,12.43,12.82,13.02,13.37,13.59,13.87,14.14,14.61,
-14.90,15.14,15.41,15.68,15.90,16.27,16.53,16.88,17.36,17.42,
-17.81,18.06,18.43,18.60,18.91,19.18,19.49,19.84,20.10,20.39,
-20.81,20.95,21.27,21.64,21.85,22.12,22.40,22.64,23.01,23.23,
-23.58,23.80,24.34,24.67,24.77,25.09,25.40,25.56,25.95,26.13,
-26.68,26.75,27.16,27.42,27.65,27.91,28.31,28.65,28.80,29.08,
-29.40,29.79,30.30,30.43,30.56,30.99,31.23,31.84,31.85,32.02,
-32.42,32.87,33.05,33.35,33.66,33.89,34.25,34.60,34.72,34.82,
-35.50,35.56,35.97,36.19,36.66,36.77,37.29,37.63,37.65,37.95,
-38.38,38.67,38.84,39.25,39.48,39.85,40.09,40.46,40.83,40.96,
-41.38,41.58,41.67,42.09,42.35,42.71,43.17,43.21,43.38,44.02,
-44.13,44.35,44.91,44.84,45.46,45.44,45.73,46.38,46.74,46.68,
-47.11,47.22,47.63,47.86,48.17,48.62,48.82,49.26,49.48,49.76,
-50.00,50.29,50.63,51.04,51.37,51.26,51.78,52.01,52.18,52.60,
-52.91,53.07,53.47,53.89,54.18,54.31,54.66,54.93,55.23,55.87,
-55.74,55.92,56.51,56.69,57.21,57.11,57.61,57.80,58.20,58.61,
-58.74,59.11,59.35,59.84,59.81,60.32,60.60,61.05,61.17,61.47,
-61.72,61.95,62.32,62.41,62.76,63.36,63.50,63.78,64.11,64.37,
-64.72,64.71,65.21,65.58,66.11,66.18,66.38,66.69,67.18,67.22,
-67.59,67.80,68.02,68.28,68.88,69.15,69.14,69.62,69.76,70.34,
-70.66,70.49,71.07,71.18,71.59,72.10,72.10,72.80,72.80,73.06,
-73.50,73.81,74.26,74.10,74.57,74.95,75.57,75.59,75.81,76.34,
-76.47,76.65,76.84,77.30,77.56,77.96,78.03,78.62,78.84,79.07,
-79.35,79.64,79.73,80.42,80.68,80.78,80.98,81.42,81.82,81.76,
-82.59,82.61,82.62,83.25,83.62,83.45,84.03,84.38,85.02,85.03,
-84.99,85.36,85.79,86.14,86.12,86.78,86.99,87.24,87.56,87.52,
-2.67,2.89,3.16,3.41,3.67,3.93,4.20,4.41,4.67,4.93,
-5.15,5.53,5.71,6.03,6.20,6.51,6.74,6.99,7.29,7.47,
-7.62,7.99,8.16,8.49,8.78,9.09,9.14,9.59,9.79,9.99,
-10.26,10.41,10.70,11.07,11.24,11.59,11.78,12.03,12.22,12.60,
-12.54,13.06,13.21,13.67,13.82,13.99,14.34,14.53,14.75,14.95,
-15.36,15.51,15.74,16.05,16.38,16.36,16.79,16.90,17.30,17.49,
-17.87,18.07,18.33,18.46,18.78,19.06,19.38,19.58,19.82,20.05,
-20.21,20.58,20.94,21.11,21.35,21.60,21.79,22.22,22.23,22.52,
-22.73,23.16,23.24,23.55,23.75,24.09,24.24,24.62,24.86,25.17,
-25.51,25.66,25.73,26.04,26.34,26.63,26.89,27.23,27.52,27.80,
-27.87,28.10,28.39,28.59,28.95,29.33,29.45,29.78,29.90,30.30,
-30.35,30.51,30.87,31.08,31.31,31.75,31.84,32.19,32.26,32.70,
-32.91,33.18,33.43,33.91,33.96,34.19,34.48,34.83,34.91,35.27,
-35.11,35.52,36.03,36.15,36.47,36.93,36.93,37.16,37.57,37.61,
-38.18,38.19,38.49,38.77,39.04,38.93,39.76,39.89,40.12,40.34,
-40.37,40.61,41.40,41.17,41.53,42.09,42.13,42.52,42.30,42.54,
-43.15,43.18,43.35,43.77,43.99,44.42,44.62,44.95,45.08,45.51,
-45.52,45.89,46.07,46.23,46.50,46.88,46.83,47.27,47.45,47.81,
-48.01,48.45,48.55,48.90,49.12,49.50,49.31,49.82,50.15,50.56,
-50.57,50.87,51.05,51.08,51.33,51.48,51.99,52.48,52.71,52.70,
-52.97,53.14,53.60,53.91,53.93,54.12,54.59,55.03,55.07,55.67,
-55.45,55.77,55.99,56.33,56.39,56.65,57.20,57.50,57.57,57.69,
-58.29,58.35,58.49,58.48,59.20,59.65,59.44,59.94,60.28,60.45,
-60.52,60.94,61.18,61.34,61.44,61.42,62.22,62.38,62.88,62.74,
-63.23,63.43,63.44,63.89,64.09,64.48,64.53,64.93,65.50,65.42,
-65.97,65.85,66.00,66.27,66.92,66.91,67.12,67.61,67.65,67.72,
-68.08,68.60,68.62,69.08,69.06,69.47,69.75,69.91,70.49,70.90,
-70.57,70.89,71.32,71.44,72.00,72.07,72.17,72.34,72.31,73.30,
-73.37,73.53,73.47,73.84,74.35,74.77,74.64,75.06,75.41,75.58,
-2.34,2.50,2.78,2.97,3.18,3.35,3.69,3.84,3.99,4.23,
-4.52,4.68,4.93,5.06,5.35,5.54,5.73,6.02,6.25,6.46,
-6.69,6.86,7.05,7.22,7.42,7.72,7.90,8.22,8.32,8.58,
-8.66,9.00,9.26,9.53,9.57,9.77,10.12,10.27,10.44,10.71,
-10.97,11.09,11.39,11.70,11.91,12.14,12.34,12.57,12.82,12.88,
-13.17,13.34,13.61,13.83,13.99,14.27,14.47,14.65,14.94,15.04,
-15.36,15.46,15.81,15.99,16.22,16.41,16.62,16.79,17.15,17.15,
-17.46,17.81,17.80,18.30,18.28,18.61,18.68,19.05,19.40,19.36,
-19.45,19.86,20.12,20.47,20.53,20.90,21.11,21.12,21.39,21.67,
-21.70,22.09,22.35,22.43,22.75,22.83,23.05,23.25,23.60,23.62,
-23.95,24.18,24.59,24.57,24.91,25.00,25.10,25.59,25.60,25.75,
-26.23,26.16,26.47,26.75,26.96,27.22,27.30,27.56,27.92,28.09,
-28.27,28.54,28.70,28.94,29.26,29.42,29.62,29.87,30.11,30.15,
-30.59,30.69,30.87,31.27,30.93,31.55,31.72,31.96,32.17,32.51,
-32.57,33.07,33.16,33.32,33.55,33.90,34.16,34.08,34.38,34.45,
-34.92,35.16,35.27,35.33,35.86,35.88,36.07,36.30,36.61,36.78,
-36.79,37.29,37.42,37.62,37.91,38.09,38.19,38.38,38.49,39.05,
-39.17,39.39,39.42,39.89,40.28,40.27,40.42,40.70,40.82,41.13,
-41.35,41.70,41.78,41.98,42.19,42.21,42.81,42.83,43.03,43.10,
-43.58,43.87,44.05,44.15,44.35,44.61,44.66,44.67,45.14,45.86,
-45.80,45.80,46.25,46.34,46.48,46.77,46.88,47.23,47.83,47.77,
-47.79,48.06,48.21,48.23,48.55,48.63,49.22,49.43,49.47,49.78,
-49.80,50.00,50.27,50.48,50.90,50.94,51.14,51.45,51.67,51.83,
-52.14,52.45,52.59,52.63,53.26,53.13,53.59,53.66,53.70,54.29,
-54.31,54.58,54.64,54.99,55.21,55.21,55.75,55.67,55.80,56.30,
-56.48,56.58,56.86,57.13,57.36,57.67,57.79,58.26,58.28,58.20,
-58.58,58.65,59.24,59.65,59.59,59.69,59.95,60.03,60.47,60.45,
-60.69,61.43,60.85,61.36,61.94,62.20,62.21,62.32,62.59,62.56,
-62.98,63.35,63.57,63.93,63.64,64.27,64.26,64.56,64.98,65.15,
-2.00,2.23,2.35,2.52,2.70,2.85,3.15,3.27,3.44,3.70,
-3.93,4.03,4.17,4.36,4.60,4.76,5.01,5.11,5.30,5.58,
-5.68,5.93,6.12,6.25,6.37,6.72,6.89,7.16,7.31,7.41,
-7.63,7.71,7.89,8.15,8.30,8.54,8.67,8.96,9.11,9.30,
-9.44,9.59,9.90,10.01,10.18,10.31,10.60,10.85,10.87,11.07,
-11.40,11.52,11.71,11.79,12.03,12.16,12.44,12.54,12.81,12.98,
-13.23,13.22,13.55,13.80,13.96,14.11,14.30,14.51,14.81,14.83,
-15.04,15.32,15.47,15.65,15.82,15.93,15.91,16.33,16.70,16.77,
-16.88,16.99,17.34,17.40,17.84,17.92,17.96,18.11,18.32,18.48,
-18.83,18.83,19.11,19.32,19.58,19.53,19.82,19.98,20.23,20.32,
-20.68,20.71,21.10,21.15,21.20,21.39,21.86,21.77,21.85,22.17,
-22.65,22.74,22.84,23.14,23.27,23.58,23.47,23.77,23.89,24.18,
-24.37,24.59,24.72,25.07,25.26,25.31,25.38,25.77,25.98,26.06,
-26.16,26.37,26.58,26.79,26.94,26.95,27.30,27.54,27.67,27.95,
-27.97,28.09,28.58,28.57,28.79,29.13,29.32,29.17,29.66,29.66,
-29.89,30.16,30.31,30.57,30.76,30.93,31.14,31.37,31.43,31.55,
-31.80,31.94,32.24,32.41,32.48,32.60,32.83,33.21,33.34,33.55,
-33.57,33.96,33.95,34.34,34.40,34.48,35.01,34.92,35.24,35.57,
-35.56,35.66,35.82,36.17,36.34,36.55,36.46,36.76,37.04,37.25,
-37.50,37.59,37.56,38.01,38.17,38.39,38.57,38.60,39.00,39.24,
-39.08,39.29,39.61,39.73,40.17,40.26,40.18,40.60,40.69,40.75,
-40.91,41.18,41.42,41.79,42.18,42.16,42.19,42.79,42.53,42.91,
-42.96,42.89,43.49,43.68,43.68,44.27,44.20,44.44,44.54,44.62,
-44.91,45.28,45.18,45.58,45.30,45.83,46.06,45.95,46.40,46.72,
-46.69,47.13,47.14,47.38,47.51,47.65,47.71,48.29,48.13,48.51,
-48.50,48.88,48.85,48.95,49.30,49.36,49.87,49.82,50.34,50.17,
-50.44,50.54,50.78,51.03,51.05,51.48,51.38,51.76,52.11,52.01,
-52.54,52.58,52.71,52.88,52.83,53.18,52.98,53.89,53.63,53.47,
-54.15,54.53,54.78,54.62,54.92,54.85,55.19,55.31,55.49,55.85,
-1.74,1.87,2.06,2.17,2.31,2.50,2.62,2.89,2.95,3.12,
-3.25,3.38,3.61,3.78,3.99,4.14,4.28,4.40,4.59,4.83,
-4.90,5.05,5.12,5.42,5.44,5.72,5.90,5.94,6.28,6.38,
-6.51,6.68,6.88,6.96,7.21,7.29,7.47,7.61,7.89,8.00,
-8.21,8.33,8.39,8.71,8.76,8.94,9.01,9.20,9.40,9.69,
-9.69,9.76,10.15,10.19,10.36,10.35,10.73,10.78,11.02,11.22,
-11.53,11.59,11.70,11.71,12.07,12.03,12.30,12.32,12.63,12.67,
-12.85,12.88,13.16,13.42,13.71,13.69,13.95,14.10,14.14,14.22,
-14.43,14.62,14.79,14.97,15.23,15.50,15.40,15.72,15.79,16.05,
-16.10,16.16,16.38,16.63,16.92,16.97,17.10,17.03,17.16,17.47,
-17.80,17.83,18.08,18.20,18.50,18.62,18.77,18.68,18.94,19.30,
-19.48,19.76,19.82,19.98,20.10,20.09,20.43,20.59,20.55,20.93,
-20.84,21.06,21.34,21.52,21.58,21.66,21.87,22.12,22.21,22.42,
-22.75,22.64,22.76,23.11,22.98,23.35,23.66,23.62,23.82,23.77,
-24.08,24.05,24.60,24.65,24.69,24.81,25.25,25.10,25.51,25.61,
-25.64,25.94,26.15,26.26,26.30,26.58,26.77,26.94,27.03,27.27,
-27.33,27.56,27.59,27.96,27.94,28.14,28.59,28.40,28.75,28.72,
-29.08,29.30,29.23,29.41,29.70,29.73,30.02,29.84,30.30,30.36,
-30.70,30.78,30.83,31.09,31.15,31.52,31.41,31.63,31.75,31.86,
-32.28,32.40,32.39,32.54,32.80,32.95,33.05,33.30,33.45,33.49,
-33.77,33.85,33.83,34.21,34.24,34.47,34.49,34.93,34.84,35.12,
-35.37,35.66,35.52,35.93,36.16,36.42,36.15,36.53,36.78,36.74,
-36.91,36.85,37.23,37.37,37.48,37.75,37.80,38.23,38.30,38.15,
-38.91,38.86,38.92,38.96,38.96,39.33,39.67,39.91,39.83,40.34,
-40.31,40.49,40.34,40.60,40.81,40.93,41.11,41.44,41.52,41.57,
-41.85,41.94,42.02,42.34,42.54,42.74,42.79,43.01,43.26,43.09,
-43.42,43.28,43.30,43.75,44.40,44.15,44.41,44.58,44.84,44.83,
-44.80,45.30,45.35,45.41,45.81,45.92,46.02,46.03,46.24,46.52,
-46.44,46.92,47.02,47.30,46.97,47.32,47.34,47.76,48.00,47.98,
-1.47,1.58,1.75,1.88,1.98,2.15,2.29,2.49,2.57,2.65,
-2.83,2.98,3.10,3.26,3.43,3.50,3.60,3.83,3.95,3.98,
-4.27,4.34,4.55,4.69,4.78,4.90,5.04,5.15,5.36,5.42,
-5.67,5.80,5.77,5.97,6.25,6.36,6.51,6.50,6.71,6.80,
-6.89,7.11,7.31,7.36,7.62,7.69,7.77,7.91,8.11,8.35,
-8.45,8.42,8.66,8.73,8.95,9.04,9.28,9.41,9.56,9.48,
-9.78,9.93,9.98,10.20,10.21,10.40,10.62,10.61,10.78,10.98,
-11.22,11.27,11.26,11.55,11.61,11.86,11.98,12.22,12.15,12.34,
-12.35,12.77,12.83,12.89,12.96,13.14,13.41,13.46,13.43,13.67,
-13.69,13.95,14.22,14.35,14.54,14.41,14.78,14.86,15.15,15.29,
-15.20,15.39,15.49,15.72,15.69,16.11,15.94,16.16,16.26,16.48,
-16.73,16.82,17.01,16.91,17.34,17.26,17.42,17.53,17.63,17.89,
-17.95,18.13,18.22,18.28,18.55,18.64,18.73,18.98,19.00,19.29,
-19.36,19.39,19.63,19.88,19.75,20.07,20.19,20.23,20.44,20.62,
-20.92,20.78,20.89,21.25,21.39,21.38,21.89,21.79,22.00,22.05,
-22.23,22.12,22.36,22.45,22.56,23.01,22.84,23.24,23.32,23.37,
-23.47,23.53,23.86,24.10,24.13,24.22,24.42,24.75,24.64,24.80,
-24.84,24.98,25.23,25.39,25.50,25.74,25.69,25.82,26.04,26.00,
-26.30,26.48,26.51,26.53,26.85,27.16,27.02,27.33,27.39,27.50,
-27.71,28.18,27.91,28.15,28.38,28.32,28.79,28.61,28.88,28.86,
-28.95,29.00,29.56,29.67,29.50,29.75,29.54,29.83,30.20,30.37,
-30.25,30.38,30.97,30.79,30.89,31.02,31.28,31.48,31.34,31.60,
-31.71,32.11,32.12,32.13,31.86,32.38,32.66,32.77,33.01,33.02,
-33.29,33.38,33.52,33.55,33.72,34.01,33.89,34.04,34.26,34.50,
-34.27,34.64,34.68,34.94,35.20,35.09,35.21,35.38,35.59,35.58,
-35.94,36.19,36.12,36.13,36.56,36.44,36.52,37.24,36.87,37.03,
-37.37,37.35,37.61,38.10,37.72,38.07,38.27,38.28,38.26,38.47,
-38.82,38.68,38.87,39.04,39.05,39.47,39.44,39.83,39.75,40.05,
-39.95,39.99,39.94,40.44,40.77,41.10,40.84,40.99,41.10,41.42,
-1.26,1.39,1.48,1.65,1.75,1.86,1.92,2.16,2.17,2.34,
-2.43,2.56,2.69,2.75,2.89,2.97,3.13,3.30,3.41,3.49,
-3.54,3.74,3.97,3.96,4.10,4.21,4.29,4.46,4.66,4.71,
-4.73,4.93,5.01,5.16,5.36,5.37,5.51,5.76,5.77,5.88,
-5.99,6.15,6.24,6.48,6.55,6.67,6.74,6.88,6.93,7.07,
-7.16,7.27,7.48,7.59,7.61,7.80,7.89,7.90,8.22,8.20,
-8.41,8.42,8.59,8.77,8.76,9.08,9.18,9.22,9.46,9.32,
-9.52,9.70,9.92,9.87,10.10,10.28,10.05,10.40,10.63,10.55,
-10.69,10.96,10.86,11.10,11.19,11.33,11.48,11.52,11.47,11.73,
-11.88,12.06,12.09,12.30,12.31,12.53,12.60,12.82,12.91,13.01,
-13.08,13.12,13.27,13.61,13.50,13.63,13.84,13.95,14.11,14.20,
-14.29,14.43,14.53,14.60,14.64,15.06,15.12,15.30,15.26,15.41,
-15.38,15.58,15.76,15.89,16.01,16.04,16.15,16.40,16.40,16.34,
-16.71,16.88,17.05,17.12,17.36,17.32,17.25,17.56,17.73,17.80,
-17.94,18.10,17.98,18.10,18.49,18.52,18.70,18.70,18.70,19.03,
-19.01,19.10,19.26,19.51,19.48,19.48,19.67,19.88,19.84,20.02,
-20.30,20.09,20.34,20.46,20.62,20.69,20.95,21.06,21.23,21.32,
-21.37,21.55,21.70,21.61,21.90,21.83,22.34,22.16,22.32,22.70,
-22.45,22.76,22.81,22.98,23.08,23.26,23.26,23.84,23.50,23.71,
-23.93,23.93,23.92,24.15,24.37,24.35,24.56,24.79,24.80,24.68,
-24.97,25.04,25.25,25.44,25.39,25.45,25.75,25.72,25.81,25.95,
-26.14,26.02,26.58,26.38,26.70,26.75,26.78,26.83,26.98,27.40,
-27.29,27.65,27.45,27.63,27.91,27.97,27.76,28.12,28.31,28.44,
-28.56,28.43,28.59,28.77,29.09,29.35,29.34,29.33,29.62,29.71,
-29.84,29.48,30.00,30.24,30.27,30.32,30.40,30.57,30.66,30.85,
-30.75,31.07,30.93,31.19,31.63,31.59,31.67,31.57,31.86,32.00,
-31.99,32.17,32.17,32.45,32.59,32.63,32.73,32.83,33.18,33.40,
-33.11,33.26,33.86,33.25,33.69,34.15,34.15,34.00,34.24,34.38,
-34.49,34.66,34.59,34.88,35.03,34.85,35.30,35.33,35.32,35.49,
-1.13,1.13,1.30,1.44,1.42,1.56,1.67,1.75,1.94,1.96,
-2.11,2.19,2.33,2.42,2.48,2.57,2.72,2.79,2.92,3.04,
-3.14,3.18,3.28,3.42,3.56,3.61,3.71,3.81,3.95,4.03,
-4.07,4.19,4.32,4.52,4.65,4.66,4.67,4.83,4.89,5.08,
-5.16,5.24,5.37,5.46,5.47,5.62,5.79,5.90,5.88,6.20,
-6.17,6.32,6.43,6.53,6.59,6.63,6.80,6.88,7.00,7.14,
-7.26,7.39,7.40,7.50,7.59,7.65,7.87,7.89,7.95,8.20,
-8.26,8.31,8.33,8.51,8.68,8.78,8.95,9.02,9.04,9.20,
-9.38,9.31,9.43,9.44,9.71,9.78,9.78,10.04,10.11,10.02,
-10.26,10.38,10.37,10.62,10.78,10.57,10.86,11.04,11.13,11.36,
-11.17,11.47,11.38,11.57,11.77,11.90,11.76,12.12,12.16,12.19,
-12.41,12.45,12.56,12.50,12.62,12.75,12.82,13.12,12.99,13.27,
-13.49,13.35,13.58,13.68,13.58,13.93,14.06,13.93,14.15,14.07,
-14.33,14.33,14.54,14.50,14.59,14.73,14.90,14.84,14.82,15.28,
-15.33,15.46,15.66,15.73,15.76,15.76,16.05,16.12,16.04,16.24,
-16.34,16.48,16.45,16.82,16.89,17.04,17.04,16.98,17.30,17.37,
-17.29,17.56,17.74,17.43,17.61,17.80,18.09,17.97,18.37,18.33,
-18.36,18.59,18.55,18.76,18.82,18.95,19.08,19.18,19.10,19.40,
-19.40,19.51,19.69,19.92,19.89,19.97,20.06,20.16,20.47,20.28,
-20.44,20.61,20.74,20.77,20.91,20.79,20.81,21.05,21.02,21.28,
-21.16,21.57,21.66,21.82,21.65,21.88,22.16,22.26,22.31,22.52,
-22.49,22.48,22.60,22.99,22.89,23.15,23.02,23.16,23.43,23.44,
-23.38,23.57,23.72,24.08,24.03,24.11,24.21,24.18,24.13,24.55,
-24.56,24.58,24.78,24.76,24.84,25.21,25.39,25.19,25.36,25.32,
-25.85,25.42,25.76,25.66,25.90,25.95,26.26,26.25,26.40,26.41,
-26.45,26.84,26.71,26.98,26.94,27.17,27.02,27.19,27.44,27.51,
-27.77,27.72,27.93,27.77,28.10,28.12,28.38,28.40,28.27,28.60,
-28.61,28.71,28.93,29.09,28.95,29.18,29.22,29.17,29.51,29.34,
-29.69,30.00,29.94,29.97,29.88,29.98,29.89,29.99,30.61,30.76,
-0.91,1.05,1.11,1.23,1.32,1.35,1.44,1.55,1.65,1.76,
-1.88,1.83,1.97,2.10,2.12,2.22,2.33,2.41,2.48,2.62,
-2.74,2.74,2.91,2.98,3.02,3.10,3.20,3.21,3.46,3.43,
-3.52,3.57,3.76,3.73,3.98,4.00,4.09,4.12,4.26,4.30,
-4.46,4.43,4.59,4.65,4.67,4.79,4.95,5.08,5.15,5.25,
-5.36,5.45,5.47,5.55,5.66,5.88,5.86,5.88,6.02,6.18,
-6.24,6.21,6.30,6.39,6.65,6.55,6.81,6.63,6.92,6.97,
-7.10,7.09,7.27,7.52,7.57,7.48,7.59,7.72,7.63,7.96,
-8.06,8.13,8.18,8.20,8.42,8.51,8.49,8.59,8.72,8.92,
-8.84,8.84,8.94,8.94,9.15,9.36,9.32,9.39,9.45,9.39,
-9.71,9.70,9.86,10.03,10.00,10.13,10.25,10.29,10.29,10.55,
-10.54,10.60,10.76,10.79,11.01,11.04,11.29,11.28,11.12,11.43,
-11.37,11.58,11.61,11.86,11.79,11.99,11.94,12.03,12.16,12.09,
-12.27,12.44,12.56,12.51,12.50,12.87,12.90,12.99,13.07,13.13,
-13.23,13.29,13.56,13.55,13.49,13.63,13.63,13.87,13.91,14.03,
-13.89,14.20,14.20,14.21,14.38,14.39,14.67,14.76,14.68,14.96,
-14.88,14.90,15.23,15.27,15.44,15.33,15.48,15.74,15.66,15.68,
-16.10,15.84,16.04,16.17,16.09,16.19,16.38,16.46,16.64,16.84,
-16.81,16.63,16.64,16.99,16.98,17.22,17.28,17.42,17.31,17.57,
-17.55,17.66,17.63,17.77,17.74,17.94,18.26,18.35,18.20,18.35,
-18.46,18.48,18.56,18.54,18.96,18.84,18.86,19.12,19.35,19.35,
-19.26,19.39,19.53,19.87,19.66,19.88,19.83,19.97,20.06,20.04,
-20.28,20.31,20.25,20.36,20.58,20.57,21.00,20.74,21.04,21.08,
-21.14,21.20,21.25,21.21,21.49,21.40,21.69,21.69,21.72,21.93,
-22.02,21.96,22.21,22.32,22.09,22.26,22.70,22.61,22.93,22.94,
-22.71,22.78,23.09,23.23,23.07,23.26,23.20,23.49,23.75,23.70,
-23.63,23.70,24.08,24.08,23.99,23.93,24.35,24.18,24.35,24.52,
-24.56,24.64,24.86,24.66,25.02,25.29,25.12,25.18,25.33,25.37,
-25.72,25.82,25.82,25.70,26.16,26.03,26.12,25.77,26.34,26.03,
-0.81,0.82,0.91,1.05,1.08,1.17,1.27,1.29,1.36,1.49,
-1.57,1.65,1.67,1.75,1.79,1.96,1.98,2.09,2.18,2.18,
-2.36,2.40,2.42,2.55,2.56,2.66,2.72,2.88,2.88,2.92,
-3.04,3.11,3.14,3.33,3.36,3.48,3.57,3.59,3.66,3.69,
-3.73,3.93,3.97,4.05,4.16,4.31,4.21,4.42,4.53,4.48,
-4.54,4.67,4.72,4.76,4.92,4.91,5.06,5.08,5.15,5.26,
-5.31,5.29,5.43,5.53,5.62,5.72,5.79,5.79,6.01,6.04,
-5.99,6.04,6.32,6.36,6.39,6.48,6.53,6.61,6.59,6.77,
-6.75,7.00,7.04,7.08,7.13,7.15,7.29,7.49,7.32,7.52,
-7.55,7.62,7.71,7.84,7.92,7.95,8.01,8.19,8.22,8.22,
-8.39,8.57,8.41,8.53,8.67,8.77,8.76,9.06,8.98,9.16,
-9.10,9.11,9.36,9.48,9.31,9.46,9.52,9.69,9.68,9.83,
-9.85,9.96,9.99,10.20,10.27,10.20,10.33,10.50,10.52,10.61,
-10.68,10.61,10.88,10.99,10.99,10.95,11.23,11.09,11.09,11.26,
-11.44,11.39,11.41,11.55,11.65,11.87,11.73,11.90,12.04,11.84,
-12.24,12.21,12.29,12.42,12.38,12.53,12.67,12.67,12.74,12.82,
-12.87,12.98,13.13,13.14,13.20,13.28,13.17,13.47,13.47,13.60,
-13.51,13.79,13.74,13.82,13.95,13.89,14.13,14.20,14.13,14.40,
-14.39,14.39,14.30,14.51,14.65,14.59,14.87,14.98,15.02,14.92,
-15.26,15.11,15.42,15.35,15.46,15.57,15.45,15.74,15.75,15.73,
-15.74,15.80,15.84,16.22,15.96,16.40,16.43,16.37,16.43,16.43,
-16.61,16.73,16.82,16.70,16.85,17.12,16.99,17.33,17.28,17.31,
-17.43,17.23,17.29,17.68,17.70,17.79,17.90,17.92,18.20,18.18,
-18.15,18.18,18.22,18.38,18.54,18.39,18.70,18.82,18.75,18.92,
-18.74,18.94,19.10,19.18,19.23,19.13,19.42,19.53,19.31,19.57,
-19.68,19.72,19.91,19.81,19.96,20.12,20.34,20.04,20.43,20.51,
-20.31,20.50,20.44,20.62,20.91,20.92,20.74,20.93,21.11,21.14,
-21.06,21.27,21.40,21.31,21.46,21.54,21.63,21.61,21.78,21.76,
-21.89,21.96,22.08,22.16,22.27,22.16,22.56,22.34,22.33,22.66,
-0.68,0.74,0.79,0.89,0.97,0.99,1.10,1.18,1.21,1.27,
-1.32,1.46,1.46,1.47,1.61,1.67,1.73,1.80,1.85,1.99,
-1.93,2.00,2.13,2.21,2.27,2.35,2.42,2.30,2.46,2.54,
-2.57,2.73,2.76,2.83,2.90,2.96,3.01,3.12,3.18,3.19,
-3.21,3.38,3.34,3.56,3.47,3.58,3.68,3.81,3.78,3.90,
-3.90,3.90,3.94,4.12,4.08,4.22,4.17,4.44,4.36,4.43,
-4.68,4.74,4.71,4.77,4.88,4.92,4.85,4.96,5.11,5.30,
-5.20,5.28,5.43,5.32,5.60,5.60,5.54,5.68,5.74,5.82,
-5.81,5.92,6.07,6.10,6.28,6.28,6.37,6.30,6.36,6.50,
-6.56,6.55,6.69,6.67,6.94,6.92,7.00,6.96,7.04,7.18,
-7.33,7.16,7.26,7.36,7.48,7.69,7.50,7.63,7.61,7.75,
-7.88,7.75,8.00,7.96,8.24,8.14,8.14,8.29,8.32,8.37,
-8.33,8.45,8.63,8.75,8.70,8.78,8.85,8.96,8.97,9.19,
-9.02,9.18,9.37,9.34,9.40,9.53,9.53,9.59,9.61,9.64,
-9.75,9.71,9.83,10.02,10.06,10.30,10.18,10.22,10.40,10.27,
-10.27,10.40,10.64,10.66,10.71,10.70,10.74,10.88,10.99,10.89,
-11.00,10.99,11.21,11.36,11.42,11.31,11.40,11.51,11.58,11.59,
-11.76,11.69,11.77,11.93,11.97,12.03,12.11,12.13,12.15,12.28,
-12.27,12.44,12.38,12.69,12.44,12.58,12.85,12.83,12.98,12.77,
-13.06,13.24,13.08,13.32,13.28,13.47,13.22,13.48,13.62,13.58,
-13.70,13.57,13.74,13.82,13.84,14.04,13.95,14.19,14.12,14.35,
-14.24,14.51,14.44,14.48,14.46,14.69,14.74,14.74,14.73,14.82,
-14.91,15.11,15.16,15.26,15.35,15.04,15.40,15.55,15.48,15.54,
-15.75,15.50,15.82,15.87,15.95,15.95,16.00,15.85,16.10,16.30,
-16.01,16.35,16.23,16.64,16.52,16.50,16.83,16.87,16.71,16.78,
-16.70,16.89,17.05,17.22,17.12,17.39,17.32,17.25,17.48,17.44,
-17.54,17.65,17.59,17.69,17.69,17.84,18.00,18.20,18.20,18.29,
-18.07,18.25,18.18,18.14,18.43,18.41,18.47,18.57,18.92,18.74,
-18.92,18.95,18.88,18.81,19.07,19.04,19.20,19.23,19.56,19.38,
-0.60,0.69,0.69,0.76,0.78,0.86,0.92,0.94,1.05,1.07,
-1.12,1.25,1.24,1.28,1.35,1.41,1.49,1.61,1.62,1.68,
-1.64,1.71,1.78,1.89,1.95,1.97,2.12,2.07,2.15,2.15,
-2.29,2.36,2.41,2.46,2.52,2.53,2.57,2.65,2.71,2.81,
-2.87,2.93,2.97,3.00,3.06,3.04,3.15,3.21,3.27,3.24,
-3.34,3.43,3.53,3.54,3.71,3.66,3.58,3.74,3.92,3.84,
-3.93,4.00,4.20,4.10,4.17,4.22,4.24,4.28,4.39,4.42,
-4.53,4.58,4.62,4.63,4.76,4.77,4.72,4.83,5.01,5.01,
-5.03,5.00,5.19,5.30,5.25,5.29,5.34,5.34,5.52,5.55,
-5.62,5.63,5.72,5.66,5.81,5.80,6.00,5.90,5.98,6.03,
-6.14,6.10,6.37,6.27,6.39,6.41,6.67,6.67,6.67,6.71,
-6.76,6.83,6.90,6.95,6.93,7.09,7.17,7.08,7.19,7.20,
-7.28,7.24,7.36,7.40,7.48,7.50,7.55,7.71,7.66,7.83,
-7.90,8.05,7.94,7.96,8.21,8.10,8.18,8.42,8.24,8.40,
-8.32,8.44,8.57,8.52,8.56,8.58,8.71,8.71,8.79,8.89,
-8.79,9.15,8.93,8.97,9.27,9.33,9.19,9.39,9.50,9.59,
-9.58,9.54,9.69,9.84,9.76,9.70,9.85,9.81,10.12,9.97,
-9.99,9.98,10.25,10.40,10.30,10.38,10.40,10.52,10.62,10.49,
-10.68,10.78,10.73,10.57,11.09,10.94,10.96,10.89,11.14,11.22,
-11.14,11.17,11.38,11.43,11.47,11.52,11.49,11.73,11.50,11.55,
-11.69,11.85,11.93,12.15,12.13,11.93,12.05,12.34,12.15,12.27,
-12.37,12.44,12.46,12.65,12.45,12.60,12.46,12.59,12.80,12.81,
-12.87,12.76,12.92,13.07,13.10,13.24,13.39,13.19,13.38,13.42,
-13.29,13.62,13.61,13.57,13.77,13.60,13.78,13.70,13.89,14.02,
-13.98,13.82,14.14,14.07,14.03,14.34,14.63,14.46,14.36,14.40,
-14.48,14.67,14.77,14.64,14.64,14.78,14.71,15.06,15.04,14.98,
-15.09,15.28,15.37,15.29,15.14,15.49,15.23,15.48,15.52,15.61,
-15.78,15.86,15.81,15.77,15.80,15.98,16.16,16.21,15.97,16.23,
-16.28,16.37,16.19,16.39,16.31,16.45,16.50,16.49,16.77,16.58,
-0.49,0.58,0.60,0.67,0.73,0.72,0.81,0.81,0.90,0.96,
-1.02,1.07,1.07,1.12,1.17,1.18,1.31,1.32,1.34,1.45,
-1.45,1.51,1.57,1.60,1.58,1.67,1.74,1.80,1.82,1.85,
-1.90,2.03,2.08,2.15,2.03,2.21,2.18,2.29,2.26,2.40,
-2.44,2.42,2.61,2.58,2.61,2.70,2.71,2.71,2.79,2.84,
-2.96,2.92,3.06,3.10,3.08,3.10,3.23,3.24,3.34,3.28,
-3.42,3.40,3.48,3.50,3.64,3.62,3.67,3.61,3.84,3.81,
-3.80,3.88,3.95,4.02,4.10,4.12,4.04,4.28,4.25,4.30,
-4.30,4.42,4.36,4.53,4.62,4.56,4.69,4.72,4.60,4.81,
-4.87,4.81,4.88,4.94,5.05,5.14,5.03,5.10,5.18,5.24,
-5.35,5.34,5.34,5.46,5.38,5.50,5.63,5.70,5.71,5.85,
-5.69,5.86,6.04,5.89,6.01,6.07,5.93,6.14,6.20,6.18,
-6.42,6.29,6.38,6.40,6.55,6.53,6.68,6.52,6.54,6.70,
-6.66,6.77,6.71,6.99,6.87,6.94,7.08,7.10,7.12,7.09,
-7.29,7.23,7.33,7.46,7.35,7.51,7.56,7.58,7.51,7.70,
-7.74,7.78,7.84,7.85,7.79,7.91,7.92,7.85,8.04,7.94,
-8.27,8.15,8.37,8.33,8.26,8.36,8.50,8.57,8.55,8.71,
-8.65,8.83,8.91,8.78,8.94,8.87,8.98,8.92,9.08,8.98,
-9.12,9.17,9.30,9.23,9.34,9.33,9.48,9.46,9.59,9.57,
-9.46,9.75,9.83,9.72,9.73,9.86,9.92,10.01,10.11,9.99,
-10.02,10.20,10.08,10.29,10.37,10.23,10.42,10.48,10.43,10.41,
-10.56,10.57,10.65,10.58,10.71,10.73,11.02,10.95,10.93,11.01,
-10.92,11.13,11.10,11.27,11.25,11.36,11.49,11.47,11.35,11.42,
-11.71,11.47,11.75,11.78,11.69,11.80,11.88,11.83,11.80,11.93,
-12.09,12.00,12.00,12.12,12.19,12.34,12.30,12.47,12.49,12.36,
-12.69,12.52,12.51,12.32,12.72,12.85,12.69,12.83,12.78,12.99,
-13.00,13.12,13.06,13.08,13.02,13.23,13.27,13.37,13.40,13.31,
-13.51,13.51,13.57,13.49,13.70,13.45,13.87,13.90,13.89,14.06,
-13.78,13.99,14.09,14.20,14.15,14.18,14.12,14.27,14.17,14.57,
-0.43,0.48,0.53,0.57,0.62,0.66,0.63,0.69,0.76,0.81,
-0.83,0.88,0.94,1.01,1.08,1.08,1.10,1.11,1.14,1.25,
-1.24,1.31,1.40,1.40,1.38,1.50,1.53,1.58,1.62,1.61,
-1.72,1.75,1.67,1.82,1.84,1.93,1.93,1.98,1.98,2.07,
-2.06,2.13,2.17,2.21,2.29,2.31,2.31,2.40,2.47,2.40,
-2.40,2.58,2.54,2.57,2.67,2.67,2.76,2.80,2.88,2.91,
-2.83,2.96,3.02,3.02,3.07,3.10,3.19,3.19,3.26,3.35,
-3.35,3.37,3.44,3.53,3.44,3.56,3.62,3.64,3.66,3.73,
-3.73,3.83,3.79,3.82,3.87,4.03,3.94,4.16,4.06,4.18,
-4.17,4.17,4.22,4.22,4.33,4.29,4.31,4.36,4.46,4.39,
-4.62,4.67,4.66,4.75,4.67,4.79,4.89,4.82,4.78,4.80,
-5.00,5.08,5.11,5.10,5.06,5.14,5.10,5.14,5.37,5.40,
-5.41,5.46,5.49,5.49,5.67,5.49,5.64,5.70,5.62,5.82,
-5.77,5.85,5.86,6.05,6.10,6.07,6.08,6.11,6.14,6.15,
-6.15,6.24,6.33,6.25,6.38,6.49,6.40,6.62,6.51,6.54,
-6.55,6.64,6.72,6.75,6.66,6.79,6.90,7.00,6.96,6.99,
-7.06,7.01,7.19,7.10,7.32,7.16,7.32,7.42,7.46,7.47,
-7.51,7.62,7.45,7.53,7.58,7.59,7.74,7.66,7.78,7.81,
-7.81,7.95,7.85,7.87,8.17,8.07,8.11,8.21,8.11,8.34,
-8.13,8.31,8.26,8.41,8.35,8.48,8.52,8.55,8.74,8.69,
-8.68,8.75,8.77,8.76,8.79,8.85,8.95,8.89,9.09,9.16,
-8.97,9.20,9.21,9.17,9.35,9.28,9.41,9.40,9.46,9.43,
-9.61,9.51,9.49,9.71,9.71,9.69,9.56,9.81,9.91,10.04,
-9.94,9.99,10.12,10.00,10.11,10.07,10.05,10.41,10.26,10.28,
-10.42,10.41,10.40,10.71,10.47,10.68,10.70,10.48,10.71,10.72,
-10.59,10.89,10.83,10.96,11.01,10.95,11.03,11.07,10.98,11.29,
-10.97,11.08,11.27,11.22,11.42,11.40,11.40,11.55,11.45,11.50,
-11.59,11.66,11.66,11.78,11.92,11.56,11.79,11.75,11.82,11.91,
-11.95,12.16,12.09,12.08,12.21,12.30,12.23,12.03,12.36,12.32,
-3.77,4.12,4.53,4.88,5.27,5.59,5.89,6.20,6.67,7.02,
-7.33,7.59,8.13,8.38,8.72,9.07,9.50,9.87,10.18,10.42,
-10.85,11.29,11.57,11.92,12.20,12.62,13.06,13.32,13.65,14.17,
-14.35,14.74,15.13,15.55,15.83,16.14,16.55,16.82,17.26,17.52,
-18.09,18.47,18.71,18.91,19.19,19.70,20.07,20.37,20.85,21.26,
-21.34,21.87,22.18,22.64,22.87,23.35,23.64,23.87,24.30,24.63,
-25.00,25.27,25.62,26.16,26.45,26.70,27.04,27.55,28.08,28.24,
-28.43,28.91,29.30,29.66,30.03,30.39,30.60,31.07,31.33,31.93,
-32.20,32.44,32.96,33.34,33.27,33.90,34.18,34.40,34.80,35.28,
-35.59,36.12,36.53,36.86,37.15,37.35,37.63,38.20,38.60,38.92,
-38.97,39.53,40.02,40.36,40.84,41.08,41.62,41.72,42.23,42.59,
-42.60,43.06,43.38,43.81,44.24,44.62,44.96,45.27,45.67,46.00,
-46.35,46.42,47.14,47.47,47.59,48.07,48.31,48.70,48.95,49.38,
-49.79,50.15,50.45,50.62,50.99,51.67,51.98,52.28,52.81,52.91,
-53.36,53.83,54.16,54.47,54.93,54.97,55.74,55.70,55.82,56.54,
-57.04,57.33,57.70,57.89,58.33,58.83,59.12,59.84,59.87,60.11,
-60.41,61.05,61.26,61.59,61.93,61.97,62.54,62.95,63.31,63.77,
-63.67,64.41,64.82,65.21,65.48,66.25,66.09,66.43,66.72,67.07,
-67.31,67.60,67.95,68.76,68.82,69.31,69.64,70.40,70.45,70.74,
-71.24,71.45,71.97,71.95,72.44,73.05,73.12,73.65,73.78,74.09,
-74.67,74.86,75.55,75.70,76.19,76.05,76.63,77.27,77.20,77.49,
-78.13,78.44,78.80,79.61,79.53,79.66,80.19,80.65,80.82,81.31,
-81.52,82.07,82.70,82.77,83.27,83.50,83.86,84.20,84.71,84.92,
-85.24,85.49,85.98,86.16,86.82,86.96,87.33,87.59,88.11,88.16,
-88.89,89.30,89.45,89.84,90.48,90.63,90.89,91.18,91.76,91.98,
-92.21,92.74,93.12,93.57,94.11,94.00,94.44,94.71,95.19,95.85,
-95.81,96.25,96.63,96.90,97.60,97.80,98.15,98.41,98.80,99.00,
-99.58,100.05,100.14,100.66,101.07,101.11,101.29,101.81,102.13,102.44,
-102.97,103.30,103.54,103.97,104.15,104.86,105.10,105.36,105.60,106.29,
-3.30,3.64,3.90,4.27,4.47,4.80,5.03,5.43,5.75,6.10,
-6.34,6.65,6.96,7.28,7.53,7.83,8.26,8.55,8.80,9.09,
-9.45,9.79,10.04,10.44,10.72,10.98,11.31,11.60,11.90,12.32,
-12.45,12.86,13.15,13.46,13.73,14.06,14.45,14.69,14.98,15.23,
-15.52,15.91,16.25,16.59,16.85,17.14,17.57,17.79,18.02,18.30,
-18.71,18.93,19.42,19.52,19.81,20.16,20.44,20.85,21.10,21.51,
-21.85,22.22,22.46,22.76,22.91,23.17,23.74,24.02,24.24,24.66,
-24.90,25.09,25.47,25.83,26.09,26.47,26.55,26.94,27.29,27.70,
-27.73,28.26,28.62,28.89,29.12,29.62,29.91,30.17,30.33,31.00,
-31.04,31.30,31.65,31.95,32.19,32.44,32.95,33.25,33.51,33.59,
-34.10,34.45,34.77,35.05,35.23,35.38,35.94,36.08,36.75,36.78,
-37.05,37.38,37.65,38.01,38.44,38.77,39.09,39.35,39.71,39.87,
-40.40,40.50,41.03,41.31,41.60,41.94,42.28,42.49,42.79,42.99,
-43.38,43.51,43.94,44.18,44.64,44.68,45.24,45.47,45.80,46.13,
-46.43,46.67,47.06,47.40,47.88,48.01,48.41,48.60,49.05,48.99,
-49.45,49.89,50.16,50.42,50.77,51.11,51.47,51.81,51.76,52.40,
-52.72,52.75,53.20,53.53,53.87,54.11,54.54,54.79,55.12,55.34,
-55.94,56.15,56.26,56.48,56.82,57.32,57.53,57.88,58.26,58.48,
-58.66,58.74,59.52,59.65,59.94,60.45,60.57,60.79,61.29,61.41,
-61.92,62.13,62.43,62.49,63.21,63.30,63.63,63.91,64.37,64.76,
-64.92,65.13,65.44,65.81,66.27,66.39,66.67,67.33,67.38,67.61,
-68.16,67.96,68.73,69.16,69.14,69.62,69.86,69.94,70.78,70.69,
-71.14,71.35,71.46,71.95,72.37,72.67,72.79,73.31,73.59,74.12,
-73.97,74.59,74.94,75.00,75.51,75.40,76.21,76.06,76.39,76.94,
-77.08,77.51,77.72,78.24,78.50,78.89,79.27,79.72,79.93,80.05,
-80.51,80.70,80.93,81.16,81.84,82.01,82.20,82.49,82.80,83.12,
-83.64,83.45,84.19,84.58,85.05,85.01,85.36,85.68,85.66,86.31,
-86.34,86.65,86.74,87.14,87.75,87.92,88.36,88.53,88.91,89.21,
-89.78,90.09,90.05,90.17,90.98,91.07,91.41,91.76,92.07,92.25,
-2.96,3.15,3.41,3.68,3.99,4.26,4.47,4.74,5.10,5.29,
-5.53,5.75,6.07,6.26,6.57,6.81,7.07,7.39,7.65,7.90,
-8.25,8.43,8.86,8.94,9.28,9.56,9.73,10.11,10.44,10.66,
-10.84,11.28,11.44,11.72,11.99,12.22,12.56,12.93,13.10,13.35,
-13.53,13.81,14.19,14.41,14.65,14.94,15.36,15.49,15.72,15.88,
-16.34,16.44,16.71,16.90,17.38,17.58,17.86,18.23,18.40,18.80,
-18.89,19.23,19.38,19.72,20.06,20.24,20.51,20.73,21.05,21.39,
-21.67,22.00,22.17,22.41,22.86,22.84,23.27,23.32,23.84,23.82,
-24.25,24.61,24.76,25.19,25.18,25.50,26.05,26.22,26.40,26.60,
-27.06,27.24,27.53,27.86,28.09,28.48,28.71,28.87,29.10,29.41,
-29.64,29.97,30.25,30.43,30.77,30.94,31.18,31.39,31.84,32.12,
-32.40,32.65,32.52,33.32,33.48,33.78,33.80,34.56,34.64,34.84,
-35.07,35.43,35.44,35.97,36.24,36.37,36.72,37.01,37.17,37.58,
-37.77,38.26,38.33,38.76,38.70,38.91,39.45,39.57,39.93,40.02,
-40.36,40.60,41.09,41.23,41.51,41.73,42.16,42.10,42.59,42.91,
-43.29,43.64,43.46,43.86,44.03,44.57,44.75,44.85,45.14,45.32,
-45.93,45.91,46.15,46.42,47.15,46.95,47.16,47.67,48.17,48.11,
-48.41,48.62,48.79,49.31,49.61,49.72,50.24,50.25,50.55,50.83,
-51.04,51.43,51.48,51.96,52.17,52.39,52.64,52.91,53.20,53.86,
-53.95,54.19,54.04,54.60,54.84,55.24,55.52,55.58,55.59,56.09,
-56.46,56.86,56.73,57.31,57.28,57.64,58.05,58.48,58.62,59.06,
-59.28,59.33,59.62,60.07,60.30,60.51,60.76,60.97,61.06,61.58,
-61.97,62.11,62.48,62.65,62.90,63.32,63.45,63.76,63.93,64.36,
-64.35,64.78,65.25,65.38,65.33,65.80,66.24,66.19,66.59,67.08,
-67.12,67.43,67.81,67.78,68.36,68.52,68.80,69.05,69.78,69.64,
-69.69,69.99,70.26,70.75,70.92,71.22,71.60,71.92,72.16,72.16,
-72.64,72.88,73.35,73.48,73.82,74.01,74.11,74.11,74.93,74.97,
-75.32,75.78,75.62,76.25,76.48,76.56,76.73,77.27,77.65,77.70,
-78.04,78.23,78.64,78.73,79.34,79.08,79.62,79.63,79.61,80.32,
-2.54,2.72,3.02,3.16,3.42,3.64,3.98,4.16,4.36,4.52,
-4.82,5.10,5.25,5.57,5.74,5.89,6.22,6.49,6.74,7.00,
-7.22,7.53,7.58,7.86,8.19,8.42,8.52,8.74,9.03,9.22,
-9.40,9.67,9.96,10.12,10.42,10.68,10.88,11.07,11.33,11.51,
-11.81,12.07,12.29,12.60,12.71,13.01,13.21,13.48,13.65,13.98,
-14.15,14.33,14.66,14.86,15.08,15.22,15.57,15.84,16.00,16.24,
-16.44,16.85,17.04,17.11,17.46,17.61,18.05,18.15,18.53,18.53,
-18.72,19.05,19.30,19.42,19.82,19.86,20.28,20.43,20.64,20.95,
-21.11,21.46,21.66,21.86,22.15,22.17,22.60,22.95,23.02,22.97,
-23.55,23.68,24.05,24.31,24.47,24.47,24.91,25.19,25.43,25.68,
-25.65,26.07,26.34,26.50,26.69,27.02,27.12,27.70,27.67,27.87,
-28.12,28.21,28.68,29.05,29.36,29.34,29.47,29.79,30.05,30.33,
-30.54,30.81,30.67,31.25,31.47,31.54,31.83,32.07,32.44,32.59,
-33.05,33.02,33.26,33.64,33.77,33.84,34.19,34.41,34.75,35.00,
-35.07,35.15,35.67,35.81,36.19,36.48,36.60,36.94,37.24,37.17,
-37.56,37.92,37.90,38.44,38.33,38.58,38.91,39.28,39.35,39.62,
-39.82,40.08,40.08,40.48,40.62,40.97,41.26,41.31,41.78,41.82,
-42.05,42.16,42.62,42.90,42.92,43.15,43.42,43.63,43.78,44.50,
-44.35,44.91,45.13,45.31,45.49,45.89,45.76,46.18,46.53,46.68,
-46.93,46.97,47.18,47.59,47.70,47.76,48.12,48.33,48.75,49.15,
-49.28,49.40,49.45,49.85,50.25,50.53,50.63,50.73,50.94,51.32,
-51.71,51.70,52.03,52.08,52.20,52.56,52.73,53.03,53.66,53.44,
-53.62,54.08,53.97,54.40,54.80,55.17,55.05,55.20,55.59,56.12,
-56.01,56.09,56.45,56.86,57.20,57.15,57.41,57.48,57.98,58.17,
-58.32,58.75,58.97,58.98,59.52,59.58,60.10,59.94,60.44,60.52,
-60.71,61.09,61.24,61.53,61.74,62.01,62.20,62.24,62.61,62.88,
-63.36,63.19,63.57,63.87,64.18,64.36,64.75,64.75,65.04,65.10,
-65.40,65.68,65.85,66.49,66.41,66.54,67.07,66.61,67.27,67.54,
-67.84,67.90,68.44,68.12,68.88,69.08,68.91,69.62,69.64,69.66,
-2.18,2.39,2.54,2.79,2.99,3.16,3.37,3.56,3.72,4.03,
-4.14,4.40,4.63,4.80,5.10,5.22,5.47,5.56,5.87,5.99,
-6.33,6.47,6.57,6.88,7.03,7.18,7.41,7.62,7.84,8.00,
-8.21,8.55,8.68,8.86,9.05,9.32,9.38,9.66,9.92,10.11,
-10.28,10.33,10.68,11.02,11.10,11.34,11.52,11.71,11.85,12.14,
-12.36,12.57,12.59,12.96,13.09,13.25,13.49,13.72,13.97,14.11,
-14.28,14.54,14.76,15.02,15.07,15.34,15.69,15.75,15.97,16.30,
-16.35,16.71,16.82,16.72,17.31,17.50,17.53,17.95,18.14,18.16,
-18.38,18.52,18.95,18.88,19.21,19.57,19.67,19.79,20.30,20.23,
-20.24,20.70,20.82,20.76,21.30,21.31,21.73,21.77,22.26,22.26,
-22.43,22.73,22.82,23.16,23.22,23.43,23.72,23.95,23.97,24.35,
-24.40,24.74,24.90,25.14,25.35,25.49,25.82,25.93,26.07,26.41,
-26.39,26.73,26.82,27.23,27.27,27.65,27.76,27.77,28.07,28.34,
-28.47,28.79,28.94,29.26,29.32,29.59,29.71,29.88,30.03,30.53,
-30.62,30.62,31.26,31.15,31.55,31.38,31.91,32.03,32.33,32.58,
-32.62,32.73,33.02,33.11,33.49,33.60,33.94,34.02,34.34,34.62,
-34.71,35.01,34.94,35.23,35.42,35.53,35.83,36.31,36.13,36.42,
-36.70,36.69,37.23,37.44,37.51,37.77,38.15,38.01,38.23,38.62,
-38.27,38.89,38.97,39.19,39.56,39.76,39.78,40.22,40.45,40.60,
-40.70,40.97,41.19,41.25,41.44,41.97,41.81,42.12,42.20,42.55,
-42.74,42.92,43.22,43.24,43.52,43.73,43.83,44.37,44.47,44.61,
-44.95,44.99,45.10,45.43,45.83,46.00,45.76,45.91,46.51,46.84,
-46.89,47.15,47.15,47.29,47.73,47.76,48.07,48.27,48.42,48.86,
-48.74,49.13,49.19,49.47,49.55,49.80,50.26,50.08,50.48,50.53,
-50.74,51.25,51.13,51.35,51.74,51.72,52.12,52.55,52.72,52.78,
-52.92,53.28,53.21,53.48,53.89,54.10,54.04,54.00,54.41,54.82,
-54.91,55.24,55.38,55.57,55.80,55.74,56.07,56.38,56.36,56.81,
-57.03,57.17,57.46,57.58,57.92,57.69,58.50,58.40,58.49,58.80,
-58.95,58.96,59.29,59.67,59.79,60.17,60.22,60.42,60.86,60.92,
-1.92,2.08,2.27,2.43,2.53,2.78,2.96,3.11,3.26,3.40,
-3.61,3.79,3.98,4.19,4.41,4.54,4.73,4.96,4.95,5.30,
-5.48,5.57,5.72,6.00,6.13,6.32,6.47,6.70,6.80,6.97,
-7.22,7.41,7.47,7.80,7.91,8.01,8.17,8.44,8.65,8.66,
-8.98,9.24,9.33,9.40,9.67,9.89,9.91,10.12,10.47,10.58,
-10.72,10.84,11.09,11.14,11.40,11.64,11.82,12.02,12.24,12.22,
-12.43,12.67,12.71,12.94,13.10,13.39,13.50,13.59,13.96,13.97,
-14.27,14.38,14.56,14.82,14.96,15.24,15.23,15.44,15.61,16.01,
-16.05,16.14,16.28,16.49,16.70,16.85,17.00,17.34,17.32,17.73,
-17.67,17.81,18.10,18.17,18.34,18.70,18.89,19.09,18.96,19.34,
-19.38,19.57,19.86,20.04,20.19,20.34,20.65,20.82,21.02,21.23,
-21.28,21.62,21.67,21.68,21.95,22.22,22.47,22.62,22.67,22.82,
-23.14,23.17,23.52,23.59,23.91,23.94,24.24,24.32,24.51,24.63,
-24.96,25.12,25.31,25.22,25.64,25.68,25.98,25.97,26.29,26.57,
-26.63,26.76,27.02,27.14,27.37,27.65,27.52,27.88,28.11,28.44,
-28.41,28.51,28.73,28.93,29.19,29.11,29.44,29.56,29.75,29.98,
-30.32,30.37,30.35,30.53,30.70,30.89,31.21,31.55,31.60,31.45,
-32.04,31.82,32.27,32.54,32.43,32.68,32.94,32.96,33.29,33.42,
-33.81,33.75,33.92,34.35,34.31,34.59,34.68,35.21,35.05,35.17,
-35.37,35.69,35.93,36.10,36.20,36.40,36.28,36.79,36.60,37.25,
-37.10,37.27,37.65,37.80,37.83,38.01,38.21,38.62,38.70,38.77,
-38.99,39.17,39.35,39.43,39.71,39.87,39.95,40.32,40.68,40.43,
-40.82,40.88,41.16,41.21,41.34,41.73,41.79,41.88,42.07,42.34,
-42.61,42.69,43.00,42.88,43.23,43.29,43.29,43.82,43.79,44.33,
-44.35,44.58,44.66,44.74,44.81,45.13,45.31,45.73,45.83,46.06,
-46.21,46.45,46.34,46.89,46.54,47.05,46.86,47.45,47.46,47.47,
-47.98,48.00,48.09,48.44,48.69,48.47,48.94,48.91,49.12,49.41,
-49.68,49.79,49.89,49.88,50.06,50.21,50.69,50.47,50.69,51.31,
-51.32,51.43,51.39,51.97,51.88,52.06,52.21,52.21,52.78,53.09,
-1.67,1.82,1.94,2.10,2.23,2.49,2.54,2.77,2.85,2.98,
-3.17,3.39,3.47,3.62,3.78,3.90,4.18,4.22,4.43,4.64,
-4.67,4.81,5.01,5.16,5.27,5.52,5.59,5.90,5.88,6.11,
-6.20,6.43,6.55,6.75,7.00,6.98,7.18,7.37,7.60,7.59,
-7.84,7.91,8.18,8.25,8.36,8.63,8.72,9.04,9.06,9.09,
-9.41,9.44,9.62,9.69,10.03,9.98,10.24,10.54,10.57,10.71,
-10.90,10.90,11.18,11.38,11.50,11.79,11.84,12.13,12.13,12.42,
-12.36,12.47,12.76,12.85,12.94,13.19,13.21,13.33,13.48,13.81,
-14.02,14.06,14.22,14.31,14.55,14.71,14.85,15.14,15.18,15.27,
-15.49,15.54,15.78,16.05,16.15,16.25,16.35,16.50,16.91,16.87,
-16.96,17.26,17.28,17.38,17.57,17.74,17.87,18.07,18.09,18.38,
-18.56,18.84,18.76,18.94,19.34,19.34,19.68,19.66,19.91,19.89,
-19.89,20.19,20.29,20.50,20.43,20.78,21.11,21.21,21.40,21.36,
-21.56,21.78,21.87,21.87,22.20,22.46,22.37,22.47,23.03,22.97,
-23.07,23.37,23.44,23.52,23.77,23.70,24.05,24.18,24.45,24.76,
-24.77,24.88,25.24,25.13,25.18,25.53,25.64,25.67,26.07,26.12,
-26.23,26.32,26.51,26.80,26.89,26.90,27.13,27.29,27.45,27.57,
-27.80,27.87,28.18,28.26,28.27,28.51,28.91,28.63,28.90,29.02,
-29.28,29.40,29.57,29.72,29.79,30.07,30.08,30.34,30.48,30.72,
-30.66,30.97,31.30,31.24,31.48,31.71,31.92,31.84,32.19,32.07,
-32.25,32.64,32.80,32.69,33.14,33.22,33.34,33.36,33.47,33.78,
-33.83,34.15,34.30,34.34,34.33,34.65,34.76,34.95,35.03,35.20,
-35.36,35.72,35.96,36.19,35.83,36.34,36.01,36.36,36.43,36.85,
-36.86,36.98,37.18,37.55,37.62,37.75,37.90,38.04,38.08,38.49,
-38.33,38.81,38.70,38.91,39.45,39.26,39.35,39.55,39.64,39.91,
-40.19,40.00,40.48,40.35,40.60,40.55,40.78,41.10,41.25,41.45,
-41.59,41.67,42.03,42.12,42.03,42.41,42.53,42.52,42.75,42.94,
-42.96,43.29,43.45,43.52,43.48,43.79,44.10,44.08,44.45,44.43,
-44.59,45.02,44.90,45.18,44.95,45.41,45.47,45.75,45.74,46.00,
-1.47,1.53,1.70,1.78,1.95,2.09,2.19,2.32,2.49,2.62,
-2.76,2.94,3.00,3.11,3.35,3.46,3.56,3.69,3.90,3.94,
-4.05,4.23,4.34,4.48,4.71,4.79,4.79,5.06,5.12,5.33,
-5.46,5.53,5.71,5.83,5.92,6.11,6.33,6.41,6.51,6.59,
-6.81,7.09,7.14,7.10,7.36,7.37,7.59,7.67,7.72,7.98,
-8.12,8.25,8.27,8.46,8.64,8.73,9.02,8.92,9.16,9.25,
-9.46,9.59,9.75,9.94,9.93,10.07,10.16,10.46,10.41,10.62,
-10.91,10.88,11.16,11.08,11.32,11.56,11.63,11.68,11.87,11.85,
-12.08,12.14,12.41,12.61,12.61,12.77,12.90,13.02,13.11,13.31,
-13.68,13.55,13.82,13.82,14.03,14.04,14.37,14.32,14.53,14.73,
-14.64,15.05,15.07,15.19,15.35,15.35,15.67,15.84,15.83,16.01,
-16.14,16.20,16.27,16.65,16.53,16.81,16.86,17.24,17.11,17.33,
-17.36,17.38,17.78,17.76,17.95,18.11,18.18,18.27,18.57,18.67,
-18.79,18.84,19.08,19.29,19.52,19.45,19.42,19.98,19.85,19.89,
-20.12,20.21,20.49,20.34,20.74,20.58,20.96,20.94,21.24,21.50,
-21.48,21.74,21.69,22.12,21.97,22.16,22.27,22.33,22.56,22.65,
-22.77,22.88,22.97,23.10,23.47,23.59,23.64,23.74,23.87,24.30,
-23.99,24.21,24.51,24.36,24.51,24.74,25.06,25.14,25.08,25.20,
-25.55,25.62,25.77,26.00,25.91,26.20,26.19,26.41,26.36,26.74,
-26.96,26.76,27.06,27.38,27.11,27.60,27.65,27.71,27.86,28.04,
-28.08,28.42,28.40,28.83,28.51,28.93,28.91,29.06,29.12,29.76,
-29.53,29.52,29.59,29.86,30.16,30.42,30.22,30.62,30.45,30.78,
-30.85,30.70,31.08,31.18,31.30,31.64,31.72,31.69,31.88,31.99,
-32.20,32.31,32.50,32.66,32.67,32.88,32.86,33.19,33.13,33.25,
-33.53,33.72,33.59,33.82,33.95,34.13,34.06,34.43,34.70,34.68,
-34.86,35.12,34.95,35.06,35.47,35.56,35.68,35.77,36.04,36.13,
-36.16,36.31,36.40,36.38,36.64,36.86,36.97,37.34,37.29,37.20,
-37.56,37.75,37.74,38.12,38.01,38.25,38.18,38.40,38.46,38.84,
-38.72,38.70,38.94,38.95,39.32,39.68,39.43,39.60,39.84,40.13,
-1.24,1.32,1.46,1.58,1.72,1.83,1.87,2.02,2.18,2.31,
-2.38,2.48,2.59,2.75,2.90,3.00,3.10,3.18,3.31,3.44,
-3.61,3.63,3.83,3.86,4.04,4.15,4.30,4.42,4.50,4.69,
-4.72,4.84,4.87,5.06,5.13,5.28,5.52,5.57,5.71,5.91,
-5.92,6.03,6.16,6.16,6.34,6.46,6.47,6.62,6.88,6.91,
-7.09,7.05,7.23,7.38,7.45,7.68,7.73,7.79,7.91,8.05,
-8.25,8.20,8.43,8.59,8.68,8.97,9.01,9.05,9.08,9.34,
-9.43,9.59,9.63,9.79,9.86,10.02,9.98,10.41,10.43,10.53,
-10.49,10.60,10.86,10.96,11.04,11.22,11.27,11.37,11.38,11.62,
-11.82,11.82,11.89,12.00,12.13,12.32,12.56,12.58,12.79,12.77,
-12.80,12.98,13.00,13.15,13.33,13.38,13.50,13.68,13.83,13.97,
-14.06,13.95,14.37,14.44,14.62,14.45,14.78,14.86,15.00,14.98,
-15.11,15.29,15.35,15.53,15.85,15.78,15.74,15.94,16.23,16.21,
-16.33,16.50,16.54,16.59,16.74,16.94,16.95,17.08,17.30,17.33,
-17.41,17.68,17.74,17.84,17.99,18.09,18.20,18.35,18.34,18.54,
-18.79,18.96,19.01,19.04,19.28,19.23,19.45,19.33,19.62,19.77,
-19.80,19.97,20.19,20.32,20.30,20.47,20.49,20.67,20.71,21.06,
-21.15,21.16,21.12,21.32,21.48,21.68,21.68,21.69,21.75,22.02,
-22.32,22.34,22.54,22.51,22.70,22.75,22.82,23.07,23.12,23.23,
-23.09,23.45,23.49,23.59,23.69,23.90,24.22,24.18,24.00,24.45,
-24.66,24.57,24.86,24.62,24.90,25.00,25.18,25.41,25.57,25.28,
-25.70,25.87,25.92,26.13,26.30,26.41,26.30,26.28,26.58,26.46,
-26.75,27.07,27.14,27.08,27.29,27.34,27.53,27.51,27.91,28.00,
-27.90,28.25,28.20,28.36,28.38,28.46,28.89,28.65,29.03,28.91,
-28.96,29.53,29.24,29.30,29.80,29.45,29.90,29.94,30.06,30.22,
-30.23,30.50,30.62,30.48,30.57,30.85,30.89,31.13,31.10,31.38,
-31.28,31.61,31.49,31.50,32.04,32.31,32.08,32.46,32.57,32.40,
-32.54,32.72,32.83,33.09,33.13,33.04,33.22,33.46,33.39,33.58,
-33.81,34.02,34.07,34.05,34.36,34.42,34.60,34.52,34.51,34.85,
-1.07,1.20,1.32,1.39,1.51,1.51,1.68,1.82,1.91,2.02,
-2.04,2.16,2.31,2.44,2.53,2.51,2.65,2.79,2.88,2.96,
-3.05,3.19,3.32,3.42,3.60,3.65,3.67,3.74,3.88,4.06,
-4.11,4.22,4.37,4.34,4.55,4.61,4.64,4.80,4.81,5.06,
-5.18,5.14,5.30,5.54,5.61,5.53,5.70,5.89,6.02,6.00,
-6.14,6.30,6.27,6.38,6.42,6.57,6.69,6.87,6.92,7.13,
-7.17,7.25,7.28,7.45,7.56,7.60,7.60,7.87,7.97,8.12,
-8.03,8.19,8.35,8.52,8.53,8.72,8.80,8.94,8.79,9.18,
-9.17,9.24,9.37,9.44,9.71,9.66,9.67,9.81,9.85,9.99,
-10.12,10.29,10.36,10.43,10.45,10.70,10.70,10.92,11.06,11.12,
-11.18,11.28,11.26,11.53,11.55,11.71,11.86,11.93,12.00,12.18,
-12.37,12.31,12.54,12.52,12.71,12.70,12.76,12.93,12.96,13.09,
-13.22,13.19,13.52,13.44,13.83,13.69,13.85,14.04,14.07,14.19,
-14.36,14.28,14.38,14.63,14.70,14.71,14.87,14.88,14.99,15.24,
-15.28,15.36,15.36,15.63,15.58,15.66,15.94,16.31,16.05,16.14,
-16.46,16.41,16.50,16.63,16.56,16.74,16.81,16.95,16.74,17.09,
-17.41,17.41,17.49,17.93,17.75,17.74,17.77,17.93,18.07,18.31,
-18.19,18.32,18.48,18.49,18.68,18.81,18.80,19.18,19.17,19.09,
-19.34,19.38,19.50,19.41,19.65,19.93,20.02,19.92,20.09,20.05,
-20.24,20.43,20.45,20.75,20.74,20.70,20.70,21.07,20.97,21.17,
-21.39,21.61,21.67,21.83,21.67,21.67,21.73,22.01,22.05,22.25,
-22.33,22.28,22.37,22.61,22.70,22.82,22.95,22.86,23.27,23.21,
-23.36,23.57,23.61,23.74,23.85,23.83,24.00,23.89,24.22,24.23,
-24.36,24.42,24.60,24.68,24.80,24.69,24.76,25.16,25.03,25.30,
-25.01,25.56,25.55,25.78,25.79,25.98,25.82,26.00,26.25,26.22,
-26.18,26.72,26.46,26.99,26.77,26.79,26.99,27.03,27.22,27.45,
-27.52,27.77,27.58,27.56,27.86,27.94,27.89,28.15,28.15,28.30,
-28.36,28.53,28.71,28.67,28.85,29.09,28.93,28.93,29.08,29.07,
-29.51,29.40,29.76,29.78,29.40,29.79,30.03,30.14,30.08,30.20,
-0.98,1.04,1.10,1.16,1.33,1.41,1.44,1.57,1.60,1.71,
-1.83,1.93,2.00,2.10,2.17,2.30,2.38,2.55,2.52,2.64,
-2.68,2.74,2.87,3.02,3.02,3.21,3.29,3.36,3.45,3.54,
-3.57,3.60,3.81,3.84,3.91,4.00,4.12,4.21,4.30,4.40,
-4.49,4.62,4.69,4.63,4.80,4.97,4.94,5.06,5.13,5.28,
-5.23,5.35,5.48,5.70,5.68,5.78,5.78,5.96,6.07,6.11,
-6.21,6.31,6.35,6.49,6.57,6.64,6.67,6.86,6.91,7.04,
-7.10,7.16,7.24,7.43,7.33,7.49,7.51,7.74,7.74,7.89,
-7.96,8.02,8.12,8.32,8.32,8.36,8.38,8.55,8.66,8.80,
-8.86,8.93,9.05,9.11,9.13,9.29,9.37,9.47,9.59,9.72,
-9.80,9.73,9.94,9.93,10.18,10.20,10.16,10.47,10.65,10.44,
-10.45,10.77,10.91,10.72,10.98,10.90,11.10,11.05,11.22,11.49,
-11.52,11.47,11.68,11.60,11.87,11.98,12.13,12.04,11.91,12.20,
-12.37,12.36,12.70,12.69,12.65,12.79,12.91,13.04,13.20,13.20,
-13.14,13.12,13.31,13.48,13.59,13.71,13.82,13.90,14.03,13.95,
-14.23,14.32,14.41,14.58,14.52,14.60,14.51,14.74,14.90,14.76,
-14.98,15.08,15.13,15.25,15.27,15.50,15.32,15.58,15.69,15.71,
-15.78,15.98,15.93,16.21,16.24,16.45,16.55,16.50,16.71,16.92,
-16.84,16.77,16.89,16.92,17.01,17.14,17.27,17.47,17.39,17.65,
-17.43,17.66,17.89,18.01,18.21,18.20,18.18,18.25,18.38,18.30,
-18.70,18.69,18.69,18.75,18.83,19.10,19.01,19.20,19.34,19.24,
-19.40,19.36,19.51,19.70,19.65,20.01,19.98,19.83,20.13,20.19,
-20.23,20.54,20.21,20.83,20.49,20.74,20.89,21.03,20.75,20.99,
-21.20,21.13,21.20,21.64,21.54,21.59,21.57,21.61,22.05,22.10,
-22.14,22.03,22.28,22.17,22.41,22.55,22.62,22.79,22.84,22.82,
-22.93,23.09,23.33,23.41,23.24,23.64,23.39,23.75,23.53,23.76,
-23.75,23.86,24.27,24.10,24.22,24.19,24.45,24.55,24.45,24.47,
-24.73,24.64,24.87,24.86,24.91,25.17,25.27,25.30,25.38,25.32,
-25.57,25.67,25.87,25.92,25.67,25.97,26.42,26.22,26.21,26.27,
-0.81,0.90,0.94,1.04,1.11,1.20,1.29,1.35,1.45,1.54,
-1.58,1.70,1.74,1.83,1.91,2.06,2.06,2.10,2.23,2.27,
-2.37,2.36,2.58,2.59,2.65,2.71,2.85,2.89,3.01,3.02,
-3.04,3.22,3.19,3.34,3.35,3.56,3.54,3.67,3.67,3.77,
-3.89,3.91,4.07,4.10,4.20,4.22,4.47,4.36,4.50,4.59,
-4.76,4.70,4.82,4.94,4.83,5.06,4.99,5.22,5.22,5.42,
-5.44,5.53,5.53,5.52,5.83,5.77,5.92,6.00,5.98,6.06,
-6.17,6.21,6.20,6.51,6.49,6.52,6.64,6.76,6.72,6.76,
-6.91,7.07,7.14,7.19,7.26,7.32,7.33,7.62,7.48,7.64,
-7.80,7.76,7.83,7.92,8.02,8.08,8.22,8.31,8.36,8.49,
-8.60,8.60,8.49,8.73,8.75,8.81,8.88,8.97,9.02,9.13,
-9.22,9.20,9.50,9.39,9.53,9.47,9.74,9.63,9.72,9.95,
-10.13,9.88,10.13,10.26,10.40,10.37,10.38,10.49,10.46,10.71,
-10.86,10.99,10.97,10.98,10.97,11.09,11.20,11.18,11.28,11.44,
-11.46,11.71,11.61,11.76,11.97,11.95,12.04,12.15,12.17,12.21,
-12.34,12.26,12.62,12.52,12.58,12.71,12.78,12.84,12.76,12.81,
-13.24,12.99,13.26,13.39,13.20,13.48,13.55,13.46,13.59,13.69,
-13.87,13.80,14.02,13.97,14.12,14.25,14.29,14.44,14.41,14.55,
-14.64,14.71,14.80,14.72,15.07,15.03,15.06,15.07,15.26,15.39,
-15.24,15.44,15.40,15.43,15.65,15.71,15.73,15.95,15.91,16.10,
-16.04,16.12,16.21,16.34,16.54,16.45,16.38,16.79,16.79,16.80,
-16.88,16.92,17.08,16.98,17.41,17.34,17.43,17.51,17.74,17.72,
-17.64,17.63,17.82,17.95,17.96,17.98,18.33,18.19,18.21,18.40,
-18.23,18.29,18.57,18.74,18.62,18.66,19.19,18.85,19.03,18.87,
-19.23,19.08,19.27,19.40,19.44,19.51,19.57,19.64,19.75,19.97,
-19.85,19.96,20.08,20.22,20.35,20.55,20.24,20.54,20.45,20.57,
-20.61,20.73,20.84,21.00,21.03,21.18,21.08,21.31,21.18,21.47,
-21.54,21.31,21.77,21.80,21.75,21.82,21.81,22.15,22.20,22.01,
-22.37,22.43,22.35,22.54,22.49,22.50,22.76,22.97,22.95,22.76,
-0.73,0.76,0.86,0.95,0.93,1.05,1.14,1.19,1.22,1.32,
-1.46,1.45,1.50,1.60,1.65,1.64,1.75,1.83,1.89,1.98,
-2.08,2.05,2.19,2.24,2.31,2.37,2.40,2.54,2.54,2.65,
-2.72,2.79,2.81,2.95,2.96,3.01,3.17,3.17,3.24,3.35,
-3.42,3.39,3.54,3.54,3.69,3.68,3.65,3.84,3.95,3.93,
-4.12,4.14,4.13,4.33,4.33,4.45,4.48,4.49,4.54,4.71,
-4.64,4.83,4.80,4.93,4.96,5.05,5.04,5.16,5.17,5.35,
-5.42,5.43,5.38,5.55,5.61,5.67,5.78,5.93,5.89,6.08,
-5.90,6.00,6.20,6.34,6.29,6.34,6.48,6.54,6.59,6.54,
-6.77,6.78,6.81,6.91,6.88,7.12,6.99,7.25,7.27,7.19,
-7.33,7.50,7.54,7.52,7.60,7.71,7.85,7.91,7.87,8.05,
-8.10,8.09,8.30,8.20,8.41,8.36,8.38,8.62,8.61,8.60,
-8.68,8.72,8.96,8.86,8.93,8.98,8.96,9.13,9.11,9.39,
-9.41,9.37,9.54,9.48,9.70,9.59,9.73,9.76,10.10,9.90,
-10.07,10.10,10.27,10.08,10.40,10.36,10.32,10.51,10.43,10.50,
-10.77,10.84,10.88,11.05,11.08,11.06,11.08,11.20,11.30,11.32,
-11.30,11.47,11.38,11.51,11.66,11.60,11.84,11.67,11.89,11.96,
-11.80,12.28,12.13,12.20,12.22,12.39,12.40,12.46,12.46,12.56,
-12.74,12.72,12.90,12.87,12.98,13.02,13.11,13.16,13.07,13.18,
-13.31,13.47,13.67,13.65,13.59,13.74,13.76,13.92,13.95,14.10,
-13.93,13.95,14.19,14.28,14.19,14.52,14.48,14.55,14.45,14.71,
-14.66,14.71,14.75,14.76,14.96,15.03,14.99,15.22,15.34,15.59,
-15.39,15.37,15.52,15.36,15.37,15.67,15.78,15.93,15.95,15.89,
-15.87,16.09,16.26,16.22,16.50,16.42,16.54,16.35,16.59,16.70,
-16.62,16.99,16.97,16.68,16.97,16.98,16.92,17.40,17.25,17.40,
-17.37,17.47,17.51,17.68,17.60,17.75,17.83,17.80,17.91,18.08,
-18.09,17.92,17.96,18.45,18.29,18.36,18.22,18.40,18.62,18.71,
-18.71,18.64,18.92,19.01,19.03,19.09,19.12,19.23,19.21,19.20,
-19.31,19.38,19.61,19.42,19.53,19.68,19.66,19.74,19.76,20.05,
-0.65,0.63,0.71,0.82,0.89,0.91,0.97,1.06,1.11,1.15,
-1.16,1.26,1.32,1.36,1.51,1.47,1.55,1.60,1.63,1.71,
-1.79,1.85,1.84,1.90,2.03,2.13,2.04,2.16,2.25,2.30,
-2.36,2.46,2.49,2.58,2.55,2.73,2.70,2.79,2.87,2.87,
-2.97,2.90,2.98,3.12,3.13,3.26,3.30,3.33,3.44,3.48,
-3.54,3.51,3.54,3.63,3.71,3.72,3.78,4.01,3.90,4.03,
-4.13,4.16,4.18,4.38,4.35,4.47,4.31,4.49,4.49,4.60,
-4.77,4.87,4.79,4.87,4.92,4.95,5.05,5.01,5.04,5.10,
-5.29,5.31,5.52,5.43,5.51,5.63,5.49,5.63,5.73,5.82,
-5.91,5.88,5.93,5.88,6.17,6.17,6.25,6.19,6.23,6.30,
-6.44,6.46,6.54,6.67,6.62,6.81,6.74,6.85,6.89,6.88,
-6.99,7.05,7.17,7.03,7.25,7.27,7.51,7.29,7.37,7.48,
-7.61,7.59,7.63,7.84,7.95,7.93,7.94,8.10,8.10,8.17,
-8.29,8.06,8.19,8.14,8.41,8.35,8.51,8.48,8.65,8.81,
-8.71,8.75,8.79,8.84,8.86,8.90,8.93,9.25,9.27,9.22,
-9.37,9.37,9.49,9.54,9.47,9.48,9.78,9.81,9.84,9.77,
-9.79,9.92,9.98,10.20,10.12,10.13,10.26,10.45,10.37,10.28,
-10.52,10.43,10.56,10.56,10.76,10.71,10.83,10.96,10.95,10.97,
-11.19,11.13,11.06,11.20,11.37,11.34,11.25,11.25,11.45,11.59,
-11.71,11.71,11.62,11.86,11.82,11.95,11.90,12.01,12.25,12.26,
-12.12,12.35,12.34,12.50,12.49,12.51,12.62,12.69,12.51,12.66,
-12.77,12.98,12.76,12.88,13.01,13.00,13.13,13.32,13.41,13.27,
-13.36,13.36,13.53,13.50,13.53,13.60,13.73,13.71,13.96,14.05,
-14.05,14.22,14.19,14.08,14.15,14.48,14.06,14.30,14.27,14.61,
-14.51,14.51,14.60,14.66,14.84,14.82,14.94,14.90,15.04,14.97,
-15.10,15.22,15.22,15.23,15.36,15.37,15.31,15.48,15.54,15.51,
-15.90,15.79,15.74,15.75,15.89,15.85,16.07,16.00,16.25,16.19,
-16.28,16.44,16.35,16.38,16.59,16.52,16.73,16.80,16.64,16.75,
-16.76,17.00,16.95,16.96,17.09,17.36,17.04,17.43,17.06,17.17,
-0.54,0.61,0.69,0.69,0.76,0.81,0.79,0.93,0.98,0.97,
-1.08,1.09,1.09,1.23,1.28,1.31,1.33,1.43,1.49,1.53,
-1.56,1.61,1.66,1.70,1.80,1.80,1.88,1.93,1.94,2.00,
-2.03,2.10,2.23,2.19,2.24,2.30,2.40,2.37,2.43,2.47,
-2.63,2.63,2.66,2.72,2.71,2.83,2.83,2.89,3.03,3.05,
-3.10,3.09,3.18,3.25,3.25,3.34,3.33,3.36,3.42,3.53,
-3.63,3.60,3.69,3.81,3.87,3.79,3.93,3.86,3.95,3.98,
-3.98,4.17,4.20,4.21,4.25,4.27,4.39,4.42,4.52,4.57,
-4.50,4.56,4.66,4.75,4.76,4.85,4.85,4.93,5.05,4.99,
-4.99,5.10,5.12,5.15,5.24,5.41,5.39,5.37,5.47,5.51,
-5.55,5.59,5.57,5.72,5.73,5.86,5.76,5.80,5.96,5.98,
-5.95,6.10,6.23,6.22,6.37,6.51,6.37,6.40,6.49,6.62,
-6.64,6.71,6.81,6.84,6.73,6.71,6.97,6.85,6.92,6.99,
-7.08,7.11,7.17,7.21,7.30,7.32,7.40,7.49,7.51,7.61,
-7.61,7.73,7.76,7.91,7.91,7.92,7.93,7.88,8.10,8.01,
-8.13,8.04,8.30,8.27,8.31,8.38,8.30,8.40,8.40,8.51,
-8.55,8.62,8.71,8.84,8.86,8.84,9.04,9.06,9.04,9.05,
-9.11,9.15,9.22,9.40,9.29,9.36,9.39,9.63,9.62,9.58,
-9.59,9.68,9.66,9.96,9.85,9.88,9.94,10.03,9.96,10.20,
-10.05,10.24,10.19,10.29,10.29,10.44,10.34,10.50,10.46,10.56,
-10.64,10.76,10.84,10.85,10.89,10.93,10.89,10.79,10.92,11.35,
-11.22,11.14,11.15,11.41,11.21,11.41,11.42,11.39,11.36,11.48,
-11.62,11.78,11.79,11.95,12.01,11.74,12.02,11.83,12.03,12.03,
-12.17,12.26,12.02,12.26,12.43,12.27,12.49,12.49,12.37,12.53,
-12.62,12.67,12.58,12.75,12.75,12.64,13.01,13.13,13.04,13.33,
-13.15,13.24,13.11,13.59,13.26,13.34,13.36,13.50,13.80,13.60,
-13.70,13.56,13.67,13.77,13.64,13.98,13.90,14.00,13.98,14.23,
-14.30,14.20,14.07,14.33,14.33,14.35,14.51,14.51,14.68,14.57,
-14.81,14.87,14.77,14.84,14.93,14.79,14.83,14.97,14.95,15.04,
-3.94,4.30,4.67,4.99,5.40,5.76,6.06,6.53,6.81,7.20,
-7.65,7.89,8.26,8.69,8.96,9.37,9.74,10.20,10.48,10.81,
-11.29,11.71,11.97,12.31,12.80,13.06,13.38,13.81,14.15,14.56,
-14.92,15.37,15.56,15.97,16.43,16.51,17.07,17.36,17.72,18.20,
-18.41,18.87,19.21,19.67,19.90,20.50,20.67,21.31,21.43,21.80,
-22.20,22.41,22.94,23.20,23.61,24.28,24.36,24.83,25.05,25.47,
-25.83,26.11,26.51,26.91,27.37,27.61,28.10,28.33,28.73,28.95,
-29.56,29.80,30.15,30.55,30.96,31.36,31.79,32.12,32.48,32.84,
-33.10,33.48,33.91,34.06,34.54,35.17,35.23,35.76,36.18,36.40,
-36.76,37.19,37.62,37.78,38.39,38.73,38.93,39.26,39.87,40.16,
-40.41,40.84,41.31,41.51,41.84,42.28,42.65,42.92,43.37,43.65,
-44.06,44.35,44.78,45.07,45.57,45.99,46.15,46.67,46.92,47.10,
-47.81,48.23,48.48,48.82,49.30,49.47,50.12,50.49,50.84,51.19,
-51.37,51.96,52.42,52.56,52.93,53.21,53.48,53.88,54.48,54.58,
-55.08,55.58,55.92,56.05,56.55,57.10,57.17,57.44,57.87,58.51,
-58.83,59.11,59.32,59.89,60.03,60.72,60.94,61.41,61.38,62.10,
-62.32,62.70,63.25,63.66,63.74,64.34,64.49,64.96,65.36,65.58,
-65.87,66.44,66.66,67.48,67.58,67.92,68.46,68.58,68.92,69.74,
-69.59,70.02,70.16,70.86,71.11,71.54,71.52,72.38,72.89,73.20,
-72.89,73.47,74.03,74.30,74.58,75.03,75.50,75.66,76.03,76.74,
-77.06,77.18,77.70,78.19,78.36,78.72,79.38,79.48,80.11,80.44,
-80.73,80.81,81.27,81.69,81.95,82.21,82.82,82.86,83.66,83.94,
-84.33,84.69,85.06,85.19,85.77,86.08,86.24,86.89,87.26,87.50,
-88.23,87.85,88.76,88.97,89.44,89.70,90.20,90.59,90.76,91.10,
-91.72,92.08,92.33,92.65,93.05,93.62,93.77,93.92,94.21,94.96,
-95.13,95.39,95.96,96.40,96.89,97.32,97.23,98.05,97.84,98.56,
-98.86,99.30,99.67,99.97,100.27,100.84,100.88,101.25,101.51,101.88,
-102.59,102.85,103.61,103.53,103.88,104.32,104.99,104.97,105.32,105.53,
-106.26,106.45,106.92,107.33,107.92,108.02,108.34,108.49,109.05,109.70,
-3.49,3.79,4.11,4.39,4.70,5.00,5.42,5.58,5.98,6.35,
-6.68,6.94,7.31,7.67,7.98,8.31,8.56,8.94,9.14,9.59,
-9.84,10.27,10.50,10.80,11.21,11.48,11.78,12.17,12.34,12.69,
-13.01,13.40,13.60,14.11,14.46,14.66,14.98,15.26,15.62,15.96,
-16.34,16.59,17.15,17.25,17.75,17.90,18.31,18.64,18.82,19.08,
-19.51,19.99,20.21,20.44,20.83,21.22,21.24,21.71,22.28,22.50,
-22.67,23.20,23.28,23.65,24.10,24.56,24.61,25.09,25.25,25.49,
-25.95,26.26,26.55,26.90,27.32,27.64,27.81,28.19,28.52,28.88,
-29.25,29.40,29.83,30.33,30.52,30.68,31.04,31.33,31.76,32.41,
-32.36,32.65,33.08,33.26,33.62,33.81,34.18,34.65,34.88,35.38,
-35.77,35.95,36.14,36.64,36.75,37.16,37.55,37.86,38.12,38.56,
-38.79,39.01,39.28,39.79,40.16,40.40,40.66,41.05,41.33,41.77,
-41.96,42.18,42.73,43.09,43.37,43.63,43.96,44.26,44.38,44.97,
-45.21,45.59,45.89,46.23,46.45,46.98,47.14,47.47,47.63,48.22,
-48.37,48.67,49.07,49.47,49.73,50.10,50.35,50.97,51.34,51.43,
-51.87,52.01,52.38,52.62,52.90,53.23,53.54,54.13,54.04,54.68,
-54.69,55.03,55.67,55.76,56.28,56.54,56.82,57.24,57.23,57.80,
-58.27,58.36,58.81,59.12,59.43,59.66,60.31,60.41,60.61,61.31,
-61.48,61.57,61.80,62.30,62.51,62.65,63.27,63.38,64.01,64.34,
-64.58,64.86,65.26,65.55,65.62,66.23,66.48,66.82,66.88,67.23,
-67.85,67.97,68.25,68.41,68.97,69.31,69.69,69.99,70.36,70.79,
-70.79,71.22,71.61,71.80,72.16,72.66,73.03,73.28,73.52,73.63,
-74.13,74.42,75.16,75.04,75.58,75.53,76.44,76.26,76.51,77.37,
-77.36,77.84,77.89,78.36,78.46,79.12,79.11,79.99,79.95,79.96,
-80.92,80.94,81.31,81.41,81.67,82.31,82.73,82.86,83.35,83.34,
-83.66,84.04,84.64,84.77,85.26,85.30,85.96,86.25,86.39,86.70,
-87.05,87.55,87.70,87.71,88.62,88.45,88.98,89.34,89.66,89.99,
-90.24,90.44,90.81,91.03,91.45,91.95,92.07,92.51,92.89,93.45,
-93.34,93.72,94.19,94.44,94.76,95.16,95.54,95.02,95.96,96.45,
-3.03,3.32,3.66,3.95,4.14,4.39,4.79,4.96,5.28,5.68,
-5.89,6.16,6.41,6.70,6.98,7.25,7.64,7.80,8.14,8.48,
-8.73,8.94,9.38,9.53,9.93,10.16,10.27,10.71,11.01,11.27,
-11.52,11.74,12.14,12.45,12.64,12.91,13.30,13.53,13.85,14.11,
-14.32,14.75,14.94,15.19,15.53,15.81,16.17,16.31,16.72,16.68,
-17.18,17.34,17.84,18.03,18.33,18.59,18.83,19.11,19.45,19.67,
-20.03,20.33,20.74,20.75,21.05,21.50,21.72,21.98,22.27,22.54,
-22.84,23.11,23.48,23.71,23.89,24.06,24.61,24.90,24.93,25.42,
-25.40,25.75,26.22,26.54,26.82,26.97,27.49,27.63,28.05,28.18,
-28.51,28.86,29.01,29.24,29.62,29.97,30.43,30.48,30.72,30.91,
-31.40,31.52,31.86,32.31,32.40,32.77,32.96,33.25,33.52,33.71,
-34.15,34.59,34.85,34.95,35.14,35.62,35.82,36.30,36.43,36.69,
-37.14,37.32,37.49,37.83,38.30,38.37,38.76,39.00,39.09,39.57,
-39.76,40.03,40.31,40.49,40.95,41.06,41.48,41.92,41.86,42.21,
-42.67,43.09,43.37,43.65,43.96,43.88,44.18,44.60,44.98,45.12,
-45.41,45.82,46.03,46.35,46.66,46.65,47.33,47.39,47.87,47.96,
-48.30,48.42,49.03,49.20,49.30,49.62,50.03,50.34,50.49,50.79,
-51.15,51.46,51.79,51.85,52.56,52.39,52.77,53.25,53.43,53.77,
-54.03,54.15,54.85,54.67,55.19,55.26,55.57,56.21,56.26,56.75,
-56.59,57.12,57.27,57.41,58.26,58.43,58.59,58.57,59.10,59.39,
-59.43,59.99,60.45,60.30,60.65,61.32,61.03,61.58,61.79,62.11,
-62.46,62.54,62.94,63.38,63.93,64.16,64.23,64.53,64.86,65.04,
-65.45,65.49,65.55,66.00,66.35,66.80,66.78,67.17,67.84,67.95,
-68.15,68.34,68.54,69.07,69.02,69.55,69.63,70.13,70.38,70.23,
-70.76,70.99,71.29,71.55,72.23,72.61,72.55,73.16,73.47,73.25,
-73.59,73.95,74.44,74.44,74.78,74.97,75.37,75.79,75.76,76.09,
-76.62,76.79,77.02,77.28,77.84,78.10,78.11,78.52,78.85,79.14,
-79.21,79.63,80.03,80.16,80.56,80.87,80.97,81.47,81.67,82.04,
-82.26,82.57,83.06,83.14,83.41,84.00,83.87,84.34,84.55,85.02,
-2.63,2.93,3.16,3.48,3.74,3.92,4.12,4.35,4.69,4.93,
-5.19,5.39,5.66,5.89,6.19,6.44,6.65,6.84,7.18,7.33,
-7.74,7.92,8.11,8.44,8.64,8.85,9.21,9.35,9.67,9.79,
-10.02,10.42,10.72,10.91,11.24,11.47,11.52,11.88,12.24,12.30,
-12.61,12.87,13.05,13.40,13.59,14.00,14.19,14.30,14.61,14.83,
-15.21,15.42,15.59,15.85,16.23,16.43,16.75,16.97,17.21,17.51,
-17.49,17.86,18.14,18.36,18.54,18.94,19.14,19.33,19.60,19.86,
-20.13,20.37,20.78,20.89,20.97,21.28,21.52,21.92,21.88,22.27,
-22.48,22.82,23.07,23.29,23.65,23.99,23.99,24.40,24.73,24.72,
-24.94,25.33,25.46,25.88,26.27,26.36,26.68,26.84,27.03,27.33,
-27.59,27.82,27.92,28.28,28.48,28.79,29.03,29.04,29.59,29.89,
-30.01,30.05,30.52,30.95,31.06,31.42,31.50,31.80,31.98,32.36,
-32.58,32.74,32.87,33.31,33.51,33.99,34.18,34.25,34.50,34.71,
-35.07,35.53,35.36,35.68,36.17,36.25,36.51,36.83,37.08,37.26,
-37.72,37.76,38.15,38.11,38.70,38.84,39.11,39.20,39.40,39.81,
-39.77,40.03,40.52,40.62,41.00,41.20,41.38,41.73,41.99,42.48,
-42.62,42.74,43.01,43.10,43.54,43.44,44.17,44.10,44.52,44.81,
-45.08,45.28,45.77,45.61,46.01,46.05,46.44,46.90,46.91,47.30,
-47.43,47.71,47.93,48.39,48.27,48.61,49.05,49.11,49.23,49.66,
-50.13,50.23,50.31,50.77,50.87,51.10,51.24,51.55,51.90,52.15,
-52.47,52.58,52.81,53.46,53.40,53.77,53.83,54.19,54.47,54.82,
-55.07,55.19,55.53,55.81,55.89,55.99,56.27,56.63,56.91,57.33,
-57.63,57.91,57.76,58.11,58.46,58.73,58.84,59.37,59.48,59.94,
-59.94,60.42,60.18,60.84,60.57,61.01,61.26,61.84,61.69,62.17,
-62.01,62.89,62.70,63.28,63.13,63.54,63.84,64.14,64.30,64.67,
-64.61,65.10,65.33,66.04,65.77,66.17,66.45,66.38,66.91,67.15,
-67.75,67.75,67.87,68.33,68.53,68.66,68.75,68.97,69.30,69.68,
-69.85,69.94,70.89,70.36,71.01,70.92,71.25,71.86,71.88,72.21,
-72.42,72.70,72.63,73.38,73.06,73.94,74.25,73.96,74.44,74.76,
-2.39,2.62,2.80,2.98,3.25,3.38,3.71,3.85,4.06,4.32,
-4.58,4.76,4.97,5.15,5.43,5.65,5.88,6.16,6.32,6.52,
-6.73,7.05,7.08,7.45,7.58,7.85,7.98,8.26,8.53,8.76,
-8.99,9.03,9.37,9.57,9.83,10.05,10.28,10.49,10.60,10.79,
-10.98,11.27,11.62,11.80,12.05,12.12,12.38,12.66,12.78,13.12,
-13.25,13.52,13.68,13.95,14.27,14.28,14.63,14.87,15.00,15.41,
-15.43,15.65,15.83,16.10,16.50,16.62,16.74,16.99,17.26,17.51,
-17.73,17.80,18.29,18.40,18.59,18.86,18.90,19.30,19.42,19.78,
-19.92,20.08,20.34,20.64,20.69,21.04,21.16,21.41,21.64,21.73,
-21.79,22.34,22.48,22.61,23.11,23.14,23.42,23.71,23.87,23.98,
-24.29,24.46,24.82,24.85,24.95,25.59,25.54,25.94,25.98,26.26,
-26.53,26.65,27.01,27.05,27.39,27.60,27.74,27.98,28.07,28.54,
-28.66,28.82,29.18,29.29,29.62,29.68,29.82,30.21,30.37,30.56,
-30.79,31.10,31.14,31.41,31.78,31.95,32.12,32.35,32.41,32.77,
-33.06,32.98,33.48,33.71,33.92,34.15,34.34,34.48,34.90,34.95,
-35.21,35.39,35.60,35.83,36.15,36.18,36.66,36.70,36.90,37.27,
-37.58,37.76,37.84,38.11,38.38,38.72,38.66,38.94,39.17,39.17,
-39.66,40.04,40.10,40.24,40.98,40.90,40.95,41.02,41.40,41.60,
-41.85,42.18,42.23,42.49,42.56,42.75,43.11,43.11,43.64,43.69,
-43.98,44.16,44.18,44.72,44.65,45.17,45.51,45.18,45.72,45.97,
-46.18,46.39,46.52,46.71,46.77,47.33,47.57,47.62,48.13,48.17,
-48.26,48.62,48.87,48.99,49.29,49.61,49.65,49.96,49.97,50.42,
-50.72,50.65,50.94,51.60,51.46,51.58,51.99,52.08,52.01,52.73,
-52.34,52.85,52.93,53.30,53.57,53.91,54.07,54.18,54.53,54.68,
-55.04,55.14,55.42,55.31,55.73,55.96,56.09,56.56,56.62,57.03,
-56.96,57.41,57.67,57.89,57.83,58.26,58.53,58.78,58.99,59.44,
-59.41,59.69,59.90,60.12,59.96,60.45,60.60,60.71,61.26,61.19,
-61.44,61.74,61.67,62.17,62.42,62.62,62.66,63.29,63.30,63.47,
-63.86,63.86,64.33,64.50,64.47,64.94,64.93,64.97,65.59,65.83,
-2.09,2.25,2.46,2.67,2.85,2.97,3.29,3.45,3.60,3.77,
-4.03,4.23,4.36,4.60,4.73,4.97,5.18,5.33,5.63,5.65,
-5.92,6.14,6.30,6.48,6.73,6.90,7.01,7.32,7.58,7.65,
-7.81,8.02,8.21,8.45,8.71,8.74,8.91,9.19,9.44,9.59,
-9.78,9.90,10.12,10.37,10.45,10.80,11.06,11.08,11.25,11.50,
-11.76,11.98,12.28,12.19,12.58,12.63,12.80,13.02,13.38,13.46,
-13.57,13.83,14.07,14.23,14.38,14.57,14.77,14.84,15.06,15.32,
-15.66,15.73,15.97,16.18,16.35,16.49,16.67,17.05,17.14,17.50,
-17.42,17.83,17.89,17.99,18.32,18.37,18.68,18.96,19.07,19.10,
-19.32,19.55,19.79,20.12,20.16,20.43,20.60,20.77,20.96,21.26,
-21.38,21.46,21.70,22.05,22.11,22.18,22.69,22.75,23.01,22.97,
-23.35,23.51,23.71,23.85,24.25,24.11,24.36,24.58,24.64,25.03,
-25.29,25.32,25.58,25.75,26.00,26.32,26.39,26.61,26.60,26.82,
-26.99,27.43,27.57,27.80,28.02,28.19,28.40,28.55,28.90,28.98,
-28.97,29.31,29.47,29.71,29.66,29.84,30.22,30.59,30.81,30.97,
-31.14,31.12,31.54,31.66,31.73,32.06,32.15,32.16,32.59,32.66,
-32.86,33.20,33.09,33.58,33.58,34.02,34.05,34.36,34.41,34.73,
-34.87,35.06,35.24,35.40,35.63,36.01,36.07,36.19,36.15,36.66,
-36.71,36.75,37.20,37.34,37.72,37.86,37.89,37.83,38.46,38.44,
-38.80,38.85,39.20,39.31,39.35,39.84,39.87,39.96,40.26,40.64,
-40.75,40.78,40.92,41.22,41.46,41.73,41.80,42.01,42.06,42.55,
-42.52,42.56,42.88,43.23,43.23,43.60,43.62,44.02,43.87,44.30,
-44.57,44.81,44.73,45.03,45.27,45.56,45.60,45.71,45.97,46.30,
-46.37,46.58,47.05,47.06,47.25,47.42,47.92,47.64,47.96,47.98,
-48.35,48.95,48.77,49.14,49.19,49.33,49.32,49.57,49.97,49.98,
-50.31,50.57,50.71,50.83,50.79,51.10,51.32,51.41,51.99,52.17,
-52.01,52.28,52.11,52.64,52.87,52.93,53.31,53.63,53.71,53.75,
-53.92,54.31,54.49,54.56,54.95,55.00,55.17,55.46,55.79,55.70,
-56.14,56.31,56.36,56.67,56.97,57.06,57.26,57.76,57.66,57.45,
-1.76,2.00,2.21,2.36,2.53,2.66,2.79,3.06,3.21,3.31,
-3.47,3.74,3.83,3.96,4.18,4.37,4.54,4.75,4.92,5.04,
-5.29,5.34,5.59,5.76,5.81,6.04,6.29,6.34,6.67,6.64,
-6.94,7.07,7.30,7.43,7.67,7.67,8.02,8.14,8.22,8.54,
-8.68,8.81,8.93,9.14,9.29,9.47,9.57,9.79,9.91,10.12,
-10.39,10.39,10.72,10.79,10.99,11.38,11.35,11.51,11.64,11.73,
-12.06,12.19,12.44,12.43,12.76,12.71,13.03,13.26,13.46,13.49,
-13.62,13.90,14.24,14.15,14.32,14.45,14.73,14.92,14.92,15.20,
-15.35,15.58,15.65,15.93,16.03,16.17,16.30,16.63,16.75,16.84,
-16.97,17.35,17.41,17.67,17.86,17.93,18.18,18.29,18.57,18.55,
-18.83,19.05,19.18,19.32,19.41,19.63,19.82,19.89,20.16,20.11,
-20.46,20.66,20.95,21.23,21.15,21.14,21.55,21.60,21.89,22.03,
-22.11,22.34,22.37,22.64,22.76,23.11,23.31,23.28,23.72,23.78,
-23.84,24.01,24.29,24.40,24.58,24.86,24.96,25.19,25.33,25.44,
-25.58,25.89,25.68,26.06,26.51,26.33,26.50,26.76,26.86,27.16,
-27.07,27.48,27.48,27.77,28.05,28.13,28.29,28.52,28.66,28.86,
-28.99,29.10,29.35,29.47,29.46,29.78,30.03,30.16,30.42,30.45,
-30.81,30.86,31.07,31.11,31.38,31.48,31.72,31.58,32.21,32.29,
-32.25,32.41,32.62,32.79,32.82,33.11,33.33,33.50,33.81,33.75,
-33.93,34.12,34.39,34.76,34.69,34.98,35.08,35.27,35.63,35.43,
-35.65,36.02,36.13,36.16,36.29,36.43,36.72,37.02,37.16,37.18,
-37.36,37.51,37.73,38.13,37.78,38.35,38.45,38.65,38.82,38.94,
-39.15,39.27,39.41,39.72,39.67,39.99,40.34,40.30,40.35,40.68,
-40.91,40.79,41.19,41.45,41.46,41.73,41.66,42.20,42.05,42.28,
-42.45,42.50,42.76,43.09,43.06,43.35,43.77,43.78,44.08,44.00,
-44.26,44.27,44.57,44.52,44.82,44.85,45.31,45.18,45.69,45.83,
-45.92,46.10,46.05,46.40,46.59,46.62,47.10,46.85,47.29,47.12,
-47.55,47.83,47.87,47.96,48.43,48.52,48.59,48.56,48.85,48.94,
-49.44,49.32,49.61,49.81,50.31,50.31,50.25,50.68,50.77,50.88,
-1.58,1.76,1.95,2.01,2.21,2.38,2.53,2.69,2.86,2.97,
-3.12,3.23,3.35,3.56,3.75,3.88,3.97,4.21,4.29,4.41,
-4.60,4.64,4.89,5.10,5.21,5.33,5.49,5.70,5.74,5.93,
-6.09,6.19,6.35,6.56,6.69,6.82,6.93,7.04,7.24,7.33,
-7.57,7.73,7.91,7.97,8.19,8.27,8.55,8.68,8.75,8.96,
-9.06,9.17,9.27,9.54,9.60,9.80,10.04,10.15,10.13,10.53,
-10.48,10.54,10.76,10.92,11.03,11.46,11.34,11.54,11.84,11.88,
-12.07,12.24,12.27,12.55,12.74,12.86,13.06,13.21,13.19,13.34,
-13.64,13.84,13.77,14.09,14.00,14.26,14.57,14.49,14.74,14.85,
-15.10,15.21,15.36,15.43,15.65,15.72,16.02,16.23,16.32,16.42,
-16.64,16.70,16.81,16.91,17.07,17.33,17.34,17.67,17.70,17.74,
-17.91,18.09,18.28,18.51,18.69,18.78,19.00,19.02,19.35,19.32,
-19.64,19.56,19.91,19.68,20.39,20.22,20.48,20.73,20.76,20.88,
-20.95,21.00,21.30,21.42,21.46,21.74,21.83,21.94,22.24,22.52,
-22.54,22.60,22.74,22.97,23.06,23.18,23.41,23.53,23.70,23.82,
-23.84,24.21,24.48,24.41,24.68,24.87,24.78,24.96,25.26,25.42,
-25.50,25.74,25.68,26.07,26.12,26.21,26.35,26.61,26.54,26.92,
-27.08,27.01,27.33,27.35,27.52,27.61,27.83,28.18,28.08,28.48,
-28.62,28.54,28.57,28.87,29.04,29.18,29.23,29.58,29.83,29.79,
-30.04,30.08,30.14,30.63,30.47,30.70,30.90,30.96,31.38,31.45,
-31.53,31.68,31.63,31.85,32.03,31.98,32.23,32.22,32.52,32.59,
-32.87,32.92,33.29,33.33,33.62,33.83,33.86,33.96,34.12,34.25,
-34.55,34.55,34.47,34.76,35.02,34.92,35.50,35.35,35.61,35.63,
-35.80,36.05,36.26,36.44,36.41,36.57,36.72,36.91,37.04,37.23,
-37.42,37.90,37.70,37.74,38.07,38.09,38.29,38.70,38.63,38.71,
-38.94,39.04,39.22,39.31,39.46,39.99,40.25,39.66,40.13,40.16,
-40.50,40.47,40.54,40.96,40.91,41.25,41.42,41.78,41.68,41.90,
-41.85,42.10,42.10,42.38,42.38,42.84,42.46,42.80,43.16,43.15,
-43.36,43.55,43.49,44.14,43.81,44.25,44.35,44.21,44.35,44.70,
-1.37,1.53,1.71,1.80,1.94,2.06,2.23,2.33,2.46,2.58,
-2.75,2.87,3.00,3.10,3.28,3.34,3.47,3.58,3.72,3.84,
-4.04,4.18,4.29,4.40,4.49,4.76,4.83,4.87,5.08,5.19,
-5.28,5.51,5.62,5.78,5.92,6.01,6.20,6.21,6.43,6.55,
-6.69,6.77,6.87,6.99,7.29,7.26,7.46,7.59,7.68,7.71,
-7.98,8.03,8.14,8.36,8.52,8.60,8.73,8.93,9.00,9.13,
-9.23,9.50,9.55,9.72,9.78,9.96,10.06,10.12,10.29,10.50,
-10.55,10.85,10.90,11.07,11.26,11.12,11.25,11.48,11.66,11.96,
-11.81,12.12,12.23,12.37,12.39,12.49,12.49,12.74,13.00,13.08,
-13.36,13.40,13.46,13.66,13.79,13.77,14.01,14.14,14.32,14.37,
-14.45,14.68,14.81,15.04,15.05,15.11,15.37,15.44,15.49,15.69,
-15.91,16.06,16.12,16.29,16.44,16.43,16.69,16.77,16.93,17.02,
-17.33,17.36,17.52,17.43,17.66,17.88,17.99,18.03,18.26,18.28,
-18.40,18.53,18.73,18.90,18.94,19.08,19.32,19.37,19.66,19.73,
-19.76,19.97,19.89,20.02,20.24,20.56,20.38,20.69,20.90,20.99,
-21.23,21.21,21.43,21.54,21.80,21.81,21.92,22.05,22.17,22.44,
-22.49,22.50,22.76,22.78,23.02,23.24,23.13,23.34,23.59,23.43,
-23.92,23.82,23.94,24.07,24.22,24.53,24.57,24.74,24.75,24.88,
-25.18,25.09,25.29,25.33,25.74,25.83,25.86,25.83,26.09,26.23,
-26.36,26.55,26.50,26.77,26.71,26.91,27.27,27.23,27.50,27.42,
-27.72,27.77,28.08,28.01,28.26,28.31,28.24,28.47,28.95,28.87,
-28.82,29.01,29.23,29.26,29.59,29.68,29.80,29.85,30.19,30.19,
-30.47,30.15,30.40,30.81,30.81,30.91,31.16,31.16,31.60,31.45,
-31.63,31.66,31.63,32.12,32.00,32.29,32.46,32.45,32.69,32.64,
-32.97,33.15,33.06,33.21,33.39,33.56,33.75,33.98,33.99,34.08,
-34.17,34.76,34.47,34.57,34.89,34.85,34.88,35.26,35.33,35.16,
-35.43,35.36,35.53,35.82,36.13,36.27,36.50,36.44,36.69,36.83,
-37.06,36.99,37.18,37.19,37.29,37.67,37.82,37.79,37.80,37.97,
-38.39,38.47,38.22,38.79,38.89,39.04,38.95,38.95,39.47,39.25,
-1.22,1.37,1.48,1.57,1.68,1.84,1.84,2.07,2.12,2.27,
-2.34,2.51,2.64,2.68,2.90,3.03,3.06,3.20,3.36,3.43,
-3.56,3.68,3.78,3.79,3.94,4.15,4.29,4.42,4.44,4.64,
-4.75,4.85,4.94,5.05,5.10,5.26,5.42,5.57,5.56,5.75,
-5.92,5.99,6.07,6.21,6.23,6.47,6.57,6.82,6.86,6.85,
-7.04,7.12,7.33,7.49,7.51,7.61,7.72,7.80,7.94,8.05,
-8.28,8.36,8.44,8.48,8.69,8.73,8.92,8.99,9.21,9.26,
-9.38,9.40,9.48,9.65,9.68,9.87,10.15,10.26,10.32,10.52,
-10.50,10.67,10.72,10.79,10.91,10.99,11.25,11.34,11.41,11.41,
-11.78,11.69,11.87,11.92,12.01,12.21,12.31,12.48,12.68,12.77,
-12.74,12.82,13.02,13.20,13.14,13.30,13.55,13.61,13.80,13.78,
-13.82,14.13,14.16,14.33,14.37,14.58,14.68,14.74,14.84,14.88,
-15.16,15.29,15.45,15.34,15.64,15.71,15.73,16.03,15.88,16.13,
-16.28,16.33,16.53,16.73,16.74,16.76,16.98,17.00,17.32,17.23,
-17.29,17.58,17.52,17.81,17.96,17.99,18.24,18.22,18.27,18.35,
-18.55,18.60,18.79,19.02,19.00,19.11,19.16,19.40,19.51,19.67,
-19.68,19.70,19.94,20.12,20.10,20.37,20.46,20.55,20.57,20.87,
-20.93,21.05,20.89,21.32,21.41,21.55,21.61,21.67,21.86,21.93,
-22.28,22.20,22.34,22.56,22.61,22.67,22.61,23.07,22.88,23.01,
-23.14,23.43,23.43,23.54,23.54,23.81,23.99,24.04,23.96,24.41,
-24.31,24.58,24.53,24.75,24.78,24.95,25.08,25.11,25.09,25.50,
-25.52,25.88,25.69,25.96,25.70,26.13,26.20,26.17,26.46,26.27,
-26.69,26.90,26.80,26.94,26.94,27.22,27.39,27.39,27.57,27.68,
-27.60,27.81,28.05,28.06,28.27,28.46,28.38,28.68,28.50,28.96,
-28.98,29.31,29.16,29.32,29.37,29.33,29.66,29.53,29.99,29.97,
-30.41,30.47,30.28,30.41,30.74,30.69,30.86,30.98,31.27,31.20,
-31.27,31.50,31.65,31.52,31.64,31.72,31.92,32.15,32.30,32.54,
-32.27,32.49,32.73,32.99,32.90,32.92,33.28,33.16,33.29,33.59,
-33.63,33.61,33.63,34.02,34.09,33.99,34.38,34.30,34.72,34.68,
-1.12,1.19,1.28,1.40,1.55,1.59,1.69,1.83,1.89,1.99,
-2.17,2.21,2.30,2.41,2.54,2.70,2.74,2.86,2.89,3.05,
-3.08,3.23,3.32,3.46,3.52,3.65,3.78,3.88,4.00,4.08,
-4.13,4.23,4.32,4.44,4.53,4.64,4.70,4.88,4.96,5.03,
-5.17,5.26,5.45,5.52,5.50,5.71,5.70,5.83,5.90,6.12,
-6.11,6.25,6.32,6.41,6.56,6.75,6.77,6.88,6.98,7.09,
-7.13,7.40,7.33,7.45,7.53,7.73,7.75,7.96,7.99,8.03,
-8.27,8.29,8.25,8.48,8.49,8.71,8.80,8.93,8.98,9.15,
-9.23,9.19,9.43,9.50,9.66,9.64,9.86,9.88,10.09,10.08,
-10.36,10.30,10.56,10.56,10.55,10.70,10.86,10.81,11.24,11.21,
-11.20,11.29,11.52,11.66,11.67,11.71,11.90,11.97,12.00,12.32,
-12.12,12.39,12.50,12.56,12.71,12.83,12.94,13.00,13.37,13.02,
-13.25,13.63,13.61,13.59,13.74,13.93,13.83,14.07,14.07,14.38,
-14.17,14.37,14.49,14.63,14.90,14.89,14.98,14.90,14.98,15.11,
-15.27,15.38,15.60,15.79,15.82,15.87,15.90,16.07,16.19,16.18,
-16.43,16.46,16.65,16.71,16.79,16.83,16.94,17.12,17.24,17.13,
-17.50,17.42,17.61,17.82,17.73,17.75,18.08,18.03,18.12,18.12,
-18.44,18.55,18.57,18.73,18.93,18.99,18.94,19.08,19.27,19.26,
-19.44,19.54,19.48,19.74,19.68,20.07,20.03,20.10,20.10,20.35,
-20.48,20.45,20.83,20.56,20.69,20.91,21.06,21.18,21.07,21.16,
-21.43,21.63,21.53,21.72,21.78,21.94,22.10,22.24,22.33,22.47,
-22.53,22.52,22.43,22.73,22.67,22.75,23.16,23.04,23.42,23.18,
-23.64,23.51,23.63,23.82,23.98,23.89,23.95,24.13,24.24,24.40,
-24.31,24.73,24.95,24.82,24.81,25.05,25.20,25.37,25.45,25.58,
-25.34,25.76,25.95,25.68,25.80,26.11,26.13,26.31,26.23,26.55,
-26.44,26.65,26.75,26.78,26.85,27.03,27.06,27.33,27.05,27.51,
-27.50,27.59,27.75,27.78,27.85,28.22,27.93,28.17,28.43,28.60,
-28.59,28.59,28.66,28.88,29.16,29.08,29.06,29.26,29.39,29.59,
-29.59,30.00,29.83,29.94,30.05,29.98,30.09,30.13,30.29,30.80,
-0.96,1.09,1.15,1.20,1.32,1.46,1.47,1.60,1.66,1.75,
-1.88,1.95,1.99,2.07,2.22,2.31,2.42,2.44,2.56,2.68,
-2.80,2.85,2.88,3.06,3.12,3.23,3.26,3.29,3.43,3.53,
-3.62,3.81,3.85,3.97,3.99,4.16,4.18,4.27,4.39,4.50,
-4.62,4.63,4.69,4.91,4.84,4.99,5.13,5.17,5.32,5.38,
-5.35,5.51,5.71,5.75,5.85,5.87,6.07,6.15,6.19,6.25,
-6.39,6.45,6.63,6.59,6.70,6.78,6.94,7.03,7.09,7.12,
-7.21,7.30,7.34,7.50,7.55,7.62,7.70,7.83,7.99,8.06,
-7.96,8.21,8.38,8.29,8.42,8.51,8.69,8.69,8.79,8.82,
-9.00,9.11,9.26,9.16,9.41,9.33,9.53,9.54,9.66,9.73,
-9.93,10.11,10.18,10.32,10.22,10.30,10.46,10.56,10.73,10.93,
-10.77,10.81,11.00,11.24,11.07,11.21,11.34,11.40,11.55,11.63,
-11.71,11.95,11.70,12.06,12.19,12.20,12.37,12.46,12.38,12.29,
-12.66,12.85,12.83,12.89,13.02,12.97,13.21,13.15,13.09,13.33,
-13.47,13.58,13.54,13.80,13.72,14.00,14.08,14.18,14.21,14.35,
-14.42,14.60,14.71,14.57,14.79,14.86,14.67,15.03,15.06,15.22,
-15.33,15.31,15.58,15.56,15.60,15.66,15.84,15.99,16.01,15.99,
-16.16,16.21,16.31,16.54,16.60,16.76,16.90,16.69,16.86,16.95,
-17.02,17.01,17.03,17.36,17.32,17.58,17.52,17.57,18.03,17.92,
-17.89,17.92,18.09,18.16,18.34,18.56,18.61,18.50,18.91,18.74,
-18.93,18.86,19.11,18.91,19.20,19.37,19.29,19.57,19.78,19.71,
-19.57,19.88,19.87,20.00,20.14,20.07,20.47,20.18,20.57,20.58,
-20.74,20.86,20.86,21.09,20.83,21.01,21.10,21.31,21.26,21.65,
-21.51,21.54,21.46,21.75,21.84,21.79,22.12,22.13,22.34,22.41,
-22.44,22.56,22.70,22.59,22.79,22.88,22.89,22.90,23.15,23.43,
-23.39,23.34,23.73,23.76,23.86,24.00,23.98,24.09,23.86,24.18,
-24.08,24.30,24.52,24.39,24.71,24.77,24.55,24.94,24.96,25.16,
-25.35,25.43,25.31,25.32,25.57,25.54,25.57,25.77,26.08,25.89,
-26.06,26.10,26.10,26.34,26.53,26.65,26.59,26.68,26.75,26.96,
-0.89,0.96,1.01,1.06,1.18,1.27,1.28,1.37,1.52,1.60,
-1.59,1.76,1.80,1.88,1.98,2.04,2.08,2.17,2.27,2.31,
-2.44,2.60,2.58,2.64,2.70,2.81,2.83,2.96,3.04,3.12,
-3.19,3.35,3.38,3.42,3.44,3.61,3.69,3.81,3.82,3.86,
-4.07,4.07,4.13,4.19,4.27,4.51,4.44,4.60,4.56,4.70,
-4.74,4.83,4.90,5.08,5.24,5.13,5.34,5.41,5.31,5.49,
-5.60,5.63,5.70,5.83,5.91,6.05,6.00,6.14,6.34,6.22,
-6.34,6.43,6.62,6.56,6.80,6.80,6.84,6.90,6.97,7.12,
-7.11,7.25,7.36,7.58,7.55,7.57,7.56,7.83,7.78,7.88,
-8.07,8.10,8.02,8.03,8.27,8.41,8.43,8.53,8.65,8.68,
-8.84,8.79,8.91,8.98,9.23,9.14,9.22,9.16,9.31,9.31,
-9.48,9.52,9.65,9.65,9.88,9.95,10.00,10.03,10.08,10.28,
-10.28,10.42,10.48,10.56,10.60,10.58,10.74,10.92,10.82,10.92,
-11.04,11.22,11.20,11.25,11.43,11.59,11.51,11.69,11.77,11.92,
-11.94,11.97,12.10,12.23,12.07,12.27,12.43,12.27,12.34,12.68,
-12.68,12.77,12.77,12.76,12.90,13.02,13.14,13.20,13.29,13.35,
-13.40,13.54,13.64,13.77,13.89,13.81,13.95,13.76,14.03,14.21,
-14.38,14.29,14.47,14.59,14.53,14.64,14.72,14.94,14.90,14.94,
-15.10,15.10,15.26,15.38,15.21,15.48,15.57,15.58,15.71,15.61,
-15.95,16.04,15.93,16.02,16.11,16.22,16.40,16.16,16.63,16.53,
-16.45,16.66,16.84,16.83,16.74,16.92,16.93,17.16,17.17,17.37,
-17.44,17.54,17.58,17.86,17.76,17.83,17.84,17.78,17.87,18.27,
-17.94,18.07,18.32,18.44,18.57,18.66,18.65,18.73,18.74,18.90,
-18.89,19.08,19.02,19.37,19.15,19.37,19.41,19.50,19.37,19.66,
-19.68,19.72,20.01,20.05,20.00,20.14,20.09,20.25,20.54,20.33,
-20.46,20.67,20.68,20.69,20.95,20.69,21.02,21.07,21.20,21.39,
-21.40,21.27,21.52,21.64,21.69,21.76,22.07,21.98,22.00,22.05,
-22.04,22.42,22.43,22.36,22.45,22.38,22.55,22.63,22.74,22.60,
-22.84,22.67,23.13,23.05,23.20,23.39,23.34,23.37,23.40,23.55,
-0.72,0.80,0.91,0.96,1.00,1.10,1.15,1.24,1.27,1.32,
-1.46,1.47,1.52,1.63,1.70,1.79,1.90,1.96,2.03,2.16,
-2.12,2.25,2.28,2.37,2.36,2.46,2.55,2.62,2.68,2.83,
-2.75,2.87,3.00,3.04,3.06,3.15,3.20,3.35,3.39,3.40,
-3.48,3.62,3.77,3.74,3.82,3.77,3.91,4.04,4.18,4.00,
-4.27,4.26,4.38,4.42,4.45,4.53,4.67,4.70,4.69,4.74,
-4.97,5.01,5.01,5.09,5.27,5.21,5.26,5.38,5.43,5.50,
-5.62,5.72,5.73,5.76,5.85,5.88,5.91,6.05,6.11,6.28,
-6.42,6.37,6.41,6.57,6.56,6.63,6.67,6.85,6.88,7.05,
-7.03,6.97,7.16,7.13,7.32,7.25,7.53,7.45,7.58,7.59,
-7.69,7.84,7.84,7.86,7.97,8.11,8.00,8.16,8.37,8.22,
-8.39,8.45,8.53,8.59,8.47,8.72,8.77,8.84,9.09,9.03,
-9.10,9.21,9.23,9.31,9.33,9.31,9.54,9.54,9.58,9.69,
-9.77,9.86,9.96,10.07,10.26,10.17,10.17,10.20,10.32,10.21,
-10.34,10.48,10.69,10.71,10.79,10.68,10.85,10.77,11.02,11.12,
-10.98,11.13,11.38,11.29,11.42,11.50,11.61,11.76,11.71,11.74,
-11.87,11.96,12.13,11.98,12.10,12.22,12.13,12.36,12.34,12.39,
-12.46,12.55,12.66,12.69,12.99,12.80,12.76,13.11,13.17,13.12,
-13.07,13.24,13.42,13.39,13.55,13.68,13.57,13.59,13.95,13.66,
-13.69,13.93,14.13,14.00,14.01,14.11,14.39,14.38,14.45,14.62,
-14.64,14.61,14.76,14.90,14.94,14.98,15.18,15.05,14.97,15.26,
-15.23,15.19,15.49,15.63,15.49,15.58,15.64,15.84,15.79,16.05,
-16.05,16.09,16.03,16.22,16.39,16.28,16.45,16.46,16.51,16.66,
-16.74,16.56,16.90,16.86,17.05,17.01,17.04,17.17,17.17,17.42,
-17.48,17.49,17.35,17.53,17.70,17.68,17.84,17.93,17.81,17.84,
-18.00,18.20,18.17,18.32,18.41,18.32,18.37,18.73,18.67,18.63,
-18.75,18.80,18.90,18.83,19.13,19.18,19.27,19.43,19.45,19.25,
-19.49,19.57,19.75,19.62,19.75,19.82,20.08,20.20,19.84,20.16,
-20.25,20.14,20.44,20.29,20.34,20.56,20.51,20.80,20.52,20.88,
-0.60,0.72,0.79,0.87,0.89,0.99,1.04,1.11,1.13,1.21,
-1.24,1.34,1.47,1.43,1.49,1.60,1.67,1.75,1.73,1.82,
-1.95,1.97,2.03,2.00,2.12,2.25,2.23,2.32,2.35,2.42,
-2.52,2.52,2.57,2.66,2.75,2.85,2.82,2.94,2.99,3.03,
-3.13,3.10,3.17,3.32,3.29,3.42,3.50,3.49,3.62,3.67,
-3.68,3.84,3.83,3.88,3.99,4.04,4.22,4.09,4.17,4.25,
-4.37,4.50,4.46,4.56,4.54,4.54,4.55,4.73,4.77,4.92,
-5.04,4.92,5.04,5.03,5.12,5.24,5.33,5.28,5.45,5.43,
-5.44,5.52,5.63,5.82,5.74,5.88,5.84,5.94,6.06,6.01,
-6.06,6.33,6.15,6.29,6.44,6.40,6.47,6.49,6.67,6.74,
-6.87,6.87,6.88,6.90,7.04,6.94,7.12,7.06,7.36,7.27,
-7.38,7.58,7.64,7.69,7.58,7.78,7.70,7.79,7.96,7.97,
-8.14,8.01,8.13,8.13,8.20,8.30,8.36,8.46,8.43,8.57,
-8.60,8.72,8.73,8.72,9.04,8.72,8.97,9.10,9.00,9.02,
-9.23,9.21,9.28,9.25,9.52,9.61,9.52,9.59,9.62,9.61,
-9.69,9.73,9.99,9.99,10.05,10.21,10.23,10.26,10.36,10.24,
-10.39,10.53,10.64,10.62,10.59,10.55,10.64,10.79,11.04,11.03,
-11.12,11.08,11.12,11.24,11.29,11.33,11.27,11.60,11.28,11.65,
-11.84,11.71,11.69,11.68,11.81,12.08,12.02,12.02,12.20,12.21,
-12.36,12.21,12.28,12.41,12.42,12.56,12.69,12.72,12.74,12.90,
-12.76,12.88,12.94,13.05,13.29,13.29,13.20,13.56,13.37,13.46,
-13.45,13.37,13.55,13.77,13.57,13.76,13.79,13.80,14.04,14.27,
-13.96,14.27,14.19,14.38,14.45,14.38,14.46,14.36,14.47,14.49,
-14.60,14.81,14.76,14.96,14.80,15.01,14.96,15.09,15.19,15.11,
-15.37,15.31,15.40,15.48,15.61,15.58,15.59,15.72,15.76,15.88,
-15.98,16.08,15.90,16.12,16.02,16.03,16.17,16.20,16.28,16.28,
-16.49,16.49,16.70,16.93,16.83,16.82,16.98,17.02,17.05,17.03,
-17.15,17.24,17.33,17.17,17.38,17.45,17.35,17.41,17.45,17.72,
-17.71,17.72,17.82,17.96,17.93,17.91,18.21,18.09,18.33,18.44,
-3.97,4.46,4.79,5.06,5.55,5.94,6.26,6.67,7.03,7.40,
-7.80,8.17,8.43,8.86,9.22,9.55,9.98,10.40,10.70,11.04,
-11.55,11.94,12.18,12.59,12.94,13.45,13.77,14.10,14.48,14.75,
-15.13,15.70,15.90,16.29,16.72,17.07,17.49,17.93,18.20,18.67,
-18.84,19.36,19.59,20.00,20.50,20.76,21.17,21.57,21.88,22.29,
-22.75,23.01,23.50,23.83,24.09,24.52,24.87,25.27,25.45,26.00,
-26.46,26.78,27.34,27.61,27.95,28.43,28.61,28.96,29.54,29.76,
-30.21,30.64,31.09,31.25,31.76,32.04,32.22,32.80,33.07,33.53,
-33.81,34.31,34.48,34.98,35.39,35.82,36.17,36.36,36.93,37.20,
-37.53,37.99,38.23,38.77,39.08,39.41,39.80,40.06,40.61,41.11,
-41.37,41.92,42.11,42.58,42.74,43.17,43.83,44.03,44.28,44.72,
-44.94,45.37,45.78,46.08,46.67,47.08,47.38,47.73,48.15,48.36,
-48.77,48.98,49.48,49.97,50.59,50.69,51.00,51.48,51.88,51.90,
-52.61,52.85,53.30,53.95,54.12,54.64,54.72,55.14,55.57,56.03,
-56.33,56.83,56.97,57.27,57.76,58.24,58.49,58.77,59.46,59.73,
-60.16,60.33,60.84,61.21,61.51,62.08,62.41,62.31,63.02,63.20,
-63.73,63.98,64.28,64.95,65.42,65.57,66.11,66.35,66.79,67.16,
-67.45,68.05,68.42,68.48,68.75,69.17,69.45,69.98,70.54,70.81,
-71.21,71.63,71.89,72.19,72.57,73.12,73.67,73.89,74.25,74.43,
-74.99,75.42,75.44,76.14,76.19,76.92,77.32,77.52,77.89,78.27,
-78.31,78.96,79.54,80.03,80.07,80.45,80.93,81.39,81.55,82.18,
-82.33,82.83,83.09,83.55,83.85,84.47,84.51,85.25,85.31,85.98,
-86.19,86.59,86.83,87.31,87.77,87.91,88.71,88.71,89.29,89.64,
-90.11,90.39,90.42,91.08,91.70,91.97,92.05,92.26,93.04,93.24,
-93.58,93.95,94.45,94.99,94.99,95.62,95.76,96.38,96.59,96.74,
-97.31,97.89,98.01,98.75,98.87,99.20,99.38,100.07,100.40,100.76,
-101.17,101.47,101.97,102.23,102.78,103.06,103.23,103.39,103.94,104.59,
-104.59,105.29,105.80,105.63,106.39,106.43,107.47,107.34,107.80,108.14,
-108.57,108.92,109.32,109.11,110.03,110.51,111.02,111.18,111.47,111.81,
-3.62,3.89,4.24,4.63,4.86,5.24,5.62,5.93,6.28,6.60,
-6.87,7.26,7.55,7.95,8.25,8.60,8.84,9.37,9.45,9.99,
-10.17,10.66,10.92,11.12,11.64,11.89,12.26,12.51,12.88,13.19,
-13.63,13.88,14.23,14.62,14.93,15.13,15.43,15.80,16.24,16.49,
-16.91,17.30,17.55,17.86,18.07,18.54,18.89,19.21,19.71,19.85,
-20.25,20.63,20.81,21.05,21.53,21.88,22.20,22.53,22.88,23.24,
-23.43,23.84,24.16,24.53,24.85,25.27,25.63,25.87,26.33,26.60,
-26.76,27.20,27.61,27.76,28.18,28.46,28.63,29.14,29.32,29.85,
-30.08,30.49,30.81,31.17,31.36,31.84,32.24,32.52,32.77,33.19,
-33.64,33.95,34.16,34.58,34.75,35.11,35.49,35.73,36.13,36.55,
-36.80,37.22,37.61,37.67,37.87,38.48,38.75,39.12,39.53,39.96,
-40.05,40.59,40.61,41.08,41.41,41.77,42.28,42.55,42.80,43.12,
-43.45,44.14,44.19,44.37,44.80,45.09,45.40,45.62,46.10,46.63,
-46.95,47.19,47.35,47.76,48.06,48.36,48.70,49.39,49.56,49.72,
-49.94,50.43,50.79,50.93,51.74,51.63,52.06,52.39,52.78,52.94,
-53.63,53.76,54.06,54.37,54.67,55.08,55.24,56.20,56.12,56.45,
-56.87,57.13,57.37,57.66,58.03,58.28,58.64,59.00,59.41,59.78,
-60.18,60.55,60.52,61.12,61.02,61.83,61.95,62.19,62.79,62.93,
-63.37,63.70,64.13,64.40,64.83,65.32,65.42,65.71,65.98,66.27,
-66.78,67.30,67.51,67.81,68.10,68.16,68.71,69.24,69.40,69.82,
-70.26,70.50,70.53,71.10,71.43,71.46,71.99,72.22,72.92,72.91,
-73.37,73.55,73.88,74.63,74.60,74.74,75.70,75.54,76.09,76.65,
-76.71,77.08,77.46,77.58,77.92,78.48,78.62,79.03,79.50,79.57,
-80.09,80.56,80.85,80.90,81.19,81.66,82.06,82.27,82.50,83.04,
-83.37,83.62,84.08,84.05,84.58,85.02,85.30,85.63,85.97,86.37,
-86.59,87.00,87.56,87.58,88.06,88.32,88.37,89.07,89.46,89.62,
-90.12,90.17,90.96,91.22,91.11,91.65,92.12,92.34,92.60,92.98,
-93.30,93.54,93.90,94.43,94.52,95.19,95.34,95.47,96.01,96.35,
-96.42,96.82,97.27,97.49,97.84,98.36,98.67,98.82,99.34,99.40,
-3.16,3.52,3.74,4.04,4.41,4.64,4.93,5.28,5.58,5.89,
-6.21,6.49,6.71,7.00,7.37,7.58,8.06,8.22,8.53,8.77,
-9.16,9.35,9.69,10.08,10.37,10.57,10.75,11.11,11.49,11.87,
-12.09,12.43,12.62,12.93,13.16,13.57,13.76,14.10,14.33,14.74,
-15.11,15.37,15.69,16.01,16.21,16.46,16.77,17.17,17.46,17.67,
-18.04,18.30,18.45,18.72,19.08,19.49,19.80,19.96,20.27,20.68,
-20.99,21.35,21.34,21.79,22.12,22.49,22.59,22.93,23.29,23.63,
-23.91,24.20,24.60,24.71,25.21,25.39,25.80,25.98,26.15,26.55,
-26.85,26.98,27.31,27.94,27.98,28.34,28.64,28.94,29.17,29.57,
-29.93,30.04,30.53,30.66,30.95,31.32,31.77,31.99,32.34,32.32,
-32.73,33.09,33.30,33.55,33.95,34.11,34.74,34.88,35.16,35.38,
-35.70,36.04,36.26,36.65,36.87,37.20,37.54,37.83,38.05,38.34,
-38.64,39.11,39.40,39.64,39.92,40.15,40.39,40.53,40.97,41.44,
-41.53,41.89,42.23,42.76,42.86,43.16,43.37,43.91,44.12,44.27,
-44.40,44.84,45.21,45.54,45.80,45.92,46.24,46.78,46.97,47.35,
-47.44,47.86,48.19,48.44,48.74,49.15,49.18,49.61,49.76,50.06,
-50.44,50.62,51.02,51.42,51.68,51.78,52.54,52.53,52.89,52.99,
-53.54,53.70,54.19,54.28,54.70,54.67,55.36,55.55,55.75,56.18,
-56.40,56.71,57.17,57.49,57.64,57.77,58.22,58.81,58.65,59.26,
-59.31,59.68,59.83,60.17,60.70,61.00,61.21,61.65,61.85,62.09,
-62.36,62.68,63.19,63.31,63.49,63.93,64.29,64.74,64.77,65.11,
-65.35,65.30,65.85,65.97,66.67,66.91,67.16,67.45,67.56,68.08,
-68.22,68.33,69.10,69.08,69.58,69.72,70.10,70.11,70.60,70.88,
-71.18,71.49,71.88,71.98,72.37,72.81,72.94,72.98,73.43,73.89,
-74.11,74.54,74.81,75.08,75.22,75.62,75.84,76.50,76.46,76.83,
-77.03,77.41,77.74,77.81,78.62,78.66,78.79,79.21,79.30,79.83,
-79.89,80.31,80.48,80.88,81.31,81.54,81.94,82.22,82.28,82.81,
-83.17,83.55,83.37,84.08,84.06,84.38,84.80,85.06,85.37,85.40,
-85.86,86.30,86.75,87.06,87.03,87.36,87.85,88.28,88.52,88.43,
-2.81,3.09,3.41,3.62,3.85,4.15,4.41,4.72,4.96,5.22,
-5.40,5.73,6.11,6.24,6.56,6.79,7.11,7.33,7.65,7.82,
-8.09,8.36,8.66,8.98,9.12,9.49,9.76,9.88,10.28,10.36,
-10.68,11.04,11.23,11.56,11.85,11.95,12.31,12.66,12.85,13.10,
-13.43,13.69,13.84,14.16,14.39,14.55,15.02,15.24,15.47,15.72,
-16.01,16.23,16.46,16.74,17.08,17.36,17.55,17.89,18.29,18.39,
-18.61,18.95,19.22,19.25,19.61,19.98,20.19,20.56,20.82,20.97,
-21.26,21.51,21.80,22.07,22.32,22.65,22.86,23.01,23.29,23.78,
-24.04,24.15,24.48,24.54,24.99,25.11,25.39,25.79,26.04,26.28,
-26.59,26.70,27.16,27.32,27.57,27.89,27.96,28.32,28.66,28.84,
-29.23,29.38,29.68,29.85,30.34,30.38,30.75,30.97,31.33,31.52,
-31.88,32.03,32.46,32.60,33.10,33.10,33.58,33.63,33.99,34.23,
-34.55,34.60,34.96,35.13,35.47,35.89,36.04,36.40,36.47,36.73,
-37.08,37.22,37.52,37.88,38.18,38.30,38.55,38.61,39.32,39.36,
-39.79,40.12,40.22,40.43,40.68,40.99,41.34,41.44,41.60,42.15,
-42.41,42.62,42.90,43.18,43.61,43.59,43.82,44.25,44.58,44.74,
-45.08,45.32,45.45,45.64,46.25,46.29,46.48,46.87,47.32,47.35,
-47.71,47.87,48.03,48.40,48.61,49.08,49.29,49.47,49.54,49.78,
-50.27,50.35,50.90,51.10,51.08,51.59,51.60,51.74,52.14,52.33,
-52.65,53.17,53.20,53.36,53.91,54.07,54.44,54.59,55.13,55.39,
-55.55,55.60,56.12,56.41,56.50,56.89,57.17,57.20,57.72,57.85,
-58.24,58.16,58.78,58.69,59.44,59.46,59.80,59.80,60.16,60.55,
-60.71,61.15,61.43,61.44,61.91,61.93,62.38,62.75,62.77,63.00,
-63.53,63.60,63.87,64.14,64.40,64.70,64.84,65.44,65.60,65.71,
-65.98,66.29,66.51,66.68,67.22,67.64,67.53,67.89,67.90,68.10,
-68.58,69.07,69.15,69.51,69.69,69.98,69.98,70.36,71.02,70.93,
-71.20,71.63,71.65,72.06,72.37,72.40,73.04,73.08,73.47,73.77,
-73.49,74.39,74.44,74.84,75.05,75.12,75.72,75.54,76.03,76.04,
-76.52,76.95,77.21,77.17,77.64,77.90,78.11,78.93,78.76,78.84,
-2.56,2.76,3.05,3.22,3.48,3.67,3.98,4.18,4.31,4.73,
-4.88,5.09,5.34,5.62,5.89,6.08,6.30,6.53,6.70,7.01,
-7.25,7.30,7.63,7.87,8.22,8.29,8.58,8.79,9.12,9.16,
-9.59,9.77,10.05,10.29,10.59,10.70,10.97,11.09,11.48,11.66,
-11.90,12.08,12.33,12.64,12.80,13.03,13.32,13.62,13.77,14.01,
-14.30,14.46,14.71,14.88,15.23,15.37,15.73,15.89,16.15,16.43,
-16.62,16.82,17.05,17.43,17.52,17.81,17.98,18.04,18.49,18.70,
-18.81,19.18,19.28,19.74,19.74,20.14,20.43,20.53,20.73,21.10,
-21.20,21.58,21.75,21.94,22.18,22.50,22.66,22.77,23.13,23.50,
-23.56,23.83,24.03,24.13,24.46,24.75,25.05,25.17,25.30,25.73,
-25.88,26.34,26.36,26.79,26.78,27.28,27.50,27.61,27.79,28.12,
-28.32,28.61,28.64,28.91,29.14,29.59,29.75,29.95,30.11,30.43,
-30.59,30.71,31.12,31.39,31.62,32.00,32.19,32.26,32.54,32.82,
-33.04,33.20,33.45,33.65,34.00,34.01,34.27,34.60,34.84,35.03,
-35.31,35.61,35.77,36.07,36.09,36.54,36.63,36.71,37.15,37.24,
-37.74,37.99,38.15,38.20,38.57,38.84,39.09,39.49,39.40,39.86,
-40.00,40.32,40.27,40.72,40.75,41.22,41.54,41.41,41.82,42.08,
-42.39,42.56,42.69,43.18,43.41,43.42,43.83,43.90,44.12,44.38,
-44.77,44.88,45.23,45.51,45.59,45.89,46.30,46.28,46.44,46.99,
-47.16,47.15,47.59,47.70,48.05,48.06,48.48,48.68,48.66,49.19,
-49.38,49.54,49.55,50.05,50.34,50.82,50.74,51.07,51.37,51.58,
-51.73,51.70,52.25,52.33,52.70,52.97,53.13,53.58,53.71,53.99,
-53.80,54.13,54.51,54.77,55.10,55.11,55.36,55.85,56.00,56.12,
-56.19,56.68,56.63,57.18,57.42,57.52,57.78,57.86,58.20,58.63,
-58.63,58.82,59.32,59.42,59.58,59.83,59.91,60.38,60.59,60.77,
-61.12,61.04,61.22,61.81,61.90,62.34,62.36,62.91,63.08,63.25,
-63.34,63.66,63.99,64.32,64.40,64.57,64.49,65.39,65.06,65.66,
-65.73,66.08,66.19,66.52,66.75,66.86,67.03,67.64,67.46,67.92,
-68.35,68.68,68.63,69.12,68.73,69.21,69.59,69.89,70.18,70.01,
-2.27,2.43,2.74,2.89,3.04,3.29,3.56,3.75,3.95,4.13,
-4.37,4.60,4.85,4.97,5.15,5.38,5.67,5.78,6.01,6.22,
-6.45,6.66,6.83,7.10,7.30,7.42,7.73,7.77,7.98,8.21,
-8.59,8.61,8.97,9.12,9.32,9.54,9.91,9.95,10.15,10.41,
-10.60,10.79,11.04,11.30,11.39,11.77,11.88,12.05,12.18,12.54,
-12.71,12.85,13.05,13.41,13.38,13.73,13.98,14.14,14.39,14.57,
-14.83,14.93,15.25,15.22,15.53,15.84,16.07,16.23,16.49,16.58,
-16.96,17.01,17.29,17.34,17.60,17.89,18.09,18.33,18.45,18.65,
-19.08,19.11,19.40,19.64,19.74,20.05,20.16,20.42,20.51,20.80,
-20.98,21.35,21.39,21.67,21.88,21.91,22.21,22.51,22.64,23.10,
-23.03,23.36,23.40,23.76,24.04,24.25,24.46,24.53,24.73,24.81,
-25.01,25.12,25.51,25.73,26.04,26.20,26.57,26.67,26.83,27.11,
-27.16,27.48,27.51,27.68,27.95,28.37,28.50,28.49,28.84,29.24,
-29.20,29.73,29.61,30.04,30.07,30.32,30.51,30.74,30.99,31.37,
-31.42,31.82,31.85,32.17,32.11,32.42,32.70,33.05,33.09,33.27,
-33.52,33.72,34.20,34.19,34.30,34.44,34.83,35.02,35.26,35.28,
-35.75,35.72,35.97,36.25,36.56,36.67,36.92,37.20,37.10,37.53,
-37.53,37.74,38.13,38.60,38.59,38.58,39.11,39.20,39.32,39.67,
-39.89,40.10,40.13,40.60,40.55,40.87,41.03,41.33,41.33,41.91,
-41.91,42.09,41.91,42.53,42.78,42.96,42.97,43.26,43.37,43.75,
-44.22,43.98,44.44,44.47,44.87,44.97,44.98,45.38,45.51,45.69,
-46.04,46.17,46.26,46.56,46.95,47.01,47.43,47.61,47.63,48.00,
-48.02,48.21,48.26,48.84,49.07,49.16,49.35,49.35,49.89,49.94,
-50.24,50.41,50.80,50.96,50.89,51.41,51.68,51.65,51.92,51.96,
-52.26,52.67,52.77,52.89,53.31,53.41,53.56,53.81,53.84,54.16,
-54.23,54.39,54.87,55.05,55.01,55.55,55.58,55.72,56.04,56.14,
-56.45,56.80,56.96,57.39,57.09,57.38,57.55,58.00,58.13,58.20,
-58.71,58.75,59.01,59.06,59.53,59.64,59.39,59.74,60.19,60.41,
-60.68,60.64,60.75,61.30,61.33,61.69,62.00,62.07,62.30,62.43,
-2.01,2.21,2.38,2.60,2.76,2.90,3.18,3.34,3.44,3.68,
-3.86,4.05,4.27,4.42,4.64,4.72,5.07,5.20,5.34,5.56,
-5.71,5.95,6.08,6.21,6.46,6.69,6.81,6.97,7.23,7.37,
-7.57,7.75,8.00,8.06,8.37,8.53,8.77,8.86,8.99,9.19,
-9.32,9.62,9.74,10.04,10.21,10.35,10.51,10.77,10.88,11.16,
-11.28,11.44,11.54,11.87,12.05,12.34,12.26,12.61,12.78,12.88,
-13.16,13.29,13.47,13.71,13.79,14.06,14.25,14.43,14.55,14.77,
-14.85,15.30,15.39,15.52,15.65,15.91,16.18,16.21,16.52,16.84,
-16.82,17.03,17.09,17.44,17.71,17.82,18.03,18.09,18.39,18.46,
-18.70,18.92,18.95,19.45,19.24,19.50,19.91,20.00,20.14,20.33,
-20.58,20.68,20.89,21.08,21.31,21.57,21.65,21.86,22.01,22.19,
-22.29,22.75,22.88,23.05,23.22,23.28,23.60,23.77,23.93,23.96,
-24.27,24.34,24.83,24.79,24.97,25.22,25.40,25.69,25.94,25.92,
-26.18,26.23,26.62,26.86,27.11,27.12,27.13,27.30,27.35,27.82,
-28.05,28.37,28.42,28.47,28.64,29.08,29.13,29.39,29.54,29.73,
-29.72,29.89,30.15,30.37,30.74,30.82,30.96,31.19,31.40,31.45,
-31.86,31.81,32.16,32.22,32.39,32.69,32.81,33.17,33.00,33.11,
-33.58,33.74,33.92,34.17,34.30,34.32,34.43,34.96,34.98,35.28,
-35.56,35.61,35.79,35.89,36.11,36.52,36.39,36.69,36.76,37.08,
-37.22,37.36,37.68,37.85,37.88,38.23,38.51,38.72,38.73,38.81,
-39.08,39.34,39.32,39.61,39.85,40.09,40.37,40.49,40.56,40.70,
-40.98,41.13,41.29,41.47,41.28,41.84,41.84,42.06,42.52,42.59,
-42.60,42.78,43.23,43.50,43.55,43.75,43.82,44.28,43.87,44.50,
-44.70,44.79,45.03,45.41,45.26,45.71,45.87,46.21,46.03,46.46,
-46.50,46.49,46.99,46.98,47.31,47.53,47.53,47.76,48.25,48.07,
-48.31,48.68,48.72,48.77,49.28,49.43,49.54,49.78,49.77,50.07,
-50.08,50.42,50.78,50.69,51.04,51.25,51.52,51.54,51.68,51.73,
-52.19,52.48,52.22,52.53,52.72,53.40,53.21,53.43,53.78,53.60,
-54.11,53.99,54.48,54.50,54.63,54.70,55.15,55.41,55.48,55.30,
-1.76,1.94,2.17,2.25,2.43,2.56,2.70,2.96,3.05,3.27,
-3.47,3.61,3.72,4.00,4.06,4.30,4.35,4.56,4.78,4.89,
-5.04,5.21,5.43,5.65,5.74,5.91,6.13,6.25,6.33,6.49,
-6.75,6.91,7.14,7.12,7.47,7.49,7.81,7.92,8.07,8.20,
-8.43,8.52,8.74,8.77,9.06,9.29,9.39,9.57,9.67,9.86,
-10.01,10.11,10.34,10.38,10.68,10.83,10.92,11.26,11.44,11.55,
-11.72,11.74,11.96,12.22,12.38,12.39,12.60,12.87,13.06,13.09,
-13.26,13.67,13.77,13.58,14.17,14.19,14.24,14.43,14.69,14.76,
-15.03,15.21,15.19,15.51,15.71,15.76,15.94,16.12,16.21,16.52,
-16.56,16.84,17.05,17.18,17.36,17.51,17.66,17.91,17.91,18.17,
-18.37,18.42,18.67,18.97,19.05,19.21,19.40,19.45,19.70,19.80,
-19.92,20.18,20.26,20.49,20.63,20.50,20.79,20.96,21.15,21.21,
-21.41,21.73,21.88,22.08,22.30,22.44,22.77,22.63,22.98,23.17,
-23.30,23.40,23.78,23.66,23.96,24.20,24.25,24.47,24.45,24.77,
-25.03,25.12,25.20,25.31,25.66,25.68,25.83,26.01,26.16,26.27,
-26.65,26.85,26.89,27.08,27.17,27.23,27.52,27.72,27.82,28.04,
-28.32,28.29,28.45,28.64,28.84,29.10,29.08,29.11,29.55,29.75,
-29.94,30.03,30.36,30.23,30.54,30.65,30.95,31.12,31.28,31.48,
-31.53,31.75,31.82,31.99,31.92,32.40,32.66,32.60,32.71,32.88,
-33.24,33.48,33.41,33.55,33.80,33.97,34.02,34.36,34.42,34.63,
-34.70,35.14,35.22,35.43,35.39,35.62,35.79,36.01,36.15,36.35,
-36.56,36.60,36.79,37.20,37.06,37.19,37.70,37.49,37.71,37.94,
-38.32,38.40,38.53,38.88,38.58,39.06,39.05,39.15,39.46,39.57,
-39.61,39.99,40.17,40.21,40.21,40.58,40.80,40.71,41.12,41.35,
-41.44,41.46,41.70,41.97,42.07,42.08,42.13,42.57,42.74,42.84,
-43.06,43.12,43.20,43.53,43.60,43.98,44.24,44.18,44.43,44.59,
-44.81,44.96,45.07,45.47,45.50,45.37,46.03,45.86,46.22,46.23,
-46.32,46.58,46.54,46.72,47.09,47.02,47.27,47.58,47.51,47.99,
-48.17,48.17,48.49,48.55,48.76,48.99,48.88,49.12,49.30,49.44,
-1.58,1.75,1.84,2.02,2.14,2.30,2.47,2.63,2.70,2.89,
-3.03,3.21,3.30,3.48,3.62,3.80,4.00,4.16,4.23,4.45,
-4.54,4.59,4.80,4.99,5.12,5.22,5.38,5.63,5.72,5.83,
-6.00,6.20,6.18,6.44,6.52,6.78,6.94,6.99,7.11,7.37,
-7.52,7.67,7.75,7.85,8.06,8.33,8.35,8.46,8.56,8.86,
-8.95,9.09,9.24,9.45,9.49,9.66,9.83,9.94,10.24,10.30,
-10.42,10.63,10.85,10.80,10.96,11.11,11.32,11.44,11.70,11.65,
-11.87,12.19,12.15,12.27,12.45,12.68,12.80,12.90,12.85,13.29,
-13.36,13.57,13.60,13.82,13.89,14.21,14.16,14.52,14.48,14.77,
-14.74,15.06,15.27,15.11,15.34,15.55,15.83,15.94,15.87,16.08,
-16.45,16.51,16.59,16.65,16.93,16.85,17.08,17.27,17.44,17.73,
-17.77,18.07,17.96,18.20,18.40,18.51,18.78,18.74,19.06,18.97,
-19.33,19.44,19.51,19.62,19.95,19.96,20.21,20.32,20.38,20.57,
-20.62,20.74,20.95,21.28,21.36,21.52,21.55,21.59,21.61,22.14,
-22.19,22.14,22.52,22.71,22.87,22.72,23.02,23.23,23.38,23.39,
-23.65,23.72,23.77,24.06,24.23,24.30,24.36,24.64,24.74,24.92,
-25.06,25.36,25.33,25.53,25.74,25.90,26.08,26.08,26.14,26.50,
-26.64,26.76,26.66,27.05,27.09,27.11,27.41,27.64,28.03,27.76,
-28.10,28.41,28.36,28.32,28.62,28.89,28.97,29.18,29.22,29.40,
-29.89,29.47,29.86,30.00,30.20,30.32,30.43,30.45,30.68,30.90,
-31.14,31.05,31.23,31.44,31.46,31.77,31.93,32.06,32.18,31.94,
-32.60,32.58,32.90,32.76,32.90,33.10,33.42,33.70,33.49,33.85,
-33.88,34.26,34.07,34.42,34.62,34.55,34.75,34.90,35.05,35.25,
-35.41,35.63,35.71,35.65,35.89,36.30,36.29,36.49,36.66,36.87,
-36.72,36.88,37.24,37.28,37.54,37.55,37.72,38.13,38.11,38.14,
-38.07,38.38,38.62,38.99,38.90,39.17,39.32,39.41,39.66,39.86,
-39.81,39.81,40.30,40.03,40.59,40.71,40.67,40.86,40.60,41.29,
-41.37,41.48,41.44,41.71,41.79,42.09,41.92,42.22,42.35,42.56,
-42.65,43.08,43.08,43.34,43.24,43.42,43.49,43.53,43.82,43.91,
-1.40,1.54,1.64,1.80,1.94,2.04,2.22,2.22,2.48,2.66,
-2.81,2.87,2.98,3.18,3.26,3.35,3.49,3.57,3.78,3.92,
-4.04,4.19,4.37,4.43,4.58,4.68,4.87,4.92,5.13,5.25,
-5.30,5.50,5.63,5.72,5.83,6.11,6.21,6.33,6.38,6.46,
-6.59,6.82,6.98,7.14,7.20,7.17,7.40,7.64,7.84,7.83,
-7.82,8.16,8.17,8.38,8.53,8.57,8.73,8.79,9.03,9.25,
-9.28,9.43,9.47,9.79,9.82,9.88,10.05,10.08,10.30,10.35,
-10.65,10.77,10.83,10.93,11.11,11.18,11.27,11.53,11.58,11.66,
-11.85,12.03,12.14,12.36,12.50,12.65,12.63,12.87,12.90,13.00,
-13.17,13.27,13.42,13.48,13.73,13.73,14.12,14.02,14.30,14.41,
-14.34,14.52,14.80,15.06,15.03,15.12,15.25,15.55,15.55,15.81,
-15.97,15.99,16.00,16.21,16.26,16.41,16.62,16.64,16.77,17.00,
-17.22,17.20,17.39,17.49,17.50,17.84,18.11,18.00,18.03,18.34,
-18.43,18.51,18.70,18.88,18.92,19.05,19.26,19.35,19.34,19.75,
-19.76,19.83,19.97,20.17,20.12,20.57,20.59,20.68,20.71,20.77,
-20.99,21.15,21.41,21.29,21.67,21.70,21.85,21.92,22.06,22.24,
-22.26,22.50,22.44,22.62,23.14,22.89,22.97,23.17,23.60,23.65,
-23.63,23.56,23.76,24.19,24.07,24.03,24.48,24.60,24.78,24.77,
-24.94,25.07,25.30,25.41,25.55,25.66,25.77,25.86,25.97,26.35,
-26.17,26.20,26.38,26.62,26.94,27.13,27.16,27.43,27.27,27.31,
-27.70,27.59,27.79,27.93,28.17,28.11,28.26,28.63,28.74,28.65,
-28.77,28.85,29.24,29.46,29.29,29.81,29.58,29.67,29.89,30.10,
-30.23,30.33,30.58,30.55,30.86,30.95,30.94,31.16,31.23,31.31,
-31.51,31.50,31.66,31.67,31.95,32.16,32.22,32.38,32.36,32.79,
-32.71,32.94,33.14,33.17,33.21,33.27,33.64,33.80,34.02,34.02,
-34.03,34.40,34.34,34.57,34.48,34.59,34.67,35.12,35.34,35.12,
-35.39,35.54,35.77,35.84,36.06,36.17,36.30,36.25,36.50,36.45,
-36.69,36.64,36.91,37.10,37.01,37.45,37.47,37.37,37.76,37.64,
-38.03,38.02,38.26,38.53,38.35,38.66,38.63,38.81,39.23,39.28,
-1.24,1.45,1.48,1.58,1.76,1.82,1.97,2.07,2.21,2.28,
-2.40,2.54,2.65,2.76,2.88,3.01,3.11,3.20,3.36,3.50,
-3.57,3.76,3.83,3.84,3.97,4.24,4.13,4.40,4.52,4.63,
-4.68,4.83,5.05,5.05,5.20,5.36,5.38,5.50,5.77,5.71,
-5.90,5.99,6.16,6.22,6.40,6.62,6.52,6.72,6.98,6.99,
-7.05,7.23,7.30,7.39,7.61,7.60,7.71,7.90,8.01,7.97,
-8.23,8.45,8.36,8.56,8.68,8.93,8.98,9.22,9.15,9.23,
-9.41,9.51,9.63,9.70,10.02,10.02,10.09,10.25,10.32,10.46,
-10.43,10.62,10.76,10.89,11.12,11.10,11.26,11.44,11.54,11.68,
-11.76,11.97,11.82,12.07,12.10,12.40,12.33,12.57,12.69,12.87,
-12.82,13.12,13.29,13.23,13.45,13.53,13.79,13.64,13.79,14.01,
-13.94,14.14,14.38,14.44,14.46,14.64,14.79,14.92,15.07,15.15,
-15.23,15.32,15.61,15.63,15.73,15.85,16.06,16.05,16.20,16.24,
-16.27,16.52,16.75,16.68,16.84,16.93,17.08,17.12,17.42,17.60,
-17.54,17.59,17.75,17.93,17.87,18.12,18.28,18.56,18.45,18.55,
-18.75,18.91,18.97,19.07,19.16,19.21,19.41,19.52,19.62,19.74,
-19.83,19.86,20.07,20.27,20.36,20.63,20.56,20.92,20.90,20.91,
-21.03,21.07,21.12,21.43,21.56,21.58,21.82,21.59,21.95,22.15,
-22.20,22.02,22.54,22.56,22.68,22.72,22.75,23.00,23.12,23.33,
-23.34,23.47,23.62,23.98,23.96,23.98,23.95,24.24,24.32,24.29,
-24.40,24.80,24.93,24.99,24.96,25.12,25.25,25.30,25.14,25.80,
-25.70,25.76,25.79,26.16,26.08,26.32,26.81,26.61,26.64,26.77,
-26.83,26.96,26.85,27.11,27.54,27.50,27.55,27.58,27.79,27.75,
-28.05,27.99,28.27,28.50,28.62,28.42,28.68,28.72,28.98,29.33,
-29.40,29.43,29.29,29.59,29.48,29.73,30.03,30.05,30.22,30.04,
-30.19,30.47,30.50,30.63,30.87,30.92,31.23,31.18,31.26,31.40,
-31.66,31.52,31.70,31.88,31.88,32.17,32.29,32.41,32.10,32.83,
-32.74,32.81,32.99,33.03,33.23,33.28,33.53,33.38,33.50,33.94,
-33.88,34.03,34.43,34.15,34.29,34.28,34.58,34.43,34.76,34.83,
-1.15,1.22,1.38,1.38,1.57,1.58,1.78,1.81,1.93,2.01,
-2.15,2.29,2.31,2.48,2.55,2.67,2.68,2.92,3.02,3.04,
-3.15,3.28,3.38,3.49,3.60,3.62,3.88,3.94,4.00,4.11,
-4.13,4.32,4.44,4.53,4.56,4.80,4.87,4.99,4.96,5.16,
-5.29,5.34,5.48,5.56,5.74,5.75,5.98,6.01,6.12,6.13,
-6.29,6.41,6.47,6.52,6.62,6.78,6.93,6.97,7.21,7.19,
-7.29,7.53,7.51,7.63,7.91,7.92,7.85,8.12,8.12,8.28,
-8.35,8.48,8.56,8.69,8.77,8.96,8.99,9.07,9.29,9.29,
-9.36,9.45,9.61,9.66,9.91,9.75,9.96,10.04,10.30,10.18,
-10.56,10.60,10.50,10.80,10.94,10.97,11.00,11.11,11.14,11.40,
-11.41,11.58,11.69,11.73,11.97,12.06,12.06,12.22,12.22,12.43,
-12.55,12.63,12.60,12.80,12.98,12.98,13.08,13.31,13.22,13.65,
-13.54,13.78,13.74,13.86,13.94,14.20,14.17,14.36,14.39,14.37,
-14.78,14.74,14.86,14.87,14.85,15.11,15.31,15.29,15.42,15.50,
-15.44,15.68,15.99,15.99,16.05,16.06,16.29,16.22,16.41,16.75,
-16.50,16.75,16.79,16.91,17.15,17.14,17.35,17.42,17.45,17.74,
-17.82,17.91,18.01,17.96,17.94,18.35,18.35,18.62,18.68,18.70,
-18.90,18.73,18.97,19.06,19.21,19.15,19.33,19.54,19.41,19.80,
-19.74,19.82,20.09,19.95,20.08,20.35,20.42,20.69,20.52,20.59,
-20.69,21.10,21.04,21.08,21.17,21.31,21.37,21.38,21.71,21.85,
-21.78,22.11,22.12,22.35,22.34,22.52,22.71,22.64,22.40,22.94,
-22.82,22.95,23.10,23.16,23.29,23.21,23.57,23.61,23.62,23.76,
-23.94,23.93,24.12,24.12,24.10,24.43,24.49,24.65,24.80,24.75,
-24.90,25.01,25.04,25.12,25.39,25.23,25.71,25.79,25.67,26.08,
-25.91,26.06,26.33,26.36,26.39,26.53,26.62,26.79,26.77,27.00,
-27.12,27.03,27.31,27.30,27.44,27.46,27.80,27.76,27.91,27.89,
-27.99,28.12,28.37,28.39,28.33,28.61,28.83,28.68,28.86,29.02,
-29.10,29.12,29.28,29.47,29.45,29.62,29.52,29.66,29.93,30.06,
-30.04,30.05,30.47,30.21,30.61,30.68,30.60,30.81,31.24,30.91,
-1.00,1.09,1.20,1.24,1.40,1.43,1.50,1.64,1.67,1.84,
-2.01,1.98,2.08,2.12,2.24,2.31,2.50,2.54,2.64,2.69,
-2.85,2.98,2.98,3.10,3.10,3.22,3.38,3.53,3.60,3.70,
-3.73,3.97,3.93,3.99,4.12,4.31,4.39,4.49,4.46,4.55,
-4.68,4.80,4.83,5.00,5.12,5.17,5.32,5.29,5.46,5.47,
-5.61,5.72,5.88,5.85,5.97,6.10,6.27,6.22,6.28,6.44,
-6.48,6.57,6.69,6.79,6.81,7.00,7.07,7.16,7.37,7.30,
-7.43,7.61,7.71,7.74,7.79,7.94,8.01,8.11,8.17,8.13,
-8.41,8.47,8.56,8.69,8.75,8.72,8.92,9.13,9.12,9.06,
-9.26,9.37,9.46,9.58,9.54,9.80,9.92,9.81,10.09,10.19,
-10.19,10.39,10.34,10.33,10.46,10.73,10.81,10.81,11.04,11.10,
-11.10,11.18,11.38,11.47,11.39,11.71,11.62,11.79,12.02,11.92,
-12.12,12.08,12.32,12.23,12.44,12.44,12.53,12.77,12.71,12.71,
-12.97,13.11,13.19,13.05,13.44,13.53,13.68,13.55,13.66,13.77,
-13.99,14.08,14.07,13.95,14.10,14.41,14.48,14.49,14.64,14.73,
-14.78,14.74,15.04,15.21,15.28,15.19,15.34,15.32,15.64,15.78,
-15.70,15.92,15.96,15.94,16.12,16.18,16.48,16.49,16.57,16.44,
-16.87,16.68,16.93,16.91,16.88,17.21,17.16,17.26,17.47,17.60,
-17.53,17.76,17.48,17.93,17.98,17.96,18.04,18.29,18.36,18.51,
-18.65,18.75,18.70,18.90,18.92,18.91,19.21,19.28,19.39,19.41,
-19.43,19.51,19.64,19.82,19.88,19.86,19.92,20.00,20.26,20.24,
-20.37,20.43,20.61,20.54,20.69,20.75,20.88,21.06,21.23,21.20,
-21.23,21.36,21.59,21.60,21.45,21.83,21.82,21.84,21.96,22.04,
-22.29,22.10,22.34,22.50,22.65,22.66,22.75,22.81,22.97,23.07,
-23.16,23.25,23.12,23.37,23.42,23.56,23.64,23.83,23.75,24.18,
-24.07,23.95,24.32,24.48,24.35,24.64,24.41,24.63,24.60,24.85,
-25.09,24.97,25.17,25.47,25.34,25.48,25.53,25.47,25.59,25.62,
-25.85,25.87,26.15,26.06,26.12,26.24,26.64,26.37,26.68,26.73,
-26.75,26.87,26.93,27.12,27.12,27.41,27.45,27.45,27.48,27.57,
-0.91,0.98,1.05,1.14,1.18,1.33,1.39,1.47,1.58,1.66,
-1.73,1.82,1.90,2.00,2.01,2.09,2.24,2.27,2.30,2.48,
-2.49,2.59,2.69,2.74,2.87,3.03,3.14,3.09,3.21,3.29,
-3.32,3.35,3.46,3.67,3.68,3.75,3.82,3.90,4.06,4.17,
-4.19,4.32,4.35,4.46,4.40,4.52,4.70,4.67,4.87,4.94,
-5.00,4.99,5.18,5.21,5.33,5.36,5.49,5.64,5.63,5.63,
-5.83,5.81,5.88,5.97,6.26,6.25,6.38,6.39,6.43,6.57,
-6.68,6.77,6.96,6.84,6.96,7.00,7.10,7.28,7.26,7.34,
-7.61,7.52,7.43,7.60,7.73,7.78,8.05,7.92,8.13,8.27,
-8.30,8.33,8.45,8.48,8.71,8.70,8.77,8.83,8.97,8.97,
-9.00,9.10,9.30,9.15,9.33,9.46,9.61,9.69,9.88,9.71,
-9.98,9.82,10.06,10.16,10.33,10.37,10.39,10.61,10.61,10.71,
-10.74,10.86,10.93,10.89,11.01,11.24,11.22,11.36,11.42,11.52,
-11.43,11.58,11.76,11.85,11.97,11.79,12.05,12.13,12.45,12.40,
-12.20,12.46,12.56,12.77,12.71,12.72,12.90,12.90,12.97,13.06,
-13.20,13.13,13.27,13.41,13.60,13.49,13.61,13.69,14.08,13.80,
-14.20,14.09,14.32,14.32,14.29,14.28,14.50,14.50,14.59,14.80,
-15.03,15.02,14.95,14.95,15.26,15.39,15.36,15.57,15.37,15.49,
-15.46,15.70,15.74,15.65,15.94,15.91,16.08,16.37,16.22,16.45,
-16.50,16.69,16.59,16.65,16.74,16.86,16.96,17.28,17.39,17.30,
-17.41,17.38,17.45,17.54,17.61,17.67,17.86,18.01,17.96,18.10,
-18.04,18.17,18.38,18.57,18.50,18.46,18.74,18.70,18.68,18.75,
-18.79,19.01,19.03,19.16,19.36,19.42,19.39,19.61,19.57,19.56,
-19.77,19.82,19.89,20.02,20.29,20.30,20.19,20.42,20.57,20.47,
-20.75,20.52,20.77,20.88,21.00,21.06,21.09,21.30,21.14,21.38,
-21.31,21.56,21.49,21.65,21.80,21.94,21.80,21.98,22.33,22.25,
-22.14,22.31,22.32,22.45,22.71,22.75,22.85,22.62,22.88,22.73,
-23.12,23.10,23.33,23.15,23.70,23.62,23.52,23.41,23.83,23.72,
-23.93,23.99,23.84,24.24,24.08,24.16,24.11,24.38,24.46,24.75,
-0.84,0.83,0.93,1.02,1.13,1.13,1.23,1.25,1.42,1.48,
-1.50,1.62,1.70,1.76,1.86,1.85,1.99,1.97,2.09,2.15,
-2.23,2.26,2.44,2.53,2.64,2.63,2.73,2.66,2.83,2.89,
-3.01,3.09,3.16,3.17,3.25,3.34,3.36,3.53,3.51,3.69,
-3.71,3.74,3.92,3.99,4.01,4.04,4.16,4.20,4.28,4.38,
-4.47,4.53,4.55,4.62,4.71,4.73,4.83,4.99,5.02,5.06,
-5.23,5.26,5.29,5.48,5.51,5.53,5.73,5.78,5.70,5.76,
-5.88,5.92,5.96,6.10,6.21,6.23,6.36,6.48,6.60,6.69,
-6.61,6.59,6.82,6.84,6.90,6.85,7.09,7.10,7.17,7.29,
-7.35,7.47,7.35,7.66,7.68,7.56,7.81,7.88,7.97,7.97,
-8.01,8.12,8.38,8.33,8.38,8.42,8.49,8.57,8.66,8.92,
-8.87,8.94,9.03,9.04,9.10,9.09,9.26,9.28,9.34,9.58,
-9.45,9.56,9.90,9.88,9.89,9.95,9.83,10.08,9.94,10.23,
-10.35,10.35,10.38,10.47,10.66,10.60,10.61,10.92,10.80,10.86,
-10.89,11.05,11.18,11.35,11.18,11.34,11.39,11.54,11.69,11.80,
-11.60,11.60,11.97,12.06,12.02,12.09,12.04,12.19,12.29,12.34,
-12.44,12.51,12.59,12.54,12.61,12.88,12.84,13.01,13.01,13.24,
-13.05,13.36,13.34,13.40,13.46,13.65,13.66,13.74,13.79,13.74,
-13.95,14.05,14.03,14.16,14.34,14.34,14.48,14.37,14.59,14.59,
-14.55,14.73,14.88,14.77,14.99,15.14,14.94,14.99,15.33,15.31,
-15.36,15.37,15.67,15.57,15.60,15.67,15.74,16.15,15.96,16.13,
-16.26,16.26,16.24,16.10,16.42,16.44,16.52,16.73,16.65,16.83,
-16.98,16.89,16.74,16.85,17.37,17.19,17.32,17.27,17.36,17.36,
-17.57,17.59,17.56,17.80,17.95,17.94,18.09,18.07,18.18,18.14,
-18.39,18.33,18.35,18.65,18.77,18.70,18.94,18.94,18.82,19.08,
-19.11,19.15,19.15,19.06,19.24,19.39,19.34,19.56,19.89,20.02,
-19.88,19.82,20.12,20.07,20.11,20.13,20.29,20.31,20.43,20.70,
-20.50,20.50,20.59,20.85,20.96,20.82,21.03,21.02,21.16,21.00,
-21.27,21.66,21.35,21.50,21.42,21.66,21.71,21.65,21.79,21.85,
-4.12,4.46,4.97,5.23,5.62,6.08,6.33,6.72,7.09,7.54,
-7.91,8.28,8.64,9.00,9.48,9.78,10.15,10.52,10.88,11.27,
-11.70,12.01,12.57,12.78,13.14,13.60,13.98,14.32,14.62,15.08,
-15.45,15.87,16.13,16.72,17.00,17.36,17.68,18.02,18.46,18.98,
-19.27,19.61,20.01,20.37,20.82,21.16,21.52,21.95,22.23,22.85,
-23.10,23.39,23.82,23.98,24.43,24.92,25.09,25.57,26.10,26.30,
-26.88,27.12,27.46,27.99,28.28,28.64,28.93,29.41,29.70,30.10,
-30.68,30.89,31.57,31.65,32.19,32.48,32.80,33.23,33.77,33.99,
-34.21,34.74,35.17,35.36,35.95,36.27,36.80,36.89,37.23,37.70,
-38.28,38.44,38.94,39.26,39.60,39.95,40.37,40.69,41.16,41.38,
-41.93,42.11,42.67,42.90,43.37,43.74,44.11,44.50,44.98,45.21,
-45.69,45.99,46.47,46.76,47.25,47.56,47.89,48.26,48.72,49.00,
-49.43,49.69,50.31,50.63,50.91,51.40,51.85,52.31,52.49,52.88,
-53.30,53.78,54.02,54.22,54.55,54.99,55.56,55.80,56.27,56.93,
-56.88,57.29,57.80,58.17,58.62,58.91,59.32,59.65,60.13,60.23,
-60.81,60.98,61.33,61.79,62.29,62.77,63.10,63.42,63.76,64.09,
-64.62,65.01,65.32,65.67,65.98,66.47,66.74,67.11,67.51,68.07,
-68.28,68.64,68.98,69.47,69.79,70.01,70.69,70.72,71.37,71.49,
-72.15,72.65,72.84,73.35,73.73,73.84,74.34,74.80,75.11,75.25,
-75.98,76.43,76.62,77.13,77.30,77.87,78.01,78.49,78.88,79.64,
-79.63,79.94,80.64,80.77,80.99,81.60,81.89,82.32,82.54,83.05,
-83.33,83.60,84.24,84.51,84.75,85.32,85.53,86.08,86.69,86.84,
-87.23,87.72,87.84,88.44,88.42,88.85,89.37,89.43,90.20,90.88,
-90.77,91.42,91.68,92.31,92.38,92.95,93.38,93.49,93.89,94.30,
-94.80,95.19,95.25,95.93,96.27,96.25,96.92,97.47,98.02,98.16,
-98.70,98.96,99.25,99.64,100.01,100.33,100.64,101.05,101.36,101.62,
-102.06,102.50,103.13,103.33,103.61,103.89,104.67,105.01,105.53,105.73,
-105.98,106.66,106.61,107.17,107.53,108.23,108.61,108.97,109.22,109.42,
-109.95,110.23,110.39,110.64,111.31,111.72,112.07,112.21,112.89,113.16,
-3.73,4.11,4.39,4.74,5.04,5.37,5.76,6.14,6.46,6.73,
-7.14,7.49,7.76,8.11,8.38,8.77,9.06,9.50,9.76,10.18,
-10.46,10.84,11.10,11.54,11.81,12.20,12.44,12.85,13.11,13.57,
-13.87,14.25,14.48,14.88,15.23,15.71,16.06,16.31,16.55,16.89,
-17.21,17.69,18.05,18.28,18.64,19.11,19.38,19.56,20.03,20.36,
-20.74,20.97,21.43,21.91,22.09,22.37,22.75,23.16,23.30,23.67,
-23.95,24.45,24.76,25.14,25.50,25.94,26.04,26.40,26.74,27.23,
-27.36,27.67,28.12,28.49,28.72,29.13,29.46,29.93,30.24,30.50,
-31.17,31.22,31.43,32.04,32.24,32.67,32.98,33.42,33.62,33.87,
-34.56,34.64,34.92,35.11,35.49,35.77,36.40,36.64,37.01,37.39,
-37.58,38.05,38.44,38.68,39.04,39.42,39.70,40.08,40.44,40.61,
-41.22,41.37,41.74,42.20,42.61,42.71,43.10,43.35,43.91,43.83,
-44.39,44.81,45.02,45.38,45.98,46.25,46.60,47.06,47.23,47.57,
-47.77,48.20,48.54,48.76,49.26,49.77,50.02,50.33,50.72,51.08,
-51.46,51.73,51.73,52.03,52.58,52.93,53.35,53.77,54.11,54.52,
-54.83,54.86,55.40,55.83,56.05,56.49,56.88,57.02,57.51,57.82,
-58.11,58.34,58.82,58.87,59.27,59.74,60.22,60.35,60.83,60.96,
-61.38,61.95,61.91,62.38,62.96,63.29,63.52,63.81,64.31,64.29,
-64.88,65.21,65.60,65.96,66.27,66.79,66.79,67.30,67.55,67.82,
-68.15,68.52,68.74,69.31,69.58,69.91,70.09,70.64,70.55,71.29,
-71.59,72.05,72.58,72.69,72.90,73.52,73.70,74.17,74.36,75.04,
-75.12,75.40,75.84,76.16,76.39,76.66,77.07,77.57,77.90,78.23,
-78.57,78.82,79.18,79.59,80.10,80.09,80.39,81.02,81.36,81.42,
-82.02,82.28,82.40,82.89,83.16,83.66,84.33,83.97,84.53,84.86,
-85.25,85.55,86.14,86.30,86.76,86.88,87.22,87.61,88.14,88.47,
-88.71,89.11,89.42,89.64,89.78,90.37,90.90,91.23,91.08,91.71,
-92.22,92.31,92.61,93.20,93.41,93.71,94.28,94.60,94.86,95.35,
-95.72,95.92,96.32,96.49,97.07,97.07,97.55,98.14,98.05,98.66,
-99.12,99.41,99.35,100.04,100.17,100.39,100.96,101.31,101.48,101.78,
-3.34,3.67,3.94,4.30,4.57,4.83,5.22,5.45,5.79,6.12,
-6.41,6.74,7.00,7.27,7.55,7.94,8.27,8.42,8.81,9.06,
-9.44,9.65,10.07,10.35,10.65,11.02,11.35,11.42,11.90,12.25,
-12.48,12.73,13.08,13.43,13.62,14.04,14.35,14.57,14.82,15.22,
-15.55,16.02,16.23,16.60,16.77,17.24,17.49,17.72,18.12,18.29,
-18.55,18.86,19.17,19.55,20.04,20.07,20.50,20.86,21.08,21.29,
-21.54,21.95,22.22,22.63,22.86,23.27,23.54,23.98,24.01,24.33,
-24.73,25.18,25.38,25.77,25.95,26.31,26.59,26.70,27.25,27.46,
-27.84,28.00,28.46,28.76,29.15,29.21,29.59,30.05,30.06,30.69,
-30.90,31.20,31.51,31.78,32.20,32.44,32.63,33.01,33.31,33.71,
-33.80,34.26,34.59,34.97,35.14,35.34,35.79,36.05,36.19,36.73,
-36.89,37.37,37.55,37.92,38.37,38.37,38.87,39.09,39.56,39.88,
-40.08,40.20,40.62,41.18,41.25,41.51,41.77,42.25,42.67,42.68,
-43.27,43.40,43.84,43.99,44.36,44.41,44.93,45.20,45.63,45.90,
-46.07,46.49,46.58,47.27,47.34,47.59,47.90,48.36,48.48,49.06,
-49.09,49.40,50.06,49.92,50.46,50.91,51.08,51.26,51.73,51.87,
-52.23,52.39,52.87,53.24,53.19,53.82,54.00,54.49,54.53,55.04,
-55.24,55.50,55.77,56.45,56.60,57.01,57.19,57.44,57.84,58.16,
-58.48,58.55,58.96,59.32,59.66,59.88,60.25,60.60,61.04,61.05,
-61.57,61.59,61.88,62.44,62.53,63.16,63.14,63.60,64.09,64.11,
-64.45,64.97,65.01,65.26,65.93,66.13,66.28,66.53,67.06,67.23,
-67.61,67.83,68.07,68.43,68.80,69.36,69.44,69.77,70.19,70.28,
-70.86,70.79,71.22,71.61,71.66,72.32,72.34,72.76,72.92,73.53,
-73.67,73.93,74.24,74.40,74.72,75.28,75.70,75.89,76.08,76.68,
-76.65,76.86,77.11,77.87,77.79,78.58,78.64,79.12,79.41,79.42,
-79.89,80.11,80.26,80.65,80.88,81.15,81.50,81.96,82.21,82.35,
-83.04,82.96,83.12,83.83,83.98,84.24,84.81,84.86,84.88,85.35,
-85.95,86.41,86.45,86.73,87.13,87.41,87.84,87.87,88.31,88.62,
-89.00,89.30,89.56,90.05,90.29,90.42,90.88,90.94,91.82,91.88,
-3.04,3.24,3.55,3.84,4.04,4.37,4.67,4.92,5.21,5.50,
-5.75,6.02,6.34,6.61,6.83,7.09,7.44,7.66,8.04,8.26,
-8.44,8.69,9.03,9.26,9.59,9.85,10.16,10.38,10.68,10.88,
-11.18,11.64,11.77,12.10,12.37,12.76,12.91,13.11,13.40,13.72,
-13.97,14.36,14.51,14.86,15.15,15.33,15.81,16.01,16.26,16.41,
-16.81,17.04,17.28,17.58,17.78,18.20,18.41,18.71,18.98,19.23,
-19.64,19.83,20.09,20.30,20.72,20.92,21.08,21.29,21.71,21.62,
-22.14,22.50,22.92,23.21,23.32,23.74,24.03,24.09,24.50,24.80,
-25.00,25.32,25.61,25.92,26.23,26.28,26.63,27.02,27.22,27.57,
-27.80,28.14,28.08,28.49,28.77,29.20,29.37,29.82,30.04,30.25,
-30.73,30.88,31.09,31.43,31.48,32.02,32.23,32.39,32.66,32.82,
-33.36,33.43,33.91,34.02,34.45,34.61,34.83,35.18,35.42,35.78,
-36.05,36.42,36.68,36.91,37.23,37.48,37.76,37.87,38.23,38.50,
-38.92,38.99,39.36,39.55,39.76,40.14,40.37,40.69,40.87,41.22,
-41.63,41.73,42.12,42.19,42.77,43.02,43.33,43.60,43.98,43.92,
-44.10,44.56,44.86,45.38,45.44,45.96,46.13,46.33,46.58,46.78,
-47.05,47.30,47.51,47.91,47.83,48.33,48.75,48.90,49.31,49.48,
-49.66,49.84,50.27,50.77,50.93,51.15,51.28,51.70,52.16,52.30,
-52.51,52.78,53.01,53.10,53.63,54.06,54.45,54.81,54.76,55.16,
-55.27,55.40,55.86,56.19,56.41,56.68,57.04,57.40,57.25,57.70,
-58.08,58.43,58.45,58.98,59.15,59.47,59.69,59.91,60.25,60.52,
-60.71,61.09,61.41,61.66,62.06,62.21,62.67,62.98,62.99,63.67,
-63.47,63.95,64.18,64.44,64.56,65.11,65.32,65.46,65.78,65.98,
-66.47,66.60,66.82,67.37,67.41,67.58,67.92,68.21,68.33,69.09,
-69.13,69.47,69.57,69.67,70.11,70.31,70.77,71.21,71.35,71.50,
-71.86,72.16,72.29,72.81,73.02,73.34,73.44,73.68,73.89,74.64,
-74.65,74.72,75.14,75.24,75.72,75.76,76.27,76.80,76.77,76.96,
-77.40,77.65,77.89,77.98,78.66,78.91,78.92,79.15,79.34,79.80,
-80.11,80.32,80.66,80.82,81.26,81.79,81.46,82.42,82.25,82.69,
-2.76,2.98,3.18,3.43,3.72,3.96,4.21,4.33,4.67,4.90,
-5.15,5.44,5.62,5.95,6.21,6.30,6.66,6.94,7.12,7.37,
-7.60,7.91,8.10,8.46,8.58,8.89,9.17,9.42,9.53,9.83,
-10.11,10.28,10.48,10.92,11.07,11.45,11.63,11.87,12.08,12.34,
-12.62,12.92,13.01,13.28,13.53,13.89,14.03,14.30,14.67,14.74,
-15.08,15.48,15.52,15.69,15.95,16.48,16.68,16.78,17.13,17.19,
-17.61,17.80,17.99,18.27,18.51,18.77,18.94,19.33,19.52,19.89,
-20.01,20.16,20.39,20.70,21.04,21.27,21.64,21.68,22.14,22.32,
-22.60,22.76,23.12,23.15,23.43,23.66,24.04,24.25,24.38,24.67,
-24.89,25.29,25.45,25.84,25.99,26.34,26.50,26.78,26.90,27.12,
-27.41,27.72,28.12,28.15,28.37,28.56,28.97,29.22,29.42,29.62,
-29.93,30.05,30.33,30.62,31.07,31.21,31.36,31.71,31.86,32.12,
-32.39,32.76,33.03,33.31,33.51,33.59,33.95,34.18,34.44,34.93,
-35.02,35.10,35.29,35.65,35.88,36.33,36.20,36.71,36.95,37.40,
-37.37,37.40,37.81,38.23,38.27,38.58,38.77,38.99,39.51,39.71,
-39.86,40.13,40.31,40.47,40.73,41.13,41.40,41.41,42.00,42.12,
-42.37,42.47,42.87,43.09,43.42,43.56,44.00,44.10,44.38,44.48,
-44.69,45.21,45.30,45.40,45.89,46.13,46.23,46.62,46.76,47.09,
-47.17,47.51,47.71,47.76,48.24,48.52,48.86,49.13,49.38,49.59,
-49.74,49.93,50.19,50.58,50.66,51.18,51.54,51.25,51.81,51.90,
-52.25,52.52,52.82,53.09,53.33,53.36,53.64,54.05,54.31,54.47,
-54.91,55.15,55.17,55.60,55.92,55.99,56.17,56.55,56.76,57.16,
-57.07,57.29,57.81,58.06,58.06,58.23,58.65,58.69,58.78,59.45,
-59.70,60.07,60.29,60.24,60.61,60.98,61.27,61.42,61.61,61.92,
-62.16,62.58,62.65,62.98,63.04,63.25,63.59,63.75,63.94,64.34,
-64.67,64.91,65.31,65.38,65.76,65.78,66.06,66.56,66.65,66.90,
-67.03,67.50,67.80,68.05,68.20,68.32,68.54,69.06,69.36,69.24,
-69.55,69.67,70.11,70.31,70.57,71.06,70.92,71.51,71.42,71.67,
-72.30,72.28,72.30,72.71,72.92,73.23,73.70,73.63,74.01,74.17,
-2.44,2.66,2.86,3.11,3.34,3.56,3.72,3.98,4.28,4.41,
-4.66,4.93,5.08,5.32,5.58,5.79,5.97,6.32,6.47,6.69,
-6.88,7.17,7.28,7.53,7.73,7.99,8.24,8.51,8.74,8.93,
-9.05,9.38,9.57,9.76,10.04,10.20,10.42,10.69,10.87,11.13,
-11.39,11.58,11.86,11.98,12.26,12.51,12.71,12.91,13.18,13.43,
-13.66,13.88,13.99,14.14,14.49,14.78,15.01,15.16,15.35,15.68,
-15.78,16.11,16.22,16.40,16.88,16.93,17.05,17.21,17.50,17.83,
-18.07,18.21,18.50,18.75,18.80,19.09,19.31,19.59,19.84,20.00,
-20.20,20.47,20.59,21.16,21.14,21.29,21.62,21.83,22.04,22.41,
-22.63,22.59,22.94,23.20,23.30,23.60,23.87,24.09,24.38,24.50,
-24.57,24.95,25.21,25.42,25.64,25.89,26.16,26.40,26.61,26.77,
-26.91,27.19,27.37,27.54,27.85,28.20,28.45,28.40,28.65,28.93,
-29.23,29.47,29.68,29.96,30.23,30.22,30.70,30.67,30.90,31.04,
-31.36,31.53,32.04,32.05,32.27,32.63,32.71,32.96,33.12,33.45,
-33.68,33.99,34.03,34.22,34.30,34.75,34.91,34.91,35.46,35.71,
-35.95,36.03,36.50,36.56,36.81,37.00,37.16,37.51,37.70,37.86,
-38.11,38.09,38.71,38.61,39.19,39.15,39.45,39.64,39.82,40.38,
-40.48,40.42,40.68,40.89,41.09,41.28,41.79,41.78,42.18,42.35,
-42.64,42.90,42.84,43.40,43.78,43.85,43.84,44.22,44.44,44.34,
-44.69,44.91,45.12,45.42,45.44,45.89,46.38,46.28,46.51,46.74,
-47.18,47.17,47.39,47.55,47.90,48.06,48.41,48.48,48.66,49.04,
-49.33,49.35,49.70,50.19,50.12,50.17,50.53,50.84,51.09,51.25,
-51.53,51.68,51.90,52.22,52.29,52.61,52.91,53.16,53.15,53.42,
-53.84,54.03,54.18,54.32,54.49,54.77,54.79,55.20,55.50,55.90,
-55.77,56.06,56.35,56.83,56.60,56.99,57.38,57.52,57.53,57.97,
-58.21,58.54,58.72,58.62,59.15,58.99,59.63,59.92,59.98,60.29,
-60.40,60.66,60.71,61.07,61.35,61.33,61.83,62.04,62.19,62.26,
-62.49,62.62,63.12,63.37,63.61,63.78,64.19,64.00,64.50,64.28,
-64.89,65.25,65.37,65.31,65.59,65.91,66.10,66.42,66.54,66.51,
-2.16,2.39,2.64,2.74,3.01,3.23,3.45,3.55,3.83,3.98,
-4.13,4.30,4.62,4.83,4.97,5.23,5.34,5.62,5.76,6.06,
-6.17,6.42,6.63,6.88,7.02,7.26,7.39,7.63,7.79,8.01,
-8.16,8.37,8.58,8.82,9.02,9.29,9.37,9.61,9.81,9.95,
-10.29,10.55,10.67,10.84,10.92,11.22,11.40,11.68,11.79,11.93,
-12.30,12.40,12.68,12.80,13.07,13.16,13.48,13.67,13.87,14.11,
-14.21,14.44,14.68,14.79,15.06,15.24,15.46,15.69,15.88,16.06,
-16.35,16.43,16.64,16.75,16.99,17.29,17.43,17.69,17.67,18.03,
-18.32,18.43,18.60,18.93,18.92,19.38,19.66,19.79,19.79,20.11,
-20.15,20.51,20.61,20.84,21.18,21.22,21.44,21.55,21.84,21.92,
-22.15,22.39,22.70,22.96,23.09,23.26,23.46,23.64,24.04,24.10,
-23.98,24.38,24.80,24.90,25.13,25.25,25.48,25.66,25.70,26.09,
-26.34,26.42,26.60,26.77,27.02,27.32,27.38,27.71,27.85,28.04,
-28.18,28.64,28.64,28.89,29.03,29.18,29.51,29.79,29.84,30.14,
-30.27,30.50,30.60,30.83,31.24,31.19,31.41,31.57,31.93,32.19,
-32.26,32.62,32.65,33.02,32.88,33.23,33.64,33.82,33.89,34.09,
-34.36,34.73,34.79,34.92,35.07,35.25,35.55,35.73,35.77,36.13,
-36.32,36.67,36.58,36.85,37.24,37.30,37.41,37.71,38.00,38.12,
-38.45,38.49,38.80,39.17,39.08,39.46,39.39,39.66,40.00,40.00,
-40.27,40.51,40.76,41.17,41.20,41.45,41.66,41.84,41.81,42.06,
-42.29,42.42,42.82,43.08,43.04,43.37,43.44,43.90,44.13,43.84,
-44.44,44.54,44.71,44.97,45.35,45.32,45.27,45.58,46.23,46.09,
-46.12,46.59,46.59,47.00,47.16,47.49,47.46,47.75,47.79,47.98,
-48.30,48.58,48.77,49.11,49.12,49.24,49.59,49.83,49.97,50.38,
-50.27,50.59,50.82,50.83,51.17,51.08,51.46,51.75,52.05,52.37,
-52.53,52.63,52.68,52.94,53.22,53.44,53.65,53.55,53.93,54.10,
-54.38,54.57,54.58,55.04,55.17,55.28,55.61,55.50,56.22,56.28,
-56.31,56.74,56.56,56.88,56.97,57.06,57.57,57.66,58.18,58.18,
-58.41,58.33,58.87,59.24,59.09,59.59,59.33,59.46,59.94,59.79,
-2.02,2.19,2.32,2.51,2.69,2.92,3.06,3.20,3.36,3.63,
-3.82,3.90,4.18,4.28,4.55,4.72,4.85,5.02,5.33,5.44,
-5.58,5.73,5.94,6.20,6.33,6.43,6.63,6.81,7.00,7.30,
-7.36,7.62,7.76,7.83,8.10,8.33,8.48,8.69,8.85,8.97,
-9.13,9.42,9.59,9.71,9.98,10.18,10.21,10.50,10.68,10.83,
-10.97,11.15,11.32,11.69,11.66,11.90,12.07,12.29,12.58,12.72,
-12.85,13.04,13.16,13.26,13.69,13.71,13.87,14.21,14.38,14.44,
-14.57,14.70,14.94,14.98,15.44,15.52,15.73,15.91,16.16,16.33,
-16.31,16.64,16.79,16.98,17.08,17.30,17.54,17.61,17.87,18.00,
-18.14,18.24,18.71,18.80,18.87,19.10,19.28,19.36,19.77,19.83,
-19.98,20.25,20.36,20.67,20.66,21.01,21.15,21.32,21.32,21.66,
-21.87,22.04,22.26,22.37,22.50,22.69,22.98,23.27,23.30,23.57,
-23.63,23.72,24.02,24.16,24.43,24.74,24.85,25.15,25.02,25.34,
-25.39,25.64,25.77,26.05,26.32,26.62,26.66,26.74,26.65,27.00,
-27.27,27.64,27.74,27.86,28.00,28.02,28.35,28.50,28.63,28.92,
-29.10,29.39,29.52,29.46,29.85,30.01,30.15,30.23,30.48,30.61,
-30.99,30.98,31.22,31.29,31.63,31.72,31.89,31.90,32.20,32.55,
-32.61,32.94,33.30,33.07,33.46,33.48,33.74,34.09,34.07,34.33,
-34.59,34.67,35.05,35.27,35.18,35.49,35.31,35.63,36.15,35.94,
-36.38,36.42,36.65,36.90,36.97,37.15,37.35,37.58,37.59,37.70,
-38.01,37.99,38.47,38.65,39.01,39.07,39.03,39.54,39.42,39.77,
-39.81,39.98,40.10,40.38,40.52,40.90,40.99,41.10,41.09,41.65,
-41.54,41.95,42.25,42.26,42.50,42.62,42.60,43.03,43.21,43.41,
-43.85,43.70,43.98,44.27,44.26,44.50,44.66,44.95,45.04,45.34,
-45.44,45.69,45.76,45.71,45.83,46.13,46.39,46.27,46.78,46.94,
-47.18,47.21,47.64,47.90,47.73,48.19,48.18,48.45,48.19,48.66,
-49.12,49.10,49.24,49.32,49.59,49.77,50.04,50.34,50.32,50.67,
-50.93,51.01,51.32,51.27,51.42,51.59,52.09,51.97,52.26,52.45,
-52.62,52.54,52.90,53.00,53.24,53.62,53.20,53.71,54.05,54.09,
-1.81,1.88,2.03,2.24,2.41,2.59,2.77,2.90,3.04,3.22,
-3.38,3.58,3.64,3.92,4.06,4.16,4.49,4.53,4.71,4.85,
-4.92,5.14,5.38,5.60,5.62,5.83,5.93,6.13,6.38,6.49,
-6.64,6.72,7.00,6.99,7.38,7.43,7.71,7.90,7.97,8.04,
-8.35,8.44,8.61,8.69,8.87,9.16,9.20,9.38,9.55,9.82,
-10.10,10.03,10.15,10.44,10.50,10.74,10.93,11.10,11.25,11.24,
-11.46,11.74,11.88,12.01,12.15,12.25,12.58,12.78,12.77,12.98,
-13.12,13.38,13.39,13.60,13.77,13.98,14.10,14.28,14.40,14.64,
-14.93,14.93,14.97,15.20,15.45,15.50,15.74,15.83,16.07,16.30,
-16.33,16.70,16.70,16.81,16.93,17.38,17.40,17.37,17.63,17.84,
-17.93,18.24,18.38,18.52,18.73,18.80,18.91,18.94,19.50,19.53,
-19.58,19.81,19.98,20.20,20.32,20.34,20.57,20.82,21.16,21.13,
-21.24,21.43,21.76,21.73,21.90,22.10,22.30,22.27,22.62,22.68,
-22.85,23.09,23.19,23.44,23.62,23.82,23.82,23.84,24.12,24.27,
-24.56,24.64,24.81,24.83,24.96,25.33,25.37,25.75,25.77,26.09,
-26.22,26.37,26.48,26.53,26.87,27.12,27.17,27.34,27.51,27.66,
-27.68,28.20,28.06,28.18,28.26,28.59,28.90,28.81,29.08,29.16,
-29.41,29.48,29.66,29.93,30.12,30.25,30.45,30.63,30.60,31.12,
-31.02,31.07,31.19,31.23,31.89,31.99,32.08,32.36,32.26,32.61,
-32.85,32.80,33.04,32.99,33.10,33.48,33.56,33.86,33.84,34.20,
-34.31,34.51,34.72,34.97,35.10,34.92,35.22,35.45,35.73,35.35,
-36.01,35.98,36.30,36.48,36.50,36.51,36.71,37.11,37.28,37.26,
-37.41,37.59,37.85,37.72,38.16,38.28,38.77,38.96,38.86,39.21,
-39.30,39.51,39.33,39.89,39.92,39.85,39.93,40.28,40.33,40.58,
-40.68,41.07,40.97,41.18,41.54,41.52,41.79,42.04,42.11,42.48,
-42.30,42.85,42.78,42.91,43.04,43.21,43.37,43.54,43.33,43.82,
-43.93,44.00,44.45,44.36,44.85,44.92,44.93,45.09,45.21,45.53,
-45.52,45.87,45.97,45.83,46.65,46.47,46.64,46.87,47.01,47.18,
-47.36,47.34,47.78,47.83,47.80,48.01,48.16,48.17,48.63,48.88,
-1.62,1.75,1.88,2.06,2.17,2.37,2.45,2.65,2.76,2.91,
-3.02,3.16,3.35,3.52,3.61,3.80,3.90,4.10,4.25,4.33,
-4.55,4.61,4.78,4.94,5.05,5.19,5.33,5.61,5.63,5.88,
-5.95,6.06,6.21,6.40,6.60,6.71,6.86,6.90,7.11,7.27,
-7.54,7.53,7.70,7.84,8.13,8.25,8.47,8.40,8.68,8.77,
-9.00,9.11,9.25,9.39,9.59,9.67,9.83,9.89,10.02,10.24,
-10.36,10.52,10.73,10.79,10.92,11.10,11.25,11.36,11.61,11.74,
-11.90,11.99,12.19,12.27,12.33,12.51,12.67,12.91,13.03,13.13,
-13.17,13.49,13.62,13.65,13.81,14.06,14.14,14.21,14.43,14.42,
-14.71,14.92,14.94,15.19,15.50,15.49,15.62,15.70,16.06,16.04,
-16.35,16.35,16.49,16.69,16.86,16.91,17.14,17.24,17.41,17.48,
-17.51,17.93,18.10,18.18,18.38,18.47,18.58,18.86,19.00,19.06,
-19.08,19.34,19.40,19.50,19.73,19.90,19.91,20.26,20.34,20.38,
-20.50,20.80,20.75,21.00,21.16,21.38,21.57,21.55,21.91,21.82,
-22.10,22.19,22.38,22.55,22.63,22.64,22.87,23.25,23.28,23.25,
-23.72,23.83,23.83,23.94,24.11,24.17,24.44,24.63,24.80,24.80,
-24.91,25.18,25.40,25.36,25.61,26.04,26.00,25.87,26.11,26.21,
-26.45,26.64,26.72,26.81,26.93,27.09,27.24,27.30,27.42,27.82,
-27.93,28.07,28.29,28.62,28.57,28.70,28.86,28.90,29.15,29.18,
-29.47,29.51,29.59,29.67,29.96,30.16,30.21,30.41,30.34,30.71,
-31.09,31.16,31.11,31.28,31.34,31.32,31.52,31.87,31.94,32.03,
-32.27,32.49,32.69,32.62,32.99,33.07,33.00,33.24,33.40,33.69,
-33.98,33.99,33.88,34.08,34.55,34.30,34.72,35.02,34.97,35.30,
-35.31,35.25,35.32,35.88,35.83,35.75,36.11,36.31,36.43,36.64,
-36.75,36.69,37.14,37.07,37.35,37.43,37.61,37.53,38.05,37.67,
-38.07,38.33,38.60,38.81,38.77,38.94,39.09,39.31,39.30,39.56,
-39.56,39.84,39.78,40.09,40.20,40.38,40.38,40.72,41.05,40.86,
-41.21,41.40,41.50,41.35,41.70,41.63,41.93,42.30,42.39,42.41,
-42.57,43.01,42.92,42.95,43.38,43.14,43.45,43.71,43.68,44.10,
-1.43,1.51,1.66,1.85,1.98,2.14,2.19,2.31,2.47,2.63,
-2.76,2.96,3.04,3.18,3.22,3.31,3.62,3.70,3.80,3.98,
-4.06,4.24,4.32,4.44,4.55,4.77,4.92,5.01,5.19,5.20,
-5.41,5.42,5.64,5.75,5.94,6.06,6.14,6.38,6.45,6.59,
-6.70,6.87,6.86,7.16,7.26,7.32,7.53,7.59,7.76,7.88,
-8.05,8.18,8.27,8.34,8.54,8.68,8.84,8.94,8.98,9.17,
-9.35,9.46,9.59,9.77,9.88,9.95,10.17,10.21,10.46,10.58,
-10.51,10.76,10.97,10.89,11.04,11.39,11.48,11.39,11.66,11.89,
-12.02,12.13,12.20,12.40,12.44,12.78,12.93,12.83,12.93,13.24,
-13.31,13.37,13.52,13.77,13.89,13.97,14.04,14.19,14.43,14.52,
-14.56,14.69,14.92,14.96,15.11,15.29,15.47,15.38,15.70,15.83,
-15.89,16.06,16.08,16.16,16.44,16.68,16.74,16.66,16.95,17.15,
-17.20,17.34,17.64,17.64,17.77,17.88,17.96,18.28,18.40,18.39,
-18.75,18.79,18.80,18.84,19.20,19.30,19.60,19.45,19.77,19.69,
-19.77,20.09,20.31,20.39,20.45,20.41,20.68,20.89,20.99,21.17,
-21.09,21.23,21.38,21.40,21.46,21.87,21.97,22.27,22.20,22.50,
-22.33,22.55,22.70,22.79,23.05,23.09,23.22,23.45,23.71,23.75,
-23.91,24.05,23.94,24.25,24.32,24.66,24.72,24.75,24.95,24.94,
-25.18,25.16,25.59,25.49,25.66,25.90,25.93,26.09,26.22,26.36,
-26.31,26.47,26.64,26.96,26.94,27.06,27.33,27.32,27.38,27.78,
-27.76,27.58,27.95,28.38,28.37,28.37,28.31,28.54,28.92,28.91,
-29.07,29.10,29.16,29.38,29.76,29.72,29.91,29.95,30.05,30.33,
-30.38,30.52,30.40,30.57,30.67,31.02,31.24,30.99,31.46,31.50,
-31.85,31.64,32.01,32.01,32.34,32.38,32.62,32.71,32.62,33.13,
-33.37,32.95,33.33,33.22,33.68,33.87,33.81,33.93,34.09,34.22,
-34.32,34.76,34.65,34.75,34.97,35.01,35.22,35.32,35.68,35.61,
-35.61,35.73,35.94,36.14,36.23,36.30,36.49,36.46,37.20,36.82,
-36.97,36.84,37.34,37.37,37.54,37.85,37.78,37.92,38.00,38.25,
-38.31,38.29,38.59,38.37,38.84,38.85,38.99,39.22,39.45,39.83,
-1.29,1.40,1.55,1.66,1.78,1.95,2.04,2.15,2.30,2.37,
-2.45,2.64,2.71,2.85,2.95,3.07,3.31,3.32,3.45,3.56,
-3.61,3.81,3.92,4.04,4.20,4.28,4.44,4.52,4.62,4.74,
-4.85,4.99,4.99,5.22,5.31,5.41,5.61,5.67,5.79,6.09,
-5.92,6.12,6.28,6.45,6.56,6.62,6.71,6.78,6.96,7.06,
-7.31,7.41,7.51,7.59,7.77,7.88,7.84,7.96,8.18,8.28,
-8.53,8.52,8.54,8.82,9.00,9.03,8.98,9.30,9.26,9.43,
-9.54,9.63,9.78,9.85,10.10,10.16,10.27,10.39,10.55,10.59,
-10.75,10.79,11.00,11.11,11.26,11.43,11.45,11.54,11.79,11.79,
-11.89,12.00,12.28,12.43,12.42,12.55,12.74,12.74,12.85,12.93,
-13.10,13.43,13.30,13.45,13.46,13.72,13.85,13.99,14.23,14.22,
-14.33,14.49,14.53,14.76,14.73,14.90,15.00,15.08,15.24,15.35,
-15.44,15.56,15.79,15.92,15.96,16.10,16.14,16.35,16.21,16.46,
-16.63,16.80,16.93,17.10,17.33,17.29,17.34,17.46,17.70,17.89,
-17.92,17.87,18.31,18.16,18.41,18.50,18.68,18.67,18.71,18.97,
-19.11,19.21,19.45,19.58,19.50,19.55,19.59,19.75,20.12,20.29,
-20.02,20.24,20.45,20.74,20.54,20.82,20.86,21.01,21.21,21.13,
-21.34,21.64,21.69,21.79,21.86,22.12,22.05,22.08,22.30,22.57,
-22.66,22.74,22.94,22.90,23.16,23.01,23.43,23.41,23.60,23.47,
-23.77,23.96,24.04,24.33,24.38,24.34,24.39,24.55,24.71,24.74,
-25.14,25.30,25.25,25.23,25.33,25.44,25.60,25.99,26.03,25.93,
-26.24,26.37,26.46,26.57,26.62,26.75,26.97,26.97,27.26,27.34,
-27.71,27.62,27.59,27.99,27.85,28.07,28.00,28.03,28.16,28.44,
-28.44,28.62,28.70,28.89,29.09,29.20,29.38,29.42,29.41,29.62,
-30.05,29.92,30.03,30.19,30.14,30.18,30.54,30.51,30.66,30.71,
-31.03,30.99,31.08,31.38,31.37,31.56,31.70,31.82,31.82,31.87,
-32.11,32.29,32.16,32.54,32.47,32.47,32.81,32.91,33.23,33.19,
-33.49,33.57,33.60,33.56,33.64,34.00,34.09,34.36,34.10,34.55,
-34.67,34.55,34.67,34.94,34.96,34.95,35.37,35.52,35.17,35.40,
-1.19,1.29,1.42,1.49,1.59,1.72,1.76,1.89,2.01,2.08,
-2.25,2.36,2.41,2.55,2.68,2.80,2.88,2.98,3.12,3.14,
-3.35,3.45,3.60,3.62,3.79,3.83,3.88,4.09,4.11,4.20,
-4.31,4.47,4.55,4.58,4.82,4.99,4.95,5.02,5.26,5.30,
-5.48,5.51,5.75,5.84,5.88,5.93,5.99,6.13,6.27,6.39,
-6.47,6.58,6.64,6.81,6.92,6.99,7.17,7.25,7.41,7.47,
-7.53,7.69,7.84,7.91,7.95,8.13,8.15,8.31,8.44,8.50,
-8.73,8.70,8.88,8.82,9.09,9.26,9.29,9.45,9.42,9.62,
-9.73,9.69,9.94,9.97,10.15,10.08,10.24,10.46,10.61,10.63,
-10.79,10.87,10.88,11.02,11.16,11.14,11.41,11.57,11.60,11.84,
-11.90,11.93,12.03,12.04,12.07,12.15,12.36,12.65,12.67,12.79,
-12.87,12.96,13.10,13.29,13.38,13.38,13.54,13.63,13.73,14.08,
-13.95,14.04,14.19,14.32,14.28,14.53,14.53,14.72,14.97,14.96,
-15.00,15.07,15.21,15.36,15.57,15.48,15.63,15.82,15.93,15.92,
-16.02,16.25,16.44,16.43,16.55,16.66,16.64,16.85,16.85,17.10,
-17.18,17.36,17.38,17.23,17.53,17.68,17.70,17.98,18.06,18.05,
-18.18,18.28,18.30,18.56,18.74,18.67,18.95,19.02,19.07,19.14,
-19.25,19.31,19.56,19.45,19.77,19.66,20.00,20.16,20.04,20.32,
-20.34,20.53,20.66,20.66,20.65,20.83,20.87,21.14,21.24,21.32,
-21.50,21.60,21.71,21.77,21.92,21.88,21.98,22.34,22.22,22.47,
-22.46,22.48,22.49,22.77,22.81,23.13,23.18,23.30,23.56,23.38,
-23.62,23.81,23.63,23.68,23.99,24.17,24.15,24.17,24.51,24.45,
-24.71,24.73,24.80,24.76,25.03,25.06,25.31,25.09,25.55,25.57,
-25.67,25.77,25.92,26.21,26.23,26.19,26.27,26.39,26.62,26.71,
-26.65,26.89,26.99,27.07,27.07,27.30,27.50,27.50,27.57,27.65,
-27.98,28.05,27.99,28.12,28.36,28.25,28.49,28.38,28.65,29.02,
-28.70,28.90,29.06,29.03,29.22,29.56,29.56,29.66,29.65,29.63,
-30.13,30.00,30.16,30.32,30.58,30.89,30.65,30.71,30.66,30.95,
-31.12,31.05,31.41,31.23,31.25,31.67,31.59,31.90,31.65,32.02,
-1.02,1.15,1.29,1.37,1.46,1.52,1.59,1.72,1.77,1.95,
-1.99,2.11,2.23,2.31,2.41,2.47,2.57,2.70,2.77,2.85,
-2.91,3.14,3.14,3.27,3.36,3.42,3.56,3.58,3.70,3.82,
-3.90,4.01,4.07,4.13,4.38,4.45,4.46,4.64,4.68,4.82,
-4.87,5.04,5.10,5.12,5.35,5.39,5.60,5.56,5.65,5.79,
-5.86,5.96,5.99,6.19,6.28,6.27,6.33,6.60,6.56,6.70,
-6.87,6.96,7.08,7.07,7.12,7.31,7.35,7.54,7.52,7.66,
-7.71,7.93,7.93,7.90,8.04,8.21,8.30,8.56,8.46,8.55,
-8.79,8.90,8.83,8.99,9.12,9.22,9.34,9.36,9.48,9.54,
-9.70,9.73,9.86,9.91,10.19,10.22,10.26,10.33,10.41,10.54,
-10.64,10.73,10.79,11.01,11.00,11.08,11.27,11.24,11.40,11.71,
-11.58,11.61,11.78,12.07,11.99,12.14,12.33,12.30,12.36,12.37,
-12.64,12.67,12.77,12.88,13.00,13.05,13.04,13.10,13.34,13.48,
-13.50,13.53,13.64,13.71,13.93,13.94,14.05,14.27,14.19,14.41,
-14.60,14.63,14.75,14.70,14.99,14.79,14.95,15.12,15.10,15.46,
-15.52,15.45,15.56,15.75,15.93,16.12,16.10,16.02,16.24,16.38,
-16.34,16.49,16.71,16.62,16.81,16.91,16.95,16.93,17.15,17.31,
-17.37,17.45,17.42,17.69,17.48,17.81,17.95,18.14,18.13,18.27,
-18.32,18.45,18.54,18.48,18.65,18.86,18.78,19.13,18.96,19.34,
-19.20,19.24,19.50,19.53,19.88,19.77,19.87,19.93,20.12,20.36,
-20.24,20.36,20.32,20.57,20.63,20.49,20.89,21.20,21.05,21.05,
-21.22,21.13,21.38,21.59,21.62,21.58,21.79,21.94,21.83,22.05,
-22.28,22.39,22.12,22.32,22.55,22.73,22.78,22.91,22.80,23.05,
-23.23,23.22,23.62,23.47,23.52,23.57,23.64,23.73,23.86,24.04,
-24.06,24.25,24.22,24.36,24.43,24.58,24.82,24.78,24.98,24.83,
-25.00,24.99,25.30,25.37,25.28,25.53,25.53,25.74,25.74,25.82,
-26.07,25.99,26.39,26.20,26.34,26.62,26.47,26.65,26.83,27.10,
-27.07,27.17,27.34,27.16,27.42,27.37,27.85,27.67,27.57,27.81,
-28.08,28.09,28.21,28.21,28.46,28.75,28.66,28.95,28.66,28.94,
-0.92,1.00,1.14,1.18,1.31,1.34,1.41,1.53,1.71,1.67,
-1.77,1.91,1.98,2.15,2.17,2.26,2.27,2.39,2.56,2.54,
-2.71,2.74,2.86,2.89,3.00,3.17,3.15,3.30,3.32,3.40,
-3.54,3.60,3.74,3.80,3.84,4.00,4.11,4.12,4.18,4.26,
-4.39,4.48,4.54,4.71,4.74,4.90,4.95,4.98,5.02,5.10,
-5.31,5.26,5.46,5.57,5.41,5.72,5.88,5.90,5.91,5.97,
-6.07,6.16,6.29,6.36,6.44,6.65,6.54,6.69,6.91,6.85,
-6.99,7.13,7.17,7.25,7.37,7.38,7.49,7.56,7.67,7.83,
-7.78,7.97,8.08,8.04,8.23,8.29,8.46,8.52,8.58,8.63,
-8.59,8.79,8.80,8.95,8.99,9.13,9.09,9.32,9.43,9.53,
-9.48,9.63,9.84,9.79,9.84,9.92,10.08,10.06,10.36,10.42,
-10.48,10.51,10.70,10.77,10.82,11.04,10.94,11.15,11.24,11.06,
-11.40,11.53,11.54,11.47,11.57,11.95,11.88,12.06,11.96,12.20,
-12.18,12.20,12.50,12.59,12.55,12.64,12.75,12.94,12.70,12.78,
-12.77,13.07,13.23,13.30,13.31,13.32,13.67,13.48,13.81,13.91,
-13.87,14.07,14.09,14.03,14.25,14.35,14.42,14.24,14.73,14.66,
-14.82,14.71,14.80,15.16,15.00,15.34,15.15,15.43,15.48,15.56,
-15.73,15.76,15.86,15.93,16.09,16.00,16.06,16.49,16.26,16.47,
-16.50,16.60,16.76,16.76,16.73,17.00,17.10,17.11,17.13,17.37,
-17.33,17.46,17.49,17.86,17.77,17.70,17.92,18.12,17.90,18.01,
-18.14,18.25,18.44,18.35,18.71,18.77,18.70,18.86,18.85,19.06,
-18.96,19.15,19.20,19.34,19.46,19.69,19.79,19.62,19.77,19.79,
-19.89,19.90,20.18,20.13,20.07,20.53,20.45,20.39,20.58,21.04,
-20.67,20.96,20.89,20.93,21.09,21.18,21.28,21.36,21.35,21.66,
-21.80,21.68,21.62,21.98,22.02,22.10,22.03,22.40,22.25,22.64,
-22.48,22.47,22.59,22.77,22.92,22.95,22.83,23.20,23.30,23.21,
-23.36,23.41,23.54,23.82,23.88,24.03,23.84,24.18,24.00,24.19,
-24.39,24.27,24.33,24.42,24.64,24.52,24.83,24.69,24.88,25.04,
-25.24,25.17,25.14,25.50,25.62,25.45,25.61,25.86,25.93,25.94,
-4.19,4.57,4.90,5.29,5.67,5.98,6.44,6.78,7.14,7.49,
-7.98,8.28,8.70,9.03,9.51,9.86,10.11,10.50,10.95,11.35,
-11.69,12.05,12.49,12.76,13.27,13.63,14.10,14.23,14.74,15.13,
-15.58,15.83,16.16,16.64,16.99,17.33,17.69,18.20,18.45,19.01,
-19.35,19.76,19.96,20.33,20.75,21.11,21.48,21.75,22.13,22.67,
-22.89,23.39,23.68,24.12,24.51,25.06,25.26,25.59,25.93,26.51,
-26.73,27.10,27.42,27.95,28.38,28.67,29.09,29.43,29.76,30.18,
-30.52,31.06,31.19,31.70,31.97,32.56,32.79,33.11,33.48,33.89,
-34.41,34.69,35.05,35.57,35.80,36.22,36.60,37.02,37.55,38.04,
-38.19,38.38,38.89,39.32,39.88,40.21,40.27,40.87,41.20,41.28,
-41.83,42.43,42.83,42.88,43.55,43.67,44.09,44.65,44.84,45.18,
-45.75,45.97,46.41,46.82,46.98,47.53,47.98,48.31,48.70,49.34,
-49.32,49.79,50.27,50.78,50.74,51.13,51.66,52.31,52.68,52.80,
-53.12,53.60,53.88,54.60,54.48,55.08,55.55,55.85,56.33,56.69,
-57.13,57.16,57.83,58.33,58.51,58.84,59.33,59.63,60.02,60.37,
-60.81,61.25,61.35,61.80,62.07,62.70,63.13,63.18,63.81,64.00,
-64.54,65.04,65.23,65.52,65.88,66.42,66.78,66.92,67.20,67.83,
-68.37,68.69,69.25,69.38,69.92,70.34,70.61,71.09,71.36,71.77,
-72.23,72.50,72.72,73.46,73.63,73.87,74.36,74.78,74.94,75.43,
-75.82,76.44,76.56,76.92,77.49,77.75,78.27,78.23,78.85,79.24,
-79.56,80.16,80.33,80.76,81.24,81.47,81.71,82.50,82.69,83.10,
-83.34,83.91,84.37,84.76,85.17,85.48,85.62,86.17,86.20,86.84,
-87.22,87.31,88.06,88.31,88.49,88.81,89.30,89.95,90.36,90.48,
-90.97,91.30,91.53,92.14,92.24,92.79,93.27,93.79,93.78,94.31,
-94.84,94.98,95.44,95.99,96.29,96.56,97.00,97.29,97.39,98.27,
-98.56,98.81,99.09,99.72,99.76,100.40,100.83,100.96,101.89,101.96,
-102.39,102.56,103.18,103.34,103.80,104.04,104.37,105.00,105.14,105.69,
-105.80,106.14,107.07,107.32,107.51,107.77,108.25,108.47,109.12,109.53,
-109.99,110.06,110.68,110.79,111.56,111.80,112.05,112.32,112.95,113.54,
-3.77,4.11,4.47,4.78,5.21,5.50,5.79,6.09,6.55,6.90,
-7.27,7.62,7.97,8.24,8.64,8.81,9.30,9.57,9.90,10.28,
-10.58,10.97,11.31,11.70,12.04,12.40,12.65,13.13,13.44,13.73,
-13.98,14.44,14.84,15.16,15.57,15.84,16.23,16.60,16.69,17.17,
-17.45,17.75,18.22,18.45,18.82,19.29,19.50,19.82,20.34,20.72,
-20.96,21.38,21.70,21.92,22.33,22.84,23.17,23.35,23.67,24.02,
-24.38,24.72,25.05,25.30,25.79,26.14,26.54,26.76,27.14,27.46,
-27.65,28.29,28.61,28.80,29.23,29.57,29.72,30.15,30.66,30.88,
-31.28,31.52,31.93,32.29,32.62,32.94,33.36,33.64,34.06,34.28,
-34.67,35.03,35.32,35.55,36.07,36.50,36.72,37.19,37.46,37.80,
-38.16,38.63,38.90,39.25,39.41,39.73,40.16,40.59,40.83,41.32,
-41.61,41.90,42.20,42.46,42.92,43.18,43.62,44.14,44.22,44.40,
-44.97,45.24,45.61,45.91,46.47,46.73,47.11,47.54,47.62,48.02,
-48.40,48.72,49.20,49.52,49.76,50.12,50.55,50.79,51.13,51.35,
-51.91,52.36,52.52,52.89,53.16,53.77,53.81,54.32,54.41,54.87,
-55.26,55.58,55.82,56.31,56.67,56.88,57.24,57.96,57.97,58.32,
-58.64,58.95,59.18,59.75,60.14,60.45,60.96,61.10,61.24,61.80,
-62.38,62.44,62.71,63.33,63.41,64.16,64.33,64.29,64.83,65.42,
-65.76,65.92,66.25,66.35,66.87,67.33,67.60,68.08,68.40,68.77,
-69.26,69.43,69.63,69.88,70.50,70.76,71.05,71.40,71.70,72.28,
-72.44,72.80,73.30,73.41,73.87,74.31,74.61,74.89,75.09,75.40,
-76.08,76.16,76.49,76.87,77.24,77.65,77.97,78.17,79.07,79.04,
-79.38,79.80,79.79,80.35,80.67,80.99,81.42,81.79,82.12,82.28,
-83.03,82.99,83.38,83.92,83.92,84.40,84.87,85.02,85.43,85.87,
-86.19,86.43,86.89,87.16,87.60,87.99,88.27,88.56,88.83,89.29,
-89.98,89.92,90.42,90.65,90.98,91.46,91.64,92.14,92.17,92.73,
-93.06,93.38,93.56,94.23,94.64,94.87,95.50,95.33,95.89,96.19,
-96.50,96.62,97.43,97.31,97.75,98.16,98.60,98.89,99.39,99.72,
-100.25,100.10,100.40,100.89,101.17,101.92,101.72,102.43,102.64,103.14,
-3.46,3.73,4.08,4.36,4.71,4.94,5.30,5.62,6.04,6.18,
-6.51,6.84,7.12,7.50,7.80,8.12,8.50,8.79,9.12,9.38,
-9.73,9.96,10.27,10.45,10.97,11.14,11.52,11.92,12.12,12.60,
-12.67,13.18,13.46,13.75,14.10,14.42,14.70,15.10,15.41,15.62,
-15.94,16.18,16.61,16.92,17.24,17.40,17.85,18.14,18.43,18.80,
-19.06,19.47,19.64,20.14,20.38,20.56,20.89,21.16,21.65,21.85,
-22.15,22.53,22.83,23.22,23.52,23.79,24.00,24.33,24.75,24.94,
-25.35,25.54,25.98,26.22,26.61,26.79,27.27,27.50,27.86,28.10,
-28.38,28.91,29.16,29.35,29.66,29.94,30.32,30.64,30.80,31.18,
-31.46,31.84,32.05,32.49,32.87,33.06,33.53,33.84,34.27,34.36,
-34.77,35.07,35.40,35.55,35.98,36.09,36.61,36.85,37.19,37.51,
-37.91,38.11,38.66,38.66,38.97,39.58,39.65,39.79,40.34,40.62,
-40.88,41.43,41.73,41.91,42.12,42.55,42.63,43.15,43.56,43.79,
-44.00,44.40,44.62,45.06,45.41,45.65,46.02,46.18,46.81,46.94,
-47.21,47.51,47.63,48.06,48.40,48.89,49.12,49.44,49.59,49.91,
-50.38,50.58,51.06,51.26,51.75,51.85,52.28,52.47,52.80,53.25,
-53.41,53.77,53.91,54.46,54.64,54.95,55.06,55.68,56.01,56.38,
-56.48,57.17,57.28,57.35,57.95,58.06,58.53,58.63,59.05,59.40,
-59.71,59.95,60.23,60.39,60.98,61.37,61.69,61.72,62.13,62.57,
-62.90,63.27,63.25,63.69,64.20,64.45,64.77,64.92,65.20,65.65,
-65.97,66.26,66.61,67.00,67.28,67.32,67.97,67.98,68.47,68.97,
-68.92,69.43,69.65,69.82,70.36,70.71,71.01,71.12,71.96,72.24,
-72.07,72.21,72.55,73.23,73.42,73.64,74.02,74.47,74.86,74.95,
-75.39,75.70,75.85,76.29,76.65,77.11,77.13,77.37,77.78,78.03,
-78.16,78.71,79.22,79.42,79.69,79.96,80.46,80.59,80.98,81.33,
-81.39,82.04,82.01,82.74,82.93,83.13,83.67,83.55,84.10,84.40,
-84.65,85.04,85.42,85.93,85.94,86.73,86.57,86.89,87.53,87.41,
-87.66,88.04,88.27,88.80,89.11,89.45,89.65,89.86,90.07,90.58,
-90.75,91.29,91.35,91.69,92.35,92.53,92.88,92.99,93.45,93.67,
-3.16,3.44,3.68,3.95,4.24,4.55,4.84,5.11,5.40,5.71,
-6.01,6.19,6.62,6.82,7.09,7.42,7.64,7.98,8.25,8.52,
-8.80,9.16,9.33,9.61,9.87,10.17,10.54,10.82,11.13,11.37,
-11.69,11.95,12.24,12.40,12.71,13.07,13.32,13.68,13.91,14.20,
-14.44,14.81,15.09,15.45,15.71,15.97,16.15,16.49,16.78,17.07,
-17.34,17.69,17.97,18.34,18.53,18.82,19.11,19.40,19.54,19.84,
-20.16,20.50,20.74,20.97,21.31,21.70,22.03,22.30,22.43,22.78,
-23.05,23.24,23.57,23.86,24.31,24.36,24.65,24.94,25.36,25.66,
-26.00,25.99,26.54,26.75,27.07,27.22,27.65,27.86,28.16,28.27,
-28.50,28.99,29.27,29.54,29.72,30.18,30.54,30.87,31.15,31.26,
-31.77,31.89,32.13,32.58,32.55,33.01,33.38,33.53,33.71,34.03,
-34.38,34.54,34.91,35.34,35.44,35.69,36.26,36.34,36.91,36.86,
-37.35,37.66,37.79,38.17,38.25,38.65,38.89,39.42,39.51,39.78,
-40.19,40.22,40.60,40.95,41.21,41.58,42.00,42.14,42.40,42.71,
-42.87,43.27,43.35,43.81,44.01,44.50,44.61,44.88,45.13,45.41,
-45.83,46.17,46.34,46.85,46.99,47.17,47.53,47.86,48.12,48.37,
-48.72,48.99,49.10,49.32,49.63,50.03,50.56,50.55,50.80,51.17,
-51.37,51.79,52.07,52.41,52.57,53.05,53.05,53.37,53.77,54.05,
-54.39,54.55,54.87,54.94,55.44,55.85,56.06,56.28,56.45,56.83,
-56.92,57.43,57.51,58.21,58.37,58.56,58.77,59.31,59.55,59.72,
-60.24,60.36,60.43,60.84,61.19,61.38,61.38,62.20,62.42,62.52,
-62.59,63.05,63.38,63.54,64.05,64.12,64.59,64.79,64.99,65.70,
-65.79,65.85,66.36,66.66,66.87,67.21,67.47,67.86,67.79,68.36,
-68.62,68.93,68.94,69.64,69.72,70.23,70.31,70.59,70.87,71.01,
-71.16,71.57,71.88,72.41,72.57,72.54,72.98,73.45,73.96,73.90,
-74.22,74.74,74.70,75.03,75.27,75.73,75.98,76.14,76.30,76.99,
-76.72,77.41,77.67,78.02,78.10,78.27,78.89,79.05,79.70,79.56,
-79.93,80.12,80.64,80.77,81.15,81.35,81.49,81.78,82.46,82.70,
-82.75,83.07,83.19,83.64,84.06,84.00,84.60,84.86,84.79,85.43,
-2.85,3.18,3.33,3.66,3.84,4.27,4.38,4.62,4.89,5.25,
-5.49,5.72,5.98,6.21,6.46,6.67,6.94,7.19,7.52,7.69,
-7.98,8.33,8.56,8.73,9.13,9.44,9.63,9.88,10.03,10.41,
-10.56,10.91,11.14,11.43,11.62,11.90,12.22,12.41,12.71,13.01,
-13.16,13.40,13.69,13.95,14.22,14.51,14.82,15.02,15.24,15.51,
-15.69,16.15,16.28,16.56,16.91,17.07,17.27,17.44,17.78,18.14,
-18.36,18.68,18.99,19.07,19.40,19.68,19.95,19.97,20.35,20.72,
-21.05,21.18,21.49,21.73,21.99,22.22,22.56,22.71,23.05,23.30,
-23.50,23.79,24.05,24.36,24.49,24.92,25.01,25.42,25.55,25.88,
-25.96,26.16,26.64,26.89,27.19,27.35,27.74,28.03,28.19,28.50,
-28.59,28.92,29.14,29.51,29.82,30.06,30.21,30.44,30.78,30.98,
-31.55,31.54,31.90,31.99,32.46,32.53,32.74,33.24,33.38,33.65,
-33.83,34.12,34.38,34.85,34.95,35.43,35.56,35.73,35.97,36.38,
-36.40,36.65,36.85,37.23,37.61,37.66,37.97,38.33,38.49,38.84,
-39.02,39.39,39.54,40.01,40.05,40.37,40.85,40.92,41.15,41.42,
-41.48,41.80,42.23,42.53,42.69,43.26,43.35,43.27,43.72,44.10,
-44.31,44.62,44.85,44.73,45.35,45.46,45.95,46.14,46.27,46.60,
-46.79,47.08,47.50,47.57,47.78,48.18,48.17,48.99,49.09,49.23,
-49.44,49.83,49.92,50.16,50.56,50.63,51.20,51.19,51.67,51.78,
-51.83,52.22,52.48,52.89,52.93,53.25,53.76,53.91,53.97,54.41,
-54.60,54.72,54.99,55.32,55.55,55.75,56.21,56.52,56.73,56.82,
-57.15,57.28,57.71,57.87,58.09,58.58,58.70,58.95,59.31,59.58,
-59.80,59.99,60.32,60.42,60.79,61.26,61.45,61.79,61.80,61.97,
-62.12,62.71,62.83,63.01,63.43,63.82,63.88,64.07,64.45,64.47,
-64.92,65.31,65.31,65.56,65.97,66.49,66.65,66.70,67.05,67.67,
-67.61,67.76,68.23,68.31,68.64,68.54,69.15,69.56,69.53,69.69,
-70.34,70.54,70.62,71.02,71.05,71.46,71.65,72.09,72.17,72.73,
-73.00,73.04,73.31,73.64,73.64,74.15,74.28,74.61,74.78,75.01,
-75.28,75.81,75.76,76.06,76.38,76.67,76.70,77.14,77.57,77.60,
-2.57,2.83,3.02,3.36,3.56,3.76,4.07,4.16,4.49,4.69,
-4.91,5.19,5.48,5.66,5.92,6.13,6.29,6.54,6.83,7.18,
-7.31,7.59,7.72,7.98,8.26,8.34,8.78,8.93,9.09,9.40,
-9.61,9.91,10.14,10.31,10.68,10.86,11.01,11.38,11.55,11.79,
-12.03,12.28,12.53,12.69,12.90,13.17,13.50,13.62,13.88,14.12,
-14.34,14.65,14.86,15.05,15.22,15.48,15.82,16.01,16.26,16.55,
-16.67,17.08,17.12,17.45,17.81,17.82,18.10,18.44,18.66,18.77,
-18.99,19.15,19.50,19.70,20.04,20.18,20.51,20.65,20.88,21.35,
-21.53,21.68,21.89,22.11,22.30,22.60,22.90,22.99,23.12,23.51,
-23.90,24.14,24.15,24.44,24.69,25.14,25.26,25.43,25.65,25.98,
-26.19,26.43,26.69,26.95,27.14,27.31,27.83,27.78,28.14,28.38,
-28.46,28.64,28.83,29.28,29.45,29.74,29.88,30.18,30.41,30.58,
-30.80,31.12,31.32,31.69,31.79,32.00,32.21,32.42,32.86,33.16,
-33.34,33.43,33.77,33.91,34.11,34.28,34.71,34.81,35.13,35.27,
-35.50,35.90,36.19,36.24,36.62,36.84,36.91,37.12,37.41,37.84,
-37.84,38.13,38.47,38.56,38.80,39.11,39.41,39.48,39.96,40.07,
-40.18,40.55,40.79,41.23,41.40,41.64,41.63,41.97,42.01,42.46,
-42.80,42.82,43.01,43.34,43.73,43.94,43.98,44.47,44.40,44.70,
-44.99,45.31,45.35,45.72,45.96,46.40,46.31,46.90,46.88,47.10,
-47.50,47.45,47.79,47.84,48.34,48.50,48.82,48.88,49.45,49.26,
-49.73,49.82,50.06,50.32,50.53,50.62,51.25,51.21,51.59,51.83,
-52.01,52.03,52.53,52.62,53.15,53.20,53.26,53.67,53.89,54.12,
-54.43,54.71,54.76,55.08,55.20,55.55,55.87,56.03,56.25,56.60,
-56.82,56.91,57.22,57.55,57.84,58.24,58.03,58.28,58.70,58.84,
-59.02,59.43,59.43,59.90,59.86,60.17,60.36,60.76,61.08,61.28,
-61.56,61.70,62.03,61.88,62.34,63.02,63.09,63.31,63.29,63.39,
-63.94,64.08,64.35,64.89,64.56,65.11,65.35,65.43,65.76,66.08,
-66.48,66.38,66.67,66.88,67.18,67.26,67.36,67.65,68.18,68.30,
-68.49,68.58,69.14,69.23,69.22,69.79,69.95,70.07,70.42,70.51,
-2.38,2.56,2.80,3.04,3.25,3.48,3.65,3.88,4.03,4.28,
-4.52,4.74,4.93,5.16,5.28,5.55,5.71,5.98,6.18,6.38,
-6.55,6.84,7.02,7.21,7.39,7.76,7.94,8.07,8.42,8.64,
-8.85,8.94,9.17,9.41,9.71,9.99,10.15,10.19,10.58,10.66,
-10.90,11.14,11.34,11.59,11.83,12.01,12.10,12.35,12.61,12.83,
-13.17,13.26,13.51,13.76,13.85,14.24,14.34,14.52,14.75,15.08,
-15.11,15.30,15.69,15.94,16.02,16.36,16.51,16.79,16.98,17.11,
-17.45,17.52,17.76,18.10,18.22,18.48,18.63,18.94,19.08,19.18,
-19.51,19.65,19.89,20.15,20.32,20.62,20.69,21.06,21.23,21.34,
-21.53,21.84,22.31,22.27,22.51,22.68,23.05,23.16,23.41,23.62,
-23.74,23.84,24.04,24.39,24.55,24.86,25.25,25.35,25.51,25.61,
-25.90,26.08,26.27,26.57,26.85,27.02,27.21,27.52,27.67,27.96,
-28.02,28.40,28.48,28.78,28.91,29.16,29.40,29.55,29.82,30.04,
-30.18,30.24,30.80,30.84,30.99,31.26,31.36,31.83,31.72,32.09,
-32.51,32.48,32.85,33.08,33.11,33.32,33.58,33.73,34.06,34.14,
-34.36,34.86,34.86,35.38,35.40,35.53,35.86,36.03,36.07,36.45,
-36.63,36.89,37.16,37.32,37.66,37.66,38.02,38.12,38.46,38.53,
-38.71,39.16,39.38,39.51,39.64,39.70,40.23,40.32,40.46,40.84,
-41.02,40.98,41.50,41.63,41.82,41.94,42.17,42.48,42.60,42.66,
-43.20,43.28,43.38,43.92,43.68,44.21,44.47,44.71,44.79,44.97,
-45.25,45.48,45.58,45.82,45.95,46.26,46.66,46.88,46.80,47.20,
-47.15,47.48,48.01,47.92,48.37,48.45,48.65,48.70,49.00,49.40,
-49.88,49.72,50.00,50.16,50.27,50.60,50.71,51.04,51.25,51.23,
-51.73,52.02,52.01,52.33,52.54,52.81,52.88,53.20,53.46,53.36,
-53.65,54.01,54.22,54.39,54.67,54.83,54.94,55.30,55.40,55.76,
-56.14,56.16,56.04,56.65,56.77,56.95,57.15,57.32,57.54,57.51,
-58.14,58.19,58.48,58.63,59.05,59.24,59.45,59.43,59.81,60.15,
-60.45,60.52,60.83,60.79,61.01,61.27,61.54,61.82,61.84,62.12,
-62.49,62.43,62.81,62.79,63.45,63.39,63.54,64.32,64.23,64.29,
-2.12,2.34,2.55,2.78,3.02,3.12,3.29,3.44,3.69,3.90,
-4.13,4.36,4.54,4.62,4.89,5.08,5.24,5.47,5.67,5.88,
-6.11,6.31,6.47,6.62,6.83,6.93,7.20,7.54,7.62,7.80,
-8.09,8.20,8.30,8.50,8.83,8.97,9.27,9.48,9.57,9.75,
-9.96,10.10,10.32,10.54,10.74,10.86,11.10,11.42,11.49,11.76,
-11.84,11.98,12.29,12.53,12.74,12.87,13.14,13.23,13.45,13.60,
-13.75,14.01,14.26,14.49,14.53,14.88,14.91,15.23,15.36,15.74,
-15.75,15.88,16.13,16.32,16.41,16.89,16.96,17.22,17.37,17.42,
-17.68,18.00,18.02,18.37,18.52,18.70,18.76,19.12,19.31,19.41,
-19.74,19.81,19.95,20.20,20.47,20.73,20.99,21.01,21.13,21.52,
-21.74,21.84,22.08,22.17,22.33,22.60,22.88,23.09,23.22,23.48,
-23.62,23.77,23.99,24.08,24.32,24.62,24.83,25.09,24.95,25.41,
-25.48,25.71,25.77,26.23,26.46,26.58,26.67,26.89,27.01,27.42,
-27.52,27.65,27.96,28.12,28.23,28.50,28.71,28.82,29.07,29.24,
-29.40,29.60,30.05,30.15,30.12,30.36,30.68,30.80,30.89,31.31,
-31.43,31.65,31.78,32.00,32.12,32.32,32.68,32.84,33.13,33.05,
-33.40,33.51,33.74,33.71,33.93,34.44,34.50,34.73,34.91,35.17,
-35.36,35.62,35.78,36.04,36.26,36.38,36.55,36.62,36.95,37.17,
-37.18,37.39,37.68,37.91,38.37,38.35,38.35,38.52,38.83,38.89,
-39.28,39.45,39.83,39.75,39.95,40.16,40.40,40.54,40.79,40.90,
-41.21,41.28,41.57,41.79,41.84,41.94,42.22,42.66,42.93,43.12,
-42.98,43.42,43.79,43.81,43.92,44.07,44.44,44.57,44.61,44.89,
-45.03,45.37,45.37,45.55,45.81,45.91,46.17,46.21,46.60,46.70,
-46.94,47.38,47.48,47.81,47.75,47.76,48.20,48.26,48.62,48.46,
-49.02,49.24,49.27,49.54,49.92,49.91,50.03,50.40,50.34,50.74,
-51.01,51.23,51.05,51.66,51.74,51.80,52.23,52.30,52.38,52.57,
-52.63,53.00,53.45,53.61,53.47,54.05,53.92,53.92,54.47,54.68,
-54.93,55.20,55.20,55.35,55.56,55.75,56.08,55.96,56.55,56.65,
-56.80,57.06,57.30,57.46,57.33,57.60,57.97,58.17,58.31,58.41,
-1.98,2.10,2.33,2.53,2.64,2.84,3.01,3.17,3.37,3.56,
-3.75,3.87,4.12,4.25,4.42,4.68,4.78,5.00,5.12,5.39,
-5.57,5.72,5.83,6.01,6.26,6.38,6.61,6.84,6.99,7.01,
-7.29,7.45,7.65,7.74,8.00,8.11,8.35,8.48,8.73,8.77,
-9.04,9.30,9.23,9.61,9.79,9.90,10.14,10.22,10.49,10.64,
-10.85,11.05,11.21,11.40,11.63,11.71,11.93,12.09,12.29,12.36,
-12.57,12.89,12.99,13.08,13.30,13.42,13.59,13.84,14.04,14.23,
-14.38,14.54,14.85,14.91,15.05,15.31,15.54,15.71,15.77,15.92,
-16.22,16.31,16.42,16.54,16.75,16.98,17.22,17.27,17.50,17.74,
-17.91,18.24,18.41,18.61,18.63,18.79,18.96,19.17,19.24,19.51,
-19.64,19.74,20.03,20.16,20.44,20.68,20.73,21.16,21.19,21.29,
-21.55,21.69,21.84,21.97,22.14,22.36,22.59,22.79,23.13,22.97,
-23.13,23.54,23.66,23.77,23.93,24.12,24.42,24.39,24.92,24.75,
-24.95,25.10,25.30,25.59,25.48,26.03,26.05,26.15,26.39,26.59,
-26.78,26.92,27.07,27.17,27.46,27.72,27.63,28.02,28.09,28.36,
-28.78,28.76,28.96,28.94,29.41,29.26,29.73,29.73,29.90,30.46,
-30.32,30.38,30.71,30.72,31.01,31.27,31.55,31.54,31.53,31.99,
-32.07,32.08,32.72,32.66,32.73,33.02,33.10,33.25,33.53,33.63,
-33.85,34.05,34.21,34.53,34.68,34.77,34.55,35.16,35.33,35.41,
-35.68,35.73,36.00,35.91,36.22,36.68,36.98,36.99,37.34,37.10,
-37.32,37.77,37.76,37.98,38.31,38.45,38.29,38.77,38.87,38.92,
-39.46,39.19,39.53,39.62,40.00,40.02,40.45,40.37,40.85,40.80,
-40.88,40.87,41.39,41.57,41.77,41.88,42.10,42.10,42.50,42.55,
-42.94,42.99,43.39,43.33,43.61,43.50,43.61,44.10,44.24,44.20,
-44.44,44.64,44.80,45.07,45.23,45.44,45.65,45.87,46.15,46.24,
-46.50,46.52,46.73,46.93,47.06,47.14,47.54,47.49,47.76,47.95,
-48.27,48.34,48.42,48.49,48.74,49.23,49.27,49.32,49.41,49.55,
-50.01,49.98,50.40,50.57,50.59,50.85,50.88,51.00,51.22,51.42,
-51.70,52.03,52.25,52.19,52.29,52.60,52.67,52.84,52.82,53.32,
-1.80,2.00,2.07,2.26,2.45,2.58,2.79,2.96,3.02,3.19,
-3.45,3.53,3.79,3.87,4.02,4.25,4.38,4.60,4.64,4.88,
-5.02,5.16,5.34,5.54,5.63,5.72,5.97,6.17,6.37,6.55,
-6.61,6.79,6.94,7.12,7.20,7.47,7.52,7.65,7.92,8.05,
-8.20,8.46,8.57,8.70,8.91,9.01,9.21,9.45,9.54,9.71,
-9.86,10.14,10.26,10.27,10.50,10.61,10.89,11.04,11.09,11.15,
-11.35,11.69,11.74,11.96,12.09,12.31,12.43,12.66,12.68,12.90,
-13.10,13.19,13.41,13.52,13.71,13.93,14.02,14.29,14.30,14.62,
-14.65,14.92,14.98,15.10,15.25,15.51,15.65,15.74,15.90,16.18,
-16.38,16.52,16.48,16.78,17.06,17.00,17.22,17.37,17.71,17.58,
-17.96,18.10,18.28,18.55,18.73,18.68,19.02,18.99,19.35,19.41,
-19.54,19.61,19.71,19.81,20.14,20.46,20.50,20.74,20.75,21.07,
-21.27,21.39,21.58,21.57,21.67,22.05,22.17,22.25,22.43,22.54,
-22.59,23.08,23.08,23.24,23.36,23.66,23.79,23.96,23.80,24.12,
-24.51,24.57,24.61,24.62,24.88,25.06,25.21,25.60,25.83,25.74,
-26.09,26.13,26.38,26.59,26.61,26.98,27.02,27.12,27.25,27.33,
-27.46,27.66,27.81,28.27,28.16,28.34,28.61,28.80,28.90,29.18,
-29.33,29.40,29.56,29.82,29.96,30.09,30.10,30.39,30.48,30.83,
-30.92,31.01,31.14,31.07,31.59,31.76,31.76,31.99,32.29,32.37,
-32.52,32.67,32.87,32.99,33.19,33.38,33.39,33.53,33.95,33.90,
-34.14,34.20,34.53,34.59,34.81,34.72,35.20,35.11,35.48,35.48,
-35.69,35.70,36.10,36.20,36.34,36.43,36.70,36.75,37.06,37.19,
-37.13,37.44,37.41,37.72,37.67,37.92,38.21,38.49,38.54,38.73,
-38.99,39.03,39.02,39.30,39.53,39.81,39.80,39.72,40.27,40.31,
-40.54,40.90,40.95,40.98,41.23,41.36,41.55,41.65,41.75,41.99,
-42.01,42.27,42.57,42.58,42.79,42.72,43.43,43.38,43.48,43.76,
-43.85,44.23,44.21,44.10,44.22,44.56,45.10,44.98,45.04,45.42,
-45.49,45.77,45.93,45.80,46.05,46.07,46.18,46.52,46.83,46.75,
-47.02,47.21,47.42,47.44,47.63,47.87,48.10,48.15,48.16,48.49,
-1.62,1.78,1.91,2.05,2.25,2.41,2.49,2.66,2.79,2.94,
-3.03,3.23,3.36,3.51,3.64,3.76,4.01,4.09,4.36,4.46,
-4.53,4.74,4.88,5.05,5.00,5.30,5.50,5.61,5.73,5.86,
-6.02,6.18,6.29,6.49,6.66,6.68,6.87,7.06,7.15,7.37,
-7.36,7.73,7.78,7.88,8.11,8.26,8.28,8.60,8.70,8.73,
-9.02,9.18,9.28,9.31,9.55,9.74,9.74,9.99,10.13,10.34,
-10.44,10.66,10.62,10.87,10.95,11.19,11.40,11.46,11.61,11.71,
-11.96,12.02,12.20,12.44,12.46,12.70,12.88,12.86,13.15,13.29,
-13.46,13.70,13.73,13.78,14.12,14.22,14.28,14.45,14.44,14.69,
-14.86,15.06,15.28,15.22,15.36,15.51,15.96,15.92,16.00,16.26,
-16.46,16.57,16.69,16.92,16.83,17.06,17.14,17.43,17.63,17.72,
-17.65,17.95,18.11,18.07,18.33,18.52,18.69,18.70,18.84,18.94,
-19.13,19.39,19.65,19.66,19.72,20.06,20.15,20.32,20.46,20.59,
-20.71,20.78,20.97,21.18,21.25,21.35,21.67,21.73,21.93,22.06,
-22.14,22.27,22.57,22.71,22.91,22.96,23.33,23.19,23.19,23.34,
-23.62,23.75,23.93,24.38,24.15,24.38,24.62,24.77,24.91,24.77,
-25.24,25.28,25.47,25.63,25.81,26.16,25.97,26.05,26.17,26.52,
-26.54,27.00,26.77,27.04,27.02,27.26,27.48,27.60,27.88,27.86,
-28.20,28.24,28.27,28.61,28.48,28.75,28.75,29.05,29.33,29.31,
-29.56,29.70,29.61,29.96,30.28,30.14,30.51,30.45,30.49,30.97,
-30.92,31.00,31.04,31.64,31.88,31.70,31.95,32.14,32.16,32.35,
-32.51,32.62,32.78,32.95,32.97,33.28,33.27,33.68,33.57,33.75,
-33.96,34.03,34.28,34.41,34.47,34.95,34.80,34.88,35.02,35.32,
-35.38,35.79,35.62,35.86,36.02,36.23,36.15,36.47,36.32,36.89,
-36.87,36.97,37.55,37.33,37.70,37.56,37.75,38.28,38.07,38.26,
-38.37,38.44,38.81,38.78,38.84,39.18,39.36,39.35,39.64,39.57,
-39.86,39.91,40.05,40.21,40.31,40.76,40.60,40.80,41.02,41.26,
-41.25,41.53,41.54,41.65,41.77,41.90,42.02,42.07,42.38,42.63,
-42.86,42.91,43.19,42.94,43.17,43.49,43.76,43.86,43.66,44.02,
-1.46,1.62,1.76,1.91,2.03,2.10,2.29,2.35,2.54,2.74,
-2.84,2.91,3.09,3.28,3.30,3.46,3.68,3.71,3.87,4.01,
-4.10,4.28,4.44,4.58,4.67,4.75,4.90,5.02,5.31,5.32,
-5.54,5.62,5.73,6.04,6.06,6.20,6.32,6.43,6.58,6.66,
-6.76,6.97,7.07,7.22,7.33,7.46,7.61,7.81,7.86,8.00,
-8.13,8.36,8.38,8.47,8.78,8.72,8.93,9.16,9.09,9.41,
-9.46,9.71,9.68,9.91,10.04,10.16,10.22,10.44,10.56,10.63,
-10.80,10.93,11.18,11.22,11.53,11.55,11.54,11.85,11.93,12.03,
-12.18,12.18,12.38,12.57,12.72,12.65,13.00,13.10,13.21,13.44,
-13.64,13.58,13.82,13.87,14.12,14.22,14.20,14.31,14.44,14.71,
-14.79,14.91,15.11,15.18,15.49,15.49,15.75,15.73,15.97,16.00,
-16.20,16.40,16.28,16.58,16.51,16.81,17.09,17.20,17.37,17.48,
-17.38,17.65,17.70,17.94,18.12,18.10,18.25,18.46,18.51,18.73,
-18.79,19.05,19.21,19.32,19.32,19.69,19.73,19.87,19.95,20.18,
-20.03,20.42,20.32,20.66,20.80,21.04,21.00,21.25,21.38,21.59,
-21.63,21.68,21.86,21.85,22.14,22.18,22.45,22.46,22.63,22.88,
-22.92,22.91,23.32,23.36,23.54,23.58,23.68,23.68,24.01,24.16,
-24.28,24.40,24.52,24.63,24.84,24.83,24.93,25.14,25.25,25.39,
-25.45,25.60,25.82,26.09,26.25,26.32,26.29,26.69,26.73,26.71,
-26.70,26.98,27.11,27.13,27.65,27.47,27.57,27.79,27.80,27.95,
-28.20,28.31,28.43,28.41,28.63,28.85,29.02,29.08,29.19,29.48,
-29.53,29.86,29.79,30.10,30.13,30.16,30.34,30.38,30.68,30.81,
-30.86,31.00,31.16,31.34,31.43,31.61,31.86,31.77,32.06,32.14,
-32.13,32.44,32.64,32.67,32.91,32.92,33.19,33.03,33.19,33.08,
-33.45,33.73,33.66,33.78,34.09,34.15,34.40,34.33,34.60,34.54,
-34.84,34.89,35.13,35.34,35.46,35.44,35.65,35.81,35.93,36.31,
-36.05,36.45,36.49,36.67,36.74,36.87,37.05,37.27,37.16,37.60,
-37.52,37.82,37.51,37.98,37.94,38.17,38.32,38.46,38.71,38.82,
-39.02,39.20,39.28,39.53,39.30,39.46,39.88,39.79,40.22,40.08,
-1.32,1.46,1.61,1.69,1.80,1.96,2.09,2.25,2.34,2.40,
-2.59,2.69,2.78,2.85,3.02,3.16,3.22,3.32,3.51,3.67,
-3.71,3.85,4.02,4.11,4.23,4.39,4.45,4.64,4.68,4.92,
-4.97,5.20,5.28,5.39,5.44,5.57,5.70,5.80,5.91,5.93,
-6.23,6.42,6.44,6.54,6.72,6.85,6.97,7.09,7.21,7.27,
-7.36,7.52,7.66,7.80,7.84,8.09,8.19,8.12,8.37,8.54,
-8.70,8.75,8.83,9.02,9.10,9.21,9.36,9.53,9.60,9.71,
-9.87,9.91,10.14,10.23,10.40,10.38,10.56,10.76,10.85,11.02,
-11.04,11.27,11.25,11.46,11.43,11.67,11.78,11.91,12.21,12.16,
-12.30,12.47,12.64,12.67,12.78,12.94,12.88,13.13,13.25,13.34,
-13.52,13.55,13.79,13.84,14.10,14.26,14.31,14.29,14.38,14.59,
-14.68,14.84,14.94,15.07,15.17,15.39,15.43,15.53,15.63,15.85,
-15.92,15.99,16.18,16.44,16.41,16.58,16.91,16.78,16.86,17.06,
-17.17,17.38,17.48,17.62,17.77,17.70,17.81,18.05,17.98,18.19,
-18.41,18.48,18.51,18.56,18.90,18.91,19.02,19.18,19.26,19.53,
-19.44,19.77,19.73,19.95,19.91,20.15,20.44,20.43,20.58,20.53,
-20.80,20.95,21.07,21.11,21.26,21.44,21.45,21.56,21.70,21.78,
-22.03,22.14,22.29,22.57,22.45,22.62,22.83,22.74,23.07,23.29,
-23.30,23.33,23.44,23.69,23.79,23.90,24.05,24.09,24.21,24.13,
-24.48,24.57,24.80,24.83,24.87,25.14,25.12,25.29,25.34,25.53,
-25.93,25.90,25.85,25.97,26.34,26.32,26.35,26.75,26.55,26.82,
-26.86,26.97,27.25,27.34,27.28,27.69,27.68,27.88,27.91,28.16,
-27.92,28.10,28.34,28.56,28.85,28.68,28.69,28.91,28.92,29.00,
-29.38,29.47,29.46,29.76,29.88,29.95,30.11,30.06,30.36,30.22,
-30.57,30.36,30.96,30.80,31.06,31.26,31.25,31.53,31.50,31.69,
-31.86,31.81,32.04,32.16,32.18,32.49,32.60,32.62,32.86,32.63,
-32.99,33.26,33.35,33.29,33.25,33.71,33.52,33.99,33.96,34.15,
-34.11,34.21,34.49,34.36,34.66,34.62,34.95,34.96,35.08,35.26,
-35.39,35.55,35.76,35.71,35.81,36.06,36.15,36.21,36.61,36.61,
-1.20,1.36,1.47,1.60,1.67,1.75,1.92,2.00,2.09,2.24,
-2.35,2.46,2.53,2.63,2.80,2.83,3.04,3.06,3.13,3.29,
-3.45,3.54,3.66,3.74,3.91,3.93,4.15,4.27,4.33,4.36,
-4.55,4.74,4.69,4.86,4.95,5.14,5.31,5.25,5.42,5.61,
-5.69,5.80,5.96,6.04,6.06,6.10,6.34,6.45,6.44,6.73,
-6.81,6.89,6.97,7.08,7.26,7.31,7.46,7.60,7.59,7.78,
-7.77,7.91,8.12,8.18,8.34,8.59,8.41,8.60,8.79,8.89,
-8.88,9.14,9.21,9.17,9.38,9.51,9.49,9.74,9.82,10.00,
-10.06,10.22,10.32,10.51,10.57,10.65,10.66,10.72,10.91,11.04,
-11.33,11.34,11.54,11.50,11.66,11.65,11.81,11.93,12.15,12.09,
-12.18,12.26,12.62,12.72,12.74,12.83,12.95,13.18,13.11,13.28,
-13.31,13.54,13.56,13.72,13.96,13.99,14.13,14.23,14.35,14.45,
-14.59,14.51,14.88,14.94,14.89,15.23,15.17,15.22,15.52,15.55,
-15.57,15.63,15.78,15.98,16.11,16.27,16.46,16.27,16.54,16.70,
-16.70,16.69,17.05,17.19,17.04,17.28,17.30,17.50,17.68,17.77,
-17.88,18.01,18.07,18.23,18.05,18.55,18.47,18.61,18.70,18.72,
-18.92,18.98,19.04,19.26,19.60,19.61,19.64,19.65,20.04,19.78,
-20.01,20.16,20.33,20.34,20.56,20.54,20.65,20.92,20.95,21.20,
-21.14,21.36,21.34,21.43,21.84,21.70,21.68,21.89,21.98,22.03,
-22.13,22.51,22.40,22.54,22.64,22.90,22.78,23.08,23.09,23.15,
-23.39,23.45,23.64,23.74,23.79,23.75,24.14,24.00,24.28,24.36,
-24.53,24.58,24.62,24.79,24.90,25.02,25.11,25.34,25.52,25.67,
-25.55,25.65,25.92,26.01,26.08,26.15,26.36,26.27,26.59,26.48,
-26.73,26.66,26.65,27.18,27.15,26.94,27.65,27.58,27.54,27.68,
-27.82,28.03,28.09,28.14,28.33,28.33,28.42,28.70,28.93,29.02,
-28.91,29.12,29.06,29.37,29.27,29.53,29.57,29.80,29.70,30.03,
-30.06,30.23,30.20,30.57,30.64,30.49,30.63,30.76,30.92,31.18,
-30.96,31.21,31.29,31.52,31.57,31.67,31.76,31.84,32.00,31.92,
-32.36,32.22,32.53,32.51,32.52,32.70,32.65,32.94,32.94,33.38,
-1.12,1.21,1.33,1.38,1.46,1.61,1.67,1.83,1.90,2.01,
-2.10,2.19,2.37,2.45,2.51,2.61,2.73,2.80,2.93,2.99,
-3.12,3.25,3.36,3.42,3.53,3.54,3.63,3.74,3.88,4.07,
-4.14,4.23,4.29,4.41,4.57,4.61,4.75,4.83,4.99,5.08,
-5.15,5.25,5.34,5.49,5.48,5.67,5.68,5.82,6.09,6.07,
-6.08,6.16,6.30,6.50,6.51,6.67,6.72,6.86,6.93,7.13,
-7.24,7.33,7.41,7.43,7.57,7.70,7.70,7.85,7.88,8.00,
-8.03,8.29,8.25,8.53,8.58,8.60,8.67,8.87,8.98,9.06,
-9.17,9.26,9.36,9.42,9.52,9.69,9.73,9.99,10.08,10.07,
-10.20,10.40,10.37,10.57,10.64,10.64,10.84,10.88,10.87,11.07,
-11.18,11.19,11.38,11.57,11.72,11.84,11.78,11.98,11.97,12.04,
-12.13,12.39,12.35,12.61,12.63,12.63,12.80,12.95,13.07,12.95,
-13.14,13.40,13.33,13.47,13.77,13.84,13.79,13.84,14.03,13.99,
-14.02,14.30,14.35,14.54,14.62,14.82,14.85,14.96,15.07,15.19,
-15.19,15.38,15.44,15.54,15.53,15.77,15.83,15.99,16.03,16.14,
-16.22,16.41,16.42,16.60,16.55,16.68,16.77,16.85,17.07,17.13,
-17.31,17.39,17.43,17.63,17.69,17.70,17.81,17.91,18.07,18.22,
-18.19,18.46,18.41,18.56,18.67,18.76,18.91,18.99,19.11,19.15,
-19.35,19.35,19.44,19.54,19.70,19.81,19.75,19.81,19.91,20.06,
-20.10,20.36,20.44,20.59,20.64,20.64,20.92,21.15,21.07,21.10,
-21.12,21.35,21.40,21.52,21.63,21.65,21.70,22.07,22.15,21.91,
-22.27,22.42,22.53,22.57,22.56,23.01,22.81,23.03,23.08,23.38,
-23.26,23.20,23.73,23.60,23.71,23.96,24.07,23.90,24.14,24.10,
-24.44,24.48,24.54,24.51,24.68,24.68,24.83,24.93,25.20,25.35,
-25.13,25.60,25.50,25.44,25.71,25.90,26.07,26.00,25.93,26.28,
-26.25,26.55,26.34,26.64,26.59,26.64,26.82,26.75,27.02,27.46,
-27.27,27.44,27.46,27.69,27.68,27.71,27.79,28.23,28.14,28.36,
-28.21,28.76,28.27,28.47,28.88,28.96,28.95,28.94,29.10,29.04,
-29.48,29.53,29.70,29.58,29.48,29.86,29.82,30.11,30.24,30.15,
-4.15,4.46,4.87,5.29,5.62,6.08,6.41,6.73,7.15,7.56,
-7.86,8.22,8.53,8.98,9.44,9.68,10.17,10.51,10.84,11.22,
-11.52,12.01,12.27,12.60,13.04,13.46,13.71,14.22,14.55,14.97,
-15.28,15.75,16.03,16.50,16.76,17.20,17.50,17.86,18.33,18.73,
-19.04,19.42,19.68,20.14,20.55,20.85,21.32,21.58,21.95,22.24,
-22.77,23.04,23.68,23.84,24.14,24.53,25.02,25.32,25.89,26.02,
-26.57,26.80,27.09,27.52,28.06,28.41,28.87,29.03,29.30,29.91,
-30.19,30.53,30.82,31.38,31.56,32.04,32.49,32.74,33.03,33.73,
-34.02,34.20,34.60,35.02,35.46,35.82,35.97,36.53,36.97,37.35,
-37.65,38.00,38.40,38.67,39.02,39.82,39.77,40.25,40.69,40.98,
-41.24,41.88,42.04,42.51,42.60,43.18,43.69,43.91,44.18,44.72,
-44.95,45.26,46.04,46.02,46.31,46.85,47.40,47.60,48.01,48.52,
-48.79,49.05,49.44,49.78,50.33,50.51,51.01,51.37,51.88,52.29,
-52.54,52.83,53.29,53.74,53.92,54.19,54.47,55.00,55.27,55.67,
-56.48,56.58,56.81,57.31,57.69,58.06,58.57,58.78,58.95,59.57,
-60.07,60.12,60.62,61.10,61.53,61.74,62.47,62.52,62.84,62.90,
-63.91,63.99,64.34,64.78,65.03,65.54,66.00,66.20,66.56,66.89,
-67.27,67.61,68.32,68.39,68.84,69.20,69.50,69.92,70.29,70.73,
-71.09,71.64,71.90,72.04,72.53,73.03,73.26,73.66,74.18,74.26,
-74.77,75.25,75.71,75.58,76.30,76.68,77.11,77.42,77.90,78.31,
-78.56,78.80,79.31,79.75,80.00,80.45,80.79,81.14,81.39,81.65,
-82.41,82.54,83.06,83.20,83.92,84.10,84.38,84.81,85.50,85.70,
-86.09,86.36,86.70,87.09,87.42,87.91,88.29,88.42,88.95,89.52,
-89.67,89.94,90.18,90.71,91.33,91.68,91.73,92.34,92.49,92.73,
-93.15,94.04,94.41,94.58,94.91,95.30,95.38,96.03,96.45,96.70,
-96.90,97.80,97.68,98.06,98.85,99.28,99.35,99.62,100.23,100.12,
-100.90,101.20,101.46,102.01,102.59,102.64,102.94,103.51,103.63,104.08,
-104.41,105.01,105.40,105.73,106.14,106.57,106.91,106.76,107.44,107.79,
-108.51,108.61,109.23,109.14,109.54,110.11,110.66,111.19,111.60,111.73,
-3.80,4.17,4.47,4.83,5.12,5.48,5.92,6.24,6.50,6.91,
-7.21,7.51,7.88,8.32,8.51,8.91,9.30,9.62,9.92,10.24,
-10.63,11.06,11.28,11.58,12.14,12.34,12.71,13.05,13.29,13.75,
-14.12,14.48,14.75,15.17,15.41,15.82,16.21,16.42,16.87,17.24,
-17.59,17.83,18.22,18.47,18.88,19.15,19.53,19.90,20.11,20.54,
-20.89,21.26,21.62,21.96,22.20,22.55,22.80,23.44,23.60,24.08,
-24.18,24.67,24.95,25.49,25.64,26.05,26.32,26.73,27.00,27.45,
-27.73,28.26,28.61,28.67,28.95,29.57,29.92,30.05,30.45,30.81,
-31.17,31.71,32.00,32.15,32.63,32.92,33.01,33.63,34.10,34.31,
-34.58,34.90,35.44,35.77,36.04,36.41,36.57,37.14,37.26,37.66,
-38.04,38.41,38.46,38.98,39.43,39.63,40.07,40.56,40.83,41.12,
-41.22,41.60,41.99,42.43,42.79,43.16,43.38,43.81,44.49,44.55,
-44.64,45.38,45.68,45.99,46.21,46.60,46.97,47.16,47.74,47.72,
-48.34,48.47,48.90,49.39,49.70,50.02,50.19,50.70,50.88,51.30,
-51.81,52.18,52.27,52.71,53.04,53.34,53.91,53.97,54.65,54.63,
-55.17,55.45,55.66,56.26,56.65,56.85,57.02,57.35,57.82,58.32,
-58.64,58.87,59.27,59.55,60.16,60.06,60.65,61.01,61.16,61.88,
-62.00,62.03,62.56,62.93,63.00,63.71,64.14,64.25,64.81,65.15,
-65.46,65.98,66.28,66.41,66.59,66.96,67.13,67.65,67.95,68.54,
-68.83,69.26,69.49,69.91,70.00,70.83,70.83,71.05,71.60,72.01,
-72.16,72.50,72.89,73.20,73.71,73.97,74.40,74.75,74.98,75.27,
-75.65,75.90,76.40,76.64,76.94,77.27,77.70,78.10,78.31,79.06,
-79.36,79.39,80.02,80.45,80.55,81.05,81.16,81.42,81.74,82.42,
-82.57,82.80,83.16,83.57,83.80,84.05,84.41,84.51,85.11,85.67,
-86.13,86.32,86.25,86.97,87.31,87.59,87.92,88.56,88.42,89.11,
-89.30,89.59,89.93,90.33,90.56,90.94,91.66,91.77,92.30,92.12,
-93.04,92.93,93.31,94.19,94.27,94.22,95.24,95.31,95.47,95.62,
-96.03,96.62,96.64,97.19,97.65,97.70,98.02,98.54,98.83,99.49,
-99.91,99.95,100.35,100.82,101.08,101.38,101.79,101.92,102.00,102.56,
-3.49,3.88,4.17,4.45,4.81,5.05,5.39,5.65,5.98,6.32,
-6.64,6.96,7.28,7.61,7.95,8.20,8.46,8.84,9.19,9.56,
-9.83,10.22,10.44,10.77,11.06,11.44,11.67,12.05,12.24,12.67,
-13.01,13.16,13.50,13.88,14.26,14.57,14.86,15.10,15.42,15.77,
-16.08,16.36,16.81,16.99,17.35,17.82,17.80,18.37,18.75,18.87,
-19.37,19.62,19.88,20.27,20.47,20.91,21.29,21.42,21.65,22.18,
-22.38,22.77,22.92,23.25,23.74,23.98,24.26,24.57,24.93,25.11,
-25.48,25.89,26.01,26.31,26.75,27.16,27.56,27.77,27.95,28.50,
-28.69,28.98,29.44,29.61,29.99,30.30,30.57,30.92,31.18,31.50,
-31.82,32.04,32.42,32.77,33.20,33.46,33.80,34.04,34.23,34.60,
-35.04,35.32,35.65,36.03,36.17,36.54,36.85,37.25,37.56,37.96,
-38.08,38.48,38.55,39.11,39.42,39.60,39.88,40.35,40.54,41.07,
-41.37,41.65,41.87,42.37,42.62,43.02,43.26,43.60,43.84,43.99,
-44.46,44.84,44.84,45.39,45.73,46.33,46.29,46.61,47.03,47.29,
-47.51,47.97,48.19,48.63,48.66,49.20,49.61,49.64,49.91,50.44,
-50.54,50.85,51.23,51.57,52.04,52.13,52.70,52.83,53.13,53.62,
-53.85,54.02,54.35,54.73,55.15,55.32,55.70,55.82,56.53,56.85,
-57.21,57.00,57.77,58.10,58.31,58.58,58.86,59.17,59.56,59.77,
-60.08,60.40,60.78,61.35,61.57,61.74,62.09,62.54,62.55,62.85,
-63.14,63.64,63.99,64.24,64.57,64.92,65.17,65.48,65.87,66.10,
-66.52,66.71,67.11,67.53,67.70,68.01,68.54,69.00,69.01,69.53,
-69.39,69.96,70.21,70.33,70.89,71.09,71.82,71.68,71.88,72.59,
-72.87,73.07,73.39,73.91,73.97,74.48,74.71,75.22,75.23,75.63,
-75.88,75.97,76.52,77.04,76.86,77.50,77.47,78.26,78.39,78.80,
-78.97,79.24,79.56,80.07,80.20,80.44,80.91,81.32,81.71,81.90,
-82.27,82.56,82.78,83.22,83.53,83.73,84.45,84.32,84.46,85.16,
-85.36,85.85,85.92,86.27,86.62,86.97,86.93,87.59,87.90,88.37,
-88.31,88.72,89.22,89.11,89.71,90.05,90.26,90.53,90.94,91.06,
-91.54,91.97,92.46,92.64,92.79,92.95,93.49,93.46,94.22,94.36,
-3.24,3.49,3.83,4.03,4.38,4.63,4.92,5.29,5.57,5.87,
-6.12,6.45,6.72,6.97,7.31,7.58,7.82,8.21,8.44,8.70,
-9.03,9.25,9.59,9.87,10.21,10.52,10.74,11.08,11.41,11.70,
-11.79,12.18,12.48,12.71,13.20,13.29,13.70,13.97,14.16,14.44,
-14.81,15.05,15.35,15.71,15.96,16.28,16.48,16.98,17.05,17.43,
-17.69,18.09,18.21,18.55,18.82,19.27,19.51,19.78,20.11,20.31,
-20.66,20.90,21.13,21.50,21.67,21.97,22.34,22.57,22.86,23.16,
-23.59,23.72,24.21,24.38,24.78,25.00,25.12,25.58,25.70,26.09,
-26.47,26.56,26.97,27.18,27.58,27.91,28.15,28.39,28.63,28.93,
-29.36,29.47,29.94,30.38,30.43,30.71,30.98,31.41,31.58,31.89,
-32.30,32.45,32.86,33.04,33.26,33.47,33.92,34.11,34.60,34.90,
-35.24,35.29,35.70,35.78,36.27,36.57,36.92,37.06,37.43,37.76,
-37.90,38.28,38.39,38.73,39.21,39.52,39.57,39.96,40.31,40.51,
-41.02,41.14,41.36,41.90,42.02,42.27,42.59,42.82,43.10,43.46,
-43.85,44.05,44.39,44.73,44.85,45.18,45.57,45.78,46.03,46.48,
-46.85,46.80,47.30,47.47,47.84,48.05,48.53,48.84,49.06,49.33,
-49.53,49.89,50.19,50.47,50.63,50.97,51.25,51.52,51.80,52.25,
-52.27,52.69,53.17,53.49,53.34,53.77,54.13,54.51,54.90,54.90,
-55.36,55.32,55.79,56.05,56.46,56.86,57.02,57.41,57.55,58.13,
-58.49,58.65,58.89,59.16,59.26,59.81,60.01,60.32,60.37,60.76,
-61.05,61.39,61.82,62.06,62.41,62.41,62.71,63.06,63.54,63.74,
-64.29,64.47,64.58,64.78,65.28,65.41,66.02,66.20,66.47,66.70,
-66.90,67.05,67.48,67.59,67.99,68.39,68.60,68.89,69.47,69.61,
-69.78,70.16,70.60,70.78,70.97,71.29,71.56,71.86,72.15,72.62,
-72.67,72.99,73.36,73.64,74.00,74.38,74.42,74.81,75.17,75.39,
-75.26,75.88,76.05,76.39,76.79,77.19,77.28,77.74,78.01,78.21,
-78.54,78.95,78.97,79.43,79.72,79.81,79.96,80.65,80.65,81.35,
-81.29,81.53,82.00,82.11,82.59,82.74,83.40,83.60,83.50,84.05,
-84.36,84.56,85.04,85.14,85.44,85.40,85.89,86.38,86.39,87.02,
-2.98,3.28,3.46,3.81,4.03,4.37,4.62,4.85,5.06,5.38,
-5.63,5.85,6.12,6.34,6.65,6.99,7.16,7.54,7.75,8.05,
-8.27,8.59,8.93,9.00,9.34,9.65,9.87,10.16,10.43,10.71,
-10.96,11.09,11.52,11.71,12.09,12.24,12.50,12.75,13.08,13.40,
-13.67,13.90,14.19,14.44,14.62,14.89,15.16,15.53,15.69,16.02,
-16.23,16.69,16.88,17.06,17.29,17.51,17.93,18.15,18.34,18.69,
-18.96,19.25,19.53,19.60,19.94,20.32,20.49,20.75,21.16,21.43,
-21.58,21.86,22.14,22.47,22.66,23.00,23.33,23.51,23.89,23.94,
-24.09,24.66,24.77,24.99,25.34,25.68,25.82,26.34,26.30,26.62,
-26.82,27.23,27.42,27.59,28.02,28.17,28.50,28.69,29.09,29.26,
-29.65,29.75,30.28,30.36,30.72,30.87,31.15,31.43,31.66,32.03,
-32.33,32.55,32.82,33.18,33.19,33.51,33.95,34.24,34.38,34.54,
-34.95,35.34,35.48,35.68,35.98,36.17,36.50,36.85,36.95,37.23,
-37.54,38.00,38.05,38.43,38.52,38.90,39.30,39.39,39.81,40.23,
-40.15,40.59,40.83,41.04,41.43,41.64,41.90,42.28,42.54,42.73,
-42.72,43.09,43.58,43.55,43.92,44.26,44.66,44.92,45.27,45.50,
-45.69,45.88,46.03,46.28,46.73,46.95,47.23,47.39,47.62,47.95,
-48.24,48.58,48.80,49.06,49.53,49.59,49.80,49.93,50.23,50.60,
-50.93,51.11,51.34,51.56,52.21,52.07,52.51,52.63,53.02,53.21,
-53.38,53.92,54.06,54.30,54.67,54.92,55.04,55.62,55.69,55.85,
-56.32,56.43,56.85,56.87,57.36,57.63,57.90,58.24,58.43,58.37,
-58.82,59.14,59.44,59.69,59.96,60.25,60.50,60.67,61.01,61.30,
-61.53,61.78,62.25,62.23,62.60,63.11,63.27,63.32,63.86,64.06,
-64.36,64.45,64.78,65.13,65.03,65.60,66.03,66.04,66.29,66.59,
-66.94,66.95,67.42,67.60,68.04,68.32,68.41,68.66,69.31,69.08,
-69.82,69.69,70.18,70.05,70.39,70.91,71.08,71.59,71.77,72.13,
-72.35,72.61,72.58,73.18,73.26,73.73,73.92,73.75,74.34,74.40,
-75.08,75.22,75.42,75.73,75.88,76.22,76.55,76.52,77.00,77.55,
-77.39,77.90,78.07,78.12,78.67,79.07,79.48,79.23,79.71,80.08,
-2.73,2.96,3.19,3.44,3.74,3.96,4.20,4.43,4.78,4.94,
-5.24,5.35,5.78,5.94,6.15,6.34,6.64,6.89,7.12,7.33,
-7.64,7.89,8.02,8.44,8.60,8.91,9.10,9.38,9.62,9.79,
-10.16,10.32,10.60,10.78,11.02,11.25,11.52,11.69,12.02,12.30,
-12.63,12.82,13.05,13.15,13.46,13.71,14.02,14.22,14.55,14.67,
-15.07,15.31,15.47,15.82,15.82,16.23,16.43,16.69,16.93,17.16,
-17.30,17.75,17.99,18.20,18.45,18.75,18.92,19.03,19.29,19.60,
-19.87,19.99,20.44,20.73,20.95,21.22,21.23,21.46,21.85,22.11,
-22.31,22.67,22.92,23.05,23.54,23.61,23.86,24.07,24.27,24.45,
-24.87,25.05,25.26,25.48,25.67,26.09,26.31,26.65,26.71,26.97,
-27.29,27.51,27.79,27.83,28.29,28.36,28.63,29.07,29.23,29.46,
-29.80,29.92,30.29,30.40,30.69,30.86,31.01,31.29,31.67,32.02,
-32.37,32.53,32.67,32.79,33.15,33.36,33.56,33.75,34.15,34.31,
-34.62,34.75,35.22,35.61,35.67,35.90,36.05,36.33,36.55,36.86,
-37.16,37.27,37.54,37.90,38.04,38.24,38.50,38.77,38.98,39.31,
-39.59,39.73,39.83,40.26,40.34,40.65,41.01,41.10,41.52,41.93,
-42.07,42.23,42.41,42.78,42.94,43.26,43.45,43.75,44.05,43.85,
-44.32,44.68,44.78,45.24,45.37,45.63,45.71,46.09,46.47,46.62,
-47.03,46.89,47.36,47.71,47.88,48.20,48.46,48.58,48.74,49.40,
-49.29,49.70,49.92,50.15,50.45,50.29,50.67,50.93,51.25,51.72,
-51.92,52.15,52.23,52.40,52.62,52.98,53.23,53.47,53.74,53.98,
-54.14,54.55,54.81,54.75,55.19,55.24,55.52,56.06,56.15,56.40,
-56.88,56.96,57.18,57.27,57.72,57.90,58.20,58.39,58.31,58.93,
-59.17,59.30,59.52,59.76,59.91,60.24,60.72,60.77,61.14,61.66,
-61.64,61.83,62.01,62.08,62.20,62.72,63.11,63.29,63.58,63.76,
-63.97,64.26,64.55,64.70,64.93,65.20,65.31,65.99,65.91,66.22,
-66.40,66.55,66.89,67.18,67.42,67.73,67.99,67.98,68.36,68.92,
-68.92,69.19,69.61,69.46,69.79,69.94,70.43,70.71,70.76,71.09,
-71.43,71.66,71.81,72.05,72.25,72.52,72.74,73.12,73.56,73.39,
-2.51,2.71,2.99,3.18,3.41,3.62,3.81,4.14,4.29,4.53,
-4.80,5.05,5.21,5.50,5.62,5.88,6.16,6.33,6.61,6.79,
-7.04,7.26,7.46,7.68,7.91,8.09,8.38,8.56,8.87,9.08,
-9.21,9.56,9.73,9.96,10.17,10.44,10.58,10.78,11.07,11.33,
-11.63,11.84,12.02,12.20,12.45,12.61,12.82,13.13,13.29,13.65,
-13.75,13.96,14.17,14.41,14.76,14.95,15.21,15.43,15.48,15.83,
-16.11,16.25,16.59,16.78,16.98,17.21,17.44,17.64,17.71,18.05,
-18.27,18.66,18.73,18.92,19.24,19.51,19.50,19.95,20.05,20.36,
-20.56,20.64,21.07,21.21,21.38,21.80,21.81,22.14,22.42,22.51,
-22.92,23.23,23.44,23.67,23.69,24.03,24.23,24.51,24.66,24.86,
-25.10,25.37,25.56,25.62,26.00,26.28,26.44,26.60,26.93,27.17,
-27.47,27.56,27.86,27.92,28.11,28.54,28.52,28.87,29.11,29.28,
-29.51,29.93,30.08,30.23,30.41,30.66,31.09,31.16,31.37,31.61,
-31.56,32.13,32.41,32.48,32.85,32.90,33.08,33.41,33.61,33.73,
-34.11,34.29,34.45,34.73,34.83,35.20,35.20,35.68,35.87,36.38,
-36.28,36.48,37.01,37.01,37.29,37.45,37.78,37.97,38.20,38.38,
-38.63,39.00,39.09,39.24,39.43,39.83,40.18,40.03,40.36,40.73,
-40.94,40.96,41.36,41.53,41.67,42.05,42.05,42.48,42.59,42.91,
-43.23,43.47,43.47,43.99,44.12,44.23,44.28,44.46,44.92,45.09,
-45.32,45.42,45.78,46.01,46.22,46.39,46.53,47.06,47.21,47.25,
-47.74,47.84,48.02,48.20,48.45,48.80,48.94,49.22,49.34,49.35,
-49.84,50.13,50.46,50.53,50.62,51.11,51.27,51.26,51.80,51.83,
-52.12,52.65,52.56,52.84,53.08,53.17,53.41,53.59,54.01,54.08,
-54.28,54.51,54.88,55.07,55.38,55.60,55.75,55.73,56.19,56.45,
-56.41,56.94,56.95,57.60,57.41,57.70,57.99,58.25,58.17,58.59,
-59.15,59.11,59.25,59.35,59.94,59.86,60.20,60.43,60.77,60.82,
-61.18,61.39,61.73,61.75,61.75,62.23,62.67,63.01,62.93,63.23,
-63.37,63.59,63.93,64.06,64.27,64.49,64.52,65.09,65.13,65.44,
-65.70,66.00,66.20,66.35,66.50,66.76,67.10,67.24,67.56,67.54,
-2.33,2.49,2.71,2.91,3.12,3.37,3.51,3.72,3.93,4.16,
-4.39,4.63,4.80,4.94,5.21,5.44,5.58,5.84,6.08,6.28,
-6.45,6.69,6.90,7.12,7.38,7.54,7.80,7.94,8.16,8.34,
-8.50,8.72,8.93,9.14,9.43,9.64,9.82,9.94,10.29,10.40,
-10.54,11.00,11.01,11.23,11.34,11.68,12.00,12.05,12.35,12.55,
-12.70,12.95,13.17,13.16,13.50,13.60,13.95,14.14,14.40,14.62,
-14.85,15.04,15.16,15.35,15.67,15.70,16.01,16.33,16.33,16.53,
-16.77,17.03,17.18,17.47,17.79,17.87,17.91,18.20,18.53,18.63,
-18.90,19.23,19.18,19.60,19.73,20.07,20.08,20.30,20.58,20.71,
-21.07,21.22,21.32,21.73,21.83,22.00,22.08,22.37,22.63,22.92,
-23.15,23.31,23.52,23.66,23.92,24.22,24.33,24.60,24.60,24.84,
-25.26,25.35,25.51,25.79,25.89,26.26,26.44,26.72,26.86,27.13,
-27.19,27.31,27.72,27.82,27.85,28.23,28.65,28.70,28.75,29.07,
-29.30,29.39,29.72,29.88,30.09,30.42,30.45,30.76,30.95,30.97,
-31.36,31.46,31.72,31.83,32.21,32.34,32.69,32.77,32.91,33.26,
-33.45,33.78,33.92,34.00,34.18,34.52,34.76,34.81,34.94,35.39,
-35.53,35.78,35.99,36.05,36.50,36.58,36.85,37.03,37.24,37.36,
-37.67,37.88,37.98,38.05,38.28,38.55,38.83,39.07,39.20,39.41,
-39.62,39.82,40.30,40.30,40.46,40.90,40.99,41.06,41.26,41.47,
-41.69,41.85,41.99,42.10,42.51,42.66,43.05,43.17,43.34,43.80,
-43.80,43.87,44.39,44.33,44.47,44.88,44.96,45.19,45.45,45.90,
-46.08,46.16,46.61,46.62,46.55,47.06,47.12,47.19,47.39,47.52,
-47.71,48.05,48.27,48.75,49.13,49.14,49.06,49.32,49.65,49.71,
-50.03,50.00,50.57,50.76,50.92,50.90,51.26,51.39,51.63,51.55,
-52.21,52.32,52.74,52.72,52.94,53.15,53.16,53.96,53.68,54.17,
-54.17,54.57,54.52,54.95,54.92,55.31,55.52,55.56,55.87,56.09,
-56.44,56.67,56.97,56.82,56.83,57.13,57.71,57.77,57.93,58.11,
-58.23,58.61,58.91,59.15,59.31,59.38,59.44,59.82,59.85,60.23,
-60.62,60.65,60.80,61.07,61.06,61.27,61.81,61.68,62.00,62.10,
-2.11,2.33,2.47,2.73,2.88,3.11,3.27,3.47,3.67,3.83,
-4.02,4.21,4.35,4.64,4.81,5.00,5.13,5.37,5.55,5.74,
-5.94,6.15,6.38,6.50,6.69,6.91,7.10,7.31,7.52,7.67,
-7.84,8.02,8.15,8.53,8.53,8.81,9.02,9.25,9.38,9.57,
-9.76,9.95,10.17,10.25,10.54,10.58,10.92,11.06,11.32,11.44,
-11.62,11.87,11.96,12.20,12.37,12.69,12.82,13.00,13.23,13.47,
-13.58,13.85,13.99,14.14,14.22,14.48,14.80,14.94,15.10,15.32,
-15.53,15.64,15.84,15.93,16.21,16.53,16.68,16.83,16.95,17.16,
-17.28,17.57,17.89,17.95,18.06,18.35,18.45,18.88,18.86,19.30,
-19.21,19.48,19.76,20.07,19.91,20.20,20.44,20.44,21.06,20.99,
-21.22,21.44,21.53,21.77,22.10,22.31,22.36,22.58,22.82,22.90,
-23.13,23.30,23.53,23.70,23.90,24.28,24.21,24.33,24.61,24.83,
-24.99,25.14,25.45,25.47,25.80,26.16,26.35,26.46,26.55,26.83,
-26.89,27.24,27.47,27.73,27.82,27.88,28.10,28.34,28.30,28.83,
-28.77,28.96,29.22,29.50,29.69,29.95,30.05,30.11,30.40,30.62,
-30.70,30.83,31.17,31.36,31.69,31.63,31.97,31.89,32.43,32.63,
-32.51,32.64,32.99,33.12,33.52,33.71,33.87,33.86,34.18,34.33,
-34.38,34.99,35.04,35.15,35.53,35.44,35.62,35.98,36.12,36.23,
-36.41,36.75,36.82,36.95,37.28,37.49,37.72,37.81,37.84,38.05,
-38.40,38.58,38.70,38.89,39.18,39.26,39.61,39.64,39.78,40.11,
-40.40,40.66,40.84,40.73,41.12,41.22,41.41,41.33,41.77,41.95,
-42.33,42.27,42.70,42.77,43.01,43.03,43.58,43.52,43.66,44.02,
-44.25,44.43,44.47,44.54,45.11,44.92,45.27,45.18,45.59,45.58,
-46.02,46.28,46.58,46.56,46.67,46.94,47.11,47.17,47.60,47.78,
-47.67,48.29,48.36,48.48,48.81,48.71,49.17,49.17,49.47,49.56,
-49.80,50.04,50.36,50.52,50.72,50.87,51.00,51.44,51.38,51.48,
-51.75,52.06,51.87,52.31,52.45,52.60,52.94,53.23,53.14,53.40,
-53.51,53.71,54.21,54.42,54.54,54.62,54.95,55.05,55.09,55.22,
-55.40,55.76,55.84,55.92,56.46,56.50,56.68,57.03,57.02,57.45,
-1.94,2.11,2.31,2.47,2.53,2.87,2.99,3.23,3.43,3.48,
-3.71,3.89,4.00,4.26,4.41,4.61,4.75,4.91,5.16,5.31,
-5.48,5.68,5.86,5.99,6.16,6.26,6.42,6.72,6.92,7.03,
-7.20,7.40,7.57,7.75,7.92,8.01,8.28,8.39,8.54,8.72,
-9.03,9.16,9.31,9.43,9.63,9.84,10.12,10.21,10.39,10.52,
-10.77,10.89,11.09,11.29,11.51,11.64,11.83,12.05,12.13,12.29,
-12.43,12.64,12.80,13.09,13.12,13.28,13.65,13.66,13.81,14.09,
-14.30,14.46,14.69,14.83,15.00,14.99,15.36,15.42,15.67,15.81,
-16.07,16.32,16.54,16.57,16.68,16.94,17.09,17.24,17.41,17.57,
-17.70,18.02,18.20,18.27,18.49,18.70,18.72,19.21,19.18,19.39,
-19.54,19.63,19.91,20.10,20.20,20.37,20.66,20.63,20.98,21.07,
-21.44,21.23,21.60,21.77,22.01,22.01,22.37,22.46,22.73,22.75,
-22.96,23.27,23.35,23.47,23.73,24.08,24.12,24.21,24.37,24.51,
-24.69,24.77,25.18,25.32,25.41,25.60,25.98,26.10,26.01,26.35,
-26.53,26.84,26.96,26.98,27.16,27.45,27.67,27.82,27.77,28.04,
-28.15,28.59,28.70,28.68,28.99,29.34,29.33,29.49,29.79,29.88,
-30.02,30.17,30.58,30.45,30.75,30.83,31.07,31.24,31.40,31.50,
-31.69,31.97,32.08,32.39,32.46,32.70,32.80,33.11,33.24,33.44,
-33.41,33.67,33.69,34.21,34.15,34.38,34.65,34.82,34.96,35.22,
-35.43,35.41,35.68,35.89,36.00,36.25,36.42,36.57,36.68,36.75,
-37.21,37.18,37.41,37.72,37.70,37.81,38.19,38.43,38.34,38.74,
-38.67,39.00,39.25,39.43,39.59,39.54,39.81,40.11,40.05,40.39,
-40.74,40.85,41.22,41.26,41.39,41.37,41.80,41.74,41.88,42.38,
-42.46,42.59,42.73,43.10,43.18,43.33,43.51,43.55,43.85,43.85,
-44.27,44.41,44.57,44.62,44.64,45.01,45.21,45.68,45.58,45.47,
-46.03,46.27,46.36,46.52,46.63,46.43,46.88,47.17,47.49,47.57,
-47.66,47.74,48.16,48.23,48.56,48.63,48.57,48.99,49.09,49.23,
-49.40,49.57,49.85,49.71,50.19,50.38,50.62,50.62,50.91,51.01,
-51.09,51.46,51.56,51.76,51.65,51.87,52.10,52.35,52.53,52.48,
-1.82,1.94,2.12,2.28,2.49,2.62,2.73,2.91,3.03,3.28,
-3.35,3.57,3.69,3.87,4.04,4.21,4.34,4.53,4.74,4.80,
-4.97,5.23,5.36,5.48,5.72,5.79,6.01,6.14,6.39,6.49,
-6.66,6.86,6.90,7.18,7.24,7.43,7.65,7.72,7.90,8.07,
-8.20,8.44,8.58,8.73,8.97,9.03,9.18,9.24,9.56,9.73,
-9.91,10.04,10.16,10.37,10.44,10.72,10.82,10.97,11.12,11.23,
-11.59,11.68,11.73,11.93,12.08,12.25,12.47,12.65,12.90,12.86,
-13.07,13.29,13.52,13.69,13.71,13.93,14.10,14.21,14.41,14.59,
-14.62,14.91,15.18,15.22,15.37,15.69,15.71,15.94,16.03,16.16,
-16.42,16.59,16.59,16.77,17.02,17.06,17.36,17.48,17.70,17.90,
-17.98,18.01,18.33,18.33,18.64,18.89,19.02,18.94,19.18,19.34,
-19.64,19.70,19.89,20.11,20.00,20.37,20.48,20.71,20.83,20.89,
-21.08,21.17,21.47,21.69,21.81,22.05,22.33,22.25,22.39,22.62,
-22.73,22.97,23.20,23.22,23.32,23.71,23.75,23.91,24.04,24.18,
-24.46,24.44,24.64,24.84,25.20,25.13,25.36,25.53,25.66,25.89,
-26.18,26.28,26.31,26.59,26.82,26.87,27.03,27.21,27.20,27.51,
-27.64,27.80,28.00,28.18,28.14,28.49,28.79,28.91,29.11,29.08,
-29.14,29.34,29.66,29.85,29.84,30.25,30.38,30.59,30.49,30.79,
-30.62,30.97,31.15,31.30,31.41,31.77,31.83,31.92,32.21,32.33,
-32.62,32.59,32.89,32.86,33.00,33.34,33.45,33.77,33.78,33.92,
-34.08,34.46,34.47,34.55,34.72,34.85,35.12,35.25,35.38,35.49,
-35.70,35.87,36.08,36.00,36.44,36.63,36.63,36.86,37.12,37.18,
-37.39,37.42,37.60,37.91,37.88,38.11,38.47,38.47,38.56,39.05,
-38.98,39.07,39.31,39.27,39.50,39.74,40.02,39.95,40.32,40.42,
-40.41,40.64,40.90,41.02,41.35,41.33,41.85,41.67,41.78,42.11,
-42.21,42.27,42.73,42.69,43.12,42.92,43.21,43.29,43.41,43.61,
-43.72,43.63,44.05,44.15,44.55,44.64,44.86,44.99,45.12,45.47,
-45.34,45.51,45.71,45.83,46.00,46.33,46.48,46.34,46.71,46.97,
-46.98,47.17,47.21,47.37,47.76,47.91,47.87,48.05,48.27,48.38,
-1.66,1.85,1.96,2.08,2.24,2.32,2.56,2.71,2.80,2.93,
-3.16,3.33,3.48,3.57,3.65,3.89,3.98,4.18,4.33,4.44,
-4.63,4.76,4.93,5.07,5.25,5.37,5.46,5.66,5.81,6.03,
-6.16,6.29,6.43,6.45,6.58,6.86,7.01,7.21,7.27,7.46,
-7.63,7.71,7.84,8.06,8.22,8.35,8.46,8.67,8.86,8.93,
-9.26,9.30,9.35,9.50,9.63,9.89,9.98,10.25,10.17,10.34,
-10.53,10.80,10.85,11.13,11.10,11.30,11.51,11.67,11.80,11.95,
-12.05,12.29,12.45,12.53,12.79,12.90,12.87,13.19,13.24,13.58,
-13.59,13.54,13.80,14.07,14.08,14.34,14.44,14.61,14.68,14.86,
-14.94,15.17,15.38,15.51,15.63,15.81,15.93,16.19,16.28,16.56,
-16.55,16.56,16.83,17.08,17.12,17.27,17.53,17.58,17.65,17.95,
-18.06,18.20,18.27,18.45,18.64,18.76,18.82,19.06,19.22,19.31,
-19.44,19.59,19.78,20.09,20.14,20.27,20.46,20.57,20.80,20.98,
-21.02,21.05,21.34,21.41,21.39,21.69,21.94,22.15,22.19,22.29,
-22.55,22.62,22.72,22.84,23.00,23.32,23.38,23.78,23.77,23.85,
-24.04,23.93,24.22,24.41,24.67,24.68,24.88,24.85,25.20,25.19,
-25.46,25.58,25.84,25.97,25.98,26.14,26.41,26.34,26.53,26.90,
-26.98,26.98,27.14,27.41,27.46,27.62,27.89,28.03,28.11,28.10,
-28.39,28.63,28.71,28.98,28.77,29.12,29.22,29.43,29.57,29.76,
-29.79,30.02,30.17,30.21,30.48,30.48,30.71,30.96,31.10,31.36,
-31.47,31.56,31.59,31.68,32.08,32.12,32.24,32.31,32.54,32.77,
-32.91,33.10,33.07,33.39,33.59,33.67,33.66,33.87,34.16,34.26,
-34.38,34.58,34.81,34.76,34.93,35.16,35.28,35.25,35.74,35.74,
-35.85,36.03,35.99,36.23,36.45,36.52,36.77,36.92,37.08,37.09,
-37.36,37.48,37.60,37.71,37.71,38.08,38.18,38.32,38.57,38.70,
-38.56,38.96,39.07,39.12,39.37,39.93,39.67,39.91,39.96,40.03,
-40.35,40.55,40.57,40.91,41.01,41.13,41.15,41.26,41.59,41.74,
-41.70,41.95,42.16,42.48,42.61,42.49,42.77,42.95,43.02,43.08,
-43.29,43.36,43.55,43.64,43.95,44.09,44.03,44.32,44.42,44.52,
-1.57,1.62,1.80,1.92,2.03,2.24,2.30,2.47,2.61,2.74,
-2.87,3.03,3.17,3.27,3.44,3.59,3.77,3.88,3.95,4.10,
-4.29,4.37,4.51,4.67,4.83,4.89,5.08,5.16,5.45,5.57,
-5.53,5.75,5.98,5.99,6.18,6.29,6.44,6.55,6.70,6.86,
-7.07,7.06,7.28,7.37,7.52,7.68,7.85,7.94,8.15,8.27,
-8.33,8.53,8.62,8.78,8.88,9.09,9.16,9.44,9.52,9.60,
-9.66,9.90,9.94,10.19,10.24,10.27,10.57,10.66,10.79,11.01,
-11.09,11.33,11.45,11.60,11.63,11.70,11.83,11.99,12.38,12.37,
-12.43,12.60,12.64,12.91,13.03,13.16,13.34,13.54,13.41,13.60,
-13.76,13.89,14.07,14.22,14.42,14.44,14.78,14.71,14.90,15.16,
-15.11,15.29,15.34,15.54,15.73,15.84,16.10,16.23,16.54,16.41,
-16.50,16.73,16.83,16.99,17.07,17.22,17.34,17.61,17.65,17.81,
-17.96,18.14,18.09,18.42,18.48,18.59,18.91,18.75,18.95,19.09,
-19.29,19.54,19.54,19.68,19.76,20.10,20.01,20.21,20.42,20.56,
-20.63,20.82,20.73,21.22,21.06,21.24,21.62,21.63,21.64,21.78,
-22.08,22.20,22.31,22.43,22.64,22.78,22.90,23.00,23.21,23.09,
-23.32,23.44,23.61,23.72,23.83,24.05,24.15,24.32,24.61,24.56,
-24.68,24.83,24.90,25.14,25.25,25.34,25.62,25.77,25.98,26.11,
-26.02,26.10,26.32,26.74,26.74,26.86,26.88,27.09,27.28,27.53,
-27.55,27.61,27.98,27.79,28.06,28.16,28.15,28.54,28.70,28.75,
-28.82,29.23,29.11,29.50,29.30,29.47,29.72,29.65,30.05,30.05,
-30.29,30.52,30.61,30.55,30.90,30.94,31.04,31.07,31.32,31.55,
-31.67,31.88,31.88,32.03,32.21,32.22,32.50,32.25,32.51,32.82,
-33.02,33.01,33.33,33.40,33.74,33.73,33.71,34.15,33.98,34.18,
-34.36,34.39,34.66,34.98,34.97,34.86,35.38,35.23,35.20,35.47,
-35.80,36.03,35.92,36.08,36.30,36.18,36.44,36.75,36.86,36.76,
-37.18,37.16,37.26,37.27,37.66,37.81,37.66,38.06,38.24,38.31,
-38.52,38.53,38.91,38.73,39.07,38.81,39.40,39.30,39.57,39.58,
-39.70,39.91,40.38,40.20,40.11,40.44,40.60,40.94,40.74,41.09,
-1.44,1.56,1.60,1.77,1.95,2.02,2.14,2.26,2.40,2.51,
-2.66,2.77,2.88,3.04,3.21,3.31,3.44,3.50,3.72,3.80,
-3.95,4.06,4.16,4.33,4.47,4.58,4.70,4.68,4.88,4.99,
-5.16,5.24,5.39,5.55,5.72,5.76,5.92,6.14,6.25,6.39,
-6.39,6.47,6.68,6.83,6.88,7.00,7.05,7.30,7.39,7.55,
-7.52,7.88,7.83,8.02,8.20,8.26,8.39,8.63,8.55,8.82,
-8.99,9.05,9.26,9.35,9.52,9.49,9.87,9.80,9.90,10.17,
-10.05,10.27,10.40,10.62,10.57,10.79,10.96,11.04,11.27,11.29,
-11.45,11.59,11.79,11.87,11.89,12.03,12.09,12.38,12.47,12.50,
-12.74,12.87,12.86,13.19,13.26,13.51,13.46,13.55,13.68,13.70,
-13.92,14.03,14.16,14.30,14.47,14.58,14.68,14.97,14.92,15.13,
-15.30,15.38,15.57,15.67,15.76,15.80,15.98,16.11,16.23,16.46,
-16.50,16.62,16.76,16.77,16.94,17.28,17.16,17.41,17.44,17.48,
-17.68,18.01,18.02,18.11,18.23,18.42,18.42,18.73,18.73,18.84,
-18.83,19.02,19.20,19.39,19.54,19.59,19.84,20.04,19.99,20.14,
-20.15,20.31,20.50,20.66,21.05,20.95,20.97,21.00,21.34,21.42,
-21.55,21.60,21.82,21.95,21.98,22.16,22.46,22.34,22.68,22.70,
-22.74,22.84,23.13,23.16,23.32,23.42,23.57,23.56,23.70,23.77,
-24.09,24.15,24.14,24.16,24.37,24.85,24.88,24.90,24.96,24.97,
-25.46,25.63,25.66,25.58,25.75,26.05,26.00,26.18,26.37,26.39,
-26.60,26.52,26.85,26.67,27.06,27.09,27.36,27.42,27.73,27.78,
-27.75,27.82,27.84,28.34,28.58,28.48,28.48,28.65,28.53,28.86,
-29.23,29.22,29.22,29.54,29.68,29.59,29.85,29.98,29.75,30.45,
-30.20,30.38,30.43,30.71,30.80,31.15,31.18,31.15,31.38,31.54,
-31.42,31.83,31.81,31.76,32.23,32.27,32.24,32.31,32.74,32.65,
-32.91,33.02,33.23,33.31,33.27,33.44,33.39,33.56,33.78,34.01,
-33.92,34.17,34.27,34.55,34.67,34.61,35.08,35.03,35.13,35.05,
-35.30,35.39,35.83,35.84,35.94,35.97,36.42,36.24,36.40,36.45,
-36.73,36.57,36.96,37.10,37.35,37.15,37.27,37.44,37.70,37.72,
-1.31,1.45,1.56,1.67,1.79,1.86,1.99,2.15,2.21,2.30,
-2.41,2.58,2.67,2.77,2.87,3.00,3.14,3.29,3.42,3.50,
-3.58,3.72,3.82,3.93,4.05,4.18,4.24,4.42,4.53,4.67,
-4.78,4.85,5.03,5.10,5.32,5.31,5.42,5.66,5.64,5.83,
-5.94,6.09,6.25,6.14,6.40,6.42,6.58,6.71,6.79,6.90,
-7.05,7.25,7.42,7.39,7.53,7.68,7.78,7.77,8.01,8.11,
-8.18,8.34,8.46,8.66,8.65,8.85,8.91,9.10,9.16,9.19,
-9.43,9.55,9.67,9.69,9.81,9.96,10.15,10.19,10.33,10.47,
-10.52,10.62,10.69,10.87,10.94,11.17,11.29,11.27,11.58,11.53,
-11.70,11.78,11.75,12.08,12.27,12.30,12.24,12.67,12.70,12.77,
-12.90,12.89,13.12,13.23,13.21,13.53,13.63,13.80,13.95,13.94,
-14.06,13.99,14.28,14.51,14.46,14.52,14.73,14.83,15.00,15.09,
-15.20,15.31,15.47,15.66,15.59,15.85,15.90,15.98,16.20,16.31,
-16.31,16.43,16.49,16.63,16.83,16.88,17.06,17.06,17.28,17.43,
-17.55,17.54,17.83,17.76,18.12,17.89,18.39,18.28,18.55,18.57,
-18.63,18.87,19.01,19.00,19.07,19.20,19.25,19.46,19.53,19.54,
-19.76,20.00,20.05,20.21,20.34,20.41,20.54,20.70,20.68,21.02,
-20.85,21.01,21.29,21.45,21.40,21.61,21.75,21.79,21.82,22.19,
-22.18,22.28,22.42,22.37,22.61,22.51,22.66,22.85,22.97,23.00,
-23.08,23.47,23.59,23.72,23.91,23.85,24.05,24.16,24.36,24.34,
-24.12,24.50,24.67,24.81,24.89,25.21,25.11,25.24,25.52,25.33,
-25.55,25.73,25.89,25.80,25.91,26.13,26.39,26.33,26.53,26.68,
-26.56,27.13,26.98,27.01,27.14,27.23,27.30,27.44,27.61,27.70,
-27.68,28.23,28.13,28.49,28.55,28.43,28.56,28.52,28.71,29.01,
-29.24,29.20,29.36,29.59,29.28,29.64,29.85,29.67,30.12,30.03,
-30.34,30.37,30.52,30.36,30.69,31.07,30.90,31.01,31.01,31.31,
-31.24,31.48,31.71,31.62,31.87,32.16,32.22,32.27,32.46,32.56,
-32.41,32.58,32.82,32.87,32.86,33.15,33.29,33.34,33.36,33.50,
-33.68,33.80,33.87,33.90,34.05,34.32,34.39,34.48,34.44,34.61,
-4.08,4.42,4.74,5.17,5.48,5.92,6.20,6.63,6.94,7.33,
-7.61,8.05,8.44,8.76,9.03,9.41,9.85,10.23,10.54,10.84,
-11.21,11.60,12.07,12.40,12.79,13.08,13.54,13.73,14.20,14.48,
-14.90,15.20,15.55,15.85,16.31,16.75,17.10,17.55,17.80,18.22,
-18.53,18.71,19.21,19.62,20.04,20.17,20.68,21.03,21.35,21.71,
-22.14,22.57,22.84,23.03,23.47,24.07,24.22,24.56,25.00,25.27,
-25.86,26.12,26.34,26.91,27.10,27.53,27.84,28.13,28.66,28.83,
-29.19,29.72,29.81,30.43,30.70,31.12,31.48,31.98,32.10,32.63,
-32.77,33.29,33.72,33.95,34.14,34.63,35.16,35.33,35.80,36.21,
-36.49,36.93,37.12,37.54,37.74,38.20,38.66,39.07,39.30,39.56,
-40.14,40.60,40.97,41.32,41.44,41.84,42.34,42.72,43.09,43.14,
-43.67,43.93,44.60,44.77,45.03,45.56,45.80,46.12,46.67,47.04,
-47.11,47.36,47.99,48.18,48.74,49.16,49.41,49.78,50.11,50.61,
-50.87,51.18,51.47,51.90,52.27,52.54,52.97,53.49,53.82,54.15,
-54.74,54.71,55.08,55.51,55.94,56.24,56.48,57.29,57.24,57.84,
-58.22,58.47,58.94,59.27,59.56,59.85,60.18,60.80,60.91,61.33,
-61.71,61.98,62.54,62.70,62.94,63.15,63.78,64.22,64.50,65.00,
-65.19,65.48,66.16,66.48,66.87,67.17,67.36,67.66,68.07,68.50,
-68.73,69.36,69.46,70.09,70.34,70.66,70.94,71.37,71.69,72.12,
-72.64,72.92,73.16,73.66,73.93,74.15,74.63,75.18,75.40,75.83,
-76.08,76.56,76.75,77.36,77.49,78.17,78.28,78.66,78.70,79.37,
-79.63,79.92,80.77,80.86,81.05,81.66,81.91,82.39,82.78,82.83,
-83.45,83.70,83.81,84.48,84.87,85.21,85.31,85.63,86.16,86.33,
-86.99,86.85,87.68,87.99,88.15,88.69,88.88,89.57,89.64,90.14,
-90.42,90.77,91.20,91.52,91.85,92.39,92.67,92.72,93.30,93.67,
-94.07,94.36,94.73,95.29,95.39,95.95,96.29,96.51,96.64,97.73,
-97.61,98.17,98.59,98.55,98.74,99.70,99.84,100.16,100.38,100.61,
-101.54,101.57,102.31,102.20,102.68,102.96,103.43,103.71,104.05,104.53,
-105.07,105.02,105.73,105.80,106.50,106.20,107.17,107.73,107.71,107.97,
-3.76,4.11,4.52,4.88,5.12,5.47,5.75,6.13,6.51,6.81,
-7.13,7.55,7.76,8.10,8.44,8.84,9.12,9.46,9.88,10.16,
-10.38,10.85,11.21,11.52,11.87,12.11,12.52,12.88,13.19,13.46,
-13.88,14.16,14.47,14.83,15.20,15.53,15.81,16.22,16.57,16.91,
-17.10,17.68,17.87,18.18,18.43,18.71,19.10,19.58,19.88,20.19,
-20.68,20.92,21.05,21.55,21.88,22.09,22.61,22.85,23.36,23.67,
-23.81,24.25,24.46,24.72,25.19,25.58,25.88,26.23,26.46,26.88,
-27.22,27.64,27.89,28.38,28.47,29.07,29.26,29.54,29.79,30.29,
-30.64,30.93,31.18,31.67,31.84,32.41,32.83,32.78,33.36,33.66,
-33.82,34.36,34.60,35.00,35.23,35.48,35.77,36.40,36.65,36.85,
-37.06,37.54,37.75,38.37,38.47,39.10,39.28,39.77,39.93,40.09,
-40.60,40.95,41.30,41.44,41.98,42.28,42.64,42.83,43.34,43.70,
-44.06,44.40,44.53,44.82,45.41,45.42,45.96,46.25,46.83,46.84,
-47.49,47.58,48.12,48.40,48.48,49.13,49.40,49.74,50.19,50.25,
-50.79,51.23,51.50,51.70,51.86,52.36,52.73,53.02,53.16,53.72,
-53.89,54.36,54.70,55.12,55.43,55.57,56.12,56.35,56.69,56.92,
-57.37,57.84,58.16,58.38,58.83,59.19,59.64,59.64,60.21,60.13,
-60.56,61.03,61.36,61.70,62.07,62.29,62.80,63.14,63.45,63.76,
-64.16,64.36,64.84,65.21,65.42,65.75,66.18,66.53,66.72,66.76,
-67.65,67.88,68.09,68.39,68.44,69.21,69.39,69.61,70.37,70.29,
-70.75,71.34,71.64,71.85,72.09,72.24,72.74,73.19,73.39,73.48,
-74.27,74.30,74.63,75.22,75.66,75.83,76.05,76.56,76.70,77.31,
-77.49,77.79,78.30,78.50,78.61,78.97,79.55,79.83,80.13,80.40,
-80.67,81.04,81.32,81.52,82.06,82.50,82.85,83.28,83.74,83.50,
-84.11,84.53,84.68,85.04,85.47,85.82,86.13,86.48,86.76,87.23,
-87.47,87.77,88.15,88.48,88.77,89.35,89.28,89.79,90.22,90.68,
-90.89,91.16,91.60,91.97,92.15,92.51,92.71,93.12,93.53,94.25,
-94.08,94.70,94.75,95.12,95.49,95.91,96.16,96.83,97.04,97.30,
-97.54,97.60,98.09,98.31,98.47,99.15,99.63,99.76,100.41,100.57,
-3.48,3.84,4.09,4.51,4.82,5.08,5.37,5.66,6.06,6.27,
-6.65,6.95,7.32,7.54,7.95,8.17,8.58,8.82,9.11,9.42,
-9.65,10.15,10.25,10.63,11.00,11.20,11.61,11.98,12.26,12.54,
-12.93,13.18,13.44,13.70,14.11,14.40,14.79,15.13,15.36,15.67,
-16.08,16.35,16.65,16.82,17.20,17.60,17.76,18.17,18.66,18.78,
-19.10,19.47,19.64,20.14,20.38,20.78,20.95,21.26,21.61,21.99,
-22.32,22.53,22.86,23.05,23.31,23.69,24.17,24.45,24.77,24.97,
-25.09,25.72,25.84,26.15,26.45,26.75,27.22,27.57,27.87,28.26,
-28.45,28.81,29.16,29.27,29.64,29.98,30.34,30.51,30.93,31.21,
-31.58,31.71,32.31,32.38,32.74,33.07,33.39,33.77,34.16,34.29,
-34.84,34.98,35.31,35.60,35.95,36.20,36.54,37.13,37.17,37.36,
-37.84,38.13,38.49,38.82,39.02,39.33,39.72,39.94,40.22,40.61,
-40.87,40.85,41.48,41.82,42.03,42.48,42.66,42.94,43.45,43.70,
-44.10,44.46,44.86,44.85,45.38,45.50,45.81,46.19,46.61,46.87,
-47.20,47.62,47.77,47.99,48.19,48.99,49.24,49.28,49.51,50.05,
-50.07,50.66,50.78,51.03,51.62,51.92,52.17,52.54,52.76,53.02,
-53.51,53.72,54.00,54.33,54.72,54.83,55.32,55.41,55.79,56.07,
-56.46,56.66,57.09,57.28,57.78,58.08,58.27,58.74,59.18,59.18,
-59.72,60.06,60.07,60.57,60.89,61.17,61.37,61.60,62.16,62.13,
-62.79,63.28,63.34,63.74,63.84,64.26,64.57,64.88,65.32,65.54,
-65.68,65.85,66.47,66.75,67.00,67.61,67.86,67.88,68.23,68.55,
-68.97,69.39,69.44,69.76,70.33,70.56,70.84,71.19,71.18,71.58,
-72.20,72.34,72.48,72.95,73.09,73.29,73.81,74.25,74.72,75.25,
-75.31,75.20,75.54,76.00,76.31,76.93,77.02,77.33,77.48,77.76,
-78.31,78.44,78.70,79.12,79.44,79.74,80.26,80.27,80.70,80.88,
-81.46,81.62,81.91,82.16,82.65,83.22,83.03,83.43,83.80,84.46,
-84.53,84.70,84.96,85.28,85.88,86.24,86.20,86.83,87.06,87.19,
-87.19,87.58,88.49,88.69,88.95,89.17,89.20,89.72,90.15,90.66,
-90.60,91.12,91.32,91.64,92.00,92.26,92.33,92.64,93.30,93.43,
-3.31,3.56,3.87,4.13,4.40,4.72,5.03,5.37,5.54,5.91,
-6.20,6.43,6.71,7.01,7.38,7.56,7.95,8.14,8.45,8.83,
-9.07,9.43,9.57,9.90,10.22,10.55,10.87,11.11,11.42,11.73,
-11.98,12.27,12.49,12.74,13.06,13.47,13.78,13.99,14.18,14.63,
-14.88,15.08,15.47,15.75,16.08,16.34,16.63,16.90,17.19,17.53,
-17.82,18.03,18.42,18.76,19.02,19.11,19.63,19.74,20.10,20.38,
-20.69,21.03,21.28,21.46,21.79,22.14,22.32,22.83,23.03,23.20,
-23.50,23.88,24.15,24.34,24.66,25.05,25.34,25.60,25.88,26.15,
-26.35,26.61,26.94,27.42,27.45,27.96,28.15,28.57,28.70,29.13,
-29.36,29.59,29.79,30.16,30.45,30.83,31.20,31.49,31.78,31.80,
-32.12,32.51,32.94,33.10,33.32,33.53,34.23,34.41,34.52,35.01,
-35.19,35.35,35.81,36.04,36.36,36.59,36.87,37.17,37.45,37.71,
-38.07,38.22,38.58,38.80,39.18,39.44,39.82,40.08,40.41,40.55,
-40.61,41.24,41.51,41.82,42.19,42.49,42.66,43.00,43.19,43.41,
-43.87,44.10,44.27,44.96,44.97,45.31,45.76,45.85,46.42,46.25,
-46.69,47.08,47.24,47.63,47.91,48.10,48.52,48.76,49.12,49.27,
-49.38,49.92,50.22,50.41,50.84,51.21,51.41,51.70,51.86,52.25,
-52.49,52.63,53.12,53.34,53.58,54.19,54.53,54.49,54.73,55.14,
-55.58,55.58,55.89,56.34,56.39,56.93,57.34,57.38,57.69,57.97,
-58.22,58.79,58.87,59.32,59.46,59.89,59.94,60.38,60.55,61.00,
-60.98,61.46,61.99,62.26,62.41,62.51,62.81,63.21,63.53,63.69,
-64.08,64.32,64.89,65.07,65.26,65.74,65.84,65.92,66.44,66.79,
-67.04,67.34,67.61,67.94,68.21,68.32,68.62,69.22,69.40,69.58,
-69.96,70.31,70.52,70.61,71.15,71.44,71.86,71.87,72.35,72.48,
-72.84,73.19,73.15,73.69,73.93,74.29,74.37,74.61,74.99,75.54,
-75.90,76.14,76.26,76.45,76.94,77.14,77.28,77.54,77.74,78.14,
-78.55,78.96,79.18,79.36,79.66,80.25,80.46,80.69,80.88,80.99,
-81.31,81.70,82.00,82.55,82.69,82.94,83.33,83.34,83.83,84.10,
-84.53,84.55,85.28,85.17,85.58,85.88,85.87,86.35,86.78,87.01,
-3.09,3.29,3.61,3.88,4.17,4.43,4.68,4.95,5.18,5.42,
-5.72,5.98,6.30,6.52,6.82,7.12,7.42,7.65,7.99,8.08,
-8.47,8.64,8.94,9.20,9.40,9.74,10.10,10.31,10.62,10.88,
-11.10,11.40,11.68,11.92,12.17,12.46,12.72,13.12,13.41,13.63,
-13.81,14.06,14.41,14.61,14.95,15.12,15.51,15.65,15.96,16.29,
-16.54,16.84,17.09,17.31,17.55,17.83,17.99,18.37,18.65,19.04,
-19.16,19.31,19.77,19.93,20.30,20.67,20.77,21.09,21.44,21.64,
-21.96,22.09,22.51,22.66,23.06,23.18,23.49,23.82,24.07,24.36,
-24.56,24.72,25.15,25.36,25.67,25.91,26.21,26.62,26.59,27.03,
-27.39,27.64,27.92,28.15,28.41,28.66,28.87,29.17,29.28,29.74,
-30.19,30.35,30.68,30.73,30.97,31.29,31.64,31.94,32.17,32.13,
-32.58,32.89,33.20,33.32,33.70,34.12,34.27,34.58,34.93,35.16,
-35.40,35.70,35.97,36.11,36.15,36.57,36.80,37.21,37.52,37.75,
-38.10,38.31,38.56,38.80,39.12,39.55,39.68,40.11,40.16,40.56,
-40.73,41.11,41.27,41.42,41.89,42.02,42.31,42.70,42.89,43.00,
-43.69,43.85,44.09,44.17,44.50,44.69,44.90,45.41,45.43,45.75,
-46.24,46.37,46.68,46.80,47.11,47.49,47.34,48.18,48.30,48.51,
-49.05,49.22,49.29,49.68,49.90,50.17,50.45,50.70,51.12,51.38,
-51.51,51.82,51.94,52.39,52.62,52.80,53.27,53.54,53.82,54.01,
-54.35,54.47,54.95,55.07,55.40,55.84,55.76,56.00,56.38,56.65,
-56.84,57.13,57.50,57.75,57.90,58.19,58.65,58.72,59.26,59.37,
-59.76,59.90,59.98,60.14,60.74,61.10,61.21,61.51,61.88,62.13,
-62.35,62.60,62.81,62.88,63.53,63.53,64.04,64.12,64.42,64.58,
-64.96,65.19,65.41,65.82,66.05,66.35,66.64,66.92,67.23,67.15,
-67.51,68.04,68.37,68.48,68.65,68.89,69.45,69.62,69.62,69.88,
-70.58,70.78,70.95,71.19,71.89,71.59,71.97,72.14,72.63,72.76,
-73.10,73.38,73.66,73.79,74.52,74.42,74.79,75.03,75.11,75.70,
-75.67,75.87,76.27,76.89,76.78,77.12,77.40,77.74,77.86,78.46,
-78.45,78.97,79.10,79.30,79.78,79.72,80.24,80.34,80.53,81.07,
-2.80,3.10,3.33,3.65,3.85,4.06,4.36,4.59,4.81,5.15,
-5.33,5.56,5.82,6.09,6.32,6.58,6.82,7.09,7.27,7.57,
-7.86,8.08,8.36,8.57,8.81,9.09,9.39,9.59,9.90,10.17,
-10.42,10.66,10.82,11.15,11.24,11.53,11.87,12.06,12.33,12.66,
-12.91,13.11,13.30,13.51,13.98,14.12,14.35,14.54,14.87,14.99,
-15.35,15.64,15.83,16.09,16.45,16.62,16.82,17.26,17.30,17.59,
-17.90,18.10,18.29,18.51,18.83,19.21,19.33,19.77,19.89,20.13,
-20.35,20.66,20.89,21.07,21.36,21.69,21.85,22.04,22.36,22.64,
-22.86,23.15,23.50,23.64,23.87,24.01,24.25,24.68,24.86,25.14,
-25.47,25.65,25.80,26.02,26.45,26.60,26.80,27.12,27.42,27.55,
-27.91,27.94,28.43,28.49,28.88,29.22,29.54,29.80,29.77,30.00,
-30.38,30.73,30.67,31.10,31.45,31.66,31.77,32.01,32.48,32.84,
-33.01,33.27,33.43,33.67,33.95,34.34,34.44,34.63,34.87,35.03,
-35.42,35.83,35.88,36.21,36.40,36.60,36.84,37.34,37.37,37.70,
-38.04,38.14,38.43,38.79,38.88,39.19,39.50,39.63,39.98,40.18,
-40.41,40.51,41.16,41.25,41.34,41.60,41.89,42.13,42.32,42.63,
-42.87,43.08,43.44,43.72,43.80,44.28,44.37,44.40,45.01,45.12,
-45.41,45.59,46.05,46.08,46.50,46.71,46.98,47.19,47.48,47.70,
-47.92,48.23,48.62,48.66,48.84,49.28,49.54,49.94,50.03,50.14,
-50.40,50.73,50.93,51.28,51.42,51.71,51.91,52.14,52.45,52.42,
-52.85,53.06,53.22,53.57,53.95,54.22,54.48,54.66,55.08,55.33,
-55.45,55.69,55.97,56.24,56.36,56.63,56.77,57.22,57.54,57.76,
-57.77,58.35,58.58,58.45,59.01,59.13,59.25,59.89,59.82,60.06,
-60.43,60.74,60.86,61.16,61.29,61.71,62.06,61.95,62.45,62.68,
-62.86,63.32,63.26,63.89,64.06,64.34,64.19,64.81,65.04,65.11,
-65.63,65.91,65.95,66.14,66.68,66.74,66.93,67.23,67.46,67.56,
-68.02,68.30,68.20,68.54,68.95,69.34,69.46,69.76,69.89,70.16,
-70.47,70.58,71.18,71.12,71.73,71.54,71.91,72.10,72.34,72.77,
-73.04,73.44,73.38,73.61,73.90,74.12,74.14,74.63,74.94,75.19,
-2.65,2.85,3.09,3.33,3.54,3.83,4.04,4.34,4.53,4.70,
-4.94,5.16,5.41,5.73,5.88,6.16,6.41,6.60,6.84,7.05,
-7.26,7.51,7.75,8.03,8.23,8.50,8.68,8.99,9.22,9.42,
-9.66,9.84,10.01,10.38,10.56,10.74,10.91,11.34,11.56,11.60,
-11.83,12.22,12.39,12.69,12.84,13.13,13.42,13.61,13.82,14.11,
-14.28,14.59,14.62,14.97,15.19,15.46,15.71,15.87,16.16,16.42,
-16.71,16.76,17.07,17.36,17.59,17.71,17.96,18.14,18.55,18.61,
-19.05,19.23,19.39,19.57,19.83,20.12,20.29,20.43,20.82,21.12,
-21.26,21.39,21.71,21.94,22.26,22.61,22.68,22.95,23.11,23.39,
-23.50,23.94,23.90,24.45,24.64,24.76,25.14,25.29,25.45,25.73,
-25.93,26.10,26.48,26.54,26.87,27.16,27.42,27.62,27.83,28.03,
-28.21,28.61,28.62,28.91,29.07,29.50,29.72,29.87,30.26,30.30,
-30.47,30.73,31.12,31.30,31.59,31.68,31.97,32.25,32.42,32.73,
-33.18,33.15,33.48,33.37,33.80,34.16,34.31,34.52,34.83,35.06,
-35.16,35.55,35.78,35.73,36.35,36.57,36.79,36.82,36.97,37.11,
-37.47,37.84,37.90,38.32,38.61,38.77,38.97,39.32,39.39,39.81,
-39.81,39.99,40.46,40.39,41.09,40.88,41.23,41.57,41.89,41.92,
-42.12,42.34,42.73,42.79,43.30,43.27,43.83,43.97,44.19,44.46,
-44.66,44.76,45.16,45.20,45.66,45.92,46.01,46.17,46.44,46.78,
-47.04,47.37,47.26,47.74,47.93,47.97,48.30,48.51,48.90,49.02,
-49.27,49.35,49.67,49.90,50.22,50.37,50.59,51.05,51.05,51.35,
-51.63,51.68,51.80,52.17,52.59,52.86,52.87,53.14,53.47,53.65,
-53.84,54.24,54.23,54.59,54.73,54.87,55.37,55.51,55.60,56.03,
-56.23,56.56,56.78,56.95,57.12,57.46,57.45,58.02,58.14,58.30,
-58.61,58.65,59.02,59.37,59.49,59.73,59.66,60.27,60.30,60.55,
-60.90,60.77,61.29,61.43,61.78,61.92,61.87,62.42,62.88,62.87,
-63.10,63.45,63.65,63.94,64.03,64.52,64.87,64.85,65.05,64.97,
-65.72,65.97,66.12,65.95,66.60,66.45,66.88,67.22,67.22,67.62,
-68.04,67.87,68.35,68.56,68.94,69.07,69.45,69.65,69.68,69.95,
-2.48,2.65,2.88,3.08,3.32,3.54,3.74,3.97,4.18,4.50,
-4.64,4.82,5.08,5.31,5.44,5.69,5.89,6.06,6.39,6.58,
-6.79,7.08,7.20,7.44,7.77,7.80,8.01,8.33,8.50,8.71,
-8.96,9.20,9.41,9.55,9.82,9.97,10.30,10.54,10.58,10.89,
-11.16,11.32,11.66,11.72,12.01,12.36,12.43,12.62,12.85,12.93,
-13.35,13.51,13.71,13.90,14.17,14.45,14.58,14.81,15.04,15.26,
-15.43,15.57,15.92,16.21,16.27,16.53,16.77,17.06,17.15,17.31,
-17.54,17.93,18.00,18.19,18.49,18.74,18.91,19.20,19.33,19.59,
-19.70,20.04,20.17,20.49,20.64,20.91,21.14,21.46,21.51,21.66,
-22.02,22.24,22.36,22.59,22.62,23.14,23.29,23.58,23.60,23.92,
-24.16,24.26,24.60,24.76,24.83,25.20,25.25,25.63,25.76,26.36,
-26.30,26.52,26.80,26.83,27.05,27.35,27.59,27.82,28.05,28.32,
-28.46,28.73,28.90,29.22,29.35,29.50,29.81,29.88,30.10,30.37,
-30.58,30.88,31.20,31.26,31.60,31.56,31.98,32.10,32.35,32.60,
-32.94,32.95,33.14,33.29,33.61,33.86,34.16,34.40,34.53,34.69,
-34.90,35.20,35.28,35.76,35.87,35.91,36.17,36.26,36.96,37.02,
-37.11,37.26,37.58,37.56,37.93,38.26,38.23,38.75,38.86,39.04,
-39.36,39.66,39.63,40.14,40.04,40.33,40.47,40.63,41.05,41.31,
-41.50,41.64,41.97,42.14,42.36,42.45,42.86,43.00,43.30,43.40,
-43.60,43.95,43.81,44.17,44.47,44.83,44.89,45.12,45.43,45.55,
-45.55,45.93,46.07,46.50,46.64,47.03,47.13,47.25,47.25,47.84,
-48.01,48.28,48.37,48.84,48.87,48.97,49.09,49.47,49.54,49.79,
-49.99,50.32,50.73,50.83,51.01,51.12,51.52,51.57,51.67,52.15,
-52.44,52.58,52.52,52.79,53.17,53.53,53.81,53.82,54.07,54.28,
-54.45,54.66,54.79,55.10,55.41,55.60,56.10,55.88,56.15,56.40,
-56.66,57.05,57.11,57.14,57.45,57.60,57.97,58.15,58.46,58.63,
-58.83,58.91,59.25,59.64,59.69,60.13,60.17,60.52,60.64,60.74,
-60.90,61.09,61.42,61.79,61.90,62.12,62.17,62.37,62.54,62.99,
-63.01,63.32,63.64,63.89,63.89,63.99,64.34,64.62,64.89,65.11,
-2.25,2.50,2.70,2.88,3.07,3.35,3.49,3.69,3.85,4.07,
-4.29,4.53,4.71,4.92,5.13,5.26,5.49,5.72,5.91,6.12,
-6.26,6.53,6.71,6.93,7.14,7.25,7.55,7.66,7.95,8.18,
-8.34,8.49,8.75,8.91,9.13,9.38,9.48,9.71,9.86,10.14,
-10.32,10.49,10.76,11.07,11.15,11.24,11.55,11.80,11.90,12.20,
-12.46,12.53,12.78,13.04,13.14,13.28,13.54,13.81,14.01,14.15,
-14.33,14.58,14.85,14.95,15.26,15.39,15.61,15.86,15.98,16.20,
-16.38,16.64,16.74,16.96,17.16,17.27,17.60,17.77,18.07,18.11,
-18.40,18.69,18.86,19.01,19.24,19.59,19.64,19.73,19.97,20.21,
-20.44,20.55,20.94,21.12,21.30,21.44,21.57,21.85,22.17,22.35,
-22.46,22.51,22.90,22.96,23.22,23.38,23.48,23.78,23.99,24.35,
-24.48,24.64,24.85,24.91,25.28,25.49,25.63,25.82,25.93,26.22,
-26.40,26.72,26.90,27.00,27.26,27.32,27.63,27.81,28.14,28.13,
-28.52,28.69,28.82,29.20,29.29,29.59,29.60,29.86,29.98,30.26,
-30.51,30.76,30.85,30.95,31.43,31.62,31.79,31.74,31.93,32.40,
-32.35,32.63,32.98,33.14,33.35,33.54,33.69,33.99,34.01,34.34,
-34.34,34.83,35.02,35.32,35.33,35.44,35.58,35.95,36.04,36.28,
-36.46,36.88,36.87,37.14,37.26,37.58,37.76,37.91,38.08,38.41,
-38.65,38.68,39.03,39.19,39.34,39.77,39.64,39.91,40.13,40.27,
-40.70,40.81,40.91,41.13,41.27,41.84,41.72,41.97,42.09,42.37,
-42.61,42.60,42.89,43.10,43.46,43.64,43.77,43.99,44.14,44.29,
-44.53,44.78,44.75,45.41,45.48,45.70,45.88,45.87,46.22,46.41,
-46.56,46.78,46.90,47.30,47.33,47.69,47.83,48.13,48.31,48.40,
-48.52,48.97,48.97,49.13,49.46,49.79,49.71,49.80,50.19,50.39,
-50.52,50.84,51.13,51.43,51.45,51.78,51.87,51.96,52.48,52.75,
-52.61,52.82,53.06,53.25,53.60,53.56,53.88,54.02,54.36,54.42,
-54.71,54.89,55.16,55.26,55.63,55.55,55.80,55.96,56.43,56.60,
-56.58,57.01,57.20,57.37,57.54,57.73,57.87,57.92,58.19,58.47,
-58.67,58.79,59.03,59.45,59.62,59.54,60.09,60.12,60.26,60.46,
-2.12,2.29,2.49,2.68,2.91,3.08,3.23,3.49,3.61,3.81,
-4.04,4.15,4.40,4.53,4.74,4.92,5.11,5.30,5.53,5.66,
-5.84,6.05,6.27,6.48,6.64,6.79,6.96,7.14,7.38,7.49,
-7.70,7.95,8.11,8.31,8.61,8.59,8.79,9.06,9.20,9.42,
-9.64,9.80,10.08,10.17,10.36,10.63,10.76,10.86,11.06,11.38,
-11.47,11.68,12.01,12.02,12.25,12.50,12.75,12.77,12.95,13.20,
-13.36,13.53,13.73,13.90,14.07,14.39,14.47,14.76,14.79,15.00,
-15.28,15.44,15.72,15.73,15.83,16.20,16.38,16.50,16.70,17.02,
-17.08,17.31,17.48,17.68,17.82,18.11,18.29,18.43,18.68,18.71,
-18.94,19.23,19.28,19.56,19.60,19.86,20.05,20.32,20.72,20.53,
-20.82,20.89,21.43,21.42,21.72,21.79,21.86,22.20,22.28,22.53,
-22.69,22.89,23.13,23.28,23.53,23.80,23.96,24.09,24.21,24.37,
-24.54,24.67,25.04,25.05,25.28,25.56,25.85,25.93,26.29,26.13,
-26.61,26.61,26.94,26.92,27.43,27.44,27.53,27.81,28.02,28.16,
-28.22,28.55,28.84,29.16,29.12,29.20,29.47,29.65,29.73,30.07,
-30.25,30.58,30.67,30.84,31.09,31.08,31.32,31.40,31.78,31.93,
-32.19,32.38,32.47,32.62,32.78,32.90,33.25,33.19,33.50,33.73,
-34.03,34.23,34.22,34.52,34.80,34.73,35.07,35.17,35.64,35.62,
-35.97,36.20,36.33,36.37,36.64,36.77,36.86,37.06,37.34,37.56,
-37.81,37.88,38.00,38.39,38.42,38.52,38.90,39.04,39.21,39.41,
-39.57,39.82,39.82,40.07,40.37,40.56,40.75,40.97,41.16,41.34,
-41.48,41.74,41.97,42.00,42.22,42.46,42.63,42.80,43.13,43.27,
-43.25,43.44,43.74,43.73,44.07,44.14,44.49,44.82,44.79,45.00,
-45.38,45.51,45.60,45.76,45.95,46.05,46.48,46.51,46.55,46.84,
-47.29,47.28,47.53,47.84,47.94,47.94,48.25,48.43,48.54,48.73,
-48.96,49.25,49.25,49.40,49.53,50.05,50.39,50.21,50.59,50.62,
-50.83,51.05,51.30,51.70,51.54,51.82,52.10,52.22,52.61,52.47,
-52.77,52.91,53.25,53.30,53.34,53.75,53.92,53.97,54.53,54.04,
-54.33,54.79,55.14,55.28,55.34,55.45,55.95,55.81,56.13,56.10,
-1.96,2.18,2.31,2.44,2.75,2.85,3.06,3.17,3.40,3.66,
-3.76,3.89,4.01,4.15,4.43,4.63,4.77,5.00,5.09,5.26,
-5.48,5.57,5.80,6.05,6.12,6.30,6.48,6.61,6.93,7.01,
-7.24,7.39,7.50,7.75,7.90,8.05,8.21,8.45,8.55,8.81,
-8.93,9.05,9.32,9.50,9.63,9.90,9.98,10.20,10.29,10.43,
-10.75,10.76,10.98,11.28,11.38,11.57,11.70,11.79,12.12,12.26,
-12.43,12.63,12.86,13.11,13.17,13.24,13.30,13.73,13.86,14.20,
-14.15,14.49,14.54,14.71,14.82,15.04,15.28,15.36,15.68,15.71,
-15.96,16.18,16.15,16.44,16.65,16.69,16.86,17.14,17.31,17.44,
-17.71,17.82,18.09,18.15,18.34,18.58,18.61,18.81,19.03,19.23,
-19.34,19.58,19.78,19.92,20.14,20.33,20.45,20.65,20.74,21.02,
-21.21,21.27,21.39,21.58,21.76,21.98,22.12,22.34,22.65,22.76,
-22.76,23.14,23.26,23.41,23.50,23.63,23.95,24.02,24.22,24.50,
-24.67,24.97,24.83,25.19,25.39,25.51,25.62,25.71,26.14,26.30,
-26.35,26.53,26.69,26.89,26.95,27.36,27.34,27.57,27.68,27.97,
-28.21,28.34,28.31,28.51,28.77,28.88,29.13,29.25,29.54,29.69,
-29.86,30.04,30.16,30.38,30.46,30.60,30.88,31.24,31.32,31.40,
-31.52,31.66,31.94,32.13,32.40,32.47,32.57,33.00,33.09,33.26,
-33.51,33.44,33.68,33.86,33.99,34.22,34.32,34.27,34.60,34.87,
-35.13,35.13,35.38,35.56,35.90,36.12,36.24,36.30,36.49,36.59,
-36.78,37.04,37.15,37.52,37.59,37.64,37.99,38.06,38.27,38.44,
-38.49,38.75,38.85,39.22,39.12,39.46,39.44,39.72,39.80,40.01,
-40.31,40.46,40.64,40.72,41.02,41.09,41.33,41.52,41.84,41.59,
-42.00,42.25,42.45,42.84,42.78,43.14,43.18,43.22,43.37,43.60,
-43.66,43.91,44.08,44.37,44.35,44.64,44.88,45.13,45.04,45.35,
-45.51,45.64,46.03,46.12,46.35,46.52,46.46,46.97,47.10,47.20,
-47.46,47.51,47.48,47.91,48.13,47.94,48.30,48.50,48.53,48.87,
-49.20,49.23,49.44,49.52,49.72,50.03,49.84,50.41,50.65,50.64,
-50.71,50.80,51.18,51.22,51.47,51.64,51.71,52.03,52.25,52.26,
-1.85,1.98,2.20,2.29,2.48,2.64,2.79,2.99,3.14,3.28,
-3.46,3.65,3.79,3.89,4.13,4.27,4.44,4.64,4.73,4.92,
-5.09,5.25,5.42,5.67,5.76,5.89,6.00,6.21,6.45,6.54,
-6.65,6.80,7.08,7.19,7.42,7.48,7.60,7.71,8.03,8.11,
-8.27,8.43,8.73,8.87,8.81,9.18,9.26,9.33,9.60,9.78,
-9.86,10.11,10.17,10.42,10.56,10.84,10.88,11.04,11.24,11.37,
-11.58,11.80,11.89,11.97,12.19,12.28,12.48,12.66,12.84,13.07,
-13.16,13.36,13.64,13.79,13.89,14.08,14.17,14.24,14.40,14.55,
-14.79,15.02,15.24,15.29,15.44,15.54,15.86,15.95,16.10,16.38,
-16.59,16.53,16.63,16.87,17.13,17.12,17.27,17.67,17.82,17.94,
-17.94,18.14,18.33,18.47,18.76,18.95,18.99,19.15,19.44,19.38,
-19.71,19.72,20.00,20.10,20.48,20.46,20.54,20.65,20.94,21.28,
-21.20,21.50,21.61,21.75,21.88,22.12,22.43,22.53,22.60,22.77,
-22.91,23.03,23.23,23.45,23.61,23.66,23.99,23.87,24.20,24.33,
-24.65,24.75,24.92,24.77,25.04,25.39,25.52,25.62,25.88,25.90,
-26.12,26.28,26.53,26.53,26.65,27.05,27.05,27.30,27.42,27.85,
-27.85,27.85,28.02,28.32,28.48,28.63,28.82,28.89,28.95,29.21,
-29.56,29.56,29.55,29.95,30.19,30.11,30.25,30.53,30.58,30.63,
-31.30,31.07,31.29,31.50,31.58,31.84,31.93,32.07,32.40,32.45,
-32.62,32.86,32.91,33.08,33.31,33.42,33.69,33.76,33.77,34.08,
-34.25,34.32,34.60,34.61,35.15,34.94,35.36,35.54,35.41,35.77,
-36.01,35.96,36.27,36.22,36.59,36.79,36.83,36.83,37.44,37.44,
-37.36,37.59,37.88,37.96,37.95,38.04,38.32,38.53,38.76,38.88,
-39.10,39.35,39.50,39.58,39.84,39.88,39.95,40.29,40.27,40.44,
-40.56,40.84,41.03,41.27,41.36,41.59,41.74,42.08,42.00,42.18,
-42.34,42.35,42.62,42.71,43.06,42.97,43.13,43.54,43.54,44.15,
-43.89,44.10,44.23,44.30,44.59,44.76,45.11,45.20,45.24,45.47,
-45.74,45.92,46.01,46.22,46.21,46.79,46.57,46.79,47.08,47.02,
-47.38,47.38,47.67,47.67,47.99,47.97,48.14,48.39,48.68,48.68,
-1.65,1.84,2.01,2.13,2.27,2.45,2.54,2.75,2.88,3.03,
-3.25,3.27,3.46,3.70,3.84,3.96,4.18,4.22,4.47,4.59,
-4.80,4.88,4.95,5.17,5.31,5.42,5.56,5.78,5.96,6.09,
-6.18,6.37,6.66,6.67,6.85,6.95,7.13,7.23,7.47,7.61,
-7.74,7.92,8.08,8.20,8.37,8.48,8.65,8.78,9.00,9.10,
-9.28,9.37,9.46,9.64,9.83,9.91,10.14,10.21,10.41,10.67,
-10.81,10.86,11.04,11.23,11.36,11.52,11.71,11.80,11.94,12.11,
-12.25,12.40,12.52,12.73,12.93,12.98,13.18,13.32,13.62,13.57,
-13.80,13.89,14.03,14.27,14.45,14.47,14.52,14.88,14.88,15.13,
-15.32,15.43,15.64,15.78,15.91,16.00,16.26,16.40,16.53,16.71,
-16.74,16.90,17.13,17.22,17.35,17.52,17.59,17.77,18.07,18.05,
-18.26,18.36,18.51,18.59,18.83,18.95,19.21,19.34,19.35,19.61,
-19.80,19.93,19.99,20.10,20.49,20.59,20.62,20.90,21.05,21.05,
-21.30,21.48,21.77,21.83,21.85,22.02,22.20,22.33,22.53,22.58,
-22.80,22.94,23.17,23.18,23.47,23.47,23.61,23.83,23.89,23.99,
-24.27,24.45,24.62,24.83,24.85,25.05,25.22,25.30,25.55,25.67,
-25.77,25.92,26.20,26.50,26.32,26.55,26.77,27.02,26.96,27.23,
-27.23,27.53,27.52,27.87,27.89,28.19,28.32,28.35,28.58,28.72,
-28.85,28.92,29.19,29.00,29.42,29.54,29.65,29.94,29.91,30.14,
-30.41,30.61,30.53,30.66,30.96,31.06,31.30,31.36,31.54,31.66,
-31.85,32.11,32.20,32.54,32.46,32.62,32.64,32.89,32.98,33.08,
-33.30,33.62,33.47,33.76,34.05,33.87,34.36,34.23,34.46,34.74,
-34.85,34.97,35.12,35.45,35.62,35.40,35.68,35.96,36.00,36.17,
-36.28,36.72,36.55,36.94,37.11,37.12,37.44,37.48,37.76,37.59,
-37.90,37.96,38.24,38.07,38.53,38.79,38.65,38.81,39.05,39.35,
-39.51,39.45,39.61,39.74,39.72,40.31,40.15,40.44,40.64,40.91,
-40.96,41.24,41.24,41.35,41.69,41.67,41.80,41.91,41.90,42.16,
-42.22,42.55,42.53,43.08,43.08,43.23,43.45,43.71,43.76,43.83,
-44.03,44.02,44.11,44.33,44.50,44.73,44.80,44.98,45.29,45.26,
-1.59,1.76,1.87,1.98,2.19,2.30,2.43,2.59,2.69,2.86,
-3.01,3.16,3.26,3.33,3.52,3.68,3.82,3.98,4.11,4.19,
-4.39,4.51,4.55,4.80,4.99,5.09,5.20,5.41,5.63,5.58,
-5.76,5.84,6.11,6.15,6.35,6.50,6.56,6.83,6.97,7.12,
-7.16,7.31,7.51,7.66,7.79,8.00,8.10,8.20,8.20,8.60,
-8.68,8.70,8.93,9.03,9.21,9.27,9.42,9.64,9.72,9.84,
-10.04,10.12,10.35,10.43,10.47,10.75,10.88,10.96,11.23,11.18,
-11.33,11.52,11.70,11.80,12.06,12.09,12.21,12.38,12.49,12.63,
-12.78,12.94,13.03,13.23,13.40,13.43,13.52,13.87,13.80,14.05,
-14.26,14.34,14.57,14.59,14.68,14.74,15.02,15.12,15.31,15.48,
-15.58,15.84,15.73,16.07,16.21,16.29,16.40,16.60,16.82,16.88,
-17.05,17.13,17.28,17.46,17.59,17.68,17.78,17.92,18.13,18.23,
-18.46,18.62,18.64,18.75,18.95,19.05,19.24,19.17,19.54,19.62,
-19.80,20.03,20.02,20.18,20.46,20.49,20.58,20.69,20.95,21.04,
-21.12,21.36,21.47,21.46,21.74,21.83,22.07,22.13,22.48,22.66,
-22.76,22.71,22.87,22.99,23.14,23.27,23.45,23.64,23.80,23.70,
-24.12,24.21,24.29,24.68,24.65,24.80,24.78,25.04,25.05,25.21,
-25.53,25.66,25.63,25.72,26.03,26.15,26.07,26.05,26.44,26.89,
-26.81,26.82,27.12,27.16,27.32,27.60,27.67,27.99,27.90,28.03,
-28.03,28.34,28.49,28.55,28.93,28.97,29.17,29.06,29.12,29.49,
-29.68,29.78,29.84,29.98,30.24,30.15,30.39,30.55,30.66,31.03,
-30.95,30.98,31.28,31.67,31.55,31.64,31.98,32.11,32.14,32.27,
-32.42,32.60,32.83,32.83,32.91,33.10,33.31,33.30,33.40,33.77,
-33.84,34.05,34.22,34.18,34.54,34.62,34.66,34.78,34.90,35.05,
-35.30,35.49,35.40,35.66,35.96,35.76,36.19,36.49,36.26,36.60,
-36.70,37.00,36.76,37.12,37.15,37.20,37.45,37.56,37.67,38.06,
-38.12,38.10,38.14,38.46,38.41,38.76,38.70,38.89,39.32,39.22,
-39.68,39.43,39.85,39.95,39.96,40.21,40.38,40.20,40.58,40.68,
-41.05,40.91,41.23,41.36,41.42,41.60,41.53,41.91,41.98,42.28,
-1.47,1.62,1.76,1.83,1.96,2.07,2.26,2.42,2.52,2.57,
-2.79,2.97,3.08,3.14,3.27,3.38,3.53,3.70,3.83,3.94,
-4.07,4.16,4.36,4.44,4.61,4.71,4.83,5.00,5.17,5.25,
-5.36,5.44,5.62,5.76,6.02,6.01,6.13,6.29,6.37,6.54,
-6.76,6.83,6.88,7.04,7.19,7.30,7.36,7.67,7.75,7.88,
-7.98,8.05,8.18,8.37,8.46,8.67,8.78,8.99,9.11,9.11,
-9.29,9.44,9.58,9.61,9.82,9.97,10.04,10.25,10.17,10.54,
-10.61,10.80,10.95,11.03,11.13,11.25,11.36,11.51,11.64,11.87,
-11.83,11.96,12.21,12.29,12.45,12.56,12.83,12.84,12.94,13.00,
-13.31,13.27,13.55,13.64,13.71,13.91,13.95,14.14,14.21,14.36,
-14.54,14.80,14.62,14.85,15.01,15.06,15.23,15.53,15.38,15.67,
-15.94,15.99,16.13,16.21,16.43,16.48,16.69,16.78,16.84,17.08,
-17.26,17.20,17.37,17.42,17.71,17.78,17.84,17.98,18.20,18.12,
-18.26,18.61,18.75,18.87,19.13,19.20,19.28,19.31,19.39,19.53,
-19.70,19.86,19.83,20.02,20.34,20.40,20.46,20.70,20.81,20.85,
-21.08,21.09,21.32,21.59,21.57,21.62,21.95,21.99,22.09,22.07,
-22.22,22.53,22.70,22.58,22.78,22.89,23.14,23.37,23.36,23.47,
-23.67,23.67,23.84,24.03,24.30,24.31,24.51,24.52,24.71,24.75,
-24.98,25.00,25.12,25.39,25.51,25.68,25.81,25.91,26.04,26.00,
-26.26,26.48,26.52,26.82,26.69,26.88,27.13,27.23,27.23,27.44,
-27.55,27.80,27.84,28.09,28.03,28.19,28.27,28.30,28.51,28.93,
-28.96,29.09,29.10,29.04,29.33,29.67,29.69,29.71,29.77,30.08,
-30.06,30.34,30.38,30.64,30.48,30.84,31.04,31.17,31.30,31.27,
-31.44,31.56,31.46,31.78,32.00,32.04,32.14,32.33,32.57,32.57,
-32.85,32.93,33.08,33.17,33.10,33.34,33.40,33.83,33.87,34.04,
-34.12,34.28,34.38,34.49,34.65,34.80,34.88,35.09,35.19,35.43,
-35.45,35.47,35.66,35.80,35.89,36.09,36.21,36.32,36.45,36.69,
-36.84,36.94,36.96,36.90,37.17,37.16,37.44,37.48,37.70,37.82,
-37.98,38.17,38.36,38.33,38.34,38.71,38.95,38.92,38.99,39.08,
-3.97,4.34,4.68,4.96,5.41,5.64,5.97,6.31,6.71,7.03,
-7.41,7.66,8.05,8.38,8.72,8.97,9.46,9.74,9.99,10.38,
-10.81,11.06,11.50,11.79,12.11,12.42,12.87,13.12,13.40,13.93,
-14.04,14.57,14.79,15.18,15.58,15.79,16.12,16.57,16.89,17.22,
-17.60,17.95,18.31,18.59,18.84,19.41,19.77,19.93,20.34,20.64,
-21.03,21.35,21.64,21.95,22.22,22.52,22.97,23.19,23.66,24.09,
-24.35,24.77,24.97,25.46,25.83,26.06,26.35,26.74,27.22,27.39,
-27.77,28.20,28.23,28.94,29.18,29.60,29.86,30.32,30.52,30.84,
-31.23,31.76,32.23,32.28,32.75,33.08,33.17,33.75,33.82,34.22,
-34.75,34.83,35.26,35.84,36.09,36.50,36.72,36.92,37.28,37.72,
-37.98,38.56,38.81,39.04,39.51,39.83,40.00,40.43,40.78,41.22,
-41.32,41.74,42.03,42.41,42.56,43.32,43.52,43.75,43.96,44.47,
-45.00,45.19,45.41,45.96,46.21,46.39,47.03,47.33,47.62,47.50,
-47.90,48.77,48.80,49.30,49.80,49.95,50.14,50.62,51.20,51.42,
-51.86,52.03,52.28,52.74,53.11,53.48,53.71,54.21,54.56,54.83,
-55.20,55.26,55.72,56.19,56.53,56.70,56.88,57.59,57.76,57.89,
-58.74,58.67,59.14,59.44,60.16,60.31,60.62,60.67,61.31,61.24,
-61.82,62.12,62.47,62.95,63.18,63.58,64.10,64.05,64.68,64.82,
-65.18,65.69,65.77,66.31,66.58,66.97,67.00,67.62,67.98,68.55,
-68.84,69.10,69.34,69.74,70.08,70.41,70.73,70.73,71.55,71.82,
-71.86,72.49,72.81,73.15,73.31,74.01,74.19,74.20,74.90,75.28,
-75.47,75.95,76.15,76.70,76.55,77.23,77.51,78.16,78.00,78.30,
-79.03,79.26,79.69,80.19,80.09,80.56,81.11,81.74,81.63,82.19,
-82.04,82.78,82.98,83.22,83.61,83.89,84.29,84.76,84.87,85.69,
-85.72,86.25,86.44,86.72,86.93,87.60,87.83,88.12,88.59,88.78,
-89.47,89.19,90.16,90.22,90.53,91.00,91.44,91.40,91.87,92.01,
-92.72,92.95,93.27,93.62,94.05,93.96,94.50,95.21,95.13,95.46,
-96.04,96.08,96.38,97.45,97.50,97.69,97.72,98.27,98.91,99.42,
-99.41,99.27,100.42,100.37,100.69,101.15,101.60,101.83,102.13,102.61,
-3.74,4.07,4.42,4.68,5.06,5.34,5.60,5.98,6.27,6.60,
-6.97,7.27,7.48,7.87,8.09,8.53,8.79,9.21,9.52,9.83,
-10.15,10.54,10.89,11.04,11.34,11.67,12.05,12.38,12.55,12.93,
-13.22,13.69,13.97,14.22,14.62,14.89,15.06,15.47,15.98,16.30,
-16.50,16.87,17.16,17.48,17.88,18.11,18.30,18.75,19.03,19.38,
-19.82,19.97,20.37,20.70,21.09,21.20,21.76,21.95,22.32,22.69,
-22.92,23.40,23.62,23.90,24.19,24.31,24.84,25.01,25.50,26.00,
-26.10,26.40,26.70,27.08,27.61,27.71,28.14,28.41,28.79,29.17,
-29.51,29.80,29.84,30.36,30.65,31.09,31.32,31.49,31.92,32.23,
-32.53,32.94,33.23,33.49,33.88,34.09,34.35,34.83,35.16,35.43,
-35.67,36.10,36.39,36.48,36.98,37.48,37.59,38.00,38.26,38.69,
-39.11,39.31,39.74,39.96,40.05,40.64,41.03,41.14,41.56,41.89,
-42.34,42.43,42.86,42.81,43.56,43.64,44.12,44.26,44.56,45.21,
-45.37,45.74,46.14,46.39,46.64,47.12,47.26,47.57,47.98,48.34,
-48.68,48.82,49.33,49.30,49.89,50.33,50.47,50.63,51.16,51.44,
-51.81,51.85,52.37,52.80,53.28,53.11,53.81,53.95,54.46,54.86,
-54.93,55.08,55.73,55.73,56.18,56.70,56.82,57.17,57.74,58.11,
-58.02,58.70,58.96,59.14,59.55,59.82,60.33,60.20,60.72,61.12,
-61.13,61.43,62.19,62.54,62.48,62.81,63.17,63.40,63.47,64.28,
-64.55,64.97,65.12,65.59,65.83,66.38,66.59,66.73,67.12,67.48,
-67.78,68.27,68.34,68.84,69.19,69.57,69.54,69.80,70.48,70.84,
-70.77,71.44,71.53,71.99,72.15,72.85,72.69,73.13,73.70,73.68,
-74.42,74.47,74.81,75.17,75.65,75.96,76.11,76.42,76.73,77.12,
-77.41,77.86,78.28,78.27,78.67,78.73,79.38,79.55,80.08,80.55,
-80.56,80.80,81.37,81.55,81.83,82.24,82.38,82.86,82.95,83.65,
-83.69,84.16,84.06,84.86,85.40,85.55,85.80,85.93,86.40,86.61,
-86.99,87.53,87.89,88.16,88.03,88.50,89.32,89.30,89.28,89.83,
-90.18,90.50,90.62,91.59,91.49,91.54,92.05,92.71,92.95,92.78,
-93.26,93.74,94.18,94.28,94.94,95.03,95.05,95.69,95.59,96.35,
-3.46,3.78,4.07,4.43,4.69,5.01,5.37,5.59,5.90,6.22,
-6.51,6.80,7.19,7.38,7.67,7.98,8.31,8.62,8.91,9.25,
-9.52,9.81,10.08,10.43,10.68,11.01,11.33,11.64,11.95,12.31,
-12.53,12.92,13.13,13.45,13.73,14.02,14.29,14.68,14.99,15.15,
-15.46,15.85,16.17,16.42,16.68,16.99,17.19,17.67,17.81,18.42,
-18.57,18.88,19.21,19.46,19.83,20.06,20.38,20.67,20.98,21.20,
-21.58,21.99,22.07,22.48,22.83,23.14,23.38,23.73,23.92,24.41,
-24.52,24.79,25.20,25.35,25.68,26.17,26.54,26.66,27.04,27.11,
-27.71,27.82,28.03,28.58,28.80,29.07,29.39,29.64,30.07,30.27,
-30.34,30.90,31.20,31.45,31.88,32.24,32.41,32.63,32.91,33.25,
-33.52,33.92,34.23,34.45,34.80,35.03,35.36,35.58,35.93,36.23,
-36.60,36.94,37.31,37.42,37.62,38.29,38.32,38.70,38.84,39.54,
-39.60,39.96,40.20,40.71,40.86,41.21,41.43,41.81,42.02,42.42,
-42.64,42.84,43.31,43.48,44.20,44.14,44.53,44.74,45.27,45.27,
-45.49,45.76,46.15,46.66,46.74,47.14,47.68,47.69,48.13,48.29,
-48.70,48.87,49.15,49.60,49.85,50.30,50.33,50.69,51.02,51.32,
-51.68,52.03,52.16,52.79,52.89,53.20,53.35,53.86,53.92,54.41,
-54.73,55.23,55.49,55.69,55.72,55.88,56.55,56.60,57.05,57.34,
-57.83,57.73,58.36,58.74,59.08,59.15,59.48,59.71,60.26,60.12,
-60.62,60.96,61.35,61.73,61.86,62.07,62.46,62.72,63.23,63.37,
-63.73,64.03,64.36,64.81,65.06,65.22,65.67,65.92,65.83,66.68,
-66.72,67.04,67.16,67.72,68.06,68.36,68.30,68.72,69.12,69.68,
-69.68,70.16,70.54,70.91,70.94,71.28,71.46,71.83,72.38,72.50,
-72.94,73.19,73.53,73.44,74.13,73.99,74.85,74.81,75.22,75.68,
-75.76,75.86,76.32,76.60,77.14,77.46,77.40,77.85,78.31,78.52,
-78.95,78.94,79.22,79.77,80.18,80.41,80.78,80.66,81.05,81.22,
-81.72,82.43,82.49,82.73,82.98,83.46,83.60,84.18,84.21,84.78,
-84.64,84.88,85.62,86.07,85.85,86.16,86.48,86.72,87.44,87.44,
-87.81,88.08,88.44,89.08,89.08,89.49,89.45,89.94,90.13,90.73,
-3.25,3.58,3.85,4.08,4.42,4.72,4.93,5.24,5.54,5.90,
-6.09,6.35,6.70,6.91,7.26,7.48,7.81,8.14,8.35,8.65,
-9.00,9.17,9.54,9.78,10.04,10.37,10.61,10.98,11.29,11.48,
-11.77,12.10,12.33,12.60,12.99,13.25,13.56,13.74,13.99,14.22,
-14.64,14.87,15.17,15.50,15.79,15.96,16.43,16.59,16.87,17.18,
-17.38,17.81,18.02,18.40,18.62,18.80,19.23,19.42,19.66,19.91,
-20.31,20.55,20.79,21.15,21.28,21.62,21.92,22.34,22.55,22.67,
-23.17,23.35,23.75,23.89,24.07,24.61,24.95,25.01,25.54,25.73,
-25.88,26.25,26.41,26.80,27.07,27.35,27.70,27.81,28.19,28.56,
-28.76,29.07,29.33,29.64,29.87,30.14,30.42,30.73,31.02,31.36,
-31.61,31.89,32.18,32.31,32.75,32.93,33.42,33.41,33.73,34.08,
-34.45,34.80,35.16,35.14,35.62,35.86,36.16,36.35,36.64,36.98,
-37.24,37.53,37.96,38.06,38.49,38.79,39.04,39.18,39.53,39.88,
-39.99,40.37,40.98,40.95,41.17,41.23,41.93,42.00,42.31,42.53,
-42.81,43.15,43.49,43.85,44.03,44.22,44.48,44.90,45.29,45.46,
-45.80,45.95,46.30,46.43,46.89,47.15,47.41,47.85,48.08,48.40,
-48.57,48.98,49.27,49.49,49.71,49.81,50.41,50.48,50.88,51.01,
-51.41,51.82,51.99,52.35,52.70,52.73,53.33,53.18,53.55,53.89,
-54.21,54.48,55.02,55.14,55.42,55.74,55.84,56.24,56.62,56.68,
-57.10,57.07,57.62,57.97,58.42,58.58,58.79,59.08,59.21,59.59,
-59.78,60.10,60.38,60.76,61.20,61.33,61.71,61.82,61.95,62.52,
-62.57,63.00,63.25,63.48,63.72,64.08,64.54,64.81,65.08,65.52,
-65.51,65.91,66.19,66.63,66.91,67.15,67.27,67.49,67.94,67.98,
-68.39,68.76,68.71,69.40,69.65,69.74,69.88,70.16,70.61,71.15,
-71.53,71.22,71.71,72.23,72.47,72.74,72.71,73.26,73.52,73.61,
-74.22,74.32,74.76,74.97,75.20,75.63,75.84,76.17,76.39,76.57,
-76.94,77.05,77.50,77.65,77.81,78.23,78.81,78.84,79.39,79.26,
-79.66,79.83,80.49,80.46,80.71,81.19,81.44,81.75,82.09,82.03,
-82.67,82.90,83.26,83.35,83.44,83.60,84.17,84.54,85.03,85.24,
-3.09,3.33,3.67,3.90,4.17,4.43,4.63,4.89,5.20,5.43,
-5.75,6.02,6.35,6.49,6.86,7.14,7.26,7.58,7.83,8.16,
-8.35,8.74,9.02,9.22,9.43,9.71,10.02,10.20,10.54,10.77,
-11.01,11.32,11.66,11.87,12.05,12.46,12.67,12.77,13.20,13.45,
-13.71,14.01,14.22,14.49,14.80,15.08,15.29,15.50,15.75,16.09,
-16.36,16.70,16.80,17.18,17.46,17.68,17.97,18.24,18.49,18.84,
-19.00,19.26,19.54,19.82,20.10,20.50,20.56,21.06,21.18,21.41,
-21.65,22.02,22.25,22.62,22.79,23.19,23.28,23.48,23.84,24.19,
-24.30,24.79,24.87,25.25,25.30,25.72,25.95,26.18,26.51,26.84,
-26.86,27.14,27.64,27.67,28.01,28.34,28.68,28.88,29.10,29.51,
-29.60,29.91,30.40,30.40,30.76,31.12,31.28,31.62,31.77,32.06,
-32.25,32.71,32.82,33.12,33.45,33.92,34.06,34.38,34.51,34.88,
-35.09,35.25,35.69,35.99,36.10,36.32,36.71,36.97,37.02,37.35,
-37.60,38.08,38.15,38.34,38.80,38.89,39.29,39.59,39.81,39.90,
-40.30,40.41,40.86,41.04,41.58,41.68,42.01,42.13,42.59,42.78,
-43.07,43.10,43.61,43.69,44.09,44.45,44.67,45.12,45.03,45.51,
-45.76,45.53,46.22,46.34,46.77,46.85,47.04,47.49,48.02,48.13,
-48.23,48.66,48.81,48.96,49.45,49.91,49.94,50.09,50.44,50.61,
-51.05,51.29,51.70,51.82,52.05,52.48,52.32,52.86,53.12,53.55,
-53.67,53.86,54.10,54.37,54.84,55.02,55.35,55.48,55.74,56.19,
-56.18,56.47,56.67,57.07,57.31,57.55,57.96,58.10,58.44,58.72,
-59.04,59.20,59.52,59.71,59.97,60.22,60.41,60.92,61.08,61.30,
-61.70,61.99,62.26,62.30,62.70,63.00,63.40,63.44,63.93,64.08,
-64.35,64.68,64.72,65.07,65.28,65.64,65.81,66.08,66.39,66.80,
-66.91,67.12,67.57,67.99,68.14,68.31,68.71,68.65,69.12,69.40,
-69.64,69.60,70.30,70.55,70.76,70.87,71.27,71.52,71.95,72.25,
-72.18,72.47,72.90,73.33,73.50,73.71,73.79,74.26,74.64,74.93,
-74.86,75.17,75.59,76.00,76.08,76.46,76.49,76.87,77.11,77.23,
-77.92,77.74,78.11,78.36,78.85,79.07,79.06,79.48,79.92,79.91,
-2.93,3.14,3.38,3.64,3.92,4.19,4.41,4.60,4.89,5.14,
-5.41,5.71,5.93,6.17,6.37,6.57,6.88,7.16,7.41,7.65,
-7.82,8.16,8.45,8.64,8.92,9.21,9.46,9.63,9.88,10.20,
-10.51,10.62,10.88,11.20,11.34,11.73,11.87,12.13,12.38,12.65,
-12.92,13.24,13.41,13.65,13.90,14.20,14.43,14.52,14.86,15.12,
-15.48,15.66,15.85,16.27,16.30,16.55,16.94,17.25,17.41,17.74,
-17.91,18.24,18.46,18.53,18.88,19.11,19.45,19.77,19.89,20.16,
-20.43,20.61,20.87,21.10,21.42,21.61,21.92,22.20,22.46,22.63,
-22.98,23.17,23.38,23.65,23.86,24.10,24.31,24.54,24.91,25.17,
-25.36,25.57,26.01,26.16,26.35,26.71,26.98,27.20,27.40,27.80,
-27.92,28.16,28.36,28.64,28.84,29.09,29.50,29.66,30.10,30.29,
-30.46,30.63,30.88,31.29,31.37,31.51,31.94,32.33,32.41,32.52,
-32.95,33.15,33.36,33.78,33.98,34.05,34.62,34.74,34.82,35.21,
-35.54,35.71,35.89,36.06,36.45,36.65,36.91,36.97,37.40,37.55,
-37.94,38.17,38.45,38.69,38.92,39.18,39.40,39.73,39.97,40.35,
-40.44,40.74,41.05,41.07,41.33,41.59,41.95,42.22,42.41,42.61,
-42.91,43.23,43.33,43.64,43.95,44.20,44.44,44.77,44.75,45.22,
-45.40,45.69,46.08,46.08,46.58,46.73,46.88,47.41,47.59,47.72,
-47.79,48.03,48.47,48.57,48.90,49.00,49.32,49.58,50.17,50.01,
-50.52,50.92,50.95,51.30,51.42,51.58,51.86,52.18,52.49,52.55,
-52.84,53.02,53.41,53.66,53.74,53.96,54.50,54.76,54.94,55.23,
-55.48,55.72,55.92,56.23,56.32,56.56,56.71,57.23,57.48,57.77,
-57.80,57.92,58.39,58.75,58.90,59.12,59.44,59.41,60.05,60.34,
-60.31,60.47,60.96,61.13,61.51,61.69,62.05,62.12,62.40,62.77,
-62.99,63.24,63.35,63.73,63.91,64.00,64.70,64.76,64.81,65.01,
-65.54,65.55,66.13,66.17,66.59,66.86,66.81,67.22,67.45,67.48,
-67.99,68.15,68.62,68.61,68.93,69.43,69.44,69.92,69.83,70.25,
-70.47,70.62,70.76,71.08,71.53,71.71,71.92,72.18,72.44,72.65,
-73.26,73.34,73.22,73.77,74.06,74.31,74.34,74.76,75.10,75.26,
-2.73,3.04,3.17,3.41,3.65,3.91,4.13,4.38,4.53,4.85,
-5.13,5.27,5.63,5.79,6.02,6.19,6.47,6.69,6.94,7.18,
-7.43,7.68,7.87,8.08,8.41,8.58,8.82,9.08,9.31,9.57,
-9.81,10.09,10.24,10.60,10.65,10.92,11.13,11.46,11.67,11.98,
-12.17,12.36,12.65,12.76,13.08,13.28,13.55,13.76,14.01,14.14,
-14.49,14.71,14.95,15.22,15.47,15.74,15.90,16.08,16.35,16.62,
-16.83,17.08,17.30,17.43,17.73,18.07,18.29,18.38,18.71,18.84,
-19.18,19.40,19.70,20.00,20.11,20.35,20.56,20.89,21.12,21.23,
-21.53,21.79,21.99,22.23,22.51,22.82,22.93,23.21,23.34,23.67,
-24.00,23.95,24.29,24.72,24.93,25.12,25.35,25.57,25.70,26.06,
-26.20,26.31,26.60,26.89,27.28,27.32,27.67,28.00,28.14,28.34,
-28.61,28.80,28.97,29.26,29.50,29.90,29.98,30.16,30.39,30.82,
-31.00,31.24,31.45,31.72,31.99,32.24,32.42,32.62,32.98,33.21,
-33.40,33.55,33.82,33.97,34.13,34.66,34.55,34.99,35.27,35.35,
-35.72,35.89,36.05,36.13,36.72,36.95,36.73,37.18,37.60,37.83,
-38.00,38.51,38.45,38.60,38.92,39.09,39.48,39.70,39.88,39.90,
-40.46,40.46,40.86,41.03,41.29,41.73,41.77,42.01,42.36,42.55,
-42.68,42.93,43.41,43.44,43.53,44.05,44.03,44.34,44.71,44.68,
-44.91,45.30,45.74,45.75,46.11,46.28,46.32,46.79,46.94,47.04,
-47.46,47.62,47.97,48.03,48.16,48.61,48.76,48.94,49.22,49.45,
-49.60,50.05,50.30,50.17,50.97,50.80,51.02,51.62,51.68,51.69,
-52.20,52.35,52.67,52.86,53.02,53.36,53.39,53.77,53.90,54.21,
-54.41,54.76,54.89,55.20,55.26,55.57,56.06,56.11,56.23,56.62,
-56.95,57.06,57.39,57.34,57.60,58.07,58.38,58.45,58.88,58.97,
-59.08,59.46,60.02,59.90,59.86,60.26,60.54,60.99,60.95,61.55,
-61.65,61.71,62.07,62.06,62.52,62.44,63.15,63.06,63.40,63.64,
-64.02,63.95,64.44,64.52,64.65,65.10,65.32,65.66,65.75,65.98,
-66.06,66.29,66.85,66.91,67.21,67.32,67.45,68.09,68.01,68.35,
-68.59,68.61,69.00,69.11,69.79,69.77,69.96,70.45,70.25,70.75,
-2.56,2.76,3.01,3.20,3.45,3.65,3.89,4.12,4.37,4.55,
-4.82,5.03,5.27,5.42,5.64,5.88,6.15,6.34,6.52,6.78,
-6.96,7.19,7.35,7.67,7.85,8.03,8.27,8.55,8.78,8.88,
-9.28,9.43,9.57,9.92,10.10,10.25,10.56,10.75,11.03,11.12,
-11.41,11.57,11.84,12.11,12.17,12.55,12.86,13.02,13.15,13.40,
-13.68,13.86,13.97,14.29,14.50,14.74,14.94,15.07,15.47,15.66,
-15.84,16.07,16.38,16.59,16.66,16.93,17.11,17.27,17.68,17.81,
-18.06,18.24,18.37,18.65,18.91,19.01,19.34,19.62,19.79,20.00,
-20.26,20.46,20.82,20.96,21.12,21.34,21.65,21.79,21.97,22.24,
-22.53,22.79,22.94,23.16,23.38,23.67,23.84,24.01,24.25,24.55,
-24.76,24.86,25.17,25.41,25.59,25.83,26.07,26.14,26.42,26.54,
-26.88,27.06,27.46,27.55,27.75,27.87,28.15,28.42,28.69,28.90,
-29.03,29.23,29.57,29.66,30.13,30.21,30.41,30.79,30.78,31.07,
-31.26,31.49,31.82,31.75,32.28,32.26,32.67,32.80,33.15,33.29,
-33.53,33.69,33.77,34.11,34.31,34.78,34.80,35.07,35.25,35.58,
-35.67,35.89,36.10,36.46,36.63,36.93,36.98,37.13,37.55,37.76,
-37.89,38.09,38.32,38.70,38.99,39.05,39.33,39.54,39.77,40.12,
-40.04,40.57,40.53,40.87,40.96,41.27,41.48,41.59,41.97,42.23,
-42.38,42.60,42.73,43.10,43.19,43.36,43.67,43.91,44.06,44.40,
-44.41,44.69,44.91,45.19,45.34,45.70,45.84,46.12,46.37,46.46,
-46.96,47.16,47.15,47.41,47.82,47.93,48.00,48.48,48.39,48.92,
-48.94,49.22,49.34,49.76,49.78,50.04,50.56,50.47,50.70,51.05,
-51.10,51.21,51.49,51.81,52.10,52.36,52.60,52.68,53.02,53.01,
-53.47,53.48,54.05,54.11,54.24,54.36,54.77,54.87,55.09,55.58,
-55.42,55.83,55.97,56.35,56.63,56.53,56.97,57.17,57.35,57.54,
-57.98,57.93,58.40,58.77,58.67,58.74,59.13,59.47,59.59,59.69,
-59.91,60.35,60.58,60.88,60.91,61.20,61.42,61.72,61.84,62.12,
-62.24,62.33,62.67,62.88,63.02,63.24,63.62,63.76,63.97,64.02,
-64.68,64.59,64.98,65.03,65.46,65.58,65.70,65.96,66.22,66.37,
-2.40,2.63,2.84,3.03,3.16,3.44,3.67,3.86,4.04,4.29,
-4.45,4.73,4.90,5.11,5.37,5.49,5.78,5.93,6.08,6.31,
-6.52,6.80,6.96,7.18,7.39,7.59,7.84,7.98,8.21,8.43,
-8.62,8.86,9.08,9.25,9.51,9.61,9.73,10.21,10.37,10.55,
-10.73,10.94,11.23,11.31,11.61,11.78,11.88,12.24,12.30,12.65,
-12.70,12.90,13.17,13.37,13.69,13.83,13.99,14.32,14.52,14.66,
-14.96,15.08,15.39,15.64,15.75,15.95,16.11,16.28,16.64,16.76,
-16.94,17.18,17.49,17.56,17.69,18.03,18.13,18.41,18.51,18.94,
-19.03,19.14,19.38,19.69,19.75,20.09,20.19,20.59,20.70,20.75,
-21.07,21.31,21.51,21.84,21.91,22.04,22.38,22.46,22.81,22.86,
-23.07,23.36,23.50,23.79,24.01,24.22,24.45,24.78,24.90,25.06,
-25.13,25.52,25.80,25.93,25.95,26.39,26.55,26.81,26.80,27.17,
-27.29,27.65,27.74,27.88,28.15,28.41,28.71,28.93,29.02,29.27,
-29.42,29.53,29.84,30.00,30.33,30.43,30.51,30.77,30.93,31.36,
-31.56,31.46,32.02,32.21,32.28,32.42,32.70,32.82,33.09,33.52,
-33.66,33.66,33.97,34.01,34.43,34.82,34.78,35.09,34.92,35.41,
-35.60,35.85,36.15,36.43,36.55,36.68,36.98,37.12,37.34,37.74,
-37.66,37.94,38.15,38.36,38.60,38.75,38.90,39.30,39.49,39.49,
-39.77,40.10,40.25,40.58,40.52,40.78,41.08,41.29,41.63,41.84,
-41.86,42.10,42.31,42.47,42.68,43.00,43.31,43.40,43.55,43.83,
-43.82,44.02,44.42,44.66,44.67,45.09,45.10,45.35,45.51,46.00,
-46.09,46.14,46.21,46.61,46.99,47.02,47.43,47.61,47.68,47.81,
-48.21,48.49,48.40,48.92,48.95,49.19,49.26,49.45,49.73,49.97,
-50.26,50.36,50.65,50.96,50.93,51.12,51.20,51.65,51.71,52.26,
-52.39,52.47,52.67,53.00,53.10,53.14,53.37,53.76,53.91,54.08,
-54.48,54.54,54.88,55.05,55.13,55.37,55.66,55.69,55.78,56.20,
-56.42,56.70,56.58,56.99,57.27,57.53,57.85,57.98,58.15,58.37,
-58.50,58.48,58.64,59.48,59.41,59.73,59.51,59.93,60.05,60.30,
-60.52,60.70,60.94,61.41,61.29,61.67,61.77,61.92,62.51,62.51,
-2.27,2.45,2.65,2.85,3.08,3.23,3.45,3.65,3.79,4.02,
-4.19,4.40,4.58,4.82,5.04,5.15,5.40,5.58,5.74,6.02,
-6.16,6.33,6.58,6.75,6.92,7.13,7.38,7.53,7.67,8.00,
-8.03,8.22,8.54,8.62,8.94,9.07,9.25,9.63,9.63,9.80,
-10.07,10.27,10.53,10.65,10.95,11.11,11.27,11.38,11.59,11.82,
-12.11,12.27,12.41,12.64,12.79,13.10,13.29,13.30,13.56,13.81,
-13.99,14.20,14.32,14.57,14.68,14.85,15.16,15.35,15.48,15.76,
-16.01,16.02,16.32,16.53,16.77,16.90,17.11,17.21,17.47,17.80,
-17.90,18.08,18.30,18.48,18.77,18.95,19.05,19.41,19.51,19.59,
-19.85,20.03,19.94,20.43,20.57,20.81,21.10,21.32,21.36,21.54,
-21.71,22.05,22.28,22.43,22.49,22.77,23.16,23.11,23.38,23.59,
-23.70,23.83,24.09,24.32,24.48,24.73,24.93,25.20,25.32,25.53,
-25.72,25.95,26.02,26.37,26.62,26.63,26.84,27.23,27.38,27.43,
-27.59,27.86,28.08,28.22,28.50,28.43,28.82,28.93,29.22,29.37,
-29.69,29.72,29.94,30.22,30.33,30.53,30.92,30.96,31.20,31.40,
-31.49,31.95,32.03,32.05,32.29,32.35,32.68,33.03,33.13,33.32,
-33.44,33.77,33.93,34.13,34.25,34.45,34.67,34.94,35.18,35.32,
-35.59,35.59,35.88,36.13,36.38,36.51,36.58,36.92,37.15,37.31,
-37.46,37.50,37.79,38.02,38.13,38.46,38.47,38.84,39.17,39.07,
-39.39,39.58,39.78,39.94,40.06,40.60,40.56,40.82,40.88,41.08,
-41.40,41.62,41.72,41.93,42.33,42.34,42.52,42.64,42.88,43.12,
-43.24,43.31,43.77,43.85,43.97,44.01,44.45,44.60,45.02,45.18,
-45.10,45.38,45.66,45.88,46.13,46.15,46.41,46.53,47.05,47.06,
-47.38,47.48,47.51,47.73,48.22,48.21,48.25,48.42,48.61,48.99,
-49.15,49.36,49.52,49.69,49.91,50.19,50.24,50.39,50.85,50.91,
-51.11,51.31,51.46,51.54,51.93,52.04,52.33,52.61,52.56,52.99,
-53.12,53.37,53.36,54.01,54.04,53.91,54.09,54.53,54.61,54.68,
-55.09,55.35,55.31,55.61,55.80,55.88,55.97,56.22,56.47,56.58,
-57.09,57.37,57.28,57.63,57.54,57.71,58.12,58.28,58.35,58.64,
-2.16,2.28,2.47,2.73,2.84,3.05,3.23,3.44,3.56,3.75,
-3.95,4.17,4.35,4.46,4.78,4.93,5.08,5.23,5.45,5.58,
-5.71,5.94,6.16,6.35,6.58,6.68,6.94,7.00,7.23,7.48,
-7.69,7.76,8.01,8.16,8.31,8.59,8.77,8.93,9.13,9.33,
-9.50,9.65,9.84,10.01,10.20,10.37,10.56,10.74,11.02,11.15,
-11.34,11.50,11.70,11.83,12.15,12.22,12.29,12.52,12.79,12.98,
-13.14,13.28,13.52,13.59,13.82,14.07,14.22,14.35,14.65,14.83,
-15.01,15.08,15.43,15.59,15.75,15.87,16.05,16.23,16.31,16.70,
-16.87,16.94,17.16,17.34,17.63,17.69,17.91,18.10,18.29,18.48,
-18.56,18.80,19.03,19.24,19.53,19.52,19.79,19.85,20.04,20.28,
-20.47,20.60,20.91,21.09,21.18,21.44,21.55,21.79,21.98,22.09,
-22.34,22.55,22.57,22.88,23.16,23.28,23.40,23.61,23.78,23.99,
-24.22,24.22,24.59,24.61,24.99,25.07,25.29,25.34,25.61,26.03,
-25.89,26.12,26.34,26.48,26.81,27.01,27.18,27.27,27.51,27.77,
-27.69,27.95,28.19,28.42,28.54,28.86,28.93,28.93,29.24,29.47,
-29.66,29.82,29.92,30.21,30.37,30.63,30.79,30.83,31.41,31.10,
-31.56,31.66,31.92,32.14,32.15,32.54,32.71,32.69,33.09,33.36,
-33.48,33.43,33.93,33.92,34.12,34.32,34.54,34.64,34.79,34.94,
-35.21,35.24,35.65,35.66,35.85,36.10,36.33,36.39,36.79,36.89,
-36.97,37.15,37.25,37.58,37.78,38.02,38.09,38.59,38.66,38.61,
-38.71,39.16,39.35,39.39,39.55,39.83,39.98,40.32,40.28,40.54,
-40.62,40.71,41.15,41.23,41.19,41.60,41.85,41.98,42.09,42.35,
-42.52,42.43,42.87,43.19,43.30,43.35,43.64,43.74,43.65,44.30,
-44.29,44.58,44.77,44.73,45.17,45.28,45.63,45.68,45.83,46.11,
-46.44,46.37,46.48,46.81,46.90,47.32,47.40,47.36,47.62,47.93,
-47.90,48.15,48.41,48.58,48.77,48.93,49.11,49.32,49.56,49.59,
-49.94,50.17,50.11,50.29,50.63,50.61,51.05,51.01,51.30,51.67,
-51.77,51.91,52.05,52.18,52.35,52.60,52.93,52.83,53.22,53.48,
-53.68,53.72,53.82,54.10,54.18,54.38,54.84,54.76,54.99,55.38,
-1.94,2.12,2.37,2.53,2.72,2.84,3.01,3.14,3.38,3.52,
-3.69,3.87,4.04,4.19,4.47,4.58,4.79,4.92,5.10,5.24,
-5.46,5.70,5.73,5.98,6.12,6.21,6.51,6.71,6.83,7.08,
-7.17,7.26,7.55,7.67,7.79,8.04,8.19,8.38,8.54,8.78,
-8.90,9.09,9.32,9.42,9.61,9.78,9.97,10.10,10.32,10.43,
-10.74,10.75,10.95,11.16,11.32,11.54,11.64,11.90,11.91,12.22,
-12.46,12.40,12.70,12.79,13.09,13.19,13.39,13.59,13.69,13.89,
-14.14,14.23,14.30,14.69,14.76,14.94,15.06,15.38,15.46,15.59,
-15.75,16.05,16.22,16.26,16.45,16.77,16.89,17.04,17.20,17.29,
-17.64,17.74,17.98,18.06,18.26,18.37,18.57,18.71,18.81,19.13,
-19.46,19.47,19.49,19.78,20.02,20.06,20.18,20.45,20.59,20.83,
-21.12,21.18,21.40,21.50,21.65,21.76,22.05,22.31,22.38,22.62,
-22.72,22.92,23.01,23.08,23.45,23.56,23.70,23.84,24.17,24.35,
-24.39,24.50,24.90,24.88,25.28,25.29,25.57,25.79,25.77,26.03,
-26.33,26.33,26.51,26.69,27.02,27.08,27.06,27.35,27.55,27.58,
-27.93,28.14,28.11,28.48,28.47,28.76,28.93,29.25,29.33,29.39,
-29.55,29.89,29.95,30.04,30.27,30.38,30.81,30.86,30.86,31.16,
-31.44,31.53,31.69,31.81,32.19,32.15,32.38,32.47,32.70,32.84,
-33.20,33.32,33.42,33.55,33.77,34.03,34.05,34.36,34.61,34.56,
-34.78,34.87,35.17,35.33,35.50,35.64,35.80,35.78,36.00,36.27,
-36.58,36.66,37.02,37.13,37.19,37.56,37.70,37.59,37.86,38.25,
-38.25,38.34,38.42,38.79,39.08,39.13,39.24,39.39,39.46,39.67,
-39.97,40.17,40.16,40.50,40.67,40.93,41.03,41.13,41.35,41.66,
-41.72,41.72,42.05,42.13,42.35,42.39,42.56,43.04,43.26,43.30,
-43.27,43.74,43.73,43.80,44.11,44.41,44.44,44.56,44.71,45.21,
-45.26,45.44,45.61,45.56,45.61,46.01,46.18,46.19,46.41,46.70,
-46.81,47.16,47.28,47.58,47.59,47.66,47.87,48.25,48.40,48.39,
-48.61,48.70,49.06,49.26,49.37,49.63,49.66,49.74,50.10,50.20,
-50.49,50.69,50.50,50.79,50.92,51.10,51.37,51.55,51.76,51.77,
-1.87,2.06,2.22,2.39,2.57,2.68,2.87,3.01,3.20,3.29,
-3.50,3.65,3.79,4.00,4.18,4.30,4.48,4.69,4.77,4.91,
-5.08,5.33,5.45,5.53,5.76,6.04,6.09,6.27,6.38,6.63,
-6.72,6.96,7.08,7.32,7.35,7.67,7.72,7.92,8.09,8.17,
-8.35,8.53,8.75,8.95,9.07,9.20,9.32,9.43,9.78,9.82,
-10.02,10.09,10.35,10.49,10.60,10.79,10.94,11.15,11.28,11.46,
-11.65,11.82,11.95,12.10,12.20,12.37,12.58,12.77,12.93,13.06,
-13.20,13.44,13.53,13.71,13.97,14.09,14.17,14.46,14.73,14.76,
-14.86,15.05,15.18,15.24,15.54,15.68,15.82,15.96,16.17,16.27,
-16.51,16.75,16.85,16.78,17.15,17.39,17.41,17.66,17.76,17.97,
-18.11,18.41,18.60,18.62,18.82,18.97,19.00,19.27,19.39,19.61,
-19.72,19.72,20.00,20.21,20.54,20.50,20.53,20.87,21.02,21.05,
-21.22,21.51,21.63,21.93,22.10,22.22,22.40,22.48,22.71,22.83,
-22.96,23.21,23.38,23.48,23.59,23.80,24.02,24.11,24.39,24.34,
-24.72,24.69,24.94,25.20,25.29,25.38,25.62,25.72,25.91,25.95,
-26.12,26.46,26.52,26.74,26.90,26.89,27.19,27.40,27.65,27.62,
-27.77,28.03,28.14,28.19,28.71,28.62,28.77,28.90,29.15,29.53,
-29.66,29.56,29.71,30.04,30.07,30.20,30.45,30.68,31.02,31.12,
-31.14,31.24,31.41,31.55,31.86,31.86,32.05,32.28,32.47,32.49,
-32.70,32.83,32.87,33.06,33.48,33.41,33.71,33.89,34.02,34.22,
-34.30,34.27,34.58,34.67,34.90,35.20,35.24,35.39,35.65,35.88,
-36.08,36.10,36.30,36.29,36.62,36.69,36.99,36.95,37.17,37.56,
-37.53,37.59,37.88,37.98,38.20,38.31,38.54,38.56,38.98,38.91,
-39.19,39.31,39.57,39.63,39.88,40.23,40.12,40.43,40.39,40.73,
-40.60,40.99,41.07,41.46,41.60,41.66,41.87,41.93,42.16,42.25,
-42.43,42.63,42.97,43.04,43.10,43.19,43.56,43.63,43.60,43.93,
-43.90,44.23,44.30,44.58,44.62,44.76,45.06,45.09,45.45,45.60,
-45.63,45.98,46.05,46.23,46.47,46.55,46.88,46.69,47.13,46.92,
-47.48,47.48,47.63,47.47,47.86,47.95,48.11,48.45,48.30,48.82,
-1.77,1.91,2.11,2.22,2.35,2.56,2.63,2.85,3.00,3.16,
-3.32,3.43,3.60,3.74,3.95,4.00,4.18,4.40,4.54,4.72,
-4.78,4.98,5.10,5.30,5.42,5.59,5.74,5.86,6.07,6.15,
-6.30,6.47,6.67,6.80,6.90,7.13,7.16,7.40,7.55,7.78,
-7.91,7.95,8.11,8.44,8.53,8.64,8.76,8.97,9.05,9.23,
-9.43,9.51,9.71,9.86,10.05,10.19,10.29,10.53,10.57,10.72,
-10.99,11.03,11.15,11.43,11.59,11.58,11.79,11.92,12.16,12.46,
-12.48,12.51,12.73,12.90,13.06,13.16,13.47,13.50,13.76,13.85,
-13.90,14.16,14.21,14.44,14.69,14.76,14.85,15.13,15.15,15.21,
-15.56,15.64,15.90,15.96,16.09,16.28,16.53,16.62,16.71,16.87,
-17.02,17.20,17.38,17.47,17.56,17.76,17.83,18.16,18.15,18.33,
-18.47,18.83,18.79,19.00,19.26,19.26,19.50,19.64,19.86,19.95,
-20.03,20.15,20.44,20.53,20.63,20.86,20.94,21.19,21.26,21.38,
-21.70,21.66,21.93,22.12,22.20,22.28,22.50,22.77,22.70,22.80,
-23.25,23.21,23.24,23.54,23.71,23.87,24.05,24.31,24.25,24.63,
-24.47,24.84,25.01,25.01,25.48,25.49,25.43,25.77,25.92,25.97,
-26.20,26.33,26.41,26.49,26.84,26.83,26.95,27.30,27.40,27.56,
-27.80,27.93,28.13,28.05,28.18,28.69,28.45,28.69,28.96,29.02,
-29.08,29.34,29.40,29.73,29.62,29.88,30.19,30.03,30.26,30.43,
-30.88,30.97,31.06,31.25,31.44,31.58,31.63,31.84,32.08,32.15,
-32.35,32.41,32.63,32.75,32.94,33.10,33.15,33.35,33.38,33.44,
-33.92,34.08,34.14,34.19,34.32,34.47,34.72,34.87,35.15,35.15,
-35.42,35.36,35.68,35.65,35.98,36.12,36.28,36.37,36.59,36.69,
-36.87,37.00,37.14,37.30,37.72,37.71,37.79,37.80,38.07,38.25,
-38.34,38.39,38.78,38.84,38.98,39.06,38.96,39.36,39.56,39.74,
-40.01,40.04,40.40,40.47,40.50,40.71,40.71,40.93,41.09,41.18,
-41.44,41.57,41.83,41.98,41.92,42.25,42.30,42.44,42.58,42.89,
-42.83,43.01,43.21,43.41,43.50,43.54,43.76,44.12,44.36,44.09,
-44.40,44.67,44.73,44.83,45.12,45.20,45.59,45.59,45.85,45.94,
-1.66,1.78,1.93,2.13,2.22,2.36,2.47,2.67,2.79,3.02,
-3.02,3.23,3.40,3.53,3.65,3.88,3.94,4.13,4.21,4.33,
-4.49,4.70,4.79,4.95,5.12,5.22,5.42,5.56,5.62,5.85,
-6.03,6.16,6.30,6.39,6.55,6.66,6.89,6.94,7.15,7.25,
-7.41,7.51,7.69,7.81,7.93,8.11,8.20,8.44,8.52,8.66,
-8.84,8.89,9.13,9.18,9.36,9.54,9.71,9.88,10.00,10.02,
-10.25,10.32,10.58,10.69,10.88,10.94,11.17,11.25,11.40,11.59,
-11.65,11.86,11.92,12.17,12.40,12.36,12.59,12.68,12.85,13.02,
-13.16,13.27,13.38,13.66,13.72,13.81,13.99,14.15,14.16,14.33,
-14.53,14.58,14.90,14.97,15.09,15.47,15.44,15.63,15.66,15.73,
-16.06,16.13,16.32,16.42,16.46,16.78,16.82,16.86,17.12,17.23,
-17.45,17.52,17.75,17.96,17.88,18.24,18.17,18.43,18.64,18.60,
-18.88,19.02,19.27,19.30,19.57,19.53,19.81,19.67,19.93,20.18,
-20.21,20.31,20.57,20.78,20.72,21.10,21.08,21.33,21.40,21.61,
-21.77,21.98,22.12,22.07,22.19,22.38,22.51,22.84,22.90,22.93,
-23.27,23.19,23.39,23.68,23.79,23.77,24.09,24.00,24.31,24.51,
-24.59,24.67,24.87,25.07,25.14,25.33,25.47,25.66,25.75,26.07,
-25.89,26.24,26.21,26.53,26.55,26.75,27.02,27.03,27.25,27.55,
-27.52,27.70,27.79,27.83,28.02,27.95,28.40,28.61,28.62,28.74,
-28.92,29.15,29.15,29.45,29.48,29.56,29.79,29.66,30.23,30.34,
-30.30,30.56,30.66,30.54,30.90,30.98,31.18,31.46,31.54,31.72,
-31.64,31.98,31.99,32.04,32.36,32.64,32.70,32.78,33.07,32.94,
-33.31,33.34,33.38,33.54,33.86,33.73,33.93,34.23,34.47,34.59,
-34.68,34.64,34.85,35.06,35.16,35.39,35.59,35.60,35.78,35.83,
-36.18,36.36,36.36,36.28,36.48,36.83,37.00,37.02,37.22,37.24,
-37.70,37.60,37.81,37.83,37.99,38.27,38.45,38.51,38.55,38.72,
-38.80,39.09,39.01,39.34,39.61,39.68,39.66,39.88,40.20,40.24,
-40.34,40.53,40.64,40.80,40.88,41.08,41.25,41.42,41.45,41.68,
-41.80,42.02,42.01,42.13,42.54,42.53,42.72,42.60,43.03,43.10
-};
-
-static float sdNumAnchors[] = {
-0.82,0.86,0.94,0.98,0.98,1.02,1.10,1.11,1.12,1.12,
-1.16,1.25,1.26,1.24,1.32,1.36,1.32,1.34,1.44,1.41,
-1.47,1.50,1.48,1.54,1.53,1.60,1.62,1.62,1.61,1.72,
-1.67,1.69,1.74,1.73,1.72,1.74,1.71,1.79,1.85,1.79,
-1.93,2.01,1.98,1.98,1.97,1.91,1.93,2.03,1.95,2.06,
-2.14,2.05,2.00,2.12,2.14,2.15,2.14,2.15,2.20,2.23,
-2.27,2.26,2.26,2.26,2.30,2.26,2.22,2.27,2.38,2.32,
-2.30,2.40,2.39,2.41,2.40,2.48,2.53,2.52,2.42,2.45,
-2.49,2.57,2.48,2.48,2.60,2.54,2.65,2.67,2.61,2.63,
-2.78,2.79,2.70,2.67,2.69,2.68,2.75,2.64,2.70,2.80,
-2.83,2.80,2.73,2.71,2.83,2.92,2.93,2.80,2.83,2.93,
-2.81,3.00,2.93,2.87,2.92,2.92,3.01,2.87,2.91,3.08,
-3.07,3.18,3.02,3.04,3.09,3.15,3.09,3.08,3.14,3.05,
-3.07,3.18,3.10,3.17,3.17,3.08,3.16,3.22,3.30,3.24,
-3.23,3.31,3.35,3.39,3.34,3.31,3.41,3.23,3.34,3.37,
-3.38,3.38,3.29,3.47,3.44,3.41,3.35,3.52,3.45,3.57,
-3.51,3.45,3.46,3.30,3.47,3.54,3.45,3.45,3.53,3.53,
-3.58,3.50,3.53,3.61,3.56,3.54,3.64,3.64,3.53,3.64,
-3.78,3.69,3.70,3.69,3.78,3.74,3.71,3.86,3.68,3.62,
-3.76,3.63,3.79,3.69,3.80,3.70,3.76,3.87,3.88,3.88,
-3.95,4.02,3.75,3.87,3.88,3.92,3.88,3.92,3.94,3.92,
-3.92,4.01,4.01,4.12,3.93,4.07,3.95,4.10,3.98,3.88,
-4.04,4.09,3.96,4.12,4.10,4.23,4.10,4.12,4.26,4.08,
-4.37,4.16,4.30,4.12,4.31,4.23,4.27,4.11,4.30,4.08,
-4.17,4.08,4.16,4.13,4.22,4.23,4.39,4.26,4.22,4.16,
-4.31,4.08,4.23,4.11,4.23,4.15,4.22,4.23,4.31,4.26,
-4.37,4.42,4.42,4.36,4.50,4.40,4.28,4.27,4.51,4.37,
-4.36,4.45,4.52,4.51,4.41,4.56,4.47,4.58,4.45,4.58,
-4.48,4.53,4.68,4.61,4.70,4.54,4.76,4.55,4.74,4.58,
-0.72,0.75,0.81,0.84,0.84,0.84,0.92,0.93,1.00,0.99,
-1.04,1.01,1.06,1.07,1.15,1.14,1.18,1.19,1.19,1.22,
-1.28,1.27,1.33,1.32,1.31,1.38,1.35,1.39,1.40,1.43,
-1.42,1.47,1.41,1.48,1.53,1.54,1.58,1.59,1.55,1.55,
-1.58,1.65,1.68,1.62,1.66,1.67,1.64,1.68,1.81,1.71,
-1.72,1.79,1.72,1.80,1.86,1.74,1.90,1.84,1.92,1.88,
-1.84,1.94,1.98,1.89,1.91,1.98,1.96,1.95,1.96,1.99,
-2.02,2.09,2.08,2.10,2.08,2.02,2.08,2.13,2.19,2.14,
-2.19,2.17,2.16,2.22,2.23,2.16,2.25,2.33,2.23,2.34,
-2.28,2.29,2.36,2.29,2.22,2.41,2.27,2.36,2.34,2.39,
-2.43,2.41,2.49,2.44,2.51,2.48,2.43,2.39,2.54,2.40,
-2.47,2.42,2.56,2.58,2.53,2.49,2.47,2.62,2.57,2.64,
-2.61,2.63,2.69,2.65,2.61,2.83,2.69,2.58,2.77,2.73,
-2.67,2.67,2.75,2.78,2.67,2.65,2.73,2.75,2.78,2.79,
-2.86,2.81,2.77,2.74,2.86,2.75,2.90,2.76,2.86,2.76,
-2.90,2.88,2.85,2.78,2.90,2.92,2.89,2.84,3.11,2.99,
-3.02,2.97,2.92,2.99,2.99,3.09,2.88,2.94,3.08,3.02,
-3.02,3.08,3.15,3.10,3.14,3.12,3.15,3.11,3.08,3.16,
-3.27,3.26,3.14,3.01,3.17,3.21,3.34,3.02,3.23,3.14,
-3.23,3.25,3.23,3.07,3.20,3.25,3.30,3.23,3.24,3.37,
-3.24,3.22,3.24,3.29,3.39,3.25,3.31,3.45,3.38,3.33,
-3.27,3.45,3.41,3.30,3.41,3.36,3.46,3.40,3.40,3.30,
-3.39,3.27,3.39,3.45,3.54,3.43,3.37,3.52,3.48,3.50,
-3.48,3.49,3.43,3.63,3.47,3.47,3.59,3.49,3.63,3.60,
-3.61,3.59,3.53,3.47,3.59,3.59,3.60,3.55,3.54,3.73,
-3.71,3.49,3.66,3.69,3.69,3.71,3.83,3.78,3.75,3.84,
-3.69,3.74,3.66,3.78,3.71,3.87,3.84,3.72,3.80,3.80,
-3.72,3.69,3.80,3.83,3.86,3.91,3.74,3.94,3.95,3.88,
-3.78,3.94,3.86,3.97,4.07,3.82,3.97,3.96,4.08,3.91,
-0.61,0.64,0.67,0.71,0.71,0.73,0.76,0.83,0.84,0.84,
-0.85,0.90,0.88,0.88,0.96,1.00,0.96,1.00,1.02,1.02,
-1.05,1.03,1.13,1.04,1.14,1.12,1.14,1.17,1.17,1.23,
-1.20,1.22,1.21,1.26,1.30,1.31,1.32,1.37,1.36,1.34,
-1.41,1.38,1.41,1.41,1.44,1.42,1.42,1.40,1.50,1.39,
-1.50,1.46,1.49,1.48,1.57,1.55,1.52,1.53,1.57,1.58,
-1.65,1.67,1.66,1.59,1.68,1.65,1.65,1.67,1.74,1.79,
-1.71,1.73,1.76,1.81,1.72,1.78,1.81,1.77,1.81,1.82,
-1.84,1.79,1.80,1.90,1.94,1.87,1.97,1.93,1.85,1.93,
-1.93,1.93,1.93,1.95,1.98,2.02,1.98,2.00,2.00,2.00,
-2.02,2.04,1.97,2.12,2.02,1.99,2.10,2.05,2.06,2.05,
-2.12,2.17,2.15,2.18,2.21,2.21,2.31,2.25,2.21,2.25,
-2.15,2.27,2.30,2.23,2.30,2.29,2.19,2.35,2.24,2.33,
-2.19,2.38,2.21,2.25,2.41,2.25,2.37,2.42,2.31,2.43,
-2.36,2.47,2.37,2.30,2.36,2.44,2.42,2.49,2.41,2.48,
-2.44,2.45,2.52,2.43,2.47,2.43,2.52,2.46,2.55,2.45,
-2.48,2.50,2.42,2.54,2.42,2.59,2.53,2.49,2.70,2.60,
-2.58,2.59,2.61,2.59,2.57,2.74,2.58,2.66,2.59,2.67,
-2.63,2.66,2.63,2.63,2.64,2.70,2.64,2.79,2.53,2.67,
-2.68,2.72,2.79,2.79,2.73,2.74,2.73,2.80,2.82,2.75,
-2.73,2.76,2.77,2.87,2.76,2.89,2.79,2.77,2.77,2.78,
-2.89,2.83,2.97,2.92,2.85,2.97,2.86,2.93,2.86,2.85,
-2.84,2.94,2.87,2.98,2.85,3.01,2.94,2.96,3.09,3.06,
-3.01,2.94,2.92,2.91,3.07,3.06,3.08,2.98,3.01,3.01,
-3.06,3.05,3.12,3.15,3.07,2.93,3.12,3.11,3.03,3.12,
-3.13,3.15,3.16,3.08,3.11,3.22,3.11,3.12,3.17,3.16,
-3.10,3.25,3.19,3.12,3.16,3.17,3.33,3.06,3.16,3.13,
-3.34,3.31,3.35,3.19,3.30,3.22,3.39,3.26,3.28,3.25,
-3.21,3.33,3.38,3.27,3.29,3.28,3.36,3.26,3.36,3.37,
-0.51,0.56,0.58,0.60,0.61,0.66,0.68,0.66,0.69,0.71,
-0.76,0.75,0.77,0.74,0.82,0.79,0.77,0.85,0.88,0.90,
-0.90,0.93,0.95,0.92,0.98,0.96,1.03,0.96,1.02,1.10,
-1.04,1.04,1.00,1.05,1.07,1.12,1.12,1.13,1.15,1.15,
-1.20,1.15,1.18,1.16,1.21,1.18,1.26,1.21,1.25,1.20,
-1.24,1.26,1.29,1.29,1.33,1.32,1.34,1.31,1.29,1.33,
-1.39,1.36,1.36,1.42,1.43,1.46,1.43,1.46,1.51,1.46,
-1.41,1.48,1.45,1.43,1.50,1.46,1.52,1.53,1.57,1.56,
-1.57,1.54,1.68,1.61,1.59,1.58,1.63,1.61,1.58,1.60,
-1.68,1.64,1.69,1.67,1.74,1.62,1.75,1.67,1.71,1.66,
-1.75,1.75,1.77,1.70,1.72,1.82,1.77,1.77,1.77,1.78,
-1.77,1.79,1.89,1.88,1.82,1.76,1.80,1.91,1.84,1.84,
-1.79,1.89,1.90,1.90,1.91,1.86,1.93,1.91,1.90,1.88,
-1.97,1.98,1.92,1.93,2.07,2.01,1.99,1.95,1.97,1.94,
-2.06,2.03,2.07,2.06,2.07,2.09,2.01,2.01,2.03,2.06,
-2.02,2.07,2.17,2.09,2.15,2.00,2.09,2.07,2.09,2.08,
-2.16,2.16,2.19,2.10,2.23,2.13,2.14,2.18,2.05,2.31,
-2.20,2.20,2.22,2.26,2.19,2.17,2.16,2.30,2.15,2.11,
-2.20,2.34,2.23,2.28,2.28,2.28,2.24,2.25,2.32,2.29,
-2.23,2.35,2.43,2.32,2.32,2.34,2.24,2.30,2.32,2.32,
-2.36,2.34,2.41,2.46,2.43,2.38,2.39,2.43,2.37,2.40,
-2.44,2.33,2.29,2.55,2.49,2.45,2.40,2.44,2.43,2.45,
-2.53,2.55,2.48,2.46,2.58,2.53,2.51,2.54,2.50,2.44,
-2.61,2.53,2.62,2.55,2.48,2.50,2.56,2.56,2.54,2.49,
-2.55,2.58,2.67,2.62,2.58,2.55,2.66,2.60,2.46,2.51,
-2.57,2.53,2.66,2.75,2.68,2.63,2.69,2.68,2.68,2.66,
-2.63,2.57,2.71,2.78,2.77,2.74,2.79,2.76,2.63,2.70,
-2.64,2.57,2.74,2.72,2.63,2.69,2.90,2.77,2.78,2.79,
-2.75,2.74,2.76,2.78,2.74,2.74,2.88,2.80,2.78,2.78,
-0.44,0.46,0.46,0.50,0.51,0.54,0.59,0.58,0.62,0.64,
-0.64,0.63,0.66,0.66,0.69,0.68,0.71,0.71,0.74,0.75,
-0.77,0.73,0.80,0.81,0.84,0.76,0.89,0.87,0.91,0.87,
-0.83,0.92,0.91,0.90,0.97,0.91,0.95,0.94,0.96,1.00,
-0.98,0.96,0.99,1.01,1.00,1.01,1.01,1.01,1.05,1.07,
-1.11,1.08,1.11,1.07,1.12,1.13,1.11,1.16,1.13,1.19,
-1.12,1.15,1.14,1.17,1.17,1.18,1.19,1.21,1.22,1.18,
-1.25,1.19,1.27,1.22,1.26,1.28,1.33,1.31,1.26,1.30,
-1.31,1.27,1.32,1.29,1.34,1.38,1.35,1.36,1.38,1.37,
-1.37,1.41,1.33,1.41,1.41,1.44,1.37,1.41,1.44,1.41,
-1.45,1.44,1.45,1.47,1.44,1.42,1.43,1.48,1.50,1.55,
-1.48,1.48,1.53,1.58,1.53,1.56,1.55,1.58,1.60,1.62,
-1.60,1.52,1.55,1.60,1.63,1.61,1.55,1.60,1.62,1.67,
-1.61,1.60,1.68,1.62,1.67,1.69,1.65,1.66,1.68,1.64,
-1.71,1.69,1.68,1.79,1.74,1.71,1.79,1.73,1.70,1.77,
-1.76,1.80,1.78,1.74,1.78,1.77,1.82,1.78,1.78,1.73,
-1.83,1.85,1.80,1.83,1.91,1.82,1.81,1.78,1.77,1.93,
-1.88,1.80,1.88,1.79,1.88,1.81,1.85,1.89,1.82,1.84,
-1.90,1.91,1.93,1.84,1.89,1.97,1.92,1.94,1.91,1.94,
-1.94,1.94,1.96,2.09,1.91,2.00,1.97,2.06,2.02,2.01,
-2.07,2.04,2.03,1.94,2.01,1.94,2.13,2.02,2.09,2.07,
-2.09,2.03,1.97,1.99,1.94,1.99,2.04,2.04,2.03,2.10,
-2.10,2.03,2.03,2.19,2.10,2.03,2.05,2.09,2.04,2.11,
-2.08,2.11,2.15,2.17,2.10,2.20,2.16,2.20,2.10,2.28,
-2.24,2.18,2.22,2.30,2.20,2.21,2.30,2.20,2.26,2.25,
-2.21,2.22,2.18,2.23,2.31,2.16,2.28,2.23,2.25,2.37,
-2.25,2.31,2.24,2.32,2.26,2.34,2.24,2.26,2.28,2.40,
-2.34,2.30,2.23,2.31,2.33,2.24,2.23,2.34,2.34,2.41,
-2.37,2.36,2.35,2.37,2.34,2.51,2.36,2.32,2.33,2.49,
-0.36,0.38,0.39,0.43,0.42,0.46,0.47,0.48,0.48,0.54,
-0.54,0.52,0.51,0.57,0.58,0.61,0.58,0.62,0.61,0.64,
-0.64,0.65,0.65,0.66,0.67,0.69,0.70,0.70,0.69,0.72,
-0.71,0.75,0.73,0.83,0.78,0.80,0.79,0.79,0.82,0.79,
-0.81,0.80,0.84,0.81,0.83,0.87,0.87,0.84,0.88,0.85,
-0.89,0.92,0.93,0.94,0.89,0.92,0.96,0.98,0.97,0.97,
-0.96,0.99,0.99,1.03,0.98,0.97,1.05,1.05,1.00,1.03,
-1.05,1.02,1.05,1.04,1.10,1.09,1.04,1.08,1.03,1.10,
-1.12,1.10,1.12,1.07,1.12,1.14,1.15,1.19,1.12,1.18,
-1.18,1.16,1.21,1.21,1.17,1.24,1.22,1.18,1.23,1.22,
-1.23,1.21,1.22,1.26,1.25,1.21,1.25,1.35,1.27,1.22,
-1.26,1.23,1.25,1.31,1.31,1.30,1.21,1.29,1.32,1.30,
-1.31,1.35,1.37,1.38,1.34,1.33,1.32,1.34,1.37,1.40,
-1.41,1.41,1.37,1.46,1.48,1.41,1.39,1.44,1.43,1.40,
-1.41,1.43,1.46,1.51,1.42,1.51,1.46,1.41,1.49,1.51,
-1.48,1.44,1.46,1.48,1.48,1.53,1.50,1.44,1.46,1.49,
-1.49,1.61,1.52,1.57,1.53,1.52,1.59,1.56,1.60,1.58,
-1.49,1.55,1.53,1.51,1.58,1.52,1.61,1.59,1.59,1.60,
-1.59,1.62,1.60,1.59,1.65,1.61,1.65,1.61,1.60,1.69,
-1.63,1.67,1.64,1.70,1.66,1.66,1.66,1.67,1.63,1.66,
-1.69,1.67,1.68,1.75,1.71,1.64,1.75,1.70,1.67,1.71,
-1.74,1.73,1.75,1.79,1.74,1.70,1.79,1.76,1.78,1.73,
-1.77,1.75,1.78,1.71,1.82,1.80,1.74,1.82,1.79,1.83,
-1.79,1.83,1.82,1.72,1.75,1.81,1.81,1.82,1.85,1.75,
-1.87,1.84,1.78,1.87,1.83,1.81,1.80,1.87,1.83,1.87,
-1.82,1.87,1.86,1.85,1.99,1.84,1.85,1.80,1.89,1.94,
-1.90,1.87,1.89,1.90,1.95,1.99,1.92,1.94,1.96,1.87,
-1.95,1.97,1.95,1.88,2.00,1.92,2.03,2.01,1.97,2.00,
-2.01,1.94,1.99,2.03,2.02,2.01,1.92,2.04,2.00,2.09,
-0.28,0.33,0.34,0.37,0.37,0.36,0.39,0.41,0.43,0.43,
-0.43,0.44,0.47,0.48,0.49,0.47,0.49,0.51,0.50,0.54,
-0.52,0.53,0.58,0.55,0.57,0.57,0.54,0.62,0.56,0.62,
-0.58,0.63,0.67,0.63,0.62,0.65,0.68,0.69,0.69,0.64,
-0.67,0.69,0.70,0.75,0.71,0.72,0.73,0.77,0.74,0.75,
-0.75,0.72,0.78,0.75,0.82,0.83,0.79,0.81,0.82,0.80,
-0.85,0.82,0.81,0.84,0.81,0.83,0.83,0.85,0.84,0.85,
-0.87,0.90,0.88,0.88,0.87,0.85,0.91,0.89,0.91,0.90,
-0.91,0.94,0.93,0.90,0.96,0.95,0.96,0.95,0.98,0.91,
-0.97,1.02,0.97,0.94,0.99,1.01,0.99,0.99,1.01,0.94,
-1.05,1.07,1.02,1.02,1.08,1.08,1.08,1.03,1.10,1.04,
-1.09,1.09,1.06,1.08,1.12,1.08,1.12,1.07,1.16,1.13,
-1.13,1.11,1.12,1.10,1.10,1.12,1.14,1.12,1.19,1.10,
-1.19,1.11,1.17,1.18,1.14,1.18,1.21,1.18,1.22,1.21,
-1.19,1.20,1.20,1.19,1.22,1.20,1.21,1.20,1.27,1.19,
-1.25,1.25,1.24,1.21,1.30,1.26,1.27,1.27,1.30,1.28,
-1.24,1.25,1.28,1.27,1.31,1.29,1.26,1.34,1.28,1.36,
-1.26,1.29,1.32,1.31,1.31,1.37,1.35,1.36,1.31,1.36,
-1.31,1.37,1.31,1.36,1.37,1.32,1.41,1.39,1.32,1.31,
-1.44,1.40,1.45,1.32,1.44,1.42,1.39,1.39,1.38,1.46,
-1.40,1.43,1.47,1.38,1.44,1.44,1.45,1.49,1.44,1.55,
-1.47,1.45,1.49,1.46,1.45,1.53,1.47,1.49,1.48,1.53,
-1.47,1.54,1.53,1.44,1.51,1.46,1.58,1.46,1.58,1.51,
-1.50,1.51,1.47,1.53,1.49,1.49,1.56,1.58,1.54,1.53,
-1.56,1.57,1.60,1.55,1.54,1.54,1.53,1.61,1.65,1.49,
-1.59,1.55,1.63,1.56,1.67,1.60,1.55,1.64,1.59,1.57,
-1.59,1.57,1.52,1.62,1.58,1.58,1.61,1.56,1.64,1.57,
-1.63,1.66,1.60,1.61,1.68,1.62,1.64,1.66,1.59,1.68,
-1.69,1.75,1.62,1.59,1.61,1.71,1.67,1.72,1.70,1.76,
-0.25,0.28,0.27,0.30,0.31,0.34,0.36,0.31,0.34,0.38,
-0.41,0.41,0.36,0.40,0.39,0.40,0.44,0.41,0.45,0.45,
-0.47,0.46,0.48,0.48,0.48,0.49,0.47,0.50,0.52,0.51,
-0.56,0.47,0.52,0.54,0.50,0.57,0.57,0.55,0.56,0.58,
-0.57,0.62,0.61,0.59,0.56,0.63,0.65,0.63,0.65,0.62,
-0.64,0.64,0.63,0.66,0.68,0.69,0.68,0.70,0.71,0.65,
-0.69,0.71,0.72,0.68,0.70,0.69,0.74,0.76,0.74,0.70,
-0.75,0.75,0.71,0.74,0.72,0.79,0.78,0.74,0.77,0.77,
-0.77,0.79,0.78,0.77,0.83,0.79,0.80,0.79,0.81,0.83,
-0.81,0.83,0.82,0.85,0.85,0.81,0.87,0.85,0.86,0.83,
-0.87,0.88,0.87,0.88,0.88,0.84,0.88,0.95,0.95,0.91,
-0.90,0.90,0.91,0.94,0.88,0.94,0.94,0.95,0.91,0.91,
-0.95,0.93,0.92,0.97,0.98,0.95,0.94,1.04,0.90,0.98,
-0.99,0.98,0.96,1.01,1.02,1.00,0.98,0.99,1.04,1.06,
-0.98,1.01,0.97,0.97,1.07,1.05,0.98,0.98,1.01,1.05,
-1.02,1.01,1.07,1.09,1.00,1.03,1.08,1.06,1.07,1.03,
-1.09,1.08,1.08,1.06,1.08,1.05,1.14,1.12,1.06,1.13,
-1.10,1.14,1.08,1.12,1.14,1.15,1.16,1.09,1.07,1.16,
-1.12,1.10,1.07,1.13,1.15,1.20,1.17,1.19,1.17,1.18,
-1.13,1.17,1.16,1.15,1.24,1.19,1.18,1.15,1.22,1.21,
-1.18,1.24,1.20,1.17,1.18,1.23,1.16,1.20,1.23,1.20,
-1.19,1.26,1.21,1.23,1.26,1.26,1.23,1.25,1.32,1.25,
-1.27,1.27,1.28,1.24,1.21,1.29,1.26,1.27,1.22,1.23,
-1.27,1.24,1.30,1.26,1.27,1.29,1.35,1.29,1.29,1.32,
-1.31,1.31,1.31,1.31,1.30,1.35,1.29,1.29,1.31,1.32,
-1.31,1.35,1.31,1.27,1.31,1.38,1.35,1.39,1.32,1.33,
-1.33,1.38,1.30,1.39,1.34,1.33,1.37,1.38,1.32,1.33,
-1.35,1.37,1.41,1.33,1.43,1.38,1.40,1.38,1.42,1.39,
-1.39,1.43,1.46,1.46,1.43,1.48,1.42,1.44,1.42,1.46,
-0.21,0.21,0.25,0.24,0.28,0.29,0.30,0.26,0.29,0.33,
-0.30,0.30,0.32,0.32,0.35,0.33,0.37,0.35,0.34,0.39,
-0.39,0.37,0.38,0.40,0.44,0.40,0.41,0.40,0.40,0.42,
-0.45,0.45,0.47,0.44,0.46,0.45,0.45,0.49,0.49,0.47,
-0.47,0.51,0.50,0.53,0.54,0.50,0.55,0.53,0.52,0.55,
-0.53,0.52,0.56,0.55,0.54,0.51,0.54,0.55,0.55,0.57,
-0.59,0.57,0.57,0.58,0.57,0.58,0.61,0.63,0.61,0.61,
-0.62,0.64,0.62,0.60,0.62,0.66,0.65,0.64,0.66,0.66,
-0.68,0.65,0.66,0.65,0.62,0.70,0.70,0.67,0.69,0.69,
-0.66,0.73,0.72,0.71,0.72,0.72,0.68,0.69,0.70,0.75,
-0.71,0.74,0.71,0.73,0.71,0.74,0.79,0.77,0.78,0.75,
-0.72,0.74,0.78,0.73,0.76,0.74,0.81,0.76,0.79,0.76,
-0.83,0.82,0.76,0.81,0.79,0.81,0.75,0.84,0.83,0.80,
-0.82,0.80,0.79,0.84,0.85,0.85,0.79,0.83,0.87,0.84,
-0.87,0.84,0.84,0.86,0.85,0.86,0.89,0.83,0.84,0.88,
-0.87,0.86,0.87,0.84,0.88,0.87,0.93,0.93,0.91,0.85,
-0.89,0.89,0.89,0.93,0.93,0.94,0.92,0.95,0.95,0.96,
-0.91,0.95,0.96,0.97,0.88,0.97,0.98,0.94,0.94,0.95,
-0.94,0.97,0.93,1.01,0.93,1.00,0.92,0.93,0.91,0.94,
-0.95,0.98,0.96,1.00,0.99,0.98,1.02,1.04,1.01,1.03,
-1.02,0.99,1.01,1.04,1.01,0.98,0.95,1.01,1.01,1.05,
-1.03,1.07,0.99,1.00,0.98,1.04,1.04,1.04,1.04,0.97,
-1.04,1.04,1.07,1.03,1.02,1.03,0.98,1.01,1.12,1.09,
-1.11,1.04,1.05,1.07,1.07,1.08,1.06,1.08,1.06,1.08,
-1.08,1.15,1.09,1.05,1.08,1.09,1.14,1.13,1.13,1.10,
-1.07,1.15,1.09,1.11,1.08,1.09,1.11,1.14,1.14,1.12,
-1.16,1.18,1.13,1.14,1.14,1.14,1.15,1.15,1.15,1.18,
-1.15,1.16,1.13,1.19,1.20,1.19,1.16,1.15,1.21,1.18,
-1.12,1.19,1.20,1.19,1.24,1.24,1.18,1.14,1.20,1.19,
-0.19,0.21,0.20,0.20,0.22,0.23,0.24,0.22,0.21,0.24,
-0.25,0.28,0.28,0.25,0.28,0.26,0.29,0.28,0.30,0.33,
-0.34,0.32,0.32,0.36,0.37,0.34,0.36,0.36,0.38,0.38,
-0.38,0.36,0.37,0.38,0.40,0.41,0.39,0.39,0.40,0.40,
-0.40,0.42,0.42,0.44,0.44,0.41,0.44,0.45,0.41,0.43,
-0.44,0.47,0.48,0.46,0.48,0.46,0.45,0.46,0.52,0.46,
-0.46,0.50,0.52,0.51,0.49,0.53,0.48,0.49,0.56,0.49,
-0.54,0.53,0.51,0.52,0.50,0.54,0.55,0.56,0.53,0.52,
-0.59,0.55,0.58,0.58,0.58,0.54,0.59,0.56,0.56,0.60,
-0.60,0.59,0.58,0.58,0.59,0.60,0.59,0.62,0.58,0.61,
-0.63,0.61,0.58,0.59,0.64,0.63,0.62,0.61,0.63,0.60,
-0.61,0.64,0.59,0.63,0.63,0.66,0.69,0.64,0.64,0.65,
-0.67,0.68,0.63,0.66,0.65,0.70,0.69,0.69,0.64,0.66,
-0.66,0.70,0.66,0.68,0.69,0.69,0.71,0.70,0.68,0.69,
-0.72,0.72,0.74,0.68,0.72,0.74,0.72,0.73,0.71,0.68,
-0.76,0.74,0.75,0.72,0.73,0.73,0.75,0.72,0.71,0.74,
-0.74,0.80,0.77,0.76,0.77,0.79,0.78,0.79,0.77,0.75,
-0.82,0.77,0.73,0.75,0.76,0.76,0.81,0.79,0.82,0.81,
-0.77,0.78,0.81,0.81,0.83,0.79,0.79,0.81,0.83,0.79,
-0.80,0.78,0.84,0.80,0.81,0.80,0.79,0.82,0.87,0.85,
-0.82,0.85,0.87,0.86,0.86,0.84,0.86,0.88,0.86,0.87,
-0.91,0.87,0.85,0.85,0.83,0.85,0.86,0.88,0.87,0.84,
-0.83,0.87,0.84,0.88,0.89,0.89,0.89,0.89,0.90,0.94,
-0.86,0.90,0.90,0.91,0.91,0.87,0.90,0.90,0.96,0.88,
-0.94,0.91,0.94,0.92,0.90,0.88,0.94,0.92,0.96,0.91,
-0.90,0.95,0.92,0.92,0.92,0.95,0.95,0.95,0.95,0.95,
-0.90,0.92,0.93,0.93,0.95,0.97,0.98,0.92,0.98,0.98,
-0.99,0.97,0.97,0.98,1.03,0.97,0.95,1.02,1.00,0.95,
-0.99,1.00,0.96,1.01,1.04,1.02,0.96,1.01,1.01,0.99,
-0.15,0.18,0.16,0.17,0.19,0.17,0.21,0.19,0.22,0.23,
-0.23,0.21,0.25,0.22,0.24,0.24,0.24,0.27,0.26,0.23,
-0.27,0.27,0.27,0.29,0.26,0.29,0.27,0.30,0.29,0.28,
-0.31,0.33,0.31,0.31,0.32,0.31,0.32,0.33,0.33,0.34,
-0.35,0.33,0.35,0.39,0.39,0.36,0.33,0.38,0.40,0.38,
-0.37,0.41,0.38,0.40,0.42,0.37,0.39,0.38,0.40,0.37,
-0.39,0.40,0.41,0.43,0.42,0.44,0.41,0.39,0.42,0.47,
-0.43,0.42,0.43,0.45,0.42,0.46,0.48,0.46,0.45,0.46,
-0.47,0.49,0.47,0.48,0.46,0.47,0.43,0.48,0.50,0.46,
-0.50,0.50,0.47,0.47,0.46,0.49,0.51,0.48,0.48,0.51,
-0.48,0.52,0.51,0.50,0.53,0.51,0.54,0.53,0.53,0.51,
-0.52,0.54,0.53,0.52,0.54,0.56,0.52,0.55,0.54,0.54,
-0.57,0.57,0.56,0.56,0.54,0.57,0.56,0.57,0.58,0.57,
-0.57,0.55,0.58,0.59,0.57,0.57,0.59,0.57,0.63,0.57,
-0.56,0.62,0.59,0.63,0.61,0.62,0.65,0.65,0.61,0.63,
-0.61,0.60,0.62,0.61,0.62,0.61,0.64,0.64,0.59,0.64,
-0.63,0.60,0.65,0.62,0.67,0.61,0.66,0.62,0.64,0.68,
-0.68,0.66,0.64,0.68,0.69,0.65,0.68,0.66,0.69,0.69,
-0.68,0.68,0.64,0.69,0.66,0.67,0.67,0.68,0.67,0.69,
-0.71,0.69,0.66,0.72,0.70,0.65,0.69,0.71,0.70,0.69,
-0.72,0.70,0.67,0.70,0.70,0.73,0.72,0.72,0.75,0.73,
-0.75,0.71,0.70,0.71,0.75,0.73,0.72,0.74,0.74,0.70,
-0.72,0.75,0.75,0.72,0.72,0.70,0.74,0.76,0.74,0.72,
-0.75,0.77,0.77,0.80,0.74,0.72,0.73,0.78,0.75,0.74,
-0.74,0.74,0.78,0.76,0.75,0.78,0.77,0.77,0.79,0.78,
-0.79,0.78,0.77,0.83,0.78,0.79,0.76,0.79,0.80,0.81,
-0.85,0.84,0.77,0.80,0.82,0.82,0.78,0.79,0.82,0.74,
-0.77,0.76,0.84,0.85,0.79,0.78,0.82,0.78,0.81,0.80,
-0.84,0.83,0.88,0.87,0.82,0.79,0.85,0.83,0.83,0.82,
-0.12,0.16,0.13,0.15,0.16,0.17,0.18,0.17,0.17,0.17,
-0.21,0.19,0.18,0.19,0.22,0.19,0.18,0.21,0.21,0.20,
-0.24,0.22,0.22,0.20,0.24,0.26,0.28,0.24,0.22,0.23,
-0.24,0.25,0.26,0.28,0.27,0.28,0.30,0.29,0.29,0.28,
-0.27,0.30,0.29,0.30,0.30,0.30,0.29,0.33,0.31,0.31,
-0.31,0.32,0.33,0.31,0.31,0.33,0.32,0.33,0.33,0.33,
-0.34,0.36,0.34,0.36,0.35,0.35,0.35,0.35,0.34,0.35,
-0.37,0.36,0.39,0.38,0.37,0.39,0.39,0.38,0.39,0.39,
-0.40,0.38,0.40,0.39,0.40,0.40,0.41,0.39,0.41,0.39,
-0.42,0.41,0.43,0.40,0.40,0.40,0.42,0.41,0.40,0.42,
-0.43,0.43,0.42,0.45,0.43,0.43,0.46,0.45,0.45,0.43,
-0.44,0.45,0.45,0.44,0.45,0.46,0.46,0.44,0.46,0.46,
-0.45,0.48,0.46,0.46,0.47,0.45,0.47,0.46,0.51,0.49,
-0.48,0.50,0.46,0.49,0.45,0.47,0.48,0.46,0.49,0.50,
-0.48,0.48,0.48,0.49,0.51,0.50,0.47,0.54,0.50,0.51,
-0.52,0.53,0.52,0.54,0.55,0.55,0.49,0.51,0.51,0.53,
-0.53,0.53,0.55,0.52,0.52,0.56,0.56,0.58,0.57,0.56,
-0.53,0.54,0.55,0.54,0.53,0.53,0.56,0.57,0.53,0.56,
-0.57,0.56,0.58,0.53,0.55,0.57,0.56,0.54,0.57,0.57,
-0.56,0.58,0.56,0.58,0.62,0.57,0.57,0.56,0.60,0.57,
-0.59,0.57,0.57,0.57,0.58,0.61,0.59,0.59,0.61,0.59,
-0.55,0.63,0.64,0.61,0.59,0.60,0.59,0.60,0.62,0.60,
-0.63,0.64,0.61,0.60,0.62,0.63,0.63,0.62,0.60,0.63,
-0.63,0.62,0.65,0.61,0.60,0.64,0.61,0.63,0.70,0.67,
-0.67,0.63,0.60,0.63,0.65,0.67,0.67,0.65,0.68,0.62,
-0.65,0.62,0.66,0.70,0.72,0.70,0.68,0.65,0.66,0.66,
-0.69,0.69,0.68,0.65,0.68,0.67,0.63,0.69,0.68,0.67,
-0.65,0.69,0.63,0.66,0.68,0.68,0.68,0.64,0.68,0.69,
-0.70,0.74,0.71,0.68,0.70,0.69,0.69,0.71,0.69,0.69,
-0.14,0.12,0.12,0.11,0.12,0.15,0.09,0.15,0.15,0.15,
-0.14,0.15,0.18,0.17,0.16,0.21,0.16,0.17,0.19,0.15,
-0.20,0.22,0.21,0.21,0.20,0.22,0.22,0.27,0.21,0.22,
-0.20,0.25,0.23,0.21,0.21,0.23,0.23,0.24,0.26,0.23,
-0.27,0.26,0.28,0.27,0.26,0.21,0.27,0.28,0.24,0.26,
-0.25,0.31,0.27,0.26,0.27,0.29,0.28,0.32,0.29,0.31,
-0.27,0.28,0.30,0.29,0.28,0.27,0.28,0.28,0.31,0.30,
-0.31,0.31,0.28,0.31,0.29,0.34,0.34,0.29,0.27,0.32,
-0.31,0.31,0.35,0.30,0.34,0.35,0.34,0.33,0.32,0.34,
-0.35,0.32,0.36,0.32,0.37,0.36,0.34,0.34,0.37,0.35,
-0.36,0.34,0.35,0.35,0.35,0.34,0.37,0.36,0.35,0.37,
-0.36,0.35,0.38,0.40,0.36,0.38,0.36,0.36,0.39,0.38,
-0.42,0.38,0.41,0.39,0.42,0.38,0.39,0.40,0.41,0.40,
-0.42,0.41,0.38,0.42,0.44,0.41,0.40,0.39,0.38,0.42,
-0.43,0.41,0.42,0.41,0.41,0.44,0.44,0.41,0.44,0.46,
-0.43,0.45,0.42,0.41,0.43,0.42,0.44,0.43,0.43,0.45,
-0.48,0.43,0.44,0.44,0.47,0.48,0.50,0.46,0.45,0.45,
-0.47,0.46,0.47,0.46,0.48,0.46,0.46,0.46,0.49,0.47,
-0.47,0.47,0.45,0.47,0.47,0.48,0.45,0.50,0.50,0.48,
-0.50,0.49,0.50,0.50,0.52,0.51,0.48,0.48,0.47,0.47,
-0.48,0.51,0.48,0.48,0.49,0.52,0.49,0.49,0.53,0.50,
-0.51,0.53,0.54,0.50,0.52,0.52,0.55,0.52,0.53,0.55,
-0.50,0.53,0.49,0.53,0.53,0.57,0.52,0.53,0.56,0.54,
-0.53,0.53,0.56,0.54,0.53,0.52,0.56,0.56,0.55,0.50,
-0.58,0.56,0.51,0.54,0.51,0.52,0.52,0.53,0.53,0.59,
-0.52,0.60,0.52,0.56,0.55,0.54,0.54,0.53,0.56,0.54,
-0.53,0.56,0.57,0.53,0.59,0.58,0.58,0.59,0.59,0.57,
-0.56,0.59,0.59,0.56,0.58,0.60,0.56,0.57,0.61,0.61,
-0.60,0.60,0.57,0.60,0.56,0.57,0.63,0.61,0.57,0.61,
-0.09,0.09,0.12,0.08,0.10,0.11,0.08,0.10,0.12,0.11,
-0.15,0.12,0.10,0.11,0.13,0.15,0.16,0.16,0.15,0.14,
-0.15,0.18,0.18,0.17,0.17,0.17,0.19,0.18,0.16,0.18,
-0.19,0.18,0.20,0.19,0.18,0.16,0.21,0.19,0.24,0.15,
-0.20,0.21,0.19,0.22,0.19,0.21,0.21,0.23,0.21,0.25,
-0.18,0.23,0.27,0.25,0.24,0.23,0.21,0.22,0.26,0.24,
-0.25,0.23,0.28,0.24,0.23,0.22,0.25,0.24,0.25,0.28,
-0.27,0.22,0.28,0.27,0.29,0.27,0.26,0.28,0.28,0.25,
-0.28,0.31,0.26,0.28,0.27,0.25,0.29,0.27,0.27,0.27,
-0.30,0.29,0.32,0.27,0.29,0.30,0.30,0.29,0.30,0.27,
-0.28,0.31,0.29,0.31,0.32,0.35,0.29,0.31,0.30,0.29,
-0.32,0.31,0.30,0.31,0.35,0.31,0.34,0.33,0.31,0.34,
-0.31,0.33,0.31,0.33,0.35,0.32,0.31,0.34,0.33,0.36,
-0.36,0.35,0.31,0.34,0.34,0.37,0.37,0.33,0.34,0.35,
-0.35,0.34,0.36,0.36,0.34,0.37,0.33,0.34,0.32,0.34,
-0.36,0.36,0.38,0.34,0.36,0.36,0.39,0.39,0.36,0.36,
-0.37,0.35,0.37,0.37,0.38,0.39,0.36,0.37,0.39,0.41,
-0.39,0.39,0.35,0.39,0.40,0.37,0.39,0.40,0.42,0.40,
-0.41,0.42,0.38,0.40,0.39,0.40,0.41,0.42,0.44,0.41,
-0.43,0.40,0.41,0.41,0.42,0.40,0.38,0.41,0.38,0.42,
-0.42,0.41,0.41,0.41,0.41,0.44,0.42,0.40,0.43,0.42,
-0.44,0.39,0.46,0.43,0.42,0.40,0.44,0.43,0.45,0.44,
-0.42,0.45,0.44,0.44,0.45,0.46,0.45,0.43,0.43,0.44,
-0.44,0.47,0.44,0.44,0.42,0.48,0.43,0.43,0.48,0.44,
-0.43,0.44,0.43,0.47,0.48,0.46,0.44,0.47,0.46,0.47,
-0.45,0.47,0.46,0.45,0.48,0.47,0.47,0.46,0.44,0.45,
-0.46,0.44,0.44,0.48,0.48,0.48,0.47,0.43,0.51,0.48,
-0.48,0.50,0.45,0.47,0.44,0.50,0.45,0.51,0.46,0.45,
-0.47,0.48,0.48,0.48,0.51,0.46,0.48,0.51,0.47,0.50,
-0.05,0.10,0.08,0.05,0.09,0.09,0.09,0.10,0.10,0.12,
-0.10,0.10,0.10,0.10,0.11,0.09,0.14,0.13,0.13,0.11,
-0.14,0.15,0.13,0.12,0.11,0.18,0.12,0.14,0.14,0.14,
-0.11,0.18,0.14,0.14,0.16,0.19,0.16,0.18,0.21,0.16,
-0.18,0.16,0.17,0.17,0.18,0.16,0.16,0.19,0.19,0.19,
-0.18,0.16,0.19,0.18,0.18,0.19,0.18,0.19,0.18,0.18,
-0.20,0.20,0.19,0.22,0.23,0.21,0.19,0.21,0.22,0.22,
-0.21,0.22,0.22,0.23,0.21,0.21,0.23,0.21,0.23,0.25,
-0.21,0.18,0.23,0.22,0.22,0.23,0.23,0.24,0.22,0.23,
-0.22,0.25,0.23,0.26,0.24,0.22,0.26,0.23,0.23,0.25,
-0.26,0.26,0.27,0.23,0.26,0.25,0.28,0.26,0.27,0.24,
-0.25,0.24,0.29,0.27,0.25,0.25,0.26,0.26,0.26,0.28,
-0.27,0.27,0.26,0.30,0.28,0.27,0.26,0.32,0.26,0.28,
-0.25,0.31,0.28,0.29,0.29,0.28,0.30,0.29,0.30,0.28,
-0.28,0.29,0.29,0.31,0.29,0.28,0.31,0.29,0.28,0.29,
-0.29,0.31,0.31,0.32,0.30,0.30,0.32,0.33,0.28,0.30,
-0.33,0.33,0.30,0.31,0.34,0.31,0.29,0.31,0.34,0.33,
-0.32,0.31,0.31,0.32,0.32,0.33,0.32,0.34,0.30,0.31,
-0.31,0.35,0.33,0.36,0.34,0.30,0.35,0.35,0.34,0.35,
-0.37,0.31,0.33,0.32,0.34,0.32,0.33,0.32,0.37,0.35,
-0.34,0.33,0.37,0.36,0.36,0.35,0.35,0.37,0.35,0.37,
-0.34,0.37,0.32,0.35,0.35,0.33,0.35,0.36,0.33,0.35,
-0.35,0.37,0.35,0.34,0.35,0.35,0.34,0.35,0.36,0.38,
-0.38,0.34,0.36,0.39,0.34,0.38,0.38,0.39,0.37,0.36,
-0.37,0.37,0.34,0.34,0.36,0.40,0.36,0.39,0.37,0.37,
-0.38,0.38,0.36,0.38,0.38,0.38,0.37,0.41,0.38,0.36,
-0.38,0.40,0.41,0.40,0.40,0.41,0.39,0.40,0.43,0.40,
-0.39,0.42,0.42,0.41,0.38,0.39,0.40,0.38,0.41,0.38,
-0.37,0.44,0.41,0.41,0.43,0.46,0.42,0.40,0.42,0.42,
-0.89,0.93,0.98,1.01,1.08,1.09,1.11,1.15,1.19,1.19,
-1.22,1.26,1.25,1.32,1.37,1.41,1.40,1.40,1.51,1.49,
-1.53,1.56,1.64,1.63,1.68,1.72,1.70,1.71,1.68,1.74,
-1.80,1.79,1.78,1.85,1.89,1.85,1.91,2.01,2.00,2.00,
-2.01,1.87,2.07,2.01,2.01,2.12,2.13,2.13,2.14,2.14,
-2.12,2.19,2.15,2.27,2.22,2.29,2.26,2.25,2.34,2.30,
-2.32,2.30,2.46,2.38,2.33,2.37,2.38,2.61,2.44,2.51,
-2.47,2.46,2.44,2.62,2.45,2.59,2.60,2.69,2.53,2.60,
-2.59,2.57,2.70,2.68,2.68,2.80,2.70,2.59,2.71,2.68,
-2.75,2.72,2.78,2.97,2.82,2.89,2.77,2.82,2.84,2.85,
-2.78,2.89,2.95,3.07,2.93,2.92,2.93,3.11,2.91,2.99,
-3.06,2.93,3.20,3.09,3.23,3.20,3.02,3.03,3.20,3.27,
-3.14,3.14,3.17,3.24,3.14,3.37,3.28,3.19,3.35,3.26,
-3.22,3.36,3.26,3.37,3.44,3.31,3.38,3.30,3.42,3.39,
-3.37,3.39,3.46,3.58,3.50,3.50,3.46,3.52,3.46,3.54,
-3.58,3.55,3.43,3.50,3.51,3.67,3.60,3.70,3.68,3.63,
-3.58,3.77,3.61,3.97,3.77,3.58,3.86,3.60,3.63,3.69,
-3.74,3.74,3.67,3.81,3.76,3.72,3.60,3.75,3.86,3.69,
-3.97,4.00,3.82,3.93,3.92,4.12,3.83,3.92,4.21,3.71,
-3.95,3.90,3.99,4.07,4.00,4.06,3.85,4.00,3.81,4.13,
-4.05,3.99,4.07,4.01,4.10,4.09,4.02,4.01,4.18,4.16,
-4.00,4.02,4.07,4.24,4.20,4.11,4.38,4.25,4.18,4.19,
-4.14,4.25,4.18,4.33,4.23,4.23,4.32,4.40,4.19,4.37,
-4.28,4.28,4.32,4.34,4.24,4.31,4.38,4.41,4.43,4.42,
-4.25,4.24,4.33,4.47,4.42,4.30,4.44,4.44,4.78,4.50,
-4.53,4.45,4.47,4.48,4.59,4.67,4.43,4.49,4.42,4.52,
-4.78,4.55,4.57,4.56,4.68,4.71,4.70,4.36,4.72,4.60,
-4.66,4.74,4.64,4.56,4.71,4.63,4.78,4.60,4.82,4.80,
-4.69,4.91,4.67,4.67,4.65,4.79,4.89,4.92,4.79,4.70,
-0.77,0.83,0.83,0.87,0.91,0.92,0.94,1.00,1.06,1.04,
-1.09,1.08,1.13,1.12,1.12,1.20,1.20,1.24,1.31,1.35,
-1.32,1.33,1.30,1.37,1.40,1.44,1.50,1.49,1.48,1.49,
-1.50,1.54,1.55,1.64,1.61,1.66,1.63,1.62,1.67,1.66,
-1.68,1.75,1.69,1.68,1.78,1.79,1.73,1.83,1.80,1.86,
-1.79,1.74,1.95,1.95,1.83,1.91,2.05,2.03,1.98,1.88,
-2.06,2.00,2.05,2.05,2.03,2.07,2.20,2.11,2.17,2.11,
-2.18,2.16,2.18,2.22,2.20,2.10,2.15,2.24,2.17,2.22,
-2.27,2.31,2.28,2.37,2.36,2.26,2.39,2.36,2.42,2.42,
-2.31,2.43,2.46,2.46,2.48,2.47,2.46,2.49,2.54,2.53,
-2.56,2.51,2.54,2.62,2.59,2.62,2.53,2.67,2.68,2.66,
-2.67,2.64,2.66,2.61,2.82,2.68,2.63,2.69,2.76,2.77,
-2.70,2.77,2.81,2.89,2.83,2.78,2.77,2.89,2.72,2.80,
-2.85,2.82,2.81,2.84,2.93,2.83,2.77,2.99,2.97,2.86,
-2.98,2.97,2.92,2.95,2.98,3.05,2.90,3.03,3.04,3.07,
-2.98,3.14,3.03,3.00,3.13,3.08,3.13,3.19,3.11,3.14,
-3.13,3.19,3.12,3.21,3.22,3.12,3.16,3.13,3.18,3.24,
-3.25,3.14,3.22,3.22,3.24,3.34,3.31,3.20,3.38,3.41,
-3.37,3.28,3.40,3.41,3.31,3.25,3.30,3.36,3.41,3.47,
-3.37,3.40,3.62,3.52,3.46,3.57,3.47,3.56,3.39,3.47,
-3.47,3.48,3.47,3.46,3.43,3.46,3.48,3.70,3.65,3.62,
-3.53,3.61,3.55,3.57,3.73,3.57,3.70,3.54,3.60,3.78,
-3.69,3.66,3.70,3.74,3.62,3.76,3.63,3.77,3.74,3.63,
-3.74,3.64,3.64,3.79,3.71,3.72,3.74,3.73,3.98,3.79,
-3.81,4.00,4.02,3.80,3.84,3.79,3.75,3.99,3.80,4.04,
-3.85,3.91,3.72,4.02,3.83,3.98,3.93,3.85,3.88,3.94,
-3.92,4.02,3.97,4.00,4.02,3.80,3.97,4.12,3.87,4.04,
-3.91,4.02,4.04,3.99,3.98,3.96,4.12,4.02,4.15,4.08,
-3.96,4.19,4.12,4.02,4.16,4.08,4.11,4.19,3.98,4.13,
-0.72,0.69,0.75,0.76,0.81,0.81,0.87,0.88,0.90,0.88,
-0.90,0.96,0.98,1.01,0.99,1.04,1.08,1.09,1.17,1.12,
-1.15,1.18,1.19,1.21,1.20,1.17,1.24,1.26,1.25,1.29,
-1.32,1.35,1.35,1.33,1.37,1.35,1.41,1.39,1.39,1.45,
-1.46,1.45,1.46,1.47,1.57,1.47,1.57,1.57,1.58,1.49,
-1.57,1.55,1.67,1.57,1.59,1.68,1.65,1.61,1.72,1.65,
-1.72,1.76,1.82,1.79,1.77,1.81,1.81,1.78,1.87,1.88,
-1.89,1.77,1.86,1.83,1.85,1.92,1.94,1.93,1.86,1.94,
-1.94,2.04,1.96,1.95,1.97,2.02,2.00,2.00,2.08,1.97,
-2.04,2.10,2.14,2.08,2.10,2.14,2.18,2.12,2.06,2.19,
-2.20,2.16,2.16,2.16,2.21,2.17,2.31,2.25,2.31,2.34,
-2.28,2.25,2.18,2.22,2.36,2.26,2.24,2.32,2.31,2.34,
-2.27,2.40,2.36,2.38,2.38,2.38,2.35,2.36,2.43,2.43,
-2.48,2.48,2.46,2.54,2.44,2.43,2.52,2.51,2.51,2.50,
-2.66,2.50,2.47,2.50,2.55,2.67,2.58,2.53,2.56,2.53,
-2.60,2.75,2.64,2.64,2.61,2.63,2.59,2.73,2.63,2.65,
-2.78,2.61,2.64,2.70,2.77,2.76,2.72,2.84,2.80,2.75,
-2.78,2.78,2.73,2.65,2.79,2.85,2.94,2.85,2.80,2.75,
-2.89,2.93,2.78,2.89,2.79,2.83,2.81,2.87,3.03,2.98,
-2.83,2.92,2.80,3.03,2.90,2.89,2.87,3.03,3.08,2.95,
-2.92,3.09,2.99,2.95,2.94,2.87,3.05,3.09,3.17,3.01,
-3.11,3.05,3.07,3.13,3.15,3.18,3.14,3.13,3.10,3.10,
-3.12,3.06,3.16,3.17,3.05,3.14,3.30,3.17,3.25,3.26,
-3.22,3.21,3.14,3.20,3.16,3.39,3.31,3.32,3.04,3.20,
-3.28,3.22,3.44,3.30,3.27,3.24,3.38,3.25,3.26,3.37,
-3.33,3.36,3.35,3.43,3.33,3.29,3.42,3.39,3.43,3.42,
-3.32,3.39,3.52,3.34,3.38,3.38,3.31,3.41,3.37,3.47,
-3.32,3.47,3.44,3.45,3.37,3.37,3.62,3.50,3.51,3.56,
-3.47,3.61,3.43,3.30,3.54,3.69,3.64,3.66,3.51,3.54,
-0.54,0.60,0.64,0.61,0.67,0.69,0.75,0.71,0.72,0.79,
-0.81,0.82,0.79,0.85,0.86,0.88,0.89,0.88,0.96,1.01,
-0.98,0.98,1.01,0.99,1.03,1.06,1.06,1.08,1.06,1.11,
-1.10,1.11,1.16,1.16,1.21,1.20,1.23,1.17,1.13,1.25,
-1.24,1.31,1.25,1.25,1.29,1.33,1.37,1.31,1.36,1.36,
-1.33,1.34,1.35,1.39,1.47,1.42,1.37,1.47,1.45,1.49,
-1.45,1.52,1.49,1.53,1.47,1.48,1.48,1.50,1.52,1.64,
-1.57,1.64,1.57,1.60,1.65,1.64,1.64,1.63,1.65,1.67,
-1.67,1.67,1.67,1.68,1.67,1.78,1.73,1.67,1.78,1.75,
-1.81,1.71,1.75,1.82,1.76,1.84,1.82,1.91,1.79,1.86,
-1.81,1.88,1.86,1.81,1.90,1.89,1.90,1.94,1.93,1.94,
-1.88,1.94,1.89,2.01,1.98,1.93,1.93,1.98,2.10,1.94,
-1.98,2.04,2.01,2.03,2.02,2.05,2.13,2.04,2.10,2.14,
-2.15,2.08,2.08,2.08,2.14,2.12,2.10,2.22,2.17,2.15,
-2.15,2.16,2.22,2.13,2.15,2.14,2.21,2.20,2.23,2.26,
-2.23,2.11,2.15,2.19,2.23,2.29,2.22,2.34,2.26,2.28,
-2.19,2.28,2.26,2.31,2.38,2.27,2.37,2.31,2.33,2.34,
-2.38,2.34,2.23,2.41,2.40,2.43,2.43,2.50,2.43,2.51,
-2.45,2.45,2.41,2.35,2.62,2.48,2.43,2.45,2.49,2.46,
-2.49,2.45,2.42,2.54,2.56,2.48,2.54,2.63,2.56,2.48,
-2.55,2.52,2.59,2.46,2.67,2.67,2.69,2.55,2.65,2.66,
-2.63,2.69,2.63,2.59,2.64,2.63,2.72,2.69,2.59,2.65,
-2.63,2.66,2.70,2.68,2.65,2.69,2.69,2.66,2.67,2.73,
-2.78,2.68,2.78,2.71,2.83,2.86,2.93,2.76,2.76,2.73,
-2.84,2.73,2.79,2.80,2.74,2.77,2.85,2.88,2.77,2.83,
-2.79,2.81,2.83,2.76,2.91,2.86,2.90,2.83,2.83,2.80,
-2.84,2.85,2.85,3.05,3.00,2.91,3.00,3.01,2.96,3.11,
-2.82,3.03,3.02,2.99,2.81,2.96,3.01,3.03,3.05,2.96,
-2.91,2.96,2.92,2.92,3.02,2.96,3.12,3.00,2.97,2.93,
-0.45,0.47,0.52,0.53,0.58,0.55,0.59,0.64,0.62,0.69,
-0.70,0.66,0.70,0.72,0.72,0.75,0.78,0.78,0.78,0.79,
-0.88,0.86,0.86,0.87,0.91,0.86,0.94,0.92,0.95,0.95,
-0.99,0.95,0.97,0.99,1.00,0.99,1.03,0.99,1.02,1.04,
-1.07,1.07,1.08,1.15,1.11,1.14,1.18,1.13,1.14,1.12,
-1.20,1.23,1.15,1.18,1.21,1.21,1.20,1.21,1.23,1.26,
-1.25,1.27,1.23,1.30,1.26,1.29,1.37,1.34,1.28,1.33,
-1.34,1.43,1.35,1.34,1.37,1.44,1.37,1.46,1.37,1.39,
-1.41,1.46,1.47,1.39,1.43,1.47,1.48,1.48,1.49,1.48,
-1.53,1.55,1.56,1.49,1.57,1.54,1.49,1.57,1.57,1.60,
-1.60,1.53,1.54,1.63,1.65,1.63,1.64,1.59,1.64,1.69,
-1.69,1.68,1.65,1.68,1.67,1.65,1.59,1.67,1.64,1.74,
-1.71,1.78,1.67,1.77,1.75,1.78,1.72,1.78,1.88,1.72,
-1.84,1.80,1.79,1.83,1.81,1.76,1.78,1.82,1.80,1.79,
-1.82,1.88,1.80,1.90,1.91,1.92,1.91,1.89,1.89,1.88,
-1.92,1.92,1.96,1.92,1.94,1.92,1.91,1.89,1.98,1.87,
-1.92,1.90,1.95,1.99,1.94,1.96,2.04,1.99,2.01,2.06,
-2.07,2.01,2.08,2.09,2.01,2.08,2.03,2.10,1.97,2.07,
-2.02,2.13,2.02,2.03,2.01,2.15,2.11,2.05,2.07,2.12,
-2.06,2.18,2.17,2.07,2.19,2.12,2.16,2.20,2.18,2.16,
-2.18,2.16,2.13,2.12,2.20,2.16,2.19,2.24,2.14,2.17,
-2.18,2.36,2.33,2.27,2.40,2.20,2.30,2.35,2.22,2.35,
-2.14,2.29,2.26,2.30,2.34,2.30,2.22,2.35,2.33,2.29,
-2.32,2.36,2.28,2.40,2.35,2.33,2.28,2.40,2.41,2.33,
-2.27,2.34,2.33,2.32,2.32,2.50,2.35,2.36,2.41,2.31,
-2.43,2.36,2.39,2.46,2.38,2.46,2.40,2.39,2.46,2.49,
-2.40,2.44,2.33,2.36,2.49,2.41,2.55,2.47,2.51,2.53,
-2.49,2.52,2.55,2.43,2.55,2.50,2.56,2.45,2.55,2.58,
-2.49,2.62,2.53,2.55,2.55,2.51,2.58,2.63,2.62,2.61,
-0.38,0.43,0.43,0.48,0.48,0.51,0.48,0.53,0.54,0.55,
-0.57,0.55,0.58,0.61,0.65,0.64,0.69,0.66,0.70,0.68,
-0.70,0.74,0.73,0.75,0.75,0.74,0.76,0.77,0.79,0.82,
-0.75,0.82,0.84,0.83,0.85,0.93,0.85,0.91,0.83,0.92,
-0.90,0.93,0.92,0.93,0.91,0.91,0.95,0.99,0.96,1.00,
-0.99,0.97,0.96,1.00,1.02,1.02,1.04,1.10,1.03,1.00,
-1.11,1.10,1.10,1.05,1.10,1.11,1.10,1.11,1.08,1.16,
-1.18,1.13,1.14,1.11,1.12,1.15,1.19,1.16,1.17,1.21,
-1.20,1.20,1.20,1.20,1.27,1.24,1.23,1.29,1.23,1.29,
-1.28,1.21,1.31,1.29,1.29,1.28,1.33,1.33,1.30,1.34,
-1.36,1.34,1.29,1.33,1.37,1.38,1.39,1.35,1.34,1.36,
-1.38,1.44,1.49,1.40,1.37,1.41,1.42,1.45,1.44,1.45,
-1.46,1.47,1.40,1.52,1.52,1.40,1.43,1.53,1.54,1.54,
-1.53,1.44,1.50,1.56,1.60,1.57,1.60,1.57,1.54,1.58,
-1.61,1.51,1.59,1.62,1.55,1.58,1.62,1.59,1.64,1.60,
-1.61,1.65,1.61,1.66,1.63,1.71,1.60,1.62,1.64,1.67,
-1.62,1.63,1.72,1.71,1.65,1.63,1.67,1.66,1.70,1.71,
-1.67,1.73,1.72,1.73,1.79,1.75,1.66,1.73,1.77,1.83,
-1.81,1.74,1.72,1.81,1.88,1.71,1.77,1.77,1.70,1.69,
-1.72,1.87,1.82,1.82,1.86,1.80,1.89,1.83,1.78,1.80,
-1.79,1.98,1.83,1.85,1.83,1.85,1.92,1.89,1.96,1.83,
-1.84,1.89,1.89,1.90,1.90,1.85,1.97,1.93,1.95,1.90,
-1.88,1.97,1.98,1.95,1.93,1.95,2.01,1.94,2.00,1.99,
-2.00,1.96,1.98,2.08,1.96,2.02,2.00,1.97,2.08,2.03,
-1.98,2.03,1.99,2.09,2.02,2.08,2.01,2.02,1.96,2.01,
-2.04,2.03,2.06,2.09,2.11,2.09,2.10,2.08,2.10,2.13,
-2.14,2.05,2.09,2.16,2.14,2.19,2.18,2.17,2.18,2.08,
-2.08,2.18,2.13,2.12,2.09,2.21,2.07,2.18,2.24,2.21,
-2.24,2.10,2.20,2.22,2.11,2.25,2.21,2.14,2.23,2.21,
-0.33,0.34,0.36,0.39,0.41,0.42,0.43,0.45,0.46,0.46,
-0.48,0.50,0.51,0.52,0.54,0.56,0.56,0.58,0.59,0.56,
-0.61,0.59,0.64,0.65,0.61,0.67,0.62,0.68,0.66,0.68,
-0.69,0.72,0.74,0.71,0.71,0.75,0.71,0.77,0.77,0.73,
-0.74,0.76,0.76,0.81,0.80,0.81,0.82,0.79,0.85,0.80,
-0.83,0.87,0.81,0.86,0.84,0.89,0.89,0.91,0.89,0.93,
-0.88,0.93,0.89,0.90,0.89,0.98,0.94,0.97,0.98,0.96,
-0.96,0.98,1.01,1.05,1.00,0.96,0.97,1.07,1.02,1.03,
-1.03,1.00,1.10,1.04,1.09,1.00,1.08,1.06,1.06,1.09,
-1.06,1.05,1.05,1.08,1.07,1.08,1.13,1.11,1.15,1.09,
-1.09,1.09,1.19,1.14,1.19,1.13,1.16,1.18,1.16,1.14,
-1.11,1.19,1.17,1.21,1.20,1.19,1.26,1.25,1.26,1.22,
-1.21,1.25,1.27,1.26,1.29,1.27,1.28,1.25,1.29,1.23,
-1.30,1.28,1.31,1.31,1.33,1.30,1.29,1.30,1.25,1.33,
-1.32,1.31,1.28,1.37,1.34,1.34,1.38,1.33,1.42,1.43,
-1.36,1.36,1.38,1.38,1.40,1.37,1.41,1.41,1.29,1.38,
-1.34,1.43,1.40,1.44,1.39,1.48,1.45,1.44,1.45,1.44,
-1.50,1.42,1.50,1.50,1.42,1.46,1.47,1.52,1.50,1.51,
-1.53,1.49,1.47,1.43,1.57,1.47,1.53,1.51,1.52,1.53,
-1.53,1.54,1.52,1.51,1.53,1.53,1.49,1.55,1.58,1.51,
-1.63,1.66,1.59,1.56,1.59,1.64,1.61,1.64,1.62,1.60,
-1.64,1.62,1.61,1.58,1.61,1.59,1.59,1.62,1.65,1.63,
-1.60,1.72,1.60,1.62,1.55,1.67,1.64,1.66,1.68,1.66,
-1.68,1.75,1.70,1.74,1.68,1.77,1.72,1.66,1.75,1.71,
-1.70,1.71,1.71,1.69,1.74,1.67,1.75,1.70,1.77,1.75,
-1.80,1.72,1.75,1.78,1.78,1.74,1.70,1.78,1.78,1.74,
-1.72,1.85,1.77,1.71,1.84,1.74,1.81,1.82,1.80,1.77,
-1.85,1.89,1.88,1.79,1.81,1.73,1.78,1.84,1.84,1.81,
-1.85,1.86,1.86,1.84,1.82,1.86,1.91,1.88,1.83,1.82,
-0.26,0.27,0.32,0.31,0.37,0.38,0.37,0.38,0.40,0.37,
-0.43,0.43,0.44,0.45,0.44,0.45,0.46,0.48,0.45,0.50,
-0.55,0.50,0.50,0.54,0.54,0.58,0.55,0.53,0.56,0.57,
-0.61,0.58,0.57,0.58,0.61,0.57,0.57,0.63,0.66,0.60,
-0.64,0.65,0.66,0.66,0.67,0.69,0.67,0.71,0.70,0.72,
-0.74,0.71,0.72,0.75,0.71,0.71,0.74,0.79,0.73,0.77,
-0.78,0.72,0.80,0.82,0.78,0.79,0.80,0.77,0.81,0.79,
-0.79,0.82,0.83,0.79,0.83,0.82,0.84,0.84,0.86,0.84,
-0.85,0.91,0.90,0.92,0.90,0.85,0.88,0.92,0.92,0.93,
-0.90,0.87,0.89,0.90,0.90,0.92,0.96,0.96,0.92,0.98,
-0.95,0.99,0.97,1.01,0.97,0.98,1.05,0.97,1.00,1.03,
-1.02,1.01,1.03,1.01,1.04,0.99,1.02,1.01,1.01,1.06,
-1.10,1.06,1.06,1.07,1.14,1.04,1.04,1.06,1.08,1.07,
-1.09,1.07,1.09,1.04,1.10,1.13,1.13,1.13,1.12,1.11,
-1.12,1.12,1.10,1.11,1.15,1.15,1.19,1.15,1.18,1.10,
-1.18,1.15,1.16,1.18,1.17,1.16,1.18,1.19,1.23,1.17,
-1.21,1.24,1.22,1.22,1.21,1.21,1.16,1.20,1.23,1.20,
-1.27,1.20,1.21,1.24,1.22,1.23,1.23,1.22,1.23,1.26,
-1.23,1.23,1.26,1.30,1.33,1.28,1.26,1.27,1.31,1.30,
-1.24,1.28,1.29,1.36,1.33,1.27,1.31,1.32,1.33,1.29,
-1.29,1.30,1.31,1.33,1.36,1.30,1.32,1.39,1.37,1.26,
-1.39,1.35,1.33,1.36,1.40,1.36,1.35,1.42,1.36,1.37,
-1.37,1.41,1.41,1.45,1.38,1.39,1.45,1.38,1.42,1.39,
-1.43,1.47,1.38,1.45,1.46,1.46,1.39,1.44,1.41,1.44,
-1.43,1.46,1.47,1.47,1.44,1.43,1.51,1.49,1.38,1.47,
-1.48,1.46,1.45,1.48,1.47,1.52,1.54,1.46,1.45,1.52,
-1.46,1.52,1.44,1.52,1.52,1.49,1.46,1.54,1.54,1.53,
-1.55,1.54,1.57,1.52,1.56,1.50,1.53,1.51,1.54,1.55,
-1.59,1.61,1.53,1.54,1.57,1.53,1.59,1.57,1.56,1.58,
-0.27,0.24,0.28,0.28,0.30,0.32,0.31,0.33,0.31,0.33,
-0.37,0.32,0.36,0.36,0.37,0.38,0.39,0.40,0.40,0.43,
-0.42,0.45,0.47,0.45,0.46,0.48,0.46,0.47,0.45,0.49,
-0.46,0.52,0.46,0.49,0.55,0.53,0.52,0.52,0.54,0.54,
-0.57,0.54,0.53,0.57,0.57,0.56,0.59,0.63,0.64,0.59,
-0.59,0.60,0.62,0.63,0.64,0.61,0.65,0.67,0.62,0.63,
-0.67,0.65,0.63,0.66,0.70,0.70,0.68,0.70,0.67,0.73,
-0.72,0.68,0.72,0.71,0.71,0.71,0.73,0.70,0.74,0.69,
-0.71,0.72,0.74,0.72,0.75,0.78,0.79,0.79,0.83,0.76,
-0.76,0.81,0.78,0.78,0.76,0.77,0.76,0.81,0.83,0.85,
-0.80,0.79,0.78,0.78,0.80,0.81,0.77,0.88,0.81,0.81,
-0.81,0.83,0.84,0.89,0.86,0.88,0.85,0.86,0.88,0.83,
-0.88,0.88,0.85,0.88,0.88,0.87,0.91,0.93,0.90,0.83,
-0.87,0.92,0.91,0.91,0.96,0.92,0.91,0.97,0.94,0.94,
-0.95,0.95,0.98,0.97,0.95,0.95,0.94,0.91,0.96,0.96,
-0.94,0.97,0.94,0.95,0.99,1.01,1.00,0.97,0.96,1.01,
-1.02,1.02,0.98,1.01,1.02,0.96,1.04,1.02,1.05,1.07,
-1.04,1.07,1.01,0.97,1.02,1.03,1.06,1.08,1.04,1.04,
-1.07,1.08,1.11,1.07,1.03,1.08,1.12,1.05,1.09,1.04,
-1.01,1.09,1.09,1.13,1.07,1.11,1.11,1.15,1.16,1.06,
-1.13,1.17,1.14,1.12,1.20,1.16,1.11,1.11,1.17,1.13,
-1.14,1.18,1.15,1.18,1.17,1.12,1.15,1.17,1.21,1.18,
-1.14,1.17,1.20,1.15,1.20,1.19,1.18,1.23,1.26,1.23,
-1.11,1.17,1.18,1.21,1.19,1.23,1.20,1.23,1.23,1.22,
-1.22,1.24,1.20,1.23,1.20,1.21,1.21,1.26,1.20,1.27,
-1.25,1.24,1.21,1.21,1.26,1.23,1.29,1.25,1.31,1.29,
-1.29,1.30,1.33,1.31,1.26,1.26,1.29,1.27,1.32,1.28,
-1.33,1.31,1.30,1.29,1.31,1.31,1.26,1.36,1.31,1.38,
-1.30,1.32,1.29,1.31,1.35,1.30,1.30,1.34,1.35,1.29,
-0.21,0.19,0.24,0.25,0.28,0.26,0.26,0.28,0.31,0.30,
-0.29,0.31,0.28,0.32,0.31,0.36,0.33,0.35,0.35,0.34,
-0.34,0.39,0.39,0.38,0.36,0.34,0.39,0.41,0.39,0.41,
-0.38,0.44,0.41,0.41,0.44,0.45,0.45,0.46,0.47,0.48,
-0.45,0.48,0.48,0.49,0.49,0.51,0.51,0.50,0.50,0.49,
-0.52,0.55,0.52,0.52,0.54,0.53,0.52,0.57,0.57,0.53,
-0.55,0.53,0.56,0.56,0.60,0.58,0.56,0.61,0.54,0.59,
-0.58,0.59,0.62,0.59,0.61,0.58,0.61,0.61,0.62,0.62,
-0.58,0.60,0.65,0.61,0.66,0.64,0.60,0.63,0.67,0.62,
-0.68,0.65,0.68,0.68,0.61,0.67,0.68,0.65,0.67,0.69,
-0.70,0.74,0.70,0.71,0.69,0.70,0.71,0.70,0.70,0.73,
-0.68,0.73,0.75,0.74,0.70,0.69,0.73,0.71,0.73,0.74,
-0.72,0.72,0.72,0.73,0.73,0.79,0.76,0.79,0.76,0.77,
-0.76,0.77,0.79,0.80,0.77,0.80,0.83,0.80,0.80,0.81,
-0.78,0.82,0.81,0.79,0.75,0.80,0.81,0.82,0.85,0.85,
-0.78,0.82,0.85,0.83,0.84,0.85,0.85,0.83,0.85,0.87,
-0.85,0.86,0.86,0.87,0.87,0.86,0.89,0.87,0.86,0.90,
-0.86,0.91,0.85,0.92,0.89,0.89,0.88,0.91,0.90,0.92,
-0.90,0.90,0.93,0.90,0.92,0.93,0.92,0.92,0.91,0.93,
-0.88,0.93,0.97,0.97,0.93,0.91,0.95,0.95,0.95,0.94,
-0.90,0.96,0.98,1.01,0.94,0.97,0.98,1.04,0.95,1.00,
-0.98,0.97,1.02,0.98,1.03,1.03,0.95,0.98,1.01,0.99,
-1.00,1.04,0.97,0.99,0.96,1.02,1.02,0.96,0.96,1.03,
-1.00,1.01,1.10,1.00,1.00,1.06,1.02,1.02,1.08,1.03,
-1.02,1.04,1.07,1.03,1.07,1.07,1.03,1.06,1.05,1.07,
-1.09,1.07,1.05,1.06,1.09,1.05,1.05,1.05,1.07,1.04,
-1.12,1.10,1.03,1.05,1.04,1.06,1.04,1.06,1.05,1.10,
-1.08,1.09,1.08,1.04,1.06,1.08,1.12,1.13,1.08,1.09,
-1.11,1.18,1.14,1.11,1.11,1.09,1.12,1.13,1.11,1.15,
-0.21,0.19,0.22,0.18,0.23,0.22,0.23,0.21,0.26,0.25,
-0.28,0.28,0.24,0.26,0.27,0.27,0.29,0.28,0.30,0.32,
-0.30,0.31,0.32,0.30,0.32,0.31,0.32,0.38,0.37,0.35,
-0.34,0.36,0.36,0.34,0.35,0.39,0.39,0.39,0.41,0.41,
-0.40,0.41,0.37,0.42,0.45,0.42,0.42,0.46,0.42,0.41,
-0.42,0.48,0.46,0.43,0.46,0.45,0.45,0.49,0.45,0.50,
-0.47,0.46,0.51,0.46,0.46,0.46,0.47,0.52,0.50,0.48,
-0.50,0.49,0.53,0.50,0.52,0.49,0.49,0.51,0.49,0.51,
-0.52,0.53,0.52,0.52,0.52,0.54,0.54,0.54,0.55,0.56,
-0.55,0.56,0.61,0.56,0.53,0.58,0.53,0.56,0.57,0.58,
-0.59,0.59,0.57,0.62,0.63,0.59,0.61,0.59,0.57,0.59,
-0.56,0.64,0.58,0.62,0.63,0.63,0.61,0.62,0.61,0.64,
-0.64,0.64,0.63,0.62,0.66,0.63,0.63,0.71,0.66,0.66,
-0.68,0.67,0.63,0.66,0.70,0.66,0.66,0.67,0.68,0.70,
-0.68,0.68,0.67,0.68,0.70,0.68,0.65,0.70,0.67,0.70,
-0.72,0.71,0.68,0.69,0.67,0.72,0.71,0.70,0.75,0.69,
-0.73,0.74,0.72,0.71,0.67,0.73,0.71,0.74,0.70,0.72,
-0.74,0.75,0.75,0.76,0.79,0.73,0.72,0.75,0.78,0.78,
-0.77,0.76,0.76,0.74,0.76,0.78,0.81,0.80,0.77,0.74,
-0.79,0.77,0.77,0.82,0.77,0.77,0.78,0.77,0.80,0.77,
-0.81,0.84,0.82,0.80,0.83,0.80,0.82,0.86,0.79,0.80,
-0.80,0.83,0.84,0.80,0.86,0.84,0.86,0.80,0.81,0.86,
-0.84,0.84,0.85,0.85,0.82,0.85,0.85,0.86,0.89,0.85,
-0.86,0.92,0.84,0.86,0.79,0.88,0.86,0.84,0.90,0.88,
-0.85,0.88,0.84,0.91,0.88,0.88,0.87,0.88,0.86,0.88,
-0.88,0.89,0.90,0.91,0.92,0.96,0.96,0.88,0.93,0.89,
-0.92,0.92,0.90,0.82,0.89,0.90,0.96,0.92,0.90,0.90,
-0.91,0.94,0.90,0.93,0.93,0.98,0.92,0.99,0.99,0.88,
-0.94,0.92,0.93,0.97,0.93,0.92,0.94,0.92,0.91,0.96,
-0.16,0.16,0.16,0.16,0.20,0.19,0.21,0.21,0.20,0.19,
-0.22,0.22,0.21,0.23,0.24,0.24,0.20,0.24,0.23,0.25,
-0.24,0.24,0.26,0.29,0.25,0.28,0.27,0.30,0.28,0.29,
-0.33,0.31,0.34,0.30,0.32,0.30,0.34,0.31,0.32,0.33,
-0.33,0.31,0.33,0.34,0.36,0.34,0.34,0.34,0.32,0.33,
-0.34,0.39,0.38,0.36,0.37,0.39,0.38,0.38,0.40,0.39,
-0.40,0.39,0.36,0.41,0.39,0.40,0.42,0.39,0.44,0.40,
-0.40,0.40,0.44,0.42,0.45,0.43,0.42,0.38,0.43,0.43,
-0.46,0.45,0.45,0.46,0.45,0.46,0.48,0.48,0.46,0.47,
-0.46,0.46,0.48,0.48,0.50,0.47,0.48,0.50,0.48,0.52,
-0.48,0.52,0.49,0.53,0.49,0.49,0.54,0.51,0.52,0.51,
-0.49,0.51,0.51,0.50,0.49,0.51,0.53,0.52,0.52,0.53,
-0.53,0.53,0.55,0.56,0.53,0.51,0.53,0.53,0.58,0.55,
-0.55,0.53,0.59,0.54,0.56,0.55,0.58,0.59,0.56,0.59,
-0.58,0.55,0.55,0.57,0.58,0.57,0.55,0.61,0.60,0.57,
-0.59,0.60,0.60,0.57,0.58,0.61,0.61,0.61,0.63,0.61,
-0.62,0.60,0.66,0.58,0.62,0.61,0.60,0.63,0.65,0.64,
-0.64,0.65,0.62,0.66,0.63,0.65,0.63,0.65,0.68,0.63,
-0.63,0.67,0.66,0.63,0.66,0.63,0.62,0.63,0.65,0.69,
-0.63,0.64,0.68,0.71,0.66,0.67,0.64,0.67,0.67,0.69,
-0.70,0.69,0.67,0.66,0.68,0.68,0.65,0.66,0.68,0.70,
-0.69,0.72,0.65,0.72,0.76,0.70,0.69,0.69,0.71,0.69,
-0.71,0.75,0.71,0.69,0.71,0.71,0.69,0.74,0.74,0.73,
-0.75,0.72,0.76,0.73,0.71,0.72,0.74,0.75,0.75,0.75,
-0.77,0.74,0.78,0.74,0.76,0.71,0.76,0.74,0.73,0.74,
-0.76,0.75,0.78,0.79,0.72,0.74,0.76,0.75,0.74,0.74,
-0.79,0.77,0.77,0.74,0.77,0.76,0.79,0.76,0.70,0.80,
-0.77,0.80,0.80,0.74,0.80,0.74,0.77,0.81,0.81,0.75,
-0.78,0.82,0.78,0.78,0.80,0.78,0.83,0.81,0.83,0.85,
-0.11,0.16,0.16,0.16,0.16,0.15,0.16,0.16,0.18,0.18,
-0.17,0.20,0.15,0.18,0.19,0.18,0.20,0.23,0.20,0.21,
-0.22,0.21,0.24,0.21,0.24,0.25,0.23,0.24,0.24,0.27,
-0.24,0.24,0.29,0.26,0.29,0.22,0.29,0.25,0.30,0.26,
-0.26,0.31,0.29,0.28,0.32,0.28,0.31,0.27,0.29,0.29,
-0.34,0.32,0.30,0.31,0.33,0.31,0.32,0.33,0.33,0.35,
-0.31,0.32,0.36,0.34,0.33,0.33,0.33,0.36,0.34,0.37,
-0.37,0.35,0.34,0.36,0.35,0.36,0.38,0.34,0.37,0.38,
-0.38,0.40,0.35,0.41,0.40,0.36,0.38,0.42,0.43,0.39,
-0.41,0.40,0.38,0.39,0.43,0.39,0.40,0.38,0.42,0.39,
-0.40,0.41,0.39,0.41,0.42,0.43,0.44,0.40,0.39,0.43,
-0.44,0.43,0.44,0.41,0.43,0.43,0.46,0.42,0.45,0.42,
-0.46,0.46,0.44,0.45,0.46,0.46,0.48,0.45,0.46,0.44,
-0.45,0.46,0.47,0.45,0.47,0.46,0.48,0.43,0.47,0.50,
-0.47,0.49,0.49,0.46,0.49,0.46,0.49,0.50,0.50,0.52,
-0.49,0.49,0.51,0.48,0.53,0.50,0.52,0.49,0.51,0.48,
-0.50,0.54,0.50,0.52,0.54,0.54,0.53,0.54,0.53,0.53,
-0.57,0.51,0.52,0.50,0.53,0.53,0.52,0.53,0.54,0.52,
-0.51,0.56,0.56,0.56,0.53,0.54,0.52,0.58,0.54,0.54,
-0.55,0.58,0.57,0.52,0.55,0.54,0.59,0.59,0.55,0.57,
-0.55,0.59,0.56,0.59,0.56,0.53,0.58,0.56,0.57,0.56,
-0.61,0.60,0.56,0.57,0.61,0.60,0.59,0.59,0.59,0.61,
-0.61,0.59,0.60,0.61,0.60,0.63,0.58,0.64,0.60,0.63,
-0.60,0.62,0.61,0.61,0.63,0.61,0.63,0.61,0.64,0.65,
-0.59,0.61,0.63,0.63,0.64,0.61,0.63,0.64,0.62,0.61,
-0.62,0.60,0.68,0.63,0.63,0.64,0.67,0.59,0.62,0.61,
-0.67,0.63,0.65,0.67,0.62,0.64,0.68,0.68,0.67,0.69,
-0.64,0.68,0.63,0.67,0.66,0.70,0.65,0.69,0.67,0.65,
-0.68,0.68,0.65,0.69,0.67,0.67,0.65,0.67,0.67,0.70,
-0.12,0.10,0.12,0.13,0.11,0.15,0.12,0.12,0.12,0.13,
-0.13,0.16,0.15,0.15,0.13,0.15,0.15,0.18,0.17,0.17,
-0.20,0.18,0.18,0.23,0.20,0.18,0.22,0.19,0.19,0.22,
-0.22,0.21,0.22,0.22,0.21,0.21,0.23,0.24,0.20,0.23,
-0.22,0.25,0.23,0.22,0.26,0.23,0.26,0.26,0.22,0.26,
-0.25,0.29,0.27,0.26,0.25,0.25,0.28,0.28,0.28,0.26,
-0.28,0.28,0.30,0.29,0.28,0.31,0.29,0.29,0.29,0.31,
-0.30,0.28,0.31,0.28,0.30,0.32,0.29,0.33,0.32,0.31,
-0.31,0.32,0.31,0.30,0.34,0.30,0.33,0.33,0.31,0.34,
-0.32,0.33,0.31,0.32,0.36,0.35,0.35,0.32,0.34,0.33,
-0.36,0.35,0.35,0.38,0.34,0.37,0.36,0.33,0.31,0.35,
-0.34,0.37,0.37,0.35,0.37,0.38,0.38,0.37,0.38,0.39,
-0.36,0.39,0.42,0.39,0.41,0.39,0.41,0.36,0.40,0.39,
-0.41,0.40,0.37,0.41,0.37,0.39,0.38,0.39,0.42,0.39,
-0.42,0.41,0.40,0.40,0.42,0.39,0.41,0.42,0.43,0.39,
-0.42,0.40,0.40,0.41,0.41,0.42,0.40,0.43,0.44,0.44,
-0.44,0.45,0.43,0.45,0.44,0.45,0.45,0.48,0.44,0.44,
-0.42,0.44,0.44,0.49,0.47,0.42,0.48,0.43,0.47,0.48,
-0.46,0.45,0.43,0.50,0.44,0.46,0.47,0.49,0.46,0.50,
-0.45,0.45,0.49,0.49,0.46,0.47,0.47,0.47,0.47,0.48,
-0.48,0.46,0.47,0.49,0.50,0.48,0.47,0.51,0.49,0.48,
-0.49,0.52,0.49,0.49,0.51,0.51,0.50,0.52,0.53,0.47,
-0.48,0.47,0.50,0.51,0.51,0.48,0.51,0.46,0.51,0.46,
-0.51,0.48,0.52,0.51,0.54,0.53,0.57,0.52,0.51,0.49,
-0.53,0.49,0.52,0.52,0.49,0.53,0.54,0.53,0.53,0.56,
-0.55,0.49,0.53,0.58,0.55,0.54,0.58,0.50,0.58,0.55,
-0.56,0.57,0.53,0.55,0.52,0.51,0.54,0.57,0.52,0.58,
-0.56,0.56,0.52,0.57,0.58,0.58,0.54,0.54,0.53,0.53,
-0.58,0.57,0.55,0.57,0.58,0.57,0.57,0.55,0.58,0.59,
-0.08,0.09,0.11,0.10,0.09,0.11,0.14,0.12,0.11,0.14,
-0.13,0.12,0.11,0.10,0.14,0.13,0.13,0.16,0.16,0.15,
-0.16,0.14,0.13,0.15,0.19,0.19,0.15,0.18,0.16,0.18,
-0.17,0.15,0.16,0.18,0.18,0.19,0.20,0.20,0.21,0.21,
-0.20,0.18,0.21,0.21,0.21,0.19,0.22,0.20,0.22,0.23,
-0.22,0.20,0.21,0.22,0.24,0.20,0.23,0.21,0.25,0.21,
-0.23,0.22,0.23,0.27,0.25,0.25,0.24,0.23,0.22,0.23,
-0.26,0.26,0.26,0.27,0.28,0.25,0.24,0.25,0.25,0.28,
-0.25,0.24,0.28,0.26,0.28,0.26,0.25,0.27,0.28,0.25,
-0.28,0.27,0.29,0.30,0.30,0.30,0.29,0.28,0.31,0.30,
-0.28,0.32,0.30,0.29,0.28,0.30,0.28,0.30,0.30,0.32,
-0.33,0.30,0.33,0.33,0.34,0.34,0.29,0.29,0.30,0.30,
-0.32,0.27,0.33,0.31,0.32,0.30,0.34,0.35,0.31,0.36,
-0.36,0.31,0.36,0.36,0.35,0.37,0.36,0.35,0.32,0.34,
-0.36,0.35,0.32,0.39,0.36,0.35,0.31,0.38,0.35,0.36,
-0.37,0.36,0.35,0.35,0.32,0.36,0.36,0.37,0.32,0.36,
-0.35,0.35,0.35,0.36,0.37,0.37,0.35,0.36,0.39,0.35,
-0.36,0.39,0.37,0.43,0.37,0.39,0.36,0.38,0.40,0.39,
-0.38,0.40,0.41,0.40,0.35,0.37,0.39,0.40,0.38,0.40,
-0.38,0.41,0.40,0.38,0.41,0.42,0.42,0.43,0.39,0.40,
-0.43,0.41,0.42,0.41,0.41,0.40,0.44,0.42,0.40,0.43,
-0.43,0.41,0.37,0.40,0.44,0.43,0.41,0.44,0.40,0.47,
-0.45,0.40,0.45,0.44,0.44,0.44,0.43,0.44,0.44,0.45,
-0.42,0.42,0.45,0.44,0.44,0.42,0.44,0.43,0.43,0.44,
-0.44,0.44,0.44,0.42,0.45,0.44,0.45,0.44,0.47,0.45,
-0.42,0.43,0.45,0.44,0.44,0.45,0.46,0.43,0.48,0.42,
-0.50,0.44,0.46,0.46,0.50,0.47,0.47,0.49,0.47,0.46,
-0.47,0.46,0.50,0.48,0.48,0.47,0.51,0.46,0.49,0.48,
-0.48,0.50,0.48,0.48,0.46,0.47,0.50,0.51,0.47,0.49,
-0.91,0.94,0.97,1.10,1.13,1.11,1.16,1.20,1.26,1.29,
-1.28,1.36,1.38,1.44,1.44,1.45,1.50,1.47,1.51,1.57,
-1.50,1.65,1.66,1.75,1.62,1.71,1.69,1.80,1.78,1.86,
-1.87,1.86,1.86,1.89,1.89,1.97,1.91,2.01,1.98,2.02,
-2.04,2.11,2.06,2.12,2.11,2.19,2.11,2.19,2.23,2.26,
-2.33,2.22,2.26,2.24,2.34,2.23,2.36,2.36,2.40,2.45,
-2.47,2.39,2.40,2.44,2.50,2.56,2.43,2.59,2.55,2.59,
-2.63,2.68,2.69,2.68,2.64,2.65,2.72,2.67,2.71,2.79,
-2.86,2.72,2.65,2.83,2.82,2.92,2.89,2.88,2.88,2.81,
-3.01,3.05,2.95,2.90,2.95,3.11,2.89,3.04,3.04,3.12,
-3.05,2.93,3.10,3.09,3.13,3.17,3.17,3.29,3.10,3.21,
-3.04,3.18,3.22,3.19,3.34,3.39,3.37,3.24,3.26,3.22,
-3.43,3.36,3.40,3.34,3.25,3.42,3.44,3.39,3.35,3.28,
-3.29,3.39,3.51,3.50,3.48,3.53,3.41,3.51,3.51,3.62,
-3.57,3.48,3.80,3.55,3.68,3.57,3.66,3.69,3.74,3.68,
-3.70,3.64,3.81,3.71,3.73,3.72,3.67,3.76,3.75,3.84,
-3.89,3.85,3.72,3.85,3.82,3.83,4.00,3.92,3.86,3.82,
-3.99,3.80,3.80,3.77,3.94,3.92,4.02,4.02,3.89,4.02,
-3.94,3.94,4.11,4.01,4.11,4.10,4.29,4.08,3.96,4.24,
-4.08,4.10,4.09,4.18,4.00,4.12,4.18,4.11,4.16,4.28,
-4.16,4.10,4.24,4.31,4.17,4.23,4.06,4.25,4.28,4.33,
-4.51,4.28,4.39,4.28,4.39,4.41,4.41,4.27,4.33,4.31,
-4.37,4.41,4.25,4.29,4.36,4.42,4.62,4.30,4.42,4.34,
-4.58,4.26,4.44,4.45,4.53,4.60,4.44,4.55,4.60,4.53,
-4.54,4.59,4.58,4.56,4.80,4.57,4.67,4.57,4.58,4.64,
-4.65,4.70,4.76,4.78,4.66,4.62,4.81,4.77,4.62,4.70,
-4.89,4.63,4.65,4.95,4.75,4.72,4.91,4.62,4.69,4.70,
-4.66,4.88,4.86,4.99,5.14,5.03,4.85,4.74,4.91,5.06,
-4.95,4.85,4.87,4.99,4.95,4.90,5.10,5.00,5.02,5.17,
-0.77,0.88,0.89,0.97,0.98,0.95,1.00,1.04,1.11,1.12,
-1.14,1.16,1.16,1.19,1.22,1.29,1.29,1.38,1.34,1.36,
-1.35,1.43,1.44,1.45,1.46,1.51,1.59,1.54,1.52,1.61,
-1.54,1.62,1.67,1.73,1.70,1.69,1.77,1.75,1.76,1.72,
-1.76,1.75,1.82,1.83,1.84,1.94,1.88,1.94,1.93,1.99,
-2.09,2.02,2.01,2.01,2.05,1.93,2.07,2.04,2.01,2.14,
-2.12,2.10,2.16,2.20,2.24,2.31,2.17,2.22,2.23,2.25,
-2.22,2.27,2.20,2.32,2.40,2.42,2.32,2.33,2.38,2.35,
-2.48,2.51,2.44,2.46,2.47,2.41,2.47,2.48,2.59,2.51,
-2.49,2.61,2.55,2.62,2.61,2.50,2.70,2.59,2.59,2.61,
-2.63,2.59,2.64,2.60,2.68,2.74,2.77,2.67,2.80,2.69,
-2.72,2.83,2.77,2.83,2.73,2.95,2.81,3.01,2.96,2.88,
-2.86,2.85,2.95,2.90,2.90,3.00,3.02,2.90,3.04,3.09,
-2.98,3.00,2.96,2.99,3.13,3.13,3.13,3.18,3.16,3.13,
-3.05,3.02,3.13,3.09,3.07,3.17,3.03,3.21,3.29,3.29,
-3.03,3.25,3.18,3.23,3.13,3.33,3.23,3.28,3.15,3.42,
-3.45,3.30,3.42,3.42,3.48,3.37,3.35,3.40,3.36,3.43,
-3.36,3.25,3.49,3.45,3.45,3.43,3.38,3.39,3.35,3.48,
-3.51,3.40,3.51,3.44,3.51,3.54,3.59,3.66,3.62,3.59,
-3.57,3.56,3.54,3.72,3.56,3.73,3.86,3.72,3.52,3.47,
-3.60,3.66,3.66,3.63,3.83,3.83,3.59,3.80,3.69,3.95,
-3.73,3.71,3.83,3.71,3.77,3.81,3.73,3.77,3.86,3.83,
-3.98,3.83,4.00,3.83,4.02,3.90,4.03,3.83,4.03,3.91,
-4.04,3.86,3.89,4.11,3.97,3.91,3.87,3.76,3.93,4.07,
-3.85,3.94,4.05,4.14,3.98,4.03,4.03,4.17,4.04,4.03,
-3.98,4.15,4.31,4.18,4.09,4.22,4.12,4.25,4.14,4.06,
-4.08,4.22,4.14,4.05,4.41,4.24,4.24,4.22,4.21,4.20,
-4.30,4.16,4.38,4.18,4.16,4.30,4.25,4.41,4.34,4.40,
-4.24,4.34,4.29,4.27,4.28,4.36,4.27,4.31,4.40,4.55,
-0.70,0.76,0.77,0.78,0.82,0.87,0.92,0.94,0.94,0.94,
-0.98,1.04,1.00,1.06,1.06,1.05,1.12,1.11,1.20,1.16,
-1.19,1.27,1.24,1.32,1.24,1.32,1.29,1.28,1.37,1.36,
-1.42,1.47,1.45,1.50,1.39,1.45,1.50,1.54,1.53,1.54,
-1.60,1.57,1.58,1.64,1.61,1.66,1.60,1.59,1.70,1.65,
-1.66,1.71,1.79,1.77,1.83,1.85,1.76,1.81,1.83,1.86,
-1.84,1.94,1.88,1.84,1.86,1.88,1.92,1.99,1.95,1.92,
-1.91,2.03,1.98,2.01,1.97,2.13,2.05,2.01,2.03,2.07,
-2.06,2.04,2.06,2.06,2.14,2.23,2.11,2.16,2.15,2.22,
-2.18,2.21,2.19,2.30,2.20,2.22,2.33,2.31,2.25,2.28,
-2.31,2.41,2.31,2.32,2.41,2.32,2.28,2.41,2.36,2.48,
-2.58,2.45,2.50,2.46,2.50,2.49,2.51,2.43,2.55,2.47,
-2.51,2.54,2.50,2.54,2.56,2.64,2.51,2.60,2.58,2.52,
-2.60,2.56,2.58,2.60,2.66,2.62,2.62,2.55,2.70,2.75,
-2.64,2.70,2.76,2.78,2.72,2.63,2.70,2.77,2.83,2.83,
-2.75,2.87,2.82,2.76,2.72,2.88,2.76,2.79,2.80,2.76,
-2.83,2.86,2.92,2.98,2.79,2.95,2.84,2.97,2.82,3.02,
-2.87,2.90,2.97,2.99,3.03,2.99,2.87,3.05,2.96,3.05,
-3.07,2.98,3.03,3.01,3.01,3.10,3.02,3.15,3.12,3.13,
-3.13,3.15,3.07,3.04,3.09,3.07,3.13,3.15,3.13,3.12,
-3.14,3.19,3.16,3.24,3.16,3.24,3.17,3.25,3.18,3.25,
-3.33,3.12,3.27,3.26,3.27,3.39,3.37,3.24,3.37,3.28,
-3.23,3.30,3.33,3.31,3.36,3.38,3.39,3.38,3.38,3.44,
-3.37,3.52,3.54,3.36,3.21,3.39,3.48,3.51,3.37,3.38,
-3.40,3.55,3.51,3.48,3.49,3.58,3.57,3.54,3.49,3.48,
-3.73,3.49,3.56,3.50,3.55,3.64,3.47,3.73,3.52,3.70,
-3.62,3.69,3.59,3.61,3.70,3.54,3.76,3.62,3.78,3.62,
-3.55,3.74,3.59,3.85,3.74,3.70,3.78,3.71,3.67,3.70,
-3.71,3.57,3.80,3.95,3.83,3.75,3.77,3.93,3.86,3.90,
-0.58,0.64,0.66,0.68,0.72,0.79,0.76,0.82,0.81,0.84,
-0.88,0.87,0.85,0.85,0.90,0.95,0.97,1.03,1.04,1.01,
-1.05,1.05,1.06,1.08,1.17,1.12,1.14,1.12,1.16,1.14,
-1.26,1.17,1.21,1.23,1.24,1.22,1.28,1.30,1.31,1.36,
-1.30,1.41,1.34,1.36,1.34,1.38,1.40,1.44,1.43,1.45,
-1.45,1.51,1.49,1.42,1.51,1.51,1.60,1.53,1.56,1.52,
-1.58,1.71,1.62,1.64,1.66,1.65,1.67,1.73,1.65,1.66,
-1.65,1.66,1.74,1.73,1.73,1.71,1.74,1.76,1.76,1.74,
-1.79,1.77,1.84,1.80,1.86,1.84,1.80,1.81,1.88,1.97,
-1.97,1.91,1.85,1.93,1.94,1.94,2.02,1.96,2.00,1.97,
-1.96,2.02,1.98,1.97,2.00,2.06,2.00,2.11,2.07,2.05,
-2.17,2.06,1.94,2.14,2.10,2.10,2.15,2.17,2.18,2.19,
-2.13,2.23,2.22,2.20,2.29,2.23,2.27,2.24,2.23,2.20,
-2.34,2.27,2.26,2.31,2.26,2.31,2.35,2.28,2.35,2.30,
-2.39,2.22,2.38,2.22,2.35,2.41,2.41,2.40,2.36,2.34,
-2.46,2.51,2.47,2.50,2.48,2.43,2.57,2.46,2.44,2.52,
-2.46,2.46,2.48,2.52,2.55,2.54,2.51,2.48,2.44,2.57,
-2.46,2.56,2.59,2.63,2.66,2.58,2.60,2.58,2.66,2.58,
-2.58,2.64,2.73,2.65,2.69,2.66,2.58,2.74,2.74,2.65,
-2.65,2.70,2.64,2.57,2.69,2.65,2.75,2.80,2.68,2.66,
-2.69,2.79,2.77,2.66,2.81,2.78,2.74,2.66,2.82,2.80,
-2.84,2.83,2.79,2.89,2.92,2.78,2.90,2.84,2.83,2.80,
-2.84,2.87,2.90,2.85,2.81,2.85,2.83,2.85,2.93,2.99,
-2.86,2.83,2.95,2.80,3.00,2.88,2.91,2.94,3.08,3.05,
-3.00,3.02,3.02,3.06,2.98,2.97,3.09,2.95,3.03,2.99,
-2.98,3.04,3.01,2.99,3.09,3.09,2.97,3.11,3.15,3.13,
-3.18,3.12,3.11,3.28,3.16,3.12,3.15,3.18,3.15,3.08,
-3.07,3.27,3.05,3.28,3.17,3.23,3.27,3.25,3.19,3.19,
-3.24,3.24,3.20,3.19,3.27,3.27,3.27,3.32,3.15,3.41,
-0.54,0.54,0.53,0.62,0.62,0.66,0.61,0.69,0.67,0.73,
-0.76,0.74,0.78,0.78,0.80,0.84,0.84,0.83,0.88,0.90,
-0.89,0.92,0.92,0.89,0.96,0.95,0.98,1.00,1.03,0.99,
-1.03,1.03,1.09,1.07,1.09,1.11,1.10,1.10,1.13,1.11,
-1.11,1.18,1.15,1.16,1.20,1.19,1.23,1.21,1.26,1.24,
-1.28,1.28,1.28,1.32,1.32,1.31,1.30,1.32,1.33,1.29,
-1.35,1.34,1.38,1.41,1.37,1.38,1.46,1.40,1.38,1.42,
-1.47,1.49,1.48,1.53,1.48,1.46,1.50,1.45,1.54,1.51,
-1.58,1.64,1.51,1.58,1.54,1.51,1.55,1.58,1.56,1.66,
-1.63,1.63,1.52,1.61,1.73,1.68,1.75,1.71,1.70,1.64,
-1.72,1.63,1.72,1.67,1.72,1.65,1.77,1.78,1.73,1.81,
-1.75,1.76,1.78,1.84,1.73,1.83,1.77,1.80,1.88,1.84,
-1.84,1.85,1.89,1.89,1.83,1.94,1.86,1.94,1.92,1.98,
-1.90,1.86,1.96,1.89,1.95,1.85,1.97,2.04,1.92,1.92,
-1.96,2.04,2.05,2.01,1.96,2.01,2.07,1.97,2.06,2.02,
-1.98,2.06,2.11,2.04,2.19,2.08,2.00,2.11,2.10,2.07,
-2.12,2.02,2.15,2.15,2.05,2.11,2.20,2.17,2.21,2.21,
-2.22,2.19,2.19,2.17,2.26,2.12,2.28,2.18,2.20,2.22,
-2.14,2.14,2.21,2.30,2.35,2.32,2.32,2.22,2.35,2.37,
-2.32,2.31,2.35,2.26,2.35,2.32,2.28,2.34,2.33,2.25,
-2.29,2.36,2.34,2.36,2.37,2.36,2.38,2.51,2.30,2.43,
-2.46,2.38,2.45,2.53,2.53,2.41,2.38,2.46,2.44,2.53,
-2.43,2.39,2.54,2.37,2.65,2.44,2.49,2.51,2.59,2.53,
-2.49,2.54,2.54,2.52,2.49,2.56,2.53,2.50,2.58,2.50,
-2.57,2.52,2.52,2.49,2.60,2.54,2.67,2.61,2.61,2.53,
-2.62,2.62,2.58,2.61,2.62,2.72,2.58,2.60,2.62,2.63,
-2.64,2.58,2.73,2.64,2.70,2.55,2.74,2.62,2.69,2.70,
-2.74,2.77,2.64,2.79,2.79,2.76,2.79,2.71,2.83,2.80,
-2.77,2.81,2.75,2.68,2.72,2.80,2.79,2.90,2.81,2.87,
-0.47,0.44,0.46,0.51,0.55,0.55,0.57,0.61,0.59,0.62,
-0.63,0.65,0.66,0.67,0.68,0.70,0.69,0.73,0.75,0.74,
-0.83,0.81,0.77,0.81,0.80,0.85,0.84,0.86,0.85,0.89,
-0.91,0.90,0.91,0.88,0.94,0.95,0.94,0.99,0.97,0.95,
-0.97,1.02,0.95,1.04,1.06,1.01,1.07,1.06,1.07,1.13,
-1.07,1.07,1.06,1.13,1.10,1.14,1.14,1.15,1.15,1.20,
-1.10,1.14,1.22,1.18,1.26,1.16,1.23,1.24,1.17,1.24,
-1.25,1.25,1.26,1.26,1.25,1.25,1.31,1.32,1.34,1.21,
-1.38,1.44,1.39,1.31,1.34,1.38,1.38,1.39,1.33,1.33,
-1.45,1.40,1.43,1.42,1.40,1.36,1.43,1.43,1.46,1.47,
-1.46,1.47,1.52,1.57,1.47,1.48,1.45,1.57,1.58,1.50,
-1.56,1.52,1.46,1.57,1.62,1.56,1.61,1.55,1.63,1.54,
-1.60,1.57,1.60,1.69,1.62,1.64,1.65,1.61,1.65,1.73,
-1.68,1.70,1.63,1.66,1.67,1.68,1.67,1.63,1.69,1.77,
-1.65,1.72,1.75,1.75,1.75,1.73,1.72,1.78,1.79,1.76,
-1.76,1.79,1.80,1.79,1.78,1.81,1.84,1.83,1.76,1.88,
-1.76,1.84,1.83,1.80,1.81,1.87,1.81,1.79,1.84,1.87,
-1.88,1.91,1.81,1.98,1.89,1.90,1.83,1.81,1.92,1.91,
-1.91,1.91,1.97,1.95,1.92,1.96,1.91,1.95,2.02,1.97,
-2.00,1.95,2.08,1.96,2.05,1.98,2.05,2.01,2.02,2.01,
-2.02,2.07,2.04,2.05,2.02,2.02,2.12,2.01,2.09,2.07,
-2.05,2.09,2.08,2.09,2.05,1.99,2.08,2.14,2.07,2.09,
-2.18,2.10,2.13,2.05,2.14,2.20,2.12,2.13,2.11,2.17,
-2.14,2.17,2.11,2.10,2.12,2.16,2.15,2.25,2.19,2.17,
-2.25,2.25,2.19,2.30,2.27,2.32,2.08,2.19,2.22,2.23,
-2.28,2.24,2.26,2.26,2.21,2.29,2.29,2.26,2.25,2.33,
-2.33,2.23,2.39,2.30,2.27,2.28,2.29,2.34,2.43,2.39,
-2.35,2.27,2.34,2.23,2.41,2.28,2.34,2.36,2.40,2.37,
-2.38,2.42,2.33,2.36,2.37,2.26,2.46,2.44,2.40,2.39,
-0.38,0.41,0.43,0.44,0.45,0.47,0.47,0.49,0.52,0.53,
-0.51,0.56,0.55,0.56,0.57,0.59,0.61,0.63,0.64,0.60,
-0.65,0.65,0.67,0.67,0.70,0.72,0.71,0.72,0.76,0.73,
-0.79,0.77,0.78,0.78,0.76,0.82,0.84,0.83,0.87,0.84,
-0.86,0.86,0.89,0.83,0.87,0.86,0.88,0.88,0.93,0.96,
-0.89,0.91,0.93,0.93,0.92,0.93,0.97,0.97,1.05,0.99,
-1.02,1.01,1.02,1.04,1.02,1.01,1.00,1.06,1.04,1.04,
-1.06,1.10,1.05,1.09,1.13,1.07,1.12,1.17,1.11,1.12,
-1.14,1.14,1.14,1.10,1.16,1.16,1.19,1.19,1.19,1.14,
-1.17,1.14,1.22,1.18,1.18,1.27,1.26,1.25,1.21,1.20,
-1.22,1.25,1.28,1.35,1.25,1.26,1.27,1.31,1.29,1.31,
-1.30,1.31,1.33,1.29,1.34,1.40,1.34,1.34,1.37,1.36,
-1.34,1.45,1.38,1.37,1.36,1.39,1.39,1.36,1.38,1.39,
-1.38,1.45,1.42,1.42,1.43,1.42,1.45,1.42,1.46,1.55,
-1.48,1.45,1.43,1.47,1.53,1.57,1.50,1.48,1.48,1.47,
-1.53,1.50,1.54,1.57,1.51,1.50,1.55,1.59,1.57,1.54,
-1.54,1.60,1.58,1.59,1.55,1.64,1.59,1.54,1.56,1.59,
-1.68,1.65,1.62,1.61,1.63,1.63,1.73,1.66,1.59,1.67,
-1.60,1.66,1.70,1.75,1.67,1.70,1.74,1.70,1.74,1.64,
-1.61,1.76,1.67,1.64,1.73,1.68,1.80,1.68,1.71,1.66,
-1.71,1.72,1.74,1.72,1.75,1.72,1.72,1.73,1.73,1.75,
-1.78,1.79,1.77,1.79,1.81,1.81,1.79,1.86,1.89,1.81,
-1.75,1.87,1.78,1.87,1.94,1.79,1.88,1.85,1.90,1.82,
-1.86,1.88,1.96,1.84,1.95,1.88,1.80,1.86,1.89,1.91,
-1.95,1.81,1.84,1.85,1.85,1.91,1.87,1.97,1.95,1.93,
-1.99,1.89,1.91,1.90,1.92,1.90,1.91,2.00,1.94,1.94,
-1.95,1.96,1.91,1.90,1.98,1.90,1.97,1.98,2.02,2.02,
-1.97,2.06,2.06,2.00,1.91,2.04,2.05,2.02,2.06,2.09,
-2.01,2.00,2.09,2.09,2.01,2.17,2.05,1.99,2.10,1.97,
-0.34,0.33,0.37,0.40,0.38,0.42,0.42,0.41,0.48,0.45,
-0.47,0.44,0.51,0.49,0.49,0.55,0.50,0.51,0.55,0.53,
-0.56,0.54,0.55,0.60,0.58,0.63,0.61,0.66,0.64,0.62,
-0.63,0.69,0.65,0.65,0.69,0.69,0.71,0.68,0.71,0.70,
-0.70,0.74,0.71,0.74,0.75,0.72,0.81,0.76,0.77,0.76,
-0.77,0.80,0.78,0.78,0.81,0.78,0.87,0.86,0.84,0.84,
-0.85,0.85,0.87,0.83,0.84,0.86,0.91,0.87,0.93,0.87,
-0.89,0.88,0.94,0.93,0.95,0.91,0.91,0.93,0.98,0.90,
-0.98,0.93,0.97,0.98,1.00,0.99,0.99,0.97,1.01,1.00,
-1.08,1.03,1.02,1.05,1.05,1.05,1.00,1.05,1.05,1.06,
-1.10,1.05,1.06,1.09,1.06,1.12,1.09,1.08,1.08,1.10,
-1.12,1.08,1.12,1.17,1.17,1.14,1.14,1.15,1.16,1.15,
-1.17,1.13,1.15,1.11,1.15,1.22,1.17,1.20,1.16,1.19,
-1.23,1.15,1.21,1.22,1.18,1.23,1.19,1.23,1.24,1.22,
-1.19,1.23,1.21,1.30,1.19,1.22,1.30,1.26,1.24,1.31,
-1.27,1.31,1.36,1.26,1.31,1.28,1.26,1.32,1.33,1.30,
-1.34,1.33,1.38,1.31,1.30,1.38,1.41,1.33,1.36,1.39,
-1.36,1.31,1.34,1.38,1.41,1.39,1.36,1.38,1.40,1.39,
-1.37,1.41,1.38,1.42,1.44,1.45,1.39,1.48,1.45,1.43,
-1.43,1.50,1.46,1.44,1.46,1.47,1.44,1.48,1.44,1.48,
-1.46,1.37,1.51,1.46,1.55,1.52,1.52,1.54,1.53,1.51,
-1.50,1.52,1.50,1.58,1.50,1.54,1.54,1.55,1.54,1.52,
-1.57,1.67,1.60,1.60,1.49,1.61,1.59,1.50,1.57,1.61,
-1.58,1.53,1.62,1.59,1.56,1.60,1.65,1.56,1.60,1.58,
-1.59,1.62,1.65,1.65,1.63,1.64,1.65,1.59,1.69,1.60,
-1.60,1.72,1.66,1.62,1.72,1.62,1.67,1.66,1.69,1.66,
-1.65,1.73,1.67,1.73,1.76,1.65,1.67,1.70,1.72,1.68,
-1.71,1.68,1.75,1.68,1.67,1.71,1.74,1.79,1.77,1.73,
-1.70,1.75,1.77,1.80,1.73,1.69,1.78,1.69,1.74,1.77,
-0.28,0.28,0.29,0.30,0.36,0.31,0.36,0.34,0.36,0.41,
-0.40,0.40,0.39,0.41,0.44,0.43,0.43,0.45,0.47,0.47,
-0.47,0.49,0.50,0.52,0.51,0.50,0.49,0.53,0.53,0.57,
-0.56,0.54,0.54,0.59,0.58,0.59,0.59,0.58,0.57,0.61,
-0.60,0.63,0.60,0.62,0.63,0.66,0.65,0.67,0.64,0.66,
-0.69,0.69,0.65,0.70,0.70,0.72,0.73,0.72,0.70,0.73,
-0.73,0.76,0.70,0.77,0.70,0.72,0.72,0.76,0.79,0.76,
-0.75,0.78,0.78,0.81,0.82,0.77,0.78,0.82,0.83,0.83,
-0.80,0.82,0.87,0.79,0.80,0.83,0.88,0.85,0.84,0.89,
-0.85,0.88,0.91,0.89,0.87,0.86,0.91,0.90,0.94,0.96,
-0.91,0.94,0.91,0.92,0.93,0.92,0.98,0.92,0.92,0.93,
-0.95,0.85,0.94,0.93,0.97,1.00,0.97,0.98,0.94,1.00,
-0.98,0.98,1.00,0.96,0.99,1.01,1.05,0.97,1.01,1.05,
-1.00,1.01,1.00,0.99,1.07,0.97,1.05,1.02,1.08,1.03,
-1.09,1.03,1.04,1.06,1.06,1.08,1.12,1.06,1.07,1.10,
-1.16,1.13,1.11,1.11,1.07,1.17,1.15,1.06,1.13,1.15,
-1.13,1.09,1.07,1.12,1.11,1.15,1.13,1.16,1.15,1.13,
-1.18,1.15,1.14,1.21,1.18,1.19,1.16,1.21,1.16,1.21,
-1.16,1.19,1.19,1.18,1.20,1.25,1.20,1.26,1.23,1.18,
-1.22,1.24,1.25,1.27,1.22,1.27,1.23,1.21,1.20,1.15,
-1.29,1.26,1.23,1.26,1.24,1.23,1.29,1.30,1.28,1.28,
-1.32,1.30,1.27,1.32,1.30,1.33,1.26,1.27,1.32,1.30,
-1.34,1.27,1.30,1.33,1.30,1.38,1.36,1.32,1.43,1.31,
-1.29,1.41,1.33,1.32,1.32,1.34,1.33,1.44,1.34,1.38,
-1.38,1.36,1.39,1.38,1.39,1.34,1.36,1.43,1.38,1.41,
-1.43,1.40,1.35,1.39,1.44,1.43,1.39,1.39,1.47,1.43,
-1.44,1.50,1.38,1.52,1.42,1.43,1.48,1.45,1.39,1.44,
-1.47,1.48,1.41,1.49,1.43,1.41,1.48,1.47,1.38,1.40,
-1.47,1.54,1.45,1.48,1.47,1.49,1.48,1.53,1.47,1.49,
-0.24,0.25,0.26,0.30,0.26,0.30,0.28,0.31,0.33,0.33,
-0.32,0.35,0.36,0.32,0.37,0.40,0.41,0.39,0.36,0.41,
-0.40,0.43,0.43,0.42,0.43,0.45,0.42,0.45,0.45,0.47,
-0.46,0.45,0.47,0.48,0.48,0.52,0.50,0.52,0.50,0.52,
-0.48,0.53,0.53,0.53,0.53,0.56,0.54,0.54,0.55,0.60,
-0.57,0.54,0.62,0.59,0.60,0.59,0.61,0.63,0.62,0.63,
-0.63,0.65,0.61,0.62,0.65,0.66,0.64,0.65,0.63,0.64,
-0.62,0.68,0.68,0.67,0.68,0.72,0.63,0.68,0.70,0.72,
-0.69,0.73,0.70,0.72,0.75,0.69,0.75,0.72,0.78,0.74,
-0.75,0.74,0.74,0.74,0.78,0.78,0.80,0.73,0.79,0.79,
-0.77,0.79,0.79,0.79,0.82,0.76,0.78,0.76,0.80,0.78,
-0.78,0.81,0.82,0.83,0.82,0.85,0.85,0.85,0.83,0.89,
-0.81,0.83,0.83,0.82,0.87,0.89,0.84,0.86,0.91,0.89,
-0.87,0.88,0.91,0.89,0.90,0.89,0.89,0.89,0.90,0.90,
-0.88,0.92,0.88,0.90,0.89,0.89,0.88,0.90,0.90,0.96,
-0.92,0.94,0.96,0.93,0.92,0.93,0.96,0.87,0.98,0.97,
-0.99,0.98,0.95,0.99,0.98,1.00,0.97,1.00,1.01,1.00,
-1.00,0.99,0.99,1.01,1.00,1.02,0.99,0.99,0.96,1.06,
-1.02,1.03,1.01,1.03,1.06,1.04,1.00,1.05,1.01,1.02,
-1.07,0.98,1.07,1.06,1.05,1.04,1.09,1.05,1.07,1.02,
-1.09,1.12,1.09,1.08,1.07,1.06,1.10,1.10,1.05,1.12,
-1.13,1.10,1.12,1.09,1.05,1.13,1.12,1.10,1.08,1.10,
-1.10,1.18,1.14,1.11,1.12,1.16,1.12,1.15,1.11,1.16,
-1.14,1.15,1.19,1.17,1.18,1.15,1.18,1.15,1.15,1.16,
-1.15,1.15,1.18,1.12,1.20,1.11,1.17,1.17,1.17,1.21,
-1.22,1.22,1.26,1.22,1.30,1.24,1.23,1.19,1.27,1.20,
-1.21,1.19,1.18,1.24,1.21,1.20,1.27,1.19,1.25,1.23,
-1.24,1.31,1.21,1.27,1.26,1.29,1.27,1.25,1.24,1.19,
-1.27,1.31,1.30,1.25,1.30,1.30,1.24,1.30,1.27,1.32,
-0.21,0.20,0.22,0.23,0.24,0.26,0.25,0.25,0.29,0.25,
-0.29,0.30,0.26,0.31,0.32,0.30,0.31,0.32,0.32,0.33,
-0.35,0.33,0.37,0.35,0.39,0.37,0.37,0.37,0.40,0.39,
-0.43,0.41,0.40,0.40,0.48,0.42,0.43,0.40,0.43,0.45,
-0.46,0.45,0.45,0.46,0.46,0.43,0.50,0.44,0.48,0.49,
-0.49,0.48,0.47,0.52,0.49,0.53,0.50,0.49,0.50,0.49,
-0.51,0.51,0.51,0.55,0.52,0.55,0.56,0.56,0.53,0.55,
-0.54,0.53,0.57,0.55,0.56,0.53,0.58,0.56,0.63,0.58,
-0.58,0.61,0.62,0.61,0.64,0.61,0.61,0.59,0.64,0.57,
-0.58,0.60,0.62,0.63,0.65,0.66,0.63,0.68,0.65,0.68,
-0.67,0.66,0.65,0.70,0.62,0.69,0.66,0.68,0.72,0.70,
-0.70,0.70,0.72,0.70,0.71,0.69,0.72,0.75,0.70,0.71,
-0.70,0.70,0.71,0.74,0.75,0.72,0.75,0.72,0.74,0.74,
-0.72,0.75,0.76,0.74,0.76,0.73,0.73,0.76,0.75,0.76,
-0.77,0.74,0.79,0.77,0.76,0.74,0.80,0.81,0.86,0.76,
-0.79,0.82,0.78,0.81,0.79,0.81,0.82,0.77,0.81,0.79,
-0.83,0.77,0.78,0.83,0.84,0.86,0.80,0.84,0.86,0.85,
-0.83,0.86,0.84,0.84,0.88,0.83,0.83,0.83,0.84,0.89,
-0.86,0.84,0.84,0.89,0.89,0.87,0.90,0.89,0.87,0.91,
-0.87,0.89,0.94,0.85,0.94,0.91,0.87,0.89,0.92,0.96,
-0.86,0.93,0.96,0.88,0.94,0.92,0.91,0.93,0.87,0.89,
-0.94,0.91,0.93,0.98,0.94,0.99,0.91,0.95,0.95,0.98,
-0.97,0.96,0.94,0.94,0.95,0.94,0.95,0.94,0.91,1.01,
-0.99,0.94,0.96,0.95,1.01,0.94,0.99,0.96,0.98,1.05,
-0.96,0.98,0.97,0.97,0.99,1.02,1.02,1.04,1.00,0.98,
-1.01,0.97,1.04,1.05,1.02,0.99,1.02,1.07,1.08,1.07,
-1.03,1.04,1.04,1.04,1.02,1.01,1.03,1.06,1.02,1.01,
-1.07,1.03,1.02,1.10,1.07,1.03,1.08,1.07,1.05,1.07,
-1.08,1.01,1.08,1.11,1.10,1.09,1.06,1.03,1.08,1.10,
-0.15,0.13,0.17,0.18,0.21,0.24,0.21,0.22,0.22,0.26,
-0.21,0.24,0.24,0.25,0.27,0.28,0.28,0.26,0.26,0.26,
-0.30,0.30,0.31,0.32,0.31,0.31,0.32,0.32,0.34,0.35,
-0.34,0.33,0.35,0.33,0.35,0.32,0.35,0.35,0.36,0.34,
-0.41,0.40,0.40,0.38,0.38,0.37,0.40,0.38,0.40,0.42,
-0.41,0.41,0.43,0.43,0.40,0.43,0.43,0.44,0.44,0.42,
-0.46,0.43,0.45,0.45,0.50,0.47,0.44,0.43,0.46,0.50,
-0.47,0.46,0.51,0.51,0.48,0.50,0.48,0.51,0.52,0.48,
-0.51,0.53,0.52,0.52,0.50,0.53,0.50,0.52,0.52,0.52,
-0.54,0.54,0.54,0.54,0.55,0.54,0.59,0.61,0.55,0.56,
-0.55,0.54,0.57,0.55,0.60,0.56,0.61,0.60,0.58,0.60,
-0.55,0.59,0.60,0.61,0.62,0.59,0.63,0.59,0.62,0.62,
-0.60,0.58,0.63,0.60,0.60,0.66,0.64,0.63,0.61,0.66,
-0.66,0.63,0.64,0.64,0.62,0.65,0.61,0.65,0.66,0.65,
-0.67,0.63,0.62,0.68,0.65,0.65,0.65,0.64,0.64,0.67,
-0.70,0.66,0.64,0.73,0.69,0.68,0.65,0.69,0.70,0.67,
-0.70,0.70,0.69,0.70,0.69,0.69,0.69,0.69,0.69,0.76,
-0.72,0.75,0.73,0.72,0.72,0.70,0.73,0.71,0.73,0.76,
-0.75,0.72,0.74,0.80,0.74,0.76,0.75,0.77,0.76,0.77,
-0.76,0.77,0.79,0.76,0.78,0.80,0.78,0.83,0.81,0.79,
-0.76,0.79,0.78,0.77,0.79,0.82,0.81,0.82,0.82,0.76,
-0.78,0.80,0.78,0.83,0.78,0.78,0.79,0.76,0.80,0.78,
-0.77,0.83,0.83,0.80,0.78,0.83,0.81,0.83,0.83,0.83,
-0.88,0.86,0.89,0.83,0.82,0.84,0.85,0.82,0.81,0.84,
-0.88,0.85,0.84,0.88,0.91,0.89,0.85,0.86,0.84,0.88,
-0.83,0.87,0.88,0.94,0.87,0.89,0.88,0.84,0.86,0.87,
-0.92,0.87,0.85,0.87,0.91,0.88,0.88,0.91,0.91,0.89,
-0.91,0.89,0.86,0.90,0.87,0.91,0.92,0.92,0.97,0.90,
-0.92,0.90,0.88,0.93,0.89,0.95,0.86,0.92,0.94,0.95,
-0.16,0.15,0.18,0.16,0.18,0.20,0.20,0.20,0.21,0.18,
-0.20,0.21,0.18,0.22,0.20,0.23,0.21,0.25,0.22,0.26,
-0.27,0.24,0.27,0.29,0.26,0.28,0.30,0.29,0.31,0.27,
-0.29,0.30,0.28,0.30,0.31,0.32,0.34,0.33,0.30,0.31,
-0.31,0.34,0.34,0.34,0.30,0.35,0.32,0.32,0.34,0.35,
-0.34,0.37,0.32,0.37,0.34,0.39,0.38,0.40,0.40,0.36,
-0.36,0.39,0.39,0.41,0.38,0.41,0.41,0.38,0.45,0.40,
-0.39,0.40,0.41,0.43,0.39,0.40,0.40,0.44,0.46,0.43,
-0.42,0.42,0.41,0.40,0.43,0.45,0.41,0.42,0.45,0.48,
-0.46,0.47,0.44,0.48,0.48,0.45,0.49,0.46,0.41,0.48,
-0.45,0.47,0.46,0.47,0.49,0.52,0.47,0.48,0.49,0.49,
-0.50,0.49,0.51,0.48,0.51,0.49,0.50,0.51,0.53,0.54,
-0.49,0.49,0.53,0.56,0.56,0.50,0.51,0.55,0.57,0.56,
-0.54,0.54,0.56,0.52,0.55,0.56,0.59,0.55,0.58,0.55,
-0.52,0.57,0.56,0.56,0.56,0.56,0.54,0.56,0.55,0.56,
-0.58,0.55,0.57,0.57,0.59,0.59,0.60,0.58,0.58,0.58,
-0.60,0.58,0.61,0.60,0.61,0.60,0.61,0.58,0.59,0.62,
-0.61,0.61,0.62,0.63,0.64,0.62,0.62,0.62,0.62,0.61,
-0.60,0.64,0.60,0.69,0.64,0.64,0.66,0.60,0.60,0.58,
-0.68,0.63,0.66,0.65,0.66,0.66,0.69,0.61,0.64,0.62,
-0.68,0.68,0.64,0.67,0.70,0.66,0.67,0.69,0.64,0.68,
-0.64,0.70,0.67,0.69,0.72,0.68,0.68,0.70,0.68,0.70,
-0.68,0.71,0.68,0.69,0.71,0.72,0.73,0.71,0.68,0.72,
-0.69,0.72,0.71,0.70,0.70,0.70,0.70,0.75,0.69,0.73,
-0.74,0.72,0.72,0.72,0.72,0.72,0.77,0.74,0.75,0.73,
-0.74,0.70,0.74,0.74,0.70,0.70,0.75,0.70,0.70,0.73,
-0.71,0.79,0.76,0.74,0.77,0.75,0.77,0.74,0.74,0.75,
-0.77,0.74,0.78,0.78,0.79,0.75,0.76,0.80,0.74,0.76,
-0.78,0.75,0.77,0.75,0.76,0.81,0.78,0.80,0.85,0.81,
-0.09,0.12,0.13,0.14,0.14,0.17,0.13,0.12,0.20,0.18,
-0.17,0.19,0.17,0.19,0.18,0.19,0.22,0.22,0.18,0.21,
-0.21,0.22,0.22,0.25,0.23,0.21,0.24,0.23,0.24,0.25,
-0.23,0.25,0.27,0.29,0.26,0.25,0.26,0.28,0.26,0.23,
-0.27,0.30,0.27,0.27,0.28,0.27,0.28,0.28,0.28,0.28,
-0.31,0.32,0.29,0.27,0.31,0.31,0.33,0.30,0.33,0.34,
-0.32,0.31,0.33,0.32,0.33,0.34,0.34,0.35,0.33,0.35,
-0.33,0.35,0.35,0.37,0.37,0.37,0.36,0.36,0.38,0.37,
-0.42,0.36,0.34,0.39,0.38,0.40,0.38,0.38,0.37,0.38,
-0.40,0.39,0.41,0.38,0.38,0.38,0.40,0.42,0.41,0.40,
-0.38,0.40,0.44,0.40,0.40,0.40,0.40,0.43,0.42,0.45,
-0.44,0.43,0.42,0.43,0.47,0.44,0.43,0.41,0.43,0.46,
-0.46,0.43,0.46,0.46,0.44,0.46,0.46,0.43,0.45,0.47,
-0.46,0.49,0.46,0.48,0.47,0.49,0.46,0.49,0.51,0.47,
-0.48,0.46,0.48,0.50,0.49,0.50,0.47,0.52,0.47,0.48,
-0.48,0.49,0.49,0.52,0.48,0.47,0.54,0.51,0.46,0.49,
-0.48,0.53,0.52,0.52,0.50,0.52,0.50,0.53,0.50,0.51,
-0.50,0.55,0.50,0.52,0.52,0.54,0.52,0.51,0.56,0.50,
-0.51,0.54,0.52,0.52,0.55,0.54,0.55,0.55,0.52,0.58,
-0.54,0.49,0.55,0.55,0.54,0.57,0.60,0.53,0.55,0.54,
-0.57,0.56,0.54,0.56,0.55,0.59,0.54,0.60,0.58,0.57,
-0.59,0.56,0.57,0.60,0.61,0.60,0.60,0.60,0.60,0.60,
-0.58,0.58,0.60,0.59,0.56,0.60,0.59,0.59,0.61,0.58,
-0.60,0.56,0.60,0.61,0.60,0.61,0.60,0.62,0.60,0.60,
-0.60,0.64,0.62,0.63,0.61,0.60,0.59,0.62,0.58,0.63,
-0.60,0.63,0.63,0.60,0.64,0.59,0.65,0.64,0.60,0.60,
-0.63,0.61,0.62,0.64,0.62,0.64,0.68,0.63,0.59,0.64,
-0.64,0.64,0.67,0.65,0.65,0.66,0.64,0.64,0.67,0.68,
-0.67,0.63,0.67,0.67,0.68,0.66,0.64,0.62,0.67,0.63,
-0.09,0.12,0.11,0.13,0.11,0.09,0.14,0.14,0.14,0.13,
-0.14,0.13,0.17,0.14,0.15,0.14,0.16,0.16,0.15,0.17,
-0.18,0.19,0.20,0.21,0.19,0.20,0.21,0.19,0.19,0.25,
-0.21,0.20,0.19,0.22,0.23,0.19,0.22,0.21,0.23,0.23,
-0.22,0.28,0.23,0.27,0.25,0.22,0.23,0.25,0.26,0.26,
-0.26,0.27,0.27,0.24,0.28,0.27,0.24,0.26,0.30,0.28,
-0.25,0.29,0.27,0.27,0.31,0.30,0.30,0.33,0.30,0.28,
-0.28,0.29,0.29,0.30,0.31,0.29,0.29,0.31,0.29,0.28,
-0.34,0.32,0.28,0.34,0.32,0.35,0.30,0.30,0.33,0.31,
-0.32,0.32,0.31,0.33,0.32,0.30,0.35,0.32,0.34,0.33,
-0.36,0.35,0.33,0.34,0.35,0.35,0.37,0.35,0.35,0.37,
-0.35,0.37,0.36,0.37,0.38,0.35,0.36,0.36,0.36,0.40,
-0.39,0.36,0.36,0.40,0.38,0.39,0.37,0.37,0.39,0.39,
-0.39,0.40,0.40,0.38,0.39,0.40,0.37,0.42,0.43,0.39,
-0.43,0.41,0.41,0.37,0.43,0.40,0.42,0.42,0.41,0.48,
-0.40,0.41,0.40,0.43,0.46,0.42,0.42,0.44,0.41,0.45,
-0.41,0.40,0.43,0.46,0.43,0.42,0.45,0.42,0.44,0.43,
-0.43,0.46,0.44,0.43,0.43,0.41,0.48,0.45,0.45,0.43,
-0.44,0.46,0.45,0.47,0.47,0.47,0.44,0.45,0.47,0.50,
-0.45,0.44,0.46,0.50,0.46,0.46,0.45,0.48,0.48,0.44,
-0.50,0.47,0.49,0.50,0.51,0.49,0.49,0.49,0.47,0.46,
-0.48,0.49,0.49,0.52,0.46,0.48,0.46,0.50,0.50,0.49,
-0.50,0.47,0.49,0.49,0.46,0.47,0.51,0.53,0.51,0.53,
-0.50,0.51,0.52,0.53,0.51,0.55,0.47,0.48,0.50,0.53,
-0.54,0.52,0.51,0.55,0.54,0.56,0.53,0.50,0.52,0.48,
-0.51,0.49,0.53,0.54,0.54,0.54,0.59,0.56,0.54,0.55,
-0.57,0.53,0.55,0.51,0.55,0.54,0.55,0.55,0.55,0.57,
-0.60,0.54,0.53,0.56,0.57,0.54,0.56,0.54,0.57,0.57,
-0.55,0.56,0.58,0.55,0.57,0.57,0.55,0.53,0.55,0.55,
-0.99,1.02,1.11,1.13,1.18,1.24,1.28,1.27,1.33,1.33,
-1.41,1.48,1.38,1.49,1.44,1.54,1.57,1.54,1.54,1.61,
-1.64,1.64,1.68,1.74,1.73,1.82,1.84,1.91,1.84,1.96,
-1.86,1.94,1.98,2.01,2.01,2.02,2.03,2.15,2.20,2.08,
-2.19,2.13,2.23,2.24,2.25,2.26,2.31,2.38,2.23,2.34,
-2.37,2.37,2.42,2.46,2.56,2.39,2.43,2.52,2.53,2.54,
-2.51,2.58,2.47,2.67,2.67,2.55,2.67,2.62,2.66,2.77,
-2.69,2.71,2.72,2.71,2.71,2.75,2.77,2.77,2.86,2.96,
-2.80,2.97,2.88,2.80,2.92,2.95,2.97,2.96,3.00,3.16,
-2.93,2.98,3.03,3.09,3.09,2.99,3.18,3.04,3.23,3.22,
-3.18,3.22,3.18,3.26,3.18,3.36,3.18,3.33,3.25,3.26,
-3.40,3.28,3.34,3.44,3.48,3.44,3.44,3.39,3.31,3.35,
-3.51,3.46,3.43,3.35,3.49,3.53,3.59,3.64,3.48,3.38,
-3.46,3.72,3.73,3.70,3.69,3.77,3.79,3.78,3.70,3.61,
-3.74,3.74,3.70,3.94,3.80,3.78,3.83,3.88,3.69,3.83,
-3.77,3.83,3.81,3.74,3.99,3.83,3.92,4.10,3.76,3.78,
-3.86,4.01,4.06,4.09,3.83,3.99,4.07,4.18,4.06,3.99,
-4.08,4.06,3.99,4.13,4.05,3.89,4.05,4.11,3.96,4.22,
-4.25,4.23,4.06,4.06,4.09,4.35,4.26,4.23,4.27,4.14,
-4.32,4.38,4.43,4.37,4.36,4.42,4.21,4.46,4.32,4.54,
-4.46,4.49,4.63,4.45,4.41,4.55,4.34,4.40,4.52,4.38,
-4.39,4.55,4.55,4.64,4.69,4.54,4.51,4.61,4.50,4.59,
-4.58,4.39,4.61,4.43,4.58,4.58,4.74,4.63,4.59,4.83,
-4.41,4.85,4.55,4.68,4.72,4.96,4.64,4.86,4.77,4.74,
-4.97,4.95,4.67,4.95,4.87,4.75,4.98,4.75,5.02,5.17,
-4.84,4.82,4.89,4.99,4.99,5.05,4.82,4.82,4.88,4.86,
-4.99,4.80,5.19,4.89,5.09,5.04,5.01,5.13,5.17,5.15,
-5.05,4.88,5.04,5.09,4.89,5.23,4.94,5.21,5.03,5.27,
-5.04,5.25,5.21,5.09,5.19,5.03,5.30,5.30,5.21,5.24,
-0.83,0.87,0.96,0.99,1.00,1.04,1.04,1.11,1.15,1.19,
-1.19,1.27,1.29,1.33,1.29,1.33,1.34,1.40,1.44,1.46,
-1.48,1.47,1.47,1.52,1.55,1.59,1.62,1.64,1.66,1.73,
-1.63,1.67,1.72,1.73,1.82,1.84,1.73,1.89,1.95,1.90,
-1.88,1.81,1.97,1.91,1.95,2.02,2.02,1.98,1.99,1.99,
-2.02,2.09,2.13,2.07,2.13,2.18,2.16,2.08,2.25,2.24,
-2.24,2.33,2.30,2.29,2.26,2.33,2.32,2.38,2.49,2.32,
-2.37,2.49,2.37,2.47,2.49,2.40,2.44,2.56,2.47,2.55,
-2.54,2.46,2.43,2.56,2.54,2.59,2.64,2.65,2.71,2.66,
-2.71,2.61,2.73,2.67,2.75,2.74,2.72,2.67,2.75,2.80,
-2.76,2.88,2.80,2.79,2.81,2.91,2.88,2.89,2.84,2.88,
-2.84,2.91,3.00,3.03,2.91,3.14,3.00,2.93,3.12,3.07,
-3.10,2.90,3.09,3.08,3.16,3.01,3.02,3.09,3.12,3.12,
-3.05,3.14,3.14,3.09,3.30,3.14,3.10,3.19,3.27,3.35,
-3.32,3.11,3.25,3.23,3.30,3.22,3.26,3.30,3.33,3.41,
-3.49,3.45,3.29,3.47,3.37,3.53,3.36,3.40,3.47,3.46,
-3.57,3.56,3.42,3.67,3.58,3.51,3.52,3.60,3.45,3.55,
-3.49,3.58,3.65,3.47,3.71,3.73,3.64,3.70,3.56,3.69,
-3.73,3.60,3.51,3.67,3.69,3.66,3.85,3.77,3.76,3.81,
-3.88,3.69,3.86,3.67,3.80,3.60,3.84,3.80,4.04,3.88,
-3.93,3.80,3.93,3.85,4.00,3.98,3.95,3.90,3.98,4.06,
-4.06,3.85,3.93,3.88,4.04,3.92,3.94,3.98,3.99,3.97,
-4.21,4.00,3.90,3.96,3.98,4.06,4.31,4.05,4.16,4.18,
-4.08,4.10,4.11,4.10,4.35,4.11,4.32,4.11,4.23,4.16,
-4.12,4.28,4.23,4.26,4.15,4.31,4.37,4.25,4.41,4.07,
-4.40,4.36,4.39,4.35,4.40,4.44,4.39,4.33,4.33,4.29,
-4.37,4.31,4.36,4.37,4.40,4.48,4.33,4.57,4.41,4.39,
-4.55,4.44,4.56,4.22,4.43,4.50,4.35,4.61,4.55,4.45,
-4.64,4.49,4.44,4.55,4.57,4.51,4.71,4.52,4.65,4.68,
-0.75,0.81,0.79,0.84,0.89,0.90,0.94,0.92,1.04,1.03,
-1.05,1.05,1.07,1.12,1.14,1.19,1.21,1.22,1.27,1.26,
-1.31,1.30,1.34,1.34,1.35,1.41,1.44,1.37,1.43,1.45,
-1.51,1.48,1.49,1.55,1.56,1.60,1.58,1.63,1.58,1.60,
-1.67,1.64,1.68,1.72,1.74,1.69,1.75,1.80,1.77,1.76,
-1.84,1.77,1.84,1.84,1.89,1.82,1.89,1.90,1.94,1.89,
-2.03,1.98,1.97,2.00,2.01,1.98,2.00,1.97,2.12,1.98,
-2.09,2.14,2.15,2.15,2.16,2.14,2.18,2.11,2.09,2.27,
-2.28,2.19,2.33,2.15,2.25,2.20,2.24,2.20,2.38,2.28,
-2.24,2.33,2.43,2.32,2.42,2.36,2.37,2.40,2.43,2.38,
-2.48,2.43,2.45,2.46,2.52,2.59,2.63,2.61,2.55,2.63,
-2.53,2.47,2.50,2.57,2.56,2.59,2.66,2.66,2.58,2.66,
-2.69,2.68,2.71,2.62,2.72,2.73,2.70,2.74,2.74,2.74,
-2.74,2.75,2.83,2.73,2.83,2.78,2.86,2.66,2.83,2.85,
-2.80,2.86,2.78,2.80,2.96,2.89,2.93,2.88,2.88,2.86,
-2.89,2.92,3.06,3.04,3.01,3.01,2.99,2.99,3.06,3.09,
-3.02,2.99,2.96,3.11,3.08,2.95,3.03,3.08,3.09,3.10,
-3.19,3.09,3.23,3.17,3.29,3.14,3.32,3.25,3.22,3.15,
-3.25,3.16,3.33,3.36,3.28,3.45,3.21,3.30,3.29,3.25,
-3.19,3.41,3.20,3.37,3.42,3.36,3.50,3.27,3.37,3.39,
-3.36,3.45,3.31,3.45,3.43,3.46,3.43,3.62,3.41,3.34,
-3.41,3.50,3.50,3.46,3.56,3.40,3.45,3.40,3.56,3.57,
-3.55,3.48,3.45,3.46,3.51,3.68,3.73,3.67,3.66,3.59,
-3.66,3.64,3.70,3.65,3.49,3.67,3.67,3.66,3.65,3.62,
-3.72,3.60,3.60,3.75,3.68,3.74,3.81,3.68,3.73,3.80,
-3.76,3.70,3.92,3.81,3.72,3.73,3.79,3.79,3.82,3.94,
-3.93,3.70,3.71,3.83,3.85,3.83,3.93,3.96,3.91,3.91,
-4.00,3.82,3.85,3.87,3.85,3.91,3.97,3.91,3.72,4.02,
-4.02,3.98,4.00,3.97,4.05,3.94,4.12,3.72,4.19,3.95,
-0.64,0.70,0.71,0.73,0.80,0.80,0.81,0.85,0.87,0.90,
-0.93,0.98,0.97,1.00,0.98,1.00,1.05,1.07,1.06,1.09,
-1.14,1.09,1.17,1.15,1.18,1.19,1.22,1.27,1.26,1.30,
-1.28,1.28,1.29,1.37,1.29,1.33,1.41,1.41,1.39,1.40,
-1.39,1.43,1.46,1.50,1.43,1.52,1.46,1.48,1.55,1.54,
-1.58,1.56,1.53,1.59,1.65,1.61,1.70,1.65,1.64,1.68,
-1.69,1.72,1.62,1.81,1.68,1.78,1.71,1.86,1.76,1.84,
-1.84,1.85,1.94,1.85,1.89,1.82,1.88,1.97,1.93,1.90,
-1.89,1.94,2.00,1.99,1.93,2.03,1.99,2.03,1.91,2.11,
-2.02,2.04,2.02,2.04,2.06,2.12,2.06,2.06,2.05,2.09,
-2.13,2.12,2.21,2.17,2.10,2.14,2.19,2.19,2.20,2.20,
-2.18,2.25,2.16,2.24,2.28,2.31,2.22,2.30,2.20,2.24,
-2.30,2.34,2.30,2.40,2.41,2.46,2.34,2.35,2.38,2.27,
-2.38,2.42,2.37,2.39,2.49,2.46,2.35,2.60,2.39,2.45,
-2.56,2.58,2.50,2.47,2.52,2.45,2.55,2.45,2.58,2.62,
-2.71,2.62,2.48,2.67,2.58,2.64,2.57,2.64,2.70,2.72,
-2.68,2.57,2.65,2.68,2.77,2.72,2.70,2.67,2.62,2.69,
-2.71,2.73,2.71,2.75,2.76,2.78,2.68,2.66,2.80,2.81,
-2.83,2.81,2.94,2.75,2.80,2.73,2.87,2.89,2.84,2.85,
-2.98,2.87,2.81,2.91,3.06,2.99,2.94,3.02,2.84,2.89,
-2.95,2.89,2.96,2.97,2.98,2.99,2.99,2.87,2.97,2.99,
-2.99,2.97,3.13,2.95,3.05,3.13,3.04,3.05,3.09,3.01,
-3.00,3.07,2.95,3.09,3.11,3.13,3.17,3.18,3.23,3.05,
-3.12,3.11,3.12,3.13,3.07,3.10,3.34,3.20,3.24,3.17,
-3.20,3.33,3.22,3.28,3.30,3.21,3.25,3.30,3.31,3.40,
-3.24,3.26,3.32,3.42,3.50,3.21,3.38,3.28,3.18,3.33,
-3.28,3.29,3.28,3.30,3.52,3.26,3.33,3.47,3.38,3.36,
-3.29,3.49,3.36,3.26,3.32,3.49,3.47,3.43,3.37,3.45,
-3.51,3.38,3.60,3.51,3.55,3.36,3.59,3.36,3.58,3.59,
-0.57,0.61,0.63,0.63,0.66,0.74,0.74,0.73,0.75,0.79,
-0.79,0.83,0.84,0.84,0.86,0.86,0.92,0.90,0.95,0.93,
-0.98,0.97,0.96,1.05,1.04,1.05,1.10,1.07,1.08,1.13,
-1.11,1.10,1.11,1.16,1.16,1.15,1.23,1.18,1.21,1.29,
-1.25,1.28,1.26,1.24,1.30,1.27,1.29,1.31,1.34,1.33,
-1.36,1.37,1.43,1.39,1.45,1.38,1.42,1.45,1.46,1.49,
-1.41,1.53,1.43,1.54,1.53,1.52,1.52,1.54,1.53,1.73,
-1.54,1.55,1.60,1.59,1.61,1.56,1.62,1.64,1.66,1.67,
-1.59,1.68,1.79,1.69,1.77,1.71,1.69,1.67,1.75,1.75,
-1.74,1.85,1.84,1.85,1.79,1.79,1.77,1.84,1.89,1.83,
-1.85,1.79,1.85,1.91,1.91,1.90,1.84,1.91,1.78,1.93,
-1.98,1.96,1.94,1.97,2.01,1.93,1.92,1.99,1.97,1.97,
-2.00,2.08,2.01,1.98,2.14,2.05,2.02,2.05,2.05,2.03,
-2.09,2.06,2.03,2.11,2.13,2.12,2.09,2.16,2.14,2.18,
-2.21,2.03,2.17,2.18,2.11,2.12,2.15,2.25,2.26,2.18,
-2.17,2.26,2.23,2.22,2.19,2.16,2.23,2.23,2.36,2.17,
-2.32,2.34,2.27,2.31,2.25,2.35,2.37,2.40,2.37,2.29,
-2.31,2.39,2.40,2.32,2.30,2.35,2.40,2.39,2.37,2.42,
-2.37,2.49,2.45,2.40,2.39,2.36,2.43,2.58,2.53,2.43,
-2.49,2.51,2.45,2.47,2.39,2.45,2.62,2.57,2.57,2.69,
-2.49,2.59,2.51,2.48,2.48,2.52,2.47,2.58,2.61,2.59,
-2.49,2.65,2.66,2.63,2.77,2.60,2.62,2.67,2.60,2.63,
-2.70,2.66,2.68,2.68,2.64,2.74,2.70,2.82,2.69,2.76,
-2.74,2.81,2.81,2.77,2.70,2.80,2.75,2.84,2.71,2.77,
-2.94,2.79,2.71,2.95,2.76,2.78,2.80,2.89,2.96,2.85,
-2.85,2.88,2.82,2.90,2.87,2.91,2.87,2.91,2.85,2.88,
-2.90,2.96,2.76,2.86,2.85,2.83,2.86,3.00,3.00,2.89,
-2.96,2.92,2.86,3.00,2.99,2.97,2.89,3.01,2.83,3.03,
-2.91,2.96,3.00,3.01,3.05,2.95,3.02,3.01,3.11,3.00,
-0.50,0.51,0.49,0.55,0.57,0.61,0.61,0.62,0.64,0.63,
-0.67,0.72,0.72,0.77,0.76,0.78,0.79,0.79,0.80,0.81,
-0.84,0.86,0.86,0.87,0.91,0.90,0.92,0.92,0.96,0.95,
-0.95,1.00,1.01,1.01,1.01,1.04,1.10,1.03,1.05,1.09,
-1.07,1.10,1.12,1.11,1.14,1.15,1.14,1.11,1.11,1.18,
-1.19,1.22,1.19,1.18,1.19,1.27,1.22,1.26,1.25,1.25,
-1.26,1.23,1.32,1.26,1.33,1.32,1.35,1.32,1.35,1.39,
-1.35,1.31,1.32,1.40,1.36,1.40,1.40,1.44,1.42,1.44,
-1.46,1.44,1.46,1.49,1.54,1.43,1.43,1.52,1.45,1.51,
-1.52,1.58,1.51,1.52,1.59,1.53,1.57,1.61,1.57,1.59,
-1.61,1.59,1.63,1.65,1.60,1.67,1.58,1.70,1.68,1.71,
-1.69,1.70,1.70,1.65,1.68,1.66,1.68,1.68,1.70,1.71,
-1.68,1.73,1.73,1.77,1.75,1.77,1.75,1.72,1.87,1.78,
-1.81,1.76,1.86,1.76,1.84,1.83,1.83,1.80,1.81,1.90,
-1.74,1.88,1.80,1.86,1.84,1.88,1.90,1.86,1.95,1.98,
-1.91,1.94,1.92,1.87,1.96,2.01,1.98,1.89,1.87,1.91,
-1.90,1.94,2.02,2.01,1.95,2.01,2.01,1.99,2.07,2.02,
-2.05,1.98,2.00,2.16,2.06,2.06,2.05,2.08,2.05,2.08,
-2.14,2.06,2.08,2.15,2.05,2.12,2.10,2.17,2.15,2.19,
-2.13,2.12,2.25,2.16,2.15,2.14,2.05,2.12,2.19,2.16,
-2.18,2.30,2.16,2.28,2.14,2.32,2.33,2.25,2.24,2.27,
-2.27,2.30,2.33,2.33,2.22,2.36,2.22,2.28,2.36,2.30,
-2.40,2.35,2.36,2.34,2.34,2.31,2.26,2.33,2.36,2.37,
-2.43,2.39,2.38,2.39,2.31,2.33,2.33,2.33,2.43,2.35,
-2.30,2.38,2.33,2.37,2.46,2.52,2.43,2.43,2.44,2.54,
-2.40,2.60,2.45,2.43,2.46,2.51,2.38,2.54,2.44,2.51,
-2.55,2.50,2.40,2.54,2.52,2.43,2.50,2.47,2.48,2.55,
-2.49,2.56,2.56,2.61,2.56,2.59,2.60,2.52,2.56,2.63,
-2.56,2.48,2.65,2.63,2.56,2.58,2.63,2.62,2.75,2.68,
-0.41,0.45,0.47,0.48,0.46,0.51,0.52,0.53,0.59,0.56,
-0.59,0.62,0.63,0.68,0.63,0.67,0.70,0.68,0.71,0.72,
-0.74,0.76,0.74,0.74,0.76,0.76,0.80,0.76,0.81,0.78,
-0.80,0.81,0.89,0.86,0.89,0.90,0.85,0.89,0.94,0.97,
-0.96,0.91,0.97,0.93,0.98,0.96,0.96,0.99,0.98,0.99,
-1.03,1.08,1.05,1.04,1.03,1.04,1.06,1.08,1.05,1.16,
-1.13,1.12,1.12,1.09,1.11,1.15,1.19,1.12,1.15,1.13,
-1.18,1.14,1.14,1.21,1.18,1.15,1.25,1.23,1.25,1.25,
-1.25,1.24,1.26,1.34,1.24,1.29,1.27,1.30,1.27,1.30,
-1.39,1.34,1.32,1.32,1.38,1.32,1.35,1.33,1.35,1.36,
-1.39,1.37,1.40,1.33,1.40,1.41,1.34,1.44,1.37,1.45,
-1.38,1.45,1.47,1.44,1.45,1.44,1.50,1.48,1.53,1.48,
-1.48,1.52,1.51,1.43,1.50,1.56,1.56,1.58,1.56,1.47,
-1.56,1.56,1.54,1.55,1.64,1.62,1.55,1.58,1.64,1.63,
-1.58,1.64,1.49,1.62,1.66,1.58,1.62,1.63,1.68,1.62,
-1.63,1.72,1.60,1.73,1.64,1.65,1.75,1.71,1.77,1.76,
-1.74,1.73,1.71,1.79,1.75,1.75,1.70,1.79,1.70,1.81,
-1.80,1.83,1.74,1.77,1.78,1.78,1.75,1.73,1.81,1.87,
-1.76,1.83,1.81,1.75,1.76,1.79,1.86,1.80,1.85,1.85,
-1.83,1.84,1.96,1.87,1.96,1.79,1.90,1.91,1.90,1.91,
-1.86,1.90,1.89,1.85,1.90,1.98,1.90,1.84,1.83,1.91,
-2.01,1.97,1.92,1.99,1.94,1.97,1.97,1.95,2.06,2.04,
-2.01,1.91,2.04,2.02,2.02,2.06,2.00,1.98,1.94,1.98,
-1.96,2.07,2.03,2.05,2.01,2.03,2.02,2.01,2.13,2.08,
-2.02,2.07,2.19,2.07,2.10,2.05,2.11,2.11,2.05,2.13,
-2.13,2.17,2.13,2.14,2.09,2.04,2.06,2.13,2.14,2.13,
-2.11,2.18,2.16,2.25,2.22,2.20,2.14,2.09,2.18,2.23,
-2.16,2.19,2.20,2.24,2.21,2.21,2.19,2.23,2.24,2.22,
-2.24,2.29,2.22,2.23,2.27,2.25,2.23,2.27,2.34,2.28,
-0.37,0.37,0.39,0.40,0.42,0.46,0.45,0.46,0.46,0.51,
-0.51,0.52,0.50,0.53,0.57,0.57,0.59,0.57,0.56,0.64,
-0.64,0.61,0.63,0.67,0.65,0.67,0.69,0.72,0.72,0.69,
-0.72,0.71,0.75,0.75,0.73,0.73,0.76,0.77,0.75,0.82,
-0.79,0.80,0.82,0.84,0.85,0.80,0.84,0.91,0.88,0.89,
-0.91,0.86,0.94,0.91,0.94,0.91,0.94,0.87,0.92,0.94,
-0.95,0.95,1.01,0.97,1.00,0.98,0.95,1.00,1.03,1.04,
-1.02,1.02,1.01,1.00,1.06,0.99,1.01,1.03,1.08,1.10,
-1.09,1.09,1.04,1.06,1.17,1.13,1.08,1.09,1.13,1.10,
-1.14,1.14,1.16,1.08,1.15,1.18,1.18,1.16,1.19,1.22,
-1.20,1.15,1.24,1.17,1.21,1.20,1.19,1.26,1.22,1.24,
-1.26,1.29,1.26,1.28,1.28,1.30,1.22,1.27,1.27,1.30,
-1.31,1.31,1.28,1.27,1.28,1.26,1.32,1.28,1.38,1.33,
-1.35,1.30,1.36,1.39,1.37,1.39,1.41,1.33,1.36,1.41,
-1.34,1.47,1.32,1.37,1.42,1.42,1.42,1.38,1.42,1.37,
-1.44,1.41,1.44,1.43,1.42,1.47,1.40,1.49,1.52,1.47,
-1.48,1.47,1.53,1.46,1.45,1.54,1.48,1.53,1.47,1.42,
-1.47,1.50,1.53,1.48,1.56,1.59,1.49,1.54,1.52,1.55,
-1.60,1.56,1.62,1.52,1.62,1.52,1.58,1.56,1.66,1.64,
-1.55,1.58,1.70,1.58,1.66,1.58,1.63,1.66,1.55,1.63,
-1.59,1.66,1.54,1.63,1.62,1.61,1.60,1.58,1.66,1.72,
-1.60,1.65,1.70,1.69,1.68,1.73,1.68,1.64,1.68,1.64,
-1.72,1.71,1.67,1.71,1.77,1.75,1.73,1.77,1.70,1.77,
-1.73,1.70,1.79,1.78,1.76,1.78,1.79,1.84,1.81,1.76,
-1.80,1.69,1.82,1.70,1.85,1.81,1.76,1.87,1.75,1.83,
-1.84,1.78,1.82,1.79,1.78,1.84,1.81,1.77,1.80,1.86,
-1.87,1.84,1.81,1.92,1.79,1.89,1.83,1.79,1.92,1.86,
-1.93,1.90,1.90,1.84,1.89,1.90,1.88,1.99,1.99,1.89,
-1.85,1.88,1.96,2.00,1.93,1.89,2.01,1.95,1.94,1.86,
-0.29,0.33,0.32,0.37,0.35,0.37,0.38,0.40,0.39,0.45,
-0.43,0.46,0.43,0.48,0.47,0.51,0.51,0.50,0.53,0.51,
-0.54,0.54,0.56,0.57,0.53,0.59,0.58,0.56,0.61,0.59,
-0.61,0.60,0.66,0.63,0.63,0.65,0.64,0.67,0.67,0.67,
-0.70,0.68,0.69,0.72,0.70,0.73,0.73,0.76,0.74,0.74,
-0.75,0.72,0.78,0.78,0.76,0.81,0.79,0.81,0.81,0.82,
-0.84,0.82,0.84,0.82,0.81,0.85,0.83,0.87,0.91,0.86,
-0.86,0.88,0.87,0.87,0.90,0.91,0.91,0.90,0.92,0.93,
-0.88,0.93,0.92,0.96,0.95,0.95,0.93,0.99,0.93,1.00,
-0.96,0.98,0.96,0.95,0.95,0.99,1.01,1.01,1.04,0.97,
-1.04,1.02,1.03,0.99,1.02,1.05,1.07,1.10,1.05,1.08,
-1.04,1.02,1.09,1.15,1.07,1.06,1.07,1.10,1.03,1.08,
-1.11,1.14,1.09,1.09,1.14,1.12,1.16,1.13,1.15,1.14,
-1.16,1.12,1.16,1.14,1.21,1.20,1.21,1.16,1.20,1.14,
-1.24,1.19,1.17,1.21,1.16,1.16,1.21,1.24,1.19,1.26,
-1.21,1.22,1.18,1.28,1.26,1.23,1.24,1.30,1.24,1.26,
-1.29,1.28,1.35,1.19,1.28,1.32,1.25,1.30,1.34,1.29,
-1.32,1.26,1.32,1.30,1.37,1.29,1.26,1.40,1.29,1.38,
-1.31,1.32,1.35,1.34,1.32,1.34,1.35,1.42,1.37,1.46,
-1.36,1.42,1.37,1.39,1.32,1.38,1.41,1.39,1.33,1.41,
-1.44,1.41,1.36,1.48,1.43,1.44,1.36,1.45,1.38,1.43,
-1.42,1.41,1.43,1.48,1.42,1.47,1.40,1.43,1.53,1.47,
-1.45,1.46,1.43,1.40,1.49,1.44,1.54,1.44,1.46,1.47,
-1.50,1.47,1.45,1.53,1.58,1.48,1.52,1.51,1.54,1.55,
-1.53,1.55,1.51,1.55,1.58,1.54,1.55,1.54,1.55,1.61,
-1.58,1.54,1.58,1.57,1.56,1.51,1.53,1.54,1.63,1.58,
-1.59,1.62,1.55,1.68,1.60,1.65,1.66,1.60,1.58,1.61,
-1.57,1.61,1.64,1.60,1.69,1.63,1.61,1.62,1.68,1.60,
-1.62,1.63,1.76,1.65,1.62,1.61,1.65,1.67,1.64,1.68,
-0.25,0.30,0.30,0.31,0.29,0.31,0.32,0.32,0.36,0.36,
-0.37,0.36,0.39,0.39,0.43,0.43,0.43,0.41,0.47,0.41,
-0.42,0.44,0.47,0.46,0.46,0.51,0.46,0.52,0.54,0.54,
-0.52,0.55,0.54,0.57,0.54,0.54,0.57,0.59,0.59,0.58,
-0.59,0.57,0.60,0.61,0.62,0.59,0.61,0.59,0.63,0.66,
-0.65,0.64,0.66,0.66,0.66,0.67,0.68,0.67,0.66,0.73,
-0.68,0.69,0.72,0.69,0.70,0.70,0.72,0.71,0.75,0.76,
-0.72,0.73,0.74,0.79,0.78,0.78,0.78,0.76,0.74,0.79,
-0.81,0.79,0.82,0.81,0.77,0.82,0.86,0.77,0.84,0.82,
-0.81,0.82,0.89,0.86,0.81,0.84,0.83,0.87,0.82,0.88,
-0.88,0.86,0.89,0.92,0.88,0.88,0.92,0.93,0.90,0.92,
-0.88,0.88,0.91,0.93,0.95,0.85,0.95,0.93,0.96,0.97,
-0.92,0.97,0.96,0.94,0.97,0.93,0.95,0.93,0.93,1.00,
-0.96,0.94,1.02,1.02,0.99,0.97,1.00,0.98,1.00,1.02,
-0.99,1.02,1.02,1.03,1.02,1.03,1.07,1.06,1.02,1.07,
-1.10,1.04,1.06,1.08,1.07,1.06,1.07,1.08,1.08,1.06,
-1.10,1.11,1.12,1.09,1.09,1.07,1.11,1.16,1.06,1.09,
-1.16,1.08,1.08,1.10,1.19,1.13,1.15,1.15,1.11,1.13,
-1.12,1.10,1.18,1.18,1.16,1.14,1.13,1.18,1.17,1.20,
-1.14,1.20,1.15,1.16,1.23,1.17,1.17,1.23,1.21,1.22,
-1.20,1.18,1.26,1.21,1.24,1.23,1.22,1.22,1.25,1.26,
-1.16,1.24,1.25,1.22,1.32,1.28,1.26,1.24,1.26,1.24,
-1.20,1.24,1.28,1.27,1.28,1.25,1.32,1.29,1.27,1.31,
-1.31,1.29,1.30,1.29,1.33,1.32,1.32,1.30,1.31,1.31,
-1.36,1.35,1.33,1.33,1.35,1.38,1.32,1.26,1.29,1.34,
-1.32,1.36,1.34,1.33,1.31,1.31,1.35,1.35,1.37,1.35,
-1.36,1.43,1.34,1.32,1.37,1.34,1.38,1.30,1.37,1.40,
-1.43,1.39,1.41,1.40,1.42,1.38,1.41,1.38,1.38,1.43,
-1.41,1.40,1.36,1.39,1.42,1.39,1.45,1.43,1.40,1.50,
-0.22,0.25,0.23,0.24,0.27,0.28,0.31,0.31,0.27,0.30,
-0.30,0.33,0.30,0.34,0.38,0.37,0.38,0.36,0.39,0.39,
-0.40,0.41,0.44,0.40,0.41,0.42,0.43,0.42,0.48,0.43,
-0.46,0.44,0.48,0.48,0.46,0.46,0.48,0.48,0.49,0.47,
-0.49,0.53,0.49,0.52,0.49,0.52,0.53,0.54,0.56,0.54,
-0.53,0.57,0.58,0.55,0.53,0.61,0.60,0.58,0.57,0.60,
-0.62,0.60,0.57,0.60,0.58,0.61,0.64,0.64,0.65,0.61,
-0.66,0.63,0.62,0.64,0.64,0.63,0.65,0.67,0.66,0.68,
-0.67,0.72,0.64,0.70,0.71,0.67,0.74,0.68,0.70,0.69,
-0.71,0.75,0.71,0.70,0.71,0.75,0.73,0.75,0.79,0.74,
-0.75,0.75,0.78,0.77,0.73,0.75,0.77,0.76,0.77,0.76,
-0.78,0.81,0.79,0.81,0.79,0.77,0.81,0.78,0.83,0.80,
-0.86,0.82,0.83,0.83,0.84,0.83,0.82,0.86,0.86,0.86,
-0.86,0.85,0.87,0.84,0.82,0.86,0.92,0.84,0.90,0.84,
-0.90,0.88,0.88,0.87,0.87,0.87,0.90,0.85,0.90,0.93,
-0.88,0.89,0.90,0.87,0.92,0.93,0.91,0.90,0.89,0.97,
-0.97,0.91,0.93,0.96,0.92,0.96,0.97,0.91,0.91,0.95,
-0.98,0.97,0.96,0.95,0.94,1.00,0.94,0.95,0.98,0.96,
-1.03,0.98,0.93,1.03,1.00,0.97,0.96,1.02,1.02,1.00,
-1.00,1.03,0.98,1.01,1.03,1.00,1.05,1.05,0.96,1.04,
-1.03,1.02,1.05,1.06,1.06,1.03,1.07,1.06,1.02,1.07,
-1.03,1.06,1.06,1.03,1.06,1.10,1.09,1.06,1.05,1.04,
-1.05,1.09,1.06,1.08,1.11,1.05,1.19,1.09,1.10,1.10,
-1.14,1.04,1.14,1.09,1.11,1.13,1.10,1.14,1.11,1.10,
-1.12,1.17,1.11,1.13,1.13,1.12,1.13,1.17,1.15,1.20,
-1.13,1.10,1.17,1.12,1.18,1.19,1.13,1.22,1.17,1.14,
-1.12,1.15,1.15,1.14,1.16,1.15,1.15,1.18,1.16,1.24,
-1.18,1.15,1.17,1.15,1.24,1.24,1.21,1.23,1.19,1.19,
-1.18,1.20,1.26,1.21,1.23,1.22,1.24,1.20,1.24,1.19,
-0.20,0.19,0.24,0.21,0.24,0.23,0.25,0.21,0.21,0.28,
-0.28,0.30,0.29,0.31,0.28,0.33,0.29,0.34,0.33,0.36,
-0.35,0.34,0.35,0.33,0.35,0.39,0.38,0.35,0.37,0.37,
-0.39,0.41,0.38,0.41,0.38,0.42,0.41,0.40,0.40,0.41,
-0.42,0.44,0.43,0.44,0.44,0.46,0.45,0.47,0.49,0.46,
-0.45,0.49,0.48,0.46,0.49,0.50,0.49,0.47,0.52,0.53,
-0.50,0.52,0.53,0.51,0.52,0.54,0.52,0.52,0.53,0.54,
-0.53,0.55,0.57,0.59,0.55,0.55,0.56,0.59,0.57,0.59,
-0.54,0.58,0.56,0.61,0.57,0.61,0.62,0.58,0.58,0.62,
-0.61,0.61,0.63,0.63,0.68,0.62,0.63,0.64,0.64,0.68,
-0.61,0.63,0.64,0.65,0.63,0.65,0.65,0.65,0.68,0.69,
-0.63,0.68,0.64,0.68,0.65,0.66,0.68,0.66,0.69,0.66,
-0.65,0.70,0.69,0.69,0.72,0.69,0.74,0.74,0.74,0.69,
-0.70,0.74,0.71,0.69,0.71,0.71,0.74,0.75,0.76,0.75,
-0.72,0.77,0.76,0.74,0.74,0.78,0.74,0.76,0.79,0.79,
-0.78,0.78,0.73,0.72,0.80,0.78,0.76,0.79,0.80,0.80,
-0.80,0.78,0.80,0.80,0.81,0.76,0.79,0.80,0.79,0.83,
-0.84,0.83,0.83,0.83,0.83,0.80,0.84,0.86,0.81,0.84,
-0.87,0.83,0.84,0.83,0.85,0.86,0.84,0.85,0.92,0.85,
-0.83,0.86,0.84,0.85,0.86,0.89,0.89,0.88,0.88,0.87,
-0.84,0.87,0.92,0.89,0.88,0.92,0.95,0.91,0.89,0.92,
-0.89,0.96,0.87,0.95,0.97,0.87,0.90,0.92,0.90,0.92,
-0.93,0.92,0.94,0.91,0.93,0.90,0.91,0.88,0.96,0.91,
-0.95,0.95,0.89,0.94,0.97,0.96,0.94,0.91,0.96,0.95,
-0.90,0.94,0.97,0.97,1.00,0.94,0.99,0.96,1.01,0.94,
-0.97,0.99,1.03,1.02,0.95,1.02,1.01,0.94,0.98,0.96,
-1.00,1.01,0.99,1.00,1.03,1.02,1.02,0.98,1.01,0.98,
-0.99,1.02,1.03,1.07,1.05,1.02,1.04,1.03,1.08,1.00,
-1.02,1.07,1.07,1.05,1.03,1.06,1.04,1.05,1.05,1.05,
-0.18,0.16,0.18,0.15,0.19,0.18,0.21,0.20,0.22,0.22,
-0.24,0.23,0.26,0.26,0.24,0.26,0.25,0.27,0.26,0.28,
-0.26,0.27,0.30,0.30,0.29,0.28,0.31,0.32,0.35,0.35,
-0.32,0.35,0.32,0.34,0.33,0.33,0.35,0.39,0.37,0.38,
-0.37,0.37,0.33,0.37,0.35,0.34,0.38,0.40,0.40,0.38,
-0.40,0.39,0.42,0.41,0.44,0.41,0.44,0.42,0.42,0.46,
-0.41,0.46,0.46,0.45,0.45,0.44,0.47,0.48,0.47,0.46,
-0.47,0.46,0.47,0.47,0.46,0.50,0.47,0.48,0.51,0.51,
-0.56,0.48,0.50,0.51,0.50,0.53,0.49,0.48,0.52,0.53,
-0.52,0.53,0.52,0.53,0.51,0.55,0.54,0.51,0.58,0.54,
-0.54,0.56,0.56,0.55,0.57,0.59,0.56,0.55,0.55,0.56,
-0.56,0.56,0.56,0.58,0.59,0.58,0.58,0.58,0.57,0.62,
-0.61,0.61,0.60,0.57,0.58,0.61,0.61,0.61,0.61,0.61,
-0.60,0.67,0.59,0.64,0.60,0.62,0.61,0.65,0.62,0.61,
-0.64,0.67,0.66,0.66,0.64,0.63,0.63,0.68,0.66,0.68,
-0.66,0.68,0.62,0.71,0.68,0.65,0.70,0.66,0.70,0.69,
-0.71,0.71,0.72,0.66,0.68,0.66,0.67,0.70,0.71,0.74,
-0.68,0.71,0.72,0.69,0.68,0.69,0.69,0.70,0.70,0.74,
-0.69,0.73,0.75,0.74,0.71,0.72,0.73,0.74,0.77,0.76,
-0.73,0.75,0.75,0.73,0.77,0.73,0.75,0.71,0.76,0.77,
-0.77,0.75,0.79,0.77,0.78,0.74,0.75,0.75,0.81,0.75,
-0.79,0.81,0.77,0.77,0.79,0.75,0.84,0.82,0.79,0.79,
-0.77,0.75,0.79,0.79,0.75,0.81,0.81,0.78,0.83,0.79,
-0.80,0.85,0.84,0.80,0.83,0.78,0.84,0.82,0.84,0.80,
-0.86,0.84,0.83,0.86,0.81,0.84,0.84,0.81,0.82,0.85,
-0.84,0.83,0.86,0.88,0.84,0.85,0.82,0.84,0.84,0.85,
-0.85,0.88,0.88,0.91,0.86,0.86,0.86,0.87,0.87,0.92,
-0.88,0.91,0.86,0.83,0.87,0.87,0.91,0.89,0.89,0.89,
-0.87,0.89,0.85,0.90,0.96,0.90,0.90,0.88,0.91,0.88,
-0.11,0.15,0.16,0.17,0.15,0.16,0.16,0.20,0.20,0.17,
-0.21,0.19,0.21,0.23,0.24,0.18,0.24,0.23,0.24,0.23,
-0.24,0.26,0.27,0.28,0.26,0.26,0.28,0.29,0.24,0.29,
-0.30,0.28,0.29,0.27,0.29,0.29,0.31,0.30,0.31,0.29,
-0.32,0.33,0.31,0.32,0.34,0.30,0.33,0.33,0.33,0.32,
-0.34,0.33,0.35,0.36,0.36,0.33,0.36,0.37,0.40,0.36,
-0.35,0.37,0.42,0.39,0.39,0.39,0.42,0.39,0.40,0.41,
-0.38,0.38,0.39,0.41,0.43,0.39,0.41,0.40,0.40,0.41,
-0.45,0.41,0.43,0.43,0.42,0.44,0.43,0.40,0.43,0.46,
-0.43,0.45,0.42,0.46,0.46,0.44,0.49,0.48,0.46,0.48,
-0.48,0.49,0.46,0.51,0.50,0.47,0.47,0.48,0.47,0.49,
-0.49,0.46,0.46,0.48,0.49,0.53,0.52,0.48,0.51,0.49,
-0.48,0.49,0.49,0.52,0.51,0.52,0.53,0.56,0.51,0.54,
-0.53,0.51,0.53,0.53,0.54,0.53,0.55,0.54,0.56,0.57,
-0.58,0.53,0.57,0.54,0.51,0.54,0.57,0.56,0.59,0.56,
-0.56,0.57,0.54,0.56,0.62,0.59,0.57,0.62,0.58,0.58,
-0.59,0.59,0.60,0.58,0.58,0.59,0.57,0.57,0.58,0.60,
-0.57,0.58,0.62,0.60,0.60,0.60,0.63,0.58,0.62,0.65,
-0.58,0.60,0.59,0.67,0.65,0.61,0.60,0.65,0.66,0.64,
-0.61,0.66,0.62,0.65,0.68,0.65,0.60,0.64,0.61,0.66,
-0.63,0.64,0.64,0.67,0.66,0.62,0.66,0.66,0.68,0.65,
-0.67,0.69,0.66,0.66,0.66,0.71,0.66,0.70,0.67,0.70,
-0.68,0.65,0.70,0.71,0.69,0.66,0.71,0.66,0.72,0.70,
-0.68,0.65,0.68,0.65,0.69,0.70,0.70,0.65,0.65,0.71,
-0.70,0.70,0.71,0.72,0.75,0.71,0.69,0.71,0.73,0.72,
-0.70,0.72,0.73,0.70,0.75,0.69,0.73,0.71,0.75,0.73,
-0.73,0.70,0.73,0.74,0.70,0.72,0.75,0.73,0.74,0.73,
-0.73,0.75,0.76,0.81,0.77,0.76,0.71,0.79,0.73,0.76,
-0.74,0.77,0.75,0.79,0.75,0.76,0.79,0.75,0.75,0.79,
-0.11,0.11,0.11,0.13,0.15,0.16,0.16,0.16,0.16,0.19,
-0.19,0.19,0.18,0.15,0.18,0.21,0.18,0.20,0.22,0.21,
-0.20,0.22,0.19,0.21,0.21,0.22,0.26,0.23,0.24,0.23,
-0.25,0.25,0.26,0.25,0.25,0.25,0.25,0.25,0.26,0.28,
-0.24,0.25,0.29,0.25,0.27,0.30,0.29,0.29,0.27,0.29,
-0.30,0.31,0.30,0.31,0.30,0.28,0.28,0.33,0.30,0.30,
-0.32,0.32,0.33,0.30,0.35,0.32,0.31,0.33,0.30,0.37,
-0.37,0.31,0.32,0.36,0.34,0.36,0.30,0.32,0.36,0.34,
-0.37,0.38,0.36,0.36,0.38,0.39,0.38,0.36,0.38,0.39,
-0.37,0.42,0.39,0.36,0.39,0.37,0.37,0.36,0.40,0.40,
-0.38,0.38,0.43,0.40,0.39,0.41,0.40,0.42,0.41,0.38,
-0.43,0.39,0.45,0.44,0.44,0.42,0.43,0.44,0.46,0.42,
-0.43,0.46,0.42,0.47,0.43,0.44,0.43,0.45,0.42,0.46,
-0.47,0.46,0.47,0.48,0.46,0.44,0.50,0.45,0.47,0.48,
-0.43,0.45,0.44,0.46,0.48,0.48,0.47,0.50,0.48,0.47,
-0.50,0.52,0.50,0.51,0.48,0.50,0.50,0.52,0.54,0.47,
-0.48,0.50,0.52,0.50,0.52,0.49,0.49,0.49,0.52,0.49,
-0.49,0.49,0.52,0.53,0.50,0.54,0.52,0.53,0.54,0.52,
-0.50,0.52,0.51,0.52,0.53,0.55,0.54,0.56,0.54,0.54,
-0.51,0.53,0.56,0.58,0.59,0.57,0.56,0.53,0.57,0.55,
-0.55,0.55,0.58,0.59,0.53,0.57,0.55,0.57,0.58,0.55,
-0.57,0.58,0.61,0.57,0.54,0.58,0.60,0.56,0.60,0.54,
-0.57,0.58,0.60,0.63,0.58,0.59,0.56,0.56,0.60,0.58,
-0.59,0.61,0.56,0.61,0.61,0.59,0.61,0.61,0.60,0.64,
-0.55,0.61,0.60,0.61,0.61,0.58,0.63,0.59,0.57,0.61,
-0.63,0.60,0.63,0.61,0.60,0.61,0.61,0.62,0.66,0.64,
-0.66,0.63,0.62,0.63,0.62,0.63,0.59,0.64,0.63,0.62,
-0.67,0.64,0.60,0.63,0.67,0.62,0.66,0.67,0.63,0.64,
-0.66,0.65,0.63,0.66,0.64,0.66,0.67,0.66,0.65,0.69,
-1.02,1.06,1.08,1.15,1.23,1.24,1.24,1.32,1.31,1.36,
-1.45,1.41,1.51,1.56,1.62,1.59,1.64,1.72,1.69,1.73,
-1.74,1.71,1.75,1.81,1.90,1.81,1.91,1.95,1.97,1.97,
-1.99,2.02,2.01,2.07,2.05,2.11,2.06,2.21,2.18,2.15,
-2.33,2.21,2.19,2.23,2.32,2.43,2.34,2.42,2.46,2.53,
-2.46,2.51,2.44,2.52,2.52,2.57,2.46,2.52,2.68,2.65,
-2.64,2.56,2.72,2.75,2.69,2.69,2.78,2.75,2.80,2.74,
-2.89,2.66,2.81,2.89,2.83,2.85,2.92,2.94,2.99,2.95,
-3.03,2.99,2.98,3.01,3.08,3.04,3.13,3.16,3.15,3.12,
-3.16,3.09,3.25,3.12,3.30,3.10,3.15,3.24,3.30,3.36,
-3.41,3.28,3.28,3.48,3.29,3.35,3.38,3.52,3.29,3.36,
-3.41,3.42,3.55,3.41,3.45,3.37,3.56,3.71,3.54,3.49,
-3.45,3.48,3.72,3.57,3.65,3.49,3.62,3.68,3.57,3.68,
-3.64,3.83,3.80,3.76,3.71,3.75,3.79,3.80,3.99,3.78,
-3.84,3.77,3.83,3.72,3.95,3.89,3.97,3.92,3.93,4.19,
-4.04,3.95,4.09,4.11,3.98,3.99,4.05,3.97,4.11,4.07,
-4.09,3.99,4.02,4.10,4.15,4.34,4.10,4.35,4.13,4.25,
-4.35,4.23,4.14,4.18,4.46,4.24,4.27,4.46,4.12,4.48,
-4.32,4.44,4.15,4.33,4.31,4.25,4.44,4.32,4.42,4.46,
-4.34,4.25,4.32,4.44,4.47,4.38,4.41,4.60,4.50,4.48,
-4.43,4.66,4.48,4.67,4.51,4.59,4.63,4.76,4.66,4.57,
-4.76,4.78,4.77,4.62,4.75,4.97,4.85,4.75,4.55,4.66,
-4.85,4.77,4.60,4.64,4.65,4.85,4.80,4.79,4.77,4.85,
-4.82,4.83,4.80,4.96,4.83,5.06,4.93,4.85,5.08,4.81,
-4.95,4.90,4.97,4.99,4.88,4.91,5.12,5.11,5.11,5.02,
-5.20,5.02,5.08,4.91,4.98,5.18,5.15,5.07,5.16,5.17,
-5.06,5.17,5.23,5.33,5.24,5.06,5.31,5.06,5.29,5.37,
-5.14,5.46,5.14,5.39,5.23,5.35,5.60,5.28,5.41,5.35,
-5.37,5.40,5.29,5.49,5.57,5.19,5.48,5.47,5.24,5.65,
-0.90,0.88,0.93,1.01,1.05,1.10,1.14,1.22,1.15,1.22,
-1.25,1.26,1.34,1.38,1.39,1.41,1.47,1.50,1.51,1.48,
-1.61,1.59,1.59,1.59,1.62,1.68,1.67,1.79,1.72,1.77,
-1.83,1.75,1.79,1.91,1.81,1.93,1.90,1.96,1.90,1.95,
-2.02,2.05,1.99,2.05,2.03,2.15,2.17,2.15,2.13,2.20,
-2.12,2.18,2.23,2.20,2.17,2.22,2.32,2.29,2.22,2.33,
-2.31,2.39,2.47,2.33,2.44,2.40,2.36,2.45,2.59,2.58,
-2.49,2.52,2.49,2.50,2.60,2.67,2.61,2.68,2.56,2.61,
-2.61,2.74,2.73,2.80,2.68,2.67,2.81,2.68,2.86,2.64,
-2.81,2.93,2.83,2.89,2.87,2.90,2.89,2.84,2.94,2.81,
-2.95,2.99,2.78,3.04,2.95,2.97,3.04,2.94,3.06,3.18,
-3.21,3.14,3.01,3.09,3.20,3.07,3.12,3.07,3.21,3.26,
-3.21,3.21,3.12,3.31,3.16,3.28,3.26,3.34,3.39,3.35,
-3.37,3.40,3.41,3.30,3.36,3.41,3.35,3.38,3.39,3.43,
-3.41,3.39,3.56,3.49,3.45,3.48,3.61,3.28,3.39,3.43,
-3.50,3.44,3.55,3.43,3.55,3.66,3.56,3.60,3.81,3.66,
-3.69,3.70,3.52,3.55,3.61,3.83,3.55,3.72,3.75,3.67,
-3.63,3.89,3.82,3.79,3.70,3.81,3.65,3.88,3.86,3.83,
-3.85,3.79,3.84,3.83,3.72,3.82,4.13,3.87,3.91,3.97,
-4.06,3.91,4.00,3.92,4.07,3.95,4.01,3.92,4.08,3.90,
-4.05,3.98,4.29,4.00,4.08,4.09,4.15,4.01,4.09,4.17,
-4.18,4.16,4.19,4.25,4.21,4.27,4.15,4.26,4.17,4.14,
-4.38,4.36,4.13,4.23,4.22,4.24,4.55,4.27,4.32,4.18,
-4.35,4.33,4.36,4.39,4.35,4.46,4.52,4.35,4.48,4.46,
-4.45,4.64,4.36,4.39,4.40,4.44,4.55,4.34,4.43,4.61,
-4.30,4.50,4.50,4.62,4.54,4.34,4.67,4.48,4.75,4.48,
-4.68,4.75,4.54,4.64,4.61,4.56,4.68,4.56,4.49,4.74,
-4.67,4.68,4.66,4.60,4.48,4.62,4.74,4.85,4.68,4.74,
-4.57,4.61,4.73,4.71,4.79,4.66,4.79,4.71,4.70,4.74,
-0.80,0.85,0.84,0.91,0.92,0.96,0.97,1.02,1.11,1.06,
-1.16,1.10,1.18,1.13,1.22,1.28,1.24,1.27,1.30,1.34,
-1.36,1.38,1.38,1.43,1.41,1.43,1.50,1.53,1.49,1.55,
-1.56,1.57,1.68,1.64,1.64,1.62,1.67,1.68,1.74,1.68,
-1.77,1.81,1.74,1.83,1.78,1.75,1.83,1.87,1.90,1.89,
-1.94,1.95,1.90,1.95,1.98,2.00,2.02,2.01,2.01,2.11,
-2.12,2.10,2.07,2.18,2.12,2.22,2.21,2.21,2.25,2.15,
-2.16,2.20,2.22,2.31,2.27,2.25,2.34,2.21,2.35,2.40,
-2.30,2.31,2.47,2.35,2.43,2.42,2.40,2.45,2.60,2.47,
-2.51,2.38,2.46,2.46,2.41,2.54,2.58,2.48,2.55,2.58,
-2.56,2.62,2.62,2.58,2.64,2.58,2.67,2.79,2.71,2.75,
-2.78,2.76,2.70,2.68,2.76,2.63,2.64,2.73,2.66,2.77,
-2.72,2.77,2.83,2.82,2.85,2.88,2.88,2.94,2.89,2.99,
-2.84,2.91,2.93,2.93,2.92,3.06,2.91,2.99,2.96,3.02,
-3.03,3.05,3.01,3.17,3.10,2.99,3.03,3.15,3.09,3.16,
-3.11,3.18,3.06,3.10,3.37,3.27,3.30,3.18,3.18,3.20,
-3.28,3.18,3.17,3.31,3.41,3.28,3.24,3.30,3.20,3.33,
-3.20,3.33,3.15,3.34,3.45,3.35,3.29,3.32,3.38,3.64,
-3.44,3.40,3.43,3.36,3.42,3.43,3.53,3.38,3.37,3.53,
-3.56,3.52,3.52,3.52,3.60,3.61,3.60,3.53,3.51,3.56,
-3.49,3.59,3.51,3.58,3.58,3.62,3.47,3.53,3.56,3.67,
-3.66,3.75,3.55,3.61,3.59,3.74,3.74,3.78,3.80,3.72,
-3.68,3.83,3.88,3.81,3.72,3.71,3.83,3.61,3.92,3.78,
-3.81,3.67,3.81,3.88,3.84,3.92,3.95,3.92,3.85,3.93,
-3.78,3.93,3.91,3.89,4.00,4.10,3.91,3.91,3.99,3.86,
-3.99,3.93,4.02,4.01,3.98,4.02,3.97,4.00,3.94,3.93,
-4.01,3.97,4.04,4.30,4.04,4.03,4.12,4.01,4.32,4.31,
-4.12,4.15,4.25,4.22,4.03,3.98,4.13,4.19,4.25,4.05,
-4.20,4.31,4.22,4.29,4.17,4.13,4.22,4.22,4.27,4.40,
-0.71,0.74,0.77,0.82,0.85,0.88,0.88,0.91,0.92,0.95,
-0.97,0.96,1.04,0.99,1.05,1.09,1.08,1.15,1.15,1.18,
-1.21,1.20,1.26,1.26,1.29,1.28,1.34,1.33,1.32,1.37,
-1.31,1.44,1.39,1.43,1.45,1.45,1.48,1.46,1.52,1.53,
-1.52,1.51,1.54,1.65,1.63,1.54,1.66,1.71,1.64,1.77,
-1.70,1.68,1.67,1.72,1.70,1.79,1.86,1.78,1.78,1.84,
-1.86,1.82,1.80,1.84,1.85,1.85,1.90,1.90,1.90,1.86,
-1.90,1.98,1.96,1.99,1.93,1.91,2.04,2.05,2.01,2.02,
-2.09,2.03,2.07,2.10,2.16,2.02,2.14,2.09,2.09,2.13,
-2.22,2.16,2.16,2.16,2.22,2.29,2.21,2.34,2.32,2.13,
-2.24,2.31,2.31,2.32,2.33,2.31,2.35,2.41,2.37,2.35,
-2.39,2.48,2.38,2.38,2.43,2.41,2.35,2.48,2.46,2.45,
-2.42,2.56,2.40,2.40,2.52,2.61,2.45,2.52,2.47,2.65,
-2.47,2.57,2.60,2.57,2.57,2.62,2.66,2.71,2.65,2.67,
-2.65,2.76,2.78,2.62,2.65,2.70,2.74,2.71,2.73,2.80,
-2.76,2.62,2.83,2.78,2.75,2.83,2.79,2.72,2.80,2.71,
-2.82,2.83,2.83,3.00,2.85,2.86,2.88,2.97,2.90,2.92,
-2.89,3.04,2.97,2.99,2.81,2.83,2.92,3.04,2.97,2.96,
-3.06,3.02,2.92,2.99,3.22,3.06,3.06,3.01,3.10,3.01,
-3.12,3.21,3.15,3.02,2.98,3.18,3.10,3.05,3.01,3.16,
-3.19,3.18,3.15,3.16,3.29,3.25,3.06,3.16,3.25,3.13,
-3.29,3.14,3.12,3.17,3.19,3.30,3.19,3.26,3.19,3.21,
-3.30,3.29,3.24,3.39,3.31,3.55,3.36,3.25,3.36,3.35,
-3.41,3.34,3.34,3.46,3.51,3.42,3.49,3.52,3.38,3.42,
-3.30,3.38,3.44,3.37,3.43,3.63,3.47,3.56,3.66,3.56,
-3.58,3.52,3.60,3.52,3.53,3.51,3.60,3.53,3.57,3.50,
-3.55,3.49,3.49,3.46,3.45,3.51,3.51,3.66,3.64,3.56,
-3.59,3.59,3.57,3.55,3.67,3.58,3.77,3.67,3.56,3.66,
-3.72,3.66,3.66,3.85,3.53,3.82,3.79,3.90,3.82,3.68,
-0.59,0.64,0.69,0.69,0.74,0.74,0.77,0.80,0.80,0.83,
-0.88,0.89,0.89,0.92,0.95,0.97,0.99,1.00,0.98,1.09,
-1.03,1.04,1.05,1.12,1.13,1.09,1.13,1.21,1.23,1.15,
-1.19,1.27,1.22,1.24,1.21,1.27,1.25,1.34,1.29,1.27,
-1.35,1.41,1.39,1.40,1.43,1.33,1.43,1.43,1.45,1.51,
-1.40,1.43,1.44,1.48,1.50,1.55,1.56,1.52,1.55,1.63,
-1.59,1.58,1.63,1.62,1.67,1.59,1.63,1.66,1.69,1.61,
-1.66,1.74,1.67,1.79,1.73,1.71,1.81,1.83,1.79,1.83,
-1.76,1.84,1.73,1.78,1.83,1.89,1.89,1.81,1.85,1.89,
-1.88,1.81,1.89,1.93,1.95,1.91,1.93,1.92,1.97,2.02,
-2.03,2.04,2.00,2.11,2.05,2.04,2.09,2.07,2.05,2.09,
-2.06,2.10,2.17,2.14,2.24,2.14,2.10,2.16,2.11,2.14,
-2.13,2.22,2.20,2.15,2.21,2.27,2.29,2.22,2.26,2.22,
-2.13,2.27,2.24,2.23,2.25,2.31,2.37,2.32,2.33,2.34,
-2.34,2.31,2.31,2.31,2.28,2.41,2.30,2.42,2.44,2.35,
-2.46,2.45,2.43,2.34,2.50,2.52,2.51,2.45,2.47,2.35,
-2.51,2.53,2.48,2.51,2.41,2.61,2.57,2.49,2.56,2.54,
-2.64,2.45,2.60,2.50,2.55,2.56,2.60,2.47,2.65,2.54,
-2.61,2.77,2.66,2.64,2.69,2.72,2.73,2.66,2.76,2.71,
-2.61,2.59,2.63,2.90,2.76,2.66,2.91,2.72,2.68,2.72,
-2.68,2.72,2.73,2.77,2.71,2.80,2.82,2.81,2.84,2.72,
-2.76,2.99,2.88,2.66,2.93,2.86,2.88,2.81,2.94,2.90,
-2.96,2.98,2.91,2.82,3.02,3.00,2.86,2.91,2.86,2.97,
-3.04,2.98,2.87,3.04,3.00,3.03,3.04,3.01,2.97,2.96,
-3.00,3.00,3.02,3.18,2.97,3.00,3.07,2.95,2.95,2.97,
-3.02,3.01,3.12,3.20,3.15,3.02,2.96,3.17,3.12,3.08,
-3.01,3.07,2.91,3.08,3.16,3.21,3.03,3.16,3.19,3.14,
-3.02,3.26,3.25,3.17,3.17,3.24,3.24,3.17,3.33,3.22,
-3.39,3.30,3.27,3.30,3.21,3.22,3.24,3.24,2.99,3.29,
-0.52,0.54,0.59,0.60,0.63,0.66,0.71,0.69,0.71,0.72,
-0.77,0.77,0.74,0.79,0.78,0.83,0.86,0.87,0.83,0.87,
-0.90,0.96,1.00,0.93,0.95,0.95,0.96,1.01,1.00,1.03,
-1.02,1.00,1.01,1.07,1.11,1.12,1.13,1.11,1.15,1.16,
-1.19,1.19,1.20,1.20,1.18,1.21,1.22,1.20,1.24,1.21,
-1.25,1.20,1.26,1.37,1.35,1.36,1.32,1.32,1.40,1.34,
-1.43,1.41,1.41,1.40,1.41,1.46,1.49,1.45,1.43,1.48,
-1.49,1.49,1.50,1.52,1.58,1.49,1.54,1.60,1.54,1.64,
-1.55,1.56,1.57,1.64,1.60,1.64,1.67,1.64,1.62,1.61,
-1.64,1.62,1.67,1.67,1.70,1.62,1.75,1.70,1.64,1.64,
-1.74,1.67,1.75,1.72,1.75,1.80,1.79,1.73,1.80,1.78,
-1.73,1.78,1.85,1.85,1.85,1.84,1.91,1.89,1.87,1.79,
-1.90,1.93,1.85,1.91,1.95,1.95,1.94,1.88,1.98,1.92,
-1.97,2.01,2.05,1.94,1.94,2.05,1.95,2.04,2.07,1.98,
-2.06,1.98,2.07,2.02,2.07,2.02,2.02,2.06,2.12,2.08,
-2.03,2.05,2.11,2.19,2.17,2.13,2.08,2.06,2.19,2.16,
-2.20,2.13,2.16,2.17,2.09,2.17,2.17,2.18,2.13,2.16,
-2.27,2.21,2.20,2.18,2.20,2.22,2.19,2.22,2.26,2.32,
-2.17,2.24,2.21,2.31,2.24,2.39,2.26,2.23,2.42,2.16,
-2.40,2.44,2.24,2.32,2.39,2.46,2.30,2.30,2.40,2.41,
-2.45,2.47,2.43,2.33,2.38,2.42,2.41,2.50,2.43,2.55,
-2.41,2.46,2.45,2.43,2.45,2.55,2.45,2.48,2.43,2.47,
-2.49,2.46,2.57,2.67,2.57,2.58,2.49,2.63,2.65,2.46,
-2.48,2.58,2.38,2.50,2.60,2.63,2.57,2.63,2.64,2.63,
-2.66,2.59,2.81,2.53,2.58,2.64,2.64,2.61,2.68,2.60,
-2.55,2.69,2.60,2.79,2.81,2.67,2.67,2.71,2.76,2.71,
-2.79,2.70,2.64,2.82,2.75,2.60,2.84,2.73,2.84,2.74,
-2.71,2.67,2.80,2.83,2.73,2.89,2.73,2.68,2.80,2.74,
-2.77,2.85,2.82,2.82,2.78,2.92,2.77,2.79,2.96,2.77,
-0.47,0.49,0.50,0.54,0.49,0.56,0.60,0.61,0.62,0.62,
-0.63,0.67,0.68,0.64,0.68,0.70,0.74,0.76,0.81,0.75,
-0.78,0.79,0.80,0.85,0.83,0.85,0.90,0.88,0.88,0.90,
-0.88,0.93,0.97,0.93,0.91,0.96,0.98,1.00,0.98,1.00,
-0.99,1.02,1.05,1.06,1.06,1.08,1.06,1.13,1.14,1.12,
-1.07,1.14,1.15,1.15,1.13,1.21,1.10,1.17,1.22,1.22,
-1.17,1.21,1.24,1.17,1.28,1.26,1.24,1.26,1.29,1.30,
-1.29,1.33,1.27,1.27,1.33,1.28,1.31,1.31,1.33,1.37,
-1.38,1.35,1.39,1.37,1.42,1.33,1.43,1.42,1.41,1.44,
-1.44,1.46,1.47,1.51,1.45,1.48,1.48,1.46,1.52,1.50,
-1.46,1.52,1.46,1.52,1.63,1.49,1.57,1.53,1.55,1.57,
-1.53,1.53,1.52,1.61,1.61,1.55,1.66,1.58,1.68,1.60,
-1.63,1.71,1.68,1.61,1.64,1.65,1.69,1.65,1.70,1.68,
-1.67,1.72,1.74,1.66,1.66,1.75,1.72,1.66,1.80,1.73,
-1.73,1.68,1.77,1.80,1.72,1.71,1.82,1.86,1.75,1.86,
-1.78,1.91,1.77,1.88,1.85,1.81,1.83,1.80,1.82,1.87,
-1.85,1.89,1.90,1.93,1.89,1.93,1.86,1.86,1.96,1.93,
-1.82,1.89,1.89,1.87,2.03,1.91,1.99,1.99,2.01,1.97,
-1.97,1.95,2.02,1.96,1.96,2.03,2.03,2.02,1.99,2.06,
-2.00,2.13,2.08,2.09,2.14,2.05,2.06,2.11,2.12,2.12,
-1.99,2.07,2.11,2.04,2.09,2.03,2.06,2.08,2.11,2.13,
-2.09,2.15,2.12,2.15,2.19,2.14,2.18,2.24,2.07,2.10,
-2.22,2.25,2.24,2.16,2.19,2.24,2.28,2.22,2.21,2.15,
-2.30,2.22,2.18,2.24,2.18,2.29,2.19,2.24,2.29,2.19,
-2.23,2.32,2.30,2.29,2.28,2.31,2.24,2.33,2.25,2.35,
-2.24,2.33,2.35,2.27,2.31,2.34,2.32,2.38,2.40,2.38,
-2.36,2.42,2.38,2.38,2.38,2.33,2.37,2.36,2.44,2.41,
-2.39,2.38,2.31,2.39,2.33,2.53,2.35,2.36,2.47,2.49,
-2.45,2.49,2.47,2.45,2.50,2.48,2.49,2.37,2.46,2.50,
-0.41,0.43,0.44,0.48,0.44,0.50,0.47,0.54,0.54,0.52,
-0.55,0.56,0.60,0.57,0.59,0.60,0.65,0.66,0.68,0.66,
-0.67,0.71,0.69,0.68,0.71,0.76,0.73,0.76,0.74,0.76,
-0.80,0.82,0.82,0.84,0.81,0.81,0.87,0.89,0.88,0.86,
-0.91,0.91,0.91,0.90,0.91,0.88,0.94,0.96,0.95,0.97,
-0.95,0.97,0.99,0.99,1.05,1.01,1.00,1.08,1.06,1.04,
-1.05,1.06,1.04,1.07,1.06,1.04,1.07,1.08,1.03,1.08,
-1.12,1.12,1.16,1.15,1.12,1.16,1.15,1.13,1.14,1.18,
-1.17,1.14,1.20,1.26,1.21,1.21,1.25,1.19,1.29,1.24,
-1.25,1.25,1.26,1.26,1.26,1.28,1.29,1.26,1.31,1.31,
-1.31,1.30,1.28,1.27,1.33,1.29,1.38,1.43,1.31,1.28,
-1.35,1.32,1.33,1.33,1.37,1.36,1.39,1.41,1.36,1.40,
-1.43,1.35,1.39,1.47,1.45,1.42,1.44,1.40,1.43,1.45,
-1.43,1.47,1.48,1.45,1.45,1.57,1.54,1.53,1.53,1.55,
-1.44,1.51,1.50,1.52,1.47,1.52,1.54,1.55,1.50,1.53,
-1.56,1.52,1.57,1.59,1.57,1.60,1.59,1.57,1.64,1.67,
-1.67,1.61,1.61,1.57,1.64,1.65,1.57,1.66,1.67,1.64,
-1.65,1.65,1.70,1.71,1.63,1.70,1.71,1.65,1.65,1.64,
-1.71,1.74,1.74,1.76,1.69,1.74,1.74,1.69,1.74,1.73,
-1.74,1.67,1.74,1.72,1.79,1.80,1.75,1.81,1.82,1.78,
-1.75,1.83,1.80,1.81,1.88,1.86,1.85,1.82,1.88,1.77,
-1.84,1.84,1.84,1.80,1.84,1.91,1.81,1.84,1.86,1.85,
-1.92,1.92,1.89,1.92,1.90,1.86,1.98,1.96,1.85,1.87,
-1.90,2.00,1.95,1.95,1.98,1.92,1.87,1.96,1.93,1.92,
-1.98,1.99,2.05,1.95,1.96,1.97,2.05,1.96,1.98,2.02,
-2.05,2.01,2.01,1.96,1.92,1.98,2.04,2.00,2.03,2.10,
-2.04,1.97,2.04,2.05,2.01,2.06,2.06,2.08,2.06,2.09,
-2.09,2.04,2.13,2.10,1.99,1.99,2.07,2.13,2.10,2.15,
-2.20,2.10,2.13,2.09,2.07,2.05,2.14,2.12,2.21,2.17,
-0.34,0.37,0.37,0.39,0.40,0.43,0.43,0.46,0.46,0.44,
-0.49,0.50,0.52,0.48,0.49,0.55,0.57,0.57,0.57,0.58,
-0.61,0.63,0.61,0.62,0.62,0.66,0.65,0.67,0.65,0.65,
-0.69,0.70,0.70,0.69,0.68,0.73,0.73,0.74,0.76,0.75,
-0.75,0.74,0.81,0.84,0.79,0.82,0.80,0.82,0.82,0.82,
-0.81,0.82,0.81,0.86,0.85,0.86,0.88,0.88,0.89,0.88,
-0.87,0.90,0.87,0.93,0.95,0.90,0.93,0.97,0.93,0.93,
-0.92,0.93,0.98,0.98,0.95,1.00,1.05,0.98,0.99,1.01,
-1.03,1.04,1.08,1.04,1.04,1.05,1.06,1.00,1.10,1.07,
-1.07,1.09,1.12,1.08,1.09,1.11,1.08,1.10,1.14,1.01,
-1.12,1.15,1.20,1.16,1.11,1.16,1.18,1.19,1.18,1.17,
-1.14,1.20,1.20,1.26,1.24,1.21,1.27,1.22,1.26,1.27,
-1.20,1.22,1.24,1.32,1.22,1.24,1.21,1.15,1.24,1.29,
-1.27,1.30,1.26,1.33,1.32,1.31,1.29,1.20,1.31,1.31,
-1.33,1.37,1.35,1.35,1.33,1.31,1.34,1.33,1.38,1.37,
-1.33,1.28,1.35,1.37,1.41,1.39,1.32,1.40,1.33,1.40,
-1.36,1.39,1.45,1.47,1.43,1.45,1.44,1.43,1.41,1.48,
-1.38,1.41,1.48,1.42,1.44,1.53,1.45,1.50,1.50,1.44,
-1.49,1.49,1.51,1.53,1.58,1.55,1.49,1.53,1.48,1.55,
-1.58,1.51,1.53,1.55,1.56,1.50,1.61,1.56,1.53,1.54,
-1.52,1.63,1.60,1.54,1.57,1.62,1.61,1.54,1.53,1.57,
-1.55,1.60,1.65,1.56,1.58,1.52,1.62,1.62,1.59,1.65,
-1.65,1.67,1.61,1.70,1.68,1.70,1.69,1.68,1.61,1.63,
-1.70,1.63,1.64,1.66,1.64,1.80,1.72,1.69,1.70,1.69,
-1.67,1.70,1.75,1.74,1.66,1.64,1.64,1.78,1.72,1.76,
-1.69,1.72,1.81,1.74,1.72,1.68,1.78,1.70,1.82,1.76,
-1.73,1.84,1.79,1.76,1.83,1.74,1.78,1.75,1.69,1.75,
-1.73,1.77,1.83,1.91,1.81,1.91,1.77,1.83,1.79,1.81,
-1.83,1.78,1.76,1.90,1.85,1.88,1.92,1.85,1.83,1.91,
-0.29,0.31,0.34,0.28,0.34,0.37,0.37,0.39,0.38,0.42,
-0.44,0.41,0.42,0.47,0.45,0.48,0.48,0.50,0.51,0.49,
-0.50,0.51,0.53,0.53,0.54,0.56,0.55,0.57,0.59,0.61,
-0.62,0.60,0.60,0.61,0.61,0.66,0.64,0.64,0.66,0.63,
-0.66,0.65,0.67,0.70,0.73,0.72,0.68,0.69,0.68,0.69,
-0.72,0.74,0.73,0.70,0.72,0.74,0.72,0.75,0.75,0.80,
-0.81,0.79,0.79,0.81,0.77,0.80,0.81,0.82,0.82,0.81,
-0.86,0.83,0.90,0.84,0.84,0.84,0.87,0.88,0.91,0.87,
-0.92,0.86,0.92,0.91,0.89,0.87,0.94,0.88,0.95,0.93,
-0.92,0.93,0.99,0.95,0.96,0.95,0.95,0.97,0.94,0.93,
-0.98,1.02,0.97,0.99,1.03,1.01,1.00,1.00,1.03,1.03,
-1.05,1.07,1.02,1.00,1.07,1.03,0.97,1.07,1.03,1.09,
-1.10,1.06,1.07,1.10,1.11,1.09,1.09,1.13,1.03,1.12,
-1.11,1.04,1.10,1.11,1.11,1.14,1.12,1.07,1.09,1.13,
-1.16,1.16,1.15,1.11,1.16,1.21,1.10,1.16,1.21,1.16,
-1.15,1.19,1.21,1.16,1.18,1.26,1.19,1.24,1.15,1.19,
-1.24,1.19,1.25,1.21,1.20,1.28,1.26,1.21,1.23,1.27,
-1.26,1.24,1.19,1.29,1.31,1.27,1.31,1.28,1.28,1.23,
-1.28,1.26,1.19,1.28,1.35,1.33,1.30,1.25,1.30,1.32,
-1.30,1.33,1.29,1.25,1.32,1.30,1.33,1.35,1.38,1.35,
-1.34,1.36,1.38,1.35,1.40,1.38,1.36,1.32,1.41,1.36,
-1.35,1.36,1.37,1.44,1.33,1.35,1.37,1.38,1.42,1.32,
-1.37,1.45,1.44,1.47,1.43,1.38,1.45,1.39,1.41,1.40,
-1.50,1.42,1.50,1.45,1.46,1.42,1.50,1.48,1.50,1.49,
-1.44,1.47,1.51,1.49,1.47,1.48,1.45,1.49,1.48,1.49,
-1.54,1.52,1.51,1.51,1.50,1.49,1.51,1.50,1.48,1.50,
-1.50,1.50,1.53,1.50,1.57,1.51,1.53,1.50,1.51,1.57,
-1.58,1.54,1.57,1.65,1.49,1.60,1.59,1.54,1.53,1.61,
-1.60,1.55,1.59,1.58,1.59,1.59,1.56,1.59,1.61,1.63,
-0.24,0.26,0.30,0.29,0.31,0.31,0.32,0.33,0.34,0.37,
-0.36,0.37,0.38,0.39,0.40,0.42,0.39,0.41,0.42,0.45,
-0.44,0.45,0.44,0.46,0.45,0.50,0.45,0.49,0.49,0.51,
-0.47,0.51,0.52,0.54,0.52,0.53,0.55,0.56,0.56,0.56,
-0.56,0.59,0.56,0.56,0.61,0.57,0.59,0.59,0.60,0.59,
-0.58,0.66,0.67,0.65,0.61,0.65,0.69,0.67,0.68,0.68,
-0.68,0.69,0.68,0.68,0.70,0.69,0.69,0.69,0.71,0.73,
-0.75,0.72,0.73,0.72,0.75,0.75,0.75,0.73,0.73,0.75,
-0.74,0.76,0.77,0.78,0.78,0.72,0.77,0.79,0.79,0.82,
-0.79,0.81,0.84,0.86,0.85,0.89,0.85,0.80,0.84,0.85,
-0.91,0.85,0.85,0.86,0.84,0.82,0.88,0.84,0.85,0.86,
-0.95,0.88,0.85,0.84,0.87,0.93,0.88,0.90,0.93,0.85,
-0.88,0.93,0.98,0.87,0.91,0.95,0.92,1.00,0.91,0.92,
-0.99,0.93,0.90,0.97,0.95,0.99,0.95,0.96,0.99,0.96,
-1.01,0.97,0.99,0.99,1.02,0.98,1.00,1.03,1.00,1.00,
-1.00,1.02,1.05,1.00,1.06,1.04,1.05,1.09,1.03,1.03,
-1.00,1.02,1.04,1.10,1.01,1.07,1.09,1.05,1.08,1.06,
-1.07,1.11,1.06,1.11,1.14,1.09,1.10,1.07,1.10,1.11,
-1.05,1.11,1.12,1.13,1.13,1.07,1.16,1.10,1.14,1.07,
-1.11,1.16,1.15,1.19,1.24,1.14,1.21,1.19,1.14,1.21,
-1.15,1.12,1.20,1.14,1.15,1.16,1.17,1.16,1.20,1.19,
-1.16,1.14,1.20,1.20,1.22,1.24,1.18,1.20,1.24,1.17,
-1.24,1.28,1.24,1.16,1.22,1.24,1.23,1.17,1.23,1.22,
-1.21,1.24,1.18,1.21,1.23,1.27,1.32,1.34,1.26,1.29,
-1.26,1.25,1.29,1.26,1.26,1.24,1.31,1.32,1.33,1.31,
-1.27,1.29,1.33,1.37,1.28,1.31,1.33,1.36,1.29,1.26,
-1.32,1.36,1.32,1.32,1.37,1.34,1.32,1.32,1.39,1.35,
-1.28,1.33,1.38,1.33,1.33,1.34,1.29,1.37,1.41,1.33,
-1.43,1.34,1.41,1.36,1.38,1.40,1.34,1.39,1.38,1.43,
-0.20,0.26,0.27,0.24,0.28,0.27,0.25,0.27,0.31,0.31,
-0.31,0.31,0.34,0.34,0.34,0.34,0.35,0.39,0.39,0.37,
-0.38,0.38,0.40,0.41,0.39,0.42,0.43,0.40,0.44,0.46,
-0.43,0.45,0.45,0.46,0.46,0.48,0.48,0.48,0.50,0.51,
-0.52,0.47,0.48,0.52,0.49,0.50,0.49,0.49,0.53,0.55,
-0.51,0.55,0.57,0.52,0.55,0.57,0.56,0.57,0.55,0.59,
-0.59,0.59,0.56,0.61,0.58,0.59,0.61,0.61,0.58,0.62,
-0.63,0.62,0.65,0.64,0.63,0.63,0.66,0.64,0.65,0.66,
-0.66,0.68,0.64,0.67,0.69,0.69,0.70,0.61,0.69,0.67,
-0.67,0.66,0.71,0.69,0.75,0.71,0.73,0.71,0.72,0.74,
-0.72,0.68,0.74,0.73,0.76,0.73,0.77,0.75,0.75,0.74,
-0.74,0.73,0.77,0.74,0.79,0.81,0.77,0.79,0.75,0.80,
-0.81,0.82,0.77,0.81,0.77,0.83,0.80,0.82,0.83,0.83,
-0.88,0.80,0.84,0.81,0.79,0.80,0.83,0.85,0.89,0.87,
-0.90,0.82,0.83,0.86,0.87,0.90,0.89,0.80,0.90,0.92,
-0.84,0.91,0.83,0.88,0.92,0.83,0.92,0.92,0.93,0.87,
-0.87,0.90,0.87,0.87,0.89,0.94,0.91,0.91,0.87,0.91,
-0.93,0.96,0.91,0.95,0.93,0.95,0.94,0.96,0.95,0.91,
-0.99,0.95,0.97,0.94,0.99,0.96,0.97,1.01,0.97,1.02,
-0.95,0.97,0.98,1.03,0.99,1.01,1.01,0.99,0.99,1.03,
-0.98,0.99,0.99,1.00,0.99,0.97,1.00,1.02,1.02,1.06,
-1.01,1.03,1.01,1.01,1.03,1.02,1.02,1.03,1.01,1.06,
-1.03,1.05,1.06,1.08,1.05,1.08,1.07,1.06,1.04,1.10,
-1.11,1.05,1.09,1.10,1.05,1.07,1.06,1.10,1.08,1.11,
-1.10,1.13,1.10,1.11,1.09,1.10,1.08,1.09,1.11,1.08,
-1.12,1.08,1.15,1.08,1.11,1.11,1.11,1.16,1.12,1.14,
-1.15,1.15,1.14,1.17,1.13,1.21,1.14,1.09,1.16,1.14,
-1.10,1.17,1.15,1.10,1.14,1.18,1.14,1.13,1.22,1.17,
-1.18,1.16,1.26,1.14,1.16,1.19,1.15,1.22,1.20,1.17,
-0.18,0.22,0.21,0.23,0.22,0.25,0.24,0.26,0.23,0.26,
-0.26,0.30,0.29,0.29,0.27,0.29,0.31,0.33,0.32,0.34,
-0.30,0.33,0.34,0.38,0.35,0.35,0.35,0.36,0.41,0.38,
-0.38,0.39,0.37,0.40,0.39,0.40,0.39,0.40,0.41,0.44,
-0.42,0.47,0.43,0.39,0.41,0.44,0.43,0.45,0.45,0.45,
-0.45,0.46,0.47,0.49,0.47,0.48,0.49,0.48,0.52,0.47,
-0.49,0.51,0.52,0.54,0.53,0.51,0.54,0.52,0.52,0.53,
-0.52,0.55,0.49,0.55,0.57,0.53,0.56,0.54,0.53,0.56,
-0.53,0.57,0.56,0.55,0.56,0.56,0.59,0.61,0.58,0.63,
-0.61,0.60,0.61,0.59,0.58,0.61,0.62,0.66,0.63,0.57,
-0.62,0.64,0.63,0.63,0.65,0.63,0.64,0.65,0.67,0.66,
-0.62,0.65,0.66,0.67,0.68,0.67,0.68,0.70,0.71,0.65,
-0.65,0.69,0.70,0.71,0.75,0.69,0.68,0.71,0.71,0.68,
-0.71,0.74,0.72,0.70,0.73,0.69,0.70,0.76,0.73,0.75,
-0.75,0.73,0.74,0.73,0.74,0.74,0.74,0.75,0.76,0.76,
-0.76,0.73,0.73,0.74,0.76,0.78,0.76,0.75,0.80,0.81,
-0.82,0.81,0.78,0.78,0.80,0.79,0.84,0.78,0.76,0.79,
-0.83,0.80,0.79,0.82,0.83,0.82,0.81,0.83,0.79,0.82,
-0.82,0.80,0.85,0.86,0.82,0.82,0.84,0.79,0.88,0.81,
-0.83,0.83,0.81,0.85,0.84,0.84,0.85,0.86,0.85,0.81,
-0.89,0.89,0.88,0.84,0.92,0.87,0.85,0.89,0.89,0.88,
-0.87,0.89,0.94,0.85,0.86,0.85,0.87,0.88,0.87,0.90,
-0.87,0.86,0.92,0.95,0.92,0.94,0.95,0.92,0.92,0.91,
-0.94,0.98,0.93,0.91,0.97,0.93,0.92,0.99,0.94,0.94,
-0.88,0.95,0.96,0.94,0.93,0.96,0.98,0.95,0.97,0.91,
-0.94,0.97,0.97,1.00,0.96,1.03,0.96,0.96,0.96,1.01,
-0.98,0.96,1.03,0.98,0.99,0.97,0.95,0.95,0.99,0.98,
-1.01,0.98,1.01,1.05,1.00,1.01,1.00,1.02,1.01,0.99,
-1.05,1.06,1.00,1.04,1.03,1.06,1.00,1.02,1.01,1.04,
-0.16,0.17,0.18,0.21,0.20,0.20,0.22,0.20,0.24,0.21,
-0.24,0.23,0.26,0.24,0.26,0.24,0.23,0.27,0.26,0.28,
-0.28,0.31,0.28,0.30,0.31,0.32,0.30,0.33,0.33,0.34,
-0.32,0.34,0.33,0.37,0.32,0.34,0.33,0.34,0.34,0.36,
-0.37,0.37,0.37,0.38,0.39,0.36,0.39,0.40,0.40,0.39,
-0.39,0.40,0.39,0.44,0.41,0.44,0.43,0.43,0.42,0.40,
-0.43,0.42,0.43,0.46,0.45,0.45,0.46,0.46,0.42,0.44,
-0.47,0.44,0.44,0.49,0.44,0.46,0.49,0.47,0.48,0.49,
-0.53,0.50,0.50,0.51,0.52,0.47,0.50,0.48,0.54,0.49,
-0.51,0.51,0.47,0.48,0.53,0.51,0.53,0.53,0.53,0.52,
-0.52,0.51,0.53,0.56,0.56,0.55,0.58,0.54,0.56,0.60,
-0.57,0.59,0.59,0.59,0.56,0.55,0.59,0.56,0.57,0.58,
-0.58,0.55,0.58,0.60,0.59,0.62,0.60,0.60,0.61,0.62,
-0.62,0.62,0.61,0.60,0.61,0.58,0.60,0.59,0.62,0.64,
-0.61,0.65,0.63,0.64,0.62,0.61,0.63,0.64,0.70,0.63,
-0.69,0.66,0.67,0.66,0.66,0.66,0.65,0.69,0.70,0.62,
-0.65,0.70,0.69,0.64,0.72,0.65,0.68,0.74,0.69,0.67,
-0.67,0.72,0.71,0.68,0.71,0.68,0.72,0.73,0.70,0.71,
-0.68,0.71,0.70,0.72,0.69,0.74,0.74,0.72,0.69,0.68,
-0.71,0.73,0.75,0.72,0.70,0.73,0.72,0.75,0.76,0.71,
-0.71,0.74,0.73,0.73,0.73,0.75,0.78,0.70,0.76,0.75,
-0.74,0.74,0.81,0.74,0.78,0.78,0.78,0.76,0.80,0.78,
-0.74,0.78,0.79,0.77,0.79,0.78,0.82,0.83,0.77,0.84,
-0.82,0.79,0.83,0.83,0.80,0.84,0.82,0.78,0.86,0.80,
-0.83,0.81,0.83,0.82,0.80,0.82,0.83,0.80,0.82,0.80,
-0.78,0.84,0.82,0.83,0.80,0.84,0.84,0.85,0.83,0.85,
-0.81,0.81,0.85,0.86,0.85,0.80,0.84,0.85,0.82,0.82,
-0.86,0.86,0.87,0.86,0.81,0.83,0.86,0.86,0.86,0.92,
-0.89,0.86,0.88,0.88,0.93,0.88,0.90,0.87,0.88,0.89,
-0.15,0.13,0.14,0.14,0.19,0.18,0.16,0.20,0.19,0.19,
-0.20,0.20,0.23,0.19,0.18,0.23,0.22,0.25,0.24,0.24,
-0.26,0.23,0.26,0.27,0.24,0.23,0.25,0.27,0.31,0.28,
-0.30,0.29,0.27,0.27,0.26,0.29,0.31,0.28,0.33,0.32,
-0.29,0.28,0.30,0.34,0.34,0.32,0.34,0.31,0.32,0.33,
-0.35,0.37,0.32,0.37,0.31,0.32,0.35,0.37,0.36,0.37,
-0.38,0.36,0.39,0.38,0.40,0.38,0.38,0.34,0.35,0.42,
-0.41,0.41,0.42,0.45,0.41,0.41,0.44,0.43,0.41,0.42,
-0.41,0.41,0.41,0.41,0.44,0.42,0.43,0.43,0.44,0.43,
-0.44,0.44,0.46,0.42,0.43,0.48,0.44,0.42,0.46,0.51,
-0.43,0.45,0.45,0.44,0.50,0.47,0.47,0.44,0.51,0.48,
-0.49,0.49,0.51,0.48,0.50,0.48,0.50,0.51,0.49,0.51,
-0.50,0.49,0.53,0.48,0.52,0.48,0.50,0.52,0.51,0.52,
-0.48,0.48,0.55,0.52,0.53,0.52,0.54,0.54,0.54,0.51,
-0.55,0.56,0.55,0.53,0.53,0.58,0.55,0.56,0.58,0.56,
-0.55,0.56,0.52,0.57,0.57,0.55,0.60,0.59,0.56,0.62,
-0.58,0.60,0.58,0.58,0.54,0.57,0.59,0.60,0.57,0.59,
-0.61,0.57,0.59,0.58,0.60,0.60,0.64,0.61,0.58,0.62,
-0.63,0.62,0.61,0.61,0.62,0.58,0.60,0.60,0.64,0.65,
-0.65,0.62,0.63,0.65,0.66,0.64,0.60,0.61,0.63,0.65,
-0.63,0.64,0.64,0.65,0.66,0.68,0.69,0.68,0.66,0.65,
-0.68,0.66,0.64,0.65,0.63,0.68,0.67,0.68,0.67,0.66,
-0.68,0.68,0.68,0.66,0.67,0.70,0.70,0.66,0.75,0.70,
-0.71,0.65,0.66,0.66,0.67,0.69,0.67,0.69,0.73,0.70,
-0.72,0.68,0.73,0.71,0.70,0.69,0.70,0.73,0.72,0.69,
-0.75,0.72,0.69,0.71,0.69,0.72,0.73,0.72,0.72,0.71,
-0.73,0.70,0.71,0.68,0.74,0.78,0.75,0.70,0.69,0.77,
-0.76,0.75,0.72,0.73,0.71,0.75,0.78,0.78,0.77,0.73,
-0.75,0.73,0.73,0.74,0.75,0.76,0.80,0.76,0.76,0.77,
-1.04,1.06,1.13,1.19,1.24,1.26,1.26,1.36,1.40,1.46,
-1.47,1.51,1.55,1.60,1.65,1.66,1.64,1.66,1.69,1.82,
-1.78,1.81,1.84,1.92,1.93,1.92,1.96,1.96,1.98,2.06,
-2.04,2.15,2.15,2.08,2.15,2.23,2.32,2.11,2.23,2.35,
-2.34,2.29,2.23,2.36,2.40,2.37,2.39,2.46,2.46,2.40,
-2.62,2.61,2.58,2.52,2.65,2.59,2.57,2.66,2.73,2.69,
-2.76,2.68,2.77,2.78,2.97,2.80,2.86,2.83,2.89,2.96,
-2.88,2.88,3.06,2.86,3.12,2.97,3.05,2.93,3.08,3.09,
-3.10,3.10,3.06,3.03,3.12,3.08,3.14,3.38,3.23,3.23,
-3.36,3.34,3.24,3.34,3.41,3.37,3.37,3.34,3.23,3.35,
-3.44,3.43,3.57,3.44,3.44,3.49,3.53,3.53,3.58,3.43,
-3.52,3.47,3.44,3.57,3.67,3.67,3.65,3.70,3.74,3.73,
-3.70,3.70,3.77,3.84,3.86,3.91,3.86,3.69,3.92,3.88,
-3.93,3.66,3.89,4.05,3.84,3.96,3.86,4.00,3.87,4.05,
-4.01,4.15,4.00,3.95,4.11,4.02,4.07,4.01,4.11,3.92,
-4.14,4.10,4.16,4.06,4.15,4.11,4.17,4.22,4.10,4.39,
-4.07,4.19,4.35,4.24,4.27,4.28,4.15,4.34,4.25,4.25,
-4.43,4.47,4.36,4.51,4.43,4.47,4.41,4.51,4.59,4.52,
-4.41,4.38,4.60,4.33,4.47,4.48,4.59,4.46,4.41,4.46,
-4.67,4.55,4.57,4.72,4.79,4.65,4.56,4.89,4.68,4.80,
-4.75,4.93,4.61,4.61,4.67,4.67,4.80,4.94,4.94,4.92,
-4.69,4.66,4.68,5.15,4.82,4.83,4.93,5.12,4.96,4.91,
-5.07,5.11,5.06,4.91,5.00,4.96,5.08,4.85,5.05,5.33,
-5.08,4.82,5.27,5.01,4.96,5.15,5.04,5.07,5.09,4.95,
-5.15,5.04,5.19,5.02,5.20,5.43,5.20,5.39,5.10,5.35,
-5.40,5.32,5.01,5.18,5.41,5.35,5.21,5.29,5.55,5.30,
-5.20,5.38,5.36,5.34,5.37,5.20,5.34,5.16,5.36,5.53,
-5.28,5.29,5.29,5.52,5.62,5.36,5.64,5.57,5.46,5.65,
-5.24,5.74,5.37,5.73,5.70,5.40,5.50,5.56,5.73,5.67,
-0.93,0.97,1.06,1.07,1.12,1.13,1.21,1.19,1.25,1.28,
-1.28,1.33,1.42,1.41,1.41,1.41,1.46,1.59,1.57,1.55,
-1.63,1.60,1.61,1.62,1.72,1.71,1.76,1.72,1.84,1.82,
-1.90,1.95,1.92,1.90,1.93,2.08,1.91,2.01,2.06,2.05,
-2.07,2.00,2.14,2.08,2.18,2.18,2.23,2.22,2.34,2.21,
-2.29,2.33,2.30,2.30,2.34,2.43,2.43,2.21,2.31,2.43,
-2.36,2.48,2.41,2.43,2.44,2.55,2.58,2.65,2.65,2.57,
-2.58,2.61,2.59,2.50,2.62,2.71,2.81,2.80,2.65,2.76,
-2.78,2.82,2.69,2.82,2.89,2.89,2.77,2.88,2.98,3.00,
-2.86,3.07,2.94,2.92,2.94,3.06,3.04,3.08,2.92,2.99,
-3.07,2.90,3.04,3.02,3.20,3.13,3.13,3.25,3.19,3.20,
-3.12,3.32,3.31,3.12,3.20,3.25,3.23,3.26,3.33,3.24,
-3.32,3.44,3.37,3.42,3.42,3.42,3.51,3.33,3.50,3.45,
-3.45,3.47,3.32,3.51,3.54,3.54,3.59,3.44,3.68,3.59,
-3.58,3.62,3.61,3.59,3.57,3.57,3.59,3.68,3.63,3.61,
-3.73,3.72,3.73,3.57,3.70,3.81,3.81,3.72,3.69,3.69,
-3.74,3.82,3.76,3.81,3.74,3.79,3.87,3.74,3.88,3.88,
-4.08,3.94,3.90,3.86,4.10,3.92,4.02,4.13,3.93,4.00,
-3.98,4.09,3.95,3.97,3.99,4.06,4.17,4.12,4.08,4.08,
-4.18,4.02,4.09,4.23,4.33,4.26,4.15,4.25,4.23,4.32,
-4.12,4.12,4.21,4.32,4.28,4.35,4.40,4.26,4.18,4.30,
-4.31,4.28,4.28,4.34,4.44,4.47,4.33,4.32,4.40,4.48,
-4.29,4.48,4.32,4.44,4.42,4.38,4.58,4.69,4.51,4.35,
-4.34,4.58,4.44,4.41,4.57,4.57,4.51,4.55,4.62,4.65,
-4.62,4.54,4.53,4.58,4.77,4.69,4.66,4.62,4.78,4.66,
-4.71,4.53,4.75,4.93,4.66,4.74,4.60,4.77,4.79,4.83,
-4.91,4.84,5.02,4.86,4.89,4.78,4.68,4.85,4.90,5.03,
-4.83,5.06,4.94,4.94,4.87,4.87,4.98,5.03,5.08,5.06,
-4.94,5.00,4.97,5.01,4.95,5.08,4.88,4.97,4.92,4.86,
-0.84,0.87,0.92,0.95,0.97,0.98,1.01,1.08,1.14,1.15,
-1.19,1.19,1.26,1.27,1.28,1.30,1.30,1.37,1.34,1.40,
-1.46,1.43,1.53,1.50,1.50,1.56,1.52,1.59,1.66,1.64,
-1.65,1.67,1.71,1.77,1.76,1.71,1.72,1.76,1.78,1.82,
-1.83,1.84,1.89,1.86,1.91,1.90,1.99,1.97,2.03,1.97,
-2.08,2.05,1.99,2.16,2.08,2.04,2.15,2.12,2.08,2.21,
-2.15,2.26,2.22,2.21,2.21,2.24,2.30,2.28,2.28,2.34,
-2.31,2.29,2.50,2.35,2.27,2.39,2.41,2.34,2.49,2.40,
-2.47,2.35,2.44,2.47,2.47,2.59,2.63,2.58,2.64,2.57,
-2.60,2.72,2.61,2.65,2.65,2.80,2.61,2.79,2.68,2.70,
-2.70,2.64,2.78,2.63,2.79,2.85,2.92,2.79,2.79,2.77,
-2.76,2.75,2.83,2.80,2.94,2.89,2.92,2.96,2.93,2.96,
-2.94,3.01,3.09,3.03,3.04,3.02,3.11,3.10,3.00,2.95,
-3.06,2.99,3.03,3.09,3.21,3.14,3.12,3.05,3.30,3.08,
-3.05,3.16,3.26,3.22,3.23,3.20,3.27,3.34,3.28,3.20,
-3.19,3.27,3.40,3.35,3.30,3.47,3.20,3.27,3.28,3.35,
-3.42,3.21,3.26,3.41,3.30,3.32,3.42,3.41,3.44,3.51,
-3.50,3.59,3.47,3.54,3.54,3.53,3.49,3.64,3.69,3.57,
-3.64,3.55,3.70,3.57,3.58,3.53,3.66,3.66,3.67,3.76,
-3.68,3.55,3.54,3.62,3.71,3.80,3.75,3.78,3.78,3.89,
-3.63,3.67,3.63,3.72,3.80,3.76,3.85,3.87,3.61,3.85,
-3.86,3.82,3.83,3.87,3.86,3.90,3.94,3.79,3.95,3.96,
-3.97,3.88,4.24,3.94,3.99,4.01,3.81,3.87,4.06,3.88,
-4.12,3.93,4.00,3.88,4.04,4.04,4.21,4.22,4.12,4.00,
-4.11,4.08,4.08,4.02,4.19,4.27,4.15,4.11,4.32,4.26,
-4.41,4.16,4.20,4.22,4.24,4.36,4.22,4.12,4.18,4.25,
-4.29,4.44,4.41,4.28,4.34,4.12,4.32,4.27,4.41,4.47,
-4.29,4.35,4.39,4.30,4.43,4.24,4.41,4.29,4.27,4.44,
-4.50,4.61,4.20,4.41,4.34,4.37,4.54,4.55,4.50,4.54,
-0.75,0.80,0.82,0.81,0.87,0.91,0.96,0.93,0.96,1.02,
-1.05,1.06,1.09,1.07,1.15,1.23,1.16,1.21,1.24,1.26,
-1.32,1.31,1.26,1.33,1.35,1.43,1.42,1.44,1.39,1.47,
-1.45,1.52,1.50,1.57,1.52,1.53,1.58,1.61,1.59,1.59,
-1.61,1.66,1.68,1.70,1.69,1.78,1.69,1.79,1.75,1.76,
-1.78,1.82,1.82,1.87,1.83,1.89,1.91,1.94,1.92,1.95,
-1.94,1.90,2.00,1.96,2.04,2.07,2.07,2.04,2.05,2.12,
-2.06,2.07,2.06,2.09,2.13,2.17,2.24,2.20,2.19,2.15,
-2.14,2.22,2.17,2.24,2.20,2.25,2.25,2.28,2.29,2.31,
-2.33,2.34,2.31,2.37,2.36,2.29,2.32,2.34,2.41,2.43,
-2.40,2.39,2.42,2.43,2.48,2.47,2.49,2.47,2.52,2.63,
-2.52,2.63,2.60,2.48,2.57,2.62,2.50,2.58,2.57,2.56,
-2.60,2.63,2.58,2.59,2.60,2.68,2.65,2.64,2.79,2.81,
-2.86,2.83,2.76,2.72,2.71,2.68,2.82,2.75,2.80,2.85,
-2.86,2.85,2.80,2.90,2.73,2.78,2.78,2.79,2.97,2.83,
-2.80,2.86,2.91,2.79,2.95,2.97,2.96,2.88,2.91,3.04,
-2.98,3.13,3.10,3.04,2.96,3.08,3.05,3.01,3.07,3.12,
-3.03,3.08,2.96,3.18,3.17,3.13,3.13,3.15,3.10,3.14,
-3.16,3.29,3.30,3.20,3.08,3.11,3.18,3.24,3.29,3.32,
-3.37,3.20,3.31,3.41,3.16,3.28,3.42,3.38,3.29,3.34,
-3.41,3.46,3.32,3.44,3.32,3.37,3.35,3.46,3.37,3.38,
-3.41,3.39,3.35,3.50,3.34,3.40,3.56,3.37,3.40,3.42,
-3.56,3.58,3.53,3.69,3.57,3.65,3.39,3.67,3.68,3.55,
-3.37,3.49,3.63,3.50,3.40,3.68,3.58,3.58,3.61,3.62,
-3.81,3.71,3.61,3.76,3.71,3.63,3.79,3.73,3.51,3.69,
-3.66,3.85,3.92,3.66,3.57,3.86,3.85,3.84,3.69,3.77,
-3.79,3.72,3.84,3.76,3.71,3.70,3.91,3.83,3.79,3.74,
-3.91,3.85,3.91,4.07,3.88,3.89,3.91,3.87,3.94,3.93,
-3.78,3.84,3.96,3.95,4.01,3.84,3.90,3.85,4.00,4.09,
-0.66,0.67,0.70,0.74,0.81,0.79,0.78,0.84,0.86,0.91,
-0.89,0.95,0.96,0.96,1.01,1.01,1.00,1.05,1.08,1.11,
-1.12,1.14,1.19,1.20,1.16,1.24,1.21,1.23,1.29,1.22,
-1.27,1.32,1.31,1.33,1.37,1.40,1.35,1.41,1.41,1.50,
-1.45,1.47,1.52,1.50,1.53,1.53,1.59,1.55,1.54,1.57,
-1.62,1.58,1.60,1.67,1.65,1.56,1.63,1.68,1.68,1.72,
-1.68,1.66,1.76,1.76,1.77,1.72,1.80,1.70,1.76,1.83,
-1.83,1.82,1.89,1.82,1.93,1.92,1.80,1.91,1.88,1.98,
-1.88,1.95,1.92,2.00,1.90,1.96,2.04,2.02,2.03,1.99,
-2.06,2.05,2.11,2.05,2.17,2.02,2.10,2.10,2.14,2.04,
-2.09,2.12,2.19,2.12,2.17,2.26,2.28,2.16,2.24,2.28,
-2.21,2.16,2.20,2.30,2.23,2.27,2.28,2.31,2.28,2.42,
-2.32,2.39,2.34,2.30,2.33,2.28,2.30,2.41,2.42,2.41,
-2.42,2.38,2.46,2.36,2.28,2.41,2.40,2.51,2.34,2.51,
-2.46,2.53,2.58,2.50,2.53,2.58,2.53,2.60,2.45,2.57,
-2.53,2.52,2.62,2.64,2.49,2.60,2.56,2.50,2.58,2.68,
-2.49,2.59,2.47,2.72,2.76,2.69,2.59,2.68,2.71,2.56,
-2.78,2.62,2.66,2.71,2.74,2.73,2.72,2.83,2.82,2.64,
-2.77,2.82,2.88,2.79,2.77,2.79,2.85,2.83,2.87,2.84,
-2.89,2.80,2.85,2.86,2.90,2.97,3.04,2.98,2.91,3.03,
-2.92,2.94,3.06,3.02,2.91,2.99,2.99,2.96,2.97,2.91,
-2.99,2.92,3.01,2.87,2.99,2.95,2.99,2.94,3.04,3.01,
-3.11,3.08,3.16,3.11,3.21,2.91,3.26,3.19,3.10,3.17,
-3.23,3.04,3.20,3.15,3.22,3.20,3.25,3.16,3.14,3.21,
-3.23,3.10,3.19,3.32,3.18,3.35,3.27,3.19,3.20,3.15,
-3.39,3.26,3.20,3.38,3.26,3.25,3.22,3.36,3.31,3.53,
-3.37,3.23,3.28,3.44,3.42,3.30,3.37,3.46,3.40,3.39,
-3.39,3.30,3.28,3.45,3.40,3.35,3.42,3.44,3.39,3.45,
-3.35,3.40,3.25,3.45,3.41,3.49,3.53,3.53,3.51,3.75,
-0.57,0.61,0.63,0.66,0.65,0.72,0.75,0.73,0.75,0.79,
-0.83,0.82,0.85,0.86,0.85,0.88,0.86,0.95,0.93,1.00,
-0.96,0.99,1.01,1.03,1.07,1.05,1.07,1.07,1.06,1.14,
-1.17,1.20,1.15,1.20,1.17,1.23,1.21,1.20,1.20,1.25,
-1.27,1.29,1.26,1.28,1.28,1.28,1.36,1.35,1.32,1.36,
-1.39,1.41,1.45,1.40,1.44,1.44,1.46,1.38,1.48,1.49,
-1.46,1.54,1.50,1.59,1.57,1.53,1.51,1.62,1.62,1.54,
-1.53,1.52,1.59,1.56,1.66,1.68,1.60,1.72,1.66,1.70,
-1.73,1.67,1.68,1.68,1.71,1.68,1.72,1.71,1.72,1.77,
-1.78,1.71,1.78,1.82,1.80,1.79,1.81,1.85,1.77,1.84,
-1.84,1.87,1.83,1.91,1.95,1.90,1.86,1.93,1.89,1.93,
-1.95,1.96,2.01,1.98,1.96,1.99,2.02,1.99,2.02,2.03,
-2.02,2.02,2.07,2.03,2.10,2.08,2.02,2.00,2.01,2.09,
-2.10,2.13,2.10,2.12,2.13,2.18,2.14,2.17,2.19,2.21,
-2.15,2.26,2.25,2.20,2.23,2.19,2.24,2.15,2.27,2.25,
-2.18,2.25,2.17,2.24,2.33,2.30,2.28,2.24,2.31,2.38,
-2.22,2.26,2.38,2.25,2.40,2.26,2.36,2.31,2.42,2.43,
-2.27,2.41,2.37,2.43,2.44,2.44,2.41,2.46,2.42,2.47,
-2.48,2.46,2.54,2.47,2.52,2.56,2.53,2.47,2.47,2.57,
-2.53,2.57,2.60,2.50,2.48,2.54,2.55,2.62,2.58,2.50,
-2.57,2.62,2.66,2.56,2.68,2.49,2.55,2.58,2.73,2.70,
-2.64,2.64,2.74,2.67,2.64,2.70,2.68,2.76,2.71,2.60,
-2.73,2.76,2.71,2.69,2.78,2.70,2.76,2.77,2.74,2.76,
-2.86,2.83,2.82,2.85,2.63,2.70,2.73,2.92,2.84,2.85,
-2.90,2.82,2.86,2.84,2.87,2.74,2.79,2.87,2.88,2.83,
-2.90,2.82,2.97,2.97,2.89,3.01,2.90,2.89,2.90,2.93,
-2.89,2.93,3.05,2.96,2.97,3.06,2.93,2.92,3.01,2.88,
-2.92,2.91,2.89,3.03,2.98,2.98,2.97,3.14,2.91,2.84,
-2.97,3.12,2.99,3.13,3.03,3.03,3.18,3.00,3.16,2.92,
-0.49,0.51,0.57,0.55,0.63,0.64,0.61,0.68,0.66,0.69,
-0.69,0.72,0.70,0.76,0.77,0.76,0.79,0.81,0.82,0.85,
-0.81,0.89,0.90,0.82,0.94,0.96,0.95,0.95,0.97,1.00,
-0.97,1.00,1.05,0.98,1.00,1.03,1.05,1.11,1.07,1.06,
-1.11,1.13,1.08,1.16,1.11,1.13,1.16,1.18,1.13,1.16,
-1.21,1.19,1.31,1.29,1.25,1.27,1.31,1.29,1.33,1.24,
-1.33,1.25,1.37,1.31,1.40,1.35,1.37,1.35,1.37,1.40,
-1.39,1.44,1.38,1.39,1.44,1.43,1.48,1.51,1.48,1.53,
-1.49,1.44,1.52,1.53,1.56,1.50,1.55,1.59,1.52,1.56,
-1.57,1.55,1.59,1.55,1.57,1.57,1.58,1.57,1.61,1.66,
-1.64,1.61,1.63,1.62,1.66,1.73,1.67,1.79,1.65,1.71,
-1.69,1.76,1.80,1.78,1.73,1.78,1.70,1.79,1.82,1.74,
-1.84,1.81,1.82,1.78,1.82,1.78,1.78,1.76,1.83,1.85,
-1.86,1.90,1.89,1.92,1.86,1.96,1.85,1.93,1.91,1.90,
-1.87,1.94,1.98,1.92,1.95,1.92,1.94,1.92,1.93,2.08,
-2.01,2.10,1.95,1.99,2.07,2.00,2.06,2.04,2.09,1.93,
-2.06,2.11,2.06,2.04,2.07,2.06,2.07,2.09,2.05,2.09,
-2.06,2.02,2.04,2.09,2.12,2.10,2.14,2.19,2.15,2.06,
-2.14,2.08,2.13,2.15,2.21,2.06,2.20,2.24,2.13,2.19,
-2.16,2.13,2.29,2.35,2.26,2.20,2.23,2.20,2.19,2.22,
-2.27,2.30,2.20,2.26,2.37,2.24,2.31,2.34,2.11,2.20,
-2.41,2.22,2.22,2.36,2.30,2.34,2.33,2.32,2.31,2.34,
-2.46,2.31,2.47,2.34,2.35,2.43,2.36,2.38,2.32,2.50,
-2.38,2.43,2.45,2.45,2.45,2.41,2.42,2.40,2.47,2.47,
-2.43,2.61,2.51,2.40,2.53,2.47,2.48,2.49,2.53,2.57,
-2.47,2.52,2.53,2.53,2.50,2.56,2.56,2.50,2.58,2.62,
-2.55,2.57,2.54,2.54,2.60,2.62,2.56,2.53,2.55,2.62,
-2.71,2.61,2.61,2.63,2.57,2.54,2.62,2.61,2.57,2.78,
-2.59,2.74,2.72,2.61,2.72,2.69,2.65,2.74,2.62,2.71,
-0.45,0.46,0.50,0.48,0.50,0.54,0.56,0.56,0.58,0.59,
-0.65,0.66,0.61,0.64,0.65,0.70,0.71,0.74,0.74,0.74,
-0.77,0.76,0.79,0.76,0.78,0.84,0.77,0.81,0.83,0.87,
-0.89,0.86,0.91,0.89,0.86,0.87,0.88,0.95,0.91,0.96,
-0.98,1.02,1.03,0.98,0.98,0.98,1.03,1.04,1.03,1.01,
-1.08,1.03,1.04,1.09,1.08,1.12,1.12,1.14,1.11,1.19,
-1.12,1.13,1.13,1.14,1.15,1.22,1.19,1.17,1.18,1.24,
-1.19,1.24,1.22,1.30,1.21,1.27,1.25,1.25,1.29,1.30,
-1.31,1.30,1.30,1.37,1.30,1.39,1.31,1.34,1.31,1.27,
-1.37,1.37,1.39,1.42,1.37,1.35,1.37,1.40,1.41,1.43,
-1.39,1.40,1.37,1.51,1.51,1.45,1.48,1.44,1.50,1.50,
-1.49,1.49,1.54,1.52,1.55,1.52,1.53,1.57,1.56,1.52,
-1.55,1.57,1.54,1.49,1.52,1.59,1.56,1.63,1.69,1.62,
-1.69,1.66,1.63,1.61,1.61,1.72,1.67,1.64,1.62,1.61,
-1.69,1.70,1.67,1.71,1.67,1.64,1.76,1.65,1.67,1.73,
-1.71,1.73,1.68,1.73,1.81,1.77,1.77,1.79,1.83,1.74,
-1.79,1.75,1.76,1.79,1.82,1.87,1.74,1.79,1.81,1.76,
-1.82,1.90,1.82,1.82,1.85,1.85,1.81,1.88,1.86,1.88,
-1.87,1.92,1.94,1.95,1.94,1.97,1.96,2.04,1.88,1.95,
-1.90,1.90,1.92,1.93,1.97,1.92,1.92,1.97,1.93,1.93,
-1.96,2.03,1.98,2.00,1.98,2.02,1.99,1.92,2.02,2.03,
-2.03,1.96,2.00,2.06,2.03,2.06,2.02,2.12,2.06,2.03,
-1.98,2.06,2.08,2.01,2.13,2.11,2.14,2.03,2.13,2.14,
-2.08,2.21,2.13,2.18,2.22,2.17,2.11,2.10,2.09,2.16,
-2.14,2.13,2.11,2.31,2.15,2.16,2.16,2.19,2.27,2.14,
-2.23,2.18,2.21,2.28,2.24,2.15,2.12,2.19,2.19,2.17,
-2.22,2.23,2.37,2.22,2.28,2.23,2.20,2.18,2.31,2.28,
-2.14,2.19,2.34,2.30,2.32,2.34,2.30,2.32,2.30,2.32,
-2.33,2.32,2.33,2.45,2.31,2.36,2.34,2.37,2.39,2.44,
-0.39,0.40,0.42,0.46,0.46,0.47,0.51,0.50,0.53,0.51,
-0.53,0.55,0.56,0.58,0.58,0.59,0.62,0.63,0.63,0.66,
-0.67,0.71,0.69,0.65,0.65,0.73,0.71,0.71,0.75,0.74,
-0.78,0.75,0.75,0.78,0.79,0.78,0.81,0.81,0.77,0.84,
-0.83,0.89,0.85,0.86,0.95,0.81,0.91,0.87,0.94,0.95,
-0.91,0.93,0.98,0.96,0.91,0.96,0.95,0.95,0.98,0.99,
-0.98,1.02,0.99,0.99,1.00,1.06,1.04,1.04,1.04,1.04,
-1.07,1.06,1.11,1.08,1.07,1.11,1.10,1.08,1.13,1.11,
-1.15,1.13,1.19,1.18,1.15,1.19,1.17,1.22,1.18,1.15,
-1.21,1.18,1.16,1.18,1.21,1.26,1.25,1.22,1.17,1.26,
-1.23,1.24,1.28,1.29,1.27,1.22,1.22,1.27,1.28,1.22,
-1.28,1.28,1.32,1.34,1.40,1.34,1.29,1.35,1.33,1.29,
-1.34,1.32,1.42,1.43,1.32,1.38,1.42,1.42,1.40,1.42,
-1.38,1.41,1.42,1.36,1.41,1.47,1.40,1.43,1.48,1.45,
-1.45,1.49,1.42,1.48,1.44,1.49,1.50,1.53,1.56,1.52,
-1.52,1.50,1.50,1.56,1.53,1.56,1.56,1.51,1.61,1.50,
-1.51,1.54,1.57,1.55,1.59,1.60,1.58,1.51,1.67,1.62,
-1.55,1.60,1.65,1.59,1.62,1.61,1.63,1.63,1.67,1.62,
-1.65,1.64,1.65,1.62,1.70,1.61,1.62,1.61,1.70,1.71,
-1.73,1.62,1.67,1.63,1.77,1.70,1.63,1.85,1.70,1.71,
-1.67,1.78,1.75,1.72,1.82,1.72,1.83,1.75,1.80,1.79,
-1.77,1.81,1.76,1.75,1.78,1.78,1.77,1.82,1.76,1.78,
-1.79,1.85,1.83,1.81,1.88,1.84,1.82,1.84,1.82,1.85,
-1.87,1.84,1.90,1.89,1.92,1.90,1.89,1.86,1.87,1.82,
-1.92,1.84,1.93,1.91,1.87,1.95,1.92,1.88,1.80,1.94,
-1.97,1.91,1.92,1.97,1.95,2.01,1.92,1.93,1.99,2.04,
-1.93,1.93,1.95,1.94,2.00,1.99,2.01,2.00,1.99,1.94,
-2.10,1.96,1.98,2.01,1.98,1.97,2.06,1.99,2.02,2.03,
-2.02,2.01,2.05,2.00,1.99,2.07,2.05,1.96,1.96,2.09,
-0.32,0.34,0.37,0.38,0.38,0.39,0.43,0.42,0.44,0.48,
-0.48,0.48,0.46,0.50,0.52,0.52,0.54,0.53,0.56,0.56,
-0.58,0.57,0.60,0.59,0.61,0.60,0.59,0.66,0.64,0.62,
-0.68,0.68,0.67,0.72,0.72,0.71,0.72,0.70,0.73,0.71,
-0.75,0.72,0.72,0.78,0.76,0.75,0.78,0.80,0.77,0.82,
-0.84,0.82,0.78,0.84,0.80,0.84,0.85,0.86,0.86,0.84,
-0.84,0.89,0.85,0.88,0.90,0.92,0.85,0.90,0.93,0.91,
-0.93,0.94,0.97,0.95,0.96,0.94,0.94,0.99,0.98,0.97,
-0.93,0.99,1.04,0.99,0.99,1.00,1.00,1.01,1.03,1.01,
-1.02,1.07,1.04,1.08,1.07,1.09,1.07,1.08,1.12,1.12,
-1.12,1.09,1.08,1.11,1.14,1.16,1.13,1.11,1.06,1.16,
-1.13,1.15,1.16,1.13,1.16,1.14,1.13,1.20,1.22,1.19,
-1.17,1.15,1.12,1.20,1.14,1.14,1.21,1.22,1.22,1.18,
-1.22,1.24,1.25,1.26,1.25,1.24,1.27,1.24,1.31,1.25,
-1.30,1.28,1.24,1.31,1.31,1.34,1.35,1.31,1.30,1.26,
-1.33,1.34,1.28,1.31,1.27,1.32,1.37,1.36,1.35,1.39,
-1.32,1.37,1.40,1.38,1.41,1.42,1.36,1.36,1.35,1.39,
-1.42,1.44,1.40,1.44,1.39,1.40,1.39,1.44,1.38,1.42,
-1.42,1.43,1.47,1.43,1.51,1.47,1.41,1.43,1.48,1.37,
-1.50,1.40,1.45,1.48,1.47,1.48,1.48,1.49,1.53,1.54,
-1.48,1.45,1.47,1.52,1.53,1.47,1.49,1.51,1.59,1.53,
-1.51,1.47,1.52,1.50,1.53,1.53,1.49,1.53,1.68,1.55,
-1.53,1.61,1.57,1.61,1.63,1.58,1.58,1.58,1.58,1.57,
-1.60,1.64,1.61,1.65,1.66,1.64,1.58,1.65,1.59,1.69,
-1.65,1.63,1.64,1.65,1.67,1.62,1.70,1.69,1.70,1.70,
-1.63,1.65,1.69,1.73,1.66,1.70,1.67,1.74,1.73,1.72,
-1.75,1.80,1.75,1.70,1.71,1.68,1.66,1.67,1.72,1.67,
-1.76,1.75,1.77,1.76,1.75,1.84,1.74,1.69,1.72,1.79,
-1.71,1.77,1.76,1.83,1.76,1.74,1.74,1.77,1.78,1.80,
-0.28,0.30,0.31,0.33,0.35,0.35,0.39,0.35,0.38,0.42,
-0.41,0.41,0.44,0.41,0.43,0.47,0.45,0.48,0.45,0.53,
-0.52,0.50,0.51,0.51,0.49,0.55,0.52,0.56,0.55,0.54,
-0.55,0.56,0.58,0.56,0.59,0.63,0.66,0.59,0.63,0.64,
-0.61,0.62,0.66,0.61,0.67,0.61,0.67,0.69,0.68,0.68,
-0.67,0.69,0.73,0.76,0.76,0.71,0.75,0.74,0.74,0.72,
-0.79,0.74,0.73,0.79,0.75,0.76,0.78,0.81,0.80,0.82,
-0.85,0.81,0.84,0.80,0.85,0.85,0.85,0.85,0.86,0.83,
-0.88,0.85,0.84,0.84,0.90,0.88,0.86,0.91,0.89,0.89,
-0.91,0.93,0.92,0.90,0.90,0.93,0.91,0.91,0.89,0.97,
-0.90,0.92,1.00,0.94,1.00,1.04,0.94,1.00,1.00,0.99,
-1.01,1.02,1.06,0.99,1.03,1.02,1.06,1.04,1.03,1.02,
-1.03,1.03,1.02,1.04,1.03,1.07,1.03,1.07,1.05,1.05,
-1.04,1.10,1.07,1.09,1.07,1.07,1.05,1.12,1.10,1.13,
-1.07,1.12,1.09,1.13,1.14,1.10,1.08,1.14,1.13,1.11,
-1.16,1.14,1.16,1.11,1.15,1.20,1.15,1.10,1.16,1.14,
-1.19,1.23,1.16,1.17,1.24,1.19,1.22,1.25,1.23,1.21,
-1.15,1.23,1.24,1.24,1.19,1.18,1.19,1.20,1.21,1.22,
-1.20,1.23,1.22,1.18,1.21,1.25,1.25,1.22,1.27,1.29,
-1.29,1.24,1.30,1.23,1.33,1.29,1.32,1.38,1.34,1.29,
-1.33,1.31,1.32,1.37,1.34,1.29,1.35,1.33,1.34,1.39,
-1.39,1.32,1.38,1.34,1.33,1.39,1.37,1.35,1.37,1.37,
-1.30,1.41,1.36,1.35,1.38,1.34,1.39,1.37,1.40,1.39,
-1.40,1.39,1.41,1.41,1.42,1.42,1.43,1.47,1.47,1.47,
-1.39,1.39,1.42,1.41,1.41,1.44,1.43,1.45,1.47,1.47,
-1.48,1.42,1.42,1.47,1.44,1.45,1.54,1.40,1.52,1.50,
-1.47,1.45,1.53,1.44,1.51,1.49,1.48,1.48,1.52,1.43,
-1.53,1.47,1.51,1.50,1.52,1.56,1.56,1.54,1.49,1.49,
-1.54,1.47,1.57,1.62,1.47,1.58,1.53,1.58,1.51,1.56,
-0.28,0.25,0.27,0.30,0.30,0.30,0.31,0.33,0.33,0.37,
-0.35,0.35,0.36,0.38,0.36,0.41,0.39,0.40,0.41,0.43,
-0.42,0.44,0.47,0.46,0.46,0.46,0.46,0.46,0.46,0.49,
-0.47,0.50,0.51,0.55,0.55,0.54,0.51,0.53,0.52,0.54,
-0.50,0.58,0.56,0.55,0.58,0.62,0.56,0.58,0.57,0.60,
-0.59,0.58,0.63,0.64,0.66,0.64,0.65,0.66,0.66,0.65,
-0.69,0.64,0.66,0.69,0.67,0.65,0.66,0.66,0.70,0.73,
-0.71,0.74,0.75,0.72,0.75,0.73,0.71,0.74,0.71,0.76,
-0.77,0.73,0.74,0.80,0.74,0.76,0.76,0.77,0.79,0.75,
-0.77,0.78,0.83,0.81,0.78,0.82,0.80,0.80,0.85,0.79,
-0.85,0.81,0.84,0.84,0.86,0.91,0.84,0.87,0.86,0.83,
-0.84,0.89,0.91,0.85,0.90,0.86,0.91,0.86,0.87,0.87,
-0.94,0.89,0.90,0.91,0.91,0.89,0.92,0.94,0.93,0.91,
-0.92,0.91,0.90,0.93,0.90,0.94,0.95,0.99,0.99,0.92,
-0.93,0.98,0.97,0.92,0.98,0.97,0.97,0.96,0.93,0.99,
-0.99,0.97,0.97,0.96,1.04,0.97,0.98,0.94,1.02,1.00,
-1.01,1.05,1.07,1.05,1.04,0.98,1.03,0.99,1.04,1.06,
-1.03,1.07,1.02,1.01,1.11,1.05,1.07,1.04,1.07,1.10,
-1.11,1.11,1.05,1.12,1.10,1.12,1.11,1.15,1.11,1.10,
-1.17,1.13,1.07,1.11,1.11,1.14,1.13,1.11,1.11,1.14,
-1.15,1.13,1.14,1.14,1.12,1.16,1.17,1.19,1.21,1.13,
-1.13,1.25,1.19,1.15,1.15,1.18,1.17,1.23,1.17,1.16,
-1.13,1.17,1.18,1.18,1.19,1.20,1.21,1.21,1.24,1.25,
-1.22,1.25,1.19,1.25,1.15,1.27,1.24,1.21,1.25,1.26,
-1.26,1.20,1.27,1.23,1.22,1.25,1.26,1.26,1.25,1.26,
-1.27,1.26,1.35,1.29,1.26,1.24,1.25,1.26,1.26,1.29,
-1.28,1.21,1.32,1.25,1.31,1.36,1.32,1.36,1.31,1.28,
-1.33,1.26,1.36,1.30,1.30,1.32,1.29,1.34,1.36,1.29,
-1.34,1.32,1.34,1.32,1.36,1.34,1.34,1.33,1.35,1.35,
-0.22,0.22,0.25,0.23,0.25,0.29,0.30,0.27,0.25,0.31,
-0.29,0.33,0.32,0.32,0.35,0.34,0.32,0.39,0.36,0.40,
-0.41,0.37,0.39,0.36,0.37,0.39,0.41,0.45,0.39,0.43,
-0.41,0.41,0.46,0.45,0.47,0.49,0.46,0.43,0.46,0.45,
-0.44,0.47,0.50,0.49,0.49,0.52,0.54,0.50,0.54,0.51,
-0.51,0.55,0.53,0.50,0.53,0.53,0.59,0.53,0.57,0.59,
-0.59,0.55,0.56,0.60,0.61,0.59,0.57,0.62,0.63,0.64,
-0.64,0.56,0.61,0.60,0.62,0.64,0.60,0.65,0.63,0.64,
-0.65,0.62,0.65,0.66,0.69,0.69,0.68,0.65,0.68,0.64,
-0.71,0.71,0.67,0.73,0.66,0.67,0.73,0.69,0.67,0.72,
-0.72,0.73,0.71,0.73,0.73,0.75,0.71,0.69,0.72,0.76,
-0.72,0.77,0.75,0.73,0.73,0.74,0.77,0.72,0.79,0.78,
-0.76,0.79,0.78,0.85,0.79,0.80,0.78,0.74,0.82,0.77,
-0.80,0.80,0.78,0.84,0.81,0.81,0.83,0.80,0.81,0.81,
-0.79,0.83,0.85,0.83,0.83,0.86,0.85,0.87,0.85,0.87,
-0.89,0.85,0.89,0.86,0.84,0.89,0.91,0.87,0.89,0.88,
-0.87,0.88,0.88,0.92,0.90,0.91,0.89,0.91,0.89,0.93,
-0.92,0.89,0.91,0.93,0.87,0.94,0.91,0.93,0.92,0.95,
-0.93,0.91,0.98,0.97,0.96,0.95,0.93,0.95,0.99,0.98,
-0.92,0.91,0.96,0.96,0.91,0.93,0.96,1.00,1.04,0.95,
-1.01,0.97,1.02,1.00,1.02,1.01,1.00,1.01,0.98,0.99,
-1.00,1.02,1.02,1.03,1.03,1.02,1.04,1.04,1.05,0.99,
-1.03,1.05,1.07,1.05,1.05,1.07,1.03,1.08,1.05,1.00,
-1.06,1.09,1.04,1.10,1.03,1.11,1.05,1.05,1.03,1.06,
-1.05,1.10,1.02,1.09,1.02,1.10,1.12,1.11,1.08,1.05,
-1.09,1.15,1.12,1.07,1.12,1.10,1.11,1.08,1.10,1.13,
-1.12,1.12,1.12,1.11,1.12,1.13,1.18,1.17,1.12,1.11,
-1.16,1.12,1.16,1.11,1.15,1.15,1.12,1.18,1.12,1.11,
-1.15,1.18,1.13,1.17,1.12,1.15,1.17,1.17,1.20,1.24,
-0.18,0.19,0.21,0.22,0.23,0.23,0.28,0.25,0.24,0.27,
-0.27,0.27,0.30,0.29,0.26,0.32,0.29,0.32,0.31,0.30,
-0.34,0.35,0.36,0.35,0.33,0.34,0.35,0.38,0.34,0.37,
-0.37,0.38,0.37,0.36,0.39,0.36,0.42,0.42,0.40,0.41,
-0.42,0.40,0.38,0.42,0.45,0.45,0.44,0.47,0.50,0.47,
-0.47,0.47,0.46,0.47,0.46,0.50,0.47,0.50,0.52,0.51,
-0.50,0.49,0.49,0.50,0.48,0.51,0.52,0.54,0.50,0.51,
-0.53,0.53,0.55,0.52,0.55,0.52,0.58,0.55,0.54,0.54,
-0.55,0.57,0.52,0.60,0.55,0.61,0.58,0.60,0.62,0.59,
-0.61,0.56,0.59,0.62,0.60,0.61,0.62,0.60,0.60,0.63,
-0.64,0.61,0.61,0.62,0.62,0.60,0.63,0.64,0.63,0.63,
-0.66,0.63,0.64,0.63,0.68,0.63,0.64,0.64,0.65,0.64,
-0.67,0.67,0.72,0.69,0.68,0.71,0.68,0.67,0.72,0.70,
-0.70,0.73,0.73,0.71,0.71,0.73,0.74,0.72,0.74,0.73,
-0.68,0.69,0.72,0.72,0.72,0.75,0.73,0.75,0.71,0.74,
-0.74,0.77,0.76,0.73,0.76,0.78,0.81,0.75,0.78,0.80,
-0.77,0.77,0.74,0.77,0.78,0.81,0.75,0.79,0.75,0.82,
-0.78,0.77,0.81,0.80,0.79,0.78,0.83,0.81,0.82,0.82,
-0.82,0.79,0.81,0.86,0.82,0.79,0.84,0.80,0.83,0.83,
-0.84,0.85,0.87,0.82,0.81,0.82,0.84,0.84,0.85,0.88,
-0.80,0.84,0.85,0.91,0.88,0.83,0.85,0.87,0.87,0.89,
-0.91,0.89,0.84,0.84,0.89,0.91,0.90,0.84,0.90,0.91,
-0.90,0.90,0.88,0.89,0.92,0.92,0.90,0.93,0.90,0.84,
-0.89,0.93,0.90,0.93,0.90,0.94,0.97,0.95,0.92,0.95,
-0.99,0.95,0.97,0.92,0.99,0.95,0.94,0.94,0.96,0.97,
-0.97,0.95,0.97,0.97,0.96,0.98,0.96,0.97,0.92,0.96,
-1.00,0.98,0.96,0.96,0.95,1.00,0.96,0.97,0.97,0.96,
-1.00,1.00,0.95,1.02,1.00,1.00,1.02,0.99,1.00,1.02,
-1.03,1.06,1.04,1.02,1.02,1.03,1.02,1.02,1.03,1.05,
-0.16,0.16,0.18,0.18,0.21,0.24,0.21,0.24,0.22,0.25,
-0.21,0.21,0.26,0.24,0.27,0.25,0.25,0.26,0.27,0.27,
-0.27,0.26,0.28,0.28,0.32,0.33,0.32,0.31,0.30,0.30,
-0.32,0.33,0.36,0.34,0.35,0.33,0.34,0.35,0.36,0.36,
-0.35,0.37,0.39,0.38,0.37,0.39,0.39,0.37,0.42,0.41,
-0.38,0.40,0.42,0.38,0.43,0.41,0.45,0.42,0.42,0.43,
-0.40,0.43,0.43,0.44,0.44,0.45,0.47,0.47,0.44,0.47,
-0.44,0.48,0.44,0.47,0.46,0.46,0.47,0.48,0.51,0.49,
-0.47,0.52,0.48,0.49,0.50,0.49,0.53,0.51,0.49,0.52,
-0.48,0.50,0.51,0.47,0.52,0.56,0.53,0.54,0.53,0.55,
-0.56,0.54,0.52,0.50,0.51,0.53,0.56,0.56,0.56,0.58,
-0.58,0.57,0.53,0.57,0.56,0.59,0.57,0.58,0.56,0.55,
-0.61,0.60,0.58,0.57,0.60,0.61,0.65,0.57,0.60,0.59,
-0.58,0.60,0.62,0.60,0.63,0.60,0.64,0.63,0.62,0.62,
-0.64,0.62,0.65,0.63,0.64,0.66,0.65,0.63,0.65,0.66,
-0.67,0.64,0.64,0.68,0.63,0.66,0.64,0.64,0.67,0.65,
-0.68,0.73,0.66,0.68,0.68,0.70,0.69,0.65,0.67,0.69,
-0.63,0.71,0.72,0.68,0.71,0.71,0.71,0.69,0.72,0.72,
-0.71,0.71,0.68,0.73,0.72,0.72,0.76,0.73,0.75,0.72,
-0.77,0.73,0.75,0.73,0.75,0.76,0.76,0.74,0.74,0.77,
-0.75,0.71,0.75,0.74,0.80,0.75,0.75,0.78,0.74,0.74,
-0.76,0.73,0.74,0.79,0.83,0.74,0.76,0.76,0.76,0.78,
-0.77,0.82,0.83,0.80,0.79,0.81,0.76,0.78,0.79,0.80,
-0.80,0.78,0.81,0.78,0.79,0.79,0.78,0.78,0.83,0.81,
-0.83,0.80,0.81,0.84,0.78,0.85,0.85,0.81,0.81,0.83,
-0.82,0.79,0.86,0.83,0.78,0.86,0.81,0.83,0.87,0.82,
-0.86,0.84,0.81,0.87,0.86,0.89,0.88,0.90,0.89,0.86,
-0.85,0.83,0.86,0.85,0.85,0.86,0.89,0.86,0.86,0.86,
-0.85,0.90,0.90,0.83,0.91,0.83,0.86,0.86,0.92,0.89,
-1.07,1.13,1.19,1.25,1.31,1.32,1.39,1.33,1.42,1.49,
-1.50,1.51,1.64,1.60,1.69,1.65,1.72,1.81,1.79,1.84,
-1.84,1.85,1.96,1.91,1.95,1.92,1.97,2.04,2.07,2.13,
-2.10,2.18,2.18,2.15,2.25,2.33,2.31,2.37,2.31,2.32,
-2.32,2.38,2.40,2.35,2.55,2.44,2.56,2.54,2.46,2.62,
-2.61,2.60,2.71,2.66,2.66,2.75,2.89,2.53,2.76,2.77,
-2.85,2.87,2.92,2.90,2.88,2.92,2.91,2.87,2.90,3.02,
-2.98,2.91,2.93,3.14,2.93,3.01,3.11,3.12,3.09,3.14,
-3.22,3.20,3.30,3.28,3.18,3.28,3.21,3.33,3.35,3.22,
-3.25,3.37,3.36,3.36,3.41,3.50,3.42,3.46,3.47,3.33,
-3.54,3.40,3.46,3.54,3.64,3.52,3.64,3.58,3.56,3.51,
-3.68,3.69,3.65,3.75,3.74,3.63,3.82,3.92,3.80,3.80,
-3.68,3.65,3.87,3.81,4.03,3.82,3.79,3.74,3.91,3.94,
-3.93,3.78,4.02,3.90,4.04,4.06,4.14,4.17,4.07,4.05,
-3.96,4.07,4.15,4.15,4.18,4.21,4.25,4.16,4.17,4.16,
-4.13,4.23,4.18,4.25,4.31,4.31,4.19,4.32,4.38,4.53,
-4.48,4.44,4.28,4.43,4.42,4.49,4.48,4.34,4.35,4.63,
-4.71,4.72,4.54,4.36,4.67,4.56,4.62,4.65,4.57,4.42,
-4.63,4.65,4.64,4.62,4.52,4.62,4.54,4.49,4.96,4.79,
-4.63,4.91,4.65,4.81,4.73,4.61,4.73,4.78,4.86,4.54,
-4.86,4.90,4.91,5.24,4.88,4.89,4.86,4.80,4.87,4.95,
-5.07,5.02,4.92,5.04,4.90,5.07,5.08,5.12,4.96,5.07,
-5.01,4.89,5.21,5.11,5.11,4.92,5.17,5.14,5.42,5.36,
-5.12,5.25,5.11,5.34,5.26,5.15,5.08,5.51,5.16,5.18,
-5.11,5.31,5.30,5.11,5.40,5.36,5.34,5.14,5.52,5.44,
-5.14,5.36,5.45,5.48,5.41,5.57,5.50,5.51,5.61,5.27,
-5.40,5.52,5.31,5.32,5.61,5.65,5.35,5.25,5.51,5.53,
-5.42,5.56,5.48,5.65,5.51,5.65,5.60,5.88,5.70,5.54,
-5.39,5.78,5.66,5.50,5.60,5.70,5.64,5.82,5.80,6.01,
-0.96,1.01,1.07,1.12,1.15,1.19,1.22,1.25,1.33,1.33,
-1.38,1.43,1.44,1.41,1.46,1.53,1.56,1.62,1.64,1.66,
-1.69,1.70,1.80,1.76,1.78,1.82,1.81,1.81,1.88,1.93,
-1.93,1.97,1.95,2.05,2.00,2.06,2.09,2.05,2.12,2.12,
-2.14,2.08,2.15,2.24,2.22,2.23,2.20,2.26,2.33,2.31,
-2.30,2.34,2.42,2.38,2.41,2.41,2.52,2.42,2.56,2.42,
-2.58,2.55,2.65,2.56,2.55,2.56,2.62,2.73,2.63,2.70,
-2.68,2.79,2.69,2.75,2.77,2.88,2.86,2.85,3.00,2.88,
-2.78,3.00,2.83,2.87,2.82,2.98,2.91,2.95,2.82,3.01,
-2.88,3.03,3.08,3.16,3.02,3.11,3.10,3.18,3.06,3.28,
-3.19,3.18,3.22,3.33,3.19,3.28,3.25,3.48,3.39,3.31,
-3.27,3.30,3.25,3.32,3.41,3.34,3.39,3.39,3.41,3.48,
-3.50,3.59,3.53,3.53,3.55,3.43,3.70,3.51,3.47,3.57,
-3.56,3.56,3.51,3.63,3.65,3.56,3.62,3.63,3.70,3.72,
-3.55,3.80,3.64,3.63,3.61,3.66,3.78,3.74,3.94,4.03,
-3.96,3.81,3.95,3.85,3.90,3.78,3.88,3.98,3.90,3.97,
-4.02,3.92,3.85,4.10,3.88,3.78,4.03,4.12,3.96,3.97,
-4.19,4.18,4.00,4.15,4.16,3.98,4.27,4.33,4.15,4.19,
-4.30,4.15,4.17,4.12,4.35,4.14,4.29,4.23,4.41,4.43,
-4.21,4.31,4.40,4.23,4.34,4.33,4.27,4.22,4.16,4.42,
-4.43,4.42,4.32,4.51,4.41,4.57,4.44,4.61,4.43,4.49,
-4.40,4.52,4.47,4.66,4.46,4.54,4.65,4.67,4.51,4.71,
-4.79,4.73,4.56,4.63,4.56,4.69,4.77,4.68,4.59,4.56,
-4.80,4.65,4.75,4.83,4.76,4.62,4.67,4.88,4.95,4.93,
-4.60,4.87,4.92,4.87,4.96,5.08,4.83,4.69,4.67,5.11,
-4.96,4.72,4.78,4.82,4.91,4.98,4.92,4.83,5.00,5.06,
-5.10,5.07,4.94,4.94,4.97,5.05,4.93,5.04,5.06,5.02,
-5.04,4.89,5.12,5.12,5.23,5.18,5.19,4.97,5.05,5.04,
-5.22,5.19,5.05,5.12,5.32,5.26,5.15,5.29,5.11,5.34,
-0.84,0.93,0.91,0.99,1.07,1.08,1.14,1.07,1.12,1.25,
-1.19,1.26,1.37,1.30,1.29,1.33,1.40,1.41,1.47,1.49,
-1.44,1.55,1.53,1.57,1.67,1.63,1.62,1.67,1.70,1.67,
-1.74,1.79,1.85,1.85,1.82,1.82,1.80,1.85,1.86,1.89,
-1.82,1.94,1.93,1.98,2.02,2.02,2.01,2.03,2.08,2.09,
-2.09,2.04,2.21,2.22,2.19,2.27,2.26,2.22,2.33,2.23,
-2.25,2.36,2.38,2.24,2.36,2.33,2.50,2.40,2.42,2.44,
-2.40,2.48,2.50,2.51,2.49,2.52,2.52,2.63,2.55,2.34,
-2.67,2.64,2.47,2.58,2.68,2.61,2.60,2.60,2.74,2.75,
-2.81,2.66,2.83,2.79,2.73,2.78,2.77,2.83,2.88,2.89,
-2.95,2.91,2.81,2.83,2.94,2.89,2.91,2.95,2.82,3.04,
-3.07,2.88,3.06,2.96,2.92,2.94,2.98,3.05,3.08,3.06,
-3.18,3.15,3.13,3.03,3.15,3.14,3.26,3.32,3.19,3.24,
-3.24,3.17,3.28,3.25,3.36,3.18,3.29,3.40,3.24,3.46,
-3.21,3.38,3.29,3.32,3.38,3.39,3.42,3.24,3.34,3.44,
-3.45,3.36,3.42,3.44,3.59,3.55,3.51,3.56,3.51,3.52,
-3.50,3.52,3.65,3.60,3.61,3.72,3.62,3.52,3.69,3.63,
-3.76,3.61,3.58,3.67,3.67,3.55,3.63,3.76,3.68,3.77,
-3.80,3.78,3.82,3.80,3.95,3.92,3.90,3.95,3.78,3.86,
-3.80,3.93,3.93,3.98,3.83,3.83,4.08,4.04,3.80,3.84,
-3.88,4.03,4.05,3.89,4.11,4.13,3.99,4.07,3.97,3.93,
-3.91,4.15,3.98,4.17,4.05,4.15,4.23,4.20,3.93,4.19,
-4.09,4.03,4.08,4.07,4.22,4.31,4.19,4.14,4.15,4.25,
-4.22,4.36,4.11,4.24,4.13,4.24,3.98,4.13,4.17,4.32,
-4.29,4.28,4.33,4.46,4.46,4.38,4.49,4.17,4.56,4.47,
-4.35,4.50,4.55,4.35,4.47,4.39,4.32,4.26,4.36,4.56,
-4.56,4.48,4.41,4.47,4.56,4.50,4.60,4.47,4.62,4.52,
-4.50,4.56,4.67,4.54,4.76,4.43,4.67,4.58,4.60,4.70,
-4.78,4.72,4.62,4.60,4.50,4.76,4.48,4.66,4.58,4.72,
-0.80,0.83,0.85,0.84,0.93,0.93,0.98,0.99,1.01,1.05,
-1.07,1.12,1.16,1.19,1.19,1.22,1.23,1.27,1.27,1.35,
-1.38,1.41,1.39,1.39,1.40,1.43,1.44,1.54,1.49,1.59,
-1.49,1.52,1.60,1.62,1.57,1.58,1.62,1.64,1.68,1.70,
-1.75,1.72,1.77,1.73,1.77,1.78,1.80,1.83,1.81,1.86,
-1.90,1.93,1.97,1.87,1.93,1.98,2.03,2.00,2.00,1.94,
-2.03,2.03,2.04,2.06,2.12,2.22,2.19,2.12,2.18,2.18,
-2.07,2.16,2.23,2.20,2.21,2.24,2.14,2.29,2.26,2.28,
-2.25,2.33,2.28,2.36,2.39,2.42,2.35,2.43,2.40,2.44,
-2.36,2.54,2.50,2.54,2.45,2.40,2.46,2.54,2.50,2.55,
-2.45,2.56,2.63,2.62,2.49,2.60,2.55,2.64,2.70,2.68,
-2.60,2.69,2.61,2.67,2.64,2.69,2.72,2.65,2.75,2.80,
-2.62,2.78,2.75,2.75,2.97,2.94,2.84,2.86,2.93,2.85,
-2.87,2.83,2.86,2.85,2.94,2.85,2.85,2.85,2.84,2.98,
-2.95,2.89,3.04,3.05,2.93,2.96,3.04,2.95,3.04,3.08,
-3.04,3.13,3.05,3.15,3.06,3.12,3.20,3.08,3.09,3.23,
-3.10,3.15,3.15,3.07,3.18,3.20,3.28,3.18,3.26,3.31,
-3.38,3.28,3.21,3.32,3.30,3.35,3.37,3.25,3.40,3.44,
-3.23,3.26,3.34,3.45,3.38,3.36,3.49,3.50,3.47,3.46,
-3.38,3.43,3.47,3.42,3.53,3.51,3.41,3.46,3.37,3.41,
-3.55,3.36,3.52,3.62,3.65,3.48,3.62,3.56,3.60,3.50,
-3.73,3.52,3.57,3.76,3.59,3.70,3.48,3.65,3.60,3.84,
-3.52,3.62,3.78,3.83,3.75,3.69,3.86,3.68,3.74,3.78,
-3.73,3.77,3.73,3.89,3.74,3.82,3.90,3.89,3.75,3.92,
-3.79,3.92,3.59,4.04,3.75,3.89,3.88,3.85,3.88,3.85,
-3.83,4.01,4.01,4.01,4.04,3.88,3.96,3.81,3.83,3.98,
-3.87,3.86,4.14,4.07,3.90,4.14,4.08,4.12,4.07,4.03,
-4.19,4.15,4.06,3.98,4.03,4.04,4.07,4.05,4.16,4.09,
-4.09,4.20,4.34,4.01,4.16,4.23,4.17,4.23,4.46,4.13,
-0.67,0.74,0.74,0.79,0.81,0.86,0.83,0.90,0.98,0.99,
-0.93,1.05,1.01,1.01,1.07,1.07,1.09,1.12,1.13,1.15,
-1.19,1.20,1.19,1.22,1.35,1.38,1.27,1.35,1.34,1.38,
-1.32,1.36,1.45,1.45,1.45,1.49,1.46,1.48,1.49,1.53,
-1.60,1.59,1.52,1.54,1.56,1.61,1.59,1.66,1.65,1.66,
-1.63,1.70,1.72,1.66,1.78,1.81,1.71,1.78,1.82,1.79,
-1.86,1.87,1.87,1.78,1.94,1.93,1.85,1.94,1.86,1.94,
-1.89,1.94,1.96,1.91,2.02,2.06,1.99,2.07,2.09,2.11,
-1.95,1.93,2.13,2.02,2.14,2.17,2.14,2.21,2.10,2.19,
-2.14,2.23,2.18,2.14,2.27,2.25,2.18,2.21,2.25,2.24,
-2.20,2.26,2.28,2.32,2.29,2.28,2.35,2.26,2.34,2.48,
-2.35,2.32,2.32,2.41,2.33,2.42,2.47,2.45,2.48,2.34,
-2.46,2.52,2.36,2.58,2.53,2.46,2.51,2.54,2.57,2.60,
-2.56,2.45,2.58,2.75,2.66,2.78,2.61,2.67,2.51,2.67,
-2.63,2.64,2.61,2.74,2.59,2.63,2.59,2.71,2.74,2.78,
-2.65,2.63,2.68,2.85,2.77,2.80,2.82,2.78,2.80,2.89,
-2.72,2.87,2.87,2.80,2.74,2.74,2.93,2.86,2.92,2.92,
-2.96,2.85,2.91,2.93,3.09,3.03,2.90,2.89,3.01,3.06,
-3.05,3.09,3.05,2.88,2.97,3.03,3.07,2.99,3.20,3.00,
-2.95,2.98,3.19,3.18,3.06,3.14,3.08,3.08,3.10,3.06,
-3.06,3.12,3.18,3.09,3.13,3.18,3.19,3.27,3.19,3.26,
-3.16,3.05,3.28,3.30,3.13,3.28,3.26,3.34,3.12,3.19,
-3.32,3.32,3.23,3.21,3.34,3.24,3.25,3.37,3.52,3.43,
-3.27,3.45,3.37,3.31,3.33,3.46,3.29,3.52,3.33,3.40,
-3.46,3.40,3.51,3.56,3.47,3.38,3.47,3.34,3.61,3.39,
-3.39,3.50,3.65,3.43,3.62,3.41,3.54,3.49,3.47,3.45,
-3.40,3.50,3.56,3.59,3.57,3.69,3.57,3.59,3.61,3.71,
-3.64,3.72,3.68,3.52,3.65,3.72,3.68,3.64,3.54,3.51,
-3.56,3.68,3.74,3.62,3.78,3.54,3.65,3.68,3.63,3.70,
-0.62,0.61,0.67,0.72,0.76,0.77,0.79,0.80,0.83,0.88,
-0.87,0.89,0.93,0.95,0.93,1.03,0.99,1.04,1.09,1.07,
-1.02,1.08,1.11,1.16,1.10,1.11,1.15,1.12,1.18,1.17,
-1.23,1.27,1.20,1.26,1.28,1.28,1.31,1.24,1.36,1.32,
-1.36,1.36,1.34,1.44,1.40,1.44,1.49,1.48,1.47,1.50,
-1.49,1.51,1.50,1.47,1.51,1.56,1.53,1.53,1.56,1.62,
-1.65,1.65,1.62,1.59,1.66,1.66,1.66,1.63,1.65,1.74,
-1.77,1.78,1.71,1.74,1.72,1.78,1.79,1.79,1.82,1.82,
-1.80,1.81,1.80,1.86,1.89,1.82,1.90,1.88,1.80,1.91,
-1.98,1.94,1.96,1.95,1.92,1.95,1.97,1.93,2.10,2.00,
-2.05,2.05,1.97,2.04,2.05,2.08,2.11,2.17,2.06,2.00,
-2.17,2.11,2.14,2.18,2.10,2.24,2.11,2.26,2.12,2.17,
-2.23,2.20,2.29,2.08,2.20,2.19,2.24,2.28,2.19,2.22,
-2.35,2.23,2.36,2.28,2.28,2.30,2.30,2.36,2.28,2.40,
-2.26,2.38,2.33,2.30,2.32,2.35,2.46,2.44,2.38,2.44,
-2.41,2.47,2.42,2.44,2.45,2.44,2.48,2.49,2.47,2.50,
-2.50,2.49,2.56,2.54,2.49,2.61,2.55,2.50,2.55,2.53,
-2.60,2.58,2.58,2.50,2.67,2.66,2.75,2.58,2.66,2.59,
-2.71,2.64,2.67,2.58,2.75,2.75,2.67,2.72,2.68,2.69,
-2.63,2.75,2.74,2.74,2.78,2.78,2.75,2.84,2.63,2.77,
-2.82,2.86,2.77,2.93,2.76,2.80,2.85,2.79,2.78,2.79,
-2.81,2.76,2.86,2.88,2.97,2.80,3.01,2.93,3.07,2.81,
-3.00,2.90,2.97,2.88,2.97,2.84,2.81,2.93,2.99,2.99,
-3.04,2.90,2.96,3.05,2.93,2.99,3.01,3.03,2.94,2.91,
-2.96,2.99,3.06,3.04,3.07,2.97,3.08,3.06,3.09,3.07,
-3.11,3.16,3.02,3.07,3.17,3.17,3.15,3.12,3.24,3.12,
-3.22,3.20,3.05,3.11,3.19,3.36,3.16,3.27,3.20,3.16,
-3.12,3.24,3.18,3.28,3.24,3.15,3.25,3.25,3.34,3.25,
-3.27,3.15,3.23,3.27,3.40,3.24,3.30,3.48,3.45,3.37,
-0.58,0.58,0.59,0.60,0.60,0.67,0.68,0.70,0.72,0.77,
-0.77,0.76,0.84,0.81,0.84,0.82,0.89,0.90,0.91,0.91,
-0.96,0.91,0.97,0.99,1.00,0.97,1.01,1.05,1.07,1.07,
-1.08,1.06,1.13,1.11,1.07,1.09,1.12,1.14,1.09,1.19,
-1.22,1.21,1.24,1.22,1.25,1.22,1.30,1.34,1.35,1.29,
-1.33,1.29,1.29,1.33,1.37,1.37,1.39,1.39,1.43,1.42,
-1.43,1.45,1.48,1.40,1.43,1.41,1.55,1.54,1.50,1.51,
-1.49,1.55,1.49,1.56,1.54,1.54,1.57,1.57,1.58,1.58,
-1.57,1.60,1.62,1.61,1.64,1.67,1.66,1.62,1.63,1.69,
-1.72,1.81,1.70,1.68,1.68,1.74,1.73,1.77,1.76,1.81,
-1.72,1.83,1.80,1.80,1.80,1.87,1.72,1.91,1.80,1.86,
-1.92,1.90,1.89,1.81,1.83,1.91,1.91,1.86,1.94,1.94,
-1.92,1.86,1.90,1.95,1.87,1.99,1.87,1.97,1.98,2.00,
-2.05,2.01,2.03,2.03,1.92,2.01,2.04,2.04,2.01,2.03,
-2.12,2.06,2.12,2.13,2.10,2.09,1.99,2.15,2.18,2.18,
-2.12,2.15,2.19,2.14,2.22,2.28,2.11,2.29,2.18,2.20,
-2.14,2.19,2.24,2.31,2.24,2.27,2.22,2.20,2.17,2.24,
-2.23,2.23,2.32,2.23,2.35,2.32,2.26,2.29,2.38,2.37,
-2.42,2.30,2.34,2.40,2.30,2.30,2.33,2.25,2.46,2.38,
-2.36,2.37,2.30,2.43,2.32,2.35,2.35,2.35,2.38,2.47,
-2.50,2.46,2.50,2.51,2.55,2.44,2.41,2.52,2.50,2.44,
-2.43,2.44,2.48,2.58,2.56,2.58,2.64,2.58,2.49,2.51,
-2.54,2.53,2.60,2.58,2.56,2.51,2.63,2.71,2.49,2.57,
-2.65,2.65,2.60,2.69,2.72,2.48,2.56,2.60,2.72,2.75,
-2.64,2.70,2.79,2.69,2.80,2.68,2.78,2.71,2.73,2.78,
-2.63,2.77,2.70,2.76,2.81,2.65,2.79,2.91,2.75,2.80,
-2.82,2.72,2.77,2.99,2.74,2.85,2.72,2.80,2.87,2.85,
-2.88,2.79,2.77,3.00,2.80,2.76,2.93,2.83,2.87,2.72,
-2.85,3.05,2.89,2.88,2.79,2.86,3.00,2.85,2.93,3.01,
-0.48,0.49,0.55,0.59,0.56,0.58,0.63,0.61,0.63,0.64,
-0.68,0.69,0.67,0.71,0.70,0.75,0.76,0.75,0.80,0.82,
-0.83,0.87,0.84,0.86,0.89,0.84,0.91,0.88,0.96,0.93,
-0.93,1.00,0.96,0.99,0.96,1.04,1.02,1.02,1.03,1.06,
-1.03,1.08,1.07,1.15,1.09,1.10,1.13,1.15,1.15,1.10,
-1.14,1.18,1.15,1.20,1.15,1.25,1.20,1.24,1.31,1.27,
-1.31,1.22,1.33,1.30,1.26,1.32,1.28,1.26,1.29,1.29,
-1.35,1.41,1.38,1.30,1.36,1.38,1.36,1.36,1.38,1.38,
-1.42,1.43,1.44,1.41,1.34,1.46,1.48,1.51,1.52,1.42,
-1.44,1.47,1.49,1.54,1.48,1.56,1.51,1.46,1.58,1.59,
-1.50,1.56,1.55,1.53,1.61,1.54,1.56,1.62,1.58,1.64,
-1.66,1.64,1.63,1.62,1.66,1.75,1.62,1.72,1.73,1.78,
-1.71,1.69,1.70,1.72,1.77,1.77,1.71,1.73,1.71,1.70,
-1.82,1.76,1.79,1.72,1.79,1.81,1.75,1.71,1.84,1.82,
-1.85,1.80,1.82,1.87,1.86,1.85,1.90,1.87,1.86,1.84,
-1.85,1.84,1.90,1.87,1.83,1.79,1.90,1.91,1.99,1.97,
-1.97,1.91,1.92,1.87,1.93,2.03,1.96,1.92,2.00,1.93,
-2.01,1.96,2.07,2.00,2.01,2.02,2.05,2.04,2.05,2.02,
-2.00,2.13,2.06,2.07,2.13,2.04,2.06,2.13,2.11,2.17,
-2.20,2.08,2.14,2.06,2.15,2.12,2.11,2.13,2.16,2.20,
-2.13,2.14,2.19,2.24,2.16,2.18,2.10,2.29,2.20,2.16,
-2.19,2.21,2.20,2.24,2.27,2.26,2.30,2.32,2.27,2.34,
-2.28,2.23,2.23,2.24,2.30,2.27,2.22,2.28,2.30,2.30,
-2.30,2.41,2.33,2.34,2.27,2.34,2.32,2.34,2.26,2.24,
-2.35,2.37,2.29,2.42,2.30,2.43,2.41,2.45,2.36,2.41,
-2.34,2.48,2.45,2.37,2.36,2.46,2.43,2.45,2.45,2.37,
-2.44,2.34,2.42,2.48,2.44,2.46,2.55,2.38,2.57,2.55,
-2.58,2.48,2.50,2.56,2.50,2.45,2.51,2.54,2.54,2.63,
-2.54,2.57,2.55,2.57,2.55,2.52,2.49,2.61,2.55,2.63,
-0.44,0.44,0.44,0.46,0.49,0.52,0.53,0.55,0.58,0.59,
-0.58,0.63,0.64,0.63,0.65,0.65,0.67,0.69,0.70,0.69,
-0.72,0.73,0.75,0.75,0.82,0.78,0.76,0.83,0.80,0.82,
-0.83,0.86,0.85,0.89,0.89,0.88,0.93,0.94,0.92,0.91,
-0.95,0.98,0.86,1.00,0.98,0.96,0.95,0.99,0.99,1.07,
-1.01,1.06,1.00,1.07,1.07,1.06,1.01,1.11,1.06,1.07,
-1.11,1.15,1.12,1.07,1.11,1.16,1.14,1.12,1.21,1.16,
-1.23,1.19,1.22,1.20,1.20,1.26,1.20,1.20,1.19,1.25,
-1.25,1.20,1.22,1.30,1.27,1.24,1.27,1.30,1.32,1.26,
-1.27,1.26,1.31,1.27,1.34,1.36,1.34,1.37,1.41,1.39,
-1.41,1.40,1.41,1.44,1.40,1.40,1.42,1.35,1.49,1.47,
-1.43,1.45,1.43,1.42,1.54,1.44,1.44,1.46,1.49,1.49,
-1.49,1.51,1.49,1.50,1.53,1.56,1.53,1.57,1.56,1.48,
-1.52,1.58,1.50,1.54,1.57,1.59,1.55,1.58,1.55,1.60,
-1.53,1.57,1.59,1.59,1.70,1.60,1.71,1.65,1.68,1.65,
-1.61,1.62,1.72,1.70,1.68,1.72,1.64,1.68,1.69,1.69,
-1.70,1.69,1.64,1.76,1.69,1.68,1.71,1.71,1.73,1.74,
-1.69,1.75,1.76,1.81,1.77,1.75,1.78,1.80,1.82,1.85,
-1.86,1.80,1.79,1.78,1.81,1.78,1.86,1.88,1.87,1.82,
-1.86,1.86,1.73,1.85,1.86,1.86,1.89,1.90,1.97,1.87,
-1.92,1.88,1.92,2.00,1.89,1.80,1.89,1.83,1.94,1.91,
-1.93,2.00,1.93,1.92,1.97,1.97,1.87,2.01,1.97,1.88,
-1.99,1.91,2.02,2.01,2.01,1.99,2.05,1.97,2.05,2.03,
-2.05,2.08,2.02,2.04,2.12,2.01,2.05,2.02,2.04,2.06,
-1.98,2.16,2.07,2.06,2.13,2.11,2.02,2.07,2.08,2.19,
-2.13,2.16,2.09,2.09,2.10,2.18,2.15,2.24,2.10,2.14,
-2.22,2.17,2.18,2.20,2.10,2.17,2.20,2.22,2.16,2.17,
-2.21,2.19,2.17,2.22,2.25,2.23,2.19,2.20,2.25,2.24,
-2.28,2.14,2.11,2.24,2.24,2.18,2.34,2.17,2.30,2.31,
-0.36,0.39,0.39,0.43,0.43,0.46,0.44,0.45,0.49,0.53,
-0.55,0.52,0.52,0.57,0.56,0.61,0.59,0.62,0.64,0.65,
-0.62,0.68,0.65,0.69,0.65,0.69,0.69,0.72,0.69,0.73,
-0.77,0.72,0.73,0.79,0.76,0.77,0.78,0.78,0.78,0.82,
-0.81,0.86,0.83,0.83,0.84,0.85,0.85,0.90,0.88,0.90,
-0.91,0.91,0.94,0.89,0.88,0.89,0.93,0.94,0.97,0.97,
-0.92,1.01,0.98,1.01,0.96,1.00,1.02,1.00,1.03,1.05,
-1.02,1.04,1.01,1.02,1.09,1.03,1.07,1.08,1.11,1.09,
-1.07,1.13,1.10,1.15,1.16,1.12,1.15,1.13,1.16,1.17,
-1.12,1.16,1.17,1.16,1.21,1.13,1.20,1.20,1.23,1.21,
-1.22,1.17,1.24,1.25,1.26,1.21,1.20,1.22,1.21,1.21,
-1.26,1.26,1.24,1.27,1.21,1.35,1.31,1.32,1.27,1.28,
-1.34,1.34,1.32,1.30,1.34,1.26,1.35,1.29,1.35,1.38,
-1.36,1.36,1.39,1.37,1.33,1.41,1.46,1.33,1.42,1.36,
-1.41,1.45,1.39,1.40,1.47,1.40,1.43,1.51,1.45,1.45,
-1.45,1.50,1.43,1.39,1.51,1.44,1.47,1.53,1.49,1.47,
-1.51,1.46,1.49,1.50,1.51,1.52,1.54,1.47,1.52,1.55,
-1.55,1.50,1.52,1.65,1.60,1.57,1.52,1.64,1.55,1.59,
-1.68,1.65,1.68,1.52,1.59,1.60,1.60,1.63,1.63,1.63,
-1.53,1.60,1.60,1.66,1.63,1.54,1.69,1.67,1.63,1.63,
-1.67,1.69,1.75,1.68,1.75,1.66,1.75,1.67,1.69,1.64,
-1.67,1.71,1.60,1.74,1.72,1.69,1.79,1.78,1.72,1.79,
-1.74,1.76,1.81,1.70,1.69,1.67,1.82,1.82,1.74,1.83,
-1.74,1.74,1.81,1.80,1.80,1.80,1.77,1.80,1.83,1.74,
-1.82,1.85,1.76,1.77,1.86,1.86,1.80,1.80,1.92,1.93,
-1.83,1.78,1.83,1.88,1.86,1.88,1.88,1.80,1.79,1.89,
-1.85,1.93,1.84,1.89,1.77,1.90,1.95,1.85,1.91,1.89,
-1.90,1.87,1.95,1.92,1.96,2.02,2.00,1.85,1.92,1.88,
-1.94,1.92,1.95,1.94,2.02,1.94,1.91,2.02,1.95,2.04,
-0.32,0.36,0.34,0.38,0.38,0.40,0.42,0.42,0.45,0.46,
-0.47,0.47,0.48,0.50,0.52,0.49,0.51,0.53,0.53,0.54,
-0.58,0.61,0.61,0.58,0.60,0.62,0.60,0.58,0.59,0.63,
-0.63,0.63,0.66,0.66,0.65,0.71,0.68,0.69,0.71,0.69,
-0.72,0.70,0.70,0.75,0.73,0.77,0.76,0.74,0.77,0.81,
-0.79,0.83,0.81,0.80,0.79,0.80,0.83,0.83,0.80,0.86,
-0.84,0.86,0.82,0.84,0.87,0.87,0.87,0.86,0.90,0.93,
-0.87,0.91,0.90,0.93,0.86,0.96,0.95,0.89,0.95,0.95,
-0.97,0.97,0.96,1.00,0.98,0.96,0.97,1.00,0.97,0.99,
-1.03,1.03,1.00,1.03,1.02,1.05,1.09,1.05,1.06,1.06,
-1.05,1.05,1.06,1.07,1.16,1.10,1.10,1.08,1.10,1.11,
-1.07,1.09,1.11,1.10,1.13,1.06,1.15,1.14,1.11,1.16,
-1.16,1.14,1.12,1.13,1.20,1.18,1.21,1.17,1.18,1.18,
-1.17,1.21,1.20,1.26,1.20,1.22,1.20,1.19,1.25,1.22,
-1.23,1.26,1.29,1.22,1.27,1.26,1.23,1.22,1.23,1.27,
-1.25,1.30,1.31,1.25,1.24,1.35,1.33,1.34,1.32,1.28,
-1.29,1.31,1.33,1.29,1.34,1.42,1.37,1.31,1.34,1.29,
-1.32,1.30,1.37,1.41,1.34,1.41,1.34,1.43,1.41,1.39,
-1.34,1.42,1.46,1.38,1.47,1.44,1.39,1.42,1.41,1.44,
-1.42,1.46,1.47,1.47,1.42,1.42,1.43,1.46,1.51,1.44,
-1.51,1.47,1.43,1.54,1.52,1.52,1.41,1.45,1.57,1.48,
-1.50,1.48,1.59,1.50,1.50,1.59,1.59,1.45,1.52,1.42,
-1.49,1.52,1.52,1.54,1.53,1.55,1.55,1.55,1.56,1.56,
-1.57,1.55,1.56,1.62,1.55,1.55,1.63,1.58,1.56,1.58,
-1.67,1.57,1.58,1.56,1.61,1.57,1.63,1.59,1.62,1.70,
-1.60,1.69,1.57,1.58,1.65,1.62,1.65,1.67,1.66,1.59,
-1.62,1.64,1.66,1.70,1.63,1.67,1.60,1.64,1.66,1.73,
-1.70,1.66,1.67,1.72,1.74,1.75,1.67,1.68,1.72,1.71,
-1.69,1.74,1.71,1.68,1.80,1.75,1.70,1.80,1.71,1.73,
-0.28,0.28,0.28,0.33,0.32,0.33,0.35,0.39,0.36,0.40,
-0.41,0.41,0.40,0.45,0.40,0.43,0.45,0.47,0.47,0.49,
-0.45,0.51,0.52,0.49,0.50,0.53,0.53,0.54,0.55,0.55,
-0.55,0.56,0.54,0.56,0.57,0.59,0.63,0.62,0.60,0.61,
-0.64,0.62,0.67,0.62,0.62,0.66,0.64,0.64,0.67,0.68,
-0.69,0.71,0.69,0.71,0.70,0.75,0.72,0.71,0.74,0.76,
-0.79,0.78,0.72,0.75,0.80,0.78,0.78,0.78,0.79,0.78,
-0.79,0.78,0.81,0.82,0.88,0.85,0.77,0.85,0.80,0.83,
-0.88,0.84,0.86,0.88,0.86,0.93,0.80,0.88,0.90,0.89,
-0.89,0.91,0.88,0.87,0.85,0.93,0.92,0.94,0.94,0.95,
-0.94,0.94,0.95,0.97,0.97,0.91,0.96,0.94,0.95,0.94,
-1.00,0.93,0.94,0.98,1.00,0.99,1.00,1.00,1.03,1.00,
-1.00,1.05,1.02,1.04,1.03,1.05,1.01,1.02,1.01,1.10,
-1.06,1.04,1.06,1.10,1.08,1.12,1.08,1.07,1.09,1.10,
-1.01,1.08,1.14,1.14,1.11,1.12,1.08,1.13,1.10,1.10,
-1.10,1.11,1.12,1.13,1.14,1.12,1.09,1.17,1.14,1.11,
-1.11,1.18,1.16,1.19,1.19,1.20,1.13,1.21,1.19,1.19,
-1.14,1.19,1.14,1.19,1.21,1.24,1.18,1.19,1.16,1.22,
-1.21,1.22,1.20,1.22,1.29,1.19,1.31,1.24,1.30,1.21,
-1.24,1.23,1.27,1.33,1.28,1.22,1.27,1.28,1.23,1.25,
-1.30,1.26,1.25,1.29,1.31,1.29,1.36,1.31,1.30,1.33,
-1.29,1.29,1.31,1.32,1.33,1.32,1.30,1.32,1.32,1.31,
-1.35,1.31,1.37,1.32,1.38,1.36,1.37,1.45,1.32,1.38,
-1.36,1.43,1.42,1.36,1.39,1.36,1.39,1.38,1.37,1.41,
-1.39,1.44,1.46,1.43,1.44,1.41,1.42,1.46,1.44,1.42,
-1.39,1.43,1.40,1.40,1.38,1.41,1.43,1.43,1.45,1.43,
-1.44,1.42,1.38,1.43,1.45,1.46,1.44,1.49,1.43,1.46,
-1.50,1.50,1.49,1.53,1.49,1.46,1.44,1.49,1.53,1.43,
-1.51,1.52,1.43,1.50,1.51,1.57,1.54,1.52,1.59,1.54,
-0.25,0.27,0.25,0.29,0.28,0.31,0.30,0.32,0.33,0.35,
-0.37,0.34,0.40,0.39,0.36,0.37,0.41,0.40,0.48,0.43,
-0.41,0.45,0.43,0.47,0.47,0.49,0.47,0.51,0.46,0.47,
-0.48,0.51,0.52,0.51,0.54,0.50,0.53,0.51,0.55,0.55,
-0.57,0.57,0.57,0.58,0.57,0.58,0.59,0.59,0.60,0.58,
-0.59,0.61,0.62,0.63,0.58,0.66,0.62,0.63,0.63,0.64,
-0.65,0.65,0.66,0.62,0.63,0.68,0.67,0.66,0.66,0.69,
-0.68,0.68,0.68,0.69,0.68,0.69,0.72,0.73,0.73,0.76,
-0.75,0.72,0.75,0.74,0.75,0.74,0.77,0.73,0.78,0.78,
-0.79,0.75,0.77,0.81,0.75,0.79,0.82,0.84,0.82,0.80,
-0.81,0.85,0.81,0.81,0.82,0.85,0.84,0.87,0.80,0.84,
-0.86,0.86,0.85,0.87,0.88,0.86,0.90,0.85,0.88,0.88,
-0.86,0.89,0.88,0.88,0.88,0.95,0.90,0.89,0.90,0.94,
-0.97,0.92,0.91,0.94,0.92,0.94,0.89,0.91,0.93,0.97,
-0.94,0.97,0.95,1.03,0.93,0.93,0.92,0.96,0.95,0.97,
-0.95,0.99,0.96,0.99,1.00,0.99,1.01,0.95,1.06,0.96,
-1.04,1.03,1.05,1.01,1.04,1.05,1.00,1.02,1.07,1.06,
-1.02,1.06,1.00,1.02,1.04,1.03,1.04,1.01,1.07,1.07,
-1.04,1.03,1.09,1.04,1.07,1.10,1.04,1.12,1.03,1.09,
-1.13,1.11,1.12,1.11,1.08,1.09,1.13,1.06,1.11,1.10,
-1.08,1.07,1.14,1.12,1.21,1.13,1.12,1.14,1.09,1.10,
-1.14,1.16,1.17,1.18,1.16,1.15,1.15,1.20,1.13,1.19,
-1.14,1.13,1.18,1.18,1.21,1.20,1.16,1.22,1.18,1.15,
-1.22,1.21,1.21,1.19,1.19,1.24,1.24,1.23,1.23,1.27,
-1.20,1.22,1.26,1.19,1.27,1.20,1.25,1.20,1.25,1.22,
-1.22,1.27,1.27,1.26,1.22,1.22,1.26,1.31,1.27,1.30,
-1.29,1.24,1.31,1.25,1.32,1.27,1.23,1.23,1.32,1.31,
-1.27,1.25,1.29,1.30,1.32,1.33,1.26,1.33,1.32,1.28,
-1.33,1.27,1.34,1.31,1.30,1.35,1.32,1.32,1.37,1.36,
-0.23,0.22,0.24,0.25,0.25,0.26,0.25,0.29,0.28,0.30,
-0.32,0.33,0.33,0.32,0.30,0.34,0.34,0.36,0.35,0.35,
-0.35,0.37,0.38,0.36,0.39,0.38,0.41,0.43,0.38,0.41,
-0.43,0.44,0.43,0.46,0.46,0.45,0.46,0.44,0.48,0.49,
-0.48,0.44,0.50,0.49,0.48,0.51,0.49,0.49,0.53,0.53,
-0.54,0.55,0.50,0.54,0.55,0.58,0.54,0.57,0.58,0.54,
-0.55,0.59,0.59,0.57,0.58,0.57,0.55,0.58,0.58,0.63,
-0.59,0.64,0.60,0.60,0.62,0.67,0.62,0.63,0.64,0.64,
-0.67,0.67,0.66,0.63,0.67,0.67,0.70,0.68,0.67,0.71,
-0.65,0.68,0.67,0.66,0.73,0.70,0.72,0.66,0.73,0.69,
-0.68,0.71,0.77,0.72,0.69,0.74,0.71,0.73,0.74,0.73,
-0.74,0.72,0.76,0.77,0.75,0.79,0.75,0.74,0.80,0.76,
-0.77,0.76,0.72,0.78,0.75,0.77,0.83,0.81,0.85,0.83,
-0.81,0.80,0.78,0.84,0.82,0.80,0.82,0.83,0.81,0.79,
-0.84,0.83,0.86,0.85,0.87,0.84,0.85,0.84,0.88,0.86,
-0.85,0.84,0.86,0.93,0.89,0.86,0.90,0.87,0.91,0.89,
-0.93,0.88,0.85,0.89,0.91,0.91,0.88,0.92,0.87,0.93,
-0.88,0.96,0.89,0.91,0.90,0.91,0.92,0.94,0.90,0.94,
-0.95,0.97,0.95,0.98,0.94,0.95,0.94,0.95,0.95,0.91,
-0.95,0.94,0.93,0.96,0.96,0.95,1.01,0.99,0.97,0.94,
-0.98,1.00,0.94,1.02,0.99,0.95,1.00,1.02,0.97,0.95,
-1.00,0.98,0.97,1.05,1.04,1.01,1.01,0.99,1.04,1.03,
-1.02,1.00,1.09,1.00,0.99,1.02,1.02,1.02,1.04,1.01,
-1.04,1.06,1.03,1.08,1.04,1.03,1.07,1.06,1.05,1.09,
-1.11,1.07,1.08,1.03,1.11,1.06,1.08,1.06,1.09,1.10,
-1.11,1.07,1.11,1.10,1.06,1.11,1.10,1.13,1.04,1.09,
-1.10,1.10,1.11,1.10,1.10,1.18,1.09,1.09,1.10,1.12,
-1.17,1.13,1.17,1.10,1.13,1.14,1.16,1.13,1.09,1.15,
-1.15,1.20,1.15,1.14,1.17,1.17,1.15,1.19,1.15,1.20,
-0.19,0.20,0.21,0.19,0.22,0.22,0.24,0.25,0.23,0.27,
-0.26,0.27,0.28,0.28,0.28,0.29,0.29,0.34,0.30,0.32,
-0.33,0.34,0.33,0.34,0.33,0.35,0.37,0.39,0.36,0.35,
-0.38,0.34,0.37,0.39,0.38,0.40,0.39,0.42,0.43,0.42,
-0.39,0.43,0.44,0.41,0.45,0.44,0.40,0.45,0.45,0.46,
-0.44,0.44,0.47,0.47,0.46,0.49,0.49,0.49,0.51,0.46,
-0.43,0.53,0.49,0.47,0.52,0.50,0.55,0.54,0.51,0.53,
-0.52,0.53,0.54,0.53,0.52,0.54,0.54,0.53,0.54,0.58,
-0.58,0.55,0.54,0.57,0.55,0.60,0.57,0.59,0.56,0.59,
-0.57,0.56,0.55,0.62,0.58,0.58,0.61,0.60,0.65,0.60,
-0.61,0.64,0.62,0.64,0.64,0.62,0.66,0.63,0.59,0.63,
-0.64,0.67,0.64,0.64,0.66,0.65,0.67,0.68,0.69,0.65,
-0.64,0.74,0.67,0.66,0.63,0.67,0.69,0.69,0.69,0.64,
-0.71,0.73,0.67,0.72,0.72,0.67,0.72,0.73,0.71,0.71,
-0.69,0.73,0.77,0.73,0.73,0.72,0.75,0.71,0.75,0.72,
-0.78,0.72,0.74,0.77,0.79,0.75,0.79,0.77,0.77,0.78,
-0.79,0.76,0.76,0.77,0.76,0.77,0.79,0.83,0.78,0.78,
-0.81,0.81,0.79,0.84,0.77,0.81,0.78,0.83,0.85,0.82,
-0.79,0.83,0.81,0.80,0.80,0.87,0.85,0.88,0.83,0.84,
-0.81,0.80,0.84,0.86,0.83,0.84,0.86,0.92,0.84,0.90,
-0.80,0.83,0.87,0.85,0.84,0.84,0.93,0.89,0.87,0.88,
-0.90,0.86,0.93,0.85,0.87,0.83,0.90,0.89,0.88,0.94,
-0.89,0.94,0.90,0.90,0.92,0.91,0.91,0.89,0.95,0.94,
-0.88,0.94,0.89,0.94,0.90,0.91,0.91,0.89,0.96,0.94,
-0.96,0.98,0.92,0.93,0.93,0.96,1.00,0.95,0.95,0.94,
-1.02,0.97,1.00,0.95,0.98,0.97,0.92,0.93,0.96,0.95,
-0.97,0.94,0.97,0.98,0.96,0.97,0.98,0.99,0.99,1.02,
-1.00,1.03,0.94,1.00,0.99,0.95,1.00,0.98,1.01,0.95,
-0.98,0.98,0.99,0.98,0.99,1.05,0.98,1.02,1.03,1.02,
-1.10,1.18,1.22,1.24,1.30,1.39,1.38,1.40,1.38,1.43,
-1.57,1.53,1.63,1.65,1.63,1.75,1.78,1.78,1.85,1.87,
-1.85,1.97,2.01,1.96,1.93,2.00,2.03,2.08,2.16,2.16,
-2.21,2.20,2.21,2.20,2.34,2.31,2.28,2.42,2.33,2.39,
-2.44,2.41,2.45,2.48,2.54,2.50,2.58,2.58,2.57,2.61,
-2.60,2.67,2.71,2.79,2.73,2.81,2.83,2.82,2.84,2.78,
-2.81,2.90,2.92,2.84,2.99,3.02,2.96,2.98,2.93,3.05,
-3.02,3.17,3.08,3.22,3.07,3.14,3.12,3.20,3.26,3.19,
-3.18,3.16,3.43,3.24,3.34,3.31,3.37,3.45,3.36,3.33,
-3.53,3.43,3.49,3.65,3.42,3.55,3.71,3.43,3.63,3.61,
-3.61,3.58,3.61,3.53,3.71,3.70,3.59,3.68,3.73,3.75,
-3.59,3.64,3.84,3.80,3.73,3.95,3.87,3.77,3.76,3.95,
-3.91,3.95,4.02,3.93,4.05,3.85,3.88,4.09,3.98,3.87,
-4.09,3.94,4.05,4.13,4.01,4.09,4.10,4.24,4.13,4.24,
-4.15,4.19,4.15,4.36,4.31,4.05,4.22,4.43,4.07,4.29,
-4.31,4.37,4.42,4.38,4.41,4.35,4.48,4.54,4.47,4.33,
-4.49,4.34,4.33,4.43,4.37,4.55,4.45,4.44,4.49,4.51,
-4.66,4.59,4.63,4.63,4.66,4.79,4.58,4.54,4.69,4.69,
-4.76,4.74,4.71,4.77,4.87,4.83,4.94,4.90,4.89,4.83,
-4.89,4.96,4.79,4.99,4.84,4.89,5.05,4.79,4.95,5.11,
-5.27,5.01,5.02,5.00,5.02,5.13,4.97,5.05,5.00,5.01,
-5.01,5.16,5.02,5.12,5.28,5.14,5.06,5.09,5.08,5.20,
-5.05,5.05,5.36,5.36,5.15,5.27,5.26,5.26,5.47,5.29,
-5.47,5.26,5.27,5.29,5.42,5.26,5.51,5.39,5.29,5.40,
-5.55,5.51,5.70,5.34,5.50,5.58,5.54,5.34,5.66,5.50,
-5.57,5.43,5.48,5.55,5.70,5.55,5.44,5.42,5.58,5.65,
-5.41,5.50,5.48,5.69,5.53,5.61,5.86,5.49,5.76,5.93,
-5.54,5.51,5.83,5.84,5.89,5.69,5.66,5.61,5.90,5.74,
-5.99,5.91,5.94,5.80,5.63,5.86,5.89,6.03,5.99,6.11,
-0.98,1.08,1.07,1.16,1.15,1.23,1.28,1.31,1.34,1.43,
-1.45,1.48,1.43,1.44,1.51,1.55,1.61,1.62,1.68,1.70,
-1.71,1.76,1.78,1.85,1.89,1.83,1.91,1.88,1.93,1.93,
-1.99,2.05,2.02,2.04,2.02,2.01,2.12,2.13,2.11,2.15,
-2.21,2.26,2.28,2.20,2.29,2.31,2.36,2.42,2.39,2.42,
-2.52,2.49,2.57,2.36,2.60,2.42,2.50,2.53,2.53,2.58,
-2.53,2.66,2.68,2.65,2.75,2.83,2.74,2.73,2.74,2.81,
-2.68,2.83,2.88,2.94,2.77,2.81,2.75,2.93,3.02,2.92,
-2.96,2.96,2.93,2.99,3.17,3.03,3.16,3.21,3.16,3.26,
-3.06,2.99,3.13,3.12,3.19,3.24,3.24,3.30,3.24,3.27,
-3.28,3.26,3.25,3.30,3.27,3.40,3.38,3.39,3.38,3.49,
-3.38,3.57,3.37,3.45,3.62,3.46,3.57,3.59,3.56,3.46,
-3.47,3.63,3.57,3.66,3.57,3.60,3.68,3.62,3.53,3.69,
-3.77,3.60,3.84,3.80,3.72,3.56,3.79,3.91,3.74,3.67,
-3.94,3.87,3.97,3.78,3.94,3.95,3.80,3.82,4.05,3.84,
-3.88,4.07,3.87,3.88,3.97,4.24,4.01,4.07,4.01,3.91,
-4.21,4.06,4.03,4.06,4.26,4.23,4.10,4.19,4.08,4.34,
-4.17,4.24,4.19,4.00,4.23,4.32,4.16,4.22,4.09,4.24,
-4.24,4.38,4.49,4.46,4.27,4.32,4.38,4.42,4.41,4.22,
-4.38,4.44,4.58,4.51,4.36,4.42,4.44,4.64,4.53,4.57,
-4.44,4.41,4.60,4.60,4.62,4.78,4.63,4.64,4.57,4.62,
-4.69,4.74,4.63,4.83,4.57,4.66,4.67,4.50,4.76,4.68,
-4.82,4.68,4.69,4.71,4.89,4.72,4.79,4.71,4.70,4.96,
-4.85,4.81,4.81,4.93,5.07,4.75,4.81,5.07,4.84,4.72,
-4.99,5.00,4.97,4.85,4.99,4.98,5.02,4.98,5.07,4.91,
-5.01,5.15,5.08,5.10,5.19,5.33,5.13,5.10,5.29,5.19,
-5.06,5.12,5.06,5.01,5.11,5.24,5.20,5.16,5.14,5.20,
-5.39,5.55,5.04,5.24,5.23,5.20,5.35,5.09,5.31,5.34,
-5.39,5.16,5.33,5.46,5.27,5.44,5.40,5.51,5.50,5.29,
-0.95,0.94,0.97,1.04,1.08,1.12,1.18,1.16,1.23,1.22,
-1.31,1.32,1.32,1.36,1.44,1.47,1.42,1.50,1.52,1.58,
-1.54,1.56,1.64,1.65,1.72,1.62,1.71,1.73,1.78,1.75,
-1.83,1.83,1.85,1.84,1.88,1.92,1.86,1.92,1.96,1.94,
-2.03,2.09,2.10,1.98,2.14,2.10,2.15,2.17,2.21,2.18,
-2.22,2.26,2.22,2.28,2.30,2.34,2.28,2.20,2.21,2.44,
-2.27,2.43,2.38,2.40,2.41,2.48,2.47,2.37,2.61,2.49,
-2.60,2.56,2.56,2.63,2.53,2.69,2.65,2.65,2.61,2.68,
-2.75,2.65,2.69,2.74,2.82,2.77,2.66,2.80,2.72,2.76,
-2.75,2.80,2.88,2.86,2.83,2.91,2.86,2.92,2.94,2.95,
-2.96,3.10,3.09,3.12,3.01,2.89,3.08,3.00,3.01,3.12,
-3.11,3.04,3.12,3.12,3.19,3.01,3.30,3.08,3.12,3.21,
-3.23,3.19,3.27,3.18,3.27,3.25,3.28,3.38,3.29,3.32,
-3.37,3.30,3.46,3.43,3.39,3.34,3.40,3.25,3.44,3.40,
-3.47,3.48,3.51,3.41,3.48,3.48,3.65,3.60,3.53,3.55,
-3.55,3.48,3.65,3.58,3.66,3.56,3.57,3.62,3.63,3.74,
-3.67,3.79,3.67,3.58,3.68,3.72,3.91,3.76,3.88,3.74,
-3.76,3.89,3.81,3.76,3.86,3.99,3.85,3.89,3.78,3.91,
-3.86,3.85,3.94,3.87,4.11,3.93,3.96,3.89,3.94,3.85,
-4.05,4.08,4.05,4.05,4.01,3.97,4.14,4.08,4.12,4.04,
-4.14,4.08,4.38,3.91,4.18,4.12,4.22,4.21,4.34,4.36,
-4.33,4.33,4.24,4.09,4.26,4.24,4.27,4.27,4.19,4.48,
-4.42,4.21,4.48,4.39,4.20,4.32,4.49,4.32,4.66,4.25,
-4.31,4.29,4.57,4.44,4.44,4.57,4.41,4.50,4.46,4.38,
-4.45,4.46,4.38,4.50,4.53,4.63,4.60,4.59,4.58,4.64,
-4.71,4.72,4.55,4.57,4.72,4.60,4.72,4.77,4.77,4.51,
-4.62,4.68,4.59,4.79,4.48,4.65,4.50,4.63,4.59,4.64,
-4.73,4.84,4.65,4.79,4.84,4.87,4.88,4.99,4.72,4.85,
-4.77,4.95,4.86,4.90,4.76,4.92,4.94,4.73,4.90,4.85,
-0.86,0.90,0.91,0.90,0.96,0.99,1.02,1.07,1.07,1.10,
-1.16,1.21,1.20,1.19,1.25,1.31,1.30,1.30,1.35,1.36,
-1.45,1.38,1.45,1.48,1.51,1.54,1.55,1.61,1.61,1.56,
-1.63,1.61,1.68,1.72,1.71,1.76,1.71,1.80,1.83,1.79,
-1.79,1.77,1.87,1.78,1.81,1.98,1.86,2.00,1.92,2.01,
-2.03,1.90,2.07,2.10,2.07,2.15,2.02,2.03,2.02,2.04,
-2.14,2.17,2.16,2.08,2.20,2.27,2.28,2.28,2.29,2.30,
-2.33,2.31,2.31,2.37,2.44,2.31,2.40,2.40,2.50,2.35,
-2.48,2.40,2.45,2.43,2.43,2.55,2.43,2.58,2.52,2.57,
-2.56,2.62,2.57,2.49,2.72,2.63,2.62,2.69,2.68,2.61,
-2.64,2.67,2.69,2.71,2.74,2.77,2.70,2.74,2.76,2.82,
-2.85,2.84,2.82,2.86,2.88,2.91,2.87,2.81,2.91,2.79,
-2.90,2.88,2.94,2.93,2.97,2.99,2.89,2.93,2.94,2.95,
-3.08,2.98,3.09,3.10,2.88,3.15,3.11,3.19,3.15,3.15,
-3.11,3.21,3.23,3.20,3.15,3.23,3.11,3.14,3.29,3.16,
-3.35,3.21,3.21,3.36,3.28,3.36,3.29,3.30,3.29,3.41,
-3.17,3.36,3.35,3.21,3.34,3.41,3.31,3.43,3.42,3.46,
-3.43,3.52,3.51,3.35,3.48,3.47,3.43,3.54,3.47,3.43,
-3.53,3.38,3.48,3.59,3.51,3.59,3.75,3.57,3.62,3.62,
-3.60,3.61,3.53,3.60,3.62,3.68,3.55,3.62,3.66,3.54,
-3.65,3.76,3.68,3.64,3.81,3.68,3.67,3.75,3.65,3.82,
-3.84,3.89,3.85,3.64,3.93,3.88,3.93,3.90,3.74,3.83,
-4.09,3.80,3.96,3.76,3.94,3.88,3.74,3.98,3.94,3.78,
-3.89,3.92,3.96,3.99,3.94,4.06,3.99,4.12,4.12,4.15,
-4.14,4.01,4.16,4.16,3.99,4.21,4.09,4.28,4.02,4.29,
-4.07,4.28,4.25,4.09,4.18,4.19,4.14,4.22,4.15,4.35,
-4.13,4.21,4.27,4.20,4.21,4.21,4.32,4.35,4.23,4.18,
-4.27,4.31,4.13,4.32,4.26,4.34,4.25,4.30,4.13,4.36,
-4.37,4.26,4.53,4.44,4.37,4.29,4.38,4.33,4.46,4.49,
-0.75,0.78,0.84,0.83,0.88,0.91,0.91,0.97,0.97,1.00,
-1.05,1.07,1.08,1.13,1.12,1.16,1.19,1.21,1.21,1.24,
-1.30,1.27,1.27,1.39,1.41,1.41,1.35,1.39,1.46,1.48,
-1.41,1.48,1.44,1.51,1.60,1.59,1.56,1.56,1.64,1.62,
-1.58,1.60,1.66,1.75,1.67,1.72,1.75,1.66,1.83,1.73,
-1.82,1.86,1.89,1.78,1.75,1.80,1.85,1.89,1.86,1.95,
-1.92,1.96,1.96,1.97,1.89,2.08,2.02,2.04,2.02,2.03,
-2.10,2.07,2.08,2.05,2.13,2.14,2.15,2.13,2.14,2.12,
-2.20,2.27,2.23,2.16,2.25,2.26,2.22,2.22,2.17,2.32,
-2.35,2.34,2.27,2.37,2.32,2.38,2.40,2.42,2.31,2.31,
-2.45,2.42,2.40,2.40,2.56,2.54,2.48,2.47,2.56,2.55,
-2.48,2.59,2.49,2.56,2.56,2.57,2.55,2.54,2.62,2.63,
-2.60,2.63,2.59,2.53,2.68,2.68,2.63,2.65,2.55,2.70,
-2.78,2.77,2.77,2.64,2.78,2.76,2.74,2.63,2.84,2.92,
-2.77,2.82,2.91,2.89,2.85,2.86,2.81,2.83,2.94,3.02,
-2.82,2.91,2.90,2.99,3.00,2.90,2.99,2.96,3.07,2.92,
-3.05,3.07,3.01,3.11,3.12,3.06,3.05,3.00,3.03,3.07,
-3.04,3.07,3.09,3.07,3.19,3.12,3.26,3.20,3.12,3.20,
-3.08,3.22,3.26,3.21,3.20,3.18,3.10,3.28,3.17,3.29,
-3.32,3.33,3.22,3.27,3.38,3.11,3.12,3.31,3.28,3.35,
-3.39,3.40,3.32,3.27,3.36,3.39,3.21,3.45,3.38,3.33,
-3.43,3.29,3.33,3.38,3.44,3.27,3.42,3.46,3.42,3.43,
-3.42,3.53,3.44,3.40,3.44,3.43,3.47,3.52,3.61,3.34,
-3.57,3.63,3.52,3.58,3.74,3.80,3.57,3.59,3.63,3.73,
-3.68,3.70,3.53,3.64,3.58,3.73,3.77,3.75,3.66,3.73,
-3.72,3.77,3.74,3.56,3.78,3.67,3.77,3.73,3.83,3.66,
-3.87,3.94,3.76,3.90,3.78,3.54,3.76,3.94,3.81,3.79,
-3.96,3.81,3.95,3.95,3.82,3.82,3.70,3.79,3.91,3.87,
-3.81,3.86,3.84,4.30,3.87,3.98,3.95,3.93,3.89,3.83,
-0.69,0.68,0.71,0.78,0.74,0.80,0.82,0.86,0.85,0.90,
-0.90,0.99,0.97,1.02,1.00,1.03,1.03,1.05,1.08,1.13,
-1.18,1.12,1.15,1.22,1.20,1.19,1.27,1.26,1.25,1.28,
-1.30,1.33,1.35,1.34,1.35,1.40,1.38,1.41,1.43,1.42,
-1.42,1.43,1.48,1.54,1.58,1.58,1.60,1.56,1.54,1.58,
-1.59,1.61,1.63,1.63,1.61,1.60,1.72,1.65,1.72,1.69,
-1.72,1.71,1.77,1.75,1.73,1.77,1.76,1.77,1.81,1.78,
-1.84,1.85,1.90,1.94,1.92,1.87,1.85,1.95,1.96,1.93,
-1.88,1.97,1.99,2.01,2.01,2.02,1.96,2.02,2.12,2.01,
-2.06,2.05,2.06,2.16,2.16,2.14,1.97,2.05,2.12,2.19,
-2.16,2.17,2.21,2.17,2.15,2.12,2.23,2.25,2.17,2.23,
-2.27,2.25,2.22,2.16,2.21,2.26,2.27,2.35,2.34,2.34,
-2.36,2.27,2.40,2.36,2.33,2.41,2.44,2.42,2.52,2.48,
-2.45,2.39,2.41,2.36,2.46,2.51,2.44,2.58,2.51,2.48,
-2.54,2.52,2.47,2.61,2.45,2.62,2.50,2.64,2.67,2.67,
-2.58,2.59,2.69,2.63,2.58,2.61,2.56,2.64,2.62,2.63,
-2.65,2.65,2.67,2.63,2.62,2.78,2.70,2.76,2.79,2.74,
-2.74,2.74,2.83,2.85,2.68,2.74,2.69,2.77,2.82,2.84,
-2.90,2.75,2.80,2.96,2.87,2.81,2.92,2.88,2.91,2.85,
-2.87,2.92,3.01,2.90,2.89,2.95,2.87,2.97,2.93,3.03,
-2.96,2.95,2.98,2.93,3.10,2.94,3.00,3.05,3.12,3.00,
-3.14,3.06,3.02,3.05,2.99,3.05,3.05,3.13,3.16,3.05,
-3.05,3.16,3.20,3.08,3.17,2.99,3.21,3.12,3.26,3.10,
-3.29,3.18,3.15,3.10,3.22,3.10,3.26,3.31,3.19,3.23,
-3.29,3.27,3.35,3.33,3.37,3.19,3.35,3.35,3.22,3.27,
-3.27,3.34,3.27,3.31,3.23,3.41,3.36,3.39,3.30,3.45,
-3.27,3.29,3.48,3.36,3.33,3.47,3.39,3.31,3.41,3.50,
-3.34,3.53,3.43,3.40,3.30,3.33,3.29,3.39,3.52,3.53,
-3.43,3.50,3.48,3.55,3.56,3.43,3.62,3.58,3.52,3.49,
-0.57,0.60,0.65,0.64,0.69,0.73,0.75,0.76,0.78,0.82,
-0.82,0.83,0.85,0.92,0.91,0.97,0.93,0.95,1.00,0.99,
-1.05,1.01,1.00,1.09,1.11,1.11,1.11,1.10,1.12,1.16,
-1.17,1.18,1.23,1.24,1.28,1.16,1.19,1.25,1.26,1.33,
-1.30,1.30,1.39,1.38,1.37,1.35,1.34,1.34,1.45,1.38,
-1.42,1.42,1.46,1.37,1.48,1.48,1.47,1.43,1.45,1.50,
-1.44,1.59,1.48,1.61,1.60,1.58,1.66,1.62,1.63,1.62,
-1.67,1.59,1.64,1.70,1.61,1.67,1.69,1.77,1.67,1.80,
-1.74,1.80,1.71,1.71,1.75,1.78,1.70,1.81,1.84,1.78,
-1.78,1.85,1.82,1.88,1.86,1.98,1.86,1.87,1.94,1.88,
-1.84,1.94,1.86,1.90,1.89,1.95,1.99,2.02,2.03,1.97,
-1.99,1.95,1.96,1.99,2.03,2.02,2.02,2.12,2.10,2.05,
-2.11,2.13,2.11,2.05,2.17,2.16,2.09,2.13,2.13,2.11,
-2.12,2.25,2.17,2.17,2.21,2.32,2.15,2.19,2.28,2.20,
-2.13,2.22,2.24,2.25,2.22,2.26,2.21,2.37,2.37,2.35,
-2.36,2.39,2.41,2.33,2.35,2.36,2.47,2.32,2.40,2.47,
-2.39,2.32,2.43,2.47,2.38,2.41,2.35,2.40,2.46,2.53,
-2.39,2.49,2.44,2.42,2.52,2.54,2.53,2.46,2.55,2.49,
-2.58,2.53,2.56,2.47,2.55,2.43,2.47,2.54,2.62,2.56,
-2.58,2.51,2.59,2.68,2.71,2.64,2.54,2.67,2.64,2.58,
-2.59,2.67,2.63,2.62,2.75,2.65,2.63,2.77,2.72,2.86,
-2.83,2.79,2.70,2.81,2.72,2.71,2.79,2.75,2.77,2.73,
-2.80,2.69,2.78,2.82,2.86,2.85,2.83,2.86,2.92,2.74,
-2.74,2.86,2.78,2.83,2.84,2.93,2.87,2.85,2.83,2.77,
-2.99,2.88,2.86,2.76,2.89,3.02,2.79,2.97,3.00,2.96,
-2.74,3.04,2.94,2.93,2.96,3.10,3.14,2.97,2.80,3.03,
-2.92,2.91,3.05,3.07,3.02,2.93,2.95,3.02,3.23,3.18,
-3.00,3.09,3.00,3.12,2.93,3.09,3.08,3.13,3.00,3.10,
-3.16,3.18,3.16,2.99,3.15,3.16,3.13,3.12,3.20,3.21,
-0.52,0.54,0.57,0.61,0.66,0.65,0.67,0.68,0.71,0.76,
-0.78,0.77,0.76,0.79,0.81,0.83,0.82,0.85,0.86,0.84,
-0.87,0.87,0.95,0.95,0.96,1.04,0.95,0.98,1.02,1.04,
-1.00,1.00,1.08,1.06,1.06,1.08,1.09,1.12,1.17,1.18,
-1.17,1.18,1.15,1.23,1.19,1.24,1.20,1.25,1.28,1.23,
-1.29,1.28,1.23,1.32,1.34,1.29,1.30,1.38,1.35,1.37,
-1.38,1.36,1.44,1.34,1.39,1.42,1.51,1.46,1.48,1.49,
-1.45,1.43,1.44,1.47,1.53,1.49,1.49,1.50,1.49,1.47,
-1.52,1.48,1.55,1.68,1.66,1.59,1.55,1.59,1.61,1.59,
-1.66,1.66,1.63,1.62,1.71,1.67,1.78,1.74,1.70,1.71,
-1.69,1.73,1.74,1.75,1.79,1.68,1.80,1.78,1.76,1.83,
-1.81,1.80,1.77,1.81,1.78,1.77,1.81,1.77,1.86,1.92,
-1.82,1.92,1.86,1.79,1.89,1.88,1.92,1.93,1.90,1.85,
-1.94,1.90,1.93,2.01,1.98,1.97,1.97,1.96,1.95,1.93,
-1.91,2.02,1.98,1.99,2.09,2.01,1.96,2.02,2.00,2.07,
-2.08,2.10,2.08,2.05,2.09,2.16,2.06,2.13,2.10,2.07,
-2.17,2.06,2.07,2.12,2.16,2.12,2.19,2.12,2.19,2.15,
-2.12,2.24,2.18,2.16,2.17,2.22,2.13,2.26,2.19,2.21,
-2.24,2.27,2.22,2.24,2.19,2.23,2.30,2.35,2.24,2.24,
-2.29,2.37,2.40,2.37,2.19,2.27,2.32,2.39,2.28,2.20,
-2.37,2.33,2.28,2.37,2.47,2.30,2.40,2.37,2.42,2.44,
-2.34,2.48,2.38,2.38,2.44,2.41,2.49,2.40,2.46,2.43,
-2.46,2.52,2.39,2.49,2.57,2.62,2.43,2.48,2.61,2.55,
-2.51,2.48,2.51,2.37,2.52,2.52,2.52,2.46,2.66,2.64,
-2.54,2.54,2.62,2.50,2.66,2.58,2.52,2.70,2.60,2.59,
-2.62,2.63,2.71,2.59,2.70,2.72,2.65,2.67,2.59,2.67,
-2.68,2.64,2.67,2.70,2.77,2.65,2.71,2.71,2.73,2.67,
-2.59,2.76,2.69,2.73,2.69,2.78,2.84,2.75,2.67,2.64,
-2.80,2.93,2.80,2.78,2.78,2.85,2.81,2.77,2.85,2.79,
-0.45,0.45,0.49,0.52,0.54,0.56,0.57,0.60,0.60,0.65,
-0.65,0.69,0.68,0.70,0.71,0.71,0.74,0.76,0.77,0.76,
-0.81,0.82,0.82,0.80,0.85,0.87,0.92,0.86,0.91,0.86,
-0.94,0.90,0.94,0.98,0.94,0.97,1.00,1.01,1.02,1.06,
-1.01,1.01,1.04,1.07,1.06,1.08,1.08,1.15,1.06,1.14,
-1.08,1.16,1.16,1.15,1.14,1.16,1.14,1.11,1.18,1.13,
-1.19,1.21,1.21,1.25,1.25,1.22,1.24,1.27,1.30,1.28,
-1.33,1.28,1.34,1.36,1.35,1.30,1.35,1.28,1.35,1.35,
-1.38,1.36,1.40,1.39,1.40,1.45,1.39,1.42,1.43,1.44,
-1.47,1.40,1.43,1.53,1.52,1.53,1.46,1.46,1.53,1.54,
-1.52,1.60,1.56,1.53,1.56,1.54,1.58,1.63,1.48,1.56,
-1.54,1.55,1.68,1.61,1.59,1.61,1.54,1.58,1.65,1.59,
-1.64,1.68,1.68,1.62,1.71,1.67,1.69,1.65,1.70,1.62,
-1.69,1.75,1.67,1.73,1.74,1.73,1.71,1.76,1.77,1.73,
-1.74,1.72,1.75,1.82,1.81,1.78,1.82,1.85,1.79,1.84,
-1.86,1.83,1.85,1.77,1.84,1.89,1.93,1.93,1.87,1.99,
-1.94,1.90,1.96,1.94,1.87,1.86,1.86,1.89,1.88,1.89,
-1.89,1.92,1.94,2.03,1.87,1.96,1.93,1.96,1.97,2.00,
-2.01,2.00,1.98,2.03,1.95,2.02,1.95,2.01,2.00,2.00,
-2.03,2.05,2.02,2.07,2.10,2.10,2.08,2.08,2.12,2.09,
-2.15,2.04,2.08,2.16,2.12,2.01,2.10,2.09,2.12,2.18,
-2.12,2.17,2.13,2.18,2.09,2.20,2.18,2.15,2.18,2.16,
-2.25,2.18,2.26,2.24,2.25,2.12,2.18,2.28,2.23,2.27,
-2.22,2.26,2.23,2.19,2.21,2.25,2.23,2.25,2.29,2.18,
-2.34,2.26,2.31,2.19,2.19,2.30,2.36,2.21,2.31,2.25,
-2.40,2.32,2.30,2.31,2.37,2.24,2.40,2.33,2.38,2.38,
-2.48,2.53,2.30,2.38,2.46,2.37,2.32,2.42,2.46,2.37,
-2.42,2.46,2.41,2.36,2.46,2.45,2.35,2.42,2.44,2.52,
-2.49,2.39,2.48,2.38,2.47,2.41,2.46,2.61,2.47,2.50,
-0.39,0.44,0.43,0.48,0.47,0.49,0.50,0.51,0.53,0.56,
-0.55,0.60,0.60,0.61,0.65,0.65,0.66,0.66,0.67,0.70,
-0.72,0.70,0.71,0.75,0.72,0.71,0.73,0.79,0.78,0.77,
-0.77,0.80,0.83,0.81,0.84,0.84,0.88,0.88,0.89,0.89,
-0.91,0.93,0.94,0.95,0.96,0.96,0.93,0.92,0.98,0.93,
-1.02,0.99,1.03,1.02,1.02,1.03,0.98,1.03,1.03,1.04,
-0.99,1.06,1.08,1.08,1.09,1.12,1.14,1.17,1.10,1.19,
-1.14,1.13,1.15,1.15,1.15,1.17,1.15,1.16,1.19,1.17,
-1.20,1.24,1.22,1.25,1.23,1.23,1.22,1.22,1.28,1.30,
-1.28,1.27,1.17,1.30,1.29,1.32,1.31,1.38,1.30,1.30,
-1.37,1.33,1.38,1.36,1.36,1.32,1.37,1.44,1.39,1.39,
-1.37,1.43,1.37,1.43,1.43,1.39,1.44,1.39,1.51,1.54,
-1.39,1.50,1.48,1.43,1.47,1.48,1.45,1.53,1.52,1.45,
-1.44,1.49,1.52,1.50,1.56,1.54,1.56,1.53,1.61,1.54,
-1.62,1.57,1.57,1.56,1.61,1.61,1.56,1.56,1.66,1.62,
-1.57,1.62,1.62,1.58,1.59,1.59,1.63,1.65,1.63,1.70,
-1.69,1.65,1.65,1.69,1.79,1.65,1.68,1.73,1.68,1.73,
-1.67,1.72,1.73,1.66,1.75,1.75,1.73,1.72,1.77,1.77,
-1.71,1.71,1.70,1.80,1.83,1.73,1.79,1.78,1.83,1.78,
-1.79,1.85,1.79,1.74,1.77,1.75,1.82,1.80,1.80,1.79,
-1.86,1.92,1.94,1.80,1.85,1.84,1.88,1.98,1.90,1.87,
-1.85,1.97,1.91,1.84,1.79,1.82,1.92,1.89,1.92,1.85,
-1.94,1.90,1.95,1.89,1.95,1.94,1.93,2.02,2.00,1.92,
-1.96,1.93,1.96,1.94,1.91,1.95,2.01,1.95,2.02,2.04,
-2.00,2.04,1.97,1.99,2.02,2.04,2.06,1.93,1.98,2.10,
-2.08,2.07,2.10,2.03,2.05,2.04,2.17,2.09,2.04,2.09,
-2.12,2.07,2.11,2.20,2.12,2.09,2.20,2.08,2.04,2.10,
-2.06,2.08,2.09,2.14,2.11,2.16,2.23,2.18,2.22,2.08,
-2.14,2.14,2.14,2.14,2.16,2.15,2.23,2.25,2.18,2.19,
-0.36,0.39,0.40,0.43,0.44,0.44,0.46,0.49,0.48,0.51,
-0.52,0.50,0.55,0.56,0.57,0.54,0.60,0.63,0.62,0.62,
-0.62,0.62,0.64,0.67,0.67,0.69,0.66,0.73,0.69,0.68,
-0.70,0.68,0.73,0.74,0.73,0.80,0.73,0.78,0.78,0.77,
-0.79,0.84,0.81,0.83,0.85,0.87,0.84,0.82,0.81,0.86,
-0.83,0.90,0.87,0.89,0.88,0.94,0.88,0.92,0.89,0.90,
-0.94,0.97,0.94,0.97,0.95,0.98,0.99,1.03,1.01,1.00,
-0.99,1.02,1.09,1.01,1.00,1.00,1.04,1.06,1.02,1.10,
-1.08,1.12,1.07,1.07,1.09,1.12,1.10,1.09,1.14,1.14,
-1.07,1.12,1.17,1.13,1.16,1.19,1.17,1.16,1.20,1.22,
-1.19,1.24,1.23,1.22,1.25,1.18,1.21,1.23,1.23,1.23,
-1.18,1.19,1.24,1.22,1.17,1.27,1.22,1.33,1.30,1.30,
-1.28,1.31,1.30,1.28,1.26,1.34,1.31,1.22,1.31,1.31,
-1.31,1.27,1.38,1.36,1.33,1.39,1.33,1.38,1.37,1.35,
-1.40,1.41,1.40,1.47,1.47,1.39,1.45,1.43,1.41,1.43,
-1.41,1.40,1.40,1.39,1.44,1.43,1.43,1.44,1.47,1.44,
-1.45,1.47,1.47,1.44,1.48,1.52,1.44,1.52,1.52,1.53,
-1.48,1.51,1.51,1.52,1.48,1.54,1.48,1.53,1.50,1.58,
-1.52,1.58,1.55,1.59,1.54,1.58,1.56,1.61,1.60,1.56,
-1.63,1.59,1.64,1.63,1.55,1.64,1.58,1.65,1.57,1.56,
-1.62,1.71,1.62,1.61,1.61,1.66,1.59,1.67,1.67,1.64,
-1.67,1.74,1.66,1.68,1.69,1.63,1.68,1.64,1.63,1.71,
-1.64,1.76,1.75,1.75,1.70,1.74,1.70,1.72,1.71,1.72,
-1.71,1.72,1.78,1.80,1.73,1.72,1.80,1.84,1.82,1.75,
-1.79,1.77,1.81,1.83,1.83,1.83,1.84,1.79,1.75,1.93,
-1.81,1.79,1.84,1.78,1.86,1.86,1.87,1.83,1.93,1.82,
-1.96,1.74,1.83,1.85,1.93,1.94,1.83,1.91,1.83,1.82,
-1.85,1.93,1.89,1.91,1.97,1.88,1.87,1.88,1.81,1.94,
-1.93,1.87,1.99,1.90,1.95,1.99,1.98,1.97,1.94,1.99,
-0.35,0.31,0.35,0.35,0.39,0.42,0.41,0.40,0.41,0.45,
-0.45,0.45,0.47,0.49,0.49,0.48,0.50,0.53,0.54,0.57,
-0.50,0.54,0.57,0.56,0.62,0.59,0.56,0.61,0.63,0.65,
-0.63,0.65,0.65,0.64,0.64,0.66,0.68,0.66,0.65,0.70,
-0.70,0.70,0.74,0.70,0.72,0.70,0.75,0.76,0.79,0.77,
-0.79,0.78,0.74,0.82,0.78,0.81,0.78,0.83,0.83,0.82,
-0.85,0.85,0.85,0.83,0.88,0.85,0.85,0.88,0.85,0.90,
-0.84,0.92,0.91,0.91,0.91,0.91,0.91,0.95,0.87,0.95,
-0.94,0.94,0.99,0.98,0.95,0.97,0.93,0.97,0.98,0.99,
-0.96,1.01,0.98,1.00,1.03,1.10,1.01,1.01,1.04,1.01,
-1.03,1.06,1.02,1.03,1.02,1.06,1.08,1.06,1.06,1.13,
-1.08,1.05,1.08,1.10,1.13,1.11,1.13,1.09,1.09,1.11,
-1.17,1.17,1.15,1.15,1.17,1.16,1.12,1.21,1.18,1.19,
-1.12,1.19,1.15,1.18,1.21,1.23,1.18,1.17,1.20,1.23,
-1.26,1.22,1.20,1.20,1.20,1.27,1.24,1.28,1.26,1.16,
-1.26,1.34,1.27,1.22,1.31,1.24,1.29,1.26,1.35,1.31,
-1.26,1.35,1.28,1.24,1.31,1.25,1.33,1.31,1.38,1.27,
-1.34,1.35,1.29,1.30,1.34,1.38,1.35,1.38,1.40,1.34,
-1.40,1.37,1.36,1.39,1.35,1.45,1.40,1.39,1.41,1.39,
-1.43,1.44,1.39,1.51,1.39,1.42,1.38,1.43,1.40,1.43,
-1.47,1.48,1.44,1.46,1.46,1.43,1.47,1.46,1.50,1.47,
-1.44,1.53,1.43,1.50,1.46,1.55,1.49,1.53,1.48,1.42,
-1.53,1.52,1.45,1.52,1.59,1.51,1.54,1.51,1.48,1.55,
-1.53,1.51,1.58,1.50,1.56,1.52,1.57,1.52,1.57,1.55,
-1.55,1.57,1.63,1.59,1.48,1.57,1.58,1.52,1.59,1.61,
-1.62,1.65,1.64,1.63,1.70,1.62,1.58,1.61,1.61,1.58,
-1.63,1.61,1.65,1.60,1.65,1.64,1.61,1.65,1.65,1.62,
-1.65,1.67,1.68,1.64,1.67,1.61,1.71,1.68,1.68,1.71,
-1.72,1.75,1.74,1.60,1.63,1.75,1.63,1.70,1.74,1.70,
-0.28,0.28,0.28,0.31,0.30,0.33,0.37,0.35,0.39,0.37,
-0.41,0.40,0.42,0.43,0.46,0.43,0.48,0.49,0.47,0.46,
-0.48,0.46,0.49,0.54,0.52,0.53,0.55,0.54,0.52,0.53,
-0.58,0.56,0.54,0.60,0.61,0.57,0.58,0.59,0.61,0.60,
-0.64,0.63,0.62,0.61,0.61,0.64,0.69,0.65,0.65,0.69,
-0.65,0.68,0.70,0.72,0.67,0.67,0.72,0.71,0.75,0.75,
-0.72,0.74,0.73,0.75,0.72,0.77,0.73,0.73,0.75,0.73,
-0.76,0.80,0.83,0.78,0.81,0.80,0.82,0.85,0.83,0.82,
-0.83,0.85,0.85,0.86,0.85,0.81,0.83,0.85,0.86,0.85,
-0.86,0.87,0.89,0.91,0.90,0.91,0.92,0.89,0.91,0.88,
-0.91,0.91,0.89,0.93,0.93,0.93,0.92,0.93,0.97,0.95,
-0.96,0.98,0.98,1.02,0.95,0.99,0.96,1.01,0.99,1.02,
-1.01,1.03,0.98,1.03,1.01,1.03,1.06,1.08,1.04,1.05,
-1.02,1.09,1.09,1.05,1.07,1.04,1.03,1.06,1.08,1.06,
-1.12,1.05,1.06,1.12,1.15,1.09,1.11,1.11,1.07,1.05,
-1.08,1.15,1.08,1.15,1.13,1.14,1.11,1.09,1.15,1.12,
-1.15,1.17,1.21,1.16,1.17,1.18,1.14,1.16,1.24,1.21,
-1.16,1.18,1.20,1.18,1.18,1.17,1.17,1.16,1.19,1.21,
-1.24,1.12,1.20,1.23,1.22,1.19,1.22,1.25,1.24,1.21,
-1.32,1.24,1.28,1.24,1.25,1.25,1.26,1.23,1.32,1.28,
-1.28,1.28,1.24,1.30,1.26,1.29,1.30,1.31,1.33,1.34,
-1.29,1.32,1.30,1.29,1.29,1.29,1.31,1.37,1.33,1.30,
-1.33,1.35,1.33,1.38,1.34,1.38,1.31,1.35,1.39,1.29,
-1.34,1.31,1.36,1.35,1.40,1.35,1.37,1.37,1.35,1.34,
-1.40,1.38,1.37,1.36,1.38,1.36,1.44,1.43,1.43,1.40,
-1.39,1.37,1.44,1.44,1.46,1.43,1.40,1.44,1.46,1.44,
-1.44,1.44,1.43,1.49,1.44,1.43,1.49,1.39,1.50,1.47,
-1.47,1.49,1.47,1.52,1.44,1.50,1.47,1.49,1.51,1.48,
-1.47,1.57,1.47,1.50,1.53,1.53,1.54,1.52,1.44,1.55,
-0.25,0.26,0.29,0.28,0.28,0.30,0.29,0.30,0.31,0.34,
-0.34,0.37,0.33,0.37,0.41,0.42,0.35,0.41,0.43,0.39,
-0.42,0.45,0.44,0.44,0.45,0.50,0.44,0.46,0.49,0.46,
-0.46,0.51,0.51,0.52,0.50,0.50,0.53,0.54,0.53,0.55,
-0.54,0.56,0.55,0.55,0.57,0.61,0.57,0.56,0.60,0.60,
-0.59,0.59,0.59,0.64,0.61,0.64,0.63,0.65,0.65,0.64,
-0.67,0.66,0.67,0.64,0.67,0.67,0.65,0.69,0.66,0.71,
-0.65,0.71,0.71,0.70,0.69,0.72,0.75,0.74,0.72,0.73,
-0.74,0.74,0.73,0.74,0.75,0.75,0.72,0.72,0.78,0.80,
-0.79,0.79,0.80,0.82,0.77,0.77,0.82,0.79,0.81,0.86,
-0.82,0.81,0.80,0.84,0.83,0.83,0.83,0.85,0.83,0.84,
-0.84,0.85,0.86,0.79,0.82,0.89,0.90,0.93,0.87,0.89,
-0.89,0.84,0.86,0.87,0.89,0.88,0.92,0.93,0.89,0.92,
-0.90,0.93,0.86,0.95,0.93,0.92,0.92,0.92,0.97,0.98,
-0.91,0.93,0.91,0.97,0.98,0.92,0.96,0.99,0.98,0.97,
-1.02,1.02,1.00,0.99,0.99,0.99,0.95,1.00,0.99,0.98,
-1.02,1.01,1.02,1.01,1.02,1.04,1.05,1.05,1.01,1.07,
-1.00,1.00,1.04,1.02,1.04,1.06,1.04,1.03,1.04,1.06,
-1.09,1.01,1.09,1.05,1.08,1.08,1.07,1.09,1.08,1.09,
-1.07,1.12,1.12,1.05,1.10,1.05,1.07,1.15,1.13,1.12,
-1.11,1.15,1.11,1.12,1.12,1.14,1.13,1.15,1.14,1.13,
-1.11,1.08,1.19,1.18,1.12,1.19,1.18,1.18,1.18,1.14,
-1.16,1.18,1.17,1.16,1.20,1.17,1.17,1.13,1.19,1.25,
-1.18,1.18,1.23,1.26,1.25,1.23,1.19,1.24,1.19,1.21,
-1.18,1.19,1.19,1.22,1.19,1.23,1.16,1.26,1.27,1.23,
-1.22,1.22,1.26,1.24,1.25,1.28,1.24,1.28,1.17,1.24,
-1.19,1.26,1.25,1.32,1.25,1.29,1.27,1.24,1.26,1.30,
-1.29,1.24,1.31,1.30,1.24,1.29,1.20,1.24,1.22,1.26,
-1.25,1.25,1.32,1.34,1.25,1.33,1.32,1.32,1.36,1.34,
-0.21,0.25,0.25,0.24,0.27,0.24,0.27,0.27,0.29,0.30,
-0.30,0.30,0.32,0.32,0.34,0.34,0.32,0.37,0.36,0.36,
-0.35,0.38,0.41,0.41,0.39,0.37,0.40,0.43,0.43,0.41,
-0.40,0.40,0.46,0.44,0.45,0.46,0.49,0.44,0.46,0.45,
-0.49,0.52,0.50,0.50,0.49,0.51,0.51,0.52,0.54,0.52,
-0.53,0.54,0.54,0.52,0.52,0.55,0.54,0.52,0.57,0.59,
-0.57,0.59,0.58,0.55,0.60,0.59,0.61,0.58,0.62,0.62,
-0.63,0.56,0.61,0.61,0.65,0.61,0.62,0.63,0.62,0.66,
-0.63,0.64,0.64,0.62,0.67,0.65,0.67,0.68,0.68,0.70,
-0.65,0.68,0.72,0.71,0.67,0.70,0.69,0.69,0.71,0.69,
-0.72,0.68,0.75,0.75,0.76,0.73,0.73,0.74,0.73,0.70,
-0.71,0.71,0.76,0.76,0.76,0.75,0.78,0.79,0.80,0.78,
-0.77,0.73,0.80,0.76,0.75,0.83,0.76,0.80,0.79,0.81,
-0.79,0.80,0.80,0.82,0.81,0.80,0.84,0.82,0.83,0.84,
-0.83,0.83,0.83,0.82,0.86,0.84,0.86,0.82,0.84,0.83,
-0.86,0.86,0.87,0.89,0.87,0.86,0.85,0.89,0.88,0.85,
-0.85,0.89,0.88,0.89,0.91,0.86,0.89,0.88,0.88,0.94,
-0.89,0.88,0.91,0.89,0.91,0.91,0.93,0.89,0.91,0.89,
-0.91,0.93,0.97,0.93,0.96,0.95,1.02,0.90,0.92,0.95,
-0.93,0.93,0.95,0.99,0.95,1.00,0.97,0.94,0.94,1.03,
-1.00,0.99,0.97,0.95,1.03,0.98,0.96,0.96,1.01,1.01,
-1.03,1.03,1.04,1.03,1.02,1.09,0.97,1.05,1.01,1.02,
-0.99,1.01,1.03,1.01,1.05,1.04,1.00,1.06,1.08,1.08,
-0.99,1.06,1.07,1.06,1.05,1.06,1.08,1.05,1.11,0.99,
-1.07,1.05,1.10,1.10,1.07,1.09,1.11,1.08,1.11,1.11,
-1.08,1.06,1.07,1.10,1.08,1.08,1.06,1.08,1.10,1.08,
-1.10,1.07,1.12,1.11,1.16,1.09,1.11,1.16,1.08,1.13,
-1.11,1.08,1.14,1.11,1.11,1.13,1.16,1.13,1.16,1.17,
-1.13,1.19,1.15,1.17,1.16,1.20,1.19,1.12,1.17,1.21,
-1.15,1.17,1.24,1.28,1.36,1.39,1.42,1.50,1.48,1.50,
-1.60,1.65,1.71,1.73,1.72,1.79,1.80,1.84,1.88,1.89,
-1.86,1.95,2.03,2.03,2.11,2.03,2.10,2.13,2.19,2.16,
-2.23,2.23,2.22,2.36,2.41,2.40,2.37,2.35,2.36,2.43,
-2.49,2.57,2.55,2.54,2.69,2.61,2.73,2.54,2.66,2.58,
-2.65,2.70,2.74,2.81,2.81,2.90,2.95,2.80,2.79,2.96,
-2.88,3.10,2.90,3.03,3.03,3.04,3.02,3.12,3.03,3.19,
-3.22,3.21,3.21,3.21,3.15,3.25,3.19,3.16,3.34,3.38,
-3.16,3.32,3.23,3.27,3.36,3.35,3.33,3.40,3.27,3.51,
-3.55,3.40,3.57,3.61,3.53,3.65,3.70,3.77,3.44,3.68,
-3.60,3.59,3.56,3.72,3.64,3.84,3.63,3.63,3.88,3.82,
-3.71,3.84,3.86,4.08,3.89,3.97,3.95,3.85,3.91,3.83,
-3.85,4.00,3.80,3.93,3.91,3.94,3.99,4.14,4.21,4.09,
-4.06,4.04,4.00,4.14,4.12,4.20,4.31,4.06,4.40,4.34,
-4.09,4.11,4.22,4.29,4.35,4.46,4.34,4.56,4.26,4.39,
-4.30,4.42,4.37,4.42,4.43,4.45,4.47,4.49,4.62,4.62,
-4.55,4.42,4.62,4.39,4.55,4.60,4.69,4.64,4.50,4.62,
-4.81,4.75,4.52,4.62,4.63,4.73,4.61,4.84,4.77,4.90,
-4.84,4.82,4.92,4.72,4.84,4.80,4.75,4.80,4.65,4.96,
-5.12,4.97,4.93,4.98,5.05,5.08,4.87,4.84,5.10,4.93,
-5.02,5.16,5.12,5.05,5.08,5.03,5.25,5.06,5.18,5.02,
-5.30,5.30,5.06,5.35,5.11,5.43,5.25,5.19,5.36,5.26,
-5.40,5.28,5.19,5.22,5.40,5.45,5.50,5.33,5.31,5.33,
-5.56,5.39,5.43,5.37,5.52,5.50,5.40,5.37,5.49,5.32,
-5.57,5.62,5.32,5.47,5.66,5.42,5.56,5.57,5.53,5.47,
-5.67,5.57,5.46,5.47,5.51,5.50,5.58,5.75,5.69,5.64,
-5.67,5.73,5.88,5.73,5.89,5.85,5.69,5.43,5.92,5.81,
-5.76,5.68,6.08,5.93,5.95,5.77,5.85,5.82,5.80,6.06,
-6.00,5.91,5.99,5.92,6.14,6.12,6.09,5.90,5.98,5.70,
-1.04,1.09,1.06,1.14,1.22,1.23,1.30,1.40,1.36,1.43,
-1.45,1.49,1.50,1.62,1.58,1.66,1.68,1.69,1.77,1.74,
-1.73,1.84,1.86,1.81,1.90,1.86,1.96,2.00,1.96,2.12,
-2.03,2.01,2.21,2.12,2.14,2.17,2.14,2.19,2.17,2.29,
-2.27,2.22,2.37,2.40,2.36,2.41,2.46,2.48,2.54,2.53,
-2.54,2.49,2.53,2.62,2.60,2.50,2.62,2.67,2.70,2.61,
-2.72,2.64,2.73,2.65,2.75,2.83,2.75,2.89,2.81,2.83,
-2.88,2.90,2.71,2.90,2.99,2.85,2.92,3.08,2.95,3.08,
-3.15,3.02,3.12,3.00,3.04,3.11,3.19,3.15,3.31,3.18,
-3.15,3.32,3.27,3.27,3.12,3.26,3.29,3.29,3.48,3.26,
-3.37,3.39,3.51,3.49,3.42,3.46,3.40,3.30,3.48,3.53,
-3.52,3.47,3.51,3.56,3.54,3.57,3.63,3.60,3.66,3.71,
-3.70,3.62,3.64,3.70,3.76,3.59,3.66,3.73,3.81,3.78,
-3.74,3.88,3.70,3.87,3.90,3.97,3.75,3.86,3.88,3.99,
-3.87,4.00,3.87,3.84,3.93,3.90,4.04,4.16,3.90,4.04,
-4.15,4.15,3.94,4.15,4.12,4.08,4.17,4.13,4.22,4.17,
-4.14,4.19,4.28,4.30,4.22,4.41,4.05,4.23,4.17,4.33,
-4.35,4.29,4.28,4.29,4.19,4.34,4.57,4.32,4.28,4.38,
-4.23,4.64,4.53,4.45,4.44,4.30,4.75,4.45,4.32,4.64,
-4.42,4.76,4.63,4.35,4.64,4.75,4.80,4.71,4.52,4.71,
-4.61,4.51,4.65,4.79,4.72,4.80,4.64,4.66,4.81,4.76,
-4.70,4.74,4.65,4.83,4.90,4.70,4.73,4.74,4.76,4.80,
-4.91,4.83,4.81,4.83,4.97,4.91,4.99,5.22,4.84,4.85,
-4.93,4.84,5.20,4.93,5.07,5.05,5.03,5.08,5.15,5.17,
-5.15,5.18,5.26,5.00,5.04,5.08,5.17,4.82,5.26,5.05,
-5.36,5.07,5.07,5.15,5.16,5.10,5.21,5.06,5.26,5.23,
-5.23,5.32,5.48,5.16,5.41,5.30,5.39,5.64,5.41,5.39,
-5.31,5.33,5.25,5.52,5.64,5.44,5.33,5.21,5.52,5.37,
-5.50,5.59,5.49,5.53,5.48,5.38,5.50,5.53,5.65,5.59,
-0.97,0.97,1.03,1.09,1.11,1.15,1.21,1.23,1.24,1.29,
-1.40,1.42,1.43,1.48,1.45,1.56,1.52,1.49,1.58,1.61,
-1.66,1.65,1.74,1.73,1.78,1.81,1.80,1.78,1.73,1.85,
-1.82,1.83,1.90,2.02,2.00,1.97,2.04,2.07,2.08,2.02,
-2.07,2.15,2.07,2.12,2.16,2.14,2.23,2.22,2.22,2.25,
-2.29,2.39,2.37,2.35,2.37,2.39,2.43,2.53,2.44,2.43,
-2.43,2.46,2.46,2.55,2.42,2.50,2.56,2.68,2.60,2.54,
-2.68,2.71,2.64,2.69,2.67,2.68,2.71,2.72,2.79,2.75,
-2.67,2.72,2.73,2.80,2.90,2.91,2.88,2.92,2.92,3.00,
-3.02,2.95,3.01,2.98,2.98,2.91,2.94,3.06,3.11,3.00,
-3.12,3.21,3.12,3.02,3.09,3.18,3.26,3.28,3.30,3.16,
-3.16,3.14,3.14,3.32,3.35,3.23,3.26,3.14,3.29,3.29,
-3.37,3.32,3.54,3.31,3.58,3.48,3.46,3.38,3.47,3.56,
-3.46,3.52,3.53,3.58,3.43,3.50,3.56,3.65,3.53,3.49,
-3.58,3.59,3.47,3.60,3.64,3.66,3.64,3.61,3.76,3.67,
-3.81,3.70,3.82,3.74,3.73,3.74,3.83,3.87,3.80,3.75,
-3.89,3.77,3.73,3.99,3.83,3.71,3.96,3.95,3.88,3.81,
-3.87,3.76,3.92,4.05,4.03,4.13,3.98,3.92,4.05,3.97,
-4.05,4.22,3.98,4.15,4.27,4.12,4.18,4.21,4.15,4.09,
-4.29,4.04,4.12,4.31,4.23,4.45,4.36,4.24,4.21,4.15,
-4.37,4.17,4.25,4.14,4.26,4.29,4.38,4.29,4.34,4.35,
-4.40,4.32,4.35,4.49,4.41,4.35,4.64,4.53,4.46,4.31,
-4.62,4.54,4.42,4.64,4.65,4.44,4.68,4.55,4.62,4.59,
-4.43,4.54,4.63,4.47,4.64,4.44,4.75,4.66,4.45,4.66,
-4.60,4.55,4.89,4.78,4.78,4.59,4.68,4.64,4.61,4.78,
-4.74,4.75,4.68,4.63,4.76,4.78,4.85,4.89,4.55,4.94,
-4.93,4.71,4.74,4.73,4.87,4.86,4.87,4.74,4.84,4.87,
-4.78,4.99,5.03,5.03,4.98,5.02,5.05,4.94,4.97,4.82,
-5.01,4.92,5.01,4.87,5.04,5.03,5.23,5.04,5.14,5.24,
-0.88,0.92,0.95,0.98,1.07,1.04,1.08,1.14,1.13,1.20,
-1.20,1.23,1.25,1.29,1.35,1.40,1.35,1.39,1.46,1.46,
-1.45,1.52,1.55,1.55,1.59,1.59,1.64,1.57,1.61,1.77,
-1.68,1.70,1.68,1.79,1.77,1.76,1.76,1.88,1.83,1.89,
-1.92,1.94,1.91,1.96,1.96,1.98,1.99,2.02,2.07,1.98,
-2.11,2.06,2.07,2.05,2.23,2.23,2.18,2.12,2.17,2.20,
-2.18,2.27,2.35,2.31,2.29,2.32,2.31,2.33,2.40,2.42,
-2.41,2.46,2.37,2.42,2.41,2.34,2.51,2.46,2.50,2.51,
-2.54,2.53,2.56,2.57,2.82,2.63,2.64,2.73,2.64,2.67,
-2.72,2.66,2.73,2.61,2.77,2.65,2.80,2.77,2.78,2.77,
-2.86,2.83,2.87,2.86,2.97,2.92,2.96,2.92,2.75,2.85,
-2.97,2.89,2.94,2.93,2.90,2.96,2.94,3.09,3.12,3.13,
-3.00,3.02,3.02,3.11,3.12,3.14,3.23,3.28,3.19,3.11,
-3.22,3.12,3.21,3.18,3.27,3.22,3.18,3.31,3.28,3.31,
-3.30,3.17,3.18,3.32,3.41,3.22,3.37,3.37,3.49,3.36,
-3.44,3.34,3.31,3.26,3.33,3.57,3.40,3.48,3.45,3.54,
-3.50,3.59,3.45,3.48,3.42,3.68,3.46,3.59,3.51,3.72,
-3.62,3.52,3.59,3.66,3.71,3.60,3.56,3.58,3.77,3.69,
-3.78,3.75,3.69,3.77,3.78,3.76,3.61,3.67,3.93,3.89,
-3.76,3.86,3.86,3.79,3.74,3.76,3.79,3.98,3.92,3.90,
-3.79,3.86,4.07,3.81,3.81,3.99,3.83,3.86,4.03,4.04,
-3.85,4.01,4.01,4.06,4.02,4.07,4.14,3.98,4.01,4.00,
-3.98,4.03,4.19,4.00,4.06,4.23,3.98,4.17,3.95,4.12,
-4.19,4.21,4.29,4.05,4.04,4.14,4.13,4.07,4.19,4.24,
-4.04,4.22,4.17,4.29,4.23,4.40,4.25,4.24,4.20,4.46,
-4.27,4.53,4.26,4.37,4.20,4.13,4.30,4.36,4.34,4.42,
-4.43,4.46,4.29,4.49,4.40,4.37,4.48,4.51,4.54,4.53,
-4.48,4.60,4.56,4.69,4.69,4.42,4.53,4.53,4.56,4.55,
-4.60,4.83,4.61,4.71,4.31,4.67,4.56,4.69,4.77,4.77,
-0.77,0.81,0.86,0.91,0.92,0.98,0.98,1.06,1.06,1.03,
-1.06,1.10,1.16,1.19,1.16,1.19,1.30,1.28,1.27,1.33,
-1.34,1.36,1.37,1.41,1.37,1.51,1.40,1.44,1.50,1.47,
-1.57,1.58,1.55,1.63,1.62,1.59,1.59,1.71,1.67,1.70,
-1.69,1.69,1.72,1.75,1.83,1.83,1.83,1.85,1.83,1.86,
-1.85,1.84,1.95,2.02,1.95,1.87,1.95,1.99,1.98,1.97,
-1.97,2.04,2.11,2.07,2.08,2.08,2.08,2.19,2.12,2.13,
-2.15,2.13,2.23,2.18,2.35,2.23,2.26,2.26,2.27,2.31,
-2.32,2.26,2.28,2.33,2.33,2.49,2.36,2.40,2.35,2.47,
-2.52,2.41,2.44,2.46,2.46,2.41,2.45,2.56,2.60,2.39,
-2.50,2.65,2.62,2.50,2.56,2.65,2.56,2.55,2.70,2.66,
-2.63,2.66,2.64,2.68,2.71,2.66,2.83,2.88,2.78,2.64,
-2.92,2.73,2.82,2.85,2.81,2.80,2.91,2.84,2.84,2.86,
-2.87,3.01,2.86,2.90,2.91,2.99,2.95,2.91,3.02,2.85,
-3.04,2.90,3.06,2.98,2.90,3.03,2.99,2.92,3.05,3.12,
-2.94,3.14,3.15,3.09,3.00,3.21,3.11,3.20,3.23,3.07,
-3.28,3.27,3.18,3.13,3.27,3.22,3.00,3.12,3.22,3.36,
-3.30,3.37,3.31,3.31,3.35,3.11,3.39,3.27,3.31,3.37,
-3.32,3.27,3.23,3.31,3.41,3.41,3.40,3.55,3.30,3.55,
-3.41,3.41,3.45,3.42,3.44,3.47,3.42,3.55,3.54,3.43,
-3.52,3.52,3.46,3.46,3.54,3.64,3.59,3.56,3.55,3.70,
-3.67,3.77,3.69,3.47,3.60,3.82,3.66,3.60,3.69,3.73,
-3.67,3.67,3.67,3.68,3.67,3.70,3.74,3.81,3.84,3.69,
-3.92,3.70,3.59,3.74,3.75,3.76,3.73,3.88,3.90,3.88,
-3.77,3.83,3.82,3.82,3.91,3.84,3.76,4.02,4.01,3.91,
-4.17,4.03,4.01,3.83,4.14,3.93,4.11,3.89,4.01,4.04,
-3.93,4.07,3.91,3.94,3.93,4.00,4.13,4.07,4.06,4.18,
-4.00,4.07,4.13,4.03,3.97,4.02,4.17,4.00,4.18,4.18,
-4.15,4.16,4.18,4.21,4.16,4.09,4.11,4.18,4.16,4.48,
-0.73,0.72,0.75,0.81,0.85,0.83,0.89,0.91,0.92,0.97,
-1.05,1.02,1.03,1.08,1.09,1.09,1.10,1.16,1.18,1.17,
-1.23,1.21,1.25,1.26,1.33,1.31,1.33,1.34,1.36,1.33,
-1.32,1.42,1.44,1.48,1.45,1.45,1.50,1.46,1.50,1.55,
-1.56,1.55,1.52,1.64,1.65,1.60,1.65,1.76,1.70,1.63,
-1.71,1.71,1.72,1.75,1.75,1.76,1.82,1.77,1.79,1.79,
-1.80,1.85,1.85,1.85,1.81,1.87,1.95,1.88,2.04,1.93,
-1.93,1.93,1.99,2.02,1.94,2.02,2.11,2.08,2.09,2.10,
-2.07,2.04,2.09,2.02,2.19,2.17,2.14,2.16,2.20,2.15,
-2.13,2.24,2.21,2.30,2.24,2.21,2.20,2.25,2.32,2.37,
-2.35,2.34,2.31,2.26,2.34,2.31,2.42,2.35,2.30,2.39,
-2.42,2.47,2.53,2.31,2.46,2.49,2.34,2.47,2.51,2.43,
-2.51,2.59,2.36,2.55,2.57,2.62,2.60,2.55,2.52,2.65,
-2.63,2.68,2.59,2.65,2.55,2.52,2.63,2.70,2.67,2.56,
-2.80,2.74,2.81,2.78,2.72,2.80,2.75,2.66,2.69,2.75,
-2.79,2.76,2.81,2.81,2.75,2.79,2.79,2.69,2.90,2.86,
-2.77,2.79,2.95,2.84,2.90,2.88,2.96,2.88,3.00,2.93,
-2.81,2.91,2.96,2.97,3.10,3.04,2.98,3.02,3.06,2.96,
-2.98,3.12,3.03,3.04,3.11,3.14,3.07,3.09,3.16,3.05,
-3.12,3.02,3.20,3.23,3.21,3.12,3.29,3.15,3.18,3.28,
-3.19,3.22,3.16,3.13,3.21,3.14,3.23,3.23,3.27,3.26,
-3.31,3.28,3.22,3.29,3.32,3.26,3.33,3.24,3.31,3.44,
-3.31,3.26,3.36,3.33,3.29,3.32,3.52,3.48,3.44,3.35,
-3.34,3.40,3.50,3.41,3.53,3.47,3.31,3.51,3.49,3.59,
-3.31,3.45,3.35,3.42,3.47,3.53,3.53,3.55,3.49,3.57,
-3.60,3.57,3.47,3.42,3.45,3.36,3.56,3.64,3.41,3.54,
-3.53,3.62,3.58,3.64,3.50,3.63,3.64,3.60,3.60,3.85,
-3.75,3.63,3.71,3.66,3.75,3.77,3.69,3.67,3.62,3.70,
-3.73,3.69,3.82,3.91,3.66,3.76,3.78,3.73,3.83,3.79,
-0.64,0.67,0.70,0.75,0.75,0.74,0.79,0.78,0.84,0.86,
-0.92,0.90,0.92,0.94,0.97,1.01,1.03,1.04,1.03,1.09,
-1.09,1.09,1.11,1.16,1.21,1.15,1.16,1.18,1.22,1.17,
-1.24,1.26,1.26,1.34,1.32,1.32,1.31,1.33,1.42,1.39,
-1.44,1.42,1.40,1.46,1.48,1.46,1.44,1.48,1.48,1.46,
-1.55,1.54,1.58,1.53,1.57,1.60,1.62,1.64,1.68,1.69,
-1.71,1.63,1.64,1.71,1.67,1.64,1.72,1.77,1.78,1.74,
-1.73,1.74,1.83,1.74,1.79,1.76,1.81,1.79,1.89,1.81,
-1.88,1.87,1.90,1.95,1.93,1.92,1.85,1.91,1.89,1.98,
-1.98,1.90,1.95,2.00,1.98,1.97,1.99,2.07,1.98,2.02,
-2.01,2.07,2.07,2.05,2.09,2.07,2.10,2.11,2.12,2.12,
-2.13,2.17,2.17,2.25,2.28,2.16,2.20,2.21,2.16,2.27,
-2.23,2.26,2.25,2.27,2.33,2.28,2.24,2.25,2.23,2.41,
-2.36,2.30,2.36,2.33,2.26,2.39,2.28,2.33,2.31,2.36,
-2.37,2.54,2.40,2.43,2.46,2.39,2.43,2.45,2.53,2.47,
-2.54,2.53,2.43,2.44,2.58,2.46,2.51,2.49,2.47,2.47,
-2.67,2.57,2.58,2.58,2.65,2.63,2.60,2.66,2.56,2.61,
-2.66,2.63,2.65,2.69,2.66,2.68,2.60,2.71,2.74,2.74,
-2.60,2.84,2.61,2.72,2.68,2.85,2.75,2.88,2.74,2.78,
-2.70,2.77,2.69,2.90,2.89,2.87,2.71,2.85,2.79,2.86,
-2.84,2.82,2.75,2.82,2.94,2.92,2.92,2.84,2.87,2.89,
-2.87,2.93,2.94,2.92,2.95,3.05,3.04,3.03,2.99,2.93,
-3.01,3.00,2.95,3.16,2.95,2.99,2.97,3.03,3.01,3.05,
-3.11,3.01,3.08,3.01,3.02,3.02,3.12,3.10,3.18,3.13,
-3.21,3.03,3.13,3.18,3.10,3.11,3.15,3.12,3.07,3.16,
-3.12,3.21,3.20,3.27,3.20,3.24,3.26,3.13,3.19,3.34,
-3.32,3.33,3.27,3.20,3.31,3.11,3.31,3.34,3.23,3.26,
-3.29,3.31,3.45,3.35,3.13,3.27,3.32,3.32,3.35,3.33,
-3.20,3.29,3.29,3.46,3.29,3.43,3.32,3.33,3.47,3.42,
-0.54,0.58,0.60,0.66,0.69,0.70,0.73,0.72,0.76,0.80,
-0.79,0.81,0.81,0.84,0.86,0.91,0.94,0.92,0.95,0.92,
-1.02,0.95,0.99,1.05,1.01,1.03,1.09,1.13,1.08,1.09,
-1.14,1.12,1.15,1.13,1.17,1.16,1.22,1.23,1.17,1.21,
-1.30,1.26,1.24,1.28,1.32,1.34,1.31,1.37,1.43,1.37,
-1.37,1.32,1.39,1.34,1.42,1.42,1.46,1.44,1.45,1.49,
-1.53,1.47,1.49,1.51,1.47,1.53,1.50,1.54,1.54,1.55,
-1.58,1.60,1.67,1.63,1.66,1.66,1.65,1.58,1.66,1.72,
-1.65,1.71,1.59,1.69,1.68,1.71,1.78,1.80,1.73,1.74,
-1.79,1.73,1.78,1.82,1.79,1.81,1.81,1.86,1.84,1.81,
-1.74,1.86,1.94,1.86,1.89,1.89,1.92,1.91,1.94,1.88,
-1.92,1.97,1.97,1.92,2.03,2.02,2.02,2.02,2.00,2.02,
-1.95,1.91,1.99,1.99,2.10,2.18,2.06,2.10,2.10,2.18,
-2.13,2.10,2.15,2.08,2.08,2.19,2.12,2.16,2.16,2.14,
-2.12,2.16,2.12,2.20,2.14,2.10,2.16,2.25,2.28,2.21,
-2.19,2.20,2.24,2.15,2.23,2.28,2.20,2.24,2.33,2.24,
-2.34,2.35,2.44,2.37,2.27,2.29,2.32,2.36,2.35,2.32,
-2.39,2.38,2.37,2.36,2.45,2.39,2.45,2.35,2.43,2.41,
-2.36,2.33,2.47,2.35,2.38,2.52,2.43,2.56,2.34,2.50,
-2.58,2.49,2.48,2.53,2.45,2.54,2.46,2.53,2.50,2.45,
-2.67,2.53,2.61,2.60,2.47,2.63,2.55,2.64,2.63,2.65,
-2.60,2.69,2.65,2.54,2.64,2.62,2.64,2.69,2.66,2.62,
-2.63,2.79,2.62,2.70,2.65,2.63,2.75,2.61,2.68,2.68,
-2.79,2.64,2.73,2.85,2.82,2.60,2.77,2.67,2.82,2.66,
-2.74,2.91,2.78,2.77,2.67,2.83,2.89,2.79,2.86,2.88,
-2.93,2.84,2.84,2.87,2.83,2.91,2.93,2.83,2.88,2.81,
-2.80,2.86,2.85,2.98,2.99,3.02,3.06,2.87,2.91,2.96,
-2.94,2.96,2.93,2.90,3.01,3.00,2.92,2.97,3.02,3.04,
-3.03,2.96,3.00,2.96,3.03,2.95,3.05,3.06,3.00,3.21,
-0.49,0.52,0.53,0.59,0.62,0.61,0.62,0.65,0.68,0.69,
-0.71,0.72,0.72,0.75,0.76,0.80,0.80,0.86,0.80,0.86,
-0.84,0.87,0.89,0.90,0.88,0.95,0.95,0.97,0.98,0.98,
-1.02,1.02,1.04,1.07,1.03,1.07,1.05,1.09,1.10,1.09,
-1.06,1.12,1.13,1.11,1.11,1.19,1.15,1.14,1.20,1.19,
-1.19,1.27,1.26,1.26,1.28,1.24,1.25,1.25,1.26,1.33,
-1.35,1.31,1.32,1.31,1.36,1.32,1.38,1.37,1.36,1.37,
-1.38,1.42,1.34,1.48,1.42,1.49,1.41,1.49,1.44,1.50,
-1.48,1.42,1.56,1.60,1.52,1.48,1.55,1.67,1.57,1.51,
-1.62,1.53,1.61,1.53,1.62,1.65,1.64,1.60,1.56,1.65,
-1.52,1.65,1.73,1.70,1.68,1.68,1.74,1.69,1.67,1.64,
-1.70,1.77,1.75,1.75,1.76,1.80,1.74,1.76,1.74,1.82,
-1.75,1.78,1.82,1.78,1.84,1.91,1.87,1.90,1.89,1.89,
-1.93,1.86,1.88,1.91,1.97,1.91,1.91,1.85,1.87,1.84,
-1.87,1.90,1.97,1.99,1.91,1.92,1.86,1.99,1.92,1.96,
-1.92,1.98,1.94,1.97,2.04,2.03,2.07,1.98,2.05,2.05,
-2.05,1.98,2.03,2.05,2.09,2.02,2.05,2.11,2.05,2.12,
-2.11,2.12,2.02,2.10,2.11,2.08,2.09,2.11,2.27,2.18,
-2.12,2.29,2.09,2.18,2.16,2.22,2.22,2.26,2.27,2.24,
-2.24,2.15,2.16,2.24,2.18,2.29,2.27,2.29,2.29,2.24,
-2.32,2.23,2.32,2.24,2.35,2.36,2.30,2.27,2.38,2.28,
-2.31,2.35,2.38,2.42,2.36,2.32,2.35,2.42,2.34,2.28,
-2.26,2.37,2.34,2.40,2.47,2.36,2.29,2.43,2.42,2.46,
-2.53,2.36,2.48,2.39,2.41,2.40,2.37,2.36,2.44,2.42,
-2.42,2.54,2.49,2.46,2.50,2.52,2.47,2.56,2.46,2.66,
-2.54,2.53,2.52,2.65,2.54,2.53,2.62,2.54,2.60,2.65,
-2.58,2.60,2.57,2.59,2.46,2.63,2.61,2.53,2.59,2.69,
-2.58,2.50,2.72,2.70,2.61,2.69,2.62,2.58,2.73,2.62,
-2.65,2.72,2.74,2.78,2.72,2.73,2.73,2.58,2.74,2.79,
-0.46,0.46,0.49,0.53,0.51,0.57,0.56,0.58,0.63,0.59,
-0.62,0.64,0.67,0.71,0.70,0.70,0.73,0.73,0.75,0.71,
-0.77,0.74,0.77,0.80,0.84,0.84,0.85,0.86,0.89,0.84,
-0.90,0.91,0.87,0.92,0.98,0.96,0.94,0.99,0.96,0.94,
-1.00,1.00,1.03,0.97,1.02,1.01,1.03,1.07,1.08,1.05,
-1.06,1.12,1.17,1.09,1.11,1.13,1.14,1.14,1.14,1.16,
-1.19,1.23,1.16,1.21,1.31,1.23,1.21,1.18,1.25,1.26,
-1.23,1.25,1.26,1.27,1.28,1.30,1.28,1.33,1.31,1.31,
-1.36,1.33,1.40,1.32,1.40,1.35,1.40,1.40,1.41,1.37,
-1.37,1.39,1.41,1.45,1.43,1.40,1.43,1.47,1.53,1.45,
-1.38,1.47,1.49,1.44,1.46,1.48,1.44,1.47,1.52,1.44,
-1.57,1.60,1.50,1.55,1.56,1.52,1.56,1.57,1.56,1.52,
-1.62,1.62,1.60,1.58,1.66,1.69,1.68,1.68,1.67,1.55,
-1.68,1.61,1.66,1.73,1.61,1.71,1.65,1.58,1.70,1.70,
-1.66,1.76,1.72,1.66,1.76,1.75,1.67,1.75,1.71,1.77,
-1.78,1.82,1.78,1.72,1.83,1.76,1.84,1.76,1.78,1.85,
-1.80,1.91,1.86,1.88,1.85,1.85,1.83,1.84,1.92,1.88,
-1.92,1.80,1.89,1.89,1.92,1.98,1.90,1.94,1.99,1.95,
-1.95,1.95,1.91,2.02,1.96,2.00,1.93,1.94,2.03,1.93,
-1.95,1.91,2.05,1.99,1.93,1.99,2.03,2.00,2.09,2.01,
-2.11,2.07,2.00,2.08,1.96,2.07,2.05,2.03,2.07,2.11,
-2.04,2.09,2.05,1.99,2.12,2.09,2.05,2.08,2.09,2.07,
-2.12,2.15,2.11,2.14,2.14,2.08,2.16,2.11,2.16,2.08,
-2.10,2.14,2.21,2.11,2.20,2.21,2.23,2.18,2.30,2.16,
-2.14,2.24,2.26,2.24,2.25,2.19,2.21,2.28,2.26,2.25,
-2.19,2.27,2.20,2.28,2.22,2.30,2.29,2.31,2.22,2.33,
-2.32,2.41,2.36,2.26,2.24,2.31,2.34,2.30,2.27,2.34,
-2.25,2.28,2.30,2.29,2.32,2.37,2.41,2.39,2.49,2.43,
-2.34,2.33,2.40,2.46,2.49,2.42,2.36,2.31,2.38,2.36,
-0.37,0.44,0.44,0.48,0.44,0.51,0.48,0.51,0.51,0.53,
-0.59,0.61,0.60,0.61,0.58,0.62,0.66,0.64,0.69,0.69,
-0.71,0.69,0.70,0.72,0.71,0.72,0.76,0.77,0.81,0.75,
-0.81,0.82,0.79,0.84,0.80,0.85,0.87,0.87,0.92,0.86,
-0.85,0.91,0.87,0.90,0.89,0.95,0.96,0.99,0.94,0.96,
-0.98,0.91,0.98,1.00,1.02,1.04,1.04,1.03,1.02,1.05,
-1.08,1.08,1.07,1.08,1.09,1.12,1.15,1.07,1.09,1.10,
-1.12,1.12,1.12,1.19,1.17,1.19,1.13,1.17,1.15,1.17,
-1.22,1.21,1.20,1.23,1.20,1.24,1.16,1.22,1.20,1.26,
-1.27,1.22,1.27,1.25,1.24,1.23,1.26,1.36,1.35,1.33,
-1.32,1.25,1.33,1.33,1.31,1.34,1.30,1.36,1.34,1.34,
-1.39,1.31,1.40,1.38,1.36,1.48,1.43,1.42,1.39,1.37,
-1.41,1.45,1.36,1.42,1.42,1.46,1.47,1.51,1.49,1.49,
-1.52,1.49,1.45,1.38,1.49,1.50,1.52,1.52,1.50,1.52,
-1.56,1.48,1.48,1.62,1.56,1.58,1.60,1.60,1.60,1.52,
-1.54,1.59,1.62,1.55,1.61,1.51,1.56,1.64,1.60,1.66,
-1.61,1.64,1.62,1.65,1.73,1.58,1.67,1.67,1.58,1.68,
-1.62,1.71,1.64,1.70,1.73,1.65,1.63,1.69,1.65,1.67,
-1.71,1.63,1.69,1.74,1.79,1.71,1.80,1.74,1.69,1.77,
-1.72,1.82,1.85,1.74,1.78,1.81,1.81,1.70,1.75,1.81,
-1.80,1.80,1.78,1.75,1.82,1.82,1.81,1.92,1.86,1.89,
-1.85,1.92,1.79,1.88,1.93,1.89,1.86,1.86,1.90,1.77,
-1.88,1.88,1.87,1.97,1.83,1.93,1.86,1.87,1.94,1.93,
-1.97,1.88,1.89,1.90,1.96,1.94,1.88,1.93,1.95,1.98,
-1.92,1.96,2.00,1.97,1.93,1.96,1.96,2.05,2.03,2.03,
-1.99,2.01,1.97,2.04,2.01,1.97,2.04,2.00,2.06,2.06,
-2.07,2.16,1.96,2.05,2.10,2.13,2.11,2.06,2.07,2.09,
-2.11,2.14,2.06,2.14,2.06,2.08,2.05,2.18,2.00,2.10,
-2.11,2.14,2.14,2.14,2.09,2.08,2.09,2.10,2.17,2.19,
-0.33,0.39,0.38,0.41,0.43,0.43,0.44,0.42,0.49,0.47,
-0.50,0.50,0.55,0.53,0.52,0.57,0.56,0.60,0.60,0.59,
-0.60,0.60,0.60,0.64,0.69,0.65,0.67,0.67,0.66,0.68,
-0.67,0.71,0.71,0.74,0.75,0.71,0.76,0.74,0.78,0.80,
-0.76,0.81,0.80,0.76,0.79,0.84,0.85,0.86,0.83,0.86,
-0.83,0.85,0.88,0.87,0.88,0.86,0.91,0.92,0.91,0.94,
-0.95,0.92,0.98,0.93,0.93,1.00,0.97,1.00,1.00,1.00,
-0.99,1.00,0.99,0.97,0.99,1.02,1.02,1.01,1.08,1.12,
-1.09,1.09,1.08,1.06,1.07,1.08,1.07,1.09,1.06,1.05,
-1.09,1.08,1.18,1.16,1.08,1.07,1.12,1.16,1.12,1.16,
-1.17,1.16,1.11,1.18,1.18,1.17,1.18,1.14,1.17,1.22,
-1.23,1.25,1.23,1.25,1.27,1.20,1.25,1.23,1.24,1.28,
-1.23,1.25,1.26,1.32,1.25,1.25,1.25,1.33,1.27,1.30,
-1.26,1.32,1.34,1.35,1.35,1.29,1.34,1.37,1.31,1.31,
-1.38,1.40,1.41,1.33,1.37,1.36,1.37,1.44,1.43,1.34,
-1.43,1.34,1.45,1.36,1.44,1.44,1.46,1.47,1.40,1.50,
-1.40,1.50,1.49,1.49,1.51,1.49,1.44,1.42,1.48,1.49,
-1.49,1.44,1.44,1.52,1.51,1.46,1.49,1.49,1.54,1.54,
-1.49,1.51,1.54,1.59,1.55,1.50,1.59,1.56,1.53,1.50,
-1.57,1.56,1.63,1.59,1.56,1.58,1.59,1.60,1.58,1.67,
-1.65,1.55,1.63,1.66,1.63,1.71,1.60,1.64,1.60,1.62,
-1.62,1.65,1.69,1.57,1.65,1.66,1.68,1.69,1.66,1.65,
-1.63,1.68,1.73,1.67,1.67,1.65,1.68,1.73,1.63,1.66,
-1.72,1.72,1.73,1.74,1.74,1.80,1.70,1.71,1.70,1.73,
-1.82,1.71,1.76,1.79,1.72,1.80,1.78,1.77,1.75,1.73,
-1.78,1.77,1.79,1.75,1.87,1.77,1.84,1.77,1.75,1.83,
-1.83,1.77,1.73,1.89,1.83,1.79,1.83,1.89,1.78,1.86,
-1.82,1.78,1.88,1.89,1.78,1.85,1.93,1.85,1.89,1.82,
-1.89,1.86,1.91,1.90,1.95,1.91,1.94,1.95,1.97,1.82,
-0.31,0.30,0.36,0.37,0.36,0.39,0.39,0.43,0.42,0.43,
-0.46,0.48,0.47,0.49,0.48,0.49,0.51,0.51,0.52,0.53,
-0.57,0.56,0.59,0.57,0.57,0.58,0.60,0.58,0.59,0.63,
-0.62,0.62,0.59,0.66,0.63,0.65,0.67,0.63,0.71,0.69,
-0.68,0.70,0.70,0.72,0.77,0.75,0.75,0.75,0.74,0.79,
-0.76,0.80,0.78,0.75,0.82,0.81,0.80,0.82,0.78,0.77,
-0.80,0.82,0.89,0.85,0.82,0.82,0.82,0.89,0.90,0.84,
-0.91,0.85,0.88,0.91,0.89,0.91,0.91,0.91,0.94,1.00,
-0.90,0.97,0.96,1.00,0.98,0.94,0.95,0.97,0.95,0.96,
-1.00,0.98,0.99,0.99,1.01,0.99,1.02,1.01,1.00,1.03,
-0.99,1.01,1.09,1.03,1.06,1.08,1.03,1.09,1.06,1.12,
-1.08,1.06,1.09,1.13,1.05,1.08,1.08,1.10,1.13,1.12,
-1.09,1.10,1.14,1.19,1.13,1.16,1.17,1.14,1.18,1.08,
-1.19,1.21,1.14,1.16,1.16,1.17,1.24,1.16,1.23,1.22,
-1.23,1.19,1.20,1.23,1.22,1.22,1.22,1.23,1.26,1.21,
-1.22,1.25,1.22,1.27,1.26,1.23,1.27,1.23,1.22,1.27,
-1.26,1.25,1.28,1.33,1.29,1.28,1.34,1.29,1.32,1.31,
-1.29,1.28,1.34,1.29,1.34,1.39,1.36,1.33,1.34,1.37,
-1.40,1.44,1.35,1.37,1.40,1.36,1.37,1.36,1.36,1.36,
-1.36,1.39,1.35,1.41,1.37,1.39,1.43,1.41,1.39,1.42,
-1.39,1.39,1.42,1.44,1.41,1.44,1.48,1.45,1.45,1.43,
-1.44,1.42,1.46,1.44,1.49,1.53,1.46,1.48,1.48,1.45,
-1.47,1.47,1.43,1.50,1.60,1.42,1.52,1.48,1.49,1.53,
-1.59,1.51,1.53,1.52,1.55,1.56,1.59,1.58,1.53,1.56,
-1.55,1.54,1.56,1.57,1.54,1.57,1.51,1.58,1.57,1.56,
-1.61,1.58,1.53,1.62,1.62,1.54,1.62,1.55,1.55,1.58,
-1.63,1.62,1.56,1.64,1.61,1.63,1.62,1.63,1.63,1.67,
-1.67,1.66,1.68,1.65,1.68,1.71,1.68,1.66,1.72,1.61,
-1.64,1.66,1.62,1.71,1.68,1.62,1.71,1.76,1.72,1.71,
-0.28,0.31,0.32,0.32,0.31,0.34,0.34,0.38,0.39,0.36,
-0.40,0.41,0.41,0.42,0.44,0.43,0.44,0.46,0.50,0.45,
-0.49,0.42,0.49,0.49,0.51,0.53,0.49,0.54,0.54,0.57,
-0.59,0.59,0.54,0.59,0.58,0.61,0.57,0.59,0.59,0.61,
-0.63,0.63,0.61,0.63,0.63,0.63,0.66,0.66,0.68,0.66,
-0.65,0.68,0.68,0.67,0.68,0.63,0.70,0.73,0.74,0.67,
-0.73,0.74,0.76,0.76,0.73,0.74,0.76,0.75,0.78,0.82,
-0.76,0.76,0.82,0.79,0.78,0.76,0.79,0.82,0.82,0.82,
-0.81,0.83,0.85,0.83,0.79,0.84,0.87,0.84,0.86,0.88,
-0.91,0.92,0.86,0.89,0.91,0.87,0.92,0.85,0.89,0.90,
-0.92,0.91,0.90,0.95,0.95,0.91,0.97,0.94,0.95,0.99,
-0.94,0.96,0.90,0.99,0.98,1.00,1.05,0.96,0.92,1.02,
-1.02,1.00,1.00,1.00,0.97,1.03,1.02,0.99,1.08,1.07,
-1.04,1.01,1.06,1.05,1.04,1.03,1.02,1.09,1.06,1.09,
-1.09,1.09,1.10,1.08,1.04,1.05,1.07,1.08,1.15,1.07,
-1.08,1.16,1.14,1.10,1.12,1.12,1.13,1.11,1.09,1.14,
-1.12,1.15,1.12,1.14,1.16,1.15,1.14,1.20,1.21,1.16,
-1.16,1.16,1.15,1.24,1.14,1.17,1.19,1.16,1.21,1.20,
-1.20,1.20,1.23,1.22,1.24,1.19,1.23,1.18,1.29,1.20,
-1.21,1.31,1.23,1.23,1.30,1.21,1.29,1.27,1.24,1.24,
-1.32,1.26,1.28,1.26,1.28,1.24,1.30,1.29,1.29,1.31,
-1.27,1.27,1.32,1.29,1.32,1.26,1.30,1.33,1.31,1.28,
-1.33,1.35,1.31,1.34,1.33,1.40,1.35,1.30,1.41,1.33,
-1.36,1.36,1.31,1.31,1.36,1.36,1.39,1.40,1.44,1.43,
-1.37,1.37,1.32,1.45,1.38,1.39,1.40,1.42,1.43,1.34,
-1.40,1.40,1.38,1.39,1.47,1.46,1.51,1.47,1.42,1.44,
-1.44,1.41,1.41,1.45,1.44,1.37,1.43,1.41,1.45,1.46,
-1.34,1.51,1.53,1.48,1.47,1.49,1.50,1.51,1.43,1.49,
-1.46,1.52,1.49,1.53,1.57,1.44,1.53,1.49,1.48,1.53,
-0.24,0.26,0.27,0.29,0.31,0.32,0.30,0.30,0.33,0.32,
-0.34,0.36,0.40,0.39,0.40,0.40,0.40,0.40,0.41,0.39,
-0.45,0.40,0.47,0.43,0.47,0.47,0.49,0.43,0.47,0.46,
-0.50,0.49,0.47,0.47,0.49,0.53,0.52,0.54,0.51,0.54,
-0.56,0.52,0.54,0.60,0.59,0.60,0.60,0.57,0.57,0.57,
-0.62,0.63,0.58,0.63,0.64,0.64,0.65,0.63,0.63,0.65,
-0.61,0.65,0.62,0.68,0.68,0.66,0.67,0.69,0.71,0.63,
-0.69,0.68,0.72,0.70,0.74,0.70,0.73,0.70,0.74,0.75,
-0.73,0.74,0.71,0.73,0.72,0.80,0.75,0.77,0.77,0.75,
-0.76,0.82,0.79,0.78,0.77,0.80,0.80,0.79,0.81,0.82,
-0.81,0.85,0.79,0.84,0.82,0.85,0.84,0.85,0.82,0.83,
-0.91,0.85,0.86,0.86,0.85,0.89,0.90,0.84,0.84,0.84,
-0.90,0.88,0.88,0.88,0.88,0.87,0.88,0.91,0.89,0.93,
-0.93,0.96,0.91,0.93,0.93,0.93,0.92,0.94,0.97,0.96,
-0.97,0.95,0.98,0.97,0.97,0.96,0.96,1.00,0.91,0.98,
-1.02,0.95,0.99,0.99,1.02,0.99,1.03,0.98,1.05,0.98,
-0.99,1.02,0.99,1.03,1.07,1.06,1.02,1.04,1.04,1.03,
-1.03,1.07,1.06,1.03,1.02,1.08,1.11,1.06,1.04,1.04,
-1.07,1.05,1.06,1.09,1.13,1.11,1.10,1.11,1.07,1.11,
-1.04,1.06,1.10,1.09,1.15,1.14,1.09,1.09,1.09,1.09,
-1.10,1.11,1.10,1.11,1.14,1.15,1.15,1.16,1.14,1.13,
-1.12,1.16,1.15,1.13,1.16,1.21,1.15,1.16,1.14,1.21,
-1.16,1.26,1.14,1.17,1.20,1.18,1.18,1.19,1.16,1.16,
-1.16,1.21,1.16,1.18,1.27,1.21,1.22,1.22,1.18,1.24,
-1.23,1.25,1.23,1.20,1.24,1.23,1.25,1.23,1.22,1.27,
-1.27,1.26,1.21,1.27,1.29,1.25,1.22,1.21,1.34,1.24,
-1.26,1.29,1.30,1.34,1.26,1.28,1.29,1.28,1.27,1.27,
-1.26,1.24,1.31,1.24,1.30,1.32,1.32,1.32,1.30,1.30,
-1.31,1.30,1.35,1.34,1.35,1.34,1.32,1.34,1.32,1.33,
-1.15,1.21,1.26,1.35,1.33,1.42,1.46,1.48,1.49,1.58,
-1.59,1.61,1.67,1.71,1.68,1.68,1.80,1.92,1.85,1.90,
-1.97,1.98,1.99,2.02,2.10,2.14,2.10,2.13,2.17,2.24,
-2.30,2.31,2.31,2.40,2.37,2.35,2.34,2.47,2.33,2.42,
-2.53,2.58,2.53,2.57,2.68,2.53,2.66,2.70,2.65,2.72,
-2.67,2.66,2.72,2.83,2.73,2.90,2.85,3.04,2.79,2.92,
-3.03,2.97,3.00,3.10,3.18,3.05,3.07,3.05,3.12,3.22,
-3.13,3.10,3.12,3.06,3.13,3.32,3.29,3.29,3.44,3.34,
-3.36,3.43,3.30,3.46,3.40,3.46,3.48,3.55,3.54,3.55,
-3.53,3.63,3.52,3.54,3.66,3.73,3.76,3.66,3.73,3.43,
-3.58,3.88,3.64,3.61,3.74,3.76,3.82,3.90,3.86,3.97,
-3.89,4.03,4.18,3.95,3.74,3.99,3.82,4.13,4.00,4.05,
-3.93,4.16,4.07,4.13,4.12,4.12,4.23,4.09,4.23,4.28,
-4.09,4.19,4.11,4.28,4.11,4.21,4.14,4.23,4.39,4.29,
-4.19,4.16,4.38,4.18,4.35,4.39,4.37,4.48,4.46,4.29,
-4.58,4.29,4.27,4.43,4.60,4.68,4.57,4.64,4.74,4.73,
-4.50,4.53,4.69,4.64,4.81,4.67,4.53,4.67,4.65,4.89,
-4.68,4.71,4.78,4.68,4.81,4.77,4.76,4.76,4.67,4.74,
-4.81,4.82,4.92,4.70,4.81,5.11,4.83,4.83,5.03,4.92,
-5.05,5.07,5.04,5.11,5.04,5.07,4.88,5.22,5.15,4.94,
-5.30,4.97,5.13,5.14,5.38,5.20,5.10,5.06,5.18,5.30,
-5.17,5.13,5.29,5.26,5.26,5.24,5.07,5.26,5.30,5.42,
-5.33,5.26,5.34,5.34,5.37,5.48,5.39,5.47,5.44,5.34,
-5.37,5.51,5.55,5.47,5.50,5.56,5.56,5.66,5.61,5.54,
-5.98,5.60,5.62,5.63,5.78,5.57,5.66,5.67,5.62,5.63,
-5.79,5.89,5.52,5.69,5.81,5.69,5.62,5.91,5.67,5.90,
-5.80,6.12,5.73,6.01,5.87,5.61,5.90,5.94,5.64,5.86,
-5.86,5.93,5.90,6.01,5.67,5.78,5.97,5.79,6.19,6.11,
-6.16,6.41,6.13,5.84,6.24,5.94,6.07,6.13,6.17,6.13,
-1.07,1.12,1.17,1.18,1.27,1.29,1.38,1.41,1.48,1.47,
-1.45,1.56,1.53,1.57,1.63,1.63,1.71,1.66,1.71,1.68,
-1.73,1.79,1.91,1.94,1.91,1.97,2.04,2.03,2.02,2.02,
-2.14,2.12,2.09,2.16,2.21,2.20,2.25,2.26,2.29,2.35,
-2.39,2.40,2.39,2.36,2.50,2.49,2.43,2.63,2.49,2.61,
-2.50,2.59,2.56,2.60,2.60,2.70,2.61,2.66,2.71,2.81,
-2.70,2.80,2.77,2.79,2.84,2.80,2.82,2.87,2.90,2.97,
-2.95,3.04,3.01,3.05,2.99,3.10,3.05,3.06,3.16,3.23,
-3.12,3.13,3.11,2.99,3.26,3.22,3.19,3.23,3.10,3.27,
-3.25,3.37,3.27,3.46,3.34,3.37,3.35,3.33,3.40,3.43,
-3.47,3.51,3.65,3.50,3.55,3.56,3.56,3.53,3.67,3.55,
-3.55,3.68,3.54,3.74,3.46,3.60,3.72,3.66,3.85,3.74,
-3.60,3.80,3.86,3.73,3.88,3.67,3.79,3.78,3.88,3.95,
-3.82,3.88,3.74,3.83,3.93,3.95,3.93,4.10,4.21,4.02,
-3.96,4.02,4.10,4.14,4.36,4.15,4.14,4.13,4.04,4.21,
-4.03,4.19,4.16,4.20,4.06,4.42,4.35,4.11,4.24,4.34,
-4.24,4.20,4.30,4.18,4.17,4.51,4.33,4.31,4.49,4.25,
-4.29,4.29,4.26,4.31,4.55,4.64,4.56,4.45,4.65,4.65,
-4.64,4.52,4.59,4.60,4.65,4.64,4.66,4.49,4.68,4.63,
-4.76,4.54,4.72,4.60,4.81,4.79,4.61,4.65,4.65,4.57,
-4.84,4.63,4.98,4.69,4.94,4.65,4.76,5.11,4.77,4.97,
-4.70,4.87,4.81,5.04,5.05,4.78,4.85,4.83,4.73,4.90,
-4.83,5.03,5.03,5.15,5.25,5.09,4.95,5.04,4.94,5.04,
-5.03,5.20,5.09,5.10,5.01,5.40,5.09,5.19,5.32,5.19,
-5.20,5.28,5.16,5.19,5.19,5.32,5.30,5.21,5.20,5.31,
-5.27,5.42,5.04,5.32,5.06,5.15,5.37,5.19,5.42,5.39,
-5.36,5.27,5.39,5.58,5.41,5.56,5.40,5.49,5.47,5.51,
-5.68,5.44,5.59,5.57,5.63,5.68,5.57,5.50,5.57,5.44,
-5.65,5.76,5.73,5.57,5.67,5.73,5.59,5.52,5.63,5.68,
-1.03,1.06,1.04,1.11,1.18,1.17,1.26,1.32,1.32,1.33,
-1.39,1.44,1.40,1.46,1.56,1.55,1.57,1.63,1.62,1.72,
-1.71,1.69,1.73,1.78,1.80,1.87,1.90,1.89,1.83,1.93,
-2.00,1.94,2.00,1.98,2.06,2.04,2.06,2.04,2.15,2.12,
-2.19,2.18,2.16,2.18,2.24,2.29,2.25,2.29,2.45,2.32,
-2.41,2.38,2.40,2.38,2.50,2.44,2.43,2.50,2.42,2.50,
-2.55,2.65,2.65,2.48,2.58,2.65,2.68,2.60,2.63,2.59,
-2.86,2.74,2.80,2.74,2.90,2.84,2.88,2.83,2.76,2.91,
-2.84,2.81,2.97,2.95,2.93,2.93,2.90,3.02,3.07,3.08,
-3.08,3.04,3.12,3.11,2.98,3.07,3.13,3.12,3.13,3.23,
-3.17,3.25,3.26,3.38,3.18,3.27,3.48,3.29,3.28,3.50,
-3.37,3.28,3.47,3.36,3.34,3.39,3.43,3.60,3.49,3.48,
-3.43,3.46,3.41,3.48,3.64,3.43,3.70,3.54,3.49,3.71,
-3.73,3.59,3.61,3.56,3.73,3.54,3.80,3.69,3.65,3.66,
-3.70,3.81,3.89,3.65,3.86,3.69,3.73,3.84,3.92,3.79,
-3.85,3.91,3.84,3.82,3.91,3.69,4.05,3.98,3.78,4.04,
-3.75,4.02,3.91,4.07,3.89,4.07,4.14,4.01,4.13,3.97,
-4.19,4.09,3.99,4.16,4.11,4.11,3.95,4.29,4.18,4.20,
-4.25,4.06,4.17,4.27,4.23,4.17,4.35,4.26,4.32,4.25,
-4.23,4.17,4.46,4.51,4.21,4.31,4.35,4.38,4.36,4.32,
-4.57,4.44,4.48,4.40,4.42,4.69,4.52,4.43,4.44,4.40,
-4.52,4.59,4.35,4.49,4.44,4.65,4.53,4.49,4.59,4.40,
-4.76,4.67,4.64,4.59,4.58,4.71,4.60,4.72,4.88,4.58,
-4.62,4.60,4.72,4.63,4.94,4.70,4.75,4.51,4.71,4.87,
-4.89,5.00,4.95,4.83,4.94,4.82,4.81,5.00,4.87,4.89,
-5.08,4.94,4.94,4.97,4.73,4.93,4.85,5.05,4.80,4.88,
-5.19,4.98,4.91,4.88,4.96,5.21,5.04,4.99,4.92,5.10,
-5.11,4.81,5.02,5.23,5.20,5.18,5.07,5.04,5.18,4.82,
-5.09,5.26,5.04,5.05,5.19,5.24,5.28,5.24,5.08,5.12,
-0.90,0.94,0.99,1.01,1.03,1.09,1.13,1.16,1.23,1.21,
-1.25,1.32,1.33,1.32,1.36,1.39,1.42,1.43,1.53,1.51,
-1.58,1.54,1.59,1.62,1.64,1.69,1.65,1.68,1.71,1.76,
-1.76,1.83,1.80,1.86,1.85,1.87,1.92,1.94,1.86,1.93,
-2.03,2.08,1.93,1.96,2.07,2.09,2.11,2.09,2.15,2.12,
-2.19,2.17,2.22,2.23,2.20,2.20,2.21,2.28,2.37,2.34,
-2.32,2.32,2.38,2.43,2.51,2.37,2.49,2.48,2.45,2.54,
-2.59,2.59,2.53,2.58,2.52,2.63,2.64,2.57,2.56,2.57,
-2.65,2.60,2.63,2.65,2.71,2.72,2.73,2.81,2.84,2.77,
-2.76,2.80,2.81,2.94,2.74,2.73,2.90,2.99,2.77,2.98,
-2.98,2.90,2.90,2.94,2.85,2.84,3.04,3.04,3.09,3.02,
-3.02,3.11,3.06,2.87,3.16,3.24,3.16,3.21,3.15,3.17,
-3.14,3.14,3.23,3.19,3.30,3.35,3.42,3.14,3.32,3.24,
-3.34,3.30,3.44,3.41,3.30,3.35,3.37,3.49,3.41,3.41,
-3.38,3.41,3.57,3.55,3.44,3.52,3.38,3.49,3.65,3.45,
-3.41,3.62,3.59,3.47,3.55,3.62,3.54,3.52,3.46,3.53,
-3.54,3.76,3.63,3.72,3.55,3.74,3.62,3.72,3.87,3.68,
-3.74,3.76,3.71,3.80,3.69,3.79,3.80,3.80,4.00,3.84,
-3.80,3.86,3.80,3.96,3.88,3.96,3.91,3.90,4.03,4.03,
-4.01,3.93,4.08,3.96,3.94,4.03,4.08,3.90,4.11,4.00,
-4.07,4.09,3.94,4.10,4.16,3.98,4.01,4.06,4.13,4.19,
-4.15,4.00,4.14,4.13,4.19,4.01,4.27,4.21,4.17,4.25,
-4.31,4.31,4.25,4.21,4.26,4.09,4.27,4.05,4.13,4.38,
-4.15,4.38,4.27,4.34,4.49,4.21,4.39,4.30,4.47,4.31,
-4.47,4.45,4.54,4.47,4.28,4.52,4.42,4.48,4.40,4.46,
-4.53,4.50,4.61,4.51,4.62,4.54,4.56,4.67,4.47,4.69,
-4.70,4.64,4.63,4.79,4.69,4.67,4.69,4.64,4.55,4.57,
-4.59,4.71,4.70,4.58,4.79,4.67,4.64,4.69,4.69,4.76,
-4.76,4.76,4.68,4.72,4.67,4.62,4.79,4.79,4.81,4.95,
-0.86,0.87,0.84,0.93,0.95,0.96,1.03,1.04,1.11,1.13,
-1.13,1.20,1.23,1.22,1.25,1.35,1.29,1.33,1.34,1.39,
-1.41,1.42,1.47,1.44,1.55,1.53,1.54,1.55,1.64,1.61,
-1.65,1.63,1.67,1.69,1.74,1.75,1.75,1.73,1.76,1.75,
-1.78,1.80,1.81,1.91,1.87,1.82,1.94,2.00,1.99,1.94,
-2.04,2.07,2.04,2.03,2.02,2.08,2.10,2.07,2.13,2.07,
-2.13,2.23,2.11,2.14,2.20,2.18,2.22,2.30,2.28,2.21,
-2.20,2.26,2.36,2.31,2.29,2.33,2.31,2.31,2.31,2.44,
-2.49,2.51,2.47,2.46,2.47,2.47,2.49,2.59,2.46,2.61,
-2.55,2.56,2.68,2.63,2.65,2.57,2.72,2.57,2.64,2.53,
-2.59,2.72,2.77,2.77,2.74,2.80,2.76,2.75,2.68,2.81,
-2.74,2.85,2.82,2.76,2.76,2.94,2.85,2.83,2.88,2.98,
-2.86,2.88,2.89,3.06,2.93,2.88,3.06,3.06,2.90,3.03,
-2.91,3.08,3.06,3.01,3.02,2.97,3.10,3.10,3.09,3.03,
-3.09,3.18,3.11,3.07,3.26,3.23,3.25,3.33,3.30,3.14,
-3.25,3.14,3.18,3.26,3.17,3.38,3.17,3.19,3.28,3.33,
-3.28,3.45,3.30,3.34,3.40,3.38,3.25,3.40,3.33,3.39,
-3.56,3.50,3.44,3.46,3.49,3.48,3.35,3.53,3.38,3.51,
-3.56,3.51,3.70,3.49,3.67,3.61,3.52,3.52,3.55,3.51,
-3.63,3.49,3.61,3.58,3.82,3.47,3.68,3.65,3.59,3.73,
-3.70,3.64,3.71,3.55,3.75,3.81,3.85,3.76,3.69,3.66,
-3.74,3.73,3.90,3.82,3.74,3.99,3.75,3.98,3.87,3.79,
-3.86,4.05,3.93,3.92,3.91,3.92,3.95,3.92,3.83,4.02,
-3.90,3.92,3.89,3.90,3.84,4.02,3.97,3.98,4.09,4.02,
-3.93,3.95,4.00,3.99,4.08,4.12,4.02,4.23,4.19,4.05,
-3.96,4.05,4.04,4.22,4.08,4.00,4.27,4.27,4.19,4.21,
-4.11,4.19,4.15,4.28,4.21,4.23,4.18,4.16,4.35,4.27,
-4.23,4.28,4.32,4.09,4.35,4.42,4.25,4.50,4.37,4.27,
-4.52,4.42,4.23,4.41,4.43,4.27,4.42,4.52,4.24,4.35,
-0.75,0.78,0.83,0.86,0.87,0.91,0.92,0.99,1.00,1.01,
-1.05,1.06,1.09,1.14,1.15,1.15,1.25,1.22,1.21,1.24,
-1.27,1.35,1.28,1.39,1.38,1.35,1.37,1.40,1.37,1.46,
-1.47,1.46,1.53,1.57,1.58,1.52,1.60,1.59,1.67,1.58,
-1.64,1.65,1.65,1.67,1.75,1.72,1.71,1.70,1.73,1.72,
-1.78,1.77,1.81,1.89,1.91,1.95,1.89,1.93,1.96,1.97,
-1.99,2.00,1.98,2.05,1.99,2.11,1.98,2.03,2.00,2.06,
-2.04,2.13,2.02,2.17,2.14,2.06,2.21,2.09,2.29,2.22,
-2.20,2.21,2.25,2.25,2.20,2.14,2.31,2.26,2.26,2.21,
-2.34,2.33,2.29,2.37,2.24,2.40,2.30,2.40,2.43,2.54,
-2.42,2.46,2.50,2.49,2.43,2.43,2.49,2.56,2.46,2.61,
-2.49,2.59,2.53,2.55,2.61,2.64,2.56,2.69,2.63,2.58,
-2.64,2.67,2.61,2.64,2.71,2.73,2.81,2.71,2.85,2.69,
-2.84,2.79,2.80,2.73,2.79,2.83,2.77,2.77,2.83,2.93,
-2.86,2.85,2.80,2.83,2.80,2.90,2.97,2.95,2.87,2.99,
-2.99,3.06,2.98,3.08,2.95,3.02,2.95,3.06,3.00,3.03,
-2.92,3.01,2.91,3.12,3.01,3.06,3.03,3.05,3.09,3.17,
-3.06,3.11,3.19,3.08,3.17,3.10,3.10,3.19,3.22,3.10,
-3.24,3.25,3.22,3.26,3.01,3.21,3.14,3.28,3.10,3.19,
-3.19,3.15,3.26,3.34,3.27,3.28,3.42,3.32,3.31,3.28,
-3.39,3.36,3.46,3.41,3.39,3.39,3.30,3.39,3.36,3.46,
-3.50,3.48,3.40,3.48,3.38,3.52,3.52,3.43,3.49,3.48,
-3.60,3.42,3.45,3.57,3.58,3.48,3.41,3.62,3.55,3.68,
-3.66,3.61,3.66,3.69,3.67,3.60,3.55,3.64,3.60,3.51,
-3.55,3.67,3.78,3.65,3.55,3.64,3.58,3.65,3.67,3.73,
-3.69,3.72,3.89,3.74,3.89,3.81,3.64,3.78,3.73,3.82,
-3.89,3.83,3.83,3.80,3.76,3.78,3.82,3.74,4.00,3.87,
-3.80,4.01,3.89,3.75,3.97,3.99,3.92,3.98,3.94,3.97,
-3.93,4.07,3.94,3.92,3.92,4.19,4.06,3.84,3.99,3.95,
-0.69,0.70,0.72,0.75,0.79,0.85,0.84,0.86,0.87,0.92,
-0.95,0.98,1.00,1.03,1.06,1.05,1.08,1.08,1.10,1.14,
-1.22,1.16,1.26,1.17,1.24,1.22,1.32,1.32,1.28,1.29,
-1.30,1.35,1.38,1.44,1.35,1.45,1.43,1.44,1.46,1.49,
-1.48,1.45,1.48,1.53,1.51,1.52,1.56,1.57,1.60,1.62,
-1.72,1.62,1.64,1.67,1.70,1.69,1.63,1.68,1.78,1.69,
-1.71,1.76,1.75,1.81,1.86,1.75,1.79,1.90,1.89,1.87,
-1.91,1.90,1.95,1.89,1.95,1.95,1.98,2.02,1.98,1.89,
-2.01,1.96,2.02,2.02,1.91,2.07,2.08,2.03,2.09,2.05,
-2.10,2.12,2.04,2.18,2.21,2.16,2.15,2.07,2.23,2.19,
-2.08,2.26,2.18,2.26,2.22,2.16,2.27,2.23,2.20,2.19,
-2.28,2.32,2.34,2.29,2.31,2.36,2.31,2.35,2.30,2.32,
-2.40,2.37,2.46,2.44,2.48,2.43,2.48,2.37,2.45,2.56,
-2.46,2.49,2.53,2.50,2.51,2.60,2.46,2.55,2.52,2.66,
-2.54,2.47,2.51,2.58,2.57,2.60,2.61,2.57,2.61,2.70,
-2.69,2.62,2.67,2.70,2.77,2.70,2.67,2.77,2.65,2.68,
-2.80,2.69,2.72,2.72,2.74,2.63,2.80,2.79,2.82,2.82,
-2.87,2.98,2.85,2.81,2.91,2.88,2.88,2.77,2.86,2.87,
-2.91,2.85,2.84,2.93,2.86,2.97,2.91,3.06,3.00,2.99,
-3.06,2.97,2.99,2.94,2.95,2.94,2.94,3.03,3.01,3.11,
-2.98,3.14,3.26,3.06,3.01,3.11,3.09,3.01,3.13,3.10,
-3.12,3.12,3.23,3.11,3.02,3.15,3.24,3.15,3.10,3.16,
-3.11,3.29,3.13,3.28,3.16,3.22,3.20,3.22,3.23,3.24,
-3.29,3.33,3.29,3.18,3.25,3.32,3.27,3.34,3.27,3.32,
-3.29,3.34,3.34,3.37,3.40,3.45,3.28,3.50,3.29,3.46,
-3.46,3.28,3.30,3.52,3.29,3.46,3.21,3.34,3.58,3.37,
-3.57,3.48,3.46,3.55,3.50,3.57,3.56,3.63,3.45,3.47,
-3.39,3.36,3.45,3.49,3.46,3.45,3.39,3.66,3.53,3.57,
-3.47,3.51,3.61,3.61,3.51,3.65,3.53,3.61,3.43,3.58,
-0.63,0.64,0.69,0.73,0.74,0.71,0.75,0.78,0.82,0.86,
-0.83,0.89,0.89,0.95,0.97,0.90,1.01,0.99,1.02,1.06,
-1.05,1.09,1.05,1.09,1.09,1.17,1.16,1.14,1.18,1.20,
-1.22,1.20,1.28,1.22,1.26,1.33,1.26,1.29,1.33,1.30,
-1.39,1.36,1.35,1.37,1.40,1.39,1.43,1.42,1.51,1.42,
-1.45,1.48,1.52,1.49,1.50,1.47,1.50,1.59,1.54,1.59,
-1.57,1.64,1.61,1.66,1.65,1.64,1.67,1.68,1.68,1.67,
-1.71,1.67,1.78,1.67,1.68,1.73,1.75,1.82,1.72,1.78,
-1.83,1.86,1.75,1.80,1.85,1.89,1.90,1.80,1.81,1.92,
-1.88,1.88,1.97,1.98,1.83,1.90,2.00,1.94,1.90,1.96,
-2.03,2.06,1.94,2.02,2.07,2.00,2.00,2.01,2.11,2.14,
-2.09,2.11,2.09,2.09,2.14,2.21,2.17,2.15,2.14,2.10,
-2.08,2.14,2.15,2.20,2.16,2.20,2.18,2.15,2.27,2.20,
-2.35,2.22,2.24,2.20,2.27,2.31,2.20,2.30,2.27,2.37,
-2.24,2.37,2.36,2.32,2.38,2.34,2.30,2.39,2.33,2.45,
-2.32,2.38,2.38,2.51,2.42,2.48,2.45,2.44,2.54,2.49,
-2.59,2.49,2.49,2.49,2.43,2.47,2.41,2.53,2.43,2.48,
-2.49,2.49,2.61,2.55,2.51,2.59,2.53,2.59,2.59,2.61,
-2.66,2.54,2.55,2.56,2.66,2.63,2.65,2.72,2.68,2.71,
-2.70,2.66,2.69,2.80,2.78,2.82,2.72,2.71,2.74,2.76,
-2.78,2.65,2.68,2.70,2.77,2.72,2.86,2.87,2.78,2.83,
-2.79,2.72,2.85,2.85,2.91,2.82,2.91,2.76,2.90,2.88,
-2.79,2.91,2.85,2.90,2.79,2.93,2.93,2.97,2.97,2.98,
-2.83,2.91,2.91,2.99,2.86,2.79,3.05,3.02,3.00,2.98,
-2.89,2.96,3.04,3.01,3.01,2.91,3.17,2.93,3.02,3.05,
-3.15,3.01,2.99,3.04,3.09,3.04,3.13,2.95,3.14,2.98,
-3.05,3.14,2.98,3.05,3.28,3.18,3.17,3.07,3.17,3.26,
-3.13,3.11,3.23,3.08,3.07,3.07,3.17,3.30,3.13,3.25,
-3.25,3.26,3.23,3.27,3.25,3.21,3.20,3.13,3.28,3.13,
-0.56,0.59,0.62,0.63,0.66,0.67,0.67,0.71,0.74,0.78,
-0.76,0.81,0.80,0.85,0.85,0.84,0.88,0.90,0.90,0.93,
-0.96,0.92,0.96,0.99,0.94,0.99,1.04,1.05,1.09,1.07,
-1.14,1.11,1.10,1.12,1.14,1.14,1.16,1.18,1.19,1.24,
-1.22,1.20,1.21,1.22,1.25,1.28,1.33,1.32,1.26,1.30,
-1.35,1.32,1.34,1.35,1.33,1.43,1.35,1.39,1.43,1.37,
-1.39,1.50,1.51,1.42,1.43,1.48,1.51,1.53,1.50,1.53,
-1.52,1.52,1.57,1.54,1.48,1.53,1.64,1.61,1.52,1.58,
-1.59,1.69,1.65,1.69,1.65,1.76,1.69,1.68,1.71,1.69,
-1.66,1.71,1.73,1.75,1.71,1.73,1.81,1.69,1.78,1.78,
-1.80,1.81,1.79,1.84,1.86,1.81,1.80,1.80,1.85,1.86,
-1.87,1.79,1.95,1.86,1.93,1.87,1.97,1.97,1.95,1.96,
-1.93,1.95,1.89,1.94,1.98,1.99,1.97,2.04,2.03,2.09,
-2.01,2.04,2.02,2.13,2.11,2.12,1.99,2.10,2.02,2.07,
-2.15,2.15,2.03,2.02,2.16,2.06,2.21,2.12,2.09,2.14,
-2.21,2.17,2.15,2.24,2.25,2.19,2.09,2.21,2.32,2.14,
-2.24,2.28,2.25,2.20,2.28,2.20,2.33,2.20,2.27,2.31,
-2.41,2.23,2.33,2.35,2.22,2.24,2.30,2.34,2.37,2.38,
-2.45,2.26,2.32,2.43,2.37,2.33,2.42,2.46,2.38,2.34,
-2.53,2.48,2.46,2.40,2.50,2.42,2.51,2.36,2.44,2.46,
-2.55,2.52,2.47,2.51,2.45,2.50,2.46,2.55,2.55,2.57,
-2.55,2.50,2.47,2.58,2.54,2.66,2.59,2.57,2.55,2.61,
-2.50,2.57,2.56,2.65,2.62,2.62,2.65,2.60,2.79,2.60,
-2.58,2.62,2.57,2.68,2.70,2.67,2.69,2.76,2.65,2.72,
-2.72,2.65,2.64,2.68,2.78,2.74,2.87,2.85,2.89,2.71,
-2.73,2.79,2.73,2.70,2.73,2.79,2.82,2.74,2.79,2.81,
-2.77,2.88,2.81,2.79,2.81,2.81,2.97,2.73,2.78,2.91,
-2.84,2.74,2.90,2.87,2.75,2.88,2.81,2.88,2.99,2.88,
-2.83,2.97,2.87,2.97,2.92,2.99,3.00,2.97,2.80,3.07,
-0.51,0.53,0.54,0.57,0.60,0.60,0.61,0.61,0.66,0.68,
-0.73,0.73,0.71,0.80,0.74,0.78,0.77,0.80,0.81,0.82,
-0.82,0.84,0.86,0.89,0.93,0.89,0.90,0.91,0.98,0.98,
-0.96,1.01,0.99,1.00,0.96,1.01,1.07,1.03,1.06,1.04,
-1.07,1.06,1.11,1.12,1.12,1.12,1.17,1.19,1.16,1.21,
-1.15,1.21,1.23,1.22,1.23,1.28,1.26,1.20,1.27,1.30,
-1.27,1.30,1.31,1.25,1.31,1.34,1.34,1.36,1.34,1.38,
-1.39,1.39,1.38,1.46,1.40,1.46,1.43,1.49,1.46,1.44,
-1.45,1.53,1.49,1.47,1.56,1.51,1.48,1.50,1.54,1.53,
-1.52,1.55,1.53,1.61,1.58,1.50,1.60,1.53,1.56,1.59,
-1.65,1.61,1.60,1.67,1.65,1.67,1.67,1.70,1.68,1.65,
-1.64,1.72,1.74,1.68,1.71,1.69,1.72,1.75,1.79,1.71,
-1.75,1.74,1.72,1.78,1.74,1.74,1.82,1.74,1.83,1.86,
-1.78,1.84,1.80,1.85,1.81,1.94,1.92,1.95,1.87,1.89,
-1.89,1.95,1.87,1.83,1.90,1.88,1.90,1.93,1.88,1.95,
-1.97,2.00,2.02,2.02,1.91,1.95,2.01,1.95,1.94,2.01,
-2.01,2.04,2.05,1.98,2.02,2.03,1.91,2.05,2.03,2.13,
-2.02,2.08,1.93,2.13,2.14,2.19,2.04,2.06,2.17,2.09,
-2.21,2.11,2.06,2.01,2.23,2.10,2.13,2.22,2.19,2.17,
-2.15,2.19,2.23,2.17,2.18,2.19,2.10,2.24,2.23,2.18,
-2.27,2.20,2.17,2.27,2.19,2.24,2.31,2.27,2.14,2.29,
-2.39,2.30,2.22,2.31,2.33,2.30,2.32,2.30,2.32,2.38,
-2.27,2.29,2.42,2.22,2.34,2.30,2.39,2.33,2.36,2.39,
-2.42,2.32,2.35,2.33,2.46,2.36,2.42,2.41,2.40,2.43,
-2.43,2.36,2.43,2.42,2.42,2.49,2.35,2.48,2.46,2.45,
-2.51,2.39,2.56,2.43,2.47,2.47,2.42,2.45,2.52,2.56,
-2.60,2.62,2.55,2.55,2.54,2.54,2.51,2.57,2.49,2.53,
-2.60,2.61,2.62,2.53,2.74,2.59,2.58,2.68,2.56,2.56,
-2.60,2.71,2.62,2.55,2.62,2.67,2.59,2.58,2.70,2.59,
-0.44,0.49,0.47,0.49,0.51,0.51,0.53,0.58,0.61,0.60,
-0.65,0.64,0.65,0.64,0.65,0.73,0.72,0.70,0.73,0.71,
-0.79,0.80,0.75,0.82,0.79,0.83,0.79,0.84,0.86,0.88,
-0.86,0.93,0.87,0.90,0.91,0.93,0.91,0.96,0.95,0.96,
-0.98,1.01,0.99,1.05,1.01,1.01,1.05,1.03,1.03,1.05,
-1.07,1.06,1.06,1.03,1.10,1.06,1.14,1.12,1.18,1.18,
-1.13,1.13,1.18,1.13,1.17,1.23,1.25,1.19,1.25,1.26,
-1.24,1.23,1.25,1.27,1.22,1.26,1.29,1.23,1.28,1.26,
-1.26,1.29,1.32,1.32,1.35,1.32,1.38,1.41,1.36,1.33,
-1.34,1.35,1.38,1.37,1.38,1.44,1.46,1.38,1.42,1.44,
-1.37,1.46,1.41,1.46,1.51,1.44,1.49,1.47,1.50,1.52,
-1.56,1.56,1.54,1.57,1.61,1.51,1.54,1.50,1.64,1.59,
-1.60,1.49,1.56,1.57,1.66,1.64,1.61,1.56,1.64,1.64,
-1.63,1.71,1.62,1.68,1.63,1.68,1.68,1.73,1.72,1.64,
-1.67,1.68,1.71,1.74,1.66,1.66,1.68,1.77,1.70,1.70,
-1.74,1.80,1.69,1.82,1.80,1.81,1.78,1.79,1.79,1.80,
-1.72,1.80,1.81,1.83,1.79,1.82,1.76,1.78,1.83,1.83,
-1.88,1.75,1.83,1.82,1.87,1.91,1.93,1.87,1.90,1.89,
-1.89,1.87,1.94,1.93,1.93,1.91,1.92,1.90,2.05,1.85,
-1.95,1.89,1.94,1.92,1.97,2.02,1.97,2.07,1.98,1.97,
-1.95,1.95,1.94,2.04,2.11,2.08,2.05,1.97,2.00,2.05,
-2.02,2.02,2.13,2.05,2.06,2.09,2.05,2.06,2.03,2.07,
-2.03,2.04,2.10,2.11,2.15,2.03,2.09,2.05,2.20,2.16,
-2.15,2.13,2.05,2.16,2.19,2.18,2.20,2.09,2.13,2.15,
-2.09,2.19,2.14,2.16,2.25,2.15,2.21,2.11,2.17,2.26,
-2.15,2.26,2.30,2.22,2.29,2.22,2.27,2.29,2.31,2.25,
-2.26,2.22,2.27,2.27,2.25,2.22,2.28,2.30,2.36,2.34,
-2.28,2.35,2.25,2.33,2.22,2.37,2.33,2.35,2.36,2.34,
-2.33,2.26,2.32,2.33,2.38,2.44,2.37,2.41,2.31,2.32,
-0.41,0.43,0.45,0.45,0.47,0.49,0.51,0.51,0.54,0.53,
-0.61,0.59,0.57,0.60,0.60,0.59,0.60,0.67,0.66,0.68,
-0.65,0.69,0.72,0.70,0.71,0.74,0.73,0.78,0.77,0.82,
-0.78,0.79,0.81,0.80,0.83,0.82,0.83,0.87,0.86,0.90,
-0.91,0.89,0.91,0.92,0.93,0.92,0.90,0.92,0.94,0.94,
-0.91,0.95,0.95,0.95,0.97,0.99,1.01,0.99,1.06,1.00,
-1.05,1.05,1.03,1.04,1.04,1.07,1.09,1.11,1.07,1.13,
-1.09,1.14,1.14,1.14,1.07,1.19,1.17,1.15,1.18,1.18,
-1.21,1.13,1.20,1.13,1.18,1.21,1.23,1.18,1.20,1.24,
-1.24,1.24,1.27,1.28,1.30,1.23,1.23,1.30,1.24,1.28,
-1.27,1.36,1.33,1.32,1.33,1.28,1.30,1.32,1.31,1.35,
-1.33,1.34,1.40,1.33,1.39,1.34,1.38,1.30,1.40,1.42,
-1.39,1.41,1.40,1.41,1.46,1.44,1.47,1.43,1.44,1.45,
-1.44,1.50,1.46,1.44,1.44,1.48,1.47,1.48,1.46,1.53,
-1.53,1.51,1.57,1.46,1.55,1.54,1.52,1.57,1.56,1.54,
-1.55,1.55,1.58,1.61,1.58,1.59,1.56,1.62,1.54,1.62,
-1.55,1.63,1.62,1.61,1.60,1.60,1.67,1.64,1.67,1.66,
-1.69,1.53,1.69,1.67,1.63,1.59,1.63,1.62,1.68,1.70,
-1.73,1.67,1.69,1.74,1.72,1.71,1.72,1.74,1.70,1.78,
-1.73,1.76,1.74,1.67,1.78,1.72,1.74,1.69,1.82,1.83,
-1.80,1.80,1.76,1.81,1.75,1.75,1.80,1.81,1.83,1.82,
-1.89,1.87,1.83,1.77,1.81,1.84,1.84,1.84,1.81,1.87,
-1.82,1.88,1.85,1.82,1.90,1.87,1.84,1.92,1.89,1.88,
-1.91,1.89,1.93,1.92,2.01,1.96,1.92,1.85,1.91,1.98,
-1.98,1.98,1.98,1.92,1.91,1.97,1.96,1.95,1.96,1.92,
-2.05,2.02,1.96,1.99,2.12,2.01,1.89,2.01,1.99,2.07,
-1.94,2.05,2.05,1.99,2.10,2.08,1.98,2.09,1.98,1.99,
-2.02,2.06,2.05,2.03,2.15,2.10,2.16,2.15,2.14,2.06,
-2.10,2.02,2.14,2.13,2.06,2.11,2.19,2.00,2.09,2.16,
-0.33,0.38,0.41,0.45,0.39,0.42,0.43,0.45,0.47,0.52,
-0.47,0.50,0.55,0.53,0.54,0.56,0.54,0.55,0.60,0.62,
-0.60,0.60,0.62,0.63,0.63,0.66,0.65,0.68,0.72,0.68,
-0.72,0.74,0.71,0.73,0.76,0.73,0.74,0.77,0.77,0.77,
-0.77,0.76,0.78,0.82,0.88,0.82,0.79,0.82,0.89,0.80,
-0.83,0.87,0.86,0.85,0.92,0.89,0.88,0.90,0.89,0.88,
-0.87,0.97,0.95,0.94,0.95,0.96,0.96,0.94,1.00,0.96,
-1.01,1.01,1.03,1.07,1.03,1.01,1.09,1.02,1.01,1.05,
-1.00,1.03,1.07,1.05,1.09,1.11,1.04,1.08,1.09,1.12,
-1.12,1.09,1.07,1.06,1.12,1.10,1.12,1.14,1.15,1.19,
-1.17,1.15,1.17,1.19,1.20,1.14,1.22,1.12,1.17,1.18,
-1.24,1.27,1.19,1.16,1.19,1.24,1.27,1.25,1.22,1.26,
-1.25,1.21,1.28,1.33,1.32,1.28,1.31,1.26,1.26,1.31,
-1.26,1.36,1.31,1.28,1.30,1.31,1.33,1.28,1.36,1.31,
-1.36,1.34,1.37,1.32,1.39,1.28,1.42,1.37,1.41,1.39,
-1.43,1.42,1.39,1.43,1.39,1.44,1.45,1.44,1.46,1.44,
-1.46,1.49,1.48,1.44,1.41,1.41,1.46,1.44,1.51,1.45,
-1.44,1.46,1.51,1.46,1.52,1.52,1.52,1.53,1.53,1.44,
-1.51,1.60,1.52,1.51,1.53,1.54,1.53,1.55,1.52,1.59,
-1.58,1.56,1.60,1.58,1.59,1.62,1.61,1.58,1.58,1.56,
-1.59,1.56,1.59,1.55,1.59,1.63,1.57,1.61,1.68,1.60,
-1.65,1.65,1.68,1.62,1.69,1.65,1.64,1.69,1.72,1.70,
-1.68,1.69,1.61,1.66,1.70,1.76,1.73,1.68,1.68,1.75,
-1.70,1.72,1.70,1.68,1.73,1.82,1.73,1.75,1.69,1.74,
-1.78,1.77,1.75,1.78,1.77,1.80,1.70,1.72,1.71,1.76,
-1.80,1.72,1.76,1.77,1.84,1.75,1.83,1.76,1.79,1.76,
-1.75,1.78,1.79,1.78,1.84,1.77,1.88,1.78,1.85,1.80,
-1.85,1.88,1.84,1.86,1.81,1.92,1.83,1.78,1.88,1.90,
-1.95,1.86,1.87,1.87,1.93,1.95,1.91,1.95,1.93,1.95,
-0.31,0.31,0.35,0.37,0.39,0.38,0.39,0.38,0.42,0.43,
-0.44,0.46,0.47,0.52,0.50,0.49,0.54,0.51,0.51,0.55,
-0.56,0.55,0.56,0.56,0.57,0.61,0.59,0.61,0.57,0.61,
-0.61,0.68,0.67,0.60,0.67,0.67,0.69,0.68,0.66,0.66,
-0.69,0.73,0.71,0.74,0.76,0.70,0.72,0.75,0.72,0.75,
-0.79,0.79,0.79,0.75,0.81,0.82,0.82,0.85,0.86,0.84,
-0.82,0.80,0.83,0.85,0.86,0.82,0.89,0.87,0.86,0.86,
-0.88,0.85,0.90,0.90,0.92,0.89,0.89,0.91,0.94,0.94,
-0.92,0.97,0.95,0.95,0.95,0.94,0.99,0.94,0.98,0.96,
-1.02,1.01,0.97,1.02,1.01,1.05,1.00,1.02,1.01,1.03,
-1.00,1.04,1.02,1.07,1.04,0.98,1.07,1.08,1.09,1.08,
-1.06,1.06,1.05,1.14,1.12,1.09,1.05,1.12,1.18,1.17,
-1.08,1.16,1.13,1.14,1.17,1.15,1.16,1.11,1.20,1.20,
-1.22,1.16,1.22,1.16,1.20,1.16,1.20,1.19,1.18,1.21,
-1.19,1.18,1.15,1.17,1.22,1.18,1.26,1.29,1.20,1.23,
-1.26,1.19,1.24,1.29,1.19,1.33,1.29,1.28,1.24,1.26,
-1.29,1.28,1.26,1.25,1.32,1.29,1.29,1.36,1.29,1.35,
-1.33,1.31,1.33,1.36,1.34,1.34,1.34,1.31,1.33,1.37,
-1.42,1.40,1.38,1.40,1.33,1.32,1.35,1.40,1.38,1.42,
-1.30,1.46,1.42,1.35,1.44,1.36,1.44,1.42,1.37,1.43,
-1.43,1.42,1.43,1.45,1.42,1.50,1.47,1.46,1.46,1.51,
-1.42,1.47,1.43,1.46,1.43,1.44,1.50,1.45,1.51,1.54,
-1.45,1.55,1.51,1.53,1.49,1.54,1.48,1.48,1.51,1.51,
-1.52,1.50,1.49,1.53,1.56,1.53,1.57,1.55,1.58,1.51,
-1.54,1.60,1.50,1.55,1.62,1.56,1.49,1.52,1.59,1.62,
-1.61,1.57,1.58,1.59,1.60,1.63,1.66,1.61,1.57,1.61,
-1.70,1.60,1.61,1.61,1.57,1.66,1.64,1.59,1.65,1.59,
-1.57,1.60,1.72,1.61,1.69,1.59,1.63,1.67,1.70,1.62,
-1.68,1.70,1.69,1.72,1.78,1.71,1.60,1.64,1.75,1.70,
-0.27,0.30,0.29,0.35,0.33,0.37,0.34,0.36,0.39,0.37,
-0.41,0.43,0.42,0.40,0.46,0.43,0.44,0.46,0.46,0.47,
-0.46,0.47,0.50,0.50,0.50,0.52,0.54,0.51,0.53,0.53,
-0.53,0.58,0.57,0.56,0.59,0.60,0.64,0.60,0.63,0.63,
-0.60,0.61,0.68,0.67,0.65,0.65,0.68,0.66,0.67,0.66,
-0.69,0.70,0.70,0.71,0.73,0.70,0.74,0.73,0.73,0.74,
-0.75,0.78,0.78,0.75,0.76,0.78,0.76,0.79,0.78,0.80,
-0.80,0.78,0.77,0.78,0.82,0.82,0.80,0.79,0.80,0.88,
-0.83,0.86,0.85,0.84,0.79,0.86,0.87,0.85,0.88,0.87,
-0.86,0.86,0.85,0.91,0.88,0.91,0.92,0.93,0.86,0.87,
-0.92,0.94,0.96,0.93,0.95,0.91,0.96,0.97,0.96,0.92,
-0.91,0.92,0.98,0.99,0.99,0.94,0.93,0.99,1.06,0.99,
-0.99,1.01,0.98,1.04,1.03,1.05,1.04,1.04,1.03,1.02,
-1.06,1.05,1.06,1.08,1.05,1.08,1.08,1.06,1.08,1.10,
-1.09,1.09,1.09,1.09,1.03,1.06,1.04,1.13,1.11,1.07,
-1.11,1.10,1.11,1.09,1.11,1.11,1.15,1.21,1.14,1.12,
-1.17,1.13,1.16,1.15,1.16,1.16,1.15,1.17,1.14,1.21,
-1.16,1.16,1.19,1.17,1.21,1.19,1.26,1.22,1.24,1.16,
-1.22,1.19,1.22,1.24,1.20,1.25,1.21,1.20,1.22,1.26,
-1.22,1.18,1.20,1.28,1.24,1.28,1.24,1.22,1.29,1.28,
-1.25,1.25,1.26,1.25,1.30,1.27,1.24,1.28,1.32,1.30,
-1.38,1.35,1.29,1.30,1.39,1.34,1.27,1.30,1.32,1.32,
-1.33,1.34,1.34,1.33,1.37,1.37,1.32,1.35,1.34,1.36,
-1.41,1.39,1.39,1.33,1.35,1.38,1.37,1.40,1.39,1.43,
-1.32,1.37,1.32,1.49,1.39,1.37,1.43,1.41,1.42,1.43,
-1.37,1.35,1.39,1.41,1.43,1.40,1.47,1.45,1.45,1.43,
-1.45,1.43,1.50,1.50,1.45,1.46,1.46,1.49,1.51,1.49,
-1.47,1.51,1.48,1.49,1.51,1.44,1.52,1.40,1.45,1.48,
-1.50,1.57,1.52,1.49,1.50,1.51,1.52,1.53,1.50,1.54,
-1.18,1.22,1.27,1.31,1.36,1.43,1.47,1.47,1.53,1.52,
-1.66,1.65,1.69,1.69,1.78,1.80,1.80,1.86,1.97,1.95,
-1.90,1.95,2.03,2.05,2.07,2.10,2.18,2.21,2.17,2.22,
-2.22,2.29,2.46,2.38,2.37,2.44,2.42,2.44,2.44,2.50,
-2.57,2.49,2.51,2.57,2.63,2.63,2.70,2.69,2.69,2.77,
-2.82,2.73,2.84,2.86,2.84,2.82,2.87,2.85,2.93,3.01,
-2.94,3.03,3.00,3.10,3.02,3.09,3.13,3.12,3.24,3.13,
-3.30,3.21,3.24,3.28,3.41,3.25,3.37,3.23,3.33,3.35,
-3.34,3.38,3.54,3.41,3.40,3.45,3.57,3.58,3.45,3.41,
-3.57,3.43,3.59,3.73,3.52,3.59,3.64,3.50,3.74,3.68,
-3.74,3.57,3.61,3.71,3.78,3.83,3.72,3.81,3.78,3.81,
-3.67,3.80,3.87,3.96,3.96,4.03,4.12,3.97,3.99,4.10,
-4.11,4.13,4.10,3.96,3.98,4.08,4.29,4.11,4.19,4.03,
-4.22,4.08,4.38,4.24,4.23,4.19,4.41,4.31,4.30,4.34,
-4.47,4.45,4.43,4.31,4.51,4.33,4.45,4.48,4.40,4.38,
-4.48,4.42,4.58,4.52,4.57,4.65,4.43,4.47,4.60,4.49,
-4.35,4.68,4.66,4.69,4.85,4.81,4.78,4.77,4.65,4.79,
-4.90,4.76,4.73,4.88,4.90,4.89,4.61,4.85,4.97,4.98,
-4.93,5.00,4.90,4.85,5.00,4.84,4.86,4.94,4.95,4.65,
-4.87,5.01,5.17,5.11,5.02,4.82,5.15,5.13,5.15,5.13,
-5.21,5.38,5.00,5.22,5.14,5.13,5.21,5.12,5.23,5.25,
-5.09,5.14,5.39,5.50,5.27,5.25,5.33,5.29,5.44,5.49,
-5.36,5.53,5.29,5.74,5.26,5.57,5.41,5.59,5.58,5.37,
-5.41,5.39,5.66,5.59,5.45,5.61,5.67,5.60,5.61,5.85,
-5.72,5.69,5.57,5.49,5.75,5.65,5.81,5.84,5.61,5.94,
-5.74,5.72,5.90,5.80,5.64,5.90,5.72,5.67,6.14,5.62,
-5.84,5.67,5.85,5.81,5.72,5.92,5.92,5.96,6.12,5.98,
-5.90,5.88,5.88,5.96,6.06,6.26,6.09,6.02,5.85,6.15,
-5.89,6.03,5.99,6.02,6.08,6.42,6.13,6.09,6.13,6.17,
-1.09,1.12,1.20,1.24,1.27,1.34,1.35,1.40,1.46,1.46,
-1.45,1.55,1.52,1.63,1.63,1.70,1.68,1.79,1.85,1.80,
-1.79,1.94,1.98,1.94,1.92,2.01,2.01,2.10,1.98,2.21,
-2.13,2.15,2.11,2.13,2.26,2.12,2.29,2.21,2.28,2.35,
-2.32,2.32,2.31,2.47,2.42,2.53,2.53,2.58,2.62,2.59,
-2.65,2.62,2.72,2.71,2.71,2.71,2.77,2.74,2.83,2.89,
-2.67,2.82,2.80,2.84,2.91,2.96,2.87,2.94,2.96,3.02,
-3.12,3.01,3.01,3.06,2.96,3.06,3.18,3.09,3.17,3.23,
-3.27,3.22,3.29,3.16,3.20,3.33,3.28,3.21,3.32,3.30,
-3.53,3.28,3.33,3.45,3.40,3.51,3.37,3.53,3.53,3.34,
-3.55,3.43,3.57,3.59,3.48,3.50,3.59,3.47,3.67,3.47,
-3.62,3.71,3.67,3.82,3.73,3.73,3.66,3.71,3.84,4.00,
-3.69,3.87,3.74,3.74,3.98,3.89,3.96,3.92,3.89,3.89,
-3.88,4.04,4.00,4.04,4.05,3.95,4.16,4.16,3.98,3.96,
-4.12,4.08,4.08,4.16,4.28,4.09,4.24,4.02,4.14,4.18,
-4.10,4.30,4.21,4.23,4.07,4.43,4.26,4.10,4.44,4.26,
-4.19,4.29,4.31,4.36,4.51,4.49,4.53,4.42,4.40,4.54,
-4.48,4.44,4.54,4.55,4.50,4.53,4.52,4.53,4.49,4.60,
-4.78,4.53,4.60,4.49,4.75,4.57,4.88,4.75,4.75,4.79,
-4.77,4.73,4.96,4.54,4.87,4.96,4.87,4.68,4.83,5.00,
-4.79,4.69,4.86,4.88,4.99,4.83,5.03,4.93,4.82,5.11,
-5.04,4.82,4.84,4.95,4.94,5.06,4.97,5.03,5.01,4.95,
-5.21,5.09,5.12,5.10,5.12,5.11,5.22,5.27,5.33,5.32,
-5.17,5.18,5.13,5.27,5.20,5.40,5.30,5.42,5.07,5.21,
-5.31,5.22,5.39,5.07,5.30,5.24,5.28,5.26,5.36,5.18,
-5.21,5.33,5.36,5.42,5.31,5.31,5.35,5.55,5.37,5.43,
-5.53,5.28,5.38,5.50,5.60,5.48,5.57,5.58,5.51,5.52,
-5.58,5.78,5.62,5.74,5.83,5.79,5.63,5.41,5.48,5.80,
-5.81,5.74,5.50,5.83,5.64,5.84,5.84,5.97,5.77,5.77,
-1.02,1.03,1.09,1.14,1.23,1.26,1.26,1.31,1.31,1.38,
-1.43,1.43,1.50,1.50,1.62,1.60,1.65,1.68,1.68,1.69,
-1.77,1.70,1.79,1.73,1.83,1.88,1.89,1.87,1.99,1.98,
-1.96,2.03,2.00,2.10,2.04,2.14,2.18,2.14,2.17,2.27,
-2.14,2.23,2.28,2.38,2.32,2.34,2.31,2.40,2.39,2.35,
-2.45,2.43,2.53,2.51,2.49,2.57,2.52,2.58,2.56,2.62,
-2.58,2.68,2.62,2.65,2.71,2.77,2.77,2.85,2.60,2.82,
-2.73,2.91,2.82,2.87,2.87,2.96,2.98,2.91,2.92,2.84,
-2.88,3.02,2.88,2.98,3.01,3.06,3.06,3.07,2.98,3.09,
-3.21,3.27,3.14,3.06,3.20,3.22,3.26,3.17,3.21,3.17,
-3.14,3.21,3.23,3.28,3.25,3.32,3.30,3.36,3.36,3.43,
-3.35,3.50,3.37,3.49,3.38,3.48,3.51,3.50,3.46,3.47,
-3.62,3.70,3.62,3.61,3.48,3.64,3.66,3.78,3.68,3.65,
-3.68,3.56,3.47,3.87,3.72,3.86,3.72,3.57,3.76,3.73,
-3.78,3.99,3.80,3.84,3.81,3.84,3.99,3.87,3.97,4.03,
-3.88,3.95,4.00,4.07,3.90,3.87,4.03,3.94,4.03,3.99,
-3.98,4.10,4.06,4.08,4.13,4.28,4.01,4.03,3.88,4.15,
-4.08,4.07,4.43,4.20,4.30,4.28,4.26,4.22,4.24,4.39,
-4.25,4.23,4.12,4.29,4.48,4.25,4.31,4.16,4.42,4.33,
-4.53,4.38,4.54,4.58,4.39,4.38,4.48,4.52,4.56,4.27,
-4.65,4.60,4.52,4.67,4.69,4.46,4.49,4.81,4.62,4.43,
-4.62,4.67,4.89,4.52,4.55,4.68,4.72,4.56,4.68,4.61,
-4.78,4.70,4.79,4.89,4.82,4.85,4.83,4.84,4.92,4.90,
-4.66,4.57,5.13,4.86,4.86,4.79,4.93,4.74,4.98,5.19,
-4.95,4.94,4.81,5.05,4.94,5.05,5.15,5.00,5.04,4.76,
-5.13,5.06,5.05,4.93,5.13,4.95,5.14,5.01,5.08,5.13,
-4.90,5.00,4.93,5.01,5.03,4.96,5.22,5.01,5.31,5.28,
-5.19,5.25,5.32,5.35,5.36,5.37,5.46,5.39,5.27,5.40,
-5.22,5.44,5.02,5.32,5.36,5.21,5.24,5.29,5.37,5.27,
-0.91,1.01,1.02,1.05,1.11,1.12,1.18,1.16,1.22,1.24,
-1.25,1.39,1.37,1.44,1.43,1.39,1.46,1.49,1.57,1.54,
-1.54,1.59,1.68,1.70,1.71,1.70,1.77,1.76,1.71,1.84,
-1.81,1.86,1.84,1.94,1.95,1.97,1.96,2.08,2.03,1.95,
-2.16,2.06,2.00,2.08,2.12,2.15,2.22,2.15,2.16,2.26,
-2.26,2.25,2.33,2.34,2.36,2.20,2.26,2.31,2.42,2.40,
-2.28,2.34,2.47,2.45,2.50,2.54,2.42,2.51,2.62,2.55,
-2.46,2.61,2.52,2.66,2.66,2.67,2.69,2.71,2.83,2.67,
-2.72,2.74,2.67,2.88,2.75,2.82,2.92,2.82,2.91,2.86,
-2.89,2.96,2.83,2.72,3.04,2.86,2.98,3.01,2.99,3.15,
-3.01,3.13,2.97,2.96,3.15,3.06,3.26,3.03,3.15,3.18,
-3.11,3.14,3.06,3.01,3.12,3.12,3.38,3.29,3.27,3.38,
-3.22,3.40,3.28,3.39,3.16,3.27,3.28,3.52,3.53,3.48,
-3.52,3.26,3.46,3.38,3.49,3.39,3.47,3.53,3.44,3.45,
-3.43,3.46,3.41,3.67,3.58,3.61,3.71,3.69,3.59,3.51,
-3.70,3.45,3.59,3.65,3.68,3.73,3.71,3.73,3.82,3.82,
-3.73,3.86,3.80,3.90,3.78,3.91,3.78,3.98,3.76,3.84,
-3.84,3.99,3.91,3.93,3.85,3.95,4.03,3.85,4.20,3.93,
-3.94,3.96,3.89,3.86,3.90,4.15,3.98,3.99,4.11,4.04,
-4.02,4.18,4.05,4.10,4.20,4.22,4.12,4.06,4.13,4.00,
-4.09,4.11,4.15,4.20,4.39,4.17,4.27,4.08,4.51,4.43,
-4.18,4.33,4.02,4.27,4.14,4.38,4.42,4.33,4.27,4.56,
-4.43,4.64,4.22,4.40,4.32,4.61,4.38,4.37,4.46,4.48,
-4.60,4.55,4.54,4.45,4.69,4.55,4.49,4.47,4.44,4.48,
-4.71,4.44,4.38,4.49,4.45,4.49,4.69,4.58,4.64,4.77,
-4.66,4.67,4.69,4.77,4.62,4.60,4.71,4.67,4.80,4.73,
-4.56,4.69,4.83,4.78,4.64,4.71,4.70,4.80,4.69,4.98,
-4.81,4.93,5.05,4.86,4.96,5.13,4.87,4.88,4.91,5.07,
-5.08,5.11,5.05,4.93,4.92,4.90,4.97,5.04,4.98,4.89,
-0.92,0.94,0.94,0.98,1.02,1.03,1.09,1.15,1.12,1.18,
-1.17,1.23,1.28,1.28,1.31,1.38,1.36,1.42,1.39,1.44,
-1.47,1.48,1.53,1.56,1.55,1.61,1.59,1.64,1.65,1.64,
-1.63,1.75,1.74,1.77,1.72,1.87,1.85,1.79,1.79,1.88,
-1.94,1.97,1.93,1.97,1.95,1.96,2.05,2.00,2.01,1.99,
-2.06,2.08,2.11,2.02,2.12,2.19,2.29,2.19,2.18,2.22,
-2.23,2.25,2.25,2.23,2.34,2.35,2.32,2.36,2.35,2.40,
-2.37,2.42,2.44,2.53,2.45,2.45,2.49,2.43,2.48,2.38,
-2.60,2.51,2.59,2.52,2.60,2.74,2.61,2.62,2.71,2.68,
-2.55,2.74,2.75,2.71,2.66,2.77,2.77,2.64,2.77,2.70,
-2.79,2.74,2.84,2.79,2.85,2.85,2.85,2.88,2.83,2.97,
-2.96,2.88,2.97,3.01,3.11,3.14,2.91,3.09,2.96,2.95,
-3.01,3.07,2.87,3.04,3.12,3.20,3.12,3.16,3.10,3.06,
-3.11,3.13,3.17,3.13,3.19,3.24,3.15,3.22,3.11,3.26,
-3.22,3.29,3.30,3.35,3.22,3.30,3.29,3.37,3.45,3.28,
-3.46,3.35,3.33,3.41,3.29,3.33,3.44,3.38,3.38,3.51,
-3.37,3.24,3.54,3.49,3.59,3.45,3.42,3.55,3.56,3.55,
-3.49,3.68,3.62,3.67,3.67,3.53,3.53,3.64,3.60,3.60,
-3.61,3.77,3.63,3.69,3.64,3.78,3.78,3.78,3.68,3.78,
-3.77,3.78,3.84,3.77,3.73,3.67,3.86,3.88,3.86,3.88,
-3.90,3.91,3.95,3.91,3.76,3.89,3.92,3.96,3.95,4.02,
-3.85,3.94,4.00,3.84,3.74,3.98,4.15,3.97,4.04,4.22,
-4.06,4.11,4.19,4.00,4.04,4.03,4.03,3.89,4.16,4.14,
-4.17,4.27,4.08,4.19,3.99,4.32,4.28,4.18,4.01,4.15,
-4.30,4.30,4.22,4.10,4.35,4.25,4.08,4.15,4.30,4.27,
-4.29,4.17,4.40,4.36,4.44,4.48,4.34,4.42,4.22,4.36,
-4.37,4.41,4.42,4.26,4.49,4.34,4.36,4.36,4.34,4.35,
-4.53,4.71,4.50,4.65,4.63,4.46,4.48,4.51,4.50,4.63,
-4.57,4.50,4.35,4.54,4.62,4.55,4.70,4.40,4.56,4.56,
-0.75,0.81,0.88,0.89,0.93,0.93,0.99,1.01,1.07,1.07,
-1.08,1.13,1.15,1.18,1.18,1.21,1.31,1.33,1.31,1.32,
-1.40,1.40,1.42,1.43,1.37,1.46,1.47,1.53,1.49,1.57,
-1.54,1.52,1.53,1.66,1.57,1.61,1.74,1.69,1.74,1.73,
-1.72,1.75,1.77,1.85,1.84,1.83,1.83,1.89,1.87,1.88,
-1.86,1.90,1.94,1.86,1.91,1.93,2.08,1.98,2.03,2.00,
-2.08,2.07,2.10,2.05,2.08,2.11,2.09,2.11,2.09,2.15,
-2.11,2.18,2.20,2.17,2.20,2.25,2.31,2.24,2.31,2.25,
-2.27,2.33,2.38,2.37,2.38,2.37,2.51,2.39,2.30,2.37,
-2.41,2.44,2.46,2.52,2.45,2.58,2.54,2.40,2.52,2.62,
-2.56,2.59,2.56,2.67,2.59,2.45,2.72,2.76,2.63,2.58,
-2.64,2.66,2.69,2.67,2.79,2.65,2.74,2.80,2.73,2.88,
-2.79,2.80,2.82,2.84,2.75,2.86,2.95,2.86,2.94,2.88,
-2.89,2.98,2.90,2.91,2.86,2.78,2.88,3.04,3.00,2.98,
-2.95,2.92,3.03,2.95,3.06,2.95,3.14,3.02,3.12,3.06,
-3.10,3.20,3.09,2.96,3.08,3.08,3.14,3.09,3.18,3.21,
-3.18,3.18,3.32,3.24,3.24,3.21,3.18,3.20,3.17,3.32,
-3.18,3.23,3.22,3.22,3.21,3.38,3.28,3.34,3.36,3.39,
-3.34,3.40,3.31,3.28,3.29,3.48,3.56,3.34,3.61,3.36,
-3.45,3.42,3.42,3.40,3.65,3.47,3.54,3.48,3.53,3.52,
-3.45,3.58,3.45,3.47,3.56,3.65,3.61,3.60,3.56,3.67,
-3.45,3.63,3.57,3.58,3.51,3.60,3.66,3.66,3.75,3.74,
-3.57,3.58,3.62,3.72,3.67,3.75,3.72,3.79,3.74,3.78,
-3.75,3.83,3.73,3.73,3.89,3.91,3.78,3.85,3.81,3.74,
-3.91,3.93,3.83,3.93,3.94,3.66,3.81,3.87,4.02,4.03,
-4.11,3.80,3.98,3.92,3.99,3.97,4.15,3.97,4.13,4.03,
-4.03,4.03,3.97,4.03,4.04,4.10,4.00,3.84,3.89,3.92,
-4.05,4.15,4.01,4.05,4.07,3.95,4.06,4.15,4.30,4.24,
-4.06,4.16,4.32,4.05,4.15,4.28,4.04,4.07,4.04,4.35,
-0.74,0.76,0.78,0.85,0.83,0.86,0.90,0.93,0.99,0.99,
-1.05,1.05,1.06,1.10,1.10,1.13,1.15,1.11,1.18,1.16,
-1.21,1.24,1.27,1.26,1.40,1.31,1.32,1.38,1.39,1.44,
-1.45,1.45,1.45,1.45,1.44,1.58,1.42,1.56,1.53,1.60,
-1.59,1.60,1.57,1.62,1.56,1.69,1.71,1.74,1.72,1.76,
-1.73,1.76,1.75,1.77,1.79,1.77,1.86,1.85,1.85,1.83,
-1.92,1.89,1.86,1.95,1.93,1.98,1.89,1.98,1.94,2.02,
-2.04,1.97,1.96,1.99,2.07,2.02,2.17,2.13,2.05,2.05,
-2.16,2.09,2.16,2.25,2.13,2.22,2.18,2.22,2.26,2.33,
-2.24,2.26,2.28,2.15,2.30,2.34,2.29,2.30,2.44,2.28,
-2.39,2.35,2.39,2.45,2.32,2.37,2.38,2.31,2.42,2.42,
-2.41,2.42,2.54,2.57,2.45,2.45,2.52,2.52,2.38,2.53,
-2.68,2.57,2.54,2.61,2.54,2.52,2.56,2.67,2.54,2.59,
-2.61,2.63,2.62,2.63,2.68,2.62,2.77,2.60,2.69,2.71,
-2.84,2.72,2.70,2.80,2.79,2.72,2.83,2.91,2.77,2.74,
-2.81,2.85,2.75,2.78,2.97,2.87,2.88,2.77,2.84,2.84,
-2.84,2.76,2.89,3.02,3.00,2.90,3.01,2.99,3.06,2.98,
-2.98,3.10,3.08,2.95,3.12,3.09,3.06,3.09,2.96,3.23,
-3.04,3.14,3.08,2.98,3.03,3.03,3.21,3.09,3.13,3.21,
-3.16,3.17,3.14,3.19,3.02,3.29,3.25,3.25,3.28,3.19,
-3.33,3.23,3.21,3.31,3.29,3.33,3.26,3.24,3.28,3.31,
-3.46,3.31,3.15,3.25,3.45,3.36,3.32,3.26,3.43,3.34,
-3.31,3.37,3.30,3.52,3.43,3.37,3.43,3.38,3.35,3.40,
-3.54,3.48,3.54,3.55,3.54,3.60,3.42,3.53,3.51,3.44,
-3.42,3.48,3.58,3.56,3.65,3.60,3.55,3.63,3.58,3.62,
-3.59,3.52,3.60,3.60,3.55,3.53,3.75,3.62,3.74,3.76,
-3.61,3.65,3.71,3.69,3.62,3.73,3.68,3.67,3.69,3.69,
-3.76,3.66,3.69,3.71,3.80,3.71,3.78,3.75,3.73,3.81,
-3.93,3.88,3.86,3.79,3.68,3.91,3.83,3.83,3.81,3.72,
-0.67,0.70,0.71,0.73,0.79,0.82,0.83,0.84,0.86,0.90,
-0.86,0.93,0.98,0.94,0.99,1.00,1.05,1.10,1.05,1.05,
-1.09,1.17,1.16,1.16,1.18,1.23,1.21,1.22,1.28,1.30,
-1.26,1.28,1.31,1.30,1.34,1.37,1.40,1.40,1.41,1.44,
-1.43,1.42,1.49,1.44,1.47,1.48,1.50,1.55,1.56,1.55,
-1.60,1.53,1.58,1.63,1.57,1.66,1.64,1.65,1.69,1.70,
-1.67,1.65,1.78,1.80,1.82,1.72,1.81,1.82,1.80,1.80,
-1.79,1.87,1.85,1.86,1.83,1.89,1.92,1.91,1.89,1.93,
-1.91,2.04,1.96,1.87,1.96,1.96,2.00,2.04,2.01,1.97,
-2.03,2.01,1.99,2.13,2.15,2.07,2.09,2.09,2.12,2.20,
-2.15,2.05,2.12,2.08,2.21,2.19,2.22,2.16,2.17,2.24,
-2.21,2.24,2.29,2.19,2.23,2.34,2.36,2.29,2.28,2.33,
-2.30,2.38,2.32,2.25,2.32,2.36,2.39,2.37,2.31,2.39,
-2.38,2.38,2.38,2.44,2.53,2.37,2.27,2.50,2.53,2.44,
-2.56,2.51,2.38,2.43,2.42,2.52,2.46,2.54,2.48,2.42,
-2.52,2.52,2.59,2.64,2.60,2.65,2.65,2.62,2.60,2.73,
-2.60,2.48,2.72,2.58,2.70,2.69,2.59,2.75,2.72,2.84,
-2.72,2.70,2.80,2.88,2.87,2.84,2.74,2.85,2.72,2.94,
-2.76,2.82,2.91,2.70,2.89,2.82,2.88,2.78,2.92,2.92,
-3.00,2.90,2.90,2.75,2.91,2.88,2.85,2.97,2.91,2.98,
-2.86,2.97,2.92,3.06,2.99,3.04,2.80,2.99,2.90,3.03,
-3.02,3.08,2.95,3.18,2.99,3.06,3.02,2.96,3.09,3.10,
-3.02,3.00,3.00,3.14,3.21,3.16,3.11,3.23,3.25,3.07,
-3.22,3.25,3.15,3.03,3.16,3.16,3.25,3.23,3.21,3.20,
-3.21,3.19,3.20,3.18,3.17,3.27,3.24,3.15,3.32,3.32,
-3.30,3.29,3.25,3.31,3.31,3.25,3.25,3.19,3.41,3.29,
-3.29,3.35,3.27,3.36,3.51,3.25,3.37,3.24,3.39,3.28,
-3.47,3.38,3.35,3.51,3.27,3.45,3.42,3.36,3.48,3.43,
-3.35,3.41,3.60,3.47,3.46,3.55,3.54,3.68,3.45,3.48,
-0.56,0.59,0.67,0.68,0.70,0.72,0.78,0.83,0.77,0.82,
-0.86,0.83,0.92,0.86,0.88,0.92,0.96,0.98,1.01,1.02,
-1.05,1.00,1.03,1.05,1.07,1.04,1.11,1.10,1.17,1.16,
-1.21,1.20,1.19,1.24,1.24,1.19,1.27,1.27,1.29,1.26,
-1.31,1.33,1.32,1.33,1.35,1.34,1.38,1.35,1.47,1.46,
-1.41,1.48,1.43,1.45,1.47,1.51,1.47,1.54,1.51,1.51,
-1.54,1.58,1.54,1.51,1.54,1.66,1.56,1.67,1.66,1.66,
-1.67,1.68,1.66,1.68,1.69,1.67,1.64,1.77,1.73,1.72,
-1.74,1.83,1.74,1.78,1.87,1.81,1.87,1.85,1.83,1.85,
-1.79,1.82,1.89,1.84,1.90,1.88,1.90,1.90,1.91,1.81,
-1.98,1.95,1.89,1.96,1.94,2.00,2.01,1.95,1.96,2.05,
-1.96,2.04,2.17,2.01,2.03,2.03,2.03,2.08,2.10,2.17,
-2.05,2.07,2.14,2.09,2.11,2.13,2.14,2.11,2.08,2.28,
-2.12,2.22,2.18,2.17,2.19,2.29,2.10,2.24,2.26,2.34,
-2.26,2.28,2.35,2.21,2.39,2.32,2.35,2.25,2.33,2.35,
-2.29,2.29,2.25,2.35,2.28,2.41,2.53,2.43,2.40,2.41,
-2.45,2.49,2.46,2.43,2.44,2.50,2.38,2.48,2.45,2.57,
-2.53,2.50,2.55,2.51,2.46,2.56,2.48,2.39,2.43,2.58,
-2.55,2.48,2.50,2.46,2.64,2.63,2.61,2.62,2.52,2.74,
-2.64,2.59,2.66,2.64,2.61,2.75,2.74,2.73,2.63,2.64,
-2.66,2.65,2.64,2.65,2.70,2.65,2.78,2.66,2.69,2.76,
-2.73,2.82,2.65,2.76,2.73,2.69,2.82,2.70,2.78,2.85,
-2.80,2.87,2.77,2.81,2.90,2.82,2.80,2.82,2.89,2.77,
-2.83,2.77,2.91,3.05,2.88,2.98,2.96,3.04,2.83,2.79,
-2.89,2.86,2.97,2.93,2.99,2.93,2.82,2.91,3.00,2.93,
-2.99,2.91,2.98,2.77,3.11,2.95,2.99,3.01,2.96,2.97,
-3.03,3.14,3.09,2.98,3.10,3.08,3.06,3.08,3.00,3.09,
-3.03,3.13,3.11,3.23,3.03,3.13,3.18,3.17,3.11,3.14,
-3.14,3.02,3.22,3.22,3.19,3.18,3.17,3.17,3.09,3.10,
-0.53,0.54,0.59,0.61,0.65,0.67,0.66,0.70,0.76,0.73,
-0.74,0.77,0.78,0.80,0.85,0.85,0.83,0.87,0.95,0.89,
-0.92,0.96,0.95,0.95,0.96,1.03,0.98,1.08,1.02,1.06,
-1.04,1.05,1.03,1.14,1.11,1.17,1.11,1.13,1.14,1.20,
-1.19,1.16,1.18,1.25,1.23,1.20,1.25,1.21,1.28,1.28,
-1.28,1.26,1.37,1.29,1.37,1.39,1.34,1.38,1.41,1.39,
-1.34,1.43,1.41,1.40,1.48,1.43,1.48,1.48,1.52,1.45,
-1.44,1.48,1.53,1.53,1.54,1.63,1.58,1.60,1.56,1.56,
-1.57,1.58,1.57,1.61,1.56,1.63,1.66,1.66,1.65,1.65,
-1.70,1.67,1.72,1.65,1.71,1.71,1.69,1.71,1.69,1.75,
-1.75,1.70,1.72,1.83,1.85,1.77,1.78,1.78,1.80,1.83,
-1.79,1.86,1.81,1.80,1.87,1.90,1.84,1.93,1.88,1.87,
-1.87,1.92,1.95,1.90,1.98,1.95,1.92,1.93,1.99,1.98,
-1.98,2.03,2.01,2.01,2.01,2.05,2.12,2.01,2.11,2.12,
-2.05,2.06,2.12,1.99,1.99,2.06,2.07,2.08,2.07,2.09,
-2.05,2.10,2.13,2.18,2.06,2.07,2.20,2.09,2.13,2.14,
-2.16,2.17,2.21,2.15,2.16,2.31,2.17,2.21,2.22,2.27,
-2.29,2.30,2.21,2.31,2.17,2.31,2.31,2.25,2.31,2.23,
-2.26,2.30,2.38,2.26,2.30,2.30,2.35,2.37,2.34,2.41,
-2.37,2.34,2.36,2.32,2.35,2.42,2.35,2.38,2.41,2.37,
-2.39,2.36,2.46,2.42,2.52,2.45,2.57,2.48,2.49,2.50,
-2.48,2.47,2.52,2.45,2.40,2.50,2.49,2.56,2.57,2.56,
-2.50,2.64,2.57,2.65,2.57,2.56,2.57,2.65,2.52,2.54,
-2.48,2.64,2.56,2.51,2.71,2.60,2.64,2.64,2.67,2.64,
-2.66,2.61,2.66,2.64,2.67,2.75,2.64,2.65,2.76,2.77,
-2.72,2.56,2.79,2.75,2.62,2.72,2.64,2.63,2.79,2.71,
-2.75,2.67,2.76,2.76,2.78,2.67,2.86,2.76,2.72,2.78,
-2.85,2.77,2.75,2.83,2.86,2.81,2.84,2.83,2.84,2.74,
-2.81,2.83,2.83,2.74,2.86,2.98,2.88,2.91,2.92,2.79,
-0.49,0.52,0.53,0.57,0.59,0.59,0.62,0.65,0.62,0.63,
-0.69,0.70,0.74,0.74,0.75,0.78,0.76,0.79,0.78,0.80,
-0.83,0.83,0.88,0.89,0.89,0.95,0.90,0.91,0.92,0.93,
-0.95,0.96,1.01,0.97,1.00,1.03,1.03,1.01,1.13,1.08,
-1.08,1.05,1.12,1.11,1.12,1.10,1.11,1.10,1.18,1.19,
-1.21,1.18,1.21,1.21,1.22,1.19,1.25,1.20,1.23,1.29,
-1.31,1.35,1.29,1.32,1.29,1.29,1.26,1.33,1.34,1.36,
-1.30,1.35,1.33,1.32,1.42,1.40,1.44,1.44,1.42,1.39,
-1.43,1.43,1.47,1.50,1.42,1.39,1.50,1.45,1.48,1.54,
-1.53,1.52,1.56,1.55,1.57,1.65,1.59,1.53,1.59,1.60,
-1.62,1.57,1.55,1.68,1.59,1.58,1.59,1.68,1.63,1.68,
-1.69,1.60,1.68,1.59,1.65,1.71,1.74,1.75,1.72,1.66,
-1.69,1.71,1.72,1.79,1.81,1.78,1.76,1.78,1.74,1.75,
-1.84,1.71,1.78,1.81,1.77,1.87,1.87,1.86,1.81,1.84,
-1.78,1.80,1.87,1.86,1.87,1.88,1.81,1.87,1.97,1.92,
-1.84,1.94,1.99,1.90,1.88,1.92,1.92,1.98,1.96,1.95,
-2.01,1.90,1.92,1.95,1.95,1.96,2.03,1.95,2.06,2.07,
-1.96,2.09,2.01,1.97,2.08,2.12,2.09,2.01,2.11,2.09,
-2.11,2.05,2.14,2.22,2.03,2.13,2.14,2.09,2.15,2.03,
-2.10,2.17,2.21,2.13,2.21,2.19,2.17,2.18,2.10,2.29,
-2.07,2.20,2.23,2.18,2.17,2.15,2.11,2.22,2.21,2.29,
-2.30,2.28,2.21,2.22,2.27,2.24,2.33,2.19,2.27,2.32,
-2.27,2.19,2.29,2.37,2.29,2.25,2.30,2.21,2.33,2.34,
-2.35,2.41,2.32,2.33,2.27,2.32,2.40,2.33,2.35,2.48,
-2.43,2.41,2.31,2.46,2.43,2.49,2.39,2.39,2.48,2.35,
-2.40,2.43,2.39,2.50,2.51,2.51,2.52,2.51,2.43,2.52,
-2.58,2.54,2.44,2.50,2.48,2.43,2.52,2.58,2.59,2.51,
-2.51,2.47,2.60,2.50,2.57,2.52,2.60,2.50,2.63,2.61,
-2.56,2.63,2.52,2.60,2.72,2.59,2.59,2.56,2.65,2.67,
-0.42,0.49,0.47,0.48,0.52,0.52,0.56,0.58,0.61,0.59,
-0.61,0.63,0.66,0.68,0.70,0.69,0.70,0.74,0.73,0.76,
-0.76,0.73,0.77,0.77,0.79,0.81,0.81,0.80,0.84,0.83,
-0.86,0.91,0.90,0.89,0.92,0.92,0.96,0.94,0.90,0.97,
-0.98,0.99,0.95,0.98,1.01,1.02,1.03,1.03,0.99,1.05,
-1.05,1.09,1.08,1.07,1.11,1.09,1.12,1.07,1.14,1.15,
-1.14,1.17,1.16,1.14,1.20,1.16,1.19,1.18,1.20,1.20,
-1.23,1.25,1.27,1.23,1.29,1.23,1.24,1.29,1.27,1.28,
-1.33,1.32,1.42,1.28,1.35,1.36,1.35,1.35,1.36,1.36,
-1.34,1.38,1.31,1.37,1.41,1.49,1.38,1.37,1.51,1.45,
-1.43,1.44,1.47,1.43,1.33,1.44,1.49,1.52,1.50,1.52,
-1.43,1.48,1.50,1.56,1.46,1.55,1.52,1.55,1.52,1.55,
-1.56,1.60,1.56,1.59,1.51,1.53,1.57,1.70,1.58,1.66,
-1.62,1.61,1.57,1.59,1.63,1.63,1.65,1.69,1.67,1.67,
-1.73,1.64,1.66,1.67,1.74,1.68,1.69,1.64,1.73,1.67,
-1.67,1.71,1.64,1.72,1.69,1.77,1.77,1.75,1.83,1.84,
-1.72,1.78,1.83,1.82,1.89,1.82,1.78,1.76,1.77,1.87,
-1.85,1.78,1.87,1.83,1.83,1.90,1.86,1.85,1.85,1.76,
-1.86,1.91,1.91,2.03,1.94,1.93,1.96,1.92,1.96,1.92,
-1.94,1.94,1.99,1.93,1.98,1.97,1.91,1.96,2.00,1.97,
-1.98,1.97,2.07,2.00,1.99,2.04,1.99,1.97,1.95,1.99,
-2.03,2.01,1.99,2.02,1.99,2.08,2.03,2.03,2.05,2.08,
-2.12,2.09,2.10,2.13,2.10,2.14,2.10,2.09,2.11,2.15,
-2.14,2.05,2.07,2.15,2.17,2.18,2.16,2.14,2.13,2.15,
-2.24,2.16,2.17,2.19,2.14,2.26,2.22,2.21,2.24,2.21,
-2.25,2.17,2.16,2.22,2.27,2.20,2.28,2.29,2.17,2.20,
-2.25,2.31,2.41,2.31,2.30,2.30,2.26,2.24,2.22,2.28,
-2.32,2.24,2.23,2.29,2.29,2.34,2.33,2.22,2.31,2.34,
-2.26,2.38,2.28,2.26,2.28,2.28,2.28,2.36,2.39,2.40,
-0.40,0.40,0.42,0.46,0.47,0.51,0.51,0.51,0.54,0.55,
-0.57,0.56,0.60,0.61,0.58,0.60,0.63,0.65,0.68,0.70,
-0.69,0.65,0.71,0.72,0.70,0.71,0.73,0.74,0.76,0.80,
-0.79,0.81,0.79,0.80,0.86,0.87,0.83,0.84,0.88,0.90,
-0.89,0.90,0.88,0.87,0.88,0.89,0.95,0.91,0.94,0.98,
-0.92,0.94,0.97,0.97,1.05,0.98,1.03,1.07,1.00,1.02,
-1.04,1.05,1.08,1.05,1.08,1.05,1.05,1.08,1.09,1.06,
-1.09,1.12,1.06,1.09,1.15,1.15,1.14,1.16,1.19,1.22,
-1.19,1.15,1.18,1.17,1.17,1.20,1.18,1.26,1.25,1.21,
-1.22,1.20,1.21,1.25,1.29,1.27,1.24,1.28,1.29,1.27,
-1.35,1.28,1.30,1.29,1.32,1.29,1.31,1.30,1.29,1.33,
-1.35,1.28,1.36,1.36,1.41,1.37,1.45,1.41,1.41,1.43,
-1.39,1.42,1.40,1.42,1.40,1.41,1.50,1.46,1.50,1.47,
-1.46,1.50,1.43,1.49,1.47,1.51,1.48,1.51,1.46,1.49,
-1.51,1.51,1.53,1.45,1.48,1.55,1.55,1.48,1.48,1.51,
-1.54,1.54,1.50,1.64,1.62,1.61,1.59,1.61,1.57,1.60,
-1.59,1.65,1.63,1.60,1.59,1.64,1.68,1.65,1.59,1.64,
-1.71,1.66,1.69,1.63,1.67,1.75,1.72,1.60,1.72,1.71,
-1.73,1.72,1.67,1.73,1.74,1.71,1.70,1.75,1.72,1.73,
-1.74,1.65,1.72,1.74,1.75,1.80,1.75,1.80,1.75,1.77,
-1.80,1.84,1.84,1.73,1.80,1.87,1.86,1.82,1.75,1.79,
-1.76,1.81,1.86,1.77,1.85,1.89,1.87,1.92,1.79,1.72,
-1.82,1.85,1.86,1.88,1.84,1.89,1.96,1.94,1.88,1.89,
-1.87,1.91,1.92,1.92,1.87,1.91,1.90,1.93,2.01,1.97,
-1.92,1.95,1.96,1.92,1.96,1.91,1.96,1.99,1.98,1.94,
-1.93,2.05,2.01,2.01,1.97,1.93,1.98,1.97,2.01,2.02,
-2.01,2.08,1.98,1.99,1.93,2.05,2.02,2.05,1.91,2.04,
-2.03,2.03,1.96,2.03,1.97,2.06,2.01,2.07,2.03,2.12,
-2.14,2.02,2.07,2.10,2.06,2.19,2.12,2.15,2.12,2.13,
-0.35,0.37,0.43,0.40,0.40,0.45,0.46,0.46,0.50,0.47,
-0.50,0.48,0.52,0.55,0.55,0.55,0.59,0.58,0.58,0.61,
-0.62,0.63,0.60,0.68,0.66,0.65,0.72,0.66,0.69,0.71,
-0.68,0.74,0.72,0.77,0.73,0.73,0.74,0.78,0.79,0.82,
-0.76,0.78,0.81,0.79,0.79,0.78,0.85,0.78,0.87,0.86,
-0.88,0.91,0.85,0.86,0.88,0.89,0.88,0.91,0.95,0.93,
-0.91,0.95,0.92,0.93,0.97,0.98,0.91,0.96,1.02,0.98,
-1.00,1.00,1.03,1.01,1.02,1.03,1.07,1.00,1.03,0.99,
-1.08,1.02,1.02,1.05,1.02,1.08,1.07,1.05,1.10,1.15,
-1.12,1.09,1.12,1.07,1.13,1.11,1.11,1.21,1.15,1.17,
-1.12,1.16,1.18,1.22,1.19,1.23,1.19,1.22,1.22,1.17,
-1.22,1.21,1.21,1.25,1.20,1.28,1.28,1.26,1.25,1.28,
-1.23,1.25,1.30,1.25,1.27,1.30,1.32,1.24,1.30,1.32,
-1.32,1.32,1.32,1.34,1.31,1.36,1.32,1.36,1.37,1.38,
-1.35,1.37,1.36,1.37,1.35,1.35,1.39,1.35,1.36,1.45,
-1.42,1.43,1.35,1.38,1.37,1.44,1.45,1.47,1.41,1.45,
-1.42,1.50,1.45,1.43,1.46,1.46,1.46,1.47,1.50,1.44,
-1.50,1.52,1.51,1.49,1.50,1.49,1.53,1.51,1.45,1.50,
-1.56,1.58,1.50,1.53,1.54,1.50,1.52,1.58,1.55,1.52,
-1.60,1.58,1.56,1.57,1.54,1.61,1.55,1.57,1.63,1.56,
-1.60,1.53,1.55,1.57,1.65,1.63,1.61,1.57,1.69,1.64,
-1.61,1.62,1.59,1.63,1.72,1.69,1.69,1.74,1.67,1.68,
-1.64,1.71,1.65,1.72,1.76,1.75,1.69,1.75,1.75,1.70,
-1.69,1.69,1.75,1.75,1.68,1.66,1.71,1.72,1.77,1.74,
-1.72,1.71,1.76,1.76,1.78,1.78,1.79,1.77,1.86,1.81,
-1.70,1.77,1.79,1.78,1.77,1.77,1.81,1.86,1.84,1.89,
-1.82,1.79,1.87,1.90,1.90,1.84,1.81,1.78,1.85,1.81,
-1.81,1.82,1.90,1.82,1.81,1.86,2.00,1.88,1.93,1.85,
-1.89,1.88,1.89,1.95,1.88,1.92,1.90,1.95,1.86,1.91,
-0.30,0.36,0.37,0.39,0.37,0.39,0.42,0.43,0.40,0.46,
-0.43,0.44,0.47,0.48,0.47,0.51,0.52,0.49,0.53,0.55,
-0.57,0.54,0.54,0.56,0.58,0.59,0.62,0.58,0.61,0.63,
-0.61,0.64,0.65,0.69,0.62,0.68,0.70,0.68,0.71,0.67,
-0.68,0.70,0.74,0.76,0.75,0.74,0.79,0.77,0.75,0.78,
-0.79,0.79,0.78,0.77,0.76,0.78,0.83,0.81,0.85,0.84,
-0.85,0.82,0.82,0.86,0.85,0.83,0.86,0.92,0.89,0.88,
-0.87,0.90,0.89,0.89,0.95,0.94,0.92,0.94,0.90,0.95,
-0.92,0.95,1.01,0.93,0.92,0.98,0.95,1.00,1.02,1.00,
-0.99,0.97,1.00,0.98,1.02,1.01,1.00,1.07,1.07,1.06,
-1.04,1.03,1.05,1.04,1.04,1.09,1.09,1.06,1.04,1.07,
-1.10,1.11,1.12,1.11,1.13,1.18,1.14,1.10,1.13,1.12,
-1.10,1.12,1.17,1.11,1.13,1.15,1.20,1.18,1.13,1.19,
-1.21,1.14,1.21,1.19,1.23,1.21,1.17,1.19,1.21,1.23,
-1.23,1.27,1.27,1.22,1.24,1.19,1.19,1.24,1.22,1.23,
-1.25,1.28,1.31,1.27,1.30,1.28,1.22,1.29,1.28,1.30,
-1.30,1.36,1.30,1.30,1.33,1.25,1.31,1.31,1.28,1.35,
-1.34,1.29,1.33,1.35,1.32,1.35,1.39,1.35,1.33,1.31,
-1.34,1.37,1.38,1.35,1.39,1.37,1.37,1.44,1.38,1.40,
-1.35,1.42,1.41,1.48,1.37,1.39,1.47,1.34,1.46,1.50,
-1.41,1.43,1.49,1.44,1.39,1.44,1.51,1.50,1.49,1.47,
-1.45,1.52,1.47,1.49,1.46,1.49,1.49,1.50,1.53,1.51,
-1.51,1.52,1.57,1.51,1.58,1.49,1.55,1.50,1.55,1.49,
-1.52,1.56,1.55,1.54,1.51,1.53,1.54,1.56,1.55,1.55,
-1.50,1.55,1.58,1.67,1.57,1.65,1.60,1.67,1.56,1.59,
-1.57,1.64,1.60,1.62,1.60,1.67,1.61,1.66,1.64,1.61,
-1.59,1.58,1.64,1.65,1.68,1.69,1.68,1.73,1.65,1.59,
-1.75,1.69,1.64,1.69,1.71,1.69,1.66,1.68,1.73,1.65,
-1.68,1.69,1.67,1.62,1.75,1.69,1.73,1.75,1.74,1.72,
-1.17,1.22,1.24,1.32,1.35,1.43,1.51,1.54,1.53,1.67,
-1.63,1.67,1.70,1.69,1.79,1.81,1.84,1.90,1.95,1.96,
-1.94,2.01,1.99,2.15,2.07,2.16,2.19,2.15,2.19,2.24,
-2.27,2.31,2.36,2.40,2.32,2.42,2.50,2.52,2.54,2.48,
-2.48,2.52,2.54,2.66,2.70,2.73,2.64,2.58,2.76,2.81,
-2.77,2.84,2.80,2.91,2.95,2.85,2.96,2.94,2.96,2.92,
-2.92,3.09,2.91,3.11,3.10,3.08,3.18,3.10,3.15,3.26,
-3.12,3.24,3.28,3.26,3.17,3.36,3.29,3.20,3.37,3.41,
-3.50,3.45,3.15,3.47,3.54,3.48,3.61,3.59,3.59,3.62,
-3.55,3.54,3.67,3.59,3.66,3.60,3.74,3.73,3.88,3.70,
-3.69,3.83,3.69,3.58,3.86,3.80,3.67,3.93,3.81,3.83,
-3.87,3.85,3.96,3.88,3.98,4.15,3.90,3.93,4.01,4.03,
-4.01,4.20,4.10,4.17,4.25,4.13,4.18,4.15,4.33,4.18,
-4.10,4.04,4.28,4.28,4.24,4.32,4.27,4.20,4.25,4.42,
-4.27,4.43,4.30,4.39,4.42,4.51,4.41,4.45,4.61,4.45,
-4.56,4.60,4.56,4.55,4.76,4.51,4.73,4.73,4.61,4.70,
-4.72,4.87,4.80,4.68,4.58,4.55,4.78,4.70,4.74,4.84,
-4.99,4.80,4.69,4.75,4.91,4.81,4.69,4.71,4.84,5.00,
-5.08,4.93,5.05,4.81,4.91,5.06,4.87,5.09,5.05,5.08,
-4.92,5.10,5.02,5.04,5.15,5.09,5.22,5.04,5.36,5.34,
-5.25,5.03,5.24,5.05,5.19,5.32,5.23,5.36,5.34,5.19,
-5.26,5.36,5.25,5.35,5.14,5.27,5.34,5.33,5.43,5.47,
-5.58,5.46,5.34,5.42,5.48,5.33,5.39,5.21,5.48,5.65,
-5.67,5.47,5.46,5.48,5.47,5.49,5.45,5.63,5.68,5.79,
-5.55,5.61,5.70,5.73,5.71,5.61,5.72,5.63,5.73,5.60,
-6.03,5.87,5.67,5.75,5.83,5.94,5.59,5.84,5.84,5.81,
-5.84,5.72,5.62,5.58,6.05,5.91,5.84,6.00,6.16,5.97,
-5.99,6.10,5.69,5.94,6.22,6.08,6.00,6.07,5.95,6.30,
-5.81,5.99,6.09,6.30,6.06,6.10,6.23,6.09,6.29,6.37,
-1.12,1.12,1.21,1.23,1.29,1.37,1.32,1.41,1.46,1.51,
-1.55,1.58,1.61,1.55,1.66,1.72,1.71,1.80,1.81,1.86,
-1.85,1.86,1.98,1.88,1.97,1.98,1.98,2.02,2.15,2.09,
-2.11,2.20,2.20,2.26,2.28,2.35,2.24,2.37,2.29,2.39,
-2.41,2.36,2.37,2.48,2.43,2.54,2.57,2.49,2.62,2.62,
-2.73,2.61,2.59,2.70,2.78,2.64,2.77,2.72,2.74,2.85,
-2.85,2.95,2.97,2.80,2.91,3.03,2.88,2.89,2.92,3.00,
-3.01,3.03,2.94,3.00,3.26,3.14,3.16,3.12,3.17,3.18,
-3.23,3.22,3.22,3.37,3.01,3.27,3.42,3.30,3.28,3.53,
-3.56,3.39,3.35,3.56,3.45,3.50,3.52,3.57,3.66,3.48,
-3.55,3.62,3.63,3.52,3.78,3.58,3.73,3.79,3.73,3.65,
-3.71,3.57,3.75,3.71,3.85,3.74,3.78,3.83,3.64,3.83,
-3.85,3.77,3.90,3.83,3.83,3.93,4.03,3.95,4.03,4.08,
-4.13,3.94,4.02,4.24,4.01,4.18,4.01,4.13,4.06,4.05,
-4.30,4.18,4.09,4.14,4.02,4.33,4.09,4.34,4.27,4.24,
-4.21,4.39,4.14,4.31,4.36,4.54,4.24,4.38,4.28,4.32,
-4.42,4.36,4.53,4.44,4.57,4.56,4.61,4.37,4.61,4.39,
-4.46,4.56,4.47,4.51,4.34,4.74,4.68,4.56,4.53,4.78,
-4.70,4.91,4.79,4.79,4.62,4.71,4.68,4.56,4.82,4.72,
-4.56,4.74,4.88,4.66,4.80,4.77,4.66,4.69,4.93,4.82,
-4.71,4.92,5.14,5.09,4.82,4.94,5.27,5.00,4.93,5.03,
-4.96,5.12,5.13,4.98,5.13,4.84,4.98,5.30,5.17,5.04,
-5.16,5.18,5.13,5.23,5.11,5.44,5.07,5.16,5.23,5.38,
-5.35,5.10,5.09,5.41,5.39,5.43,5.57,5.44,5.32,5.32,
-5.22,5.42,5.48,5.31,5.33,5.36,5.46,5.45,5.56,5.47,
-5.38,5.56,5.43,5.57,5.35,5.41,5.33,5.36,5.27,5.53,
-5.60,5.51,5.69,5.52,5.66,5.86,5.48,5.66,5.37,5.37,
-5.52,5.68,5.81,5.68,5.60,5.62,5.84,5.74,5.90,5.77,
-5.80,5.75,5.62,5.95,5.71,5.75,5.95,5.75,5.75,5.77,
-1.06,1.05,1.11,1.21,1.21,1.23,1.32,1.31,1.36,1.44,
-1.43,1.46,1.45,1.51,1.61,1.55,1.58,1.68,1.66,1.64,
-1.69,1.79,1.80,1.84,1.92,1.93,1.97,1.97,1.97,2.03,
-2.10,2.07,2.09,2.07,2.07,2.04,2.16,2.19,2.28,2.28,
-2.29,2.28,2.24,2.32,2.34,2.38,2.43,2.40,2.39,2.38,
-2.45,2.51,2.57,2.59,2.54,2.62,2.64,2.58,2.74,2.63,
-2.70,2.76,2.76,2.79,2.65,2.89,2.84,2.80,2.84,2.94,
-2.79,2.93,2.93,2.92,2.89,2.93,3.05,2.96,3.11,3.04,
-2.97,3.14,3.16,2.94,3.09,3.15,3.04,3.17,3.21,3.20,
-3.24,3.11,3.29,3.10,3.25,3.27,3.27,3.21,3.30,3.25,
-3.31,3.23,3.35,3.28,3.45,3.48,3.51,3.51,3.31,3.40,
-3.50,3.51,3.52,3.47,3.53,3.53,3.50,3.68,3.42,3.59,
-3.61,3.59,3.68,3.58,3.71,3.76,3.67,3.57,3.56,3.79,
-3.77,3.81,3.81,3.74,3.79,3.93,3.82,3.95,3.94,4.03,
-3.90,3.95,3.97,3.89,4.00,3.97,3.84,4.03,3.87,4.00,
-4.04,4.15,4.16,4.07,3.97,3.97,4.14,4.01,4.19,4.08,
-4.10,4.26,4.14,4.03,4.21,4.25,4.36,4.17,4.28,4.15,
-4.29,4.24,4.35,4.47,4.34,4.26,4.38,4.34,4.38,4.21,
-4.36,4.48,4.36,4.52,4.39,4.36,4.38,4.51,4.47,4.48,
-4.54,4.52,4.69,4.60,4.56,4.55,4.42,4.40,4.60,4.56,
-4.52,4.38,4.69,4.86,4.64,4.63,4.64,4.79,4.82,4.76,
-4.69,4.66,4.62,4.93,4.63,4.85,4.76,4.97,4.97,4.72,
-4.76,4.84,4.92,4.82,4.85,4.99,4.86,4.89,4.90,4.83,
-4.98,4.97,4.92,4.96,4.85,5.07,4.97,5.20,4.93,5.02,
-4.92,5.24,4.92,4.92,4.96,5.01,5.33,5.18,5.02,5.17,
-5.07,5.18,5.23,5.12,5.02,5.46,5.12,5.24,5.14,5.24,
-5.23,5.26,5.25,5.13,5.19,5.31,5.17,5.24,5.38,5.29,
-5.28,5.43,5.49,5.23,5.29,5.24,5.50,5.25,5.36,5.38,
-5.35,5.50,5.40,5.48,5.40,5.81,5.63,5.56,5.39,5.59,
-0.98,1.00,1.05,1.15,1.10,1.19,1.26,1.25,1.29,1.31,
-1.40,1.38,1.37,1.43,1.47,1.52,1.52,1.55,1.58,1.58,
-1.64,1.67,1.70,1.75,1.79,1.69,1.81,1.84,1.77,1.86,
-1.90,1.90,1.89,1.95,1.89,2.02,2.00,2.04,2.04,2.15,
-2.12,2.16,2.24,2.10,2.19,2.28,2.21,2.25,2.30,2.31,
-2.32,2.33,2.33,2.42,2.42,2.45,2.34,2.42,2.57,2.46,
-2.48,2.48,2.63,2.62,2.52,2.61,2.58,2.53,2.60,2.65,
-2.63,2.72,2.70,2.64,2.78,2.74,2.83,2.83,2.91,2.83,
-2.79,2.84,2.67,2.83,2.91,2.93,2.86,2.81,2.95,3.01,
-3.07,3.00,3.07,3.02,3.09,3.14,3.03,3.01,3.09,3.06,
-3.22,3.10,3.21,3.20,3.26,3.18,3.18,3.06,3.18,3.21,
-3.37,3.27,3.31,3.25,3.24,3.29,3.34,3.32,3.45,3.33,
-3.29,3.37,3.54,3.38,3.44,3.37,3.46,3.38,3.38,3.42,
-3.54,3.48,3.55,3.55,3.64,3.60,3.53,3.57,3.74,3.42,
-3.62,3.45,3.66,3.79,3.79,3.63,3.90,3.74,3.64,3.66,
-3.84,3.73,3.77,3.84,3.83,3.90,3.78,3.87,4.00,3.85,
-3.96,4.03,3.81,3.99,3.86,3.90,3.92,3.79,4.03,3.95,
-4.07,4.02,4.11,4.02,4.05,4.11,4.04,4.00,4.17,4.08,
-4.08,4.22,4.09,3.92,4.13,4.22,4.23,4.13,4.23,4.15,
-4.15,4.11,4.28,4.14,4.33,4.27,4.29,4.05,4.33,4.44,
-4.20,4.22,4.16,4.25,4.31,4.30,4.41,4.36,4.46,4.49,
-4.41,4.20,4.52,4.40,4.44,4.41,4.56,4.53,4.55,4.34,
-4.44,4.55,4.48,4.49,4.42,4.62,4.66,4.41,4.65,4.74,
-4.54,4.71,4.68,4.60,4.64,4.64,4.65,4.58,4.57,4.52,
-4.59,4.62,4.76,4.74,5.03,4.73,4.60,4.84,4.78,4.78,
-4.66,4.98,4.64,4.78,4.72,4.87,4.89,4.97,4.92,4.89,
-4.77,4.75,4.70,4.79,4.92,4.92,4.96,5.02,4.98,4.78,
-4.89,5.09,4.86,4.86,5.04,4.90,4.96,5.05,5.01,5.05,
-5.17,5.17,5.09,5.04,5.01,5.17,5.23,5.06,5.26,5.04,
-0.86,0.94,0.99,1.01,1.02,1.11,1.13,1.14,1.19,1.23,
-1.23,1.28,1.33,1.38,1.37,1.37,1.45,1.50,1.47,1.52,
-1.50,1.50,1.55,1.66,1.66,1.65,1.65,1.66,1.70,1.71,
-1.71,1.79,1.73,1.89,1.86,1.94,1.89,1.89,1.87,1.96,
-1.88,1.95,2.07,2.03,2.03,2.05,2.06,2.08,2.08,2.10,
-2.15,2.22,2.18,2.21,2.21,2.28,2.33,2.21,2.22,2.35,
-2.33,2.31,2.38,2.33,2.38,2.49,2.38,2.38,2.52,2.46,
-2.38,2.48,2.56,2.57,2.63,2.53,2.55,2.61,2.55,2.59,
-2.73,2.65,2.78,2.64,2.63,2.77,2.74,2.71,2.79,2.81,
-2.65,2.91,2.80,2.79,2.81,2.76,2.80,2.93,2.92,2.83,
-2.91,3.02,3.04,2.89,2.93,3.00,3.02,2.98,2.98,3.10,
-2.98,3.14,3.04,3.12,3.20,3.15,3.27,3.11,3.26,3.22,
-3.08,3.07,3.15,3.25,3.16,3.23,3.20,3.24,3.28,3.31,
-3.35,3.35,3.42,3.31,3.21,3.24,3.33,3.23,3.53,3.52,
-3.45,3.44,3.44,3.34,3.39,3.43,3.35,3.35,3.38,3.53,
-3.36,3.53,3.40,3.60,3.64,3.53,3.47,3.46,3.57,3.60,
-3.72,3.56,3.68,3.64,3.63,3.56,3.76,3.64,3.52,3.59,
-3.64,3.50,3.85,3.79,3.74,3.72,3.62,3.80,3.90,3.70,
-3.83,3.91,3.89,3.72,3.73,3.80,3.82,3.88,3.91,3.85,
-3.82,3.91,3.81,4.00,3.94,3.99,3.92,4.00,4.16,3.97,
-4.08,4.02,4.09,4.02,3.95,3.99,4.24,4.09,4.03,4.22,
-4.25,4.28,4.08,4.08,4.07,4.17,3.98,4.15,4.25,4.13,
-4.07,4.06,4.21,4.25,4.37,4.42,4.28,4.31,4.22,4.41,
-4.26,4.12,4.27,4.42,4.42,4.25,4.21,4.47,4.37,4.25,
-4.41,4.26,4.49,4.35,4.36,4.50,4.55,4.50,4.51,4.54,
-4.57,4.49,4.36,4.49,4.58,4.51,4.58,4.43,4.68,4.48,
-4.54,4.63,4.68,4.54,4.50,4.59,4.53,4.54,4.71,4.61,
-4.58,4.65,4.72,4.76,4.79,4.73,4.57,4.62,4.87,4.57,
-4.86,4.73,4.85,4.72,4.68,4.71,4.88,4.75,4.58,4.90,
-0.84,0.86,0.92,0.91,0.99,1.01,1.06,1.05,1.13,1.09,
-1.15,1.23,1.15,1.25,1.24,1.27,1.30,1.32,1.33,1.42,
-1.41,1.43,1.49,1.45,1.56,1.53,1.55,1.56,1.52,1.60,
-1.57,1.65,1.70,1.67,1.73,1.76,1.72,1.77,1.79,1.75,
-1.79,1.84,1.91,1.89,1.91,1.91,1.92,1.87,1.99,1.94,
-1.97,2.05,2.02,1.94,2.13,2.08,2.16,2.07,2.08,2.08,
-2.20,2.14,2.18,2.17,2.10,2.21,2.20,2.22,2.24,2.30,
-2.24,2.27,2.29,2.24,2.42,2.35,2.32,2.41,2.41,2.32,
-2.51,2.43,2.48,2.52,2.45,2.56,2.50,2.56,2.61,2.47,
-2.59,2.76,2.66,2.65,2.56,2.68,2.56,2.59,2.62,2.63,
-2.76,2.74,2.76,2.72,2.70,2.71,2.77,2.84,2.79,2.76,
-2.76,2.84,2.78,2.82,2.81,2.90,2.95,2.89,2.89,2.87,
-2.94,2.79,2.91,2.91,2.92,2.87,2.92,2.93,3.02,3.26,
-3.07,3.15,2.92,3.07,3.04,3.08,3.21,3.10,3.13,3.14,
-3.12,3.08,3.17,3.25,3.08,3.05,3.33,3.20,3.16,3.21,
-3.15,3.25,3.30,3.21,3.28,3.36,3.12,3.23,3.42,3.29,
-3.39,3.52,3.29,3.43,3.46,3.44,3.36,3.40,3.30,3.37,
-3.48,3.44,3.35,3.47,3.57,3.31,3.54,3.40,3.47,3.40,
-3.49,3.38,3.63,3.52,3.49,3.54,3.57,3.59,3.54,3.56,
-3.57,3.65,3.59,3.63,3.47,3.73,3.66,3.62,3.65,3.64,
-3.82,3.75,3.56,3.71,3.68,3.62,3.77,3.74,3.81,3.78,
-3.80,3.70,3.76,3.80,3.78,3.91,3.79,3.88,3.86,3.79,
-3.88,3.90,3.89,3.93,3.98,3.88,3.87,4.01,3.87,3.89,
-3.92,3.85,4.02,3.85,3.99,3.89,4.04,4.04,4.07,3.84,
-4.08,4.00,4.02,4.20,4.14,4.06,4.11,4.13,4.20,4.25,
-4.23,4.14,4.21,4.13,4.21,4.17,4.09,4.04,4.17,4.15,
-4.13,4.05,4.14,4.19,4.09,4.19,4.26,4.25,4.24,4.34,
-4.29,4.33,4.27,4.38,4.19,4.32,4.37,4.36,4.23,4.46,
-4.37,4.24,4.16,4.56,4.43,4.49,4.32,4.44,4.51,4.34,
-0.79,0.81,0.87,0.88,0.91,0.92,0.98,0.96,1.01,1.05,
-1.07,1.05,1.11,1.17,1.16,1.17,1.25,1.24,1.23,1.27,
-1.32,1.36,1.33,1.35,1.39,1.45,1.38,1.44,1.50,1.58,
-1.49,1.52,1.57,1.58,1.59,1.49,1.62,1.63,1.64,1.64,
-1.71,1.74,1.76,1.77,1.79,1.78,1.72,1.75,1.77,1.85,
-1.90,1.83,1.82,1.94,1.88,1.83,1.94,1.99,1.96,1.98,
-2.06,2.00,2.04,1.99,1.97,2.05,2.03,2.13,2.11,1.98,
-2.17,2.12,2.16,2.05,2.18,2.19,2.19,2.10,2.23,2.22,
-2.20,2.30,2.30,2.27,2.23,2.36,2.27,2.38,2.30,2.37,
-2.43,2.34,2.42,2.44,2.37,2.38,2.46,2.47,2.43,2.43,
-2.35,2.44,2.42,2.50,2.45,2.58,2.48,2.53,2.54,2.63,
-2.67,2.63,2.61,2.65,2.65,2.59,2.74,2.70,2.69,2.61,
-2.59,2.78,2.83,2.60,2.76,2.74,2.74,2.76,2.81,2.75,
-2.79,2.73,2.86,2.76,2.80,2.81,2.84,3.00,2.89,2.88,
-2.95,2.92,2.86,2.95,2.85,3.03,2.93,3.06,2.94,3.07,
-3.00,3.04,2.99,3.01,3.03,3.04,3.06,3.04,2.98,2.89,
-3.06,3.08,3.10,3.10,3.06,3.17,3.20,3.20,3.08,3.15,
-3.26,3.13,3.26,3.19,3.06,3.12,3.12,3.19,3.25,3.05,
-3.20,3.44,3.27,3.29,3.28,3.20,3.35,3.29,3.31,3.35,
-3.23,3.29,3.31,3.37,3.44,3.33,3.38,3.50,3.55,3.42,
-3.40,3.51,3.44,3.46,3.40,3.33,3.60,3.57,3.45,3.59,
-3.62,3.44,3.63,3.47,3.67,3.47,3.63,3.58,3.73,3.52,
-3.72,3.66,3.63,3.50,3.65,3.58,3.76,3.70,3.54,3.52,
-3.57,3.57,3.73,3.58,3.44,3.69,3.59,3.60,3.71,3.61,
-3.74,3.72,3.75,3.75,3.64,3.70,3.75,3.77,3.75,3.76,
-3.83,3.80,3.93,3.75,3.74,3.84,3.72,3.86,3.83,3.75,
-3.92,3.81,3.96,3.84,3.77,4.03,4.12,3.77,4.08,3.95,
-3.98,3.94,3.95,3.95,3.92,4.14,3.94,3.75,3.79,3.88,
-3.97,4.01,4.06,4.11,3.98,4.05,4.09,4.05,4.06,3.93,
-0.71,0.72,0.78,0.81,0.79,0.82,0.87,0.88,0.93,0.99,
-0.97,1.01,1.03,1.06,1.05,1.06,1.15,1.15,1.12,1.22,
-1.22,1.21,1.21,1.25,1.31,1.31,1.29,1.32,1.35,1.39,
-1.41,1.44,1.48,1.40,1.45,1.48,1.39,1.47,1.50,1.51,
-1.57,1.53,1.58,1.55,1.63,1.58,1.61,1.74,1.67,1.72,
-1.69,1.74,1.74,1.73,1.68,1.74,1.73,1.79,1.73,1.82,
-1.82,1.81,1.81,1.81,1.90,1.95,1.92,1.85,1.95,1.95,
-1.92,1.96,1.91,1.96,1.99,2.07,2.09,2.00,2.07,2.08,
-2.05,2.08,2.09,2.07,2.05,2.04,2.08,2.16,2.07,2.09,
-2.14,2.12,2.09,2.20,2.24,2.21,2.20,2.25,2.37,2.38,
-2.21,2.37,2.26,2.29,2.33,2.42,2.33,2.33,2.28,2.39,
-2.34,2.41,2.37,2.42,2.38,2.41,2.49,2.43,2.48,2.53,
-2.50,2.50,2.39,2.55,2.47,2.58,2.65,2.47,2.59,2.62,
-2.58,2.59,2.51,2.67,2.53,2.70,2.64,2.51,2.73,2.67,
-2.57,2.78,2.63,2.72,2.75,2.72,2.68,2.69,2.68,2.68,
-2.72,2.73,2.70,2.73,2.68,2.78,2.93,2.86,2.80,2.85,
-2.83,2.66,2.74,2.88,2.91,2.95,2.87,2.92,2.83,2.90,
-2.91,2.89,2.97,2.95,2.97,2.95,2.90,3.11,2.93,2.94,
-3.06,2.88,2.96,3.10,3.19,2.94,3.20,3.01,3.08,3.03,
-3.07,3.12,3.07,3.11,3.16,3.13,3.01,3.16,3.13,3.16,
-3.07,3.17,3.21,3.22,3.14,3.32,3.08,3.10,3.22,3.24,
-3.25,3.29,3.17,3.24,3.28,3.16,3.26,3.30,3.29,3.35,
-3.21,3.15,3.32,3.30,3.15,3.30,3.24,3.36,3.45,3.34,
-3.33,3.31,3.36,3.44,3.49,3.29,3.38,3.43,3.24,3.34,
-3.35,3.38,3.50,3.45,3.51,3.49,3.42,3.52,3.50,3.50,
-3.51,3.60,3.56,3.57,3.53,3.49,3.47,3.54,3.33,3.56,
-3.57,3.46,3.59,3.48,3.57,3.64,3.39,3.68,3.59,3.55,
-3.63,3.66,3.76,3.72,3.63,3.68,3.59,3.83,3.67,3.78,
-3.78,3.86,3.67,3.83,3.78,3.86,3.84,3.72,3.81,3.74,
-0.64,0.66,0.71,0.70,0.75,0.77,0.83,0.84,0.82,0.84,
-0.87,0.92,0.92,0.98,0.99,0.98,1.02,1.04,1.01,1.07,
-1.14,1.11,1.16,1.15,1.12,1.27,1.25,1.23,1.24,1.28,
-1.25,1.26,1.30,1.34,1.31,1.40,1.34,1.42,1.42,1.42,
-1.37,1.46,1.42,1.46,1.50,1.47,1.57,1.52,1.50,1.48,
-1.49,1.52,1.55,1.66,1.59,1.56,1.65,1.56,1.68,1.64,
-1.66,1.64,1.76,1.71,1.68,1.74,1.71,1.75,1.78,1.76,
-1.80,1.75,1.78,1.85,1.89,1.80,1.90,1.88,1.91,1.85,
-1.90,1.85,1.94,1.87,1.87,1.93,1.95,1.93,2.05,1.87,
-2.03,2.06,1.95,1.95,2.07,1.98,2.03,2.08,2.08,2.04,
-2.08,1.99,2.06,2.16,2.04,2.12,2.09,2.13,2.15,2.06,
-2.15,2.17,2.19,2.19,2.23,2.22,2.28,2.33,2.27,2.18,
-2.19,2.20,2.22,2.29,2.18,2.37,2.35,2.31,2.36,2.36,
-2.28,2.40,2.26,2.34,2.34,2.38,2.54,2.44,2.36,2.57,
-2.64,2.48,2.41,2.36,2.47,2.45,2.56,2.53,2.42,2.45,
-2.53,2.57,2.45,2.53,2.50,2.63,2.61,2.59,2.54,2.51,
-2.67,2.62,2.63,2.62,2.57,2.59,2.63,2.63,2.62,2.54,
-2.68,2.69,2.72,2.74,2.77,2.77,2.69,2.67,2.68,2.58,
-2.67,2.87,2.72,2.80,2.73,2.77,2.66,2.72,2.85,2.86,
-2.75,2.77,2.77,2.79,2.84,2.90,2.92,2.84,2.99,2.91,
-2.85,2.96,2.87,2.95,2.93,2.85,2.93,2.80,2.84,2.89,
-2.96,2.92,2.97,2.90,2.88,3.02,2.97,2.94,2.78,2.91,
-2.87,2.90,3.08,3.09,3.01,2.96,2.99,3.08,2.98,2.93,
-3.17,3.08,3.12,3.10,3.18,3.26,3.18,3.13,3.03,3.12,
-3.14,3.14,3.14,3.21,3.03,3.20,3.09,3.23,3.13,3.17,
-3.31,3.31,3.16,3.21,3.22,3.09,3.24,3.29,3.22,3.18,
-3.22,3.26,3.10,3.26,3.31,3.29,3.29,3.33,3.38,3.36,
-3.32,3.29,3.24,3.38,3.42,3.28,3.34,3.39,3.41,3.35,
-3.40,3.43,3.38,3.46,3.42,3.57,3.36,3.31,3.47,3.42,
-0.60,0.61,0.65,0.65,0.69,0.74,0.74,0.77,0.81,0.81,
-0.79,0.80,0.86,0.88,0.88,0.91,0.93,0.94,0.96,0.99,
-1.03,1.03,1.05,1.06,1.08,1.08,1.06,1.13,1.13,1.14,
-1.16,1.17,1.17,1.16,1.17,1.22,1.25,1.29,1.25,1.22,
-1.24,1.31,1.25,1.37,1.31,1.33,1.34,1.37,1.40,1.37,
-1.41,1.38,1.43,1.41,1.44,1.42,1.46,1.50,1.54,1.54,
-1.50,1.46,1.52,1.61,1.60,1.56,1.58,1.62,1.60,1.54,
-1.66,1.62,1.64,1.64,1.61,1.72,1.62,1.70,1.73,1.79,
-1.79,1.69,1.72,1.79,1.61,1.78,1.73,1.79,1.75,1.85,
-1.85,1.88,1.84,1.88,1.89,2.00,1.81,1.87,1.86,1.85,
-1.81,1.83,1.88,1.93,1.94,1.99,1.99,1.94,2.00,2.06,
-2.00,2.05,1.94,1.99,1.97,2.06,2.04,2.00,2.03,2.07,
-2.07,2.14,2.10,2.10,2.10,2.15,2.11,2.10,2.08,2.11,
-2.17,2.13,2.14,2.15,2.15,2.13,2.22,2.25,2.20,2.28,
-2.20,2.24,2.16,2.28,2.23,2.29,2.27,2.19,2.25,2.29,
-2.31,2.29,2.34,2.36,2.35,2.39,2.33,2.29,2.35,2.28,
-2.26,2.45,2.27,2.31,2.40,2.37,2.41,2.37,2.34,2.41,
-2.43,2.39,2.54,2.41,2.47,2.44,2.44,2.42,2.50,2.47,
-2.43,2.49,2.48,2.48,2.50,2.47,2.52,2.60,2.46,2.58,
-2.55,2.57,2.51,2.60,2.53,2.57,2.64,2.62,2.59,2.60,
-2.64,2.65,2.61,2.61,2.63,2.79,2.68,2.71,2.66,2.71,
-2.65,2.72,2.73,2.68,2.59,2.75,2.70,2.80,2.72,2.72,
-2.72,2.69,2.74,2.80,2.72,2.75,2.84,2.71,2.84,2.76,
-2.86,2.86,2.80,2.83,2.75,2.84,2.77,2.84,2.72,2.79,
-2.83,2.78,2.88,2.92,2.92,2.90,2.93,2.88,2.81,2.94,
-2.82,3.03,2.96,3.09,3.01,2.96,3.02,3.02,2.91,2.98,
-3.02,2.96,2.99,2.86,3.01,3.04,2.95,2.96,3.10,2.99,
-3.01,3.01,2.86,2.97,2.97,3.07,3.12,3.10,3.15,3.10,
-3.09,3.08,3.03,3.15,3.17,3.14,3.07,3.07,3.09,3.15,
-0.53,0.58,0.59,0.60,0.64,0.67,0.68,0.68,0.71,0.72,
-0.76,0.75,0.78,0.79,0.84,0.84,0.86,0.88,0.88,0.91,
-0.93,0.91,0.97,0.96,0.97,0.96,1.01,1.05,1.05,1.03,
-1.06,1.07,1.07,1.10,1.11,1.13,1.14,1.13,1.12,1.18,
-1.16,1.16,1.15,1.15,1.16,1.17,1.28,1.21,1.25,1.23,
-1.30,1.33,1.29,1.30,1.31,1.30,1.30,1.32,1.32,1.39,
-1.35,1.35,1.34,1.41,1.36,1.41,1.41,1.46,1.42,1.45,
-1.46,1.56,1.54,1.50,1.52,1.58,1.50,1.53,1.54,1.57,
-1.51,1.57,1.64,1.53,1.64,1.60,1.58,1.65,1.54,1.61,
-1.63,1.76,1.67,1.62,1.61,1.69,1.71,1.67,1.79,1.65,
-1.68,1.70,1.71,1.78,1.80,1.77,1.81,1.74,1.82,1.77,
-1.82,1.78,1.80,1.89,1.88,1.82,1.81,1.83,1.85,1.88,
-1.94,1.88,1.98,1.93,1.92,1.92,1.96,1.97,1.87,1.90,
-1.90,1.96,2.01,1.92,1.96,1.98,1.98,2.01,2.01,2.11,
-2.03,2.10,2.09,2.02,2.07,1.96,2.01,2.06,2.06,2.15,
-2.06,2.09,2.05,2.11,2.13,2.07,2.04,2.12,2.17,2.17,
-2.09,2.09,2.17,2.23,2.12,2.20,2.09,2.16,2.22,2.13,
-2.16,2.25,2.16,2.29,2.21,2.23,2.22,2.25,2.20,2.26,
-2.26,2.26,2.34,2.22,2.25,2.29,2.34,2.36,2.23,2.27,
-2.35,2.35,2.41,2.31,2.32,2.30,2.34,2.38,2.42,2.33,
-2.46,2.40,2.36,2.39,2.42,2.42,2.45,2.44,2.43,2.44,
-2.48,2.40,2.52,2.32,2.42,2.47,2.47,2.44,2.56,2.46,
-2.56,2.47,2.58,2.52,2.53,2.53,2.59,2.66,2.56,2.51,
-2.56,2.60,2.56,2.68,2.54,2.55,2.57,2.63,2.61,2.57,
-2.58,2.62,2.70,2.66,2.65,2.54,2.64,2.59,2.66,2.66,
-2.63,2.66,2.62,2.73,2.68,2.75,2.66,2.73,2.67,2.71,
-2.74,2.69,2.69,2.77,2.68,2.78,2.69,2.70,2.82,2.74,
-2.79,2.58,2.85,2.76,2.71,2.65,2.79,2.74,2.83,2.85,
-2.75,2.89,2.93,2.86,2.80,2.85,2.80,2.88,2.88,2.81,
-0.49,0.51,0.54,0.56,0.55,0.59,0.62,0.64,0.67,0.68,
-0.69,0.69,0.72,0.73,0.71,0.74,0.76,0.76,0.78,0.77,
-0.82,0.81,0.88,0.89,0.91,0.89,0.93,0.90,0.87,0.92,
-0.93,1.00,1.01,1.00,1.01,0.99,0.98,1.05,1.02,1.10,
-1.05,1.03,1.07,1.10,1.11,1.13,1.12,1.11,1.18,1.19,
-1.18,1.19,1.19,1.17,1.20,1.26,1.24,1.21,1.30,1.24,
-1.23,1.30,1.27,1.27,1.30,1.30,1.35,1.37,1.33,1.34,
-1.26,1.35,1.34,1.42,1.42,1.38,1.38,1.41,1.47,1.40,
-1.43,1.45,1.46,1.47,1.52,1.49,1.44,1.44,1.47,1.46,
-1.48,1.54,1.55,1.53,1.50,1.48,1.55,1.53,1.53,1.54,
-1.64,1.51,1.60,1.60,1.54,1.64,1.62,1.55,1.65,1.64,
-1.64,1.68,1.66,1.64,1.70,1.70,1.64,1.66,1.62,1.69,
-1.74,1.74,1.74,1.73,1.71,1.76,1.72,1.75,1.72,1.77,
-1.79,1.72,1.78,1.74,1.85,1.84,1.82,1.73,1.88,1.85,
-1.85,1.82,1.80,1.82,1.92,1.85,1.89,1.88,1.94,1.86,
-1.95,1.83,1.86,1.94,1.97,1.91,1.99,1.86,2.04,1.91,
-1.99,1.93,1.99,1.96,1.97,2.01,1.95,1.94,2.01,2.09,
-1.98,2.06,2.04,1.98,2.05,1.99,2.10,2.02,2.09,2.05,
-2.03,2.15,2.04,2.04,2.11,2.07,2.20,2.08,2.09,2.11,
-2.13,2.12,2.12,2.06,2.22,2.15,2.11,2.14,2.11,2.26,
-2.21,2.11,2.19,2.17,2.15,2.26,2.16,2.25,2.20,2.18,
-2.17,2.22,2.16,2.28,2.17,2.21,2.19,2.26,2.25,2.29,
-2.37,2.21,2.19,2.33,2.22,2.27,2.31,2.30,2.37,2.38,
-2.33,2.23,2.35,2.37,2.29,2.25,2.40,2.31,2.43,2.40,
-2.42,2.32,2.28,2.37,2.43,2.36,2.38,2.44,2.52,2.34,
-2.52,2.27,2.29,2.41,2.40,2.43,2.49,2.56,2.43,2.56,
-2.45,2.53,2.54,2.38,2.52,2.48,2.45,2.45,2.55,2.53,
-2.58,2.41,2.50,2.51,2.61,2.57,2.55,2.52,2.50,2.57,
-2.60,2.55,2.56,2.54,2.54,2.49,2.59,2.68,2.62,2.59,
-0.43,0.44,0.50,0.50,0.53,0.52,0.57,0.53,0.60,0.62,
-0.60,0.64,0.65,0.66,0.65,0.69,0.69,0.72,0.75,0.73,
-0.71,0.76,0.77,0.77,0.77,0.80,0.80,0.86,0.83,0.83,
-0.86,0.91,0.91,0.88,0.91,0.91,0.94,0.90,0.92,0.95,
-0.95,0.96,0.99,0.98,0.99,1.02,1.06,1.06,1.05,1.03,
-1.09,1.03,1.05,1.11,1.05,1.09,1.13,1.11,1.11,1.15,
-1.10,1.15,1.20,1.14,1.19,1.20,1.12,1.20,1.27,1.22,
-1.25,1.20,1.25,1.25,1.24,1.26,1.30,1.26,1.33,1.28,
-1.33,1.32,1.26,1.31,1.37,1.26,1.32,1.33,1.30,1.35,
-1.31,1.37,1.43,1.37,1.45,1.40,1.45,1.44,1.40,1.44,
-1.41,1.40,1.43,1.40,1.44,1.44,1.50,1.48,1.48,1.44,
-1.52,1.50,1.52,1.49,1.51,1.57,1.52,1.48,1.52,1.57,
-1.58,1.57,1.56,1.58,1.61,1.57,1.62,1.65,1.66,1.60,
-1.62,1.58,1.60,1.61,1.71,1.69,1.62,1.63,1.65,1.58,
-1.65,1.61,1.71,1.68,1.62,1.69,1.71,1.68,1.65,1.76,
-1.74,1.71,1.69,1.66,1.77,1.75,1.74,1.72,1.82,1.75,
-1.77,1.80,1.72,1.79,1.82,1.83,1.83,1.84,1.84,1.82,
-1.78,1.84,1.81,1.84,1.87,1.89,1.80,1.86,1.86,1.91,
-1.91,1.86,1.81,1.84,1.96,1.97,1.84,1.96,1.84,1.86,
-1.93,2.01,1.97,1.96,1.90,1.93,2.00,1.95,1.88,1.98,
-1.99,1.92,2.04,1.92,2.00,2.01,1.99,2.10,2.01,1.90,
-2.01,2.04,1.99,2.01,1.98,2.07,1.98,2.03,1.98,2.12,
-2.05,2.05,2.06,2.12,2.11,2.07,2.00,2.07,2.13,2.13,
-2.14,2.12,2.10,2.01,2.09,2.08,2.13,2.08,2.08,2.20,
-2.07,2.07,2.16,2.11,2.11,2.11,2.12,2.12,2.24,2.18,
-2.18,2.23,2.23,2.25,2.15,2.05,2.28,2.27,2.27,2.17,
-2.28,2.22,2.25,2.19,2.34,2.29,2.32,2.31,2.16,2.28,
-2.30,2.27,2.25,2.35,2.32,2.29,2.26,2.32,2.28,2.31,
-2.30,2.39,2.21,2.39,2.31,2.24,2.35,2.25,2.34,2.26,
-0.41,0.41,0.44,0.46,0.47,0.48,0.47,0.51,0.50,0.55,
-0.56,0.57,0.59,0.59,0.60,0.63,0.64,0.64,0.66,0.65,
-0.67,0.70,0.72,0.76,0.71,0.73,0.73,0.80,0.78,0.77,
-0.78,0.79,0.78,0.80,0.84,0.85,0.83,0.84,0.81,0.87,
-0.91,0.91,0.87,0.92,0.93,0.91,0.90,0.92,0.96,0.92,
-0.95,1.05,1.00,1.00,0.96,0.98,1.01,1.00,1.01,1.01,
-1.04,1.09,1.08,1.08,1.07,1.09,1.04,1.14,1.06,1.12,
-1.08,1.12,1.09,1.08,1.19,1.16,1.10,1.15,1.15,1.18,
-1.16,1.14,1.21,1.19,1.20,1.21,1.21,1.25,1.24,1.20,
-1.20,1.20,1.26,1.31,1.23,1.26,1.25,1.27,1.34,1.28,
-1.23,1.26,1.32,1.29,1.28,1.33,1.32,1.34,1.38,1.37,
-1.38,1.34,1.37,1.36,1.38,1.37,1.41,1.36,1.43,1.38,
-1.44,1.40,1.39,1.44,1.38,1.44,1.47,1.42,1.41,1.48,
-1.51,1.47,1.47,1.52,1.49,1.53,1.51,1.47,1.49,1.46,
-1.55,1.50,1.53,1.57,1.57,1.57,1.46,1.56,1.53,1.54,
-1.51,1.58,1.54,1.51,1.58,1.50,1.53,1.66,1.58,1.58,
-1.60,1.60,1.61,1.59,1.62,1.68,1.65,1.67,1.66,1.65,
-1.70,1.65,1.66,1.66,1.64,1.66,1.70,1.73,1.75,1.69,
-1.66,1.69,1.69,1.70,1.71,1.65,1.76,1.70,1.64,1.74,
-1.77,1.73,1.77,1.77,1.76,1.79,1.79,1.82,1.75,1.83,
-1.74,1.79,1.81,1.82,1.77,1.86,1.84,1.87,1.84,1.81,
-1.85,1.85,1.85,1.86,1.81,1.85,1.93,1.91,1.84,1.77,
-1.93,1.87,1.88,1.87,1.91,1.81,1.91,1.86,1.94,1.94,
-1.94,1.91,1.90,1.93,1.92,1.85,1.89,2.01,1.92,2.00,
-2.04,2.03,1.94,1.96,2.03,1.86,1.94,1.96,1.98,1.95,
-2.00,2.06,1.92,1.95,1.98,2.05,2.07,2.04,2.00,2.06,
-2.08,2.11,2.00,2.07,2.08,2.02,2.08,2.09,2.09,2.10,
-2.07,2.08,1.99,2.03,2.09,2.01,2.07,2.07,2.09,2.09,
-2.11,2.05,2.06,2.03,2.06,2.12,2.13,2.15,2.14,2.20,
-0.37,0.38,0.36,0.40,0.43,0.45,0.46,0.49,0.49,0.47,
-0.49,0.52,0.53,0.55,0.56,0.58,0.57,0.59,0.60,0.60,
-0.64,0.64,0.62,0.63,0.64,0.69,0.65,0.68,0.68,0.71,
-0.72,0.75,0.70,0.72,0.78,0.71,0.76,0.82,0.83,0.77,
-0.76,0.84,0.81,0.82,0.83,0.81,0.84,0.88,0.86,0.91,
-0.85,0.90,0.83,0.85,0.93,0.85,0.93,0.94,0.92,0.91,
-0.99,0.89,0.93,0.94,0.96,1.00,0.98,0.99,0.96,0.98,
-0.95,0.97,1.00,0.95,1.04,0.99,1.03,1.01,1.07,1.06,
-1.08,1.09,1.01,1.05,1.06,1.09,1.09,1.08,1.11,1.12,
-1.12,1.12,1.13,1.13,1.14,1.17,1.19,1.16,1.20,1.20,
-1.14,1.18,1.21,1.18,1.21,1.27,1.22,1.17,1.17,1.16,
-1.26,1.24,1.21,1.29,1.25,1.28,1.26,1.24,1.24,1.23,
-1.31,1.30,1.33,1.29,1.30,1.30,1.30,1.33,1.32,1.36,
-1.36,1.33,1.33,1.37,1.32,1.38,1.35,1.39,1.34,1.35,
-1.38,1.39,1.36,1.34,1.47,1.42,1.46,1.42,1.39,1.34,
-1.42,1.41,1.47,1.44,1.47,1.45,1.37,1.46,1.44,1.46,
-1.46,1.40,1.54,1.43,1.49,1.50,1.46,1.50,1.50,1.46,
-1.45,1.47,1.50,1.53,1.48,1.53,1.50,1.54,1.58,1.49,
-1.51,1.51,1.54,1.56,1.58,1.53,1.58,1.59,1.56,1.57,
-1.54,1.60,1.57,1.60,1.62,1.64,1.55,1.60,1.64,1.59,
-1.59,1.62,1.57,1.65,1.64,1.61,1.66,1.62,1.67,1.70,
-1.61,1.60,1.64,1.68,1.67,1.68,1.69,1.74,1.62,1.66,
-1.69,1.71,1.69,1.70,1.63,1.75,1.81,1.76,1.74,1.70,
-1.77,1.73,1.71,1.71,1.74,1.76,1.69,1.73,1.81,1.84,
-1.70,1.80,1.82,1.77,1.84,1.79,1.83,1.76,1.81,1.84,
-1.82,1.86,1.82,1.81,1.84,1.89,1.89,1.78,1.81,1.81,
-1.91,1.84,1.87,1.86,1.82,1.87,1.90,1.86,1.81,1.88,
-1.81,1.81,1.88,1.83,1.86,1.91,1.83,1.97,1.94,1.87,
-1.86,1.98,1.98,1.89,1.97,1.97,1.95,1.95,1.89,1.91,
-1.14,1.25,1.26,1.33,1.40,1.34,1.45,1.46,1.54,1.61,
-1.62,1.61,1.68,1.78,1.70,1.80,1.79,1.87,1.82,1.96,
-1.92,1.99,2.03,2.11,2.09,2.06,2.17,2.15,2.17,2.26,
-2.26,2.33,2.36,2.37,2.35,2.47,2.43,2.38,2.45,2.51,
-2.50,2.58,2.61,2.64,2.65,2.67,2.57,2.66,2.66,2.70,
-2.74,2.77,2.82,2.85,2.87,2.89,3.00,2.99,2.83,3.02,
-3.05,3.03,3.08,3.00,3.12,3.05,3.14,3.09,3.06,3.21,
-3.27,3.11,3.25,3.25,3.34,3.32,3.35,3.27,3.34,3.25,
-3.39,3.46,3.52,3.53,3.58,3.43,3.69,3.53,3.62,3.59,
-3.60,3.67,3.77,3.53,3.55,3.61,3.69,3.54,3.66,3.63,
-3.84,3.76,3.65,3.91,3.94,3.89,3.82,3.80,3.89,4.05,
-3.98,3.96,3.97,4.05,3.96,3.94,3.92,3.99,4.18,4.11,
-4.03,4.03,4.19,4.22,4.15,4.11,4.12,4.15,4.18,4.29,
-4.22,4.12,4.25,4.17,4.27,4.18,4.30,4.38,4.26,4.33,
-4.24,4.43,4.47,4.33,4.35,4.49,4.49,4.38,4.40,4.48,
-4.29,4.59,4.62,4.54,4.48,4.55,4.47,4.59,4.53,4.50,
-4.61,4.74,4.62,4.88,4.69,4.65,4.58,4.58,4.76,4.58,
-4.87,4.87,4.83,4.68,4.86,5.00,4.74,4.74,4.73,4.87,
-4.98,4.77,5.20,5.04,4.99,4.99,5.10,4.85,4.98,4.90,
-5.11,5.01,4.95,5.02,4.97,5.22,5.18,5.03,5.08,4.97,
-5.23,5.08,5.31,5.20,5.16,5.21,5.27,5.16,5.03,5.43,
-5.31,5.34,5.26,5.64,5.12,5.11,5.31,5.38,5.33,5.31,
-5.41,5.19,5.40,5.34,5.61,5.48,5.60,5.51,5.40,5.60,
-5.45,5.66,5.69,5.73,5.48,5.58,5.40,5.61,5.53,5.76,
-5.69,5.62,5.57,5.54,5.73,5.77,5.93,5.60,5.68,5.59,
-5.70,5.92,5.83,5.77,5.88,5.66,5.85,5.78,5.94,5.89,
-5.91,5.77,5.72,5.85,5.68,5.87,5.89,6.00,5.85,6.07,
-5.97,6.16,6.13,5.89,6.19,6.00,6.04,6.24,6.14,6.16,
-6.12,6.04,6.02,6.29,6.09,6.09,6.22,6.38,6.38,6.14,
-1.12,1.20,1.21,1.28,1.29,1.42,1.40,1.47,1.50,1.54,
-1.54,1.56,1.63,1.61,1.69,1.77,1.75,1.84,1.85,1.93,
-1.85,1.92,2.03,1.97,1.95,2.02,2.03,2.01,2.14,2.14,
-2.28,2.13,2.24,2.33,2.29,2.32,2.35,2.36,2.43,2.40,
-2.37,2.40,2.32,2.41,2.48,2.61,2.55,2.54,2.55,2.51,
-2.68,2.68,2.78,2.70,2.72,2.77,2.69,2.83,2.85,2.77,
-2.87,2.92,2.91,2.87,2.91,2.94,2.98,2.95,3.02,2.94,
-3.01,3.06,2.99,3.14,3.07,3.11,3.09,3.21,3.23,3.21,
-3.24,3.20,3.26,3.35,3.31,3.17,3.39,3.32,3.42,3.44,
-3.32,3.52,3.43,3.43,3.46,3.40,3.58,3.49,3.51,3.64,
-3.65,3.57,3.70,3.77,3.65,3.47,3.77,3.63,3.53,3.59,
-3.72,3.91,3.75,3.71,3.77,3.78,3.75,3.93,3.80,3.86,
-3.83,4.02,3.87,3.91,3.97,3.90,3.95,4.02,4.21,4.04,
-4.07,4.02,3.90,4.03,4.17,4.17,4.04,4.20,4.16,4.11,
-4.33,4.21,4.18,4.19,4.09,4.20,4.12,4.34,4.27,4.29,
-4.47,4.42,4.33,4.55,4.39,4.43,4.44,4.43,4.52,4.53,
-4.43,4.32,4.34,4.57,4.59,4.39,4.47,4.42,4.66,4.56,
-4.60,4.70,4.59,4.64,4.65,4.70,4.68,4.71,4.83,4.85,
-4.61,4.76,4.41,4.68,4.44,4.69,4.78,4.84,4.93,4.66,
-4.75,4.84,4.80,4.93,4.70,4.78,5.02,4.90,4.97,4.77,
-5.05,5.00,4.95,5.03,5.03,5.06,4.97,5.01,4.94,5.04,
-5.20,5.15,5.19,5.05,4.99,5.05,5.19,5.02,4.95,5.14,
-5.10,5.12,4.90,5.25,5.29,5.29,5.19,5.52,5.24,5.19,
-5.36,5.41,5.15,5.37,5.19,5.36,5.41,5.40,5.37,5.30,
-5.35,5.27,5.43,5.63,5.32,5.57,5.60,5.40,5.61,5.58,
-5.49,5.32,5.44,5.48,5.50,5.71,5.59,5.56,5.61,5.50,
-5.62,5.54,5.74,5.76,5.50,5.53,5.69,5.72,5.59,5.55,
-5.79,5.63,5.52,5.71,5.65,5.64,5.71,5.75,5.85,5.80,
-5.85,5.62,6.07,5.55,5.85,5.84,5.77,5.89,5.71,5.88,
-1.07,1.11,1.13,1.21,1.20,1.29,1.32,1.34,1.41,1.42,
-1.52,1.52,1.55,1.56,1.61,1.64,1.64,1.63,1.77,1.75,
-1.73,1.88,1.88,1.96,1.85,1.93,1.98,1.94,1.93,2.03,
-2.06,2.12,2.17,2.10,2.16,2.16,2.25,2.19,2.20,2.32,
-2.36,2.38,2.38,2.34,2.44,2.44,2.40,2.43,2.45,2.43,
-2.48,2.52,2.49,2.59,2.64,2.64,2.60,2.73,2.65,2.74,
-2.68,2.66,2.76,2.72,2.84,2.68,2.79,2.89,2.79,2.80,
-2.77,2.93,2.82,2.92,2.95,3.01,2.96,2.84,3.02,2.95,
-2.93,3.02,3.09,3.20,3.17,3.14,3.08,3.29,3.19,3.22,
-3.25,3.24,3.25,3.33,3.23,3.39,3.31,3.24,3.41,3.39,
-3.44,3.25,3.41,3.41,3.49,3.49,3.42,3.38,3.55,3.50,
-3.65,3.50,3.37,3.55,3.63,3.54,3.51,3.73,3.63,3.72,
-3.70,3.73,3.66,3.70,3.80,3.82,3.71,3.88,3.73,3.79,
-3.89,3.87,3.83,3.90,3.83,3.81,3.81,3.98,3.79,3.95,
-3.90,4.13,4.07,3.86,4.04,3.90,3.91,4.18,3.95,4.15,
-4.05,4.16,4.10,4.20,4.05,4.07,4.09,4.13,4.16,4.22,
-4.18,4.07,4.20,4.30,4.31,4.26,4.35,4.21,4.19,4.21,
-4.37,4.21,4.27,4.44,4.30,4.36,4.48,4.59,4.53,4.56,
-4.38,4.45,4.31,4.54,4.41,4.69,4.50,4.56,4.39,4.49,
-4.75,4.59,4.61,4.51,4.65,4.49,4.64,4.63,4.59,4.74,
-4.67,4.66,4.52,4.58,4.67,4.65,4.68,4.81,4.62,4.85,
-4.64,4.51,4.77,4.55,4.96,4.85,4.83,4.98,4.89,4.67,
-4.90,4.80,4.75,4.85,4.87,5.04,5.20,4.87,4.94,4.87,
-5.26,5.12,5.08,5.00,5.16,5.13,4.83,5.02,5.08,5.08,
-4.80,5.15,5.04,5.02,4.91,5.28,5.06,5.25,5.04,5.18,
-5.24,5.28,5.09,5.20,5.14,5.12,5.18,5.22,5.12,5.41,
-5.34,5.14,5.14,5.51,5.15,5.31,5.46,5.28,5.43,5.50,
-5.44,5.41,5.53,5.43,5.69,5.31,5.42,5.48,5.57,5.52,
-5.36,5.46,5.62,5.47,5.33,5.47,5.63,5.68,5.38,5.62,
-1.01,1.06,1.05,1.12,1.15,1.18,1.19,1.25,1.31,1.34,
-1.42,1.41,1.40,1.44,1.47,1.55,1.57,1.57,1.59,1.66,
-1.69,1.66,1.77,1.80,1.84,1.78,1.86,1.88,1.85,1.95,
-2.00,2.04,1.94,2.02,2.12,2.04,2.04,2.06,2.12,2.15,
-2.19,2.15,2.20,2.32,2.31,2.31,2.24,2.25,2.43,2.32,
-2.43,2.42,2.29,2.51,2.39,2.45,2.50,2.34,2.52,2.54,
-2.70,2.65,2.67,2.64,2.53,2.58,2.57,2.65,2.77,2.74,
-2.70,2.87,2.86,2.80,2.91,2.90,2.88,2.75,2.77,2.96,
-2.98,2.89,2.86,2.83,2.92,2.99,2.94,3.14,3.03,3.04,
-3.03,3.06,3.05,3.06,3.17,3.14,3.06,3.04,3.12,3.31,
-3.16,3.24,3.27,3.18,3.21,3.28,3.24,3.32,3.25,3.35,
-3.33,3.23,3.43,3.31,3.48,3.34,3.29,3.48,3.40,3.43,
-3.46,3.45,3.51,3.48,3.61,3.43,3.55,3.55,3.61,3.65,
-3.45,3.61,3.53,3.50,3.61,3.64,3.82,3.69,3.73,3.72,
-3.84,3.85,3.77,3.63,3.94,3.89,3.75,3.99,3.90,3.82,
-3.82,3.82,3.62,4.00,3.91,4.00,3.96,3.77,3.89,4.03,
-3.84,4.01,4.11,4.06,3.96,4.03,4.08,3.95,3.94,4.12,
-4.07,4.27,4.19,4.20,4.15,4.20,4.17,4.11,4.27,4.14,
-4.24,4.08,4.09,4.11,4.26,4.35,4.37,4.17,4.38,4.30,
-4.19,4.20,4.26,4.35,4.20,4.32,4.30,4.45,4.55,4.20,
-4.45,4.42,4.29,4.49,4.50,4.41,4.57,4.61,4.54,4.33,
-4.50,4.60,4.43,4.59,4.60,4.51,4.56,4.60,4.38,4.68,
-4.68,4.70,4.78,4.48,4.74,4.56,4.72,4.50,4.59,4.83,
-4.76,4.72,4.73,4.82,4.73,4.77,4.68,4.79,4.79,4.87,
-4.72,4.71,4.96,4.72,4.71,4.83,4.78,4.72,4.91,4.95,
-4.93,5.10,4.91,4.91,4.93,5.13,5.01,4.80,5.22,5.17,
-5.02,5.16,4.90,4.85,5.07,5.17,5.20,4.95,4.99,5.11,
-5.10,5.24,5.14,4.96,4.84,5.22,5.14,4.84,4.98,5.07,
-5.34,5.02,5.34,5.00,5.12,5.16,5.22,5.12,5.35,5.07,
-0.94,0.98,1.01,1.06,1.11,1.13,1.15,1.26,1.22,1.26,
-1.36,1.35,1.36,1.40,1.36,1.43,1.46,1.43,1.54,1.56,
-1.59,1.63,1.65,1.63,1.72,1.70,1.72,1.75,1.67,1.86,
-1.86,1.81,1.83,1.96,1.92,2.01,1.94,1.94,2.02,1.95,
-2.02,2.09,2.02,2.06,2.07,2.13,2.16,2.18,2.17,2.36,
-2.33,2.19,2.24,2.36,2.25,2.25,2.35,2.39,2.47,2.34,
-2.40,2.46,2.45,2.42,2.51,2.54,2.48,2.44,2.64,2.57,
-2.55,2.44,2.59,2.60,2.55,2.61,2.77,2.69,2.78,2.77,
-2.74,2.69,2.72,2.74,2.73,2.68,2.80,2.94,2.70,2.90,
-2.76,2.96,2.79,2.79,2.94,3.03,2.89,2.99,2.89,3.01,
-2.97,3.09,3.13,3.13,3.12,3.06,2.96,3.04,3.07,3.14,
-3.17,3.09,3.20,3.17,3.18,3.18,3.30,3.10,3.26,3.28,
-3.36,3.29,3.25,3.32,3.41,3.30,3.45,3.24,3.28,3.18,
-3.44,3.35,3.29,3.39,3.51,3.39,3.55,3.45,3.43,3.46,
-3.47,3.70,3.55,3.58,3.41,3.55,3.48,3.54,3.63,3.59,
-3.75,3.67,3.62,3.48,3.64,3.73,3.76,3.72,3.78,3.68,
-3.72,3.83,3.69,3.76,3.71,3.90,3.78,3.83,3.75,3.87,
-3.79,3.82,3.92,3.72,3.87,3.93,3.96,3.81,3.94,3.91,
-3.96,3.80,4.00,3.91,3.90,4.00,3.97,3.93,3.94,4.00,
-4.14,4.00,4.14,4.14,4.17,4.28,4.21,4.00,4.14,4.19,
-4.12,4.15,4.12,4.03,4.09,4.29,4.32,4.32,4.47,4.16,
-4.18,4.61,4.15,4.19,4.34,4.15,4.39,4.29,4.28,4.19,
-4.32,4.57,4.27,4.25,4.32,4.31,4.18,4.46,4.50,4.51,
-4.44,4.33,4.31,4.46,4.29,4.37,4.40,4.43,4.31,4.49,
-4.50,4.45,4.51,4.50,4.51,4.64,4.41,4.57,4.56,4.56,
-4.34,4.46,4.61,4.64,4.65,4.77,4.45,4.54,4.56,4.60,
-4.84,4.68,4.79,4.58,4.74,4.71,4.72,4.58,4.80,4.77,
-4.53,4.78,4.80,4.82,4.88,4.95,4.91,4.78,4.88,4.76,
-4.77,5.10,4.80,4.74,4.82,4.82,4.86,4.77,4.93,5.03,
-0.83,0.88,0.95,1.02,0.98,1.01,1.08,1.12,1.13,1.19,
-1.24,1.23,1.24,1.25,1.29,1.35,1.35,1.38,1.46,1.44,
-1.55,1.44,1.50,1.52,1.57,1.64,1.67,1.67,1.69,1.67,
-1.70,1.67,1.77,1.70,1.82,1.86,1.87,1.88,1.86,1.88,
-1.87,1.96,1.89,1.94,2.01,2.02,1.93,2.06,2.06,2.02,
-2.10,2.03,2.14,2.11,2.19,2.20,2.17,2.17,2.12,2.21,
-2.22,2.21,2.17,2.28,2.40,2.34,2.30,2.32,2.36,2.34,
-2.39,2.38,2.40,2.41,2.39,2.45,2.56,2.43,2.43,2.44,
-2.56,2.49,2.61,2.60,2.57,2.49,2.59,2.61,2.61,2.56,
-2.66,2.69,2.72,2.80,2.79,2.67,2.75,2.71,2.79,2.83,
-2.74,2.79,2.89,2.87,2.80,2.80,2.78,2.93,2.95,2.91,
-2.99,2.96,2.97,2.97,2.86,3.05,3.01,3.09,2.94,3.06,
-3.15,2.92,3.05,2.95,3.16,3.08,3.09,2.99,3.12,3.24,
-3.14,3.07,3.15,3.19,3.27,3.15,3.12,3.06,3.19,3.38,
-3.36,3.23,3.24,3.38,3.27,3.36,3.32,3.25,3.48,3.33,
-3.39,3.40,3.33,3.32,3.42,3.47,3.53,3.53,3.40,3.41,
-3.50,3.41,3.38,3.50,3.66,3.55,3.38,3.56,3.47,3.50,
-3.66,3.53,3.54,3.51,3.64,3.61,3.62,3.62,3.77,3.63,
-3.69,3.63,3.71,3.54,3.76,3.65,3.69,3.73,3.68,3.64,
-3.61,3.77,3.76,3.93,3.68,3.78,3.84,3.88,3.89,3.73,
-3.85,3.84,3.80,3.93,3.93,4.02,3.86,3.79,3.80,4.00,
-3.89,3.95,3.96,4.02,3.82,3.73,3.95,4.07,3.81,3.97,
-4.00,4.16,4.15,4.22,4.06,4.16,4.18,4.06,4.00,4.15,
-4.20,4.16,4.30,4.08,4.16,4.11,4.23,4.21,4.26,4.18,
-4.32,4.07,4.19,4.13,4.11,4.15,4.38,4.13,4.28,4.41,
-4.28,4.34,4.38,4.29,4.23,4.27,4.34,4.38,4.29,4.25,
-4.46,4.27,4.46,4.46,4.38,4.37,4.39,4.36,4.45,4.46,
-4.56,4.48,4.47,4.52,4.68,4.52,4.55,4.45,4.52,4.43,
-4.49,4.62,4.67,4.56,4.66,4.72,4.69,4.54,4.53,4.55,
-0.84,0.85,0.89,0.94,0.92,0.98,1.00,1.05,1.10,1.06,
-1.17,1.17,1.21,1.21,1.18,1.26,1.21,1.33,1.34,1.37,
-1.40,1.43,1.43,1.48,1.45,1.47,1.51,1.57,1.58,1.57,
-1.60,1.66,1.64,1.58,1.60,1.67,1.71,1.79,1.70,1.77,
-1.78,1.84,1.83,1.82,1.81,1.80,1.82,1.89,1.93,1.86,
-1.88,1.99,1.91,2.00,1.97,1.98,2.05,2.05,2.08,2.10,
-2.15,2.09,2.07,2.19,2.12,2.16,2.11,2.23,2.21,2.21,
-2.22,2.13,2.20,2.31,2.18,2.18,2.19,2.30,2.33,2.32,
-2.39,2.39,2.27,2.38,2.39,2.48,2.45,2.34,2.41,2.44,
-2.52,2.46,2.43,2.48,2.59,2.44,2.47,2.62,2.52,2.58,
-2.64,2.64,2.65,2.64,2.64,2.64,2.77,2.67,2.66,2.69,
-2.62,2.70,2.82,2.68,2.89,2.80,2.91,2.79,2.80,2.82,
-2.70,2.91,2.82,2.94,2.70,2.91,3.02,3.00,2.97,2.84,
-2.91,2.98,2.84,3.17,2.94,2.89,3.10,3.02,3.00,3.09,
-3.03,3.06,3.03,2.99,3.09,3.02,3.09,3.19,3.14,3.11,
-3.25,3.22,3.21,3.21,3.21,3.26,3.12,3.00,3.18,3.17,
-3.30,3.14,3.20,3.22,3.08,3.20,3.22,3.26,3.27,3.30,
-3.22,3.34,3.32,3.32,3.47,3.20,3.41,3.31,3.46,3.44,
-3.62,3.58,3.39,3.30,3.53,3.56,3.54,3.52,3.36,3.50,
-3.58,3.57,3.53,3.62,3.60,3.64,3.60,3.56,3.56,3.55,
-3.51,3.51,3.69,3.80,3.48,3.69,3.79,3.53,3.62,3.63,
-3.68,3.72,3.61,3.75,3.66,3.70,3.79,3.74,3.77,3.67,
-3.75,3.85,3.73,3.75,3.86,3.74,3.89,3.70,3.79,3.79,
-3.92,3.92,3.73,3.86,3.78,3.69,3.93,3.81,3.79,3.77,
-3.81,3.99,3.92,3.84,4.05,3.81,3.89,3.97,4.02,3.98,
-3.93,4.18,4.02,3.95,3.86,3.94,3.85,3.91,4.18,4.03,
-4.12,3.97,4.22,4.25,4.02,4.16,4.19,4.06,4.10,4.05,
-4.22,4.16,4.04,4.00,4.15,4.19,4.13,4.11,4.10,4.40,
-4.27,4.13,4.07,4.12,4.23,4.33,4.08,4.21,4.23,4.32,
-0.75,0.78,0.82,0.85,0.84,0.94,0.90,0.98,0.97,1.02,
-1.04,1.09,1.08,1.12,1.12,1.18,1.21,1.19,1.20,1.25,
-1.29,1.28,1.31,1.29,1.30,1.33,1.38,1.40,1.43,1.45,
-1.46,1.41,1.47,1.48,1.51,1.55,1.59,1.56,1.53,1.64,
-1.58,1.66,1.65,1.69,1.73,1.72,1.76,1.72,1.74,1.79,
-1.80,1.87,1.80,1.82,1.80,1.86,1.93,1.87,1.88,1.91,
-1.91,1.92,2.01,1.97,1.95,2.01,2.04,2.05,2.03,2.05,
-2.02,2.06,2.02,2.13,2.12,2.15,2.14,2.14,2.12,2.07,
-2.21,2.20,2.25,2.13,2.18,2.20,2.22,2.23,2.29,2.24,
-2.31,2.28,2.22,2.33,2.41,2.31,2.36,2.55,2.39,2.39,
-2.41,2.38,2.38,2.43,2.49,2.58,2.53,2.46,2.49,2.50,
-2.46,2.39,2.57,2.56,2.54,2.59,2.57,2.68,2.53,2.50,
-2.63,2.55,2.58,2.63,2.54,2.79,2.67,2.74,2.66,2.65,
-2.75,2.76,2.75,2.66,2.78,2.87,2.75,2.85,2.66,2.75,
-2.79,2.79,2.85,2.99,2.73,2.87,2.77,2.89,2.97,2.86,
-2.95,2.96,2.93,2.92,2.91,2.85,2.87,2.94,3.01,2.97,
-3.14,3.15,2.97,2.91,2.84,2.99,3.00,2.97,3.06,3.12,
-3.08,3.11,3.24,3.02,3.05,3.20,3.24,3.13,3.16,3.10,
-3.22,3.28,3.27,3.23,3.18,3.16,3.24,3.19,3.28,3.04,
-3.24,3.32,3.18,3.29,3.26,3.33,3.35,3.20,3.20,3.36,
-3.26,3.34,3.40,3.47,3.41,3.23,3.45,3.30,3.35,3.43,
-3.32,3.28,3.34,3.39,3.40,3.46,3.59,3.49,3.46,3.44,
-3.53,3.46,3.47,3.55,3.56,3.44,3.60,3.52,3.47,3.48,
-3.53,3.54,3.48,3.55,3.52,3.67,3.69,3.68,3.58,3.64,
-3.70,3.64,3.82,3.62,3.64,3.72,3.59,3.67,3.56,3.69,
-3.66,3.82,3.71,3.62,3.64,3.87,3.69,3.75,3.87,3.62,
-3.73,4.00,3.84,3.70,3.77,3.82,3.84,3.78,3.81,3.70,
-3.80,3.90,3.96,3.83,3.80,3.83,3.94,3.69,4.04,3.72,
-4.07,3.85,3.83,4.00,3.77,4.04,4.01,3.87,3.72,3.91,
-0.68,0.72,0.74,0.79,0.81,0.82,0.87,0.90,0.92,0.93,
-0.96,1.02,1.03,1.04,1.06,1.09,1.08,1.06,1.15,1.15,
-1.13,1.17,1.23,1.19,1.23,1.27,1.21,1.29,1.32,1.33,
-1.35,1.33,1.39,1.38,1.44,1.45,1.45,1.46,1.42,1.47,
-1.52,1.55,1.50,1.49,1.56,1.56,1.53,1.62,1.58,1.60,
-1.68,1.70,1.71,1.58,1.69,1.72,1.75,1.76,1.69,1.82,
-1.86,1.80,1.73,1.80,1.91,1.87,1.87,1.86,1.90,1.95,
-1.81,1.83,1.99,1.92,1.95,1.94,1.93,1.95,1.95,1.97,
-2.00,2.00,2.01,2.05,2.01,2.06,2.11,2.10,2.14,2.03,
-2.04,2.15,2.17,2.14,2.23,2.14,2.19,2.18,2.18,2.31,
-2.19,2.17,2.26,2.31,2.36,2.35,2.23,2.35,2.32,2.26,
-2.30,2.33,2.37,2.36,2.28,2.28,2.38,2.41,2.38,2.44,
-2.42,2.58,2.32,2.53,2.51,2.43,2.43,2.49,2.46,2.41,
-2.50,2.43,2.49,2.54,2.48,2.53,2.56,2.52,2.59,2.63,
-2.61,2.58,2.63,2.66,2.56,2.66,2.65,2.70,2.70,2.69,
-2.63,2.62,2.73,2.76,2.68,2.83,2.75,2.74,2.80,2.80,
-2.70,2.69,2.82,2.89,2.81,2.75,2.82,2.90,2.84,2.79,
-2.86,2.91,2.95,2.93,2.92,2.97,2.88,3.04,2.96,2.94,
-3.05,3.05,2.92,2.99,2.91,2.90,2.94,2.93,3.08,2.98,
-2.98,2.95,3.04,3.16,2.97,3.08,2.89,3.08,3.17,3.04,
-3.07,3.00,3.21,3.10,3.17,3.10,3.09,3.07,3.03,3.12,
-3.10,3.22,3.09,3.16,3.26,3.16,3.11,3.23,3.14,3.22,
-3.32,3.21,3.18,3.23,3.22,3.13,3.26,3.26,3.27,3.28,
-3.26,3.30,3.37,3.22,3.39,3.28,3.29,3.45,3.15,3.32,
-3.34,3.41,3.59,3.42,3.31,3.44,3.34,3.42,3.35,3.51,
-3.32,3.46,3.19,3.35,3.36,3.50,3.36,3.48,3.37,3.40,
-3.54,3.46,3.63,3.55,3.48,3.54,3.59,3.46,3.52,3.54,
-3.40,3.65,3.52,3.57,3.52,3.54,3.48,3.51,3.65,3.62,
-3.58,3.75,3.61,3.67,3.62,3.77,3.53,3.60,3.69,3.68,
-0.62,0.66,0.68,0.74,0.76,0.80,0.79,0.84,0.89,0.86,
-0.86,0.89,0.92,0.94,0.98,1.00,1.00,0.98,1.05,1.06,
-1.07,1.08,1.09,1.13,1.09,1.16,1.20,1.23,1.21,1.22,
-1.25,1.21,1.26,1.34,1.31,1.37,1.34,1.35,1.37,1.42,
-1.41,1.37,1.40,1.42,1.49,1.45,1.44,1.45,1.49,1.46,
-1.50,1.54,1.49,1.57,1.55,1.63,1.67,1.50,1.65,1.64,
-1.58,1.61,1.59,1.67,1.74,1.73,1.73,1.75,1.70,1.78,
-1.71,1.73,1.73,1.79,1.69,1.81,1.80,1.82,1.80,1.89,
-1.85,1.86,1.87,1.86,1.83,1.93,1.90,1.89,1.91,1.96,
-1.99,1.95,1.95,1.97,1.94,1.96,2.01,2.01,2.05,2.02,
-2.05,2.08,2.11,2.07,2.05,2.06,2.09,2.14,2.03,2.09,
-2.12,2.17,2.07,2.16,2.19,2.07,2.17,2.15,2.17,2.21,
-2.28,2.21,2.26,2.23,2.23,2.27,2.30,2.16,2.29,2.33,
-2.27,2.31,2.41,2.25,2.31,2.35,2.40,2.46,2.33,2.36,
-2.31,2.47,2.42,2.34,2.27,2.43,2.46,2.39,2.42,2.45,
-2.51,2.51,2.43,2.34,2.51,2.49,2.47,2.59,2.46,2.54,
-2.50,2.58,2.60,2.55,2.59,2.69,2.61,2.56,2.66,2.65,
-2.62,2.62,2.56,2.58,2.69,2.66,2.63,2.59,2.74,2.55,
-2.69,2.69,2.72,2.64,2.71,2.75,2.79,2.78,2.79,2.77,
-2.68,2.64,2.71,2.66,2.69,2.82,2.81,2.70,2.86,2.77,
-2.81,2.87,2.85,2.76,2.85,2.90,2.80,2.85,2.89,2.88,
-3.06,2.91,2.95,3.07,2.92,2.96,2.95,2.92,2.82,2.88,
-2.90,2.87,3.06,3.12,3.03,2.94,3.06,3.05,2.96,2.97,
-3.16,2.97,3.03,3.01,2.96,3.19,2.90,3.04,2.98,2.98,
-3.03,3.13,3.19,3.25,3.20,3.09,2.98,3.08,3.24,3.09,
-3.09,3.20,3.10,3.08,3.09,3.19,3.05,3.18,3.17,3.16,
-3.26,3.20,3.10,3.14,3.27,3.22,3.23,3.27,3.18,3.30,
-3.42,3.19,3.28,3.21,3.32,3.29,3.29,3.28,3.37,3.26,
-3.24,3.29,3.41,3.33,3.42,3.27,3.30,3.32,3.29,3.29,
-0.57,0.60,0.63,0.70,0.66,0.73,0.73,0.74,0.77,0.82,
-0.81,0.85,0.85,0.87,0.89,0.89,0.88,0.91,0.93,0.98,
-1.01,0.99,1.01,1.05,1.08,1.03,1.07,1.10,1.09,1.15,
-1.14,1.19,1.18,1.21,1.19,1.24,1.19,1.22,1.32,1.24,
-1.28,1.28,1.27,1.30,1.33,1.33,1.34,1.35,1.35,1.39,
-1.34,1.47,1.41,1.38,1.40,1.44,1.45,1.48,1.51,1.48,
-1.54,1.62,1.54,1.57,1.56,1.57,1.49,1.59,1.59,1.60,
-1.64,1.56,1.67,1.68,1.57,1.64,1.62,1.69,1.65,1.70,
-1.69,1.67,1.72,1.73,1.74,1.72,1.73,1.78,1.81,1.69,
-1.87,1.82,1.77,1.88,1.83,1.79,1.82,1.85,1.87,1.80,
-1.94,1.85,1.85,1.85,1.91,1.94,1.91,1.90,1.93,2.00,
-1.92,1.97,2.01,1.89,2.00,1.98,2.03,2.02,2.08,2.08,
-2.03,2.09,2.08,2.06,2.08,2.11,2.09,2.08,2.13,2.12,
-2.09,2.17,2.17,2.14,2.11,2.17,2.09,2.09,2.19,2.21,
-2.13,2.24,2.28,2.26,2.20,2.21,2.12,2.19,2.16,2.32,
-2.20,2.29,2.26,2.34,2.20,2.23,2.30,2.25,2.26,2.31,
-2.32,2.28,2.29,2.42,2.37,2.46,2.35,2.25,2.34,2.45,
-2.47,2.41,2.35,2.34,2.37,2.41,2.51,2.46,2.39,2.45,
-2.43,2.52,2.48,2.45,2.52,2.47,2.45,2.40,2.47,2.61,
-2.43,2.56,2.53,2.56,2.52,2.47,2.59,2.56,2.57,2.52,
-2.61,2.51,2.66,2.59,2.66,2.65,2.62,2.63,2.68,2.70,
-2.63,2.57,2.74,2.65,2.72,2.73,2.69,2.75,2.75,2.62,
-2.64,2.66,2.75,2.66,2.74,2.74,2.73,2.68,2.71,2.83,
-2.83,2.79,2.79,2.71,2.87,2.70,2.86,2.77,2.90,2.78,
-2.95,2.87,2.92,3.01,2.77,2.94,2.83,2.98,2.98,2.97,
-2.83,2.90,2.97,2.86,2.86,2.92,2.95,2.88,2.90,2.87,
-2.86,2.95,2.87,2.91,2.99,3.00,3.02,2.93,3.02,2.89,
-3.03,3.08,2.99,3.02,3.08,2.88,3.05,2.97,2.92,3.07,
-3.16,3.05,2.99,3.07,3.10,3.17,3.18,3.03,3.16,3.14,
-0.54,0.57,0.59,0.61,0.62,0.64,0.69,0.69,0.74,0.70,
-0.74,0.77,0.81,0.81,0.82,0.81,0.86,0.89,0.88,0.89,
-0.90,0.93,0.94,0.94,0.96,0.97,1.01,1.02,1.06,1.04,
-1.08,1.07,1.07,1.09,1.11,1.14,1.13,1.15,1.17,1.16,
-1.18,1.23,1.20,1.20,1.23,1.20,1.22,1.26,1.26,1.19,
-1.36,1.27,1.30,1.29,1.30,1.34,1.28,1.33,1.40,1.39,
-1.29,1.42,1.46,1.37,1.46,1.46,1.41,1.51,1.38,1.45,
-1.45,1.48,1.51,1.51,1.53,1.50,1.58,1.58,1.49,1.51,
-1.56,1.59,1.63,1.58,1.57,1.53,1.61,1.58,1.62,1.64,
-1.65,1.61,1.65,1.73,1.67,1.66,1.68,1.72,1.67,1.74,
-1.74,1.79,1.71,1.76,1.75,1.69,1.69,1.75,1.82,1.77,
-1.80,1.81,1.85,1.81,1.80,1.79,1.81,1.87,1.88,1.86,
-1.85,1.83,1.87,1.89,1.92,1.91,1.91,2.04,1.93,1.93,
-1.97,2.03,1.91,1.98,1.92,1.90,1.97,2.03,2.03,1.94,
-1.94,2.02,2.09,1.96,2.05,2.04,1.98,2.08,2.07,2.08,
-2.04,2.11,2.03,2.12,2.08,2.06,2.11,2.07,2.02,2.15,
-2.15,2.11,2.10,2.20,2.14,2.14,2.14,2.21,2.18,2.18,
-2.13,2.17,2.34,2.21,2.22,2.31,2.19,2.27,2.21,2.23,
-2.30,2.26,2.30,2.29,2.28,2.31,2.23,2.22,2.36,2.27,
-2.37,2.23,2.39,2.33,2.34,2.32,2.35,2.38,2.28,2.41,
-2.29,2.46,2.40,2.30,2.44,2.31,2.39,2.47,2.41,2.38,
-2.45,2.46,2.44,2.47,2.47,2.39,2.49,2.53,2.45,2.41,
-2.54,2.53,2.41,2.48,2.54,2.51,2.51,2.56,2.51,2.66,
-2.38,2.55,2.59,2.51,2.69,2.58,2.60,2.58,2.64,2.58,
-2.65,2.66,2.61,2.67,2.68,2.66,2.66,2.57,2.73,2.59,
-2.61,2.75,2.60,2.63,2.71,2.59,2.65,2.64,2.63,2.66,
-2.68,2.75,2.72,2.81,2.73,2.82,2.69,2.65,2.77,2.78,
-2.77,2.90,2.85,2.77,2.72,2.75,2.68,2.82,2.84,2.82,
-2.70,2.97,2.74,2.80,2.85,2.84,2.83,2.93,2.77,2.79,
-0.45,0.51,0.55,0.58,0.55,0.59,0.60,0.65,0.62,0.66,
-0.67,0.69,0.71,0.71,0.77,0.79,0.75,0.78,0.85,0.82,
-0.80,0.83,0.86,0.85,0.90,0.91,0.94,0.94,0.92,0.95,
-0.98,0.97,0.99,1.01,0.94,1.02,1.00,1.03,1.00,1.02,
-1.08,1.06,1.11,1.08,1.08,1.11,1.13,1.17,1.13,1.13,
-1.18,1.18,1.14,1.23,1.23,1.23,1.25,1.21,1.25,1.25,
-1.25,1.25,1.30,1.30,1.27,1.29,1.27,1.33,1.26,1.34,
-1.33,1.36,1.35,1.38,1.37,1.42,1.37,1.41,1.38,1.44,
-1.42,1.45,1.51,1.49,1.49,1.44,1.56,1.48,1.52,1.44,
-1.44,1.55,1.57,1.52,1.54,1.49,1.57,1.60,1.56,1.58,
-1.62,1.59,1.57,1.59,1.61,1.69,1.57,1.58,1.59,1.64,
-1.67,1.68,1.63,1.67,1.70,1.71,1.67,1.73,1.62,1.69,
-1.76,1.66,1.69,1.71,1.79,1.77,1.80,1.71,1.79,1.78,
-1.76,1.77,1.89,1.70,1.83,1.78,1.82,1.81,1.85,1.82,
-1.81,1.90,1.86,1.90,1.85,1.87,1.86,1.90,1.87,1.87,
-1.89,1.82,1.89,1.93,1.97,1.96,1.93,1.92,1.95,2.00,
-2.02,1.97,1.97,1.97,1.92,1.97,1.98,1.96,2.02,2.03,
-2.01,1.97,2.07,2.10,2.04,2.00,2.00,2.10,2.04,2.04,
-2.04,2.06,2.00,2.08,2.08,2.07,2.00,2.12,2.08,2.11,
-2.08,2.16,2.16,2.16,2.20,2.06,2.17,2.17,2.12,2.21,
-2.13,2.27,2.17,2.19,2.20,2.19,2.24,2.26,2.14,2.24,
-2.25,2.32,2.26,2.14,2.22,2.27,2.18,2.21,2.26,2.30,
-2.35,2.13,2.34,2.27,2.28,2.34,2.37,2.29,2.38,2.32,
-2.29,2.31,2.34,2.39,2.28,2.37,2.25,2.44,2.32,2.40,
-2.25,2.43,2.42,2.45,2.47,2.35,2.39,2.40,2.30,2.36,
-2.52,2.45,2.44,2.43,2.42,2.54,2.31,2.47,2.42,2.46,
-2.44,2.30,2.46,2.41,2.56,2.49,2.50,2.52,2.43,2.41,
-2.54,2.58,2.57,2.51,2.48,2.56,2.49,2.56,2.46,2.59,
-2.55,2.59,2.51,2.56,2.54,2.54,2.57,2.68,2.67,2.64,
-0.44,0.47,0.48,0.49,0.51,0.55,0.56,0.57,0.60,0.60,
-0.61,0.68,0.68,0.69,0.66,0.69,0.71,0.71,0.74,0.75,
-0.76,0.75,0.77,0.78,0.83,0.79,0.79,0.85,0.86,0.84,
-0.84,0.91,0.86,0.90,0.89,0.95,0.98,0.95,0.93,0.99,
-0.93,1.00,0.98,1.03,1.02,0.98,1.06,1.08,1.03,1.08,
-1.08,1.08,1.06,1.12,1.10,1.14,1.10,1.15,1.16,1.14,
-1.14,1.16,1.11,1.16,1.19,1.22,1.20,1.18,1.19,1.25,
-1.21,1.21,1.26,1.25,1.24,1.24,1.29,1.23,1.34,1.32,
-1.31,1.32,1.36,1.30,1.33,1.30,1.31,1.32,1.39,1.36,
-1.40,1.32,1.33,1.39,1.40,1.41,1.44,1.38,1.44,1.38,
-1.43,1.42,1.47,1.36,1.40,1.51,1.49,1.48,1.45,1.49,
-1.46,1.55,1.51,1.57,1.50,1.49,1.58,1.54,1.60,1.55,
-1.50,1.56,1.59,1.55,1.63,1.60,1.64,1.59,1.66,1.57,
-1.65,1.64,1.62,1.66,1.61,1.68,1.66,1.70,1.66,1.59,
-1.73,1.61,1.63,1.71,1.63,1.69,1.69,1.69,1.67,1.79,
-1.72,1.65,1.79,1.77,1.75,1.76,1.75,1.79,1.76,1.74,
-1.76,1.80,1.74,1.82,1.78,1.76,1.92,1.77,1.80,1.90,
-1.83,1.79,1.92,1.88,1.88,1.82,1.84,1.86,1.89,1.87,
-1.84,1.93,1.96,2.00,2.00,2.02,1.93,1.98,1.84,1.87,
-1.95,1.92,1.91,1.91,1.99,2.04,2.00,2.04,2.02,2.05,
-2.01,1.95,2.01,2.03,2.03,1.98,2.02,1.98,2.02,2.06,
-1.99,2.09,2.03,2.09,2.06,2.05,2.09,2.07,2.02,1.92,
-2.01,1.97,2.07,2.08,2.05,2.05,2.03,2.11,2.15,2.11,
-2.14,2.11,2.14,2.16,2.14,2.16,2.21,2.17,2.14,2.15,
-2.10,2.19,2.25,2.26,2.14,2.24,2.22,2.18,2.20,2.17,
-2.19,2.15,2.24,2.36,2.26,2.31,2.20,2.24,2.29,2.18,
-2.35,2.28,2.18,2.24,2.27,2.38,2.32,2.20,2.30,2.21,
-2.37,2.34,2.37,2.36,2.35,2.34,2.35,2.29,2.37,2.28,
-2.37,2.27,2.34,2.39,2.29,2.35,2.28,2.33,2.38,2.31,
-0.42,0.41,0.44,0.46,0.50,0.50,0.51,0.52,0.55,0.56,
-0.54,0.57,0.58,0.62,0.61,0.64,0.63,0.63,0.65,0.70,
-0.69,0.70,0.70,0.70,0.72,0.72,0.76,0.76,0.80,0.78,
-0.79,0.81,0.82,0.83,0.83,0.83,0.86,0.86,0.89,0.82,
-0.87,0.92,0.89,0.92,0.90,0.94,0.93,0.94,0.95,0.96,
-0.92,0.95,0.97,1.00,1.01,1.00,1.00,1.01,1.03,1.06,
-1.07,1.10,1.06,1.09,1.09,1.05,1.12,1.08,1.09,1.10,
-1.09,1.05,1.11,1.12,1.10,1.15,1.17,1.12,1.14,1.16,
-1.18,1.25,1.22,1.18,1.17,1.20,1.25,1.25,1.26,1.27,
-1.25,1.22,1.25,1.23,1.31,1.33,1.29,1.31,1.28,1.30,
-1.28,1.33,1.31,1.38,1.35,1.38,1.35,1.41,1.34,1.39,
-1.36,1.36,1.44,1.41,1.44,1.40,1.39,1.46,1.43,1.40,
-1.42,1.38,1.41,1.50,1.38,1.46,1.44,1.44,1.46,1.55,
-1.46,1.55,1.48,1.50,1.46,1.51,1.43,1.56,1.49,1.51,
-1.55,1.51,1.59,1.53,1.59,1.59,1.61,1.55,1.59,1.54,
-1.58,1.58,1.57,1.57,1.63,1.56,1.57,1.60,1.63,1.67,
-1.68,1.65,1.64,1.62,1.67,1.62,1.64,1.71,1.68,1.63,
-1.64,1.61,1.67,1.64,1.69,1.68,1.75,1.72,1.71,1.74,
-1.74,1.81,1.74,1.71,1.75,1.77,1.73,1.70,1.73,1.74,
-1.76,1.67,1.79,1.78,1.78,1.83,1.80,1.76,1.77,1.79,
-1.81,1.79,1.75,1.84,1.91,1.85,1.84,1.81,1.86,1.85,
-1.89,1.87,1.83,1.81,1.81,1.86,1.83,1.92,1.91,1.87,
-1.80,1.87,1.86,1.87,1.92,1.90,1.90,1.88,1.95,2.00,
-2.03,1.95,2.02,1.97,1.91,2.04,1.95,1.88,2.01,2.01,
-2.05,1.95,2.04,1.95,2.05,2.14,2.12,2.05,2.00,1.97,
-1.97,1.99,1.97,2.09,2.05,2.02,2.03,2.02,2.01,2.06,
-2.05,2.01,2.06,2.02,1.95,2.01,2.12,2.08,2.05,2.10,
-2.03,2.08,2.18,2.08,2.07,2.14,2.17,2.10,2.06,2.17,
-2.14,2.09,2.20,2.13,2.18,2.16,2.13,2.20,2.16,2.08,
-1.23,1.25,1.28,1.33,1.36,1.39,1.45,1.45,1.54,1.63,
-1.62,1.65,1.74,1.72,1.78,1.75,1.87,1.90,1.88,1.84,
-1.97,2.01,1.98,2.06,2.09,2.15,2.22,2.12,2.23,2.17,
-2.28,2.36,2.32,2.39,2.32,2.39,2.44,2.59,2.43,2.43,
-2.54,2.51,2.62,2.60,2.59,2.57,2.71,2.66,2.67,2.72,
-2.81,2.68,2.74,2.79,2.79,2.88,2.95,2.96,2.92,2.93,
-2.91,3.04,2.94,3.00,3.12,3.07,3.12,3.14,3.25,3.19,
-3.18,3.29,3.21,3.19,3.26,3.32,3.34,3.47,3.33,3.30,
-3.35,3.42,3.46,3.36,3.39,3.38,3.44,3.47,3.52,3.55,
-3.55,3.46,3.54,3.66,3.64,3.66,3.65,3.78,3.62,3.81,
-3.79,3.87,3.62,3.72,3.81,3.76,3.79,3.83,3.74,3.79,
-3.88,3.71,4.03,3.84,3.86,4.06,4.00,4.11,4.00,3.96,
-4.00,4.02,4.09,3.99,4.15,4.02,4.17,4.07,4.25,4.14,
-4.22,4.30,4.27,4.22,4.36,4.24,4.21,4.24,4.41,4.34,
-4.38,4.20,4.19,4.38,4.23,4.56,4.44,4.47,4.47,4.47,
-4.38,4.59,4.49,4.39,4.51,4.46,4.44,4.82,4.57,4.52,
-4.61,4.81,4.73,4.85,4.54,4.63,4.67,4.55,4.59,4.73,
-4.62,4.61,4.82,4.73,4.91,4.98,4.63,4.94,4.79,4.91,
-4.91,4.78,4.89,4.74,4.84,4.85,4.81,5.14,5.17,4.95,
-4.88,5.03,5.06,5.17,4.93,5.04,5.16,4.84,5.27,5.09,
-4.99,5.19,5.12,5.23,5.11,5.49,5.34,5.15,5.31,5.29,
-5.31,5.22,5.36,5.22,5.26,5.30,5.23,5.29,5.48,5.43,
-5.33,5.34,5.38,5.19,5.43,5.47,5.40,5.59,5.53,5.66,
-5.47,5.71,5.64,5.34,5.60,5.61,5.47,5.72,5.54,5.54,
-5.32,5.70,5.46,5.60,5.71,5.46,5.76,5.83,5.63,5.63,
-5.50,5.60,5.71,5.50,5.70,5.88,5.81,5.71,5.88,5.72,
-5.80,6.05,5.67,5.99,5.99,5.81,5.82,5.77,5.90,5.82,
-5.80,5.89,5.87,6.01,6.09,5.76,6.27,5.88,5.93,5.78,
-5.85,6.04,6.05,5.97,6.09,5.94,6.04,6.16,5.86,6.16,
-1.08,1.13,1.16,1.26,1.35,1.36,1.38,1.45,1.55,1.50,
-1.55,1.59,1.57,1.61,1.74,1.69,1.74,1.77,1.80,1.76,
-1.89,1.92,1.99,1.97,2.00,2.09,2.08,2.05,2.11,2.18,
-2.10,2.17,2.23,2.20,2.29,2.39,2.41,2.27,2.37,2.22,
-2.47,2.47,2.47,2.44,2.56,2.52,2.47,2.54,2.57,2.57,
-2.55,2.64,2.79,2.85,2.65,2.67,2.78,2.76,2.76,2.88,
-2.85,2.89,2.91,2.90,2.83,2.90,3.02,3.12,3.06,2.94,
-3.06,3.04,3.01,3.11,3.14,3.12,3.21,3.22,3.19,3.16,
-3.22,3.31,3.26,3.32,3.34,3.44,3.31,3.41,3.36,3.38,
-3.46,3.39,3.36,3.33,3.52,3.55,3.56,3.52,3.56,3.43,
-3.64,3.51,3.71,3.60,3.65,3.56,3.68,3.63,3.70,3.73,
-3.79,3.76,3.75,3.96,3.93,3.76,3.84,3.81,3.79,3.93,
-3.88,3.88,3.91,3.97,3.89,3.91,3.88,3.95,3.99,3.95,
-4.22,4.09,4.09,4.03,3.99,4.09,4.32,4.13,4.07,4.19,
-4.17,4.10,4.43,4.31,4.14,4.27,4.32,4.21,4.36,4.26,
-4.19,4.38,4.34,4.25,4.27,4.34,4.43,4.36,4.46,4.46,
-4.46,4.58,4.43,4.42,4.53,4.32,4.38,4.42,4.47,4.45,
-4.55,4.46,4.62,4.65,4.80,4.41,4.39,4.61,4.69,4.68,
-4.77,4.68,4.53,4.86,4.77,4.62,4.81,4.86,4.68,4.72,
-5.02,4.84,4.84,4.73,4.78,4.92,5.03,5.01,4.70,4.92,
-4.86,4.97,4.71,4.90,5.01,5.08,5.34,4.92,5.00,5.21,
-4.88,5.09,4.83,5.16,5.07,5.07,5.15,5.00,5.27,5.17,
-5.29,5.27,5.45,5.21,5.13,5.18,5.27,5.23,5.27,5.33,
-5.22,5.27,5.23,5.24,5.30,5.59,5.17,5.21,5.21,5.43,
-5.25,5.38,5.57,5.45,5.31,5.50,5.42,5.48,5.61,5.25,
-5.55,5.47,5.50,5.62,5.58,5.52,5.66,5.37,5.49,5.69,
-5.61,5.71,5.60,5.67,5.80,5.76,5.66,5.49,5.45,5.86,
-5.68,5.73,5.91,5.68,5.76,5.73,5.90,5.87,5.61,5.73,
-6.12,5.95,5.51,5.96,5.89,5.68,5.84,5.86,5.62,5.84,
-1.03,1.16,1.21,1.21,1.22,1.34,1.38,1.40,1.44,1.49,
-1.43,1.52,1.57,1.58,1.59,1.71,1.73,1.69,1.75,1.74,
-1.79,1.78,1.91,1.87,1.94,1.92,1.96,2.03,2.03,2.07,
-2.07,2.19,2.14,2.17,2.30,2.12,2.21,2.24,2.26,2.36,
-2.27,2.37,2.33,2.37,2.43,2.36,2.48,2.44,2.49,2.47,
-2.47,2.48,2.53,2.64,2.61,2.67,2.64,2.66,2.60,2.66,
-2.80,2.68,2.77,2.74,2.75,2.79,2.85,2.91,2.89,2.91,
-2.79,2.97,2.90,2.96,2.99,2.99,3.06,2.98,3.00,3.03,
-3.08,3.05,3.10,3.06,3.21,3.22,3.24,3.18,3.17,3.22,
-3.26,3.29,3.21,3.20,3.29,3.21,3.43,3.45,3.37,3.55,
-3.50,3.42,3.45,3.42,3.45,3.57,3.55,3.58,3.46,3.61,
-3.55,3.64,3.67,3.49,3.64,3.49,3.72,3.66,3.68,3.68,
-3.67,3.83,3.69,3.77,3.82,3.75,3.93,3.79,3.73,3.74,
-3.78,3.92,3.83,3.76,3.95,3.94,3.89,4.00,3.88,3.84,
-3.94,3.86,3.93,3.95,4.01,4.07,4.03,4.03,3.95,4.22,
-4.15,4.24,4.22,4.00,4.28,4.17,4.23,4.07,4.23,4.15,
-4.22,4.26,4.25,4.28,4.22,4.33,4.48,4.41,4.43,4.42,
-4.50,4.31,4.37,4.42,4.41,4.46,4.31,4.58,4.54,4.57,
-4.66,4.55,4.39,4.57,4.59,4.66,4.51,4.60,4.48,4.56,
-4.55,4.69,4.74,4.43,4.71,4.65,4.73,4.77,4.73,4.86,
-4.70,4.87,4.58,4.64,4.73,4.65,4.71,4.63,4.69,4.59,
-4.76,4.75,4.91,4.85,4.78,4.75,4.87,4.78,4.87,4.78,
-5.11,4.90,4.82,5.00,4.94,4.98,4.92,5.00,4.95,5.08,
-4.99,4.88,5.01,5.03,5.20,5.05,5.17,5.18,5.10,4.96,
-4.96,5.05,5.12,4.97,5.35,5.15,5.09,5.22,5.18,5.28,
-5.02,5.07,5.42,5.28,5.23,5.40,5.09,5.17,5.40,5.45,
-5.39,5.60,5.30,5.40,5.43,5.42,5.25,5.20,5.57,5.59,
-5.31,5.41,5.35,5.34,5.45,5.33,5.38,5.72,5.35,5.70,
-5.54,5.71,5.46,5.52,5.57,5.46,5.71,5.35,5.60,5.88,
-1.04,1.09,1.09,1.15,1.18,1.23,1.26,1.30,1.42,1.35,
-1.39,1.46,1.50,1.50,1.51,1.58,1.60,1.65,1.66,1.76,
-1.78,1.77,1.78,1.86,1.83,1.82,1.84,1.96,1.84,2.00,
-1.91,2.01,1.96,1.98,2.03,2.07,2.18,2.07,2.18,2.15,
-2.06,2.25,2.25,2.21,2.29,2.36,2.36,2.25,2.40,2.27,
-2.38,2.45,2.43,2.50,2.47,2.62,2.61,2.51,2.59,2.48,
-2.63,2.71,2.65,2.69,2.73,2.63,2.75,2.84,2.82,2.72,
-2.72,2.75,2.87,2.80,2.86,3.02,2.91,2.87,2.97,3.13,
-2.91,2.85,3.08,3.05,3.14,2.98,3.04,3.01,3.03,3.05,
-3.07,3.20,3.08,3.13,3.25,3.10,3.21,3.12,3.17,3.30,
-3.31,3.14,3.27,3.26,3.13,3.36,3.27,3.40,3.47,3.32,
-3.38,3.33,3.37,3.41,3.52,3.43,3.45,3.56,3.60,3.59,
-3.56,3.52,3.69,3.53,3.56,3.70,3.50,3.60,3.53,3.72,
-3.56,3.61,3.64,3.75,3.77,3.72,3.73,3.72,3.83,3.80,
-3.90,3.93,3.84,3.84,3.86,3.91,3.90,4.09,3.97,3.90,
-3.99,3.86,3.99,3.95,3.95,4.06,3.99,3.93,4.13,4.02,
-4.03,4.14,4.15,4.24,4.21,4.12,4.06,4.06,4.09,4.04,
-4.29,4.13,4.35,4.35,4.11,4.05,4.12,4.16,4.29,4.15,
-4.23,4.28,4.27,4.47,4.27,4.22,4.31,4.34,4.14,4.38,
-4.36,4.14,4.25,4.34,4.46,4.40,4.35,4.32,4.54,4.42,
-4.32,4.42,4.58,4.41,4.61,4.56,4.50,4.62,4.52,4.67,
-4.63,4.64,4.62,4.48,4.80,4.58,4.79,4.58,4.56,4.60,
-4.84,4.63,4.70,4.84,5.00,4.69,4.67,4.72,4.90,4.79,
-4.79,4.72,5.02,4.80,4.80,4.78,4.83,4.91,4.85,4.95,
-4.85,4.88,4.92,4.83,5.05,4.80,4.95,4.92,4.94,5.02,
-5.13,4.98,5.07,5.07,5.11,5.08,5.05,4.87,5.04,5.30,
-5.19,5.23,4.98,5.09,4.94,5.28,5.14,5.27,5.16,5.07,
-5.19,5.37,5.11,5.38,5.33,5.46,5.25,5.32,5.27,5.19,
-5.26,5.52,4.93,5.24,5.49,5.29,5.58,5.32,5.16,5.37,
-0.92,1.00,1.06,1.09,1.16,1.15,1.19,1.24,1.30,1.27,
-1.34,1.34,1.39,1.48,1.42,1.49,1.53,1.55,1.54,1.69,
-1.62,1.67,1.72,1.66,1.75,1.75,1.80,1.84,1.82,1.82,
-1.79,1.88,1.85,1.92,1.97,1.97,2.02,2.03,2.00,2.02,
-2.05,2.06,2.11,2.08,2.16,2.09,2.20,2.23,2.29,2.14,
-2.27,2.31,2.27,2.26,2.31,2.35,2.29,2.46,2.48,2.45,
-2.49,2.46,2.58,2.47,2.60,2.56,2.51,2.46,2.53,2.57,
-2.58,2.59,2.70,2.68,2.79,2.66,2.61,2.79,2.70,2.79,
-2.75,2.79,2.75,2.83,2.85,2.83,2.96,2.78,3.00,2.84,
-2.86,2.92,3.03,3.02,3.00,3.03,2.95,2.99,2.97,2.95,
-2.98,3.05,3.04,3.16,3.08,3.18,3.26,3.22,3.13,3.16,
-3.21,3.20,3.14,3.10,3.16,3.25,3.25,3.43,3.28,3.41,
-3.18,3.57,3.21,3.32,3.48,3.51,3.49,3.55,3.50,3.37,
-3.43,3.36,3.46,3.49,3.52,3.36,3.51,3.50,3.41,3.64,
-3.70,3.50,3.68,3.70,3.63,3.59,3.74,3.48,3.61,3.78,
-3.75,3.78,3.66,3.84,3.65,3.84,3.56,3.94,3.82,3.81,
-3.76,3.87,3.82,3.65,3.67,3.73,3.85,4.04,4.18,3.91,
-3.94,3.82,4.01,3.97,3.90,4.01,4.03,3.85,3.87,4.06,
-4.04,4.01,3.94,4.06,4.06,4.02,4.02,3.95,4.31,4.14,
-4.19,4.29,4.01,4.19,4.17,4.29,4.23,4.22,4.18,4.24,
-4.28,4.25,4.30,4.43,4.14,4.33,4.19,4.49,4.47,4.30,
-4.36,4.42,4.34,4.30,4.29,4.19,4.41,4.38,4.33,4.50,
-4.50,4.44,4.53,4.51,4.27,4.64,4.62,4.53,4.59,4.43,
-4.48,4.63,4.56,4.50,4.57,4.39,4.67,4.62,4.50,4.71,
-4.54,4.58,4.74,4.77,4.49,4.62,4.67,4.59,4.53,4.83,
-4.62,4.72,4.74,4.65,4.69,4.93,4.95,4.82,4.80,4.83,
-4.92,4.91,4.77,4.79,4.65,4.84,4.91,4.81,4.69,4.93,
-5.05,4.85,4.97,4.94,4.86,4.97,5.03,4.89,4.90,5.09,
-4.81,5.04,5.16,5.05,4.86,5.02,5.07,5.19,4.72,4.99,
-0.90,0.95,0.96,1.00,1.05,1.10,1.14,1.17,1.21,1.19,
-1.26,1.26,1.35,1.32,1.33,1.41,1.40,1.43,1.45,1.51,
-1.53,1.57,1.59,1.63,1.61,1.67,1.67,1.63,1.78,1.78,
-1.72,1.76,1.79,1.90,1.86,1.89,1.87,1.88,1.92,1.92,
-1.96,1.96,2.00,2.06,2.01,1.97,2.08,2.11,2.10,2.20,
-2.13,2.12,2.21,2.23,2.18,2.18,2.26,2.27,2.32,2.27,
-2.30,2.27,2.25,2.45,2.41,2.37,2.40,2.44,2.45,2.40,
-2.52,2.44,2.58,2.50,2.49,2.55,2.53,2.54,2.63,2.56,
-2.60,2.56,2.70,2.58,2.67,2.64,2.71,2.74,2.79,2.73,
-2.77,2.58,2.86,2.86,2.81,2.88,2.80,2.91,2.87,2.85,
-2.88,2.93,2.83,3.04,2.90,2.93,3.06,3.02,2.98,2.89,
-3.01,3.02,3.01,3.05,3.13,2.98,3.02,3.04,3.14,3.15,
-3.20,3.19,3.18,3.09,3.20,3.24,3.23,3.26,3.22,3.25,
-3.23,3.39,3.24,3.40,3.30,3.34,3.33,3.45,3.19,3.28,
-3.31,3.39,3.39,3.39,3.48,3.45,3.42,3.50,3.51,3.38,
-3.49,3.53,3.47,3.45,3.49,3.36,3.52,3.64,3.55,3.59,
-3.67,3.57,3.71,3.61,3.72,3.73,3.62,3.57,3.68,3.70,
-3.72,3.72,3.66,3.71,3.95,3.76,3.84,3.85,3.71,3.78,
-3.79,3.78,3.75,3.83,3.84,3.79,3.84,3.90,3.84,3.91,
-3.82,3.85,3.96,3.77,3.93,3.80,3.98,4.00,3.93,3.92,
-3.98,4.09,3.90,3.94,4.16,4.13,3.85,4.05,4.28,4.00,
-4.07,4.02,4.11,4.21,4.15,4.21,4.23,4.14,4.06,4.27,
-4.04,4.27,4.14,4.20,4.18,4.23,4.30,4.37,4.24,4.46,
-4.42,4.23,4.20,4.19,4.31,4.16,4.50,4.40,4.33,4.24,
-4.38,4.40,4.31,4.26,4.42,4.56,4.25,4.47,4.33,4.45,
-4.44,4.35,4.41,4.52,4.59,4.62,4.44,4.77,4.45,4.51,
-4.40,4.59,4.54,4.55,4.49,4.55,4.59,4.57,4.42,4.54,
-4.62,4.55,4.51,4.57,4.70,4.65,4.69,4.87,4.61,4.73,
-4.66,4.96,4.77,4.80,4.78,4.62,4.65,4.47,4.87,4.84,
-0.87,0.91,0.91,0.97,0.96,1.01,1.05,1.11,1.11,1.12,
-1.16,1.16,1.20,1.27,1.27,1.35,1.28,1.37,1.35,1.43,
-1.45,1.44,1.51,1.56,1.58,1.56,1.60,1.52,1.64,1.56,
-1.62,1.73,1.67,1.68,1.74,1.76,1.73,1.76,1.78,1.85,
-1.83,1.83,1.87,1.94,1.88,1.88,1.92,1.92,1.95,2.06,
-1.94,2.07,2.07,1.99,2.00,2.11,2.14,2.07,2.20,2.20,
-2.20,2.23,2.24,2.15,2.18,2.19,2.23,2.35,2.24,2.29,
-2.28,2.36,2.36,2.39,2.31,2.26,2.41,2.38,2.40,2.44,
-2.57,2.49,2.50,2.52,2.62,2.66,2.59,2.47,2.58,2.50,
-2.56,2.57,2.69,2.58,2.61,2.57,2.70,2.62,2.68,2.80,
-2.69,2.71,2.78,2.72,2.82,2.78,2.75,2.76,2.72,2.81,
-2.71,2.77,2.94,2.86,2.91,2.98,2.92,2.90,2.87,2.97,
-2.93,2.97,3.07,3.06,2.99,3.02,2.99,3.01,3.09,3.11,
-3.04,3.13,3.01,2.98,3.06,3.08,3.13,3.15,3.14,3.13,
-3.15,3.22,3.25,3.12,3.17,3.23,3.22,3.17,3.36,3.27,
-3.21,3.45,3.38,3.21,3.25,3.37,3.38,3.43,3.30,3.42,
-3.42,3.51,3.37,3.46,3.45,3.44,3.29,3.41,3.45,3.44,
-3.57,3.53,3.50,3.51,3.39,3.61,3.48,3.55,3.49,3.47,
-3.57,3.64,3.49,3.60,3.55,3.72,3.54,3.61,3.62,3.57,
-3.72,3.51,3.55,3.77,3.83,3.61,3.73,3.69,3.78,3.68,
-3.71,3.81,3.69,3.74,3.83,3.74,3.75,3.88,3.93,3.98,
-3.97,3.86,3.89,3.89,3.90,3.91,3.81,3.96,3.79,3.94,
-3.92,3.93,3.86,3.96,3.91,3.72,3.92,4.10,3.91,4.08,
-3.92,3.96,4.09,4.11,3.94,3.93,4.04,4.01,4.03,3.89,
-4.16,4.05,4.23,3.98,3.92,4.19,4.25,4.20,4.26,4.19,
-4.30,4.22,4.18,4.24,4.24,4.41,4.18,4.41,4.17,4.24,
-4.34,4.17,4.38,4.17,4.37,4.49,4.28,4.32,4.29,4.32,
-4.27,4.37,4.26,4.34,4.31,4.23,4.39,4.22,4.43,4.38,
-4.37,4.40,4.41,4.36,4.76,4.47,4.60,4.46,4.61,4.56,
-0.78,0.83,0.85,0.88,0.89,0.96,0.97,1.04,1.05,1.08,
-1.08,1.09,1.15,1.16,1.19,1.22,1.21,1.28,1.28,1.32,
-1.30,1.33,1.37,1.42,1.44,1.48,1.53,1.52,1.50,1.54,
-1.56,1.57,1.50,1.65,1.65,1.56,1.60,1.64,1.70,1.75,
-1.75,1.76,1.78,1.80,1.76,1.77,1.83,1.84,1.82,1.87,
-1.86,1.92,2.00,1.92,1.97,1.92,1.95,2.00,1.99,1.98,
-1.93,2.03,2.10,2.06,2.11,2.13,2.12,2.09,2.13,2.23,
-2.12,2.10,2.22,2.19,2.30,2.11,2.29,2.29,2.25,2.24,
-2.34,2.30,2.27,2.36,2.35,2.35,2.47,2.33,2.34,2.35,
-2.40,2.45,2.51,2.34,2.46,2.37,2.42,2.44,2.55,2.45,
-2.59,2.65,2.53,2.59,2.70,2.60,2.55,2.59,2.71,2.61,
-2.74,2.71,2.70,2.78,2.62,2.61,2.67,2.63,2.68,2.77,
-2.71,2.79,2.81,2.84,2.76,2.68,2.77,2.87,2.93,2.77,
-2.85,2.94,2.86,2.97,2.94,2.94,2.99,2.91,2.96,3.05,
-2.82,2.97,2.99,2.96,2.85,3.00,2.93,3.06,3.00,2.99,
-2.96,3.01,3.12,3.11,3.16,3.07,3.22,3.09,3.22,3.06,
-3.17,3.22,3.20,3.24,3.25,3.21,3.05,3.29,3.26,3.20,
-3.21,3.14,3.45,3.29,3.22,3.09,3.39,3.33,3.29,3.32,
-3.40,3.29,3.29,3.25,3.33,3.40,3.42,3.44,3.30,3.30,
-3.34,3.45,3.43,3.46,3.44,3.36,3.46,3.52,3.43,3.33,
-3.51,3.48,3.55,3.62,3.41,3.41,3.51,3.46,3.58,3.66,
-3.57,3.62,3.49,3.46,3.62,3.54,3.63,3.62,3.53,3.61,
-3.59,3.56,3.72,3.65,3.63,3.66,3.78,3.61,3.81,3.89,
-3.74,3.82,3.69,3.83,3.84,3.77,3.78,3.87,3.81,3.66,
-3.82,3.84,3.83,3.86,3.86,3.93,3.83,3.89,3.89,3.79,
-3.81,3.85,3.87,3.81,3.86,3.93,3.94,3.83,4.07,3.86,
-3.95,3.91,3.93,3.98,4.02,4.14,3.89,4.11,4.00,4.03,
-4.06,4.06,4.07,4.09,4.11,3.94,4.14,4.18,4.11,4.06,
-4.18,4.11,4.02,3.92,4.26,3.95,4.13,4.04,4.03,4.11,
-0.74,0.77,0.77,0.82,0.84,0.90,0.91,0.94,0.98,1.02,
-1.01,1.08,1.08,1.09,1.15,1.17,1.18,1.18,1.19,1.20,
-1.29,1.23,1.29,1.26,1.33,1.36,1.37,1.37,1.41,1.34,
-1.44,1.50,1.47,1.46,1.45,1.51,1.56,1.56,1.63,1.65,
-1.61,1.57,1.57,1.61,1.64,1.60,1.63,1.69,1.70,1.76,
-1.80,1.76,1.74,1.79,1.83,1.84,1.79,1.86,1.85,1.93,
-1.84,1.86,1.90,1.97,1.95,1.94,1.94,2.00,2.01,1.97,
-2.03,1.97,2.02,2.05,2.07,2.08,2.12,2.05,2.10,2.05,
-2.15,2.11,2.09,2.09,2.20,2.18,2.17,2.27,2.23,2.20,
-2.21,2.25,2.21,2.27,2.34,2.34,2.26,2.28,2.32,2.30,
-2.32,2.38,2.43,2.37,2.43,2.50,2.44,2.36,2.35,2.42,
-2.53,2.43,2.46,2.44,2.52,2.58,2.54,2.47,2.48,2.54,
-2.52,2.48,2.70,2.56,2.62,2.69,2.43,2.62,2.68,2.58,
-2.64,2.66,2.75,2.66,2.77,2.75,2.73,2.69,2.74,2.65,
-2.86,2.73,2.76,2.74,2.87,2.83,2.90,2.84,2.79,2.83,
-3.01,2.82,2.84,2.87,2.75,2.86,2.86,2.79,2.84,2.93,
-2.82,2.87,2.88,2.98,2.96,2.99,2.87,3.01,2.96,2.93,
-2.92,3.02,2.97,3.14,2.92,3.04,3.08,3.04,3.04,3.06,
-3.13,3.05,3.06,3.18,3.20,3.04,3.27,3.03,3.12,3.12,
-3.17,3.22,3.31,3.12,3.26,3.16,3.24,3.19,3.24,3.17,
-3.13,3.38,3.48,3.34,3.21,3.30,3.31,3.21,3.30,3.32,
-3.42,3.36,3.35,3.28,3.38,3.24,3.45,3.46,3.42,3.39,
-3.49,3.36,3.30,3.49,3.48,3.36,3.39,3.53,3.41,3.51,
-3.50,3.46,3.32,3.43,3.42,3.30,3.50,3.40,3.64,3.56,
-3.60,3.70,3.58,3.54,3.42,3.56,3.50,3.47,3.55,3.48,
-3.68,3.76,3.60,3.63,3.59,3.57,3.50,3.67,3.68,3.71,
-3.88,3.57,3.81,3.58,3.75,3.69,3.73,3.86,3.76,3.60,
-3.87,3.71,3.81,3.84,3.76,3.89,3.70,3.84,3.91,3.96,
-3.78,3.86,4.02,3.93,4.02,3.92,3.71,3.86,3.90,3.89,
-0.68,0.71,0.76,0.76,0.79,0.84,0.88,0.89,0.92,0.93,
-0.97,0.97,1.02,1.03,1.00,1.02,1.08,1.10,1.09,1.16,
-1.17,1.18,1.21,1.21,1.23,1.22,1.31,1.29,1.26,1.33,
-1.33,1.33,1.35,1.43,1.37,1.37,1.42,1.41,1.45,1.45,
-1.47,1.54,1.47,1.49,1.55,1.57,1.58,1.57,1.59,1.59,
-1.62,1.57,1.67,1.64,1.63,1.64,1.66,1.77,1.76,1.71,
-1.72,1.82,1.83,1.79,1.90,1.84,1.82,1.82,1.82,1.89,
-1.83,1.90,1.85,1.88,1.93,1.91,1.92,1.86,1.95,2.04,
-2.04,2.08,2.00,1.97,2.04,2.03,1.99,2.08,2.03,2.03,
-2.06,2.09,2.15,2.16,2.09,2.10,2.09,2.15,2.18,2.19,
-2.24,2.19,2.23,2.19,2.19,2.16,2.25,2.34,2.17,2.22,
-2.32,2.29,2.16,2.37,2.42,2.26,2.38,2.35,2.45,2.36,
-2.35,2.40,2.39,2.40,2.32,2.36,2.43,2.43,2.49,2.48,
-2.47,2.47,2.49,2.51,2.55,2.48,2.67,2.50,2.55,2.51,
-2.47,2.57,2.55,2.50,2.58,2.66,2.58,2.75,2.57,2.58,
-2.55,2.53,2.60,2.64,2.72,2.65,2.58,2.73,2.68,2.78,
-2.59,2.68,2.73,2.70,2.72,2.76,2.79,2.81,2.68,2.83,
-2.78,2.85,2.73,2.71,2.75,2.83,2.94,2.78,2.87,2.83,
-2.92,2.82,2.88,2.93,2.99,2.79,2.84,2.97,2.89,2.86,
-2.89,3.02,2.98,3.01,2.93,2.97,2.87,3.13,3.05,3.11,
-3.02,2.98,3.01,3.17,3.10,2.89,2.93,3.21,3.13,3.09,
-2.98,3.17,3.09,3.10,3.05,3.23,3.08,3.12,3.17,3.06,
-3.13,3.06,3.10,3.14,3.09,3.01,3.22,3.24,3.27,3.24,
-3.30,3.32,3.15,3.17,3.21,3.25,3.35,3.25,3.35,3.19,
-3.24,3.33,3.22,3.32,3.29,3.36,3.37,3.39,3.40,3.29,
-3.43,3.37,3.43,3.33,3.27,3.31,3.40,3.53,3.32,3.31,
-3.36,3.39,3.45,3.48,3.49,3.33,3.49,3.50,3.53,3.35,
-3.41,3.50,3.58,3.41,3.55,3.56,3.46,3.47,3.53,3.54,
-3.66,3.48,3.58,3.61,3.61,3.58,3.61,3.55,3.49,3.62,
-0.64,0.65,0.70,0.73,0.73,0.75,0.78,0.83,0.88,0.84,
-0.84,0.94,0.90,0.93,0.95,0.99,1.01,1.04,1.03,1.04,
-1.08,1.08,1.07,1.08,1.15,1.16,1.12,1.19,1.18,1.21,
-1.25,1.26,1.23,1.30,1.28,1.32,1.30,1.32,1.34,1.39,
-1.39,1.31,1.36,1.44,1.45,1.48,1.46,1.49,1.49,1.51,
-1.45,1.46,1.47,1.46,1.55,1.58,1.59,1.59,1.57,1.52,
-1.65,1.65,1.63,1.63,1.60,1.72,1.71,1.63,1.65,1.72,
-1.67,1.72,1.78,1.78,1.81,1.79,1.85,1.79,1.85,1.79,
-1.90,1.78,1.83,1.87,1.88,1.86,1.95,1.95,1.90,1.88,
-1.94,1.96,1.93,2.01,2.02,1.95,2.01,2.03,2.14,2.05,
-2.01,2.07,2.06,2.12,2.05,2.09,2.09,2.12,2.19,2.13,
-2.19,2.09,2.06,2.16,2.10,2.16,2.14,2.15,2.19,2.21,
-2.22,2.19,2.23,2.28,2.18,2.19,2.22,2.20,2.30,2.35,
-2.21,2.22,2.26,2.33,2.29,2.39,2.41,2.36,2.35,2.33,
-2.29,2.44,2.39,2.32,2.52,2.46,2.44,2.47,2.41,2.45,
-2.51,2.48,2.36,2.49,2.45,2.48,2.40,2.52,2.50,2.49,
-2.48,2.46,2.54,2.50,2.53,2.52,2.52,2.65,2.56,2.68,
-2.56,2.56,2.61,2.59,2.62,2.61,2.58,2.65,2.63,2.61,
-2.67,2.83,2.68,2.80,2.59,2.62,2.57,2.75,2.60,2.79,
-2.71,2.80,2.77,2.78,2.77,2.74,2.75,2.80,2.83,2.85,
-2.72,2.82,2.78,2.82,2.66,2.73,2.73,2.98,2.74,2.86,
-2.82,2.86,2.82,2.90,3.05,2.87,2.90,2.98,2.96,2.96,
-2.95,2.82,2.80,2.89,2.90,3.00,3.00,2.97,3.02,2.81,
-3.03,2.94,3.06,3.07,3.05,3.02,3.09,3.04,2.95,3.15,
-3.09,2.93,3.15,3.00,3.03,3.13,3.04,3.01,3.07,3.22,
-3.11,3.16,3.16,3.10,3.02,3.13,3.19,3.19,3.07,3.06,
-3.28,3.16,3.15,3.22,3.03,3.14,3.20,3.23,3.19,3.16,
-3.21,3.23,3.29,3.08,3.16,3.23,3.16,3.28,3.23,3.25,
-3.44,3.37,3.37,3.28,3.28,3.47,3.16,3.35,3.41,3.24,
-0.60,0.64,0.63,0.69,0.68,0.71,0.74,0.74,0.78,0.80,
-0.78,0.80,0.86,0.85,0.84,0.92,0.89,0.94,0.96,0.97,
-1.02,0.98,1.03,1.01,1.08,1.05,1.06,1.04,1.12,1.13,
-1.12,1.14,1.18,1.15,1.17,1.22,1.20,1.27,1.25,1.24,
-1.27,1.24,1.30,1.28,1.25,1.31,1.34,1.36,1.35,1.34,
-1.41,1.38,1.42,1.39,1.40,1.49,1.45,1.46,1.49,1.50,
-1.53,1.49,1.50,1.51,1.53,1.60,1.56,1.55,1.61,1.55,
-1.59,1.60,1.73,1.67,1.64,1.61,1.67,1.64,1.72,1.78,
-1.66,1.73,1.72,1.65,1.77,1.74,1.74,1.71,1.78,1.81,
-1.76,1.77,1.83,1.76,1.84,1.84,1.82,1.93,1.87,1.91,
-1.87,1.92,1.92,1.86,1.93,1.88,1.93,1.97,1.96,1.93,
-1.90,1.97,1.89,2.02,2.00,2.03,1.99,1.97,2.09,2.06,
-2.03,2.07,2.04,2.02,2.06,2.01,2.13,2.14,2.18,2.18,
-2.15,2.09,2.06,2.16,2.09,2.21,2.13,2.16,2.18,2.17,
-2.25,2.22,2.25,2.17,2.23,2.23,2.23,2.24,2.25,2.22,
-2.16,2.32,2.15,2.30,2.31,2.22,2.36,2.31,2.24,2.31,
-2.33,2.29,2.32,2.34,2.28,2.34,2.35,2.34,2.42,2.42,
-2.37,2.44,2.31,2.23,2.43,2.42,2.49,2.49,2.50,2.43,
-2.39,2.40,2.41,2.52,2.56,2.47,2.54,2.39,2.44,2.63,
-2.50,2.49,2.43,2.53,2.67,2.51,2.62,2.56,2.52,2.49,
-2.59,2.61,2.66,2.52,2.49,2.56,2.55,2.62,2.65,2.63,
-2.61,2.62,2.74,2.73,2.75,2.69,2.67,2.66,2.71,2.58,
-2.70,2.79,2.73,2.66,2.66,2.73,2.74,2.81,2.81,2.69,
-2.86,2.75,2.74,2.73,2.77,2.74,2.92,2.85,2.71,2.67,
-2.80,2.81,2.81,2.88,2.83,2.83,2.82,2.85,2.81,2.94,
-2.81,2.90,2.78,2.88,2.83,2.91,2.96,2.96,2.79,2.92,
-2.90,2.81,2.91,3.04,2.97,2.94,2.97,2.91,2.93,3.03,
-3.00,3.09,2.83,2.90,3.07,2.96,3.01,3.02,3.02,3.01,
-3.13,3.02,3.00,2.94,3.13,2.94,2.91,3.11,3.23,3.05,
-0.55,0.56,0.60,0.61,0.64,0.66,0.67,0.64,0.67,0.73,
-0.78,0.71,0.79,0.80,0.78,0.82,0.84,0.86,0.87,0.92,
-0.89,0.93,0.92,0.94,0.97,1.01,1.03,0.98,1.01,1.04,
-1.09,1.04,1.03,1.07,1.10,1.08,1.08,1.09,1.15,1.13,
-1.17,1.19,1.20,1.15,1.25,1.26,1.20,1.23,1.25,1.21,
-1.21,1.30,1.30,1.29,1.33,1.33,1.35,1.35,1.36,1.39,
-1.43,1.40,1.35,1.41,1.38,1.44,1.43,1.43,1.45,1.45,
-1.49,1.51,1.49,1.46,1.49,1.50,1.47,1.51,1.56,1.47,
-1.54,1.59,1.56,1.59,1.59,1.65,1.64,1.61,1.64,1.63,
-1.58,1.65,1.62,1.73,1.65,1.69,1.63,1.78,1.76,1.73,
-1.70,1.73,1.74,1.78,1.76,1.78,1.80,1.72,1.86,1.76,
-1.76,1.79,1.85,1.81,1.81,1.89,1.83,1.86,1.85,1.89,
-1.97,1.85,1.83,1.82,1.92,1.88,1.87,1.98,1.96,1.95,
-1.95,1.98,1.96,1.98,1.99,1.89,1.99,1.97,1.96,2.04,
-2.08,1.95,2.02,2.03,2.01,2.09,2.12,2.06,2.09,2.12,
-2.09,2.08,2.13,2.15,2.22,2.09,2.06,2.17,2.18,2.14,
-2.20,2.22,2.15,2.14,2.10,2.15,2.16,2.17,2.21,2.23,
-2.16,2.25,2.17,2.13,2.25,2.19,2.21,2.21,2.24,2.28,
-2.23,2.28,2.23,2.27,2.33,2.28,2.30,2.27,2.32,2.28,
-2.36,2.36,2.42,2.28,2.30,2.38,2.48,2.39,2.32,2.41,
-2.32,2.30,2.47,2.42,2.25,2.47,2.41,2.40,2.46,2.44,
-2.56,2.40,2.52,2.47,2.49,2.52,2.45,2.38,2.54,2.40,
-2.43,2.45,2.56,2.56,2.47,2.50,2.54,2.52,2.57,2.53,
-2.50,2.55,2.60,2.64,2.51,2.50,2.68,2.53,2.57,2.69,
-2.55,2.68,2.45,2.67,2.59,2.67,2.54,2.54,2.67,2.58,
-2.60,2.74,2.66,2.73,2.62,2.58,2.71,2.60,2.76,2.76,
-2.61,2.71,2.76,2.74,2.61,2.75,2.60,2.77,2.87,2.69,
-2.73,2.70,2.67,2.74,2.79,2.82,2.89,2.80,2.70,2.71,
-2.76,2.74,2.69,2.86,2.84,2.84,2.89,2.87,2.83,2.97,
-0.48,0.52,0.55,0.56,0.58,0.58,0.62,0.63,0.64,0.66,
-0.70,0.68,0.72,0.73,0.68,0.73,0.77,0.82,0.82,0.82,
-0.85,0.82,0.88,0.88,0.88,0.90,0.93,0.96,0.97,0.97,
-0.97,0.97,1.03,1.02,1.00,0.97,1.04,1.06,1.08,1.05,
-1.05,1.10,1.10,1.14,1.14,1.13,1.12,1.14,1.13,1.14,
-1.17,1.19,1.16,1.15,1.24,1.26,1.19,1.27,1.21,1.25,
-1.26,1.31,1.27,1.28,1.31,1.27,1.35,1.31,1.33,1.36,
-1.41,1.38,1.37,1.34,1.37,1.37,1.37,1.43,1.45,1.40,
-1.49,1.41,1.41,1.38,1.46,1.44,1.52,1.49,1.50,1.46,
-1.53,1.53,1.57,1.51,1.55,1.59,1.47,1.55,1.58,1.57,
-1.55,1.56,1.61,1.59,1.57,1.65,1.62,1.67,1.60,1.67,
-1.62,1.68,1.66,1.61,1.68,1.75,1.62,1.66,1.67,1.81,
-1.70,1.77,1.80,1.74,1.82,1.72,1.73,1.69,1.73,1.84,
-1.77,1.76,1.73,1.83,1.89,1.82,1.81,1.83,1.86,1.71,
-1.77,1.76,1.90,1.88,1.86,1.95,1.85,1.93,1.93,1.87,
-1.86,1.92,1.96,1.97,1.97,1.88,1.95,1.97,1.96,1.97,
-1.94,1.90,2.07,1.94,1.92,2.00,1.99,2.03,1.99,2.08,
-2.03,2.00,1.98,2.00,2.01,1.97,2.01,2.10,2.10,2.02,
-2.00,2.08,2.04,2.13,2.06,2.10,2.10,2.11,2.11,2.23,
-2.16,2.22,2.20,2.15,2.17,2.19,2.18,2.07,2.15,2.16,
-2.22,2.14,2.19,2.20,2.27,2.28,2.27,2.20,2.26,2.22,
-2.22,2.32,2.20,2.25,2.29,2.32,2.25,2.34,2.39,2.33,
-2.25,2.26,2.32,2.29,2.29,2.27,2.35,2.46,2.24,2.32,
-2.33,2.42,2.38,2.34,2.30,2.45,2.44,2.32,2.47,2.30,
-2.37,2.36,2.45,2.43,2.34,2.29,2.44,2.43,2.38,2.42,
-2.46,2.45,2.39,2.35,2.36,2.33,2.48,2.46,2.47,2.50,
-2.48,2.46,2.29,2.57,2.54,2.55,2.53,2.55,2.45,2.61,
-2.47,2.48,2.49,2.51,2.51,2.48,2.59,2.67,2.54,2.61,
-2.70,2.50,2.55,2.59,2.52,2.56,2.72,2.60,2.54,2.63,
-0.44,0.48,0.46,0.53,0.52,0.56,0.55,0.59,0.60,0.61,
-0.64,0.65,0.69,0.71,0.67,0.69,0.74,0.73,0.75,0.74,
-0.74,0.77,0.79,0.78,0.81,0.83,0.81,0.88,0.90,0.89,
-0.85,0.89,0.90,0.86,0.88,0.95,0.95,0.95,0.98,0.91,
-0.99,0.96,1.05,1.02,1.03,1.00,1.07,1.05,1.06,1.07,
-1.05,1.05,1.10,1.06,1.08,1.12,1.12,1.13,1.13,1.14,
-1.24,1.16,1.18,1.22,1.21,1.23,1.18,1.19,1.21,1.21,
-1.23,1.27,1.26,1.23,1.27,1.35,1.30,1.32,1.27,1.37,
-1.31,1.32,1.35,1.40,1.33,1.36,1.42,1.36,1.34,1.32,
-1.43,1.39,1.38,1.43,1.44,1.47,1.46,1.38,1.40,1.40,
-1.41,1.41,1.46,1.43,1.47,1.45,1.48,1.47,1.51,1.57,
-1.49,1.59,1.57,1.46,1.51,1.54,1.58,1.59,1.61,1.56,
-1.62,1.59,1.61,1.58,1.66,1.63,1.66,1.59,1.67,1.63,
-1.70,1.61,1.68,1.63,1.66,1.67,1.69,1.69,1.73,1.63,
-1.73,1.70,1.71,1.64,1.77,1.79,1.66,1.72,1.73,1.72,
-1.73,1.84,1.78,1.72,1.78,1.74,1.80,1.71,1.82,1.82,
-1.77,1.79,1.87,1.77,1.85,1.87,1.86,1.86,1.87,1.89,
-1.83,1.84,1.84,1.93,1.80,1.87,1.86,1.89,1.94,1.92,
-1.95,1.91,2.01,1.99,2.00,1.89,1.90,1.95,1.96,1.95,
-1.95,1.92,2.04,1.94,2.05,2.05,1.99,1.98,1.98,2.04,
-2.00,1.98,2.04,2.00,2.03,2.04,2.03,2.01,2.01,2.01,
-2.04,2.07,2.07,2.06,2.04,2.04,2.05,2.10,2.11,2.04,
-2.04,2.05,2.11,2.07,2.05,2.18,2.17,2.13,2.18,2.10,
-2.18,2.13,2.10,2.21,2.03,2.19,2.19,2.09,2.14,2.22,
-2.14,2.22,2.19,2.23,2.12,2.23,2.28,2.30,2.24,2.28,
-2.17,2.26,2.19,2.25,2.33,2.23,2.19,2.27,2.24,2.23,
-2.35,2.27,2.25,2.24,2.28,2.39,2.32,2.25,2.35,2.24,
-2.29,2.34,2.37,2.36,2.35,2.33,2.31,2.43,2.31,2.35,
-2.39,2.29,2.50,2.43,2.43,2.45,2.38,2.39,2.45,2.39,
-1.16,1.22,1.28,1.33,1.31,1.38,1.43,1.44,1.54,1.54,
-1.57,1.67,1.73,1.71,1.68,1.80,1.75,1.86,1.90,1.86,
-1.96,1.93,2.05,2.08,2.05,2.07,2.02,2.18,2.22,2.20,
-2.18,2.33,2.27,2.34,2.35,2.39,2.40,2.45,2.51,2.43,
-2.52,2.55,2.53,2.54,2.62,2.53,2.71,2.56,2.80,2.67,
-2.63,2.76,2.81,2.75,2.83,2.84,2.83,3.00,3.00,2.95,
-3.01,2.90,2.90,2.98,3.04,3.01,3.03,3.00,3.05,3.16,
-2.97,3.01,3.22,3.16,3.28,3.23,3.34,3.37,3.30,3.21,
-3.29,3.37,3.33,3.39,3.53,3.44,3.57,3.49,3.48,3.59,
-3.46,3.55,3.57,3.56,3.62,3.64,3.62,3.59,3.68,3.67,
-3.65,3.55,3.85,3.91,3.64,3.67,3.81,3.80,3.85,3.72,
-3.98,3.89,3.88,3.88,4.00,3.74,3.97,3.92,4.00,4.03,
-4.02,4.10,4.07,4.05,3.97,4.05,4.17,3.99,4.05,3.96,
-4.05,4.16,4.22,4.19,4.35,4.23,4.07,4.18,4.23,4.24,
-4.22,4.37,4.21,4.35,4.35,4.47,4.33,4.22,4.45,4.48,
-4.41,4.35,4.44,4.36,4.47,4.50,4.64,4.55,4.67,4.56,
-4.51,4.65,4.72,4.69,4.44,4.61,4.60,4.58,4.81,4.75,
-4.76,4.67,4.69,4.62,4.92,4.85,4.60,4.83,4.71,4.82,
-5.06,4.71,4.71,4.48,4.77,4.75,4.89,5.00,5.03,4.94,
-5.05,5.09,4.90,5.02,5.07,4.92,4.90,4.96,5.20,4.88,
-5.11,5.05,5.10,5.07,5.04,5.32,5.09,5.25,4.93,5.28,
-5.23,5.20,5.13,5.17,5.35,5.18,5.09,5.17,5.47,5.39,
-5.54,5.24,5.42,5.25,5.32,5.30,5.27,5.37,5.50,5.10,
-5.37,5.53,5.40,5.49,5.49,5.64,5.48,5.49,5.48,5.57,
-5.54,5.57,5.54,5.62,5.42,5.62,5.85,5.42,5.50,5.54,
-5.33,5.69,5.72,5.44,5.67,5.62,5.89,5.81,5.70,5.94,
-5.66,5.94,5.78,5.68,5.80,5.67,5.86,5.63,6.04,6.03,
-5.95,5.75,5.85,6.07,5.88,5.86,5.80,5.92,5.94,5.84,
-6.02,6.35,5.97,5.81,5.99,6.11,5.94,6.05,5.98,6.02,
-1.13,1.12,1.20,1.28,1.31,1.35,1.40,1.46,1.52,1.55,
-1.56,1.59,1.59,1.69,1.71,1.73,1.72,1.77,1.81,1.89,
-1.88,1.96,1.99,1.98,2.00,2.01,2.03,2.11,2.03,2.10,
-2.16,2.18,2.23,2.18,2.26,2.32,2.34,2.26,2.39,2.40,
-2.46,2.40,2.39,2.49,2.53,2.54,2.56,2.52,2.56,2.68,
-2.71,2.72,2.59,2.68,2.70,2.75,2.78,2.68,2.87,2.86,
-2.84,2.80,2.87,2.84,2.85,2.88,2.84,2.91,2.91,2.97,
-3.04,3.03,3.19,3.12,3.04,3.20,3.15,3.11,3.14,3.29,
-3.19,3.21,3.28,3.31,3.35,3.20,3.27,3.27,3.39,3.32,
-3.40,3.45,3.48,3.40,3.60,3.49,3.43,3.51,3.62,3.54,
-3.26,3.72,3.57,3.56,3.69,3.65,3.68,3.75,3.76,3.65,
-3.80,3.70,3.71,3.69,3.87,3.78,3.84,3.76,3.86,3.76,
-3.95,3.75,3.93,3.98,3.93,4.02,4.03,4.23,3.78,3.98,
-3.87,3.94,4.11,4.04,3.98,3.97,3.89,4.01,4.01,4.18,
-3.95,4.01,4.14,4.23,4.32,4.08,4.30,4.21,4.22,4.37,
-4.13,4.33,4.39,4.28,4.24,4.23,4.16,4.49,4.44,4.35,
-4.42,4.49,4.40,4.39,4.54,4.54,4.46,4.66,4.70,4.47,
-4.60,4.34,4.58,4.50,4.53,4.68,4.66,4.52,4.76,4.66,
-4.53,4.91,4.58,4.69,4.63,4.65,4.76,4.60,4.83,4.96,
-4.68,4.89,4.90,4.75,4.68,4.81,4.90,5.06,4.86,5.15,
-4.86,4.87,4.97,4.95,4.79,5.00,4.86,5.09,5.11,5.18,
-5.01,5.00,4.99,5.06,5.11,5.07,5.16,5.13,5.35,5.07,
-5.21,5.09,5.19,5.11,5.20,5.04,5.08,5.35,5.35,5.34,
-5.05,4.96,5.27,5.23,5.11,5.40,5.14,5.42,5.18,5.36,
-5.36,5.36,5.41,5.29,5.32,5.26,5.36,5.39,5.43,5.70,
-5.44,5.43,5.49,5.48,5.49,5.50,5.40,5.71,5.63,5.39,
-5.70,5.52,5.64,5.75,5.55,5.44,5.53,5.84,5.75,5.70,
-5.85,5.73,5.50,5.52,5.84,5.69,5.61,5.68,5.70,5.68,
-5.83,5.80,5.70,5.86,5.58,5.96,5.71,5.76,5.83,5.85,
-1.10,1.13,1.21,1.22,1.24,1.24,1.36,1.39,1.40,1.50,
-1.54,1.51,1.53,1.61,1.60,1.70,1.78,1.68,1.72,1.79,
-1.89,1.84,1.83,1.87,1.91,1.96,2.07,2.01,1.97,2.08,
-2.06,2.10,2.04,2.14,2.22,2.17,2.23,2.21,2.41,2.29,
-2.32,2.39,2.32,2.41,2.36,2.40,2.50,2.45,2.52,2.49,
-2.59,2.52,2.54,2.47,2.74,2.57,2.55,2.54,2.84,2.75,
-2.70,2.68,2.74,2.82,2.81,2.87,2.73,2.93,2.95,2.94,
-2.97,2.90,3.03,3.00,3.06,2.91,3.05,3.16,3.05,3.01,
-3.16,3.13,3.10,3.12,3.25,3.16,3.02,3.26,3.23,3.29,
-3.27,3.29,3.38,3.42,3.33,3.47,3.37,3.31,3.31,3.51,
-3.48,3.51,3.46,3.46,3.45,3.51,3.29,3.45,3.54,3.35,
-3.54,3.49,3.64,3.81,3.56,3.65,3.76,3.68,3.79,3.74,
-3.73,3.69,3.84,3.72,3.53,3.83,3.68,3.68,3.81,3.83,
-3.90,3.78,3.97,3.97,3.91,3.94,4.03,3.86,3.96,4.03,
-4.00,3.91,4.08,4.12,4.04,3.98,4.00,4.11,4.28,4.10,
-4.15,4.08,4.08,3.89,4.10,4.19,4.06,4.31,4.21,4.25,
-4.29,4.29,4.30,4.11,4.17,4.11,4.42,4.33,4.44,4.45,
-4.32,4.53,4.53,4.35,4.27,4.53,4.48,4.44,4.39,4.59,
-4.47,4.47,4.52,4.60,4.58,4.40,4.55,4.46,4.81,4.82,
-4.63,4.43,4.67,4.60,4.55,4.78,4.75,4.75,4.71,4.79,
-4.88,4.69,4.81,4.59,4.78,4.81,4.79,4.84,4.70,5.06,
-4.85,4.79,4.80,4.93,4.75,4.92,4.93,4.88,4.93,5.13,
-4.97,4.95,4.80,4.88,4.85,4.94,5.21,5.05,5.26,5.05,
-5.10,4.97,4.97,5.20,5.02,5.10,5.21,4.93,5.22,5.14,
-5.18,5.08,5.06,5.30,5.18,5.38,5.30,5.48,5.14,5.22,
-5.10,5.41,5.28,5.23,5.45,5.47,5.53,5.32,5.31,5.25,
-5.36,5.34,5.44,5.17,5.48,5.40,5.43,5.42,5.53,5.33,
-5.30,5.38,5.35,5.84,5.56,5.26,5.32,5.62,5.38,5.48,
-5.41,5.48,5.42,5.60,5.44,5.49,5.71,5.73,5.51,5.55,
-1.03,1.08,1.09,1.16,1.23,1.27,1.26,1.29,1.32,1.41,
-1.38,1.41,1.52,1.51,1.56,1.53,1.61,1.58,1.67,1.64,
-1.71,1.73,1.77,1.82,1.80,1.92,1.91,1.91,1.96,1.97,
-2.00,2.01,2.02,2.13,2.15,2.11,2.23,2.20,2.13,2.20,
-2.19,2.29,2.27,2.31,2.31,2.34,2.42,2.27,2.35,2.46,
-2.44,2.46,2.38,2.54,2.45,2.55,2.47,2.52,2.63,2.64,
-2.69,2.62,2.69,2.66,2.64,2.67,2.74,2.81,2.81,2.89,
-2.87,2.83,2.72,2.89,2.90,2.81,2.76,2.96,2.99,2.90,
-3.03,2.89,2.91,3.06,3.07,3.07,3.06,3.04,3.18,3.11,
-3.22,3.10,3.15,3.14,3.03,3.13,3.26,3.24,3.31,3.27,
-3.39,3.30,3.29,3.38,3.34,3.42,3.31,3.38,3.26,3.47,
-3.46,3.39,3.50,3.44,3.44,3.62,3.60,3.59,3.49,3.54,
-3.62,3.65,3.52,3.54,3.77,3.66,3.61,3.79,3.72,3.54,
-3.77,3.69,3.72,3.83,3.68,3.73,3.80,3.81,3.91,3.87,
-3.72,3.79,3.70,3.85,3.98,3.81,3.77,4.02,3.94,3.90,
-3.86,3.86,3.94,3.93,4.05,3.81,4.16,4.01,4.06,4.28,
-4.13,4.09,4.12,3.99,4.31,4.12,4.22,4.20,4.17,4.34,
-4.37,4.05,4.25,4.17,4.19,4.24,4.26,4.29,4.14,4.31,
-4.34,4.32,4.29,4.39,4.22,4.42,4.36,4.43,4.33,4.38,
-4.39,4.44,4.46,4.53,4.50,4.45,4.60,4.36,4.55,4.71,
-4.45,4.58,4.53,4.60,4.60,4.49,4.58,4.71,4.46,4.70,
-4.77,4.81,4.70,4.66,4.64,4.62,4.78,4.57,4.75,4.67,
-4.45,4.69,4.91,4.78,4.63,4.51,4.92,4.81,4.68,4.95,
-4.93,4.78,4.86,4.85,4.77,4.98,4.82,4.95,5.11,4.82,
-5.04,5.08,4.92,5.04,5.03,5.15,4.82,5.04,5.02,4.94,
-4.88,4.88,5.26,4.99,5.08,5.17,5.05,5.21,5.22,5.23,
-5.07,5.25,5.18,4.95,5.17,5.09,4.97,5.24,5.23,5.26,
-5.22,5.27,5.38,5.10,5.28,5.33,4.97,5.09,5.26,5.22,
-5.40,5.45,5.44,5.46,5.40,5.34,5.16,5.15,5.37,5.44,
-0.96,1.04,1.05,1.11,1.21,1.17,1.24,1.29,1.28,1.32,
-1.35,1.41,1.39,1.38,1.47,1.48,1.61,1.58,1.66,1.64,
-1.70,1.72,1.69,1.72,1.78,1.80,1.79,1.80,1.82,1.90,
-1.87,1.94,1.94,1.97,2.00,2.09,2.03,2.05,2.01,2.16,
-2.08,2.17,2.15,2.22,2.25,2.20,2.22,2.29,2.27,2.31,
-2.38,2.33,2.31,2.43,2.44,2.39,2.46,2.38,2.50,2.46,
-2.49,2.52,2.46,2.57,2.51,2.59,2.48,2.68,2.61,2.66,
-2.60,2.67,2.69,2.75,2.77,2.70,2.83,2.83,2.75,2.81,
-2.83,2.79,2.87,2.82,2.83,3.04,2.89,2.83,2.88,3.03,
-3.09,3.04,2.99,2.95,2.91,3.07,3.00,3.03,3.23,3.21,
-3.10,3.14,3.14,3.14,3.21,3.21,3.10,3.18,3.39,3.30,
-3.31,3.26,3.21,3.41,3.20,3.31,3.28,3.37,3.41,3.42,
-3.48,3.30,3.47,3.43,3.37,3.37,3.56,3.56,3.50,3.54,
-3.52,3.48,3.54,3.58,3.61,3.41,3.47,3.60,3.65,3.60,
-3.54,3.67,3.59,3.58,3.56,3.75,3.77,3.76,3.63,3.74,
-3.76,3.84,3.71,3.77,3.64,3.78,3.94,3.91,3.91,3.90,
-3.97,3.91,3.86,3.81,3.89,3.92,3.91,3.96,3.93,4.17,
-3.91,3.98,4.07,4.15,4.11,4.06,4.22,4.08,4.05,4.12,
-4.06,4.14,4.18,4.38,4.12,4.11,4.19,4.16,4.26,4.39,
-4.12,4.39,4.33,4.16,4.35,4.18,4.15,4.23,4.05,4.22,
-4.13,4.41,4.43,4.32,4.37,4.46,4.32,4.39,4.37,4.42,
-4.44,4.52,4.37,4.68,4.47,4.45,4.39,4.45,4.51,4.41,
-4.54,4.41,4.76,4.52,4.75,4.54,4.61,4.78,4.64,4.80,
-4.46,4.58,4.74,4.68,4.70,4.57,4.67,4.65,4.63,4.72,
-4.74,4.53,4.51,4.85,4.76,4.79,4.73,4.76,4.70,4.80,
-4.92,4.81,4.79,4.68,4.91,4.73,4.84,5.05,4.80,4.85,
-5.02,4.96,4.96,4.89,4.99,4.94,4.99,5.07,4.87,4.85,
-4.81,5.01,5.14,5.02,5.03,5.02,5.03,4.97,4.95,4.75,
-5.15,4.94,5.02,5.02,5.32,5.24,5.07,5.13,5.06,5.18,
-0.95,0.94,1.00,1.02,1.11,1.12,1.17,1.20,1.24,1.27,
-1.23,1.33,1.33,1.37,1.42,1.41,1.44,1.50,1.52,1.56,
-1.61,1.57,1.57,1.65,1.64,1.68,1.75,1.77,1.77,1.75,
-1.76,1.81,1.85,1.88,1.88,1.98,1.90,1.91,2.02,2.06,
-1.97,2.06,2.06,2.11,2.14,2.13,2.07,2.23,2.20,2.15,
-2.19,2.25,2.34,2.30,2.29,2.23,2.34,2.25,2.39,2.35,
-2.35,2.39,2.43,2.39,2.41,2.52,2.50,2.49,2.58,2.46,
-2.51,2.51,2.54,2.61,2.72,2.62,2.67,2.73,2.73,2.63,
-2.71,2.64,2.71,2.74,2.76,2.78,2.82,2.63,2.81,2.86,
-2.88,2.88,2.87,2.92,2.89,2.94,2.91,2.90,2.89,3.00,
-2.94,3.02,3.11,3.07,2.99,2.89,3.06,3.11,3.13,3.18,
-3.09,3.14,3.10,3.23,3.15,3.27,3.20,3.19,3.15,3.29,
-3.22,3.20,3.31,3.26,3.19,3.25,3.34,3.29,3.29,3.42,
-3.30,3.31,3.49,3.28,3.41,3.43,3.42,3.37,3.36,3.49,
-3.61,3.51,3.42,3.40,3.48,3.55,3.54,3.61,3.61,3.52,
-3.63,3.53,3.57,3.69,3.54,3.64,3.66,3.66,3.58,3.62,
-3.52,3.71,3.70,3.67,3.87,3.77,3.77,3.69,3.85,3.63,
-3.83,3.90,3.84,3.79,3.72,3.97,3.80,3.82,4.07,3.86,
-3.96,3.98,4.00,4.02,4.05,3.84,4.03,3.99,3.99,3.97,
-4.06,4.00,4.05,3.93,3.97,4.10,4.05,4.11,4.09,4.12,
-4.02,3.90,4.19,4.03,4.18,4.17,4.12,4.24,4.39,3.96,
-4.13,4.11,4.16,4.09,4.03,4.34,4.04,4.32,4.35,4.13,
-4.30,4.26,4.23,4.36,4.46,4.38,4.35,4.38,4.16,4.39,
-4.33,4.37,4.45,4.63,4.39,4.38,4.61,4.36,4.50,4.48,
-4.50,4.48,4.48,4.27,4.47,4.58,4.50,4.51,4.54,4.52,
-4.47,4.43,4.51,4.53,4.58,4.55,4.60,4.82,4.49,4.71,
-4.33,4.61,4.58,4.72,4.75,4.47,4.73,4.69,4.59,4.77,
-4.61,4.86,4.97,4.88,4.60,4.65,4.79,4.85,4.74,4.95,
-4.71,4.85,4.98,4.89,4.97,4.73,4.92,4.90,4.75,4.85,
-0.89,0.94,0.97,1.04,1.03,1.09,1.07,1.13,1.16,1.18,
-1.23,1.28,1.27,1.29,1.33,1.35,1.38,1.43,1.42,1.45,
-1.47,1.54,1.59,1.57,1.54,1.61,1.57,1.67,1.64,1.60,
-1.70,1.71,1.73,1.84,1.78,1.88,1.86,1.78,1.88,1.86,
-1.90,1.87,2.03,2.02,1.98,1.99,1.97,2.05,2.02,2.10,
-2.05,2.14,2.13,2.11,2.14,2.20,2.19,2.17,2.15,2.29,
-2.33,2.29,2.25,2.27,2.14,2.30,2.32,2.36,2.37,2.34,
-2.42,2.41,2.45,2.47,2.53,2.48,2.42,2.61,2.41,2.58,
-2.48,2.57,2.54,2.58,2.56,2.59,2.55,2.68,2.74,2.80,
-2.64,2.72,2.70,2.76,2.67,2.83,2.76,2.77,2.77,2.83,
-2.82,2.78,2.81,2.89,2.91,2.84,2.99,2.89,2.89,2.95,
-2.84,2.98,2.98,2.99,3.03,3.00,3.08,3.02,3.08,3.11,
-3.04,3.01,2.92,3.00,3.19,3.22,3.25,3.18,3.14,3.17,
-3.25,3.19,3.07,3.11,3.15,3.23,3.22,3.24,3.25,3.19,
-3.29,3.23,3.43,3.36,3.32,3.26,3.42,3.48,3.37,3.24,
-3.46,3.47,3.45,3.43,3.47,3.63,3.58,3.43,3.52,3.42,
-3.44,3.60,3.48,3.65,3.70,3.49,3.54,3.43,3.69,3.65,
-3.64,3.44,3.60,3.41,3.61,3.58,3.62,3.60,3.58,3.68,
-3.71,3.63,3.75,3.82,3.63,3.59,3.64,3.63,3.80,3.67,
-3.83,3.81,3.66,3.79,3.76,3.82,3.72,3.81,3.83,3.72,
-3.87,3.93,3.80,4.05,4.04,3.82,3.97,4.11,3.88,4.05,
-4.01,3.91,3.95,4.05,3.85,3.91,4.14,4.08,3.97,3.95,
-3.93,3.97,4.22,4.05,4.01,3.99,4.19,4.19,4.13,4.11,
-4.19,4.06,4.28,4.22,4.05,4.07,4.10,4.20,4.03,4.28,
-4.36,4.40,4.11,4.21,4.23,4.35,4.27,4.28,4.49,4.12,
-4.20,4.19,4.25,4.25,4.27,4.33,4.29,4.35,4.30,4.29,
-4.45,4.39,4.42,4.44,4.43,4.35,4.26,4.42,4.36,4.49,
-4.57,4.45,4.43,4.64,4.34,4.66,4.69,4.58,4.67,4.38,
-4.53,4.71,4.61,4.50,4.62,4.49,4.70,4.69,4.67,4.67,
-0.83,0.88,0.89,0.93,0.97,1.00,1.02,1.03,1.11,1.13,
-1.13,1.22,1.15,1.20,1.25,1.28,1.27,1.35,1.41,1.40,
-1.41,1.40,1.39,1.47,1.51,1.46,1.61,1.52,1.59,1.54,
-1.57,1.60,1.66,1.63,1.69,1.71,1.68,1.74,1.73,1.76,
-1.75,1.80,1.83,1.80,1.81,1.87,1.87,1.93,1.97,1.95,
-1.86,2.02,2.01,2.03,2.02,1.96,2.10,2.00,2.09,2.04,
-2.05,2.16,2.16,2.19,2.12,2.20,2.19,2.23,2.21,2.21,
-2.24,2.20,2.27,2.21,2.39,2.32,2.35,2.43,2.36,2.41,
-2.46,2.49,2.45,2.48,2.46,2.51,2.53,2.48,2.52,2.49,
-2.58,2.58,2.48,2.64,2.59,2.58,2.51,2.61,2.64,2.46,
-2.61,2.66,2.81,2.70,2.61,2.71,2.70,2.71,2.74,2.72,
-2.71,2.78,2.69,2.92,2.81,2.90,2.84,2.73,2.90,2.88,
-2.81,2.93,2.94,2.96,2.94,2.97,2.90,2.96,3.05,2.95,
-3.03,2.95,3.09,3.03,3.09,3.03,3.02,3.03,2.98,3.20,
-3.10,3.03,3.03,3.17,3.15,3.06,3.07,3.21,3.33,3.18,
-3.19,3.11,3.28,3.17,3.11,3.14,3.27,3.17,3.27,3.40,
-3.27,3.27,3.47,3.24,3.39,3.24,3.32,3.31,3.39,3.39,
-3.32,3.41,3.45,3.39,3.47,3.43,3.51,3.47,3.35,3.64,
-3.58,3.55,3.38,3.47,3.47,3.54,3.60,3.42,3.69,3.50,
-3.61,3.44,3.52,3.71,3.47,3.74,3.54,3.60,3.66,3.57,
-3.50,3.54,3.57,3.70,3.65,3.59,3.62,3.74,3.95,3.77,
-3.65,3.55,3.72,3.72,3.68,3.66,3.80,3.93,3.89,3.79,
-3.86,3.78,3.91,3.86,3.86,3.86,3.81,3.90,3.86,3.80,
-4.09,3.90,3.91,3.82,4.01,3.80,3.91,4.03,3.93,3.98,
-4.00,4.09,4.06,4.05,4.08,4.04,4.01,4.15,4.02,4.10,
-3.97,4.00,4.22,4.14,4.12,4.08,4.15,4.00,4.18,4.13,
-4.14,4.10,4.22,4.32,4.37,4.27,4.23,4.18,4.41,4.14,
-4.28,4.16,4.30,4.24,4.32,4.19,4.23,4.18,4.22,4.40,
-4.30,4.35,4.33,4.17,4.44,4.44,4.40,4.40,4.27,4.38,
-0.77,0.80,0.86,0.87,0.91,0.94,0.98,0.95,1.00,1.07,
-1.08,1.07,1.11,1.13,1.22,1.21,1.22,1.31,1.25,1.30,
-1.30,1.33,1.36,1.37,1.34,1.46,1.47,1.51,1.43,1.49,
-1.49,1.56,1.52,1.57,1.61,1.54,1.65,1.58,1.59,1.66,
-1.70,1.74,1.75,1.75,1.66,1.77,1.75,1.84,1.76,1.82,
-1.85,1.92,1.87,1.84,1.81,1.92,1.82,1.97,1.95,1.94,
-1.93,2.03,2.01,2.10,2.00,2.07,2.04,2.03,2.06,2.13,
-2.12,2.03,2.13,2.20,2.14,2.19,2.13,2.26,2.29,2.26,
-2.17,2.33,2.29,2.22,2.23,2.28,2.46,2.36,2.39,2.32,
-2.35,2.45,2.41,2.45,2.52,2.46,2.45,2.53,2.54,2.53,
-2.43,2.49,2.45,2.54,2.53,2.60,2.48,2.56,2.62,2.47,
-2.57,2.53,2.63,2.63,2.72,2.65,2.65,2.61,2.71,2.72,
-2.71,2.71,2.78,2.71,2.75,2.72,2.73,2.74,2.78,2.68,
-2.84,2.87,2.84,2.75,2.77,2.87,3.01,2.77,2.86,2.93,
-2.82,2.93,2.82,2.94,2.94,3.00,2.92,2.91,2.95,2.95,
-3.03,3.05,3.06,2.99,3.02,3.09,2.96,3.11,3.04,3.01,
-3.04,3.03,3.07,3.08,3.17,3.18,3.21,3.18,3.04,3.24,
-3.24,3.34,3.09,3.28,3.30,3.22,3.19,3.17,3.29,3.35,
-3.29,3.26,3.12,3.31,3.25,3.36,3.31,3.35,3.13,3.28,
-3.31,3.39,3.48,3.38,3.25,3.44,3.39,3.33,3.45,3.50,
-3.53,3.42,3.52,3.53,3.56,3.39,3.53,3.44,3.38,3.56,
-3.50,3.61,3.59,3.43,3.51,3.57,3.53,3.49,3.56,3.46,
-3.55,3.58,3.63,3.62,3.53,3.71,3.67,3.62,3.75,3.72,
-3.67,3.66,3.51,3.75,3.79,3.69,3.52,3.80,3.67,3.73,
-3.77,3.74,3.90,3.64,3.89,3.68,3.81,3.66,3.75,3.83,
-3.73,3.64,3.75,3.80,3.75,3.83,3.77,3.92,3.77,3.87,
-3.86,3.83,4.05,3.73,3.81,3.76,3.90,3.81,3.89,4.02,
-3.94,4.13,3.83,3.94,3.90,3.87,3.80,4.00,3.92,3.92,
-4.10,4.18,4.00,4.00,4.08,4.12,4.09,4.04,4.08,4.11,
-0.73,0.78,0.80,0.81,0.85,0.88,0.94,0.94,0.94,1.00,
-0.99,1.01,0.99,1.07,1.08,1.12,1.16,1.18,1.23,1.16,
-1.19,1.25,1.25,1.26,1.28,1.31,1.34,1.40,1.36,1.36,
-1.39,1.40,1.42,1.48,1.51,1.52,1.48,1.50,1.55,1.57,
-1.61,1.59,1.64,1.65,1.64,1.61,1.67,1.58,1.66,1.69,
-1.74,1.67,1.75,1.80,1.81,1.76,1.78,1.77,1.84,1.84,
-1.83,1.87,1.83,1.88,1.93,1.91,1.95,1.94,1.87,1.89,
-2.06,1.99,2.01,1.98,2.06,2.01,2.03,1.98,2.04,2.12,
-2.11,2.14,2.16,2.04,2.18,2.11,2.19,2.21,2.18,2.22,
-2.21,2.22,2.29,2.30,2.31,2.31,2.32,2.28,2.29,2.34,
-2.33,2.29,2.41,2.46,2.35,2.39,2.27,2.39,2.37,2.42,
-2.43,2.39,2.43,2.38,2.41,2.48,2.60,2.38,2.52,2.49,
-2.57,2.40,2.54,2.61,2.49,2.57,2.48,2.55,2.70,2.52,
-2.69,2.55,2.66,2.63,2.61,2.75,2.64,2.77,2.70,2.77,
-2.67,2.69,2.72,2.74,2.82,2.79,2.67,2.70,2.76,2.71,
-2.79,2.78,2.73,2.77,2.77,2.89,2.74,2.79,2.86,3.04,
-2.94,2.98,3.11,3.03,2.87,2.88,2.98,2.98,2.93,3.06,
-2.93,2.98,3.06,2.97,3.12,3.03,3.10,2.98,2.94,3.00,
-3.10,3.11,3.18,3.01,3.09,3.04,3.10,3.13,3.14,3.25,
-3.13,3.22,3.17,3.18,3.16,3.25,3.31,3.23,3.23,3.13,
-3.29,3.19,3.21,3.22,3.36,3.16,3.12,3.24,3.25,3.15,
-3.36,3.46,3.35,3.23,3.29,3.18,3.34,3.26,3.42,3.28,
-3.48,3.52,3.40,3.27,3.29,3.43,3.42,3.27,3.53,3.56,
-3.39,3.42,3.48,3.44,3.43,3.38,3.40,3.40,3.52,3.40,
-3.58,3.43,3.55,3.58,3.60,3.54,3.45,3.60,3.60,3.51,
-3.49,3.55,3.46,3.65,3.52,3.72,3.79,3.67,3.55,3.56,
-3.72,3.66,3.70,3.59,3.65,3.76,3.64,3.64,3.58,3.79,
-3.67,3.70,3.68,3.67,3.71,3.69,3.52,3.52,3.80,3.87,
-3.85,3.82,3.63,3.70,3.68,3.74,3.70,3.85,3.88,3.79,
-0.67,0.71,0.78,0.78,0.82,0.81,0.82,0.87,0.90,0.92,
-0.97,0.96,0.98,0.99,1.00,1.05,1.09,1.04,1.14,1.14,
-1.17,1.20,1.18,1.17,1.23,1.24,1.21,1.26,1.28,1.26,
-1.32,1.34,1.40,1.31,1.37,1.37,1.40,1.41,1.45,1.45,
-1.53,1.52,1.50,1.54,1.52,1.53,1.54,1.57,1.51,1.62,
-1.59,1.63,1.63,1.68,1.64,1.65,1.63,1.69,1.70,1.75,
-1.67,1.74,1.72,1.82,1.84,1.79,1.77,1.79,1.80,1.87,
-1.84,1.85,1.98,1.91,1.82,1.94,1.96,1.92,1.99,1.99,
-1.94,1.96,1.94,1.98,2.02,2.01,2.05,2.08,2.06,2.03,
-2.06,2.11,2.10,2.03,2.18,2.14,2.13,2.17,2.13,2.24,
-2.12,2.19,2.22,2.18,2.27,2.23,2.26,2.23,2.29,2.35,
-2.21,2.23,2.27,2.32,2.30,2.30,2.32,2.37,2.35,2.31,
-2.26,2.38,2.30,2.34,2.31,2.42,2.38,2.43,2.42,2.42,
-2.36,2.53,2.49,2.48,2.44,2.43,2.61,2.48,2.46,2.59,
-2.50,2.55,2.44,2.58,2.63,2.57,2.62,2.59,2.61,2.51,
-2.70,2.73,2.67,2.75,2.55,2.62,2.68,2.70,2.72,2.67,
-2.70,2.80,2.66,2.63,2.75,2.69,2.63,2.80,2.77,2.81,
-2.78,2.75,2.71,2.80,2.81,2.84,2.90,2.77,2.76,2.84,
-2.88,2.84,2.91,2.88,2.95,2.91,2.78,2.92,2.95,2.88,
-2.88,2.90,2.90,3.07,2.91,3.01,2.95,2.85,3.01,2.95,
-3.00,2.93,2.90,3.11,3.02,3.07,3.07,3.08,3.03,3.10,
-3.00,3.03,3.13,2.99,3.21,3.09,3.09,3.11,3.12,3.10,
-3.05,3.16,3.20,3.17,3.14,3.15,3.17,3.08,3.11,3.25,
-3.22,3.22,3.24,3.16,3.18,3.29,3.27,3.21,3.25,3.26,
-3.33,3.18,3.23,3.29,3.29,3.21,3.28,3.20,3.32,3.40,
-3.28,3.35,3.26,3.24,3.47,3.30,3.28,3.39,3.29,3.36,
-3.40,3.39,3.41,3.37,3.34,3.40,3.45,3.30,3.61,3.48,
-3.33,3.40,3.38,3.43,3.34,3.51,3.54,3.55,3.55,3.58,
-3.51,3.54,3.49,3.76,3.48,3.56,3.62,3.59,3.51,3.60,
-0.64,0.69,0.70,0.72,0.72,0.78,0.81,0.83,0.85,0.89,
-0.89,0.91,0.90,0.93,0.94,0.98,0.99,0.99,1.04,1.03,
-1.08,1.07,1.08,1.11,1.15,1.13,1.16,1.16,1.21,1.23,
-1.26,1.27,1.24,1.35,1.32,1.28,1.37,1.33,1.32,1.35,
-1.32,1.42,1.41,1.37,1.42,1.44,1.47,1.45,1.45,1.53,
-1.52,1.55,1.57,1.56,1.56,1.55,1.54,1.57,1.66,1.62,
-1.65,1.60,1.57,1.64,1.62,1.70,1.69,1.68,1.72,1.71,
-1.71,1.82,1.66,1.76,1.83,1.80,1.83,1.73,1.81,1.83,
-1.84,1.79,1.82,1.86,1.82,1.88,1.89,1.91,1.81,1.86,
-1.96,1.92,1.99,2.04,1.91,1.97,1.93,1.94,1.99,2.04,
-2.03,2.00,2.07,2.02,2.01,2.04,2.01,2.07,2.11,2.16,
-2.08,2.10,2.11,2.13,2.03,2.12,2.14,2.19,2.26,2.10,
-2.06,2.12,2.23,2.21,2.21,2.21,2.28,2.30,2.23,2.23,
-2.34,2.26,2.41,2.32,2.37,2.30,2.37,2.32,2.37,2.23,
-2.40,2.35,2.16,2.35,2.41,2.35,2.44,2.51,2.40,2.39,
-2.51,2.54,2.44,2.44,2.43,2.47,2.63,2.50,2.56,2.48,
-2.52,2.57,2.53,2.50,2.48,2.47,2.55,2.53,2.54,2.55,
-2.55,2.55,2.64,2.59,2.53,2.58,2.66,2.55,2.53,2.49,
-2.74,2.63,2.79,2.73,2.64,2.60,2.74,2.68,2.70,2.76,
-2.67,2.69,2.70,2.67,2.63,2.72,2.78,2.72,2.71,2.87,
-2.75,2.74,2.80,2.73,2.84,2.74,2.81,2.87,2.75,2.85,
-2.81,2.93,2.70,2.77,2.90,2.85,2.78,2.89,2.82,2.97,
-2.84,2.90,2.92,2.91,3.00,2.86,2.92,2.93,3.04,2.99,
-2.82,3.06,2.94,3.01,2.99,3.07,3.13,3.07,3.00,3.06,
-3.01,3.13,3.02,3.05,3.02,3.04,3.14,3.01,3.05,3.15,
-3.05,2.93,3.03,3.09,3.19,3.03,3.24,3.11,3.10,3.05,
-3.22,3.23,3.14,3.15,3.24,3.21,3.15,3.23,3.14,3.23,
-3.37,3.31,3.13,3.16,3.09,3.21,3.29,3.30,3.22,3.35,
-3.16,3.15,3.35,3.15,3.27,3.34,3.20,3.32,3.29,3.30,
-0.58,0.61,0.64,0.67,0.67,0.68,0.73,0.75,0.79,0.77,
-0.83,0.82,0.86,0.85,0.84,0.94,0.92,0.94,0.96,0.99,
-0.97,0.97,0.99,1.02,1.04,1.06,1.08,1.09,1.10,1.15,
-1.09,1.17,1.17,1.14,1.16,1.18,1.20,1.19,1.23,1.27,
-1.27,1.24,1.35,1.28,1.29,1.31,1.33,1.33,1.39,1.35,
-1.39,1.41,1.43,1.39,1.41,1.48,1.54,1.44,1.50,1.44,
-1.44,1.51,1.51,1.61,1.56,1.56,1.56,1.55,1.61,1.66,
-1.49,1.64,1.59,1.58,1.65,1.69,1.64,1.66,1.71,1.66,
-1.78,1.78,1.68,1.70,1.70,1.77,1.72,1.73,1.82,1.78,
-1.72,1.78,1.74,1.85,1.79,1.84,1.92,1.78,1.90,1.92,
-1.90,1.90,1.85,1.84,1.91,1.93,1.93,1.93,1.86,1.90,
-1.91,1.99,2.07,2.00,2.04,2.01,1.97,2.01,2.05,2.07,
-2.04,2.07,1.95,2.01,2.03,2.14,2.10,2.07,2.13,2.17,
-2.13,2.06,2.10,2.14,2.12,2.17,2.12,2.16,2.20,2.17,
-2.19,2.19,2.26,2.26,2.25,2.25,2.27,2.33,2.21,2.31,
-2.19,2.31,2.23,2.29,2.27,2.33,2.26,2.26,2.36,2.31,
-2.33,2.30,2.41,2.32,2.24,2.38,2.35,2.30,2.48,2.41,
-2.38,2.46,2.36,2.44,2.31,2.41,2.46,2.50,2.37,2.43,
-2.45,2.48,2.51,2.51,2.51,2.49,2.53,2.45,2.51,2.44,
-2.56,2.60,2.60,2.50,2.50,2.57,2.68,2.51,2.51,2.47,
-2.60,2.65,2.59,2.68,2.56,2.60,2.61,2.68,2.59,2.69,
-2.67,2.74,2.61,2.70,2.58,2.61,2.74,2.65,2.77,2.69,
-2.72,2.70,2.59,2.67,2.68,2.72,2.72,2.77,2.77,2.79,
-2.80,2.86,2.74,2.74,2.77,2.76,2.87,2.57,2.87,2.71,
-2.84,2.85,2.85,2.71,2.83,2.80,2.81,2.87,2.76,2.90,
-2.89,2.87,2.92,2.92,2.92,2.82,2.86,2.87,3.02,2.95,
-2.87,2.95,2.81,2.91,2.89,3.00,2.85,2.91,2.97,3.04,
-2.89,2.86,2.97,3.03,2.99,2.94,3.05,2.95,3.15,2.98,
-3.16,3.18,3.09,3.05,3.20,3.24,3.07,2.98,3.06,3.08,
-0.51,0.58,0.57,0.63,0.64,0.63,0.64,0.69,0.71,0.73,
-0.76,0.78,0.76,0.77,0.88,0.82,0.80,0.86,0.88,0.91,
-0.89,0.90,0.92,0.98,0.96,1.02,0.99,1.02,1.03,1.07,
-1.07,1.05,1.09,1.12,1.10,1.13,1.10,1.11,1.19,1.17,
-1.16,1.19,1.23,1.20,1.22,1.20,1.27,1.25,1.28,1.28,
-1.33,1.31,1.30,1.31,1.33,1.31,1.38,1.38,1.27,1.41,
-1.31,1.43,1.38,1.46,1.40,1.41,1.43,1.49,1.53,1.48,
-1.52,1.44,1.44,1.52,1.47,1.60,1.55,1.55,1.53,1.61,
-1.55,1.57,1.60,1.66,1.62,1.61,1.60,1.64,1.66,1.58,
-1.71,1.67,1.68,1.74,1.71,1.68,1.76,1.75,1.72,1.69,
-1.71,1.76,1.65,1.79,1.79,1.75,1.88,1.74,1.81,1.85,
-1.77,1.83,1.87,1.91,1.86,1.83,1.87,1.81,1.89,2.00,
-1.90,1.90,1.83,1.92,1.89,2.05,1.95,1.91,1.99,1.88,
-1.94,2.01,1.98,2.03,1.97,1.96,1.96,1.98,2.09,1.95,
-2.03,2.08,2.03,2.08,1.96,2.06,2.08,2.01,2.13,2.13,
-2.11,2.14,2.11,2.13,2.10,2.11,2.14,2.17,2.08,2.19,
-2.12,2.16,2.24,2.23,2.15,2.18,2.17,2.19,2.30,2.30,
-2.22,2.29,2.09,2.34,2.22,2.18,2.31,2.26,2.35,2.24,
-2.20,2.15,2.31,2.28,2.32,2.29,2.38,2.28,2.30,2.39,
-2.34,2.39,2.38,2.35,2.32,2.31,2.43,2.41,2.44,2.40,
-2.53,2.29,2.43,2.39,2.38,2.45,2.48,2.41,2.48,2.34,
-2.45,2.33,2.52,2.50,2.57,2.51,2.52,2.47,2.46,2.48,
-2.53,2.53,2.39,2.58,2.57,2.54,2.51,2.59,2.62,2.53,
-2.50,2.62,2.58,2.51,2.55,2.56,2.55,2.56,2.63,2.72,
-2.52,2.66,2.64,2.66,2.61,2.56,2.70,2.62,2.61,2.57,
-2.61,2.66,2.69,2.75,2.70,2.59,2.77,2.64,2.70,2.75,
-2.78,2.66,2.64,2.73,2.78,2.72,2.73,2.94,2.70,2.69,
-2.79,2.65,2.79,2.80,2.78,2.70,2.78,2.84,2.73,2.77,
-2.75,2.89,2.85,2.72,2.69,3.00,2.89,2.87,2.94,2.85,
-0.49,0.52,0.53,0.58,0.59,0.60,0.61,0.65,0.63,0.68,
-0.71,0.70,0.73,0.75,0.77,0.83,0.82,0.82,0.84,0.85,
-0.85,0.85,0.86,0.92,0.89,0.92,0.94,0.93,0.94,0.95,
-0.97,0.99,1.02,1.02,1.05,1.00,1.02,1.07,1.05,1.09,
-1.12,1.12,1.09,1.09,1.16,1.17,1.20,1.16,1.18,1.18,
-1.21,1.18,1.17,1.21,1.21,1.27,1.23,1.28,1.23,1.27,
-1.26,1.31,1.31,1.31,1.32,1.39,1.31,1.38,1.38,1.38,
-1.40,1.38,1.43,1.41,1.44,1.40,1.45,1.40,1.40,1.40,
-1.47,1.43,1.48,1.44,1.48,1.45,1.49,1.47,1.50,1.49,
-1.59,1.50,1.56,1.53,1.52,1.63,1.57,1.59,1.59,1.59,
-1.58,1.57,1.65,1.64,1.64,1.61,1.61,1.68,1.68,1.65,
-1.69,1.69,1.70,1.66,1.68,1.70,1.78,1.71,1.76,1.67,
-1.77,1.75,1.79,1.81,1.77,1.77,1.79,1.83,1.78,1.78,
-1.79,1.83,1.80,1.79,1.85,1.82,1.86,1.85,1.91,1.88,
-1.91,1.89,1.88,1.95,1.86,1.87,1.97,1.96,1.99,1.96,
-1.91,1.87,1.89,2.00,1.98,1.95,1.89,1.99,2.00,1.96,
-2.04,1.94,1.97,1.96,1.99,1.95,2.04,2.05,2.03,2.07,
-2.06,2.13,2.11,2.08,2.08,2.06,2.11,2.15,2.13,2.09,
-2.04,2.15,2.09,2.17,2.14,2.09,2.13,2.23,2.20,2.27,
-2.08,2.16,2.16,2.18,2.18,2.19,2.14,2.20,2.18,2.28,
-2.27,2.22,2.22,2.31,2.28,2.24,2.25,2.27,2.24,2.20,
-2.19,2.30,2.26,2.39,2.18,2.25,2.19,2.33,2.35,2.22,
-2.31,2.43,2.41,2.36,2.38,2.37,2.38,2.33,2.48,2.34,
-2.41,2.40,2.44,2.44,2.41,2.32,2.37,2.49,2.38,2.31,
-2.52,2.42,2.43,2.48,2.42,2.41,2.43,2.49,2.41,2.51,
-2.43,2.53,2.47,2.50,2.42,2.52,2.56,2.36,2.58,2.66,
-2.59,2.46,2.60,2.57,2.53,2.47,2.61,2.56,2.56,2.44,
-2.51,2.64,2.59,2.62,2.53,2.68,2.57,2.53,2.59,2.67,
-2.44,2.51,2.58,2.53,2.70,2.48,2.73,2.63,2.61,2.59,
-1.15,1.19,1.24,1.28,1.36,1.45,1.44,1.48,1.53,1.59,
-1.59,1.54,1.68,1.67,1.73,1.81,1.80,1.79,1.82,1.94,
-1.98,1.93,2.00,2.01,2.15,2.07,2.10,2.07,2.13,2.14,
-2.20,2.26,2.15,2.34,2.32,2.27,2.35,2.30,2.44,2.42,
-2.57,2.50,2.54,2.53,2.56,2.60,2.61,2.69,2.60,2.64,
-2.76,2.72,2.78,2.70,2.78,2.85,2.89,2.71,2.92,2.78,
-2.84,2.97,2.92,3.04,2.97,2.89,2.96,3.15,3.07,3.08,
-3.22,3.13,3.10,3.16,3.08,3.32,3.18,3.05,3.16,3.34,
-3.22,3.38,3.35,3.32,3.28,3.38,3.47,3.35,3.42,3.27,
-3.46,3.47,3.60,3.44,3.53,3.45,3.53,3.44,3.56,3.59,
-3.75,3.62,3.61,3.70,3.72,3.73,3.74,3.76,3.78,3.71,
-3.90,3.82,3.83,3.92,3.73,3.83,3.85,4.04,3.97,3.89,
-3.82,3.97,4.02,3.86,3.93,4.01,4.10,3.89,4.07,4.11,
-3.92,3.88,4.12,4.17,4.25,4.30,4.16,4.21,4.21,4.04,
-4.23,4.15,4.29,4.27,4.13,4.24,4.39,4.19,4.14,4.52,
-4.42,4.40,4.42,4.63,4.36,4.31,4.52,4.61,4.53,4.46,
-4.56,4.66,4.53,4.50,4.34,4.35,4.53,4.44,4.73,4.80,
-4.42,4.57,4.62,4.66,4.56,4.70,4.61,4.79,4.71,4.55,
-4.66,4.93,4.84,4.68,4.89,4.52,4.86,4.67,4.78,4.77,
-4.78,5.06,4.85,5.01,4.70,5.17,4.93,4.93,5.04,4.94,
-5.20,5.10,4.84,5.16,5.17,5.10,5.15,5.04,4.98,5.22,
-5.05,5.10,4.92,5.11,5.27,5.22,5.09,5.19,5.27,5.27,
-5.15,5.00,5.09,5.21,5.24,5.38,5.34,5.34,5.39,5.33,
-5.29,5.30,5.24,5.16,5.09,5.34,5.50,5.39,5.72,5.47,
-5.49,5.43,5.34,5.22,5.28,5.50,5.58,5.46,5.61,5.52,
-5.45,5.39,5.78,5.47,5.49,5.65,5.71,5.61,5.49,5.76,
-5.82,5.57,5.50,5.73,5.70,5.59,5.51,5.78,5.65,5.43,
-5.82,5.86,5.90,5.62,5.91,5.83,5.87,5.69,5.91,5.65,
-5.83,5.81,5.93,5.93,5.94,5.80,5.91,5.84,5.84,6.01,
-1.13,1.16,1.22,1.24,1.29,1.31,1.38,1.39,1.49,1.54,
-1.55,1.55,1.58,1.65,1.64,1.72,1.74,1.68,1.71,1.78,
-1.84,1.93,1.93,1.89,1.98,2.02,2.01,2.08,1.99,2.08,
-2.09,2.12,2.25,2.16,2.29,2.28,2.25,2.30,2.47,2.35,
-2.35,2.34,2.39,2.44,2.45,2.57,2.55,2.54,2.53,2.59,
-2.68,2.65,2.63,2.59,2.68,2.70,2.74,2.72,2.81,2.78,
-2.78,2.87,2.81,2.88,2.85,2.81,3.00,2.87,3.10,3.01,
-2.94,3.06,3.00,3.10,3.01,3.18,3.22,3.23,3.18,3.22,
-3.12,3.18,3.21,3.24,3.24,3.33,3.25,3.20,3.27,3.44,
-3.27,3.37,3.48,3.47,3.44,3.65,3.45,3.54,3.48,3.51,
-3.53,3.41,3.43,3.49,3.50,3.58,3.47,3.61,3.51,3.66,
-3.50,3.66,3.64,3.72,3.76,3.78,3.76,3.76,3.74,3.75,
-4.07,3.90,3.83,3.88,3.92,3.77,3.87,4.02,3.95,4.00,
-3.96,3.97,4.10,4.00,4.07,3.89,4.14,3.93,3.98,4.11,
-4.13,4.26,4.22,4.09,4.12,4.14,4.28,4.24,4.16,4.24,
-4.18,4.15,4.37,4.31,4.31,4.30,4.25,4.22,4.36,4.39,
-4.22,4.57,4.25,4.32,4.40,4.49,4.59,4.53,4.49,4.48,
-4.32,4.41,4.63,4.50,4.50,4.67,4.61,4.56,4.49,4.55,
-4.71,4.44,4.71,4.66,4.39,4.51,4.81,4.88,4.77,4.79,
-4.83,4.62,4.95,4.81,4.56,4.63,4.88,4.79,4.77,4.78,
-4.78,4.98,4.85,4.99,4.89,4.86,5.16,4.76,5.02,5.04,
-4.99,4.94,4.97,5.13,5.04,4.92,5.07,4.97,5.06,4.86,
-5.24,5.37,5.12,5.05,5.31,5.23,5.09,5.14,5.24,5.25,
-5.31,5.37,5.09,5.16,5.33,5.24,5.33,5.19,5.64,5.29,
-5.41,5.60,5.22,5.37,5.37,5.08,5.40,5.27,5.37,5.48,
-5.22,5.48,5.56,5.34,5.45,5.31,5.14,5.50,5.56,5.45,
-5.44,5.41,5.25,5.49,5.31,5.47,5.64,5.51,5.62,5.37,
-5.74,5.58,5.65,5.62,5.88,5.82,5.65,5.61,6.01,5.55,
-5.62,5.90,5.81,5.49,5.52,5.65,5.89,5.73,5.90,5.94,
-1.06,1.11,1.14,1.21,1.26,1.31,1.37,1.34,1.39,1.43,
-1.51,1.45,1.58,1.51,1.65,1.64,1.72,1.74,1.69,1.72,
-1.82,1.86,1.92,1.87,1.98,1.97,2.03,1.91,1.97,2.03,
-2.09,2.05,2.19,2.25,2.10,2.18,2.18,2.25,2.17,2.31,
-2.37,2.36,2.31,2.35,2.48,2.42,2.41,2.45,2.51,2.56,
-2.58,2.45,2.62,2.62,2.63,2.70,2.64,2.77,2.76,2.64,
-2.72,2.64,2.78,2.76,2.90,2.78,2.91,2.93,2.90,2.88,
-2.87,2.93,3.02,2.85,2.95,3.03,2.99,2.84,3.04,3.10,
-3.09,3.07,3.17,3.14,3.14,3.16,3.09,3.22,3.30,3.20,
-3.18,3.16,3.34,3.31,3.28,3.38,3.29,3.31,3.34,3.30,
-3.42,3.53,3.44,3.43,3.42,3.49,3.57,3.55,3.48,3.41,
-3.55,3.53,3.54,3.59,3.62,3.70,3.63,3.60,3.73,3.58,
-3.58,3.58,3.71,3.65,3.76,3.82,3.69,3.78,3.65,3.84,
-4.06,3.92,3.78,3.91,3.70,4.00,3.79,3.80,4.03,3.89,
-4.00,4.07,4.04,3.98,3.97,3.93,4.08,4.01,3.93,4.16,
-4.15,4.04,4.08,4.20,4.15,4.12,4.15,4.10,4.18,4.20,
-4.36,4.33,4.18,4.21,4.34,4.19,4.19,4.15,4.45,4.33,
-4.31,4.33,4.20,4.36,4.47,4.37,4.28,4.39,4.33,4.39,
-4.48,4.61,4.41,4.67,4.60,4.47,4.55,4.74,4.61,4.35,
-4.39,4.44,4.76,4.64,4.54,4.74,4.76,4.60,4.86,4.92,
-4.76,4.71,4.45,4.67,4.96,4.73,4.85,4.89,4.76,4.49,
-4.98,4.78,4.75,4.95,4.94,4.83,4.76,4.79,4.93,4.92,
-4.79,4.89,4.90,4.97,4.90,4.92,4.96,5.06,4.95,5.04,
-4.97,5.14,4.93,5.25,5.18,5.26,5.00,5.21,4.90,5.17,
-5.14,5.21,5.01,5.04,5.12,5.14,5.14,5.19,5.26,5.24,
-5.23,5.21,5.42,5.16,5.25,5.23,5.23,5.29,5.49,5.34,
-5.29,5.22,5.48,5.28,5.40,5.27,5.70,5.55,5.31,5.57,
-5.33,5.59,5.30,5.45,5.57,5.35,5.29,5.27,5.35,5.52,
-5.45,5.52,5.51,5.50,5.63,5.73,5.47,5.92,5.55,5.45,
-1.05,1.07,1.14,1.18,1.22,1.24,1.28,1.30,1.40,1.39,
-1.43,1.51,1.48,1.46,1.56,1.58,1.67,1.69,1.72,1.67,
-1.73,1.78,1.77,1.83,1.83,1.83,1.94,1.92,2.02,1.92,
-2.03,2.00,2.04,2.09,2.22,2.04,2.23,2.12,2.25,2.20,
-2.29,2.33,2.27,2.24,2.23,2.32,2.38,2.40,2.37,2.40,
-2.43,2.48,2.52,2.41,2.65,2.62,2.61,2.60,2.58,2.61,
-2.68,2.66,2.63,2.72,2.63,2.64,2.69,2.71,2.78,2.89,
-2.78,2.93,2.78,2.97,2.98,2.99,2.91,2.93,2.98,2.93,
-2.95,3.13,3.01,3.07,3.06,2.98,2.98,3.16,3.15,3.10,
-3.17,3.16,3.31,3.31,3.25,3.19,3.25,3.23,3.22,3.23,
-3.25,3.23,3.34,3.22,3.43,3.35,3.36,3.43,3.39,3.43,
-3.38,3.58,3.56,3.46,3.54,3.35,3.50,3.46,3.46,3.63,
-3.56,3.56,3.61,3.66,3.55,3.67,3.68,3.75,3.76,3.71,
-3.74,3.73,3.75,3.62,3.75,3.92,3.77,3.84,3.98,3.83,
-3.86,3.93,3.84,3.81,3.84,3.96,3.74,3.98,3.93,4.14,
-3.89,3.99,3.97,4.07,4.25,4.10,3.95,4.03,3.91,4.04,
-4.08,4.08,4.06,4.23,4.21,4.31,3.94,4.14,4.15,4.19,
-4.24,4.21,4.21,4.36,4.01,4.48,4.29,4.22,4.50,4.30,
-4.27,4.39,4.41,4.51,4.26,4.30,4.49,4.33,4.43,4.62,
-4.29,4.42,4.60,4.30,4.55,4.62,4.53,4.53,4.53,4.66,
-4.55,4.44,4.53,4.59,4.62,4.45,4.69,4.60,4.47,4.64,
-4.75,4.50,4.82,4.82,4.68,4.65,4.79,4.82,4.55,4.77,
-4.45,4.78,4.66,4.72,4.75,4.70,4.85,4.57,4.85,4.94,
-4.90,4.89,4.64,4.72,4.81,4.90,4.85,5.06,4.85,4.80,
-5.07,4.97,5.08,5.12,4.88,5.07,5.01,4.98,4.90,5.21,
-4.95,4.90,5.04,5.29,5.01,5.25,5.43,5.31,5.04,5.01,
-5.27,5.43,5.04,5.25,5.15,5.12,5.07,5.15,5.14,5.14,
-5.41,5.15,5.25,5.54,5.29,5.36,5.33,5.43,5.11,5.33,
-5.29,5.27,5.39,5.22,5.33,5.12,5.40,5.40,5.56,5.28,
-0.98,1.02,1.06,1.14,1.21,1.20,1.22,1.32,1.33,1.33,
-1.39,1.40,1.46,1.45,1.50,1.56,1.60,1.62,1.61,1.65,
-1.64,1.75,1.75,1.72,1.75,1.76,1.85,1.88,1.82,1.87,
-1.96,1.95,1.97,1.98,1.97,2.05,2.07,2.05,2.06,2.14,
-2.19,2.19,2.24,2.30,2.30,2.32,2.21,2.21,2.23,2.27,
-2.32,2.33,2.44,2.33,2.40,2.31,2.54,2.46,2.48,2.47,
-2.54,2.55,2.61,2.54,2.51,2.70,2.69,2.62,2.64,2.64,
-2.72,2.77,2.72,2.67,2.69,2.80,2.89,2.84,2.82,2.80,
-2.88,2.90,2.82,2.95,2.98,3.04,2.94,3.12,3.00,3.06,
-3.01,3.05,3.03,3.02,3.11,3.04,3.11,3.13,3.13,3.19,
-3.11,3.16,3.23,3.19,3.27,3.31,3.13,3.30,3.31,3.37,
-3.18,3.40,3.36,3.22,3.39,3.31,3.51,3.40,3.31,3.42,
-3.35,3.46,3.65,3.48,3.57,3.49,3.53,3.45,3.44,3.46,
-3.43,3.47,3.62,3.68,3.55,3.66,3.63,3.72,3.61,3.63,
-3.63,3.68,3.70,3.75,3.54,3.86,3.71,3.75,3.65,3.69,
-3.94,3.66,3.86,3.78,3.80,3.81,4.04,3.90,3.89,3.82,
-3.84,4.03,3.92,3.96,3.91,3.83,3.83,4.06,3.93,3.87,
-4.14,3.95,4.24,4.10,4.19,4.20,4.29,4.08,4.04,4.26,
-4.24,4.24,4.03,4.27,4.26,4.24,4.32,4.26,4.36,4.26,
-4.26,4.41,4.36,4.22,4.35,4.25,4.35,4.20,4.36,4.20,
-4.43,4.54,4.40,4.33,4.50,4.30,4.53,4.39,4.39,4.28,
-4.56,4.50,4.60,4.53,4.59,4.54,4.41,4.64,4.58,4.62,
-4.68,4.65,4.68,4.63,4.50,4.52,4.68,4.65,4.51,4.62,
-4.58,4.69,4.70,4.79,4.76,4.88,4.69,4.63,4.72,4.74,
-4.70,4.73,4.64,4.61,4.72,4.75,4.73,4.81,4.87,4.77,
-4.89,4.78,4.65,4.69,4.93,5.01,4.82,4.85,4.99,4.94,
-4.80,4.82,4.91,4.86,4.93,5.05,4.90,5.04,5.01,4.89,
-5.00,5.10,4.86,5.03,5.09,5.05,5.14,5.03,4.99,5.01,
-5.11,5.12,5.03,5.02,5.11,5.19,4.98,5.28,5.20,4.99,
-0.92,0.94,1.02,1.08,1.10,1.18,1.16,1.22,1.26,1.31,
-1.30,1.33,1.40,1.41,1.49,1.44,1.49,1.49,1.48,1.56,
-1.57,1.65,1.64,1.71,1.67,1.71,1.77,1.75,1.79,1.84,
-1.88,1.92,1.88,1.85,1.85,1.99,1.93,2.05,2.11,2.08,
-2.02,2.03,2.14,2.13,2.17,2.23,2.20,2.20,2.18,2.17,
-2.28,2.23,2.38,2.30,2.27,2.35,2.33,2.31,2.40,2.44,
-2.40,2.48,2.48,2.55,2.46,2.44,2.60,2.44,2.63,2.55,
-2.58,2.70,2.65,2.61,2.65,2.68,2.66,2.65,2.78,2.73,
-2.79,2.76,2.80,2.75,2.77,2.72,2.83,2.78,2.93,2.99,
-2.84,2.92,3.00,2.88,3.04,2.95,3.05,3.00,3.00,2.95,
-3.02,3.15,3.14,3.05,3.04,3.17,3.16,2.95,3.13,3.07,
-3.12,3.27,3.13,3.27,3.33,3.27,3.30,3.15,3.15,3.39,
-3.24,3.20,3.26,3.47,3.36,3.35,3.39,3.51,3.37,3.41,
-3.38,3.34,3.33,3.29,3.46,3.46,3.40,3.54,3.44,3.60,
-3.55,3.57,3.48,3.61,3.59,3.55,3.61,3.54,3.51,3.64,
-3.75,3.62,3.71,3.64,3.65,3.78,3.68,3.69,3.75,3.78,
-3.72,3.77,3.91,3.79,3.92,3.81,3.85,3.65,3.89,3.96,
-3.83,3.81,3.89,3.90,3.87,3.85,3.90,3.95,3.97,3.98,
-3.90,3.81,4.06,3.85,4.24,4.04,4.12,4.05,3.96,4.15,
-4.02,3.90,4.09,4.12,4.23,4.23,4.15,4.22,4.06,4.38,
-4.18,4.37,4.20,4.32,4.22,4.32,4.19,4.13,4.18,4.16,
-4.37,4.28,4.30,4.36,4.29,4.34,4.42,4.47,4.26,4.29,
-4.50,4.29,4.32,4.34,4.27,4.52,4.40,4.39,4.50,4.48,
-4.29,4.33,4.36,4.40,4.58,4.42,4.39,4.57,4.51,4.43,
-4.49,4.62,4.60,4.70,4.64,4.58,4.62,4.75,4.77,4.46,
-4.65,4.57,4.54,4.55,4.85,4.68,4.69,4.45,4.76,4.65,
-4.73,4.79,4.63,4.96,4.92,4.90,4.72,4.79,4.93,4.92,
-4.71,4.78,5.03,4.79,4.86,4.74,4.90,4.99,4.89,4.92,
-4.92,4.85,4.96,5.01,4.66,5.01,4.95,5.05,5.09,4.92,
-0.93,0.94,0.98,1.03,1.09,1.11,1.09,1.16,1.19,1.20,
-1.31,1.31,1.35,1.35,1.38,1.40,1.40,1.50,1.44,1.47,
-1.54,1.51,1.57,1.60,1.64,1.64,1.74,1.68,1.73,1.76,
-1.77,1.79,1.83,1.81,1.81,1.84,1.97,1.95,1.95,1.92,
-1.94,1.96,2.01,2.02,2.04,2.07,2.05,2.07,2.09,2.05,
-2.21,2.23,2.17,2.21,2.15,2.25,2.18,2.20,2.22,2.36,
-2.21,2.31,2.24,2.44,2.37,2.35,2.23,2.44,2.40,2.39,
-2.49,2.46,2.42,2.47,2.57,2.47,2.67,2.55,2.60,2.56,
-2.61,2.58,2.60,2.61,2.74,2.78,2.73,2.70,2.72,2.70,
-2.79,2.73,2.85,2.79,2.81,2.80,2.78,2.96,2.83,2.79,
-2.87,2.96,2.94,2.97,2.99,2.95,3.00,2.97,3.14,3.02,
-3.10,3.17,2.91,3.01,2.96,3.13,3.26,3.09,2.99,3.11,
-3.04,3.18,3.19,3.23,3.17,3.28,3.10,3.26,3.13,3.28,
-3.38,3.27,3.26,3.30,3.22,3.39,3.19,3.39,3.34,3.34,
-3.33,3.48,3.37,3.34,3.46,3.40,3.30,3.50,3.46,3.43,
-3.39,3.45,3.46,3.56,3.54,3.39,3.61,3.41,3.46,3.61,
-3.54,3.77,3.58,3.67,3.65,3.62,3.72,3.58,3.56,3.77,
-3.78,3.59,3.87,3.73,3.72,3.70,3.71,3.65,3.87,3.79,
-3.89,3.76,3.94,3.86,3.77,3.88,3.84,3.87,3.74,3.89,
-3.80,3.81,3.83,3.89,3.97,4.02,3.96,3.98,4.06,3.98,
-3.99,3.87,4.20,3.86,3.95,4.01,3.88,3.98,4.05,4.12,
-4.07,4.09,4.12,4.10,4.26,4.18,4.12,4.03,4.04,4.14,
-4.18,4.21,4.17,4.16,4.15,4.32,4.19,4.37,4.26,4.22,
-4.27,4.29,4.35,4.33,4.31,4.10,4.09,4.41,4.33,4.39,
-4.12,4.43,4.55,4.47,4.54,4.37,4.32,4.42,4.47,4.38,
-4.40,4.41,4.45,4.37,4.53,4.34,4.38,4.46,4.62,4.51,
-4.54,4.36,4.70,4.59,4.53,4.46,4.65,4.68,4.57,4.65,
-4.50,4.36,4.54,4.73,4.62,4.55,4.59,4.73,4.77,4.91,
-4.73,4.60,4.65,4.75,4.60,4.68,4.78,4.91,4.79,4.70,
-0.87,0.96,0.91,0.93,0.99,1.04,1.09,1.14,1.17,1.19,
-1.22,1.19,1.22,1.24,1.29,1.36,1.34,1.39,1.43,1.43,
-1.43,1.41,1.51,1.55,1.50,1.59,1.66,1.67,1.61,1.58,
-1.64,1.70,1.67,1.69,1.69,1.68,1.79,1.76,1.80,1.91,
-1.84,2.01,1.99,1.94,1.87,1.95,1.95,1.92,2.04,1.99,
-2.01,2.07,2.01,2.04,2.12,2.11,2.08,2.16,2.07,2.20,
-2.28,2.20,2.15,2.24,2.28,2.38,2.36,2.32,2.25,2.30,
-2.35,2.30,2.35,2.29,2.37,2.51,2.44,2.41,2.49,2.47,
-2.40,2.42,2.48,2.51,2.60,2.44,2.54,2.59,2.59,2.58,
-2.62,2.58,2.73,2.69,2.65,2.73,2.62,2.71,2.72,2.70,
-2.67,2.72,2.71,2.85,2.79,2.71,2.66,2.84,2.81,2.88,
-2.74,2.91,2.94,2.92,2.84,3.00,2.90,2.84,2.88,2.91,
-2.98,3.03,3.08,3.12,3.02,2.99,3.04,3.09,3.13,3.04,
-3.15,3.07,3.15,3.11,3.06,3.16,3.02,3.35,3.12,3.13,
-3.11,3.26,3.17,3.27,3.18,3.31,3.24,3.24,3.25,3.24,
-3.30,3.29,3.26,3.50,3.39,3.42,3.30,3.42,3.36,3.40,
-3.41,3.51,3.45,3.50,3.38,3.34,3.54,3.59,3.55,3.40,
-3.57,3.52,3.52,3.55,3.56,3.63,3.70,3.62,3.71,3.64,
-3.48,3.55,3.69,3.74,3.69,3.57,3.61,3.56,3.47,3.66,
-3.74,3.80,3.75,3.80,3.68,3.84,3.69,3.68,3.70,3.81,
-3.64,3.77,3.92,3.89,3.84,3.87,3.97,3.84,3.95,3.91,
-3.74,4.05,3.86,3.92,3.84,4.01,3.95,4.06,4.01,4.02,
-3.92,4.06,4.03,3.91,3.99,3.90,3.86,4.05,3.91,4.17,
-4.11,4.14,4.18,4.02,4.06,3.98,4.04,4.11,4.22,4.04,
-4.12,4.12,4.07,4.19,4.09,4.28,4.28,4.16,3.94,4.16,
-4.26,4.28,4.10,4.30,4.13,3.97,4.13,4.35,4.36,4.41,
-4.13,4.42,4.30,4.29,4.21,4.36,4.29,4.27,4.45,4.24,
-4.47,4.22,4.51,4.57,4.49,4.37,4.43,4.37,4.46,4.57,
-4.40,4.33,4.48,4.34,4.39,4.52,4.35,4.51,4.59,4.49,
-0.82,0.85,0.88,0.91,0.96,1.03,1.00,1.07,1.10,1.10,
-1.14,1.13,1.19,1.18,1.28,1.28,1.26,1.32,1.39,1.38,
-1.42,1.38,1.39,1.47,1.50,1.41,1.46,1.48,1.57,1.58,
-1.56,1.56,1.67,1.63,1.70,1.62,1.63,1.75,1.69,1.73,
-1.69,1.78,1.80,1.86,1.86,1.94,1.83,1.86,1.88,1.83,
-1.91,1.94,1.96,1.92,2.05,2.01,1.97,2.07,1.96,2.04,
-2.11,2.07,2.06,2.12,2.14,2.12,2.14,2.21,2.23,2.22,
-2.24,2.24,2.18,2.21,2.19,2.33,2.26,2.38,2.31,2.34,
-2.31,2.37,2.28,2.34,2.37,2.30,2.46,2.47,2.47,2.32,
-2.55,2.46,2.50,2.55,2.47,2.49,2.52,2.46,2.53,2.62,
-2.70,2.67,2.61,2.62,2.64,2.58,2.58,2.68,2.69,2.62,
-2.79,2.69,2.69,2.72,2.87,2.77,2.77,2.81,2.78,2.76,
-2.77,2.79,2.96,2.84,2.82,2.92,2.93,2.87,2.91,2.94,
-2.89,2.92,2.99,2.84,2.85,2.97,3.10,2.85,3.09,2.92,
-2.94,3.08,3.05,3.08,3.07,3.10,3.06,3.09,3.14,3.05,
-3.06,3.12,3.13,3.11,3.00,3.28,3.16,3.21,3.27,3.16,
-3.16,3.21,3.18,3.18,3.25,3.13,3.25,3.34,3.20,3.18,
-3.38,3.45,3.45,3.32,3.27,3.36,3.31,3.39,3.36,3.32,
-3.31,3.36,3.41,3.38,3.46,3.46,3.41,3.51,3.38,3.46,
-3.53,3.48,3.44,3.55,3.62,3.55,3.67,3.44,3.50,3.63,
-3.66,3.56,3.45,3.62,3.71,3.58,3.59,3.65,3.59,3.61,
-3.65,3.60,3.62,3.73,3.65,3.67,3.60,3.67,3.83,3.65,
-3.84,3.79,3.78,3.70,3.79,3.78,3.80,3.67,3.93,3.73,
-3.92,3.72,3.72,3.78,3.82,3.79,4.05,3.93,3.92,3.91,
-3.96,3.73,3.84,3.88,3.88,4.11,3.89,3.95,3.85,3.94,
-4.06,3.98,3.99,4.04,4.16,4.04,4.07,4.05,4.04,3.92,
-4.15,4.05,4.10,4.18,4.15,4.15,4.07,4.04,3.95,3.93,
-4.07,4.13,4.02,4.14,4.14,4.20,4.15,4.37,4.11,4.17,
-4.16,4.23,4.17,4.14,4.18,4.26,4.40,4.44,4.29,4.11,
-0.74,0.81,0.83,0.85,0.89,0.90,0.92,0.98,1.01,1.07,
-1.08,1.06,1.11,1.13,1.17,1.18,1.14,1.25,1.23,1.25,
-1.31,1.34,1.33,1.35,1.36,1.36,1.42,1.43,1.41,1.48,
-1.41,1.53,1.49,1.51,1.55,1.54,1.58,1.57,1.55,1.66,
-1.65,1.65,1.70,1.68,1.71,1.74,1.72,1.76,1.73,1.77,
-1.83,1.81,1.83,1.87,1.87,1.93,1.99,1.89,1.96,1.89,
-1.96,1.97,1.98,2.01,1.99,2.04,2.05,2.08,2.03,2.07,
-2.13,2.06,2.03,2.17,2.13,2.19,2.22,2.27,2.11,2.19,
-2.24,2.29,2.22,2.23,2.17,2.24,2.22,2.26,2.31,2.34,
-2.34,2.35,2.43,2.46,2.41,2.36,2.40,2.40,2.46,2.47,
-2.46,2.44,2.51,2.47,2.50,2.45,2.51,2.46,2.52,2.52,
-2.53,2.62,2.63,2.54,2.56,2.55,2.61,2.63,2.62,2.67,
-2.65,2.70,2.78,2.66,2.64,2.69,2.67,2.70,2.71,2.78,
-2.71,2.77,2.74,2.86,2.89,2.83,2.84,2.86,2.91,2.80,
-3.03,2.74,3.06,2.90,2.97,2.89,3.05,2.97,3.07,2.83,
-2.95,2.91,2.93,3.06,3.03,2.95,2.99,3.00,3.02,3.05,
-3.00,2.88,3.04,2.95,3.08,3.11,3.05,3.07,3.03,3.04,
-3.13,3.17,3.36,3.20,3.18,3.15,3.16,3.25,3.20,3.20,
-3.11,3.32,3.31,3.27,3.13,3.16,3.23,3.47,3.22,3.23,
-3.24,3.27,3.29,3.49,3.34,3.38,3.35,3.27,3.51,3.34,
-3.45,3.28,3.37,3.40,3.35,3.30,3.42,3.36,3.44,3.30,
-3.38,3.57,3.48,3.56,3.35,3.51,3.52,3.58,3.61,3.52,
-3.49,3.47,3.52,3.46,3.61,3.51,3.62,3.66,3.72,3.74,
-3.65,3.75,3.61,3.61,3.66,3.70,3.64,3.58,3.60,3.73,
-3.69,3.67,3.80,3.64,3.79,3.67,3.71,3.83,3.92,3.70,
-3.82,3.72,3.75,3.89,3.58,3.86,3.84,3.85,3.83,3.79,
-3.90,3.83,3.72,3.83,3.75,3.69,3.83,3.75,4.01,3.88,
-3.91,3.98,3.87,4.00,3.97,3.91,3.99,3.96,4.03,4.02,
-3.87,3.84,4.08,3.99,3.89,4.03,3.87,3.97,4.06,3.90,
-0.73,0.75,0.80,0.82,0.86,0.86,0.89,0.95,0.95,0.99,
-1.02,1.00,1.02,1.07,1.09,1.11,1.14,1.16,1.13,1.20,
-1.25,1.21,1.26,1.27,1.29,1.34,1.38,1.28,1.36,1.33,
-1.44,1.44,1.45,1.41,1.43,1.47,1.46,1.52,1.49,1.56,
-1.52,1.55,1.54,1.59,1.64,1.58,1.68,1.63,1.65,1.62,
-1.77,1.74,1.76,1.70,1.74,1.75,1.84,1.83,1.76,1.83,
-1.82,1.81,1.88,1.93,1.89,1.86,1.91,1.87,1.93,1.93,
-2.01,1.93,2.03,1.93,1.95,2.04,1.99,2.04,2.02,2.04,
-2.14,2.10,2.08,2.03,2.15,2.04,2.17,2.19,2.10,2.31,
-2.23,2.20,2.20,2.23,2.28,2.34,2.29,2.30,2.32,2.20,
-2.22,2.35,2.31,2.31,2.24,2.39,2.35,2.37,2.36,2.36,
-2.42,2.41,2.45,2.43,2.45,2.51,2.48,2.45,2.44,2.53,
-2.45,2.62,2.57,2.43,2.53,2.49,2.54,2.58,2.50,2.62,
-2.58,2.70,2.57,2.53,2.65,2.64,2.67,2.66,2.69,2.73,
-2.69,2.81,2.71,2.66,2.75,2.67,2.79,2.66,2.77,2.74,
-2.77,2.79,2.80,2.81,2.76,2.84,2.81,2.89,2.74,2.87,
-2.91,2.82,2.81,2.90,2.83,3.04,2.93,2.79,3.01,2.99,
-3.01,2.96,2.97,2.95,2.96,2.90,3.06,2.98,2.90,2.93,
-3.08,3.10,3.13,3.09,3.03,3.08,3.05,3.04,2.97,3.02,
-3.06,3.11,3.12,3.27,3.11,3.16,3.30,3.15,3.13,3.17,
-2.99,3.14,3.15,3.30,3.20,3.16,3.10,3.26,3.21,3.18,
-3.24,3.21,3.32,3.34,3.20,3.27,3.21,3.27,3.31,3.25,
-3.39,3.28,3.23,3.44,3.19,3.34,3.47,3.35,3.47,3.28,
-3.53,3.29,3.34,3.31,3.53,3.37,3.37,3.35,3.41,3.43,
-3.55,3.42,3.56,3.45,3.57,3.48,3.48,3.41,3.42,3.54,
-3.49,3.52,3.59,3.47,3.63,3.57,3.62,3.63,3.54,3.76,
-3.60,3.69,3.59,3.59,3.61,3.65,3.77,3.55,3.81,3.60,
-3.68,3.69,3.74,3.75,3.79,3.64,3.76,3.75,3.83,3.64,
-3.82,3.58,3.91,3.89,3.75,3.55,3.87,3.79,3.75,3.86,
-0.71,0.72,0.75,0.76,0.79,0.77,0.86,0.88,0.89,0.91,
-0.96,0.93,0.97,0.98,1.07,1.06,1.05,1.11,1.07,1.10,
-1.13,1.19,1.22,1.24,1.20,1.24,1.30,1.23,1.33,1.26,
-1.34,1.36,1.33,1.31,1.38,1.36,1.40,1.45,1.48,1.43,
-1.43,1.50,1.50,1.53,1.53,1.50,1.55,1.59,1.58,1.61,
-1.65,1.63,1.63,1.64,1.66,1.64,1.68,1.71,1.70,1.76,
-1.73,1.73,1.73,1.72,1.74,1.72,1.80,1.81,1.74,1.87,
-1.87,1.88,1.83,1.87,1.90,1.95,1.91,1.89,1.92,1.93,
-1.95,2.01,1.90,1.96,1.93,1.92,2.03,2.04,2.06,2.09,
-2.05,2.09,2.03,2.05,2.00,2.14,2.15,2.17,2.12,2.15,
-2.22,2.26,2.19,2.18,2.20,2.17,2.26,2.20,2.28,2.24,
-2.22,2.22,2.30,2.27,2.33,2.30,2.32,2.33,2.20,2.37,
-2.26,2.37,2.42,2.37,2.40,2.37,2.39,2.34,2.45,2.42,
-2.45,2.49,2.58,2.45,2.44,2.45,2.57,2.43,2.42,2.45,
-2.45,2.51,2.51,2.48,2.59,2.52,2.54,2.62,2.56,2.61,
-2.54,2.55,2.57,2.74,2.64,2.59,2.65,2.71,2.67,2.63,
-2.68,2.63,2.71,2.62,2.74,2.78,2.80,2.74,2.66,2.73,
-2.71,2.75,2.85,2.81,2.70,2.77,2.79,2.85,2.85,2.85,
-2.80,2.86,2.84,2.82,2.87,2.79,2.86,2.71,2.92,3.00,
-2.90,2.93,2.88,2.94,2.85,3.00,2.86,2.97,3.03,2.95,
-2.92,2.98,2.97,2.95,2.99,3.07,2.93,3.05,2.90,3.08,
-3.10,3.04,3.11,3.02,3.18,3.00,3.18,3.09,3.10,3.08,
-3.16,3.23,3.16,3.26,3.17,3.22,3.20,3.06,3.27,3.12,
-3.11,3.24,3.26,3.25,3.30,3.21,3.31,3.23,3.19,3.25,
-3.18,3.26,3.36,3.18,3.19,3.23,3.31,3.37,3.23,3.30,
-3.29,3.23,3.28,3.29,3.37,3.28,3.37,3.17,3.41,3.47,
-3.32,3.36,3.40,3.43,3.40,3.38,3.24,3.47,3.54,3.50,
-3.51,3.40,3.47,3.44,3.46,3.38,3.43,3.49,3.42,3.49,
-3.55,3.54,3.55,3.63,3.51,3.64,3.52,3.69,3.46,3.50,
-0.64,0.65,0.71,0.75,0.74,0.76,0.80,0.81,0.86,0.88,
-0.85,0.89,0.90,0.94,0.96,0.98,1.01,1.00,1.04,1.02,
-1.10,1.05,1.09,1.15,1.13,1.14,1.15,1.13,1.16,1.21,
-1.25,1.28,1.30,1.28,1.32,1.33,1.35,1.35,1.36,1.35,
-1.37,1.36,1.44,1.42,1.43,1.48,1.44,1.40,1.45,1.50,
-1.48,1.49,1.51,1.52,1.59,1.47,1.59,1.61,1.63,1.60,
-1.59,1.62,1.66,1.64,1.63,1.69,1.63,1.76,1.72,1.75,
-1.74,1.74,1.80,1.80,1.78,1.76,1.79,1.82,1.83,1.82,
-1.83,1.79,1.86,1.86,1.93,1.90,1.90,1.90,1.91,1.91,
-1.90,1.90,1.92,1.97,1.91,1.99,2.02,1.91,1.93,1.98,
-2.02,1.95,2.00,2.01,2.14,2.16,2.11,2.03,2.06,2.17,
-2.10,2.14,2.08,2.08,2.16,2.15,2.20,2.17,2.13,2.22,
-2.15,2.16,2.15,2.20,2.17,2.21,2.18,2.32,2.25,2.25,
-2.23,2.32,2.28,2.33,2.21,2.33,2.31,2.34,2.30,2.43,
-2.38,2.35,2.40,2.35,2.44,2.46,2.49,2.45,2.36,2.34,
-2.42,2.58,2.40,2.49,2.47,2.38,2.56,2.42,2.49,2.41,
-2.51,2.50,2.54,2.59,2.56,2.48,2.49,2.60,2.61,2.59,
-2.60,2.64,2.63,2.63,2.60,2.61,2.62,2.56,2.60,2.74,
-2.63,2.76,2.72,2.62,2.62,2.77,2.61,2.79,2.53,2.83,
-2.67,2.78,2.69,2.77,2.77,2.70,2.84,2.76,2.70,2.75,
-2.71,2.69,2.86,2.86,2.74,2.89,2.92,2.76,2.82,2.83,
-2.80,2.85,2.87,2.95,2.94,2.90,2.89,2.83,2.81,2.83,
-2.90,2.85,2.92,2.87,2.92,3.01,2.99,2.95,2.90,2.90,
-2.95,2.91,3.04,2.98,3.05,2.98,2.95,3.05,3.10,2.96,
-2.99,3.03,3.25,3.04,3.04,3.12,3.10,3.03,3.13,3.00,
-3.03,3.14,3.17,3.25,3.01,3.20,3.10,3.19,3.19,3.15,
-3.18,3.12,3.10,3.21,3.21,3.12,3.24,3.27,3.08,3.19,
-3.25,3.30,3.21,3.31,3.25,3.20,3.32,3.31,3.30,3.25,
-3.24,3.27,3.11,3.29,3.37,3.27,3.20,3.25,3.30,3.25,
-0.56,0.64,0.62,0.65,0.69,0.70,0.73,0.77,0.76,0.79,
-0.82,0.82,0.88,0.86,0.82,0.91,0.93,0.95,1.00,1.03,
-1.00,0.97,1.00,1.06,1.07,1.08,1.05,1.10,1.12,1.10,
-1.15,1.17,1.14,1.18,1.23,1.17,1.23,1.30,1.20,1.23,
-1.21,1.29,1.30,1.32,1.31,1.35,1.37,1.36,1.36,1.30,
-1.40,1.42,1.38,1.47,1.45,1.45,1.42,1.46,1.42,1.50,
-1.52,1.45,1.51,1.59,1.53,1.50,1.52,1.61,1.60,1.62,
-1.59,1.62,1.61,1.59,1.64,1.70,1.68,1.67,1.64,1.65,
-1.73,1.77,1.68,1.71,1.71,1.78,1.76,1.75,1.74,1.81,
-1.82,1.83,1.80,1.84,1.93,1.89,1.91,1.87,1.94,1.86,
-1.90,1.86,2.03,1.96,1.89,1.90,1.92,1.94,2.05,1.95,
-1.95,1.93,2.04,1.99,1.97,1.98,1.97,2.08,2.03,2.04,
-2.11,2.02,2.11,2.05,2.04,2.15,2.09,2.13,2.13,2.10,
-2.21,2.06,2.20,2.20,2.13,2.13,2.19,2.16,2.13,2.10,
-2.22,2.22,2.17,2.26,2.19,2.26,2.24,2.26,2.24,2.30,
-2.29,2.32,2.29,2.15,2.29,2.36,2.30,2.31,2.33,2.44,
-2.38,2.32,2.39,2.32,2.43,2.36,2.53,2.38,2.48,2.42,
-2.33,2.45,2.42,2.50,2.40,2.44,2.61,2.53,2.51,2.51,
-2.47,2.49,2.44,2.49,2.63,2.56,2.52,2.45,2.52,2.53,
-2.53,2.59,2.53,2.61,2.62,2.59,2.56,2.56,2.60,2.57,
-2.66,2.63,2.56,2.64,2.49,2.64,2.70,2.71,2.61,2.62,
-2.57,2.74,2.65,2.69,2.68,2.73,2.72,2.66,2.73,2.74,
-2.87,2.71,2.67,2.74,2.64,2.68,2.72,2.72,2.84,2.65,
-2.81,2.83,2.73,2.95,2.70,2.83,2.93,2.91,2.76,2.73,
-2.81,2.81,2.83,2.71,2.82,2.88,2.81,2.90,2.86,2.89,
-2.87,2.89,2.81,2.86,2.94,2.89,3.03,2.95,2.89,2.90,
-2.95,3.01,2.97,2.95,2.99,2.96,3.02,3.06,2.98,2.97,
-3.05,3.00,3.12,3.03,3.05,3.02,2.94,3.08,3.11,3.02,
-3.07,3.09,3.08,2.98,3.08,3.02,3.03,3.11,3.20,3.12,
-0.52,0.58,0.58,0.64,0.61,0.66,0.67,0.70,0.71,0.75,
-0.75,0.77,0.82,0.82,0.84,0.83,0.93,0.87,0.88,0.90,
-0.92,0.92,0.92,0.95,1.02,1.00,1.01,1.04,1.07,1.06,
-1.07,1.03,1.11,1.09,1.08,1.10,1.16,1.14,1.11,1.21,
-1.22,1.15,1.27,1.20,1.22,1.25,1.26,1.26,1.27,1.25,
-1.30,1.23,1.32,1.34,1.33,1.36,1.38,1.40,1.37,1.43,
-1.44,1.40,1.48,1.43,1.43,1.47,1.46,1.48,1.53,1.52,
-1.48,1.52,1.50,1.49,1.54,1.52,1.55,1.59,1.56,1.58,
-1.61,1.63,1.64,1.69,1.68,1.63,1.63,1.71,1.66,1.71,
-1.72,1.73,1.74,1.71,1.78,1.71,1.78,1.80,1.73,1.75,
-1.82,1.83,1.61,1.78,1.78,1.79,1.84,1.79,1.79,1.86,
-1.77,1.82,1.87,1.81,1.91,1.79,1.86,1.90,1.90,1.91,
-1.95,1.95,1.98,1.89,1.97,1.93,1.97,2.05,1.99,2.01,
-1.98,2.01,1.99,2.02,2.01,2.00,2.08,2.06,2.01,2.10,
-1.98,2.06,2.04,2.12,2.00,2.00,2.05,2.12,2.09,2.04,
-2.15,2.11,2.16,2.16,2.16,2.09,2.11,2.21,2.26,2.08,
-2.16,2.20,2.23,2.16,2.23,2.12,2.26,2.13,2.27,2.25,
-2.30,2.28,2.33,2.29,2.23,2.31,2.29,2.36,2.38,2.37,
-2.20,2.38,2.36,2.33,2.40,2.26,2.41,2.34,2.29,2.24,
-2.33,2.46,2.32,2.39,2.35,2.41,2.33,2.43,2.39,2.44,
-2.40,2.35,2.42,2.43,2.53,2.51,2.57,2.42,2.52,2.51,
-2.64,2.55,2.54,2.36,2.44,2.56,2.51,2.54,2.44,2.47,
-2.58,2.52,2.60,2.60,2.64,2.56,2.53,2.64,2.62,2.61,
-2.56,2.58,2.66,2.60,2.63,2.66,2.58,2.66,2.62,2.63,
-2.66,2.68,2.63,2.58,2.60,2.75,2.81,2.71,2.71,2.67,
-2.65,2.74,2.70,2.78,2.76,2.63,2.70,2.73,2.73,2.78,
-2.74,2.69,2.70,2.68,2.71,2.82,2.71,2.81,2.82,2.84,
-2.85,2.81,2.74,2.85,2.80,2.75,2.84,2.89,2.83,2.74,
-2.95,2.81,2.84,2.86,2.77,2.94,2.87,3.05,2.92,2.82,
-1.15,1.21,1.18,1.32,1.31,1.31,1.43,1.44,1.42,1.57,
-1.53,1.60,1.61,1.69,1.67,1.76,1.81,1.75,1.79,1.84,
-1.80,1.91,1.94,2.01,2.00,1.94,1.95,2.12,2.02,2.10,
-2.22,2.10,2.20,2.23,2.24,2.32,2.35,2.35,2.36,2.36,
-2.49,2.45,2.46,2.52,2.47,2.46,2.57,2.52,2.59,2.51,
-2.59,2.69,2.64,2.72,2.61,2.68,2.83,2.81,2.79,2.76,
-2.95,2.95,2.75,3.01,2.89,2.90,2.88,3.08,3.08,3.09,
-2.81,3.20,3.08,2.94,3.03,3.19,3.02,3.17,3.12,3.25,
-3.15,3.23,3.28,3.36,3.20,3.37,3.37,3.46,3.33,3.33,
-3.34,3.50,3.55,3.43,3.54,3.60,3.39,3.47,3.57,3.57,
-3.63,3.50,3.45,3.68,3.56,3.74,3.66,3.69,3.73,3.81,
-3.57,3.65,3.87,3.70,3.79,3.85,3.78,3.75,3.78,3.77,
-3.74,3.85,3.80,3.80,4.12,4.17,3.84,4.10,4.04,4.06,
-4.06,3.88,3.84,4.07,4.08,4.04,4.15,3.88,3.95,4.21,
-4.06,4.03,4.11,4.09,4.21,4.25,4.16,4.15,4.19,4.25,
-4.25,4.24,4.18,4.08,4.30,4.30,4.39,4.38,4.41,4.35,
-4.44,4.24,4.43,4.35,4.48,4.53,4.28,4.65,4.53,4.46,
-4.31,4.65,4.45,4.56,4.51,4.62,4.67,4.58,4.75,4.63,
-4.58,4.80,4.57,4.58,4.87,4.70,4.62,4.79,4.74,4.84,
-4.63,4.70,4.85,4.74,4.94,4.96,4.67,4.88,4.80,5.11,
-4.95,4.92,4.98,4.98,4.71,5.18,4.82,4.89,5.09,5.01,
-4.92,5.11,4.92,4.99,4.89,5.19,4.96,5.25,5.10,5.10,
-4.96,5.09,5.28,5.14,5.15,5.00,5.11,5.28,5.13,4.94,
-4.99,5.20,5.17,5.25,5.25,5.32,5.25,5.18,5.29,5.39,
-5.45,5.25,5.37,5.44,5.45,5.53,5.35,5.42,5.42,5.50,
-5.38,5.59,5.51,5.62,5.34,5.59,5.54,5.54,5.68,5.56,
-5.30,5.80,5.72,5.64,5.69,5.55,5.54,5.42,5.78,5.44,
-5.84,6.00,5.69,5.76,5.70,5.66,5.74,5.82,5.70,5.73,
-5.77,5.61,5.55,5.98,5.87,5.82,5.56,5.84,5.77,5.74,
-1.08,1.14,1.22,1.26,1.31,1.28,1.36,1.38,1.41,1.45,
-1.49,1.57,1.54,1.58,1.74,1.69,1.69,1.70,1.76,1.80,
-1.82,1.81,1.95,1.91,2.00,2.04,2.05,1.99,2.09,2.11,
-2.20,2.11,2.11,2.24,2.21,2.19,2.31,2.31,2.26,2.31,
-2.44,2.39,2.40,2.47,2.46,2.45,2.47,2.45,2.58,2.46,
-2.54,2.58,2.62,2.68,2.75,2.70,2.82,2.67,2.67,2.65,
-2.70,2.91,2.88,2.91,2.82,2.84,2.85,2.93,2.87,2.93,
-3.04,2.98,3.01,2.93,3.02,3.07,3.16,2.99,3.01,3.15,
-3.20,3.28,3.16,3.12,3.22,3.25,3.30,3.16,3.36,3.31,
-3.37,3.28,3.29,3.45,3.35,3.30,3.36,3.31,3.38,3.42,
-3.50,3.50,3.47,3.56,3.55,3.60,3.63,3.59,3.67,3.70,
-3.62,3.59,3.66,3.62,3.79,3.74,3.56,3.62,3.68,3.89,
-3.74,3.82,3.82,3.74,3.83,3.98,3.87,3.78,3.65,3.99,
-3.95,3.99,3.81,3.93,3.82,3.96,4.10,3.86,3.99,4.06,
-4.20,4.04,4.04,4.03,4.10,4.17,3.93,4.25,4.05,4.23,
-4.12,4.20,4.21,4.12,4.13,4.30,4.29,4.28,4.23,4.39,
-4.30,4.16,4.33,4.35,4.56,4.30,4.25,4.35,4.42,4.35,
-4.46,4.29,4.35,4.52,4.39,4.40,4.50,4.54,4.56,4.61,
-4.47,4.64,4.63,4.43,4.53,4.52,4.83,4.81,4.60,4.62,
-4.58,4.73,4.74,4.61,4.63,4.60,4.61,4.78,4.72,4.69,
-4.75,4.93,4.74,4.89,4.81,4.96,4.68,5.06,4.76,5.01,
-4.71,4.87,4.93,4.91,4.92,4.86,5.15,4.92,5.03,4.92,
-5.20,4.91,4.85,5.11,4.81,5.14,5.00,5.19,5.06,5.19,
-5.14,5.15,4.97,5.03,5.12,5.09,5.25,5.24,5.15,5.37,
-5.03,5.21,5.39,5.24,5.21,5.23,5.40,5.16,5.38,5.43,
-5.41,5.10,5.10,5.11,5.35,5.18,5.24,5.39,5.48,5.34,
-5.50,5.46,5.26,5.53,5.44,5.50,5.54,5.50,5.48,5.59,
-5.52,5.48,5.54,5.65,5.60,5.41,5.78,5.64,5.73,5.78,
-5.87,5.62,5.69,5.79,5.42,5.50,5.66,5.71,5.66,5.59,
-1.04,1.09,1.14,1.19,1.24,1.31,1.34,1.41,1.42,1.45,
-1.52,1.52,1.52,1.60,1.66,1.63,1.60,1.65,1.79,1.79,
-1.76,1.79,1.85,1.86,1.85,1.84,2.04,1.99,2.05,2.03,
-2.05,2.01,2.05,2.15,2.13,2.24,2.22,2.19,2.12,2.34,
-2.27,2.29,2.45,2.37,2.37,2.38,2.45,2.37,2.46,2.53,
-2.51,2.56,2.61,2.49,2.63,2.52,2.59,2.58,2.70,2.67,
-2.78,2.62,2.68,2.67,2.77,2.72,2.94,2.84,2.85,2.85,
-2.84,3.03,2.95,2.97,2.91,3.00,2.92,3.10,3.03,3.02,
-3.10,3.11,3.08,3.03,3.10,3.25,3.14,3.11,3.14,3.22,
-3.24,3.29,3.24,3.20,3.31,3.36,3.40,3.26,3.38,3.38,
-3.40,3.47,3.35,3.46,3.54,3.25,3.53,3.36,3.58,3.58,
-3.50,3.48,3.56,3.59,3.48,3.62,3.71,3.66,3.56,3.64,
-3.78,3.56,3.66,3.69,3.70,3.76,3.82,3.68,3.95,3.84,
-3.89,3.81,3.87,3.87,3.80,3.77,3.92,3.89,3.92,3.90,
-4.01,4.00,3.99,3.90,3.91,3.89,4.00,4.08,3.95,4.02,
-4.04,4.00,4.06,4.27,4.06,4.14,4.08,4.26,4.20,4.31,
-4.07,4.31,4.36,4.19,4.19,4.12,4.20,4.35,4.28,4.19,
-4.42,4.32,4.41,4.36,4.34,4.37,4.35,4.44,4.47,4.28,
-4.41,4.26,4.60,4.36,4.49,4.47,4.62,4.50,4.35,4.59,
-4.61,4.53,4.48,4.47,4.51,4.38,4.64,4.58,4.54,4.60,
-4.79,4.58,4.71,4.73,4.68,4.45,4.69,4.76,4.61,4.96,
-4.84,4.64,4.69,4.66,4.70,4.72,4.92,4.87,4.99,4.83,
-4.99,4.79,4.93,4.89,4.62,4.68,4.91,5.08,5.14,5.06,
-4.91,4.99,5.14,5.05,5.00,4.97,5.16,5.12,5.02,5.10,
-5.23,4.84,5.00,5.10,5.15,4.98,5.17,5.15,5.20,5.05,
-5.31,5.18,5.46,5.14,5.28,5.20,5.06,5.34,5.28,5.41,
-5.03,5.08,5.27,5.41,5.19,5.40,5.35,5.18,5.32,5.32,
-5.49,5.26,5.27,5.27,5.37,5.41,5.34,5.56,5.52,5.47,
-5.41,5.68,5.53,5.35,5.63,5.54,5.54,5.34,5.52,5.35,
-1.02,1.09,1.13,1.18,1.19,1.27,1.31,1.36,1.30,1.40,
-1.45,1.50,1.49,1.55,1.51,1.52,1.64,1.61,1.71,1.77,
-1.75,1.76,1.73,1.82,1.85,1.77,1.88,1.91,1.95,2.00,
-1.97,2.00,1.99,2.13,2.07,2.09,2.14,2.20,2.26,2.15,
-2.22,2.25,2.24,2.34,2.26,2.25,2.37,2.34,2.38,2.36,
-2.48,2.44,2.47,2.49,2.41,2.50,2.63,2.56,2.66,2.62,
-2.63,2.69,2.71,2.73,2.72,2.75,2.76,2.78,2.79,2.78,
-2.87,2.77,2.73,2.75,2.88,2.85,2.87,2.93,2.99,2.99,
-3.06,2.90,2.89,3.02,2.95,3.02,3.03,3.07,2.95,3.13,
-3.06,3.12,3.25,3.24,3.12,3.15,3.24,3.14,3.17,3.19,
-3.08,3.22,3.35,3.18,3.43,3.15,3.37,3.40,3.49,3.42,
-3.46,3.64,3.34,3.41,3.33,3.52,3.48,3.56,3.28,3.67,
-3.44,3.54,3.53,3.60,3.53,3.50,3.66,3.77,3.50,3.76,
-3.75,3.67,3.72,3.62,3.74,3.82,3.76,3.82,3.95,3.94,
-3.89,3.81,3.89,3.87,3.82,3.82,3.88,3.96,4.07,4.03,
-3.95,3.95,4.02,4.16,3.86,3.92,4.04,3.91,4.08,3.95,
-4.03,4.08,4.06,4.21,4.12,4.15,4.13,4.13,4.06,4.15,
-4.18,4.27,4.19,4.25,4.24,4.24,4.44,4.32,4.31,4.31,
-4.31,4.12,4.38,4.37,4.36,4.33,4.31,4.29,4.32,4.29,
-4.36,4.46,4.41,4.44,4.70,4.59,4.53,4.21,4.55,4.61,
-4.53,4.41,4.51,4.52,4.56,4.65,4.64,4.57,4.56,4.54,
-4.42,4.62,4.69,4.75,4.69,4.69,4.73,4.64,4.86,4.59,
-4.55,4.73,4.72,4.70,4.73,4.59,4.74,4.63,4.83,4.63,
-4.78,4.85,4.97,4.59,4.75,4.91,4.81,4.92,4.97,4.87,
-4.90,4.78,4.74,4.90,4.97,4.89,4.90,4.83,4.98,4.99,
-4.89,5.00,4.80,5.04,5.15,5.32,5.12,5.13,4.91,5.02,
-5.14,5.32,5.14,5.21,5.10,5.49,5.17,4.98,5.33,4.97,
-5.07,5.22,5.20,5.19,5.18,5.28,5.31,5.08,5.26,5.08,
-5.42,5.17,5.46,5.45,5.28,5.32,5.32,5.40,5.62,5.34,
-1.04,1.03,1.11,1.12,1.14,1.19,1.26,1.30,1.26,1.40,
-1.37,1.43,1.43,1.44,1.54,1.52,1.64,1.58,1.66,1.71,
-1.66,1.64,1.75,1.80,1.81,1.83,1.77,1.83,1.88,1.90,
-1.93,1.96,2.08,2.01,2.02,2.07,2.08,2.11,2.15,2.08,
-2.10,2.17,2.24,2.24,2.24,2.31,2.32,2.22,2.26,2.26,
-2.35,2.36,2.40,2.46,2.53,2.40,2.45,2.50,2.51,2.55,
-2.51,2.58,2.69,2.54,2.58,2.64,2.66,2.67,2.62,2.69,
-2.64,2.72,2.86,2.91,2.65,2.67,2.81,2.81,2.80,2.87,
-2.93,2.86,2.89,2.95,2.92,2.99,2.84,2.97,3.05,3.04,
-2.95,2.97,3.12,3.10,3.01,3.02,3.05,3.22,3.10,3.05,
-3.12,3.19,3.14,3.27,3.15,3.31,3.13,3.14,3.16,3.33,
-3.25,3.31,3.38,3.29,3.43,3.43,3.45,3.32,3.42,3.42,
-3.44,3.50,3.41,3.53,3.49,3.45,3.59,3.58,3.53,3.65,
-3.47,3.61,3.46,3.66,3.81,3.72,3.55,3.64,3.85,3.56,
-3.60,3.62,3.76,3.78,3.86,3.75,3.86,3.74,3.52,3.95,
-3.77,3.94,3.75,4.02,3.85,3.81,3.84,3.88,4.00,3.81,
-3.81,4.01,3.98,3.91,4.05,4.04,3.97,3.97,3.88,4.02,
-4.11,4.15,4.05,4.00,4.05,4.23,4.06,4.17,4.11,4.10,
-4.21,4.05,4.14,4.15,4.15,4.15,4.29,4.34,4.24,4.23,
-4.33,4.27,4.36,4.40,4.19,4.19,4.45,4.28,4.32,4.36,
-4.37,4.38,4.24,4.37,4.44,4.54,4.20,4.54,4.42,4.54,
-4.40,4.49,4.56,4.57,4.53,4.42,4.79,4.79,4.53,4.52,
-4.62,4.48,4.64,4.58,4.66,4.72,4.65,4.65,4.68,4.83,
-4.70,4.54,4.66,4.65,4.72,4.72,4.53,4.92,4.54,4.68,
-4.74,4.53,4.83,4.82,4.90,4.65,4.63,4.93,4.83,4.92,
-4.89,4.85,4.79,4.90,5.02,4.73,4.80,5.02,4.85,4.79,
-4.96,4.82,4.84,4.94,5.06,5.05,4.81,5.08,5.00,4.85,
-4.93,5.26,5.05,5.08,4.94,5.13,4.99,4.95,5.33,5.30,
-5.06,5.15,5.15,5.04,4.90,5.01,5.23,5.22,5.10,5.26,
-0.97,1.03,1.04,1.11,1.14,1.14,1.17,1.20,1.26,1.24,
-1.31,1.35,1.40,1.43,1.46,1.50,1.56,1.56,1.52,1.59,
-1.61,1.64,1.69,1.70,1.73,1.75,1.73,1.82,1.83,1.85,
-1.90,1.83,1.92,1.87,1.98,1.94,2.01,1.98,2.02,2.01,
-2.14,2.09,2.07,2.12,2.19,2.12,2.25,2.24,2.24,2.19,
-2.23,2.22,2.35,2.38,2.24,2.47,2.43,2.31,2.40,2.51,
-2.58,2.54,2.46,2.54,2.40,2.52,2.52,2.54,2.53,2.54,
-2.58,2.53,2.61,2.78,2.56,2.64,2.67,2.74,2.73,2.82,
-2.75,2.73,2.69,2.74,2.80,2.86,2.84,2.96,2.97,2.98,
-2.94,2.99,3.00,2.91,3.07,3.00,3.01,3.09,2.87,2.98,
-3.02,3.00,3.22,3.23,2.94,3.11,3.08,3.28,3.06,3.06,
-3.06,3.18,3.24,3.23,3.27,3.19,3.30,3.14,3.42,3.35,
-3.32,3.26,3.34,3.41,3.33,3.42,3.50,3.46,3.43,3.47,
-3.38,3.34,3.48,3.47,3.62,3.31,3.39,3.50,3.55,3.54,
-3.50,3.65,3.54,3.64,3.62,3.62,3.65,3.66,3.53,3.69,
-3.66,3.67,3.75,3.56,3.75,3.70,3.80,3.69,3.60,3.60,
-3.72,3.83,3.75,3.80,3.85,3.76,3.84,3.79,3.85,3.98,
-3.79,3.96,3.94,3.98,3.81,3.92,4.10,3.96,3.91,3.88,
-4.06,4.08,3.99,3.94,4.08,4.02,4.04,3.98,4.17,3.94,
-4.08,4.16,4.25,4.10,4.03,4.13,4.21,4.09,4.11,4.07,
-4.20,4.14,4.28,4.23,4.18,4.21,4.06,4.27,4.18,4.39,
-4.33,4.05,4.40,4.58,4.20,4.34,4.44,4.50,4.31,4.41,
-4.43,4.32,4.54,4.41,4.47,4.32,4.48,4.42,4.26,4.46,
-4.62,4.55,4.54,4.68,4.56,4.62,4.42,4.67,4.74,4.51,
-4.45,4.45,4.66,4.65,4.54,4.77,4.61,4.68,4.71,4.69,
-4.77,4.65,4.80,4.80,4.69,4.76,4.79,4.77,4.72,5.06,
-4.85,4.62,4.79,4.61,4.69,4.95,4.86,4.75,4.95,4.97,
-4.85,4.81,4.84,5.02,4.84,4.94,4.77,5.00,4.97,5.01,
-5.08,5.01,5.00,4.90,5.33,5.07,5.16,5.02,4.90,5.02,
-0.92,0.97,0.99,1.03,1.14,1.06,1.16,1.17,1.23,1.27,
-1.30,1.34,1.31,1.37,1.43,1.41,1.46,1.47,1.52,1.51,
-1.56,1.56,1.64,1.63,1.62,1.63,1.70,1.75,1.69,1.69,
-1.82,1.84,1.85,1.87,1.89,1.86,1.92,1.89,1.90,2.06,
-1.99,2.00,2.13,1.99,2.02,2.12,2.07,2.11,2.15,2.15,
-2.27,2.20,2.18,2.26,2.24,2.30,2.23,2.32,2.29,2.33,
-2.24,2.42,2.26,2.33,2.36,2.33,2.55,2.49,2.58,2.41,
-2.51,2.55,2.59,2.60,2.64,2.60,2.61,2.66,2.56,2.76,
-2.60,2.71,2.76,2.70,2.77,2.80,2.80,2.73,2.75,2.81,
-2.70,2.87,2.97,2.84,2.86,2.89,3.00,2.81,2.91,2.89,
-2.96,2.94,3.03,3.02,2.88,2.99,2.99,3.11,2.94,2.91,
-3.11,3.14,3.11,3.06,3.16,3.14,3.22,3.17,3.08,3.14,
-3.21,3.26,3.21,3.20,3.28,3.12,3.18,3.27,3.27,3.30,
-3.21,3.36,3.30,3.40,3.28,3.27,3.36,3.29,3.46,3.46,
-3.33,3.47,3.41,3.40,3.54,3.37,3.43,3.47,3.57,3.51,
-3.61,3.62,3.65,3.63,3.51,3.70,3.64,3.64,3.56,3.48,
-3.61,3.78,3.69,3.85,3.58,3.65,3.70,3.72,3.82,3.83,
-3.74,3.63,3.96,3.79,3.86,3.73,3.85,3.73,3.86,3.74,
-3.80,3.68,3.97,3.97,3.84,3.98,4.01,3.83,4.01,3.97,
-3.96,3.84,3.85,3.99,3.86,4.01,3.93,4.24,3.98,3.98,
-4.08,4.04,4.05,3.97,4.23,4.28,4.09,4.12,4.25,4.22,
-4.18,4.20,4.25,4.11,4.40,4.22,4.10,4.34,4.19,4.24,
-4.31,4.06,4.19,4.30,4.30,4.41,4.15,4.26,4.31,4.41,
-4.28,4.36,4.38,4.45,4.30,4.27,4.30,4.10,4.26,4.35,
-4.41,4.32,4.37,4.49,4.47,4.47,4.37,4.53,4.42,4.65,
-4.37,4.36,4.55,4.50,4.46,4.45,4.66,4.59,4.81,4.47,
-4.55,4.46,4.57,4.77,4.58,4.63,4.66,4.73,4.83,4.61,
-4.70,4.78,4.67,4.55,4.79,4.70,4.54,4.70,4.73,4.75,
-4.76,4.79,4.68,4.79,4.96,4.93,4.63,4.91,4.81,4.73,
-0.87,0.97,0.95,1.02,1.03,1.02,1.13,1.16,1.19,1.20,
-1.26,1.25,1.28,1.28,1.34,1.32,1.38,1.43,1.46,1.47,
-1.47,1.53,1.54,1.54,1.58,1.63,1.60,1.63,1.68,1.76,
-1.73,1.69,1.79,1.83,1.81,1.79,1.88,1.81,1.89,1.96,
-1.91,1.88,2.00,1.95,1.87,1.99,2.07,1.96,2.12,2.07,
-2.09,2.05,2.15,2.14,2.10,2.11,2.20,2.22,2.30,2.19,
-2.31,2.26,2.27,2.34,2.41,2.33,2.37,2.40,2.26,2.38,
-2.42,2.47,2.45,2.55,2.42,2.44,2.55,2.57,2.48,2.43,
-2.53,2.60,2.54,2.57,2.60,2.68,2.63,2.70,2.67,2.62,
-2.67,2.78,2.68,2.77,2.77,2.64,2.79,2.72,2.70,2.89,
-2.71,2.94,2.83,2.94,2.83,2.91,2.97,2.93,2.85,2.95,
-2.84,2.87,3.05,3.02,2.90,2.98,2.94,2.98,2.92,3.10,
-3.09,3.08,2.94,3.08,3.08,3.00,3.17,3.17,3.23,3.13,
-3.20,3.02,3.20,3.22,3.24,3.16,3.12,3.22,3.36,3.19,
-3.32,3.26,3.32,3.45,3.38,3.32,3.30,3.25,3.40,3.26,
-3.38,3.41,3.44,3.47,3.36,3.39,3.49,3.49,3.50,3.52,
-3.54,3.53,3.67,3.51,3.52,3.55,3.57,3.53,3.63,3.66,
-3.60,3.61,3.62,3.63,3.58,3.70,3.59,3.59,3.86,3.78,
-3.84,3.72,3.86,3.81,3.83,3.88,3.75,3.96,3.76,3.65,
-3.83,3.75,3.91,3.68,3.72,3.76,3.84,3.82,3.64,3.81,
-3.92,3.90,3.98,3.98,3.99,3.86,4.10,3.71,3.95,4.08,
-3.91,3.99,4.00,4.14,4.10,4.19,3.91,4.08,3.93,4.00,
-3.97,4.13,4.11,4.22,4.16,4.15,3.93,4.13,4.07,4.24,
-4.23,4.07,4.17,4.04,4.28,4.25,4.22,4.08,4.16,4.10,
-4.41,4.29,4.36,4.26,4.36,4.40,4.46,4.34,4.41,4.43,
-4.22,4.34,4.39,4.32,4.33,4.28,4.32,4.37,4.29,4.25,
-4.24,4.45,4.46,4.43,4.47,4.46,4.61,4.56,4.41,4.37,
-4.57,4.39,4.37,4.46,4.48,4.51,4.52,4.55,4.44,4.44,
-4.56,4.65,4.49,4.73,4.63,4.57,4.48,4.48,4.69,4.60,
-0.85,0.88,0.98,0.97,0.96,1.00,1.03,1.07,1.10,1.16,
-1.20,1.21,1.21,1.26,1.25,1.29,1.36,1.34,1.37,1.43,
-1.43,1.47,1.49,1.49,1.47,1.52,1.61,1.53,1.58,1.64,
-1.69,1.64,1.68,1.69,1.71,1.71,1.79,1.75,1.83,1.78,
-1.85,1.85,1.87,1.90,1.89,1.91,2.00,2.03,1.93,2.07,
-1.97,2.00,2.02,2.09,2.06,2.07,2.09,2.14,2.20,2.16,
-2.27,2.04,2.13,2.18,2.17,2.24,2.27,2.24,2.28,2.33,
-2.25,2.30,2.33,2.31,2.35,2.36,2.49,2.37,2.38,2.39,
-2.54,2.50,2.47,2.52,2.46,2.40,2.52,2.53,2.48,2.48,
-2.60,2.48,2.64,2.64,2.54,2.66,2.66,2.71,2.70,2.77,
-2.74,2.68,2.71,2.70,2.80,2.69,2.66,2.75,2.63,2.78,
-2.82,2.76,2.86,2.80,2.83,2.88,2.81,3.11,2.81,2.92,
-2.90,2.84,2.91,3.00,2.84,2.99,2.87,3.11,3.07,3.03,
-2.96,3.05,3.05,3.01,3.06,3.10,3.18,3.08,3.06,3.14,
-3.15,3.19,3.05,3.15,3.22,3.02,3.13,3.17,3.22,3.14,
-3.29,3.27,3.18,3.24,3.32,3.21,3.40,3.30,3.23,3.37,
-3.28,3.39,3.33,3.37,3.36,3.37,3.51,3.30,3.24,3.39,
-3.33,3.43,3.46,3.43,3.57,3.44,3.55,3.39,3.49,3.52,
-3.63,3.67,3.67,3.58,3.56,3.60,3.64,3.64,3.67,3.59,
-3.67,3.57,3.68,3.60,3.69,3.65,3.65,3.92,3.67,3.64,
-3.74,3.81,3.59,3.75,3.76,3.83,3.66,3.65,3.63,3.63,
-3.73,3.79,3.82,3.83,3.87,3.72,3.88,4.00,3.86,3.91,
-3.91,3.77,3.74,3.87,3.98,3.86,3.88,3.91,4.04,4.08,
-3.89,3.92,4.00,3.97,4.12,3.97,4.01,4.05,3.94,4.16,
-3.83,4.08,4.13,4.25,4.07,3.97,4.11,4.15,4.28,4.02,
-4.00,4.14,4.14,4.25,4.08,4.10,4.20,4.07,4.25,4.33,
-4.20,4.33,4.30,4.13,4.11,4.23,4.25,4.22,4.24,4.18,
-4.27,4.16,4.19,4.24,4.14,4.21,4.28,4.37,4.24,4.35,
-4.46,4.39,4.49,4.26,4.40,4.41,4.31,4.32,4.44,4.57,
-0.80,0.85,0.87,0.92,0.94,0.97,0.99,1.04,1.09,1.13,
-1.08,1.07,1.12,1.18,1.16,1.24,1.27,1.28,1.26,1.33,
-1.39,1.37,1.38,1.45,1.43,1.43,1.46,1.42,1.52,1.53,
-1.60,1.52,1.63,1.60,1.62,1.64,1.64,1.67,1.70,1.75,
-1.76,1.70,1.73,1.75,1.78,1.85,1.84,1.87,1.82,1.88,
-1.88,1.85,1.89,1.95,1.99,2.05,1.96,1.96,2.07,2.08,
-2.07,2.02,2.01,2.06,2.06,2.11,2.11,2.11,2.18,2.32,
-2.19,2.22,2.27,2.22,2.23,2.31,2.31,2.18,2.29,2.36,
-2.37,2.29,2.29,2.29,2.42,2.31,2.44,2.42,2.37,2.41,
-2.45,2.47,2.45,2.42,2.43,2.54,2.51,2.63,2.54,2.60,
-2.59,2.56,2.51,2.58,2.58,2.56,2.59,2.64,2.53,2.74,
-2.65,2.63,2.69,2.63,2.80,2.70,2.69,2.78,2.81,2.96,
-2.73,2.64,2.77,2.70,2.75,2.90,2.93,2.93,2.90,2.88,
-2.89,2.90,2.89,2.94,2.99,2.86,2.81,2.97,3.01,3.03,
-3.02,2.95,3.08,2.94,2.95,2.93,3.06,3.10,3.10,3.17,
-3.06,3.08,3.01,3.08,3.20,2.97,3.17,3.08,3.21,3.17,
-3.06,3.07,3.18,3.39,3.15,3.33,3.09,3.31,3.27,3.24,
-3.35,3.29,3.18,3.41,3.29,3.37,3.28,3.35,3.31,3.42,
-3.41,3.32,3.47,3.32,3.45,3.40,3.42,3.28,3.48,3.41,
-3.64,3.45,3.47,3.43,3.44,3.49,3.50,3.38,3.42,3.71,
-3.43,3.38,3.45,3.51,3.43,3.52,3.62,3.52,3.55,3.48,
-3.61,3.48,3.58,3.72,3.75,3.81,3.55,3.58,3.76,3.70,
-3.73,3.70,3.74,3.59,3.68,3.72,3.76,3.81,3.67,3.85,
-3.78,3.82,3.80,3.77,3.96,3.78,3.87,3.83,3.80,3.91,
-3.83,3.72,4.00,3.78,3.82,3.80,3.88,3.67,3.77,3.91,
-3.81,3.93,4.05,4.16,3.94,4.07,4.03,4.20,4.01,4.07,
-4.09,3.94,4.05,4.06,4.02,4.05,4.12,3.98,4.27,3.93,
-4.10,4.03,4.05,4.08,4.07,3.99,4.15,4.23,4.12,4.11,
-4.23,4.14,4.26,4.05,4.11,4.19,4.06,4.29,4.17,4.30,
-0.76,0.77,0.80,0.86,0.91,0.91,0.96,0.93,0.97,1.04,
-1.06,1.09,1.10,1.11,1.12,1.18,1.18,1.17,1.26,1.27,
-1.28,1.34,1.30,1.36,1.36,1.36,1.38,1.42,1.40,1.46,
-1.39,1.49,1.45,1.56,1.51,1.55,1.59,1.60,1.60,1.62,
-1.62,1.70,1.67,1.71,1.69,1.76,1.68,1.74,1.71,1.72,
-1.80,1.77,1.90,1.82,1.86,1.83,1.82,1.89,1.94,1.98,
-1.95,2.01,1.98,1.96,1.99,2.02,2.06,1.95,2.08,2.04,
-2.08,2.07,2.11,2.14,2.05,2.15,2.16,2.23,2.14,2.15,
-2.14,2.23,2.18,2.16,2.24,2.22,2.32,2.31,2.27,2.35,
-2.31,2.38,2.37,2.38,2.40,2.37,2.40,2.32,2.41,2.37,
-2.44,2.54,2.45,2.41,2.44,2.46,2.57,2.59,2.49,2.59,
-2.60,2.51,2.51,2.51,2.45,2.63,2.58,2.57,2.48,2.80,
-2.58,2.71,2.64,2.71,2.70,2.61,2.61,2.78,2.89,2.62,
-2.80,2.82,2.76,2.80,2.83,2.74,2.80,2.81,2.76,2.85,
-2.79,2.87,2.82,2.86,2.76,2.89,2.88,3.00,3.02,2.98,
-2.95,2.97,2.92,2.81,2.91,2.95,3.00,3.05,2.97,3.06,
-2.99,2.97,3.01,3.01,2.94,3.18,3.08,3.01,3.00,3.08,
-3.06,3.18,3.09,3.14,3.22,3.24,3.14,3.11,3.22,3.16,
-3.24,3.24,3.00,3.35,3.21,3.18,3.24,3.29,3.34,3.16,
-3.23,3.31,3.21,3.38,3.34,3.32,3.27,3.42,3.46,3.50,
-3.32,3.26,3.38,3.27,3.35,3.55,3.28,3.40,3.52,3.47,
-3.47,3.36,3.38,3.52,3.40,3.43,3.58,3.48,3.38,3.44,
-3.28,3.48,3.39,3.44,3.52,3.47,3.48,3.64,3.56,3.63,
-3.67,3.68,3.54,3.62,3.62,3.66,3.61,3.58,3.66,3.64,
-3.62,3.51,3.61,3.63,3.69,3.66,3.75,3.80,3.68,3.73,
-3.69,3.71,3.77,3.84,3.68,3.61,3.60,3.85,3.84,3.68,
-3.80,3.86,3.78,3.78,3.82,3.85,3.96,3.81,3.97,3.84,
-4.01,3.96,3.90,3.82,3.89,3.68,3.84,3.85,3.98,3.94,
-4.02,3.93,3.94,3.98,3.95,4.10,3.93,4.09,3.94,3.99,
-0.71,0.76,0.80,0.81,0.86,0.89,0.93,0.96,0.93,0.99,
-0.99,1.09,1.05,1.02,1.07,1.12,1.14,1.18,1.21,1.23,
-1.20,1.21,1.30,1.30,1.25,1.32,1.35,1.33,1.36,1.35,
-1.41,1.39,1.42,1.42,1.47,1.49,1.54,1.51,1.49,1.56,
-1.49,1.60,1.55,1.57,1.59,1.52,1.64,1.70,1.71,1.68,
-1.74,1.71,1.68,1.68,1.77,1.74,1.72,1.81,1.83,1.86,
-1.87,1.80,1.89,1.89,1.89,1.87,1.83,1.89,1.94,2.00,
-2.00,1.92,1.94,2.07,2.08,1.98,2.01,2.03,2.00,2.08,
-2.01,2.10,2.11,2.15,2.04,2.06,2.18,2.20,2.15,2.15,
-2.19,2.21,2.24,2.23,2.17,2.19,2.28,2.25,2.19,2.31,
-2.29,2.24,2.28,2.36,2.41,2.39,2.27,2.36,2.27,2.48,
-2.51,2.42,2.41,2.34,2.47,2.44,2.39,2.36,2.49,2.44,
-2.54,2.41,2.55,2.47,2.53,2.57,2.53,2.56,2.54,2.58,
-2.58,2.52,2.64,2.66,2.65,2.66,2.57,2.64,2.62,2.66,
-2.72,2.63,2.72,2.72,2.77,2.73,2.66,2.66,2.81,2.77,
-2.62,2.72,2.82,2.71,2.82,2.75,2.80,2.77,2.88,2.92,
-2.80,2.83,2.87,2.90,2.94,2.91,2.97,3.04,2.92,2.92,
-2.81,2.91,2.94,3.00,2.95,2.94,2.98,3.01,3.00,2.91,
-2.95,3.08,3.07,3.01,3.03,3.14,3.01,3.11,3.17,3.21,
-3.15,3.07,3.04,3.35,3.07,3.10,3.09,3.18,3.15,3.01,
-3.19,3.22,3.25,3.22,3.24,3.16,3.25,3.14,3.21,3.28,
-3.23,3.27,3.33,3.21,3.33,3.22,3.31,3.22,3.26,3.20,
-3.33,3.27,3.38,3.40,3.43,3.39,3.38,3.30,3.37,3.39,
-3.31,3.23,3.51,3.39,3.35,3.43,3.49,3.45,3.42,3.41,
-3.43,3.49,3.39,3.36,3.46,3.45,3.66,3.53,3.64,3.52,
-3.54,3.50,3.56,3.64,3.44,3.68,3.48,3.57,3.55,3.73,
-3.70,3.33,3.70,3.67,3.70,3.49,3.58,3.57,3.79,3.67,
-3.53,3.82,3.47,3.77,3.65,3.71,3.57,3.79,3.66,3.64,
-3.74,3.69,3.75,3.58,3.73,3.78,3.76,3.83,3.63,3.88,
-0.68,0.76,0.73,0.76,0.76,0.81,0.85,0.86,0.90,0.93,
-0.94,0.98,0.96,0.97,1.04,1.02,1.05,1.09,1.13,1.09,
-1.11,1.13,1.16,1.22,1.18,1.20,1.25,1.26,1.26,1.29,
-1.35,1.33,1.29,1.38,1.38,1.37,1.40,1.42,1.41,1.45,
-1.51,1.45,1.52,1.55,1.51,1.50,1.63,1.58,1.54,1.54,
-1.58,1.63,1.65,1.65,1.65,1.64,1.64,1.73,1.74,1.72,
-1.74,1.74,1.76,1.75,1.81,1.76,1.84,1.81,1.85,1.84,
-1.76,1.84,1.85,1.96,1.91,1.88,1.92,1.92,1.89,1.99,
-1.93,2.01,1.95,1.95,2.05,1.98,2.00,2.03,2.00,2.02,
-2.16,2.14,2.05,2.08,2.02,2.09,2.10,2.17,2.08,2.10,
-2.21,2.14,2.27,2.23,2.27,2.25,2.10,2.22,2.19,2.22,
-2.31,2.20,2.29,2.37,2.28,2.28,2.28,2.35,2.39,2.44,
-2.37,2.31,2.33,2.47,2.37,2.33,2.51,2.51,2.46,2.39,
-2.47,2.43,2.42,2.50,2.43,2.54,2.53,2.44,2.47,2.54,
-2.60,2.59,2.55,2.49,2.54,2.47,2.66,2.57,2.60,2.62,
-2.64,2.64,2.58,2.52,2.63,2.64,2.76,2.52,2.75,2.63,
-2.68,2.64,2.76,2.88,2.55,2.69,2.77,2.70,2.79,2.78,
-2.64,2.70,2.85,2.77,2.81,2.79,2.72,2.84,2.87,2.73,
-2.84,2.99,2.81,2.79,2.75,3.02,2.93,2.89,2.93,2.91,
-2.83,2.89,2.95,2.94,2.83,2.93,3.00,3.02,3.10,2.98,
-3.01,3.03,3.15,2.98,3.05,2.95,2.97,2.86,3.03,3.02,
-3.13,3.09,3.16,3.06,3.06,3.14,3.10,3.10,2.97,3.11,
-3.18,3.05,3.26,3.37,3.19,3.02,3.07,3.27,3.12,3.17,
-3.13,3.20,3.28,3.19,3.06,3.23,3.20,3.27,3.21,3.30,
-3.28,3.27,3.20,3.40,3.18,3.34,3.34,3.17,3.32,3.31,
-3.42,3.26,3.28,3.30,3.32,3.40,3.25,3.30,3.51,3.40,
-3.29,3.42,3.50,3.41,3.47,3.40,3.40,3.46,3.46,3.39,
-3.48,3.49,3.39,3.46,3.36,3.37,3.50,3.40,3.46,3.42,
-3.48,3.37,3.53,3.58,3.49,3.55,3.47,3.54,3.58,3.38,
-0.64,0.68,0.70,0.73,0.73,0.75,0.80,0.81,0.85,0.85,
-0.90,0.93,0.91,0.94,0.95,0.94,1.02,1.05,1.00,1.06,
-1.10,1.11,1.10,1.10,1.13,1.14,1.17,1.22,1.14,1.20,
-1.17,1.30,1.30,1.29,1.30,1.30,1.31,1.36,1.33,1.36,
-1.35,1.41,1.45,1.41,1.41,1.48,1.44,1.44,1.47,1.48,
-1.46,1.51,1.56,1.60,1.55,1.58,1.61,1.61,1.64,1.62,
-1.58,1.65,1.65,1.64,1.69,1.72,1.71,1.66,1.66,1.73,
-1.68,1.79,1.79,1.78,1.85,1.79,1.81,1.80,1.83,1.83,
-1.88,1.86,1.82,1.84,1.86,1.87,1.92,1.90,1.95,1.95,
-1.88,1.94,1.98,1.95,2.06,2.04,1.91,2.09,2.06,2.02,
-2.02,2.05,2.05,2.07,2.07,2.06,2.14,2.12,2.05,2.20,
-2.14,2.04,2.12,2.21,2.06,2.21,2.11,2.17,2.21,2.21,
-2.12,2.20,2.20,2.27,2.22,2.28,2.27,2.19,2.21,2.27,
-2.30,2.20,2.33,2.35,2.34,2.37,2.28,2.35,2.35,2.36,
-2.37,2.48,2.39,2.38,2.31,2.44,2.40,2.43,2.44,2.43,
-2.41,2.34,2.45,2.47,2.43,2.49,2.47,2.37,2.41,2.49,
-2.57,2.53,2.56,2.44,2.53,2.65,2.67,2.62,2.63,2.54,
-2.57,2.67,2.70,2.59,2.62,2.66,2.65,2.66,2.70,2.60,
-2.66,2.64,2.67,2.64,2.73,2.81,2.78,2.74,2.81,2.76,
-2.73,2.85,2.71,2.78,2.71,2.80,2.69,2.73,2.89,2.64,
-2.73,2.75,2.80,2.84,2.84,2.82,2.83,2.87,2.85,2.76,
-2.88,2.77,2.95,2.83,2.97,2.89,2.92,2.97,2.90,3.01,
-2.91,2.99,2.90,2.87,2.95,2.91,2.95,2.99,2.88,2.93,
-3.02,3.05,3.05,2.94,3.07,3.05,3.12,3.09,3.04,3.05,
-3.03,3.12,3.06,3.03,3.08,3.09,3.11,3.09,3.05,3.13,
-3.09,3.22,3.17,3.13,3.09,3.21,3.23,3.19,3.19,3.10,
-3.32,3.16,3.16,3.16,3.19,3.12,3.12,3.24,3.24,3.36,
-3.06,3.41,3.25,3.25,3.39,3.25,3.13,3.42,3.24,3.36,
-3.30,3.26,3.30,3.26,3.25,3.24,3.39,3.34,3.42,3.49,
-0.58,0.62,0.65,0.70,0.70,0.75,0.72,0.74,0.79,0.84,
-0.83,0.85,0.89,0.93,0.94,0.92,0.93,0.96,0.95,1.00,
-1.01,1.06,1.06,1.07,1.02,1.06,1.14,1.12,1.15,1.14,
-1.17,1.17,1.15,1.19,1.22,1.25,1.23,1.26,1.28,1.27,
-1.30,1.29,1.34,1.34,1.35,1.39,1.38,1.40,1.38,1.42,
-1.40,1.44,1.46,1.45,1.49,1.50,1.50,1.50,1.45,1.49,
-1.55,1.57,1.56,1.53,1.59,1.52,1.61,1.64,1.62,1.62,
-1.63,1.66,1.77,1.67,1.62,1.69,1.75,1.72,1.72,1.72,
-1.72,1.74,1.73,1.77,1.74,1.83,1.82,1.85,1.81,1.79,
-1.87,1.77,1.81,1.88,1.89,1.85,1.84,1.87,1.94,1.86,
-1.95,1.87,1.97,2.01,1.94,1.89,1.97,1.93,1.98,1.97,
-1.99,2.01,2.01,2.07,1.95,2.01,1.98,1.95,2.14,2.07,
-2.04,2.10,2.17,2.13,2.14,2.05,2.10,2.10,2.15,2.12,
-2.16,2.19,2.19,2.21,2.18,2.25,2.16,2.24,2.20,2.16,
-2.22,2.23,2.30,2.26,2.30,2.33,2.22,2.34,2.30,2.27,
-2.27,2.35,2.32,2.29,2.32,2.42,2.37,2.42,2.37,2.35,
-2.42,2.45,2.40,2.38,2.52,2.38,2.39,2.38,2.47,2.43,
-2.50,2.36,2.41,2.43,2.39,2.37,2.41,2.50,2.52,2.55,
-2.46,2.51,2.58,2.58,2.54,2.63,2.52,2.51,2.56,2.60,
-2.54,2.63,2.56,2.55,2.63,2.60,2.60,2.71,2.68,2.51,
-2.55,2.64,2.69,2.63,2.66,2.57,2.72,2.70,2.74,2.75,
-2.71,2.70,2.59,2.70,2.81,2.83,2.65,2.78,2.72,2.64,
-2.79,2.72,2.76,2.76,2.72,2.72,2.72,2.77,2.84,2.84,
-2.89,2.94,2.80,2.77,2.88,2.88,2.74,2.96,2.88,2.81,
-2.97,2.78,2.89,3.02,2.94,2.94,2.96,2.93,2.94,2.95,
-2.81,2.97,2.90,2.88,2.95,2.98,3.01,3.15,2.92,2.94,
-2.94,2.99,3.05,3.12,3.04,3.04,3.03,2.95,2.93,3.08,
-3.06,3.04,3.16,3.11,2.99,3.05,2.98,3.08,3.13,3.01,
-3.03,3.11,3.03,3.02,3.17,3.02,3.19,3.12,3.20,3.13,
-1.12,1.19,1.25,1.26,1.32,1.36,1.33,1.42,1.48,1.45,
-1.47,1.58,1.59,1.60,1.62,1.76,1.71,1.76,1.80,1.80,
-1.79,1.95,1.96,1.84,1.84,1.95,2.00,2.09,2.08,2.03,
-2.11,2.10,2.12,2.17,2.19,2.26,2.29,2.25,2.27,2.34,
-2.34,2.32,2.43,2.38,2.48,2.46,2.50,2.46,2.44,2.56,
-2.68,2.66,2.66,2.62,2.75,2.57,2.77,2.80,2.74,2.71,
-2.86,2.74,2.82,2.85,2.97,2.81,2.81,2.93,2.80,2.85,
-2.89,2.93,2.96,2.99,3.05,2.89,3.08,3.17,3.10,3.13,
-3.18,3.28,3.05,3.19,3.14,3.33,3.33,3.25,3.30,3.35,
-3.31,3.38,3.34,3.31,3.40,3.30,3.62,3.49,3.47,3.50,
-3.46,3.67,3.52,3.45,3.64,3.53,3.46,3.66,3.58,3.57,
-3.54,3.64,3.70,3.67,3.69,3.70,3.76,3.79,3.79,4.06,
-3.74,3.90,3.78,3.69,3.79,3.83,3.90,3.91,3.78,3.94,
-3.82,4.05,3.84,3.98,3.99,3.93,3.91,4.02,4.12,3.92,
-4.11,4.14,4.21,4.07,4.03,4.23,4.15,4.32,4.22,4.17,
-4.28,4.19,4.16,4.17,4.25,4.39,4.18,4.17,4.13,4.35,
-4.43,4.33,4.41,4.42,4.39,4.22,4.48,4.29,4.43,4.57,
-4.33,4.32,4.43,4.54,4.67,4.41,4.51,4.44,4.42,4.59,
-4.67,4.67,4.48,4.73,4.57,4.73,4.60,4.84,4.77,4.62,
-4.66,4.61,4.74,4.87,4.88,4.67,4.92,4.75,4.60,4.91,
-4.97,4.76,4.99,4.90,4.71,5.05,4.95,4.92,4.84,4.90,
-4.70,4.87,4.81,4.90,4.97,4.96,4.99,5.01,4.96,5.03,
-5.02,5.05,5.26,4.94,5.07,5.12,4.99,4.94,5.03,5.34,
-5.03,5.10,5.20,5.31,4.98,5.22,5.31,5.25,5.21,5.11,
-5.19,5.06,5.30,5.06,5.55,5.21,5.31,5.17,5.41,5.50,
-5.47,5.36,5.38,5.54,5.36,5.40,5.40,5.45,5.37,5.42,
-5.51,5.67,5.42,5.55,5.70,5.53,5.41,5.67,5.35,5.45,
-5.41,5.59,5.46,5.52,5.49,5.71,5.69,5.38,5.60,5.60,
-5.51,5.77,5.58,5.58,5.58,5.28,5.64,5.59,5.91,5.75,
-1.06,1.10,1.16,1.20,1.24,1.28,1.30,1.31,1.42,1.46,
-1.43,1.55,1.53,1.60,1.59,1.66,1.63,1.72,1.75,1.71,
-1.85,1.81,1.78,1.94,1.89,1.91,1.94,1.97,1.97,2.00,
-2.01,2.08,2.16,2.12,2.17,2.19,2.22,2.23,2.33,2.32,
-2.29,2.37,2.31,2.34,2.43,2.41,2.46,2.43,2.55,2.49,
-2.52,2.50,2.51,2.52,2.72,2.49,2.61,2.62,2.61,2.71,
-2.73,2.62,2.75,2.72,2.76,2.91,2.83,2.86,2.88,2.79,
-2.86,2.83,2.98,3.01,3.01,2.97,2.98,3.01,2.93,3.01,
-3.10,3.08,3.24,3.19,3.08,3.25,3.17,3.25,3.24,3.15,
-3.27,3.24,3.14,3.41,3.38,3.34,3.37,3.32,3.42,3.45,
-3.45,3.38,3.38,3.43,3.48,3.39,3.57,3.54,3.43,3.46,
-3.53,3.53,3.75,3.65,3.57,3.63,3.62,3.67,3.52,3.83,
-3.77,3.66,3.78,3.77,3.74,3.72,3.80,3.71,3.76,3.78,
-4.02,4.11,3.76,3.81,3.79,3.91,3.85,3.88,4.10,3.97,
-3.83,3.88,3.76,4.06,3.98,4.00,4.10,4.04,3.97,3.99,
-4.06,3.99,4.04,4.07,4.09,4.25,4.12,4.08,4.33,4.17,
-4.20,4.21,4.24,4.11,4.06,4.22,4.37,4.41,4.28,4.37,
-4.45,4.50,4.35,4.35,4.39,4.33,4.50,4.31,4.46,4.47,
-4.50,4.49,4.51,4.36,4.50,4.40,4.57,4.56,4.49,4.69,
-4.38,4.59,4.86,4.55,4.58,4.57,4.68,4.55,4.61,4.59,
-4.75,4.65,4.66,4.71,4.59,4.53,4.62,4.72,4.65,4.61,
-4.85,4.71,4.93,4.51,4.79,4.70,4.90,4.82,4.91,4.97,
-4.76,4.82,4.88,4.93,5.12,5.05,4.96,5.09,4.90,4.95,
-5.08,5.10,5.00,5.07,5.03,4.95,5.12,5.23,4.91,5.07,
-5.09,4.88,5.24,5.11,5.02,5.21,5.04,5.11,5.17,5.03,
-5.33,5.20,5.19,5.24,5.21,5.09,5.17,5.37,5.33,5.63,
-5.25,5.19,5.43,5.37,5.31,5.46,5.39,5.33,5.46,5.34,
-5.23,5.37,5.49,5.46,5.39,5.35,5.44,5.60,5.56,5.43,
-5.37,5.48,5.53,5.44,5.44,5.60,5.49,5.59,5.47,5.40,
-1.03,1.10,1.20,1.19,1.23,1.25,1.31,1.36,1.38,1.48,
-1.45,1.49,1.56,1.49,1.53,1.62,1.68,1.66,1.71,1.70,
-1.71,1.77,1.85,1.80,1.81,1.86,1.90,1.94,1.93,1.94,
-2.03,1.99,2.02,2.10,2.08,2.15,2.14,2.16,2.23,2.29,
-2.34,2.28,2.27,2.27,2.35,2.35,2.37,2.50,2.48,2.43,
-2.34,2.44,2.48,2.53,2.47,2.51,2.68,2.57,2.63,2.62,
-2.69,2.73,2.76,2.71,2.70,2.76,2.68,2.68,2.84,2.82,
-2.79,2.86,2.88,2.89,2.83,2.89,2.97,2.92,2.98,2.90,
-3.00,3.05,2.95,2.95,2.96,3.05,3.06,3.09,2.99,3.19,
-3.24,3.09,3.26,3.30,3.15,3.19,3.23,3.20,3.29,3.43,
-3.33,3.39,3.34,3.33,3.36,3.39,3.59,3.45,3.37,3.46,
-3.37,3.48,3.58,3.54,3.53,3.50,3.55,3.60,3.62,3.52,
-3.55,3.66,3.61,3.57,3.56,3.76,3.72,3.68,3.63,3.69,
-3.73,3.77,3.65,3.82,3.71,3.82,3.80,3.75,3.88,3.88,
-3.88,3.71,3.72,3.90,3.83,3.93,4.10,4.01,3.91,3.95,
-4.08,4.10,4.10,3.91,4.04,4.00,4.23,3.96,3.97,4.06,
-4.14,4.20,4.09,4.14,4.15,4.14,4.22,4.08,4.37,4.18,
-4.31,4.35,4.35,4.11,4.38,4.23,4.21,4.27,4.30,4.41,
-4.30,4.29,4.53,4.45,4.37,4.46,4.53,4.49,4.42,4.45,
-4.47,4.47,4.40,4.51,4.34,4.62,4.58,4.48,4.52,4.51,
-4.76,4.43,4.62,4.54,4.53,4.57,4.67,4.73,4.57,4.72,
-4.68,4.71,4.63,4.71,4.58,4.80,4.67,4.72,4.74,4.76,
-4.94,4.74,4.94,5.04,4.78,4.88,4.86,4.92,4.82,4.64,
-4.93,4.76,4.89,5.02,4.94,4.84,5.06,4.87,4.74,4.99,
-5.12,4.91,4.96,5.04,5.05,5.11,5.05,5.15,5.20,5.20,
-4.99,5.12,5.07,5.21,5.16,5.21,5.46,5.32,5.09,5.05,
-5.26,5.30,5.27,5.00,5.12,5.17,5.37,5.10,5.48,5.19,
-4.95,5.53,5.27,5.43,5.40,5.45,5.17,5.46,5.37,5.36,
-5.26,5.26,5.46,5.26,5.46,5.41,5.62,5.46,5.47,5.46,
-1.05,1.06,1.10,1.16,1.19,1.28,1.31,1.30,1.38,1.30,
-1.43,1.46,1.50,1.53,1.53,1.52,1.60,1.63,1.63,1.67,
-1.69,1.72,1.74,1.79,1.83,1.83,1.90,1.91,1.98,1.92,
-1.89,1.96,2.01,2.04,2.11,2.09,2.07,2.24,2.10,2.10,
-2.28,2.20,2.21,2.26,2.32,2.35,2.29,2.45,2.30,2.44,
-2.41,2.38,2.44,2.46,2.42,2.59,2.58,2.43,2.55,2.65,
-2.55,2.70,2.57,2.59,2.65,2.60,2.58,2.73,2.71,2.74,
-2.73,2.70,2.85,2.92,2.78,2.85,2.77,2.85,2.92,2.85,
-3.02,2.94,2.94,3.09,3.07,2.98,2.99,3.13,3.09,3.11,
-3.07,3.10,3.25,3.16,3.13,3.18,3.33,3.11,3.16,3.22,
-3.33,3.27,3.43,3.27,3.35,3.31,3.26,3.31,3.36,3.29,
-3.47,3.32,3.29,3.43,3.37,3.56,3.56,3.40,3.46,3.50,
-3.55,3.47,3.46,3.49,3.69,3.64,3.60,3.63,3.60,3.73,
-3.71,3.69,3.52,3.51,3.65,3.60,3.52,3.57,3.73,3.63,
-3.67,3.82,3.71,3.78,4.00,3.79,3.81,3.98,3.77,3.83,
-3.81,3.87,3.96,3.95,4.10,4.01,3.88,4.09,3.95,4.08,
-3.96,3.92,4.05,4.14,4.09,4.14,4.28,4.28,4.15,4.07,
-4.08,4.12,4.13,4.14,4.25,4.22,4.28,4.19,4.19,4.25,
-4.40,4.27,4.55,4.22,4.07,4.28,4.30,4.26,4.25,4.40,
-4.28,4.33,4.40,4.42,4.50,4.22,4.30,4.66,4.49,4.41,
-4.27,4.38,4.61,4.62,4.54,4.29,4.51,4.65,4.75,4.57,
-4.45,4.61,4.64,4.66,4.70,4.66,4.55,4.64,4.73,4.69,
-4.66,4.73,4.71,4.77,4.83,4.72,4.71,4.67,4.82,4.54,
-4.90,4.65,4.73,4.63,4.88,4.73,4.73,4.98,4.84,4.82,
-4.95,4.64,4.81,4.95,4.81,4.85,5.07,4.82,4.96,5.03,
-4.89,4.98,5.06,5.04,4.98,4.93,5.10,4.89,5.04,4.93,
-4.80,5.23,5.04,5.17,5.18,5.15,5.25,5.11,5.04,4.97,
-5.21,4.92,5.16,5.02,5.26,5.26,5.26,5.43,5.30,5.32,
-5.25,5.36,5.15,5.31,5.35,5.17,5.36,5.36,5.30,5.35,
-1.02,1.05,1.08,1.13,1.20,1.17,1.23,1.28,1.30,1.33,
-1.36,1.41,1.46,1.51,1.52,1.53,1.60,1.59,1.64,1.67,
-1.70,1.69,1.74,1.73,1.84,1.80,1.82,1.89,1.86,1.87,
-1.89,1.98,1.94,1.98,2.02,2.09,2.06,2.04,2.06,2.17,
-2.18,2.09,2.19,2.18,2.31,2.14,2.37,2.32,2.33,2.42,
-2.36,2.41,2.44,2.45,2.54,2.32,2.44,2.50,2.59,2.49,
-2.49,2.62,2.62,2.52,2.63,2.57,2.63,2.63,2.68,2.72,
-2.80,2.70,2.87,2.64,2.78,2.78,2.87,2.81,2.88,2.96,
-2.81,2.92,2.87,2.85,2.90,2.98,2.97,2.89,3.00,2.90,
-2.98,3.08,2.94,3.06,3.12,3.11,3.06,3.09,3.07,3.13,
-3.11,3.17,3.21,3.31,3.29,3.19,3.27,3.26,3.33,3.26,
-3.37,3.30,3.39,3.29,3.19,3.39,3.44,3.38,3.45,3.45,
-3.56,3.44,3.33,3.46,3.61,3.47,3.58,3.61,3.58,3.55,
-3.39,3.51,3.59,3.51,3.72,3.63,3.61,3.59,3.74,3.63,
-3.64,3.65,3.97,3.66,3.72,3.74,3.72,3.77,3.84,3.83,
-3.67,3.88,3.83,3.88,3.81,3.86,3.84,3.87,4.01,3.78,
-3.96,3.75,3.98,4.12,4.01,3.98,3.94,4.02,3.96,4.15,
-3.92,4.02,4.09,4.21,4.04,4.12,3.99,4.08,3.99,4.28,
-4.30,4.19,4.14,4.22,4.17,4.31,4.23,4.35,4.24,4.10,
-4.29,4.16,4.14,4.20,4.16,4.45,4.39,4.26,4.20,4.53,
-4.40,4.34,4.34,4.50,4.58,4.35,4.25,4.36,4.40,4.36,
-4.48,4.35,4.41,4.41,4.42,4.57,4.57,4.42,4.39,4.57,
-4.40,4.56,4.65,4.70,4.63,4.56,4.46,4.95,4.77,4.58,
-4.64,4.43,4.73,4.55,4.91,4.68,4.61,4.86,4.73,4.96,
-4.83,4.68,4.63,4.68,4.85,4.82,4.93,4.81,4.90,4.79,
-4.80,4.73,4.88,4.99,4.77,5.08,4.87,5.15,4.89,4.89,
-4.98,4.87,5.03,4.89,5.07,4.90,4.83,4.89,4.79,5.03,
-5.12,4.95,5.19,4.98,4.78,5.27,5.16,5.14,5.13,5.24,
-4.98,5.22,4.90,5.32,5.03,5.14,5.21,5.01,5.26,5.12,
-0.96,1.03,1.06,1.10,1.12,1.16,1.21,1.20,1.27,1.31,
-1.36,1.36,1.39,1.41,1.49,1.49,1.54,1.51,1.52,1.59,
-1.63,1.67,1.67,1.70,1.74,1.75,1.78,1.75,1.82,1.77,
-1.86,1.94,1.90,1.93,1.91,1.97,2.06,1.96,2.09,2.05,
-2.02,2.13,2.15,2.12,2.09,2.22,2.21,2.30,2.25,2.30,
-2.32,2.30,2.33,2.30,2.36,2.35,2.45,2.37,2.41,2.42,
-2.44,2.36,2.61,2.43,2.52,2.61,2.49,2.54,2.66,2.64,
-2.67,2.71,2.70,2.59,2.69,2.74,2.72,2.83,2.80,2.75,
-2.91,2.81,2.83,2.83,2.83,2.90,2.98,3.01,2.74,3.04,
-2.80,2.82,2.97,2.97,2.97,3.01,3.04,3.16,3.02,2.95,
-3.06,3.08,3.12,3.01,3.05,3.14,3.16,3.18,3.06,3.30,
-3.15,3.18,3.24,3.15,3.23,3.16,3.34,3.28,3.38,3.23,
-3.49,3.35,3.35,3.36,3.42,3.39,3.41,3.42,3.47,3.45,
-3.52,3.42,3.56,3.54,3.55,3.66,3.41,3.53,3.53,3.61,
-3.67,3.55,3.61,3.66,3.50,3.59,3.76,3.59,3.77,3.67,
-3.78,3.64,3.69,3.74,3.75,3.70,3.86,3.69,3.94,3.95,
-3.87,3.88,3.76,3.89,3.94,3.83,3.90,3.94,3.88,3.89,
-4.06,3.90,4.01,4.02,3.87,4.04,3.98,3.92,4.14,4.14,
-4.12,4.07,3.95,3.87,4.05,3.91,4.06,4.00,4.21,4.11,
-4.02,4.20,4.07,4.02,4.28,4.20,4.19,4.14,4.28,4.20,
-4.09,4.35,4.15,4.24,4.17,4.29,4.25,4.27,4.37,4.18,
-4.39,4.53,4.36,4.37,4.34,4.41,4.38,4.51,4.41,4.45,
-4.51,4.40,4.47,4.46,4.36,4.48,4.52,4.42,4.51,4.40,
-4.33,4.79,4.44,4.53,4.61,4.80,4.52,4.65,4.61,4.66,
-4.46,4.79,4.75,4.73,4.69,4.80,4.50,4.86,4.78,4.52,
-4.82,4.58,4.82,4.80,4.71,4.61,4.38,4.70,4.81,4.70,
-4.85,4.69,4.95,4.73,4.74,4.60,4.76,4.96,4.77,4.78,
-4.95,4.96,4.88,4.81,4.79,4.73,4.84,4.93,4.86,4.97,
-4.84,4.92,4.77,5.11,4.96,4.95,5.13,5.11,5.25,4.94,
-0.97,0.99,1.00,1.06,1.08,1.12,1.12,1.22,1.22,1.27,
-1.34,1.32,1.38,1.45,1.44,1.46,1.43,1.57,1.63,1.55,
-1.51,1.53,1.61,1.63,1.62,1.68,1.75,1.77,1.72,1.81,
-1.81,1.83,1.84,1.88,1.86,1.90,2.00,1.90,1.95,2.04,
-1.99,1.99,2.05,2.03,2.08,2.14,2.15,2.13,2.17,2.19,
-2.23,2.23,2.17,2.27,2.29,2.27,2.37,2.37,2.33,2.45,
-2.36,2.36,2.42,2.45,2.37,2.45,2.47,2.48,2.59,2.51,
-2.54,2.47,2.58,2.61,2.64,2.58,2.62,2.61,2.55,2.63,
-2.74,2.62,2.69,2.78,2.72,2.81,2.78,2.81,2.85,2.83,
-2.78,2.88,2.90,2.88,2.80,2.96,2.97,2.92,2.95,2.96,
-2.90,3.02,3.09,2.89,3.04,2.89,3.06,3.16,3.02,2.99,
-3.07,3.17,2.93,3.11,3.21,3.17,3.23,3.18,3.13,3.15,
-3.22,3.20,3.24,3.23,3.14,3.16,3.28,3.39,3.36,3.28,
-3.19,3.40,3.38,3.46,3.42,3.45,3.44,3.33,3.50,3.42,
-3.42,3.47,3.62,3.41,3.58,3.57,3.58,3.55,3.57,3.52,
-3.55,3.61,3.57,3.61,3.63,3.74,3.77,3.62,3.72,3.71,
-3.63,3.61,3.56,3.81,3.70,3.70,3.64,3.70,3.82,3.80,
-3.71,3.70,3.96,3.77,3.68,3.86,3.85,3.75,3.86,3.89,
-3.98,3.95,3.95,3.93,3.94,3.99,4.00,3.83,4.02,3.97,
-4.02,4.10,4.08,4.08,4.09,3.98,3.97,4.10,3.90,4.15,
-4.06,4.14,4.30,4.05,4.04,4.25,4.18,4.05,4.14,4.26,
-4.12,4.18,4.10,4.17,4.15,4.13,4.20,4.42,4.17,4.26,
-4.13,4.36,4.10,4.44,4.39,4.28,4.21,4.29,4.46,4.40,
-4.35,4.39,4.31,4.27,4.43,4.40,4.45,4.49,4.62,4.30,
-4.39,4.51,4.63,4.57,4.35,4.29,4.37,4.59,4.39,4.57,
-4.62,4.63,4.52,4.65,4.55,4.52,4.52,4.47,4.68,4.58,
-4.58,4.65,4.77,4.76,4.60,4.69,4.63,4.68,4.81,4.63,
-4.83,4.91,4.79,4.72,4.71,4.78,4.67,4.53,4.71,4.77,
-4.63,4.87,5.14,4.76,4.81,4.87,4.75,4.94,4.92,4.77,
-0.91,0.91,0.99,1.04,1.04,1.10,1.14,1.16,1.21,1.23,
-1.25,1.30,1.34,1.32,1.36,1.41,1.46,1.42,1.47,1.48,
-1.50,1.55,1.59,1.58,1.55,1.67,1.69,1.65,1.75,1.77,
-1.73,1.75,1.74,1.83,1.76,1.78,1.90,1.95,1.90,1.96,
-2.01,1.96,2.04,1.97,1.99,2.07,2.13,2.01,2.00,2.11,
-2.15,2.19,2.18,2.19,2.08,2.16,2.32,2.18,2.21,2.36,
-2.25,2.27,2.35,2.32,2.28,2.45,2.46,2.45,2.37,2.43,
-2.48,2.51,2.58,2.49,2.55,2.54,2.50,2.56,2.44,2.58,
-2.60,2.64,2.63,2.63,2.63,2.62,2.66,2.74,2.75,2.66,
-2.81,2.75,2.80,2.72,2.71,2.81,2.85,2.83,2.72,2.78,
-2.92,2.93,2.78,2.92,2.94,3.00,2.85,2.90,2.90,3.03,
-2.98,2.98,3.00,3.14,3.02,3.13,3.04,2.97,2.97,3.11,
-2.99,3.17,3.10,3.02,3.28,3.19,3.10,3.23,3.16,3.09,
-3.17,3.34,3.16,3.25,3.33,3.44,3.33,3.38,3.23,3.24,
-3.28,3.53,3.36,3.27,3.40,3.25,3.48,3.26,3.47,3.46,
-3.49,3.60,3.41,3.45,3.49,3.35,3.63,3.51,3.47,3.58,
-3.56,3.57,3.66,3.64,3.45,3.63,3.59,3.53,3.58,3.76,
-3.58,3.66,3.80,3.72,3.59,3.74,3.75,3.58,3.61,3.86,
-3.74,3.67,3.84,3.83,3.75,3.83,3.83,3.85,3.98,3.78,
-3.74,3.79,3.90,3.89,3.76,3.85,3.92,3.98,4.05,3.86,
-4.02,3.94,3.86,4.05,3.91,3.90,3.95,4.19,4.08,3.91,
-4.12,4.07,4.08,4.19,4.03,4.10,4.18,4.15,4.02,4.10,
-4.01,4.08,4.10,4.13,4.13,4.03,4.19,4.07,4.16,4.27,
-4.20,4.42,4.16,4.20,4.21,4.43,4.28,4.33,4.24,4.23,
-4.25,4.18,4.21,4.28,4.28,4.47,4.47,4.38,4.40,4.43,
-4.45,4.51,4.39,4.41,4.54,4.52,4.50,4.29,4.38,4.45,
-4.56,4.57,4.51,4.54,4.37,4.39,4.58,4.56,4.67,4.65,
-4.58,4.55,4.54,4.61,4.48,4.54,4.50,4.60,4.54,4.74,
-4.71,4.82,4.49,4.49,4.47,4.84,4.67,4.59,4.79,4.98,
-0.89,0.90,0.96,1.01,0.99,1.04,1.07,1.09,1.17,1.19,
-1.21,1.22,1.28,1.25,1.28,1.31,1.35,1.32,1.38,1.44,
-1.51,1.43,1.53,1.54,1.60,1.52,1.67,1.62,1.68,1.65,
-1.67,1.70,1.73,1.69,1.69,1.76,1.79,1.74,1.87,1.76,
-1.85,1.87,1.82,1.92,1.92,1.97,1.96,2.03,2.02,2.01,
-2.05,2.09,2.03,2.09,2.09,2.15,2.07,2.24,2.13,2.23,
-2.29,2.26,2.20,2.23,2.28,2.32,2.34,2.27,2.36,2.40,
-2.40,2.33,2.39,2.50,2.44,2.41,2.39,2.32,2.40,2.52,
-2.50,2.45,2.49,2.45,2.53,2.60,2.52,2.62,2.53,2.63,
-2.63,2.66,2.78,2.76,2.67,2.80,2.69,2.67,2.80,2.67,
-2.70,2.82,2.80,2.89,2.79,2.80,2.81,2.89,2.89,2.89,
-2.86,2.92,2.92,2.87,2.99,2.88,2.80,3.02,3.03,3.01,
-3.08,3.02,3.06,2.96,3.13,2.97,3.20,3.07,3.06,3.06,
-3.22,3.22,3.04,3.16,3.15,3.15,3.13,3.27,3.14,3.41,
-3.27,3.25,3.30,3.23,3.38,3.26,3.16,3.41,3.27,3.17,
-3.39,3.49,3.36,3.23,3.30,3.34,3.42,3.25,3.41,3.41,
-3.35,3.36,3.50,3.45,3.45,3.55,3.44,3.51,3.57,3.34,
-3.45,3.56,3.47,3.54,3.53,3.51,3.58,3.66,3.58,3.43,
-3.64,3.62,3.57,3.77,3.66,3.55,3.67,3.78,3.72,3.76,
-3.64,3.76,3.72,3.63,3.79,3.65,3.77,3.76,3.68,3.72,
-3.71,3.77,3.81,3.81,3.70,3.89,3.85,3.81,3.68,3.86,
-3.73,3.78,3.89,4.09,3.89,3.85,4.03,3.96,3.99,3.95,
-3.83,3.93,4.11,3.94,4.04,4.09,4.07,3.98,4.18,4.07,
-4.14,3.98,4.20,4.05,4.22,3.99,4.14,4.09,4.17,4.13,
-4.29,4.25,4.34,4.25,4.17,4.13,4.22,4.19,4.40,4.25,
-4.18,4.39,4.20,4.17,4.22,4.35,4.16,4.34,4.31,4.21,
-4.28,4.46,4.30,4.30,4.24,4.33,4.31,4.44,4.39,4.27,
-4.49,4.32,4.40,4.35,4.47,4.48,4.46,4.53,4.30,4.54,
-4.43,4.44,4.47,4.44,4.36,4.48,4.33,4.64,4.47,4.55,
-0.83,0.86,0.93,0.94,0.95,0.98,1.06,1.05,1.14,1.16,
-1.15,1.21,1.17,1.28,1.27,1.26,1.26,1.33,1.36,1.37,
-1.38,1.43,1.39,1.51,1.48,1.49,1.49,1.49,1.58,1.61,
-1.63,1.58,1.69,1.68,1.59,1.71,1.70,1.78,1.74,1.78,
-1.80,1.78,1.83,1.79,1.87,1.83,1.82,1.91,1.94,1.94,
-2.02,1.96,1.96,1.99,2.01,1.98,2.07,2.08,2.13,2.10,
-2.15,2.12,2.17,2.10,2.12,2.14,2.22,2.27,2.24,2.29,
-2.21,2.28,2.29,2.34,2.29,2.34,2.37,2.28,2.37,2.41,
-2.45,2.37,2.44,2.42,2.43,2.41,2.43,2.48,2.48,2.43,
-2.48,2.44,2.49,2.51,2.58,2.56,2.58,2.63,2.58,2.67,
-2.55,2.66,2.69,2.67,2.75,2.75,2.70,2.73,2.80,2.64,
-2.77,2.88,2.75,2.75,2.74,2.80,2.85,2.94,2.99,2.83,
-2.94,2.82,2.92,2.74,2.88,3.01,2.82,3.02,3.02,2.94,
-3.00,3.02,3.00,3.02,3.00,3.01,3.05,3.07,3.14,3.12,
-3.13,3.11,3.04,3.12,3.12,3.09,3.05,3.20,3.12,3.22,
-3.30,3.24,3.24,3.30,3.12,3.30,3.18,3.34,3.22,3.28,
-3.29,3.33,3.29,3.51,3.30,3.29,3.29,3.23,3.40,3.23,
-3.49,3.37,3.33,3.50,3.37,3.44,3.35,3.32,3.37,3.42,
-3.44,3.55,3.44,3.38,3.51,3.47,3.42,3.58,3.58,3.64,
-3.45,3.49,3.50,3.64,3.57,3.60,3.63,3.56,3.59,3.57,
-3.70,3.66,3.56,3.63,3.52,3.81,3.84,3.70,3.72,3.68,
-3.87,3.72,3.73,3.72,3.81,3.90,3.86,3.82,3.86,3.80,
-3.77,3.86,3.74,3.84,3.81,3.85,3.85,4.09,3.95,3.92,
-3.96,4.01,4.01,3.90,4.02,3.86,3.96,3.94,3.99,4.01,
-4.04,3.80,3.99,4.25,3.92,4.20,4.27,4.02,4.06,4.07,
-4.11,4.11,4.17,4.16,4.01,4.12,4.07,4.22,4.01,4.25,
-4.00,4.23,4.34,4.14,4.14,4.22,4.08,4.08,4.12,4.22,
-4.26,4.17,4.22,4.33,4.27,4.38,4.16,4.12,4.16,4.34,
-4.24,4.29,4.37,4.29,4.37,4.18,4.26,4.39,4.22,4.38,
-0.80,0.84,0.89,0.89,0.91,0.98,0.98,1.06,1.03,1.09,
-1.10,1.15,1.12,1.16,1.17,1.26,1.20,1.29,1.30,1.29,
-1.29,1.31,1.38,1.40,1.44,1.43,1.42,1.42,1.47,1.49,
-1.51,1.50,1.60,1.60,1.54,1.60,1.69,1.63,1.65,1.63,
-1.70,1.75,1.76,1.79,1.79,1.86,1.86,1.89,1.84,1.93,
-1.85,1.81,1.88,1.86,1.86,1.96,2.00,1.96,2.03,2.00,
-2.05,2.06,2.00,2.02,2.08,2.16,1.96,2.14,2.07,2.17,
-2.20,2.12,2.20,2.15,2.23,2.19,2.26,2.27,2.22,2.29,
-2.23,2.29,2.35,2.32,2.37,2.35,2.31,2.43,2.40,2.44,
-2.44,2.36,2.46,2.37,2.51,2.49,2.48,2.50,2.56,2.54,
-2.62,2.52,2.55,2.64,2.54,2.48,2.49,2.62,2.67,2.58,
-2.66,2.71,2.62,2.71,2.60,2.67,2.70,2.75,2.70,2.75,
-2.72,2.64,2.79,2.83,2.79,2.87,2.76,2.85,2.68,2.86,
-2.81,2.80,2.87,2.79,2.85,2.88,2.90,2.96,3.06,2.88,
-2.98,3.04,2.97,3.02,3.03,2.97,3.08,3.09,3.07,3.05,
-3.08,3.04,2.96,3.07,3.20,3.11,3.03,3.12,3.14,3.06,
-2.97,3.06,3.19,3.21,3.20,3.26,3.10,3.27,3.22,3.20,
-3.25,3.20,3.38,3.24,3.26,3.26,3.40,3.41,3.30,3.28,
-3.33,3.39,3.18,3.40,3.35,3.37,3.49,3.42,3.40,3.35,
-3.43,3.46,3.40,3.42,3.41,3.49,3.54,3.49,3.38,3.44,
-3.49,3.48,3.46,3.67,3.56,3.52,3.44,3.46,3.36,3.44,
-3.56,3.39,3.72,3.53,3.59,3.66,3.69,3.61,3.66,3.55,
-3.53,3.64,3.53,3.57,3.66,3.66,3.75,3.66,3.71,3.69,
-3.72,3.73,3.64,3.67,3.71,3.84,3.74,3.68,3.72,3.72,
-3.99,3.81,3.77,3.77,3.87,3.84,3.79,3.81,3.77,3.82,
-3.97,3.85,3.89,3.95,3.97,3.87,3.91,4.05,3.95,3.88,
-3.84,4.06,3.99,4.00,4.06,3.95,3.97,3.99,3.94,4.18,
-4.04,4.09,3.89,4.06,4.05,4.17,4.14,4.10,4.15,3.98,
-4.22,4.06,4.09,3.99,4.28,4.05,4.07,4.07,4.25,4.29,
-0.77,0.80,0.81,0.87,0.87,0.94,0.96,0.97,1.00,1.04,
-1.05,1.05,1.09,1.13,1.13,1.18,1.20,1.17,1.27,1.22,
-1.28,1.30,1.25,1.35,1.28,1.36,1.40,1.47,1.40,1.41,
-1.46,1.49,1.53,1.51,1.51,1.57,1.57,1.62,1.62,1.62,
-1.63,1.65,1.61,1.74,1.67,1.73,1.75,1.67,1.74,1.84,
-1.75,1.83,1.89,1.79,1.87,1.92,1.86,1.95,1.87,1.91,
-1.97,1.91,1.94,2.00,2.05,2.03,1.97,2.00,2.02,2.00,
-2.08,2.06,2.03,2.06,2.14,2.01,2.11,2.14,2.11,2.16,
-2.13,2.17,2.27,2.29,2.22,2.26,2.18,2.24,2.35,2.21,
-2.27,2.34,2.35,2.38,2.33,2.41,2.43,2.39,2.45,2.39,
-2.37,2.35,2.37,2.46,2.40,2.45,2.44,2.45,2.48,2.51,
-2.50,2.54,2.53,2.49,2.59,2.54,2.62,2.54,2.55,2.54,
-2.61,2.62,2.54,2.68,2.62,2.64,2.71,2.74,2.70,2.67,
-2.68,2.69,2.84,2.80,2.70,2.71,2.66,2.77,2.70,2.74,
-2.75,2.83,2.84,2.85,2.85,2.95,2.81,2.94,2.90,2.99,
-2.84,2.87,2.93,3.03,2.83,2.99,2.95,2.89,2.92,2.95,
-3.04,2.93,2.94,2.86,3.02,3.20,3.01,3.06,3.07,2.97,
-3.05,3.17,3.10,3.12,3.14,3.09,3.07,3.13,3.18,3.12,
-3.13,3.22,3.17,3.11,3.13,3.26,3.20,3.25,3.26,3.32,
-3.24,3.21,3.33,3.22,3.29,3.29,3.22,3.32,3.16,3.34,
-3.30,3.30,3.22,3.39,3.34,3.31,3.41,3.28,3.34,3.33,
-3.49,3.41,3.30,3.36,3.45,3.49,3.33,3.34,3.43,3.34,
-3.53,3.42,3.36,3.53,3.36,3.55,3.52,3.54,3.34,3.62,
-3.56,3.42,3.48,3.49,3.60,3.55,3.85,3.63,3.51,3.59,
-3.58,3.61,3.61,3.62,3.62,3.54,3.60,3.59,3.75,3.77,
-3.66,3.69,3.87,3.58,3.58,3.69,3.71,3.89,3.72,3.73,
-3.67,3.74,3.81,3.83,3.72,3.64,3.86,3.72,3.61,3.84,
-3.77,3.90,3.77,3.82,3.95,3.90,3.88,4.01,3.88,4.03,
-4.00,3.93,4.03,3.88,3.75,3.88,4.16,4.00,3.94,3.93,
-0.72,0.75,0.80,0.84,0.80,0.90,0.89,0.89,0.95,1.00,
-0.99,1.04,1.05,1.03,1.08,1.13,1.11,1.15,1.16,1.21,
-1.22,1.19,1.26,1.24,1.32,1.29,1.31,1.32,1.40,1.38,
-1.39,1.42,1.42,1.44,1.43,1.52,1.51,1.49,1.53,1.49,
-1.55,1.62,1.57,1.60,1.58,1.60,1.55,1.71,1.69,1.72,
-1.74,1.74,1.68,1.73,1.81,1.79,1.79,1.83,1.79,1.75,
-1.83,1.88,1.87,1.79,1.88,1.84,1.85,1.97,2.00,1.98,
-1.93,2.12,1.97,1.97,2.03,1.98,2.03,2.08,2.01,2.10,
-2.08,2.08,2.10,2.07,2.10,2.13,2.17,2.12,2.10,2.21,
-2.17,2.16,2.28,2.24,2.26,2.28,2.15,2.26,2.28,2.25,
-2.29,2.29,2.30,2.37,2.30,2.28,2.43,2.35,2.40,2.37,
-2.36,2.42,2.44,2.44,2.42,2.37,2.40,2.48,2.55,2.40,
-2.45,2.50,2.55,2.56,2.47,2.61,2.52,2.57,2.48,2.57,
-2.67,2.51,2.61,2.54,2.62,2.51,2.62,2.62,2.58,2.55,
-2.68,2.69,2.73,2.62,2.78,2.76,2.68,2.68,2.73,2.77,
-2.74,2.84,2.74,2.75,2.83,2.85,2.83,2.76,2.85,2.77,
-2.92,2.70,2.85,2.96,2.89,2.95,2.87,2.98,2.87,3.05,
-2.92,3.01,2.96,2.91,2.88,3.07,3.05,2.90,2.94,3.15,
-3.01,2.98,2.93,3.09,3.11,3.02,3.04,3.12,3.11,3.04,
-2.93,3.07,3.19,3.07,3.05,3.08,3.07,3.06,3.09,3.04,
-3.02,3.09,3.20,3.04,3.16,3.18,3.18,3.22,3.06,3.11,
-3.18,3.34,3.29,3.05,3.23,3.26,3.29,3.25,3.35,3.35,
-3.36,3.30,3.42,3.32,3.32,3.40,3.36,3.52,3.38,3.42,
-3.41,3.34,3.36,3.39,3.43,3.42,3.36,3.35,3.26,3.55,
-3.37,3.31,3.45,3.34,3.56,3.41,3.47,3.51,3.57,3.53,
-3.65,3.51,3.45,3.55,3.46,3.50,3.58,3.54,3.63,3.65,
-3.60,3.53,3.61,3.59,3.48,3.66,3.55,3.52,3.55,3.69,
-3.71,3.62,3.71,3.63,3.53,3.75,3.65,3.74,3.74,3.64,
-3.70,3.82,3.75,3.65,3.77,3.57,3.70,3.76,3.78,3.75,
-0.70,0.70,0.73,0.78,0.80,0.83,0.80,0.89,0.89,0.93,
-0.92,0.95,0.97,1.02,1.08,1.04,1.05,1.06,1.12,1.15,
-1.12,1.19,1.16,1.22,1.25,1.24,1.26,1.27,1.31,1.31,
-1.34,1.33,1.38,1.37,1.41,1.45,1.43,1.44,1.42,1.46,
-1.52,1.53,1.50,1.44,1.52,1.48,1.54,1.55,1.54,1.68,
-1.63,1.59,1.60,1.67,1.65,1.69,1.66,1.81,1.77,1.72,
-1.67,1.75,1.74,1.73,1.73,1.82,1.84,1.85,1.86,1.84,
-1.90,1.97,1.84,1.86,1.93,1.90,1.93,1.94,1.99,1.96,
-1.95,1.97,1.95,1.94,1.99,2.00,2.05,2.05,2.01,2.04,
-2.12,2.08,2.15,2.10,2.24,2.15,2.12,2.09,2.12,2.16,
-2.15,2.20,2.15,2.23,2.28,2.27,2.22,2.28,2.21,2.19,
-2.24,2.30,2.20,2.25,2.28,2.31,2.36,2.33,2.37,2.36,
-2.31,2.22,2.32,2.41,2.48,2.46,2.42,2.49,2.53,2.54,
-2.36,2.46,2.55,2.43,2.43,2.49,2.48,2.55,2.55,2.61,
-2.60,2.62,2.56,2.68,2.54,2.50,2.57,2.64,2.56,2.65,
-2.56,2.56,2.58,2.63,2.56,2.77,2.73,2.62,2.69,2.64,
-2.63,2.83,2.76,2.82,2.79,2.77,2.83,2.83,2.79,2.78,
-2.76,2.86,2.77,2.84,2.84,2.79,2.84,2.82,2.80,2.86,
-2.80,2.93,2.80,2.89,2.90,2.99,2.93,2.91,2.92,2.91,
-3.01,2.96,3.02,2.90,2.82,2.92,2.99,2.96,2.92,3.10,
-3.03,2.98,3.11,2.92,3.06,3.07,2.96,3.07,3.03,3.05,
-3.06,3.06,3.12,3.12,3.13,3.17,3.00,3.02,3.09,3.04,
-3.14,3.19,3.22,3.14,3.19,3.26,3.25,3.24,3.18,3.08,
-3.23,3.39,3.17,3.30,3.30,3.15,3.25,3.33,3.28,3.32,
-3.23,3.28,3.33,3.32,3.31,3.21,3.37,3.31,3.38,3.35,
-3.29,3.34,3.34,3.33,3.45,3.32,3.20,3.35,3.40,3.41,
-3.48,3.33,3.49,3.38,3.39,3.51,3.32,3.36,3.40,3.36,
-3.34,3.49,3.49,3.40,3.54,3.72,3.45,3.52,3.48,3.45,
-3.56,3.48,3.50,3.69,3.61,3.59,3.50,3.57,3.65,3.57,
-0.62,0.65,0.72,0.74,0.76,0.77,0.77,0.82,0.88,0.87,
-0.88,0.92,0.93,0.95,1.00,1.05,1.01,1.05,1.11,1.05,
-1.06,1.13,1.15,1.18,1.16,1.14,1.18,1.19,1.23,1.21,
-1.22,1.31,1.29,1.31,1.29,1.32,1.35,1.41,1.34,1.32,
-1.43,1.44,1.42,1.43,1.43,1.51,1.46,1.54,1.54,1.52,
-1.52,1.52,1.51,1.60,1.51,1.60,1.59,1.60,1.63,1.60,
-1.71,1.69,1.67,1.64,1.69,1.72,1.81,1.68,1.72,1.74,
-1.75,1.78,1.81,1.81,1.87,1.77,1.75,1.81,1.76,1.77,
-1.87,1.86,1.82,1.93,1.89,1.91,1.92,1.94,1.93,1.98,
-1.93,1.93,1.97,1.95,2.02,2.02,1.99,2.00,2.04,2.03,
-2.02,2.10,2.13,2.19,2.02,1.96,2.06,2.13,2.12,2.20,
-2.18,2.10,2.26,2.23,2.24,2.14,2.18,2.23,2.26,2.25,
-2.26,2.30,2.33,2.22,2.25,2.23,2.30,2.37,2.35,2.30,
-2.26,2.34,2.29,2.31,2.41,2.36,2.34,2.31,2.38,2.43,
-2.35,2.41,2.44,2.39,2.44,2.53,2.39,2.44,2.51,2.41,
-2.49,2.46,2.50,2.50,2.51,2.53,2.46,2.54,2.52,2.48,
-2.68,2.56,2.59,2.61,2.48,2.56,2.61,2.57,2.74,2.62,
-2.61,2.59,2.64,2.58,2.68,2.65,2.71,2.79,2.73,2.66,
-2.73,2.75,2.70,2.66,2.71,2.77,2.73,2.83,2.86,2.74,
-2.82,2.72,2.84,2.82,2.79,2.92,2.83,2.81,2.78,2.85,
-2.81,2.82,2.80,2.87,2.80,2.86,2.82,2.88,2.85,2.91,
-2.90,2.99,3.02,2.90,2.87,2.91,2.92,3.04,2.91,3.05,
-2.92,3.02,3.17,3.04,3.02,2.91,3.07,2.99,2.94,3.05,
-2.92,3.06,3.06,2.90,3.07,3.04,3.22,3.11,3.06,3.13,
-3.11,3.09,3.13,2.99,3.15,2.98,3.19,3.20,3.15,3.14,
-3.27,3.07,3.21,3.21,3.29,3.20,3.27,3.17,3.17,3.23,
-3.21,3.31,3.22,3.26,3.20,3.16,3.23,3.35,3.31,3.32,
-3.31,3.33,3.28,3.25,3.23,3.31,3.25,3.39,3.28,3.35,
-3.26,3.27,3.41,3.36,3.42,3.39,3.38,3.30,3.59,3.33,
-1.06,1.12,1.18,1.26,1.25,1.33,1.33,1.38,1.37,1.49,
-1.49,1.51,1.50,1.65,1.65,1.72,1.69,1.73,1.76,1.85,
-1.80,1.85,1.84,1.83,2.02,1.93,1.90,2.03,2.04,2.04,
-2.04,2.09,2.12,2.25,2.09,2.20,2.30,2.27,2.35,2.34,
-2.37,2.28,2.41,2.37,2.42,2.42,2.45,2.55,2.44,2.48,
-2.51,2.51,2.57,2.49,2.73,2.63,2.62,2.67,2.65,2.75,
-2.56,2.83,2.80,2.76,2.83,2.77,2.90,2.86,2.83,2.92,
-2.92,2.85,3.08,2.98,2.85,3.05,2.97,3.06,2.99,2.92,
-3.09,3.10,3.19,3.30,3.16,3.36,3.27,3.21,3.21,3.14,
-3.24,3.37,3.31,3.44,3.45,3.58,3.31,3.37,3.32,3.46,
-3.44,3.41,3.59,3.40,3.52,3.55,3.62,3.55,3.55,3.51,
-3.48,3.74,3.67,3.72,3.66,3.59,3.59,3.66,3.73,3.50,
-3.77,3.68,3.64,3.65,3.72,3.76,3.87,3.83,3.85,3.73,
-3.91,3.81,3.88,3.87,4.06,3.99,3.90,3.93,3.89,3.92,
-3.92,4.04,3.99,4.01,4.07,4.13,4.07,4.11,4.15,4.23,
-4.25,4.11,4.13,4.00,4.14,4.17,4.13,4.15,4.02,4.13,
-4.17,4.19,4.41,4.12,4.27,4.42,4.44,4.45,4.27,4.28,
-4.49,4.40,4.29,4.56,4.26,4.51,4.33,4.46,4.37,4.37,
-4.62,4.53,4.65,4.49,4.55,4.42,4.55,4.65,4.57,4.55,
-4.58,4.55,4.56,4.78,4.65,4.74,4.73,4.66,4.50,4.65,
-4.65,4.83,4.69,4.77,4.68,4.83,4.71,4.80,4.84,4.57,
-4.67,4.76,4.86,4.82,4.69,4.95,4.70,4.96,5.01,4.76,
-4.95,5.02,4.79,4.86,4.82,4.91,5.20,4.95,5.00,5.06,
-5.19,4.92,5.06,4.89,5.16,5.00,4.98,5.06,5.49,5.03,
-5.26,5.14,5.26,5.31,5.25,5.12,5.49,5.24,5.39,5.32,
-5.18,5.33,5.15,5.37,5.22,5.37,5.14,5.18,5.29,5.32,
-5.29,5.48,5.33,5.37,5.18,5.29,5.49,5.32,5.20,5.59,
-5.38,5.50,5.58,5.43,5.47,5.51,5.57,5.39,5.49,5.67,
-5.56,5.24,5.45,5.49,5.48,5.49,5.69,5.44,5.49,5.59,
-1.06,1.08,1.13,1.17,1.21,1.29,1.33,1.38,1.42,1.46,
-1.45,1.45,1.51,1.46,1.59,1.58,1.66,1.69,1.71,1.84,
-1.78,1.87,1.75,1.87,1.83,1.95,1.84,1.92,1.95,2.07,
-1.99,2.02,2.13,2.08,2.07,2.10,2.22,2.22,2.30,2.26,
-2.28,2.28,2.31,2.33,2.37,2.37,2.33,2.33,2.36,2.39,
-2.46,2.49,2.48,2.50,2.56,2.55,2.65,2.54,2.65,2.71,
-2.58,2.70,2.68,2.65,2.69,2.75,2.74,2.80,2.85,2.88,
-2.73,2.83,2.93,2.80,2.98,2.93,2.98,2.87,3.01,3.10,
-3.09,2.94,2.98,2.90,3.02,2.99,3.08,3.02,3.10,3.07,
-3.26,3.18,3.16,3.20,3.19,3.25,3.30,3.29,3.26,3.32,
-3.30,3.34,3.26,3.53,3.42,3.35,3.49,3.39,3.42,3.38,
-3.55,3.40,3.49,3.41,3.50,3.51,3.51,3.62,3.52,3.53,
-3.44,3.56,3.46,3.46,3.57,3.50,3.72,3.52,3.73,3.63,
-3.62,3.59,3.73,3.90,3.74,3.75,3.72,3.70,3.99,3.81,
-3.82,4.01,3.93,3.92,3.88,3.88,4.17,3.95,4.01,4.03,
-4.01,4.16,4.09,4.05,4.08,4.01,4.02,4.06,4.03,4.17,
-4.12,4.04,4.26,4.02,4.20,4.24,4.12,4.22,4.31,4.21,
-4.39,4.22,4.32,4.08,4.33,4.25,4.42,4.14,4.44,4.17,
-4.12,4.38,4.31,4.49,4.19,4.38,4.33,4.44,4.52,4.45,
-4.58,4.54,4.54,4.36,4.60,4.56,4.59,4.52,4.40,4.85,
-4.55,4.56,4.63,4.62,4.46,4.87,4.81,4.61,4.87,4.67,
-4.66,4.58,4.45,4.78,4.77,4.80,4.85,4.73,5.08,4.98,
-4.65,4.64,4.86,4.79,4.76,5.00,4.71,4.52,4.88,4.78,
-4.94,4.89,4.92,4.97,4.89,5.06,4.90,5.07,5.03,4.80,
-5.16,4.96,4.87,4.96,4.94,5.09,5.02,5.07,5.09,4.86,
-5.05,4.87,5.03,5.09,4.92,5.07,5.26,5.10,5.11,5.02,
-4.98,4.94,5.39,5.36,5.40,5.14,5.07,5.52,5.05,5.42,
-5.32,5.06,5.27,5.35,5.34,5.38,5.32,5.50,5.24,5.31,
-5.34,5.59,5.08,5.45,5.56,5.54,5.44,5.33,5.22,5.66,
-1.01,1.08,1.19,1.13,1.21,1.29,1.29,1.30,1.31,1.38,
-1.45,1.44,1.50,1.52,1.54,1.64,1.60,1.62,1.74,1.70,
-1.72,1.72,1.85,1.75,1.78,1.91,1.90,1.85,1.83,1.94,
-2.00,1.90,2.00,2.07,2.06,2.11,2.13,2.23,2.21,2.10,
-2.21,2.30,2.32,2.31,2.39,2.31,2.38,2.27,2.45,2.29,
-2.40,2.52,2.46,2.45,2.56,2.62,2.48,2.55,2.53,2.58,
-2.54,2.68,2.59,2.64,2.72,2.59,2.61,2.71,2.78,2.76,
-2.69,2.78,2.74,2.83,2.93,2.87,2.83,2.97,3.01,2.99,
-2.96,2.95,2.86,3.06,2.95,3.04,3.05,3.12,3.02,3.03,
-3.03,3.20,3.13,3.11,3.14,3.23,3.11,3.03,3.22,3.16,
-3.23,3.27,3.37,3.30,3.28,3.33,3.31,3.31,3.24,3.28,
-3.38,3.54,3.25,3.40,3.38,3.40,3.56,3.54,3.56,3.67,
-3.66,3.41,3.51,3.72,3.60,3.54,3.52,3.56,3.54,3.69,
-3.58,3.67,3.72,3.64,3.74,3.73,3.84,3.75,3.76,3.60,
-3.70,3.72,4.01,3.90,3.75,3.95,3.91,3.77,3.77,3.94,
-3.88,3.88,3.92,3.82,3.91,4.00,3.89,3.97,4.11,3.94,
-3.92,4.17,3.95,3.79,4.06,3.94,3.93,4.18,4.06,3.96,
-4.18,4.10,4.06,4.15,4.10,4.24,4.19,4.44,4.32,4.26,
-4.21,4.30,4.20,4.29,4.25,4.32,4.31,4.23,4.41,4.27,
-4.30,4.60,4.50,4.48,4.39,4.18,4.55,4.49,4.57,4.50,
-4.56,4.46,4.51,4.51,4.57,4.52,4.55,4.56,4.35,4.42,
-4.60,4.58,4.59,4.61,4.52,4.68,4.68,4.74,4.72,4.49,
-4.74,4.67,4.51,4.71,4.73,4.69,4.79,4.69,4.72,4.77,
-5.07,4.78,4.96,4.69,5.05,5.00,4.85,4.96,4.89,4.92,
-5.00,4.99,4.80,4.89,4.92,4.80,4.95,4.94,4.84,4.81,
-4.93,5.00,4.97,5.06,5.05,4.89,4.99,4.95,5.10,4.94,
-5.04,5.23,5.12,4.95,5.08,5.22,5.04,5.23,5.15,5.03,
-4.94,5.44,5.11,5.27,4.95,5.26,5.07,5.32,5.12,5.16,
-5.37,5.30,5.43,5.36,5.20,5.20,5.20,5.32,5.43,5.29,
-1.00,1.06,1.14,1.12,1.18,1.21,1.23,1.30,1.32,1.41,
-1.46,1.43,1.46,1.48,1.54,1.58,1.57,1.57,1.68,1.61,
-1.71,1.74,1.79,1.77,1.74,1.74,1.85,1.90,1.90,1.90,
-1.89,1.93,2.00,2.02,2.03,2.11,2.06,2.12,2.13,2.11,
-2.22,2.20,2.22,2.27,2.35,2.33,2.28,2.27,2.33,2.26,
-2.38,2.36,2.48,2.39,2.43,2.40,2.49,2.56,2.44,2.55,
-2.60,2.49,2.57,2.65,2.53,2.65,2.62,2.67,2.66,2.72,
-2.68,2.76,2.70,2.74,2.81,2.89,2.74,2.89,2.82,2.83,
-2.92,2.83,2.81,2.93,3.03,2.99,2.97,2.91,3.03,3.01,
-3.10,3.12,3.13,3.06,3.09,3.17,3.10,3.07,3.23,3.15,
-3.05,3.18,3.27,3.25,3.23,3.33,3.22,3.29,3.29,3.30,
-3.38,3.29,3.50,3.26,3.50,3.49,3.46,3.42,3.38,3.44,
-3.45,3.51,3.46,3.52,3.46,3.70,3.54,3.50,3.67,3.68,
-3.57,3.49,3.52,3.64,3.45,3.52,3.74,3.50,3.71,3.72,
-3.73,3.69,3.82,3.86,3.88,3.86,3.61,3.83,3.80,3.87,
-3.87,3.76,3.76,3.87,3.89,4.00,3.90,3.96,3.86,4.00,
-3.71,3.98,4.04,3.89,3.98,3.85,4.11,4.04,4.02,3.95,
-3.99,4.08,4.06,4.00,4.08,3.97,4.14,4.19,4.12,4.14,
-4.18,4.08,4.17,4.16,4.37,4.21,4.24,4.05,4.41,4.40,
-4.10,4.15,4.29,4.39,4.26,4.38,4.31,4.30,4.33,4.38,
-4.37,4.33,4.49,4.22,4.49,4.55,4.34,4.42,4.37,4.37,
-4.31,4.40,4.53,4.40,4.68,4.73,4.40,4.53,4.52,4.50,
-4.47,4.54,4.53,4.69,4.57,4.52,4.61,4.63,4.74,4.74,
-4.45,4.60,4.69,4.64,4.70,4.74,4.82,4.67,4.70,4.87,
-4.93,4.91,5.01,4.78,4.67,4.74,4.67,4.78,4.83,4.71,
-4.77,4.83,4.80,4.99,5.19,4.75,5.04,5.09,4.98,5.00,
-4.76,4.80,4.96,5.01,5.14,5.09,5.02,4.99,5.03,4.95,
-5.07,5.12,5.09,5.24,5.19,5.59,5.09,5.09,5.12,5.06,
-4.93,4.96,5.34,5.07,5.21,5.36,5.09,5.25,5.10,5.02,
-1.00,1.05,1.11,1.08,1.19,1.15,1.22,1.26,1.40,1.33,
-1.34,1.41,1.42,1.56,1.50,1.44,1.57,1.57,1.50,1.60,
-1.64,1.68,1.66,1.73,1.78,1.76,1.80,1.94,1.90,1.85,
-1.91,1.86,1.85,1.96,1.96,2.08,2.05,2.03,2.15,2.13,
-2.16,2.10,2.13,2.11,2.10,2.21,2.19,2.21,2.30,2.29,
-2.26,2.27,2.30,2.36,2.42,2.42,2.48,2.41,2.51,2.37,
-2.55,2.51,2.46,2.55,2.69,2.53,2.50,2.67,2.63,2.64,
-2.72,2.61,2.65,2.66,2.64,2.60,2.76,2.66,2.74,2.91,
-2.73,2.91,2.84,2.85,2.81,2.88,2.76,2.88,2.98,3.02,
-2.93,3.00,2.92,3.06,2.92,2.91,3.14,3.05,3.06,3.10,
-3.08,3.11,3.26,3.20,3.16,3.14,3.14,3.22,3.28,3.29,
-3.21,3.20,3.30,3.15,3.38,3.33,3.25,3.34,3.34,3.27,
-3.30,3.41,3.43,3.38,3.46,3.29,3.46,3.50,3.45,3.47,
-3.53,3.46,3.61,3.48,3.51,3.48,3.65,3.68,3.73,3.68,
-3.63,3.70,3.63,3.52,3.70,3.56,3.63,3.56,3.66,3.87,
-3.86,3.82,3.79,3.69,3.73,3.81,3.92,3.82,3.91,3.89,
-3.83,3.89,3.89,4.08,3.92,4.00,3.92,3.90,4.00,3.88,
-4.10,3.86,3.93,4.03,3.92,4.05,4.06,4.16,3.93,4.07,
-4.06,4.02,4.12,4.23,4.17,4.20,3.90,4.13,4.12,4.28,
-4.21,4.24,4.29,3.98,4.33,3.96,4.22,4.29,4.17,4.42,
-4.31,4.28,4.35,4.22,4.26,4.37,4.42,4.30,4.34,4.30,
-4.41,4.25,4.51,4.45,4.32,4.40,4.25,4.49,4.50,4.61,
-4.55,4.56,4.44,4.64,4.22,4.48,4.57,4.66,4.53,4.53,
-4.60,4.61,4.56,4.65,4.66,4.67,4.86,4.73,4.71,4.36,
-4.71,4.64,4.50,4.77,4.74,4.71,4.73,4.81,4.73,4.90,
-4.83,4.78,4.79,4.76,5.09,4.86,4.83,4.96,4.68,4.65,
-4.93,4.98,4.94,4.90,4.83,4.79,4.93,4.87,4.97,5.13,
-5.00,4.94,4.90,4.93,4.88,5.11,5.07,4.96,4.92,5.17,
-5.05,4.99,5.16,5.16,4.97,5.03,4.96,5.09,5.21,5.22,
-0.97,0.99,1.05,1.08,1.09,1.21,1.19,1.23,1.31,1.30,
-1.33,1.37,1.40,1.47,1.52,1.52,1.42,1.53,1.61,1.58,
-1.61,1.68,1.65,1.68,1.67,1.72,1.73,1.79,1.65,1.73,
-1.89,1.90,1.86,1.90,1.94,1.95,1.98,1.93,2.02,2.04,
-2.03,2.13,2.11,2.11,2.08,2.21,2.20,2.33,2.19,2.19,
-2.23,2.33,2.33,2.31,2.36,2.29,2.32,2.44,2.32,2.47,
-2.38,2.46,2.47,2.45,2.61,2.48,2.54,2.58,2.48,2.50,
-2.74,2.74,2.61,2.68,2.71,2.73,2.62,2.63,2.70,2.73,
-2.84,2.94,2.77,2.81,2.81,2.88,2.84,2.87,2.87,2.82,
-2.84,3.06,2.90,2.92,3.01,2.89,2.93,2.84,2.94,3.03,
-2.99,2.89,3.05,2.97,3.06,3.16,3.03,3.04,3.15,3.11,
-3.18,3.12,3.07,3.17,3.20,3.27,3.23,3.24,3.38,3.33,
-3.26,3.35,3.16,3.42,3.37,3.61,3.41,3.49,3.28,3.42,
-3.47,3.51,3.36,3.46,3.54,3.40,3.54,3.53,3.45,3.46,
-3.48,3.46,3.64,3.55,3.67,3.83,3.61,3.62,3.71,3.68,
-3.75,3.68,3.68,3.70,3.67,3.66,3.69,3.71,3.74,3.68,
-3.80,3.89,3.79,3.69,3.76,3.84,3.75,3.86,3.83,3.78,
-3.88,3.91,3.96,3.91,3.95,3.93,4.06,4.08,3.94,3.95,
-4.01,4.06,4.00,3.87,4.00,3.95,4.01,4.02,4.15,4.18,
-4.04,4.08,4.16,4.31,4.25,4.09,3.98,4.09,4.22,4.21,
-4.27,4.32,4.21,4.19,4.17,4.35,4.34,4.27,4.25,4.21,
-4.35,4.17,4.45,4.19,4.23,4.28,4.45,4.30,4.31,4.33,
-4.57,4.36,4.39,4.50,4.28,4.44,4.43,4.27,4.40,4.54,
-4.50,4.53,4.49,4.41,4.58,4.39,4.60,4.59,4.62,4.54,
-4.70,4.64,4.70,4.61,4.47,4.58,4.54,4.67,4.55,4.67,
-4.63,4.88,4.63,4.58,4.95,4.93,4.59,4.84,4.75,4.92,
-4.74,4.70,4.79,4.74,4.64,4.83,4.75,4.77,4.80,4.83,
-4.66,4.68,4.95,4.79,4.60,4.85,4.91,5.02,4.92,4.76,
-4.76,4.72,5.03,5.03,5.01,4.91,5.09,5.02,5.05,4.93,
-0.92,0.99,1.01,1.05,1.07,1.13,1.16,1.24,1.29,1.23,
-1.28,1.29,1.32,1.38,1.43,1.45,1.46,1.51,1.50,1.57,
-1.55,1.56,1.61,1.65,1.62,1.74,1.78,1.74,1.76,1.82,
-1.80,1.79,1.85,1.89,1.81,1.94,1.91,1.98,1.97,2.03,
-2.07,1.97,2.09,2.05,2.10,2.04,2.13,2.03,2.10,2.18,
-2.17,2.23,2.27,2.28,2.27,2.29,2.38,2.31,2.30,2.40,
-2.30,2.41,2.35,2.42,2.43,2.40,2.49,2.50,2.53,2.56,
-2.46,2.56,2.55,2.60,2.60,2.60,2.68,2.68,2.57,2.65,
-2.62,2.72,2.68,2.80,2.69,2.71,2.71,2.79,2.79,2.85,
-2.83,2.83,2.84,2.84,2.89,2.85,2.99,2.88,2.97,2.97,
-2.97,2.87,3.08,3.01,2.99,3.03,3.13,3.03,3.05,3.13,
-3.17,3.22,3.10,3.15,3.20,3.15,3.19,3.21,3.23,3.23,
-3.19,3.23,3.25,3.33,3.30,3.33,3.37,3.29,3.19,3.35,
-3.41,3.37,3.27,3.23,3.42,3.36,3.44,3.53,3.54,3.48,
-3.46,3.50,3.47,3.52,3.42,3.47,3.57,3.50,3.55,3.57,
-3.64,3.54,3.59,3.64,3.56,3.71,3.53,3.58,3.58,3.80,
-3.62,3.62,3.72,3.85,3.80,3.75,3.71,3.73,3.81,3.75,
-3.78,3.86,3.75,3.93,3.71,3.93,3.83,3.86,3.98,3.89,
-3.90,3.92,3.97,4.01,3.83,4.19,3.89,3.95,3.88,4.05,
-4.04,4.02,4.23,4.10,3.85,4.12,4.03,4.02,4.05,4.05,
-4.05,4.10,4.10,4.19,4.19,4.14,4.04,4.12,4.23,4.16,
-4.22,4.23,4.19,4.17,4.20,4.34,4.28,4.33,4.39,4.26,
-4.22,4.08,4.31,4.32,4.39,4.21,4.10,4.51,4.19,4.27,
-4.27,4.31,4.38,4.58,4.22,4.21,4.47,4.50,4.40,4.50,
-4.37,4.43,4.24,4.47,4.50,4.38,4.59,4.57,4.31,4.54,
-4.33,4.61,4.44,4.76,4.65,4.41,4.44,4.76,4.64,4.54,
-4.76,4.64,4.44,4.59,4.76,4.60,4.81,4.77,4.76,4.60,
-4.63,4.81,4.93,4.84,4.58,4.80,4.70,4.68,4.56,4.74,
-4.93,4.88,4.92,4.79,4.85,4.72,5.04,4.89,4.81,4.99,
-0.93,0.97,1.04,1.02,1.05,1.12,1.13,1.13,1.21,1.28,
-1.28,1.29,1.28,1.34,1.35,1.42,1.44,1.45,1.48,1.48,
-1.51,1.53,1.62,1.62,1.63,1.64,1.67,1.69,1.71,1.71,
-1.74,1.80,1.79,1.77,1.94,1.82,1.88,1.92,1.93,1.99,
-1.92,1.93,2.04,2.10,2.01,2.08,2.13,2.14,2.03,2.11,
-2.14,2.25,2.08,2.11,2.19,2.19,2.27,2.29,2.22,2.27,
-2.25,2.25,2.27,2.36,2.42,2.30,2.34,2.49,2.40,2.53,
-2.51,2.48,2.61,2.49,2.50,2.52,2.50,2.59,2.66,2.47,
-2.73,2.67,2.70,2.62,2.66,2.73,2.77,2.74,2.74,2.74,
-2.80,2.79,2.81,2.85,2.83,2.73,2.76,2.82,2.90,2.90,
-2.95,2.94,2.81,2.95,2.90,2.82,2.98,3.00,3.01,3.11,
-3.05,3.12,3.02,3.07,3.05,3.05,3.08,3.17,3.16,3.03,
-3.16,3.09,3.28,3.28,3.40,3.32,3.17,3.17,3.35,3.30,
-3.18,3.30,3.33,3.13,3.28,3.33,3.18,3.26,3.34,3.32,
-3.33,3.37,3.34,3.40,3.39,3.59,3.51,3.48,3.42,3.47,
-3.55,3.57,3.49,3.55,3.50,3.53,3.50,3.49,3.49,3.59,
-3.72,3.55,3.53,3.58,3.75,3.79,3.75,3.67,3.67,3.60,
-3.72,3.67,3.75,3.71,3.79,3.79,3.66,3.81,3.88,3.76,
-3.91,3.82,3.83,3.70,3.95,3.85,3.95,3.88,3.86,3.92,
-3.76,3.89,4.06,3.91,4.09,3.82,3.95,3.93,3.75,3.95,
-3.85,4.11,4.00,4.04,4.07,3.94,3.92,4.00,3.98,4.12,
-4.12,3.96,4.14,4.04,3.97,4.23,4.14,4.20,4.08,4.21,
-4.34,4.20,4.07,4.09,4.31,4.30,4.22,4.27,4.33,4.29,
-4.21,4.17,4.19,4.22,4.22,4.22,4.36,4.39,4.28,4.38,
-4.08,4.41,4.34,4.32,4.49,4.44,4.33,4.32,4.57,4.53,
-4.46,4.40,4.24,4.38,4.42,4.39,4.22,4.51,4.54,4.65,
-4.27,4.59,4.51,4.66,4.53,4.70,4.60,4.56,4.57,4.63,
-4.57,4.65,4.72,4.54,4.32,4.60,4.60,4.70,4.52,4.78,
-4.62,4.68,4.67,4.62,4.48,4.76,4.79,4.80,4.54,4.78,
-0.89,0.96,0.99,1.03,1.02,1.07,1.09,1.13,1.13,1.23,
-1.27,1.26,1.29,1.31,1.32,1.41,1.46,1.35,1.42,1.43,
-1.49,1.48,1.57,1.61,1.56,1.58,1.64,1.66,1.66,1.66,
-1.75,1.74,1.77,1.84,1.74,1.77,1.82,1.85,1.86,1.90,
-1.94,1.89,2.00,1.99,2.00,1.97,1.96,1.99,2.01,2.02,
-2.03,2.13,1.98,2.16,2.19,2.19,2.19,2.14,2.17,2.19,
-2.24,2.17,2.34,2.21,2.38,2.28,2.40,2.36,2.22,2.36,
-2.33,2.32,2.38,2.47,2.43,2.51,2.45,2.41,2.56,2.52,
-2.47,2.52,2.57,2.49,2.56,2.62,2.70,2.60,2.51,2.68,
-2.75,2.67,2.67,2.60,2.71,2.77,2.67,2.78,2.82,2.71,
-2.94,2.77,2.83,2.84,2.73,2.94,2.88,2.89,2.96,2.83,
-2.88,2.91,2.98,2.98,3.00,2.89,3.05,2.98,3.02,3.02,
-2.90,3.05,3.00,3.15,3.10,3.13,3.10,3.14,3.27,3.09,
-3.23,3.11,3.16,3.28,3.26,3.16,3.23,3.21,3.22,3.15,
-3.10,3.23,3.28,3.26,3.39,3.51,3.30,3.39,3.38,3.42,
-3.37,3.31,3.26,3.40,3.48,3.38,3.41,3.36,3.45,3.55,
-3.45,3.41,3.55,3.52,3.52,3.57,3.64,3.62,3.63,3.51,
-3.67,3.53,3.53,3.76,3.76,3.78,3.74,3.56,3.68,3.49,
-3.65,3.80,3.63,3.82,3.76,3.64,3.63,3.71,3.75,3.85,
-3.77,3.72,3.65,3.80,3.89,3.85,3.78,3.80,3.80,3.66,
-3.81,3.84,3.73,3.93,3.87,3.83,3.90,3.94,3.97,3.88,
-3.86,3.99,3.97,4.02,4.07,4.03,4.00,4.17,4.01,4.01,
-4.17,3.91,4.05,4.06,4.08,4.11,4.18,4.26,4.10,4.05,
-3.93,4.02,4.27,4.11,4.28,4.22,4.13,4.05,4.16,4.21,
-4.24,4.17,4.22,4.34,4.22,4.19,4.24,4.33,4.30,4.40,
-4.40,4.30,4.21,4.46,4.19,4.21,4.30,4.22,4.30,4.44,
-4.34,4.47,4.29,4.34,4.47,4.47,4.49,4.43,4.43,4.37,
-4.51,4.43,4.54,4.39,4.49,4.44,4.66,4.44,4.28,4.65,
-4.59,4.72,4.66,4.45,4.53,4.54,4.43,4.68,4.70,4.54,
-0.83,0.89,0.97,0.95,0.97,1.05,1.04,1.12,1.11,1.13,
-1.20,1.20,1.23,1.28,1.26,1.31,1.34,1.36,1.39,1.42,
-1.42,1.40,1.48,1.44,1.56,1.56,1.55,1.56,1.55,1.63,
-1.64,1.71,1.67,1.72,1.74,1.72,1.79,1.70,1.78,1.76,
-1.82,1.86,1.86,1.91,1.92,1.93,1.97,1.89,2.02,1.99,
-2.03,1.99,2.04,2.11,2.04,2.08,2.09,2.12,2.16,2.17,
-2.10,2.19,2.18,2.17,2.24,2.16,2.29,2.25,2.22,2.28,
-2.22,2.26,2.37,2.39,2.33,2.34,2.36,2.50,2.48,2.50,
-2.46,2.52,2.46,2.43,2.45,2.48,2.46,2.47,2.49,2.47,
-2.61,2.58,2.60,2.68,2.72,2.58,2.58,2.56,2.68,2.70,
-2.70,2.81,2.77,2.74,2.77,2.76,2.65,2.73,2.78,2.85,
-2.80,2.74,2.83,2.89,2.89,2.87,2.88,2.97,2.99,2.86,
-2.86,2.93,2.89,3.04,2.88,2.89,3.05,2.99,3.14,2.92,
-2.98,2.95,3.13,3.16,3.06,3.06,3.16,3.14,3.21,3.03,
-3.08,3.21,3.13,3.15,3.18,3.26,3.11,3.19,3.20,3.21,
-3.22,3.17,3.25,3.27,3.31,3.34,3.39,3.37,3.33,3.25,
-3.41,3.49,3.40,3.39,3.46,3.46,3.39,3.41,3.36,3.28,
-3.47,3.55,3.42,3.39,3.46,3.50,3.49,3.67,3.50,3.57,
-3.42,3.55,3.54,3.51,3.66,3.52,3.55,3.52,3.59,3.69,
-3.57,3.65,3.75,3.62,3.65,3.63,3.85,3.74,3.67,3.68,
-3.78,3.72,3.65,3.72,3.76,3.68,3.79,3.85,3.75,3.83,
-3.86,3.89,3.81,3.98,3.81,3.77,3.71,3.99,3.72,3.91,
-3.99,3.82,4.04,3.98,4.03,3.85,3.95,3.84,3.97,4.01,
-3.73,3.95,3.95,3.89,3.84,4.09,3.89,3.98,3.96,4.05,
-4.18,4.04,4.01,4.17,4.17,4.07,3.92,4.01,4.04,4.27,
-4.09,4.07,4.21,4.02,4.22,4.09,4.18,4.22,4.16,4.14,
-4.28,4.39,4.29,4.22,4.23,4.23,4.20,4.29,4.31,4.43,
-4.39,4.39,4.42,4.24,4.16,4.34,4.35,4.45,4.37,4.31,
-4.39,4.42,4.32,4.35,4.21,4.21,4.47,4.28,4.39,4.50,
-0.83,0.86,0.89,0.93,0.98,1.01,1.06,1.05,1.06,1.11,
-1.18,1.17,1.17,1.20,1.21,1.29,1.29,1.31,1.30,1.39,
-1.41,1.37,1.39,1.51,1.44,1.48,1.56,1.52,1.54,1.63,
-1.57,1.64,1.62,1.63,1.68,1.68,1.73,1.71,1.74,1.76,
-1.75,1.75,1.75,1.74,1.81,1.76,1.88,1.86,1.89,1.86,
-1.89,1.92,1.81,1.99,1.96,2.08,2.09,2.09,1.93,2.10,
-2.07,2.14,2.19,2.08,2.20,2.15,2.22,2.19,2.18,2.27,
-2.36,2.26,2.25,2.22,2.32,2.27,2.24,2.37,2.31,2.38,
-2.35,2.24,2.47,2.37,2.47,2.44,2.52,2.43,2.50,2.51,
-2.54,2.39,2.50,2.49,2.48,2.58,2.50,2.63,2.56,2.49,
-2.67,2.63,2.70,2.54,2.66,2.63,2.66,2.61,2.61,2.67,
-2.79,2.61,2.74,2.71,2.77,2.78,2.85,2.87,2.79,2.80,
-2.78,2.78,2.79,2.79,2.89,2.92,2.88,2.95,2.86,2.91,
-2.98,2.94,2.96,2.93,2.91,3.02,3.12,2.96,3.07,3.02,
-3.02,3.03,3.01,3.09,3.02,3.01,3.04,3.08,2.96,3.21,
-3.15,3.10,3.22,3.10,3.21,3.07,3.31,3.23,3.13,3.12,
-3.20,3.22,3.23,3.21,3.23,3.33,3.22,3.35,3.30,3.21,
-3.37,3.34,3.41,3.37,3.29,3.26,3.24,3.39,3.49,3.51,
-3.52,3.28,3.50,3.43,3.55,3.37,3.42,3.57,3.44,3.47,
-3.63,3.52,3.52,3.43,3.54,3.66,3.57,3.43,3.63,3.59,
-3.64,3.69,3.63,3.62,3.66,3.68,3.59,3.65,3.64,3.68,
-3.66,3.65,3.73,3.82,3.66,3.72,3.81,3.66,3.82,3.72,
-3.73,3.72,3.81,3.77,3.67,3.73,3.78,3.80,3.68,3.79,
-3.80,3.78,3.77,3.90,3.90,3.85,3.81,3.82,3.96,3.85,
-3.83,4.07,4.13,3.91,3.93,3.96,3.96,3.94,4.08,4.07,
-4.06,3.98,3.87,4.10,3.93,4.09,4.12,3.94,3.96,4.06,
-4.05,3.96,4.14,4.01,4.01,4.02,4.11,4.06,4.05,4.17,
-4.07,4.20,4.17,3.99,4.11,4.18,4.26,4.04,4.18,4.21,
-4.21,4.17,4.28,4.28,4.14,4.32,4.32,4.34,4.28,4.19,
-0.79,0.84,0.85,0.92,0.91,0.94,0.99,0.98,1.06,1.04,
-1.11,1.12,1.12,1.16,1.23,1.18,1.27,1.27,1.26,1.29,
-1.36,1.34,1.36,1.41,1.37,1.42,1.38,1.46,1.49,1.51,
-1.51,1.51,1.51,1.57,1.56,1.65,1.64,1.63,1.60,1.63,
-1.71,1.79,1.77,1.87,1.74,1.71,1.86,1.82,1.78,1.89,
-1.82,1.86,1.78,1.82,1.88,1.92,1.98,1.96,1.94,2.06,
-1.95,2.03,2.05,2.09,2.03,2.08,1.99,2.11,2.09,2.05,
-2.12,2.14,2.20,2.12,2.17,2.21,2.20,2.36,2.36,2.34,
-2.33,2.29,2.36,2.27,2.29,2.37,2.42,2.38,2.40,2.37,
-2.44,2.42,2.39,2.47,2.41,2.42,2.49,2.39,2.58,2.42,
-2.60,2.48,2.46,2.57,2.50,2.43,2.62,2.56,2.46,2.67,
-2.68,2.45,2.64,2.55,2.69,2.71,2.64,2.71,2.62,2.72,
-2.77,2.62,2.61,2.76,2.84,2.83,2.80,2.94,2.77,2.81,
-2.73,2.85,2.89,2.99,2.92,2.77,2.82,2.84,2.94,2.81,
-2.85,2.92,2.85,2.92,2.96,2.93,2.98,3.04,2.92,3.12,
-3.04,2.99,3.11,3.10,3.08,2.94,3.09,3.10,3.10,3.07,
-3.07,3.28,3.02,3.10,3.10,3.30,3.18,3.17,3.15,3.25,
-3.25,3.27,3.14,3.26,3.32,3.27,3.29,3.27,3.34,3.31,
-3.19,3.31,3.32,3.19,3.31,3.34,3.42,3.43,3.33,3.37,
-3.35,3.34,3.36,3.37,3.40,3.43,3.35,3.48,3.46,3.40,
-3.58,3.46,3.44,3.44,3.47,3.54,3.57,3.64,3.51,3.32,
-3.37,3.58,3.41,3.42,3.62,3.65,3.56,3.69,3.64,3.59,
-3.54,3.71,3.50,3.74,3.64,3.56,3.62,3.84,3.69,3.53,
-3.66,3.66,3.68,3.62,3.67,3.69,3.83,3.73,3.88,3.89,
-3.72,3.77,3.80,3.77,3.87,3.74,3.61,3.86,3.88,3.83,
-3.88,3.67,3.83,3.86,3.92,3.99,3.89,3.86,3.66,3.97,
-3.91,3.78,3.98,3.93,3.77,3.93,3.89,3.99,3.92,3.98,
-3.93,3.98,3.88,3.90,4.07,3.94,4.06,4.00,3.95,3.98,
-3.92,4.03,3.97,4.03,4.01,4.25,4.09,3.99,4.14,4.13,
-0.77,0.79,0.80,0.84,0.87,0.91,0.95,0.98,0.99,1.03,
-1.01,1.04,1.11,1.12,1.14,1.18,1.26,1.20,1.25,1.22,
-1.26,1.29,1.32,1.36,1.30,1.32,1.43,1.37,1.48,1.46,
-1.48,1.52,1.52,1.52,1.56,1.52,1.54,1.65,1.59,1.54,
-1.65,1.64,1.67,1.71,1.68,1.77,1.69,1.69,1.78,1.74,
-1.78,1.74,1.71,1.82,1.82,1.80,1.90,1.85,1.85,1.95,
-2.00,1.96,2.00,1.87,2.03,2.02,1.99,2.08,2.05,2.04,
-2.01,2.07,2.11,2.00,2.07,2.04,2.11,2.12,2.15,2.22,
-2.18,2.23,2.15,2.26,2.19,2.24,2.31,2.35,2.28,2.38,
-2.37,2.28,2.32,2.36,2.31,2.34,2.25,2.32,2.34,2.29,
-2.32,2.47,2.41,2.48,2.46,2.51,2.48,2.51,2.40,2.44,
-2.52,2.49,2.42,2.54,2.61,2.54,2.64,2.55,2.63,2.53,
-2.55,2.49,2.59,2.70,2.60,2.52,2.62,2.67,2.69,2.79,
-2.71,2.72,2.77,2.72,2.80,2.76,2.70,2.75,2.83,2.75,
-2.85,2.84,2.78,2.69,2.85,2.78,2.99,2.73,2.97,2.89,
-2.94,2.97,2.88,2.89,2.83,2.96,2.88,3.02,2.96,2.94,
-3.06,2.92,2.96,3.08,2.91,3.03,2.90,3.05,2.96,3.08,
-3.03,3.16,3.11,3.00,3.07,3.21,3.12,3.17,3.13,3.01,
-3.11,3.16,3.14,3.04,3.17,3.10,3.29,3.15,3.15,3.02,
-3.26,3.14,3.31,3.20,3.40,3.31,3.23,3.29,3.31,3.28,
-3.37,3.23,3.19,3.17,3.32,3.31,3.36,3.31,3.36,3.36,
-3.33,3.44,3.48,3.36,3.39,3.40,3.45,3.42,3.45,3.39,
-3.47,3.40,3.46,3.53,3.50,3.47,3.51,3.55,3.57,3.37,
-3.41,3.63,3.50,3.51,3.47,3.50,3.52,3.66,3.63,3.51,
-3.55,3.71,3.63,3.59,3.65,3.65,3.63,3.63,3.67,3.51,
-3.68,3.76,3.69,3.53,3.69,3.85,3.72,3.82,3.79,3.59,
-3.83,3.70,3.74,3.81,3.85,3.78,3.76,3.70,3.81,3.83,
-3.75,3.96,3.91,3.92,3.85,3.85,3.96,3.80,3.86,3.94,
-3.78,3.84,3.93,3.76,3.91,3.79,3.91,3.80,4.02,4.01,
-0.71,0.76,0.81,0.83,0.85,0.88,0.91,0.95,0.95,0.98,
-1.00,1.03,1.03,1.05,1.07,1.09,1.15,1.16,1.18,1.26,
-1.24,1.20,1.27,1.30,1.26,1.30,1.32,1.36,1.40,1.44,
-1.36,1.43,1.44,1.48,1.45,1.47,1.47,1.53,1.49,1.56,
-1.54,1.52,1.68,1.65,1.69,1.64,1.65,1.64,1.69,1.69,
-1.66,1.78,1.75,1.78,1.74,1.78,1.80,1.80,1.83,1.88,
-1.89,1.84,1.91,1.87,1.94,1.91,1.91,1.83,1.99,1.97,
-1.91,2.00,2.03,1.98,2.02,2.02,1.97,2.03,2.02,2.12,
-2.10,2.09,2.12,2.14,2.14,2.11,2.12,2.10,2.14,2.16,
-2.18,2.19,2.23,2.33,2.23,2.22,2.25,2.34,2.37,2.28,
-2.28,2.42,2.28,2.33,2.35,2.33,2.31,2.34,2.44,2.36,
-2.31,2.41,2.46,2.43,2.42,2.44,2.36,2.42,2.48,2.48,
-2.54,2.48,2.49,2.58,2.53,2.49,2.48,2.58,2.53,2.57,
-2.57,2.56,2.63,2.56,2.53,2.66,2.66,2.67,2.80,2.63,
-2.67,2.74,2.77,2.72,2.75,2.79,2.79,2.64,2.74,2.70,
-2.82,2.76,2.77,2.78,2.77,2.82,2.91,2.83,2.76,2.83,
-2.83,2.70,2.85,2.80,2.90,2.97,2.83,2.92,2.83,2.93,
-2.90,2.99,2.91,2.93,2.90,2.99,2.92,3.10,3.08,3.06,
-2.97,2.93,3.12,3.03,3.02,3.02,3.07,3.12,3.04,3.15,
-3.10,3.02,3.12,3.18,3.06,3.21,3.14,3.15,3.28,3.22,
-3.31,3.16,3.18,3.12,3.18,3.26,3.25,3.22,3.20,3.25,
-3.13,3.24,3.22,3.19,3.25,3.38,3.17,3.22,3.34,3.40,
-3.28,3.42,3.29,3.36,3.31,3.51,3.36,3.36,3.45,3.28,
-3.47,3.40,3.43,3.39,3.42,3.38,3.45,3.53,3.40,3.43,
-3.36,3.51,3.39,3.45,3.42,3.46,3.48,3.52,3.35,3.38,
-3.57,3.62,3.63,3.57,3.49,3.52,3.49,3.53,3.57,3.73,
-3.55,3.53,3.63,3.58,3.71,3.64,3.74,3.64,3.44,3.69,
-3.51,3.58,3.76,3.72,3.56,3.63,3.71,3.62,3.81,3.79,
-3.70,3.72,3.75,3.84,3.81,3.72,3.68,3.76,3.79,3.85,
-0.67,0.75,0.77,0.79,0.82,0.83,0.88,0.88,0.87,0.95,
-0.94,1.01,1.01,0.99,1.03,1.08,1.08,1.08,1.12,1.18,
-1.18,1.17,1.19,1.18,1.23,1.30,1.26,1.29,1.31,1.29,
-1.33,1.31,1.37,1.37,1.38,1.38,1.45,1.41,1.43,1.44,
-1.48,1.53,1.55,1.55,1.54,1.51,1.55,1.56,1.54,1.56,
-1.67,1.71,1.66,1.58,1.68,1.72,1.79,1.73,1.71,1.71,
-1.79,1.77,1.77,1.74,1.77,1.85,1.80,1.83,1.86,1.87,
-1.95,1.90,1.96,1.91,1.99,1.92,1.93,1.97,1.97,1.95,
-1.97,2.00,2.00,2.02,1.98,2.14,2.04,2.11,2.14,2.14,
-2.13,2.10,2.11,2.04,2.15,2.18,2.27,2.21,2.21,2.13,
-2.16,2.18,2.18,2.21,2.26,2.23,2.17,2.27,2.29,2.35,
-2.24,2.26,2.26,2.36,2.39,2.40,2.35,2.42,2.34,2.34,
-2.31,2.38,2.39,2.42,2.44,2.35,2.51,2.46,2.43,2.46,
-2.55,2.47,2.41,2.49,2.43,2.60,2.52,2.49,2.60,2.55,
-2.56,2.54,2.54,2.50,2.59,2.62,2.65,2.64,2.63,2.70,
-2.60,2.61,2.71,2.58,2.55,2.72,2.54,2.64,2.75,2.68,
-2.74,2.72,2.76,2.61,2.74,2.75,2.66,2.76,2.80,2.88,
-2.73,2.73,2.84,2.80,2.84,2.79,2.81,2.94,2.74,2.79,
-2.92,2.91,2.91,2.85,2.87,2.93,2.97,2.85,2.91,3.05,
-2.91,2.86,3.05,2.98,3.05,3.03,2.97,2.94,3.04,2.98,
-3.07,2.98,3.10,3.17,3.11,3.11,3.04,3.09,3.16,3.01,
-3.11,3.17,3.08,3.12,3.24,3.16,3.12,3.12,3.11,3.10,
-3.06,3.05,3.06,3.12,3.23,3.17,3.28,3.19,3.19,3.20,
-3.26,3.29,3.18,3.16,3.35,3.33,3.12,3.34,3.27,3.36,
-3.27,3.27,3.32,3.28,3.34,3.36,3.28,3.34,3.40,3.36,
-3.40,3.52,3.39,3.39,3.39,3.32,3.41,3.45,3.33,3.26,
-3.51,3.47,3.47,3.48,3.47,3.47,3.59,3.43,3.48,3.38,
-3.48,3.57,3.36,3.54,3.51,3.51,3.65,3.47,3.62,3.71,
-3.52,3.73,3.54,3.54,3.58,3.56,3.57,3.49,3.63,3.53,
-1.02,1.14,1.17,1.23,1.28,1.30,1.32,1.34,1.37,1.40,
-1.44,1.52,1.55,1.56,1.52,1.61,1.65,1.69,1.69,1.79,
-1.75,1.76,1.81,1.86,1.86,1.94,1.95,1.94,2.03,2.08,
-2.01,2.06,2.07,2.07,2.22,2.15,2.23,2.27,2.23,2.21,
-2.34,2.27,2.36,2.28,2.38,2.42,2.40,2.37,2.49,2.50,
-2.50,2.45,2.44,2.57,2.61,2.58,2.70,2.65,2.62,2.67,
-2.65,2.66,2.73,2.69,2.75,2.82,2.76,2.85,2.83,2.90,
-2.98,2.90,2.95,2.94,2.93,3.03,2.97,3.13,2.88,3.08,
-3.03,3.12,3.20,3.14,3.09,3.13,3.29,3.12,3.29,3.09,
-3.21,3.29,3.13,3.12,3.31,3.26,3.32,3.22,3.36,3.27,
-3.48,3.59,3.33,3.46,3.46,3.50,3.52,3.39,3.57,3.57,
-3.54,3.50,3.55,3.54,3.49,3.44,3.64,3.58,3.61,3.60,
-3.54,3.66,3.73,3.72,3.83,3.71,3.79,3.70,3.64,3.65,
-3.90,3.85,3.99,3.93,3.80,3.77,3.92,3.77,3.99,3.98,
-4.08,4.02,3.85,3.92,3.89,3.99,4.13,4.04,4.06,4.03,
-3.94,4.16,4.15,4.06,4.02,4.21,4.08,4.17,4.30,4.12,
-4.16,4.13,4.24,4.11,4.27,4.09,4.39,4.16,4.02,4.22,
-4.45,4.35,4.27,4.34,4.44,4.46,4.33,4.38,4.48,4.34,
-4.29,4.35,4.50,4.41,4.58,4.33,4.56,4.41,4.72,4.40,
-4.50,4.63,4.68,4.68,4.41,4.70,4.51,4.48,4.65,4.60,
-4.66,4.63,4.66,4.69,4.60,4.67,4.66,4.79,4.70,4.82,
-4.58,4.77,4.82,4.73,4.81,4.72,4.80,4.95,4.77,4.78,
-4.93,4.84,4.77,4.91,4.93,4.96,5.03,5.02,5.08,4.86,
-5.07,4.96,4.82,4.98,4.93,4.94,5.21,4.97,5.05,5.10,
-4.95,5.08,5.22,5.19,5.13,5.23,5.00,5.19,5.11,5.11,
-5.16,5.18,5.15,5.42,5.26,5.28,5.04,5.11,5.29,5.27,
-5.32,5.21,5.50,5.11,5.29,5.17,5.31,5.48,5.41,5.37,
-5.46,5.38,5.10,5.52,5.27,5.30,5.31,5.50,5.08,5.63,
-5.47,5.42,5.63,5.43,5.52,5.28,5.49,5.59,5.63,5.67,
-1.01,1.10,1.14,1.16,1.20,1.27,1.26,1.34,1.35,1.36,
-1.39,1.45,1.47,1.56,1.54,1.58,1.66,1.61,1.71,1.74,
-1.80,1.72,1.75,1.81,1.81,1.88,1.89,1.88,1.90,1.94,
-2.01,1.99,2.04,2.06,2.10,2.06,2.12,2.11,2.18,2.18,
-2.18,2.27,2.25,2.18,2.24,2.20,2.39,2.36,2.34,2.40,
-2.34,2.43,2.55,2.47,2.52,2.51,2.52,2.50,2.53,2.63,
-2.56,2.66,2.73,2.57,2.65,2.72,2.70,2.69,2.76,2.84,
-2.75,2.76,2.74,2.82,2.89,2.84,2.89,2.91,2.82,2.87,
-3.01,2.88,3.01,3.00,3.02,2.91,3.04,3.08,3.09,3.17,
-3.17,3.01,3.15,3.10,3.15,3.13,3.23,3.17,3.20,3.33,
-3.23,3.16,3.18,3.39,3.16,3.31,3.39,3.36,3.32,3.42,
-3.30,3.49,3.37,3.45,3.36,3.48,3.51,3.41,3.48,3.57,
-3.50,3.47,3.45,3.65,3.58,3.63,3.71,3.68,3.69,3.57,
-3.70,3.70,3.60,3.63,3.77,3.75,3.74,3.76,3.92,3.75,
-3.67,3.76,3.68,3.66,3.87,3.83,3.91,3.85,3.99,3.95,
-3.96,3.97,3.92,3.98,4.02,3.96,4.16,4.06,4.11,4.10,
-3.93,4.19,4.28,4.10,4.00,4.08,4.26,4.18,4.15,4.22,
-4.07,4.29,4.12,4.34,4.32,4.29,4.31,4.22,4.11,4.36,
-4.57,4.12,4.45,4.41,4.19,4.23,4.23,4.34,4.48,4.19,
-4.59,4.57,4.39,4.42,4.48,4.54,4.44,4.50,4.59,4.52,
-4.65,4.35,4.44,4.61,4.51,4.36,4.63,4.58,4.50,4.65,
-4.69,4.48,4.55,4.70,4.57,4.58,4.76,4.87,4.59,4.68,
-4.61,4.58,4.70,4.87,5.03,4.73,4.79,4.83,4.50,4.84,
-4.82,4.75,4.77,4.89,4.74,4.84,4.68,4.85,4.79,5.03,
-4.95,5.01,4.81,4.89,4.94,4.92,4.88,4.92,5.04,4.90,
-4.93,5.14,5.02,5.07,5.05,5.14,5.01,5.03,4.94,5.16,
-5.13,5.07,5.01,5.13,5.08,4.95,5.05,5.15,5.17,5.25,
-5.32,5.27,5.00,5.23,5.16,5.09,5.22,5.28,5.34,5.05,
-5.31,5.32,5.16,5.48,5.26,5.32,5.22,5.36,5.18,5.25,
-1.01,1.06,1.10,1.14,1.20,1.24,1.22,1.30,1.28,1.31,
-1.39,1.41,1.53,1.53,1.52,1.63,1.53,1.60,1.64,1.64,
-1.74,1.70,1.69,1.77,1.79,1.83,1.80,1.88,1.92,1.93,
-1.99,1.98,1.97,2.03,2.07,2.10,2.12,2.10,2.08,2.13,
-2.11,2.12,2.20,2.27,2.25,2.20,2.29,2.28,2.36,2.39,
-2.32,2.42,2.44,2.42,2.44,2.32,2.53,2.42,2.55,2.49,
-2.59,2.47,2.62,2.49,2.54,2.61,2.73,2.55,2.67,2.71,
-2.77,2.68,2.67,2.81,2.79,2.93,2.76,2.86,2.96,2.89,
-2.98,2.97,2.80,2.95,2.98,2.92,2.87,2.98,2.96,2.99,
-3.07,3.06,3.00,3.13,3.12,3.07,3.20,3.21,3.36,3.19,
-3.30,3.13,3.23,3.25,3.20,3.15,3.26,3.36,3.28,3.46,
-3.39,3.47,3.23,3.48,3.42,3.48,3.44,3.28,3.34,3.58,
-3.49,3.65,3.35,3.49,3.52,3.58,3.55,3.50,3.50,3.55,
-3.53,3.71,3.54,3.53,3.55,3.50,3.65,3.59,3.57,3.64,
-3.83,3.80,3.76,3.61,3.62,3.85,3.78,3.67,3.72,3.87,
-3.80,3.87,3.95,3.85,3.92,3.79,3.81,3.92,3.99,3.93,
-4.03,3.95,4.05,3.95,4.04,4.02,4.14,3.95,4.15,4.13,
-3.91,4.15,3.89,4.11,4.03,4.14,4.36,4.02,4.12,4.17,
-4.03,4.07,4.14,4.36,4.34,4.07,4.35,4.28,4.40,4.27,
-4.28,4.40,4.32,4.33,4.34,4.34,4.30,4.26,4.43,4.43,
-4.29,4.35,4.47,4.33,4.31,4.30,4.62,4.55,4.41,4.38,
-4.32,4.58,4.50,4.39,4.57,4.49,4.74,4.36,4.70,4.55,
-4.45,4.72,4.34,4.79,4.48,4.55,4.74,4.53,4.60,4.57,
-4.57,4.82,4.85,4.62,4.72,4.60,4.69,4.67,4.83,4.68,
-4.95,4.68,4.82,4.83,4.81,4.61,4.84,4.66,4.69,4.76,
-4.80,4.86,4.85,4.82,5.10,4.96,4.87,4.64,4.96,4.96,
-4.81,4.75,5.20,5.04,4.92,4.92,4.92,4.91,5.32,5.06,
-4.89,4.85,5.11,5.13,5.13,5.05,5.11,4.99,5.12,5.21,
-5.11,5.12,5.18,5.20,5.17,5.35,5.37,5.43,5.04,5.22,
-0.97,1.07,1.10,1.08,1.16,1.17,1.21,1.20,1.28,1.35,
-1.38,1.38,1.41,1.44,1.51,1.56,1.50,1.52,1.59,1.65,
-1.59,1.65,1.70,1.73,1.74,1.81,1.79,1.79,1.90,1.84,
-1.92,1.92,1.97,1.99,2.03,2.00,2.01,2.06,2.07,2.13,
-2.09,2.09,2.15,2.18,2.20,2.31,2.32,2.23,2.35,2.31,
-2.43,2.35,2.32,2.29,2.24,2.41,2.42,2.43,2.43,2.43,
-2.52,2.56,2.44,2.58,2.52,2.61,2.64,2.59,2.61,2.66,
-2.54,2.59,2.67,2.80,2.69,2.85,2.64,2.71,2.83,2.80,
-2.75,2.78,2.68,2.81,2.98,2.85,2.90,2.91,2.93,2.97,
-2.88,3.01,3.00,3.03,2.87,3.05,3.10,3.03,3.03,3.14,
-3.08,3.14,3.28,3.07,3.13,3.18,2.96,3.27,3.21,3.17,
-3.22,3.29,3.28,3.28,3.47,3.39,3.21,3.51,3.45,3.39,
-3.23,3.45,3.31,3.17,3.33,3.35,3.39,3.30,3.43,3.49,
-3.59,3.60,3.50,3.51,3.59,3.54,3.53,3.66,3.61,3.65,
-3.60,3.63,3.71,3.52,3.75,3.86,3.65,3.71,3.84,3.55,
-3.80,3.79,3.90,3.83,3.80,3.76,3.81,3.79,3.73,3.77,
-3.96,3.79,3.97,3.83,3.76,3.91,4.15,4.07,4.10,4.09,
-3.92,4.02,4.05,3.97,4.01,3.83,4.13,3.99,3.89,3.97,
-3.89,4.12,4.15,4.13,4.07,4.19,4.09,4.07,4.13,4.25,
-4.34,4.16,4.11,4.05,4.17,4.31,4.19,4.27,4.31,4.31,
-4.22,4.27,4.29,4.16,4.19,4.42,4.37,4.42,4.31,4.34,
-4.28,4.54,4.36,4.34,4.42,4.52,4.39,4.43,4.44,4.33,
-4.24,4.44,4.38,4.50,4.57,4.46,4.41,4.56,4.61,4.53,
-4.62,4.55,4.39,4.55,4.64,4.46,4.52,4.45,4.63,4.66,
-4.55,4.71,4.56,4.67,4.59,4.78,4.72,4.74,4.88,4.70,
-4.65,4.87,4.59,4.84,4.91,4.72,4.76,4.82,4.74,4.78,
-4.98,4.85,4.95,4.81,4.95,4.76,4.98,4.94,5.10,5.03,
-4.76,4.83,4.94,5.07,5.07,5.10,4.81,5.14,4.94,4.92,
-4.93,5.25,4.95,4.90,5.20,5.04,5.20,4.99,5.08,5.10,
-0.99,1.04,1.06,1.11,1.12,1.18,1.19,1.28,1.27,1.28,
-1.42,1.36,1.36,1.45,1.43,1.48,1.55,1.58,1.51,1.55,
-1.65,1.59,1.67,1.71,1.74,1.73,1.74,1.86,1.78,1.84,
-1.89,1.87,1.86,1.97,1.90,1.98,1.98,1.97,2.07,2.01,
-2.15,2.07,2.09,2.16,2.23,2.19,2.15,2.18,2.23,2.28,
-2.24,2.25,2.24,2.29,2.33,2.34,2.46,2.39,2.36,2.41,
-2.34,2.56,2.43,2.49,2.52,2.49,2.52,2.47,2.56,2.61,
-2.64,2.68,2.72,2.65,2.67,2.77,2.70,2.61,2.73,2.86,
-2.75,2.81,2.74,2.78,2.90,2.83,2.85,2.86,3.02,2.89,
-2.94,2.95,2.89,2.84,2.97,2.92,3.02,3.14,2.94,2.95,
-3.03,3.10,3.01,3.11,3.10,3.11,3.27,3.11,3.26,3.08,
-3.31,3.24,3.20,3.20,3.28,3.23,3.22,3.28,3.31,3.31,
-3.35,3.35,3.31,3.35,3.41,3.37,3.30,3.37,3.39,3.44,
-3.46,3.47,3.36,3.28,3.56,3.39,3.47,3.50,3.61,3.58,
-3.61,3.45,3.51,3.54,3.52,3.50,3.66,3.66,3.74,3.50,
-3.65,3.59,3.66,3.79,3.47,3.76,3.84,3.63,3.90,3.85,
-4.01,3.79,3.76,3.77,3.77,3.81,3.79,3.83,3.85,3.80,
-3.78,3.88,3.86,3.85,3.82,3.95,3.92,3.94,3.75,3.89,
-3.83,4.09,4.13,3.93,3.93,4.03,4.04,4.06,3.99,4.06,
-3.92,4.39,4.24,4.12,4.15,4.17,4.23,4.18,4.24,4.33,
-4.16,4.11,4.11,4.20,4.16,4.19,4.19,4.38,4.30,4.30,
-4.27,4.22,4.24,4.38,4.33,4.34,4.37,4.32,4.31,4.49,
-4.30,4.42,4.56,4.56,4.44,4.56,4.38,4.36,4.36,4.46,
-4.41,4.39,4.45,4.62,4.46,4.58,4.71,4.60,4.55,4.62,
-4.47,4.68,4.60,4.60,4.75,4.54,4.57,4.53,4.74,4.79,
-4.58,4.70,4.87,4.87,4.76,4.84,4.61,4.78,4.75,4.75,
-4.72,4.72,4.78,4.84,4.85,4.82,4.86,4.76,4.80,4.95,
-4.79,4.84,4.86,5.01,4.99,4.87,4.93,4.94,4.91,5.04,
-4.84,4.88,5.05,5.05,5.00,4.99,4.89,4.96,4.92,4.91,
-0.96,1.01,1.06,1.09,1.12,1.17,1.17,1.21,1.24,1.25,
-1.28,1.36,1.37,1.39,1.44,1.44,1.44,1.48,1.57,1.58,
-1.59,1.59,1.66,1.61,1.67,1.66,1.69,1.76,1.74,1.76,
-1.79,1.88,1.91,1.90,1.90,1.93,1.93,1.95,2.01,1.99,
-2.09,2.08,2.12,2.15,2.09,2.17,2.15,2.24,2.19,2.18,
-2.16,2.28,2.25,2.22,2.23,2.32,2.35,2.29,2.35,2.41,
-2.32,2.39,2.44,2.47,2.50,2.55,2.56,2.56,2.57,2.54,
-2.53,2.59,2.58,2.70,2.62,2.68,2.73,2.71,2.60,2.81,
-2.66,2.80,2.67,2.80,2.77,2.86,2.89,2.88,2.75,2.95,
-2.87,2.83,2.91,2.88,2.95,2.85,2.98,2.95,2.96,2.95,
-2.98,3.01,3.08,2.88,3.01,3.06,3.21,3.05,3.04,3.18,
-3.10,3.33,3.18,3.13,3.24,3.21,3.16,3.26,3.32,3.24,
-3.27,3.22,3.31,3.19,3.23,3.32,3.41,3.45,3.32,3.33,
-3.39,3.45,3.44,3.44,3.33,3.52,3.34,3.37,3.56,3.41,
-3.48,3.61,3.54,3.38,3.47,3.41,3.43,3.55,3.70,3.60,
-3.59,3.51,3.62,3.69,3.50,3.63,3.69,3.59,3.67,3.60,
-3.63,3.71,3.70,3.86,3.79,3.77,3.95,3.75,3.80,3.78,
-3.84,3.74,3.87,3.81,4.00,3.98,3.88,3.92,3.85,3.77,
-3.90,3.87,3.89,3.97,4.05,4.29,4.06,3.99,3.99,4.07,
-4.09,4.08,4.05,4.05,3.96,4.02,4.05,4.18,4.13,4.10,
-4.13,4.09,4.00,4.23,4.25,4.13,4.11,4.10,4.24,4.18,
-4.24,4.28,4.32,4.31,4.18,4.24,4.34,4.21,4.31,4.14,
-4.47,4.36,4.40,4.21,4.42,4.40,4.25,4.36,4.38,4.43,
-4.39,4.47,4.41,4.38,4.37,4.58,4.39,4.50,4.40,4.67,
-4.34,4.63,4.49,4.47,4.54,4.52,4.42,4.49,4.58,4.54,
-4.65,4.54,4.65,4.69,4.56,4.39,4.52,4.72,4.68,4.90,
-4.68,4.80,4.68,4.61,4.80,4.73,4.88,4.64,4.80,4.70,
-4.77,4.87,4.64,4.79,4.71,5.01,4.73,4.66,4.73,4.83,
-5.05,4.88,4.83,4.88,4.97,4.68,4.88,4.77,4.89,4.95,
-0.95,0.95,1.05,1.08,1.13,1.08,1.20,1.20,1.23,1.26,
-1.28,1.29,1.30,1.37,1.41,1.47,1.42,1.49,1.49,1.58,
-1.60,1.59,1.57,1.71,1.69,1.76,1.67,1.69,1.69,1.79,
-1.82,1.82,1.83,1.89,1.87,1.92,1.89,1.97,1.98,1.91,
-1.95,2.04,2.06,2.15,2.12,2.08,2.10,2.18,2.12,2.14,
-2.08,2.17,2.19,2.19,2.24,2.22,2.22,2.24,2.27,2.25,
-2.35,2.35,2.35,2.38,2.47,2.36,2.38,2.51,2.51,2.51,
-2.46,2.50,2.55,2.48,2.62,2.56,2.52,2.62,2.73,2.66,
-2.72,2.59,2.73,2.77,2.74,2.73,2.77,2.79,2.82,2.73,
-2.75,2.73,2.86,2.85,2.81,2.90,2.94,2.82,2.90,2.88,
-2.98,2.90,3.04,2.94,3.01,3.05,2.92,2.99,3.00,3.07,
-3.10,3.06,3.11,3.07,3.19,3.11,3.08,3.28,3.25,3.19,
-3.21,3.34,3.30,3.12,3.30,3.25,3.24,3.18,3.31,3.14,
-3.26,3.19,3.18,3.41,3.38,3.30,3.45,3.41,3.44,3.31,
-3.49,3.43,3.46,3.40,3.47,3.65,3.41,3.52,3.53,3.70,
-3.54,3.60,3.50,3.58,3.59,3.45,3.69,3.65,3.54,3.57,
-3.69,3.65,3.58,3.79,3.69,3.71,3.79,3.72,3.64,3.81,
-3.49,3.76,3.66,3.84,3.76,3.70,3.87,3.96,3.93,3.82,
-3.85,3.79,3.72,3.94,3.89,3.91,3.88,3.89,3.85,4.07,
-3.91,4.05,4.07,4.04,3.96,4.13,3.98,4.05,4.03,4.06,
-4.07,4.00,4.22,4.05,4.13,4.03,4.27,4.11,4.21,4.22,
-4.09,4.31,4.04,4.17,4.17,4.12,4.25,4.15,4.19,4.18,
-4.17,4.26,4.25,4.14,4.38,4.20,4.39,4.29,4.07,4.13,
-4.36,4.32,4.37,4.22,4.48,4.40,4.45,4.40,4.41,4.24,
-4.50,4.38,4.35,4.45,4.40,4.20,4.48,4.60,4.40,4.63,
-4.31,4.47,4.44,4.61,4.59,4.57,4.66,4.48,4.67,4.61,
-4.53,4.56,4.69,4.54,4.72,4.63,4.68,4.35,4.66,4.70,
-4.58,4.62,4.67,4.71,4.68,4.82,4.63,4.75,4.93,4.67,
-4.82,4.83,4.78,4.69,4.69,4.84,4.65,4.90,4.85,4.78,
-0.89,0.96,0.99,1.02,1.05,1.09,1.15,1.12,1.21,1.24,
-1.25,1.31,1.33,1.34,1.35,1.42,1.44,1.47,1.46,1.42,
-1.53,1.60,1.55,1.55,1.64,1.64,1.69,1.67,1.66,1.75,
-1.76,1.81,1.80,1.85,1.78,1.88,1.91,1.94,1.84,1.89,
-1.98,2.00,1.99,2.00,1.94,2.04,2.13,2.10,2.07,2.12,
-2.15,2.05,2.22,2.26,2.18,2.24,2.13,2.20,2.28,2.31,
-2.38,2.26,2.26,2.39,2.48,2.32,2.44,2.37,2.36,2.35,
-2.42,2.51,2.47,2.44,2.49,2.54,2.52,2.51,2.57,2.52,
-2.61,2.59,2.65,2.74,2.48,2.76,2.64,2.76,2.71,2.68,
-2.68,2.75,2.79,2.82,2.71,2.89,2.74,2.75,2.86,2.79,
-2.79,2.89,2.96,3.03,2.88,2.99,3.00,3.02,2.95,3.06,
-2.90,3.02,3.16,3.04,2.96,3.01,3.22,3.16,3.06,3.09,
-3.12,3.12,3.17,3.09,3.21,3.25,3.12,3.24,3.16,3.09,
-3.29,3.18,3.20,3.28,3.30,3.26,3.34,3.34,3.36,3.30,
-3.47,3.41,3.48,3.40,3.40,3.46,3.33,3.54,3.46,3.52,
-3.54,3.57,3.35,3.50,3.54,3.47,3.44,3.45,3.53,3.45,
-3.51,3.45,3.56,3.60,3.50,3.60,3.58,3.69,3.71,3.62,
-3.60,3.70,3.80,3.68,3.69,3.80,3.75,3.75,3.69,3.85,
-3.87,3.75,3.85,3.75,3.89,3.68,3.80,3.81,3.86,3.99,
-3.90,3.86,3.86,3.74,3.81,3.86,4.11,3.83,3.94,3.93,
-3.95,4.12,4.12,3.92,3.95,4.04,4.06,4.06,4.06,4.08,
-3.99,3.96,3.92,4.16,4.09,4.07,4.15,3.96,4.19,4.28,
-4.14,4.08,4.23,4.20,4.31,4.35,4.30,4.11,4.23,4.06,
-4.27,4.39,4.23,4.40,4.51,4.26,4.31,4.11,4.33,4.30,
-4.36,4.27,4.22,4.35,4.28,4.41,4.35,4.62,4.51,4.28,
-4.22,4.40,4.38,4.45,4.26,4.40,4.56,4.69,4.55,4.33,
-4.52,4.43,4.42,4.61,4.51,4.47,4.37,4.59,4.66,4.68,
-4.43,4.64,4.68,4.59,4.75,4.62,4.58,4.67,4.65,4.73,
-4.69,4.57,4.55,4.87,4.52,4.76,4.64,4.67,4.80,4.51,
-0.89,0.94,0.97,1.00,1.04,1.09,1.12,1.12,1.21,1.17,
-1.24,1.23,1.28,1.32,1.38,1.33,1.39,1.38,1.39,1.40,
-1.51,1.58,1.50,1.56,1.57,1.62,1.59,1.67,1.64,1.68,
-1.67,1.71,1.71,1.76,1.77,1.83,1.84,1.92,1.87,1.98,
-1.98,1.94,1.97,1.96,2.01,1.96,2.00,1.97,2.03,2.09,
-2.05,2.09,2.13,2.23,2.17,2.25,2.17,2.14,2.26,2.28,
-2.26,2.23,2.28,2.33,2.25,2.32,2.36,2.23,2.39,2.28,
-2.43,2.47,2.39,2.42,2.43,2.59,2.50,2.57,2.57,2.50,
-2.60,2.45,2.53,2.60,2.62,2.61,2.63,2.65,2.60,2.65,
-2.66,2.66,2.71,2.67,2.76,2.69,2.72,2.79,2.76,2.77,
-2.78,2.81,2.80,2.73,2.75,2.87,2.91,2.92,2.98,2.98,
-2.88,2.94,3.01,3.00,2.84,3.08,3.04,3.01,3.11,3.21,
-3.04,2.92,3.17,3.09,3.08,2.98,3.15,3.16,3.20,3.11,
-3.13,3.11,3.10,3.25,3.16,3.15,3.06,3.30,3.21,3.19,
-3.16,3.32,3.32,3.25,3.36,3.32,3.37,3.38,3.31,3.32,
-3.32,3.42,3.35,3.34,3.35,3.34,3.31,3.35,3.49,3.51,
-3.41,3.58,3.40,3.50,3.58,3.46,3.62,3.49,3.63,3.64,
-3.59,3.63,3.66,3.67,3.51,3.61,3.70,3.74,3.54,3.73,
-3.75,3.79,3.66,3.68,3.67,3.69,3.77,3.70,3.85,3.68,
-3.67,3.62,3.81,3.81,3.88,3.89,3.80,3.80,3.82,3.97,
-3.99,3.86,3.78,3.91,3.96,3.98,3.87,3.94,3.91,3.89,
-3.86,3.88,3.93,3.93,3.94,3.98,3.89,3.97,4.14,4.00,
-4.06,3.78,4.13,3.99,4.13,4.16,4.14,4.08,4.11,4.08,
-4.16,4.12,4.22,4.06,4.17,3.96,4.14,4.21,4.26,4.13,
-4.33,4.31,4.11,4.17,4.18,4.17,4.30,4.41,4.32,4.20,
-4.22,4.23,4.36,4.44,4.24,4.32,4.47,4.23,4.32,4.40,
-4.46,4.46,4.36,4.49,4.48,4.51,4.37,4.39,4.51,4.47,
-4.42,4.63,4.30,4.53,4.47,4.44,4.53,4.63,4.61,4.58,
-4.76,4.70,4.46,4.61,4.59,4.53,4.63,4.66,4.67,4.68,
-0.87,0.92,0.97,1.00,0.99,1.05,1.06,1.15,1.17,1.15,
-1.19,1.26,1.24,1.30,1.29,1.39,1.37,1.43,1.36,1.43,
-1.48,1.47,1.50,1.51,1.54,1.55,1.56,1.70,1.66,1.63,
-1.62,1.72,1.69,1.77,1.71,1.77,1.75,1.81,1.85,1.88,
-1.87,1.92,1.89,1.83,1.87,1.89,1.96,1.99,1.96,1.98,
-2.03,2.11,2.04,2.09,2.09,2.13,2.03,2.14,2.16,2.24,
-2.25,2.22,2.11,2.26,2.21,2.22,2.27,2.26,2.29,2.30,
-2.27,2.34,2.37,2.38,2.32,2.41,2.40,2.42,2.43,2.43,
-2.38,2.54,2.40,2.46,2.49,2.47,2.55,2.51,2.54,2.72,
-2.65,2.52,2.54,2.55,2.64,2.63,2.69,2.66,2.59,2.68,
-2.68,2.68,2.70,2.79,2.80,2.78,2.78,2.77,2.85,2.73,
-2.86,2.84,2.84,2.87,2.98,2.91,3.00,2.93,2.94,2.98,
-3.05,2.84,3.03,3.02,3.08,2.94,2.93,2.98,3.06,3.05,
-3.04,2.88,3.04,3.16,3.07,3.10,3.14,3.26,3.14,3.16,
-3.08,3.10,3.21,3.05,3.22,3.14,3.11,3.39,3.37,3.25,
-3.47,3.35,3.25,3.40,3.34,3.20,3.35,3.47,3.40,3.41,
-3.35,3.35,3.37,3.31,3.48,3.46,3.31,3.53,3.37,3.50,
-3.55,3.61,3.44,3.44,3.45,3.51,3.43,3.54,3.45,3.57,
-3.61,3.54,3.56,3.58,3.65,3.61,3.50,3.66,3.71,3.55,
-3.55,3.56,3.63,3.77,3.71,3.58,3.82,3.79,3.64,3.73,
-3.79,3.65,3.77,3.82,3.89,3.81,3.78,3.79,3.69,3.91,
-3.84,3.81,3.94,3.89,3.76,3.86,3.97,3.95,4.01,3.89,
-4.03,3.75,3.95,4.02,3.86,4.04,4.08,4.03,4.04,4.19,
-4.08,4.03,4.04,3.96,4.06,3.95,4.16,4.13,3.99,4.06,
-4.09,4.12,4.09,4.20,4.30,4.12,4.21,4.09,4.20,4.26,
-4.13,4.22,4.31,4.19,3.99,4.20,4.20,4.19,4.34,4.19,
-4.21,4.21,4.12,4.32,4.28,4.33,4.35,4.23,4.34,4.18,
-4.39,4.47,4.46,4.42,4.15,4.59,4.28,4.21,4.40,4.30,
-4.23,4.21,4.36,4.36,4.37,4.46,4.54,4.40,4.47,4.54,
-0.85,0.93,0.91,0.92,0.99,1.03,1.05,1.11,1.10,1.12,
-1.15,1.19,1.22,1.29,1.27,1.30,1.32,1.31,1.38,1.41,
-1.40,1.41,1.48,1.49,1.46,1.49,1.51,1.61,1.56,1.53,
-1.64,1.63,1.65,1.68,1.71,1.67,1.69,1.71,1.72,1.79,
-1.82,1.82,1.81,1.75,1.84,1.88,1.91,1.89,1.95,2.07,
-1.97,2.03,1.94,1.94,2.05,2.05,2.04,2.12,2.02,2.11,
-2.13,2.16,2.07,2.11,2.24,2.15,2.33,2.18,2.24,2.31,
-2.28,2.29,2.25,2.32,2.31,2.38,2.35,2.35,2.38,2.41,
-2.35,2.50,2.46,2.50,2.42,2.55,2.56,2.42,2.47,2.53,
-2.47,2.52,2.55,2.64,2.49,2.53,2.57,2.57,2.50,2.65,
-2.68,2.69,2.68,2.66,2.74,2.72,2.72,2.72,2.72,2.75,
-2.76,2.79,2.80,2.81,2.82,2.85,2.84,2.95,2.77,2.90,
-2.86,2.89,2.97,2.97,2.97,2.91,2.98,3.02,2.99,2.78,
-2.99,3.07,3.05,3.01,3.10,2.88,2.93,3.03,3.07,3.01,
-3.07,3.12,3.19,3.21,3.07,3.11,3.06,3.10,3.11,3.21,
-3.21,3.21,3.22,3.25,3.20,3.19,3.30,3.17,3.27,3.21,
-3.28,3.23,3.26,3.30,3.27,3.34,3.40,3.38,3.44,3.39,
-3.33,3.25,3.29,3.40,3.44,3.38,3.30,3.57,3.48,3.41,
-3.49,3.54,3.40,3.48,3.40,3.50,3.45,3.40,3.51,3.47,
-3.50,3.54,3.54,3.62,3.59,3.71,3.65,3.73,3.67,3.45,
-3.67,3.74,3.69,3.63,3.54,3.68,3.69,3.50,3.80,3.68,
-3.71,3.67,3.80,3.83,3.77,3.92,3.71,3.67,3.94,3.86,
-3.73,3.81,3.83,3.99,3.63,3.87,3.91,3.91,3.84,3.78,
-3.84,4.02,3.84,3.85,3.94,3.91,3.77,3.94,4.11,4.03,
-4.02,4.03,3.97,4.04,3.87,4.15,3.87,4.07,4.10,4.06,
-4.05,4.06,3.99,4.10,3.99,3.97,3.94,4.04,4.03,4.00,
-4.10,4.26,4.29,4.08,4.33,4.15,4.19,4.29,4.28,4.08,
-4.26,4.16,4.31,4.17,4.24,4.21,4.23,4.32,4.41,4.14,
-4.21,4.23,4.24,4.40,4.21,4.42,4.26,4.33,4.34,4.12,
-0.82,0.84,0.87,0.93,0.97,0.99,1.02,1.03,1.05,1.07,
-1.14,1.18,1.16,1.20,1.20,1.25,1.23,1.28,1.35,1.36,
-1.36,1.37,1.37,1.43,1.46,1.50,1.51,1.51,1.56,1.49,
-1.56,1.61,1.60,1.67,1.62,1.65,1.64,1.70,1.71,1.70,
-1.80,1.72,1.75,1.68,1.83,1.88,1.82,1.88,1.83,1.92,
-1.89,1.94,1.93,2.00,1.94,2.04,2.04,2.00,2.08,2.02,
-2.09,2.22,2.09,2.14,2.11,2.21,2.10,2.07,2.08,2.13,
-2.18,2.11,2.23,2.17,2.28,2.29,2.24,2.26,2.26,2.27,
-2.32,2.33,2.17,2.46,2.30,2.44,2.53,2.36,2.43,2.33,
-2.48,2.59,2.50,2.49,2.50,2.54,2.62,2.53,2.41,2.57,
-2.60,2.50,2.63,2.52,2.55,2.48,2.69,2.68,2.62,2.59,
-2.74,2.74,2.62,2.68,2.75,2.84,2.73,2.68,2.68,2.87,
-2.71,2.84,2.85,2.78,2.78,2.86,2.74,3.03,2.85,2.85,
-2.97,2.91,2.94,2.93,2.86,2.96,3.00,2.98,2.80,3.06,
-3.03,2.98,3.12,3.06,3.05,3.14,3.03,3.03,2.95,3.22,
-3.05,3.01,3.11,3.20,3.27,3.09,3.24,3.10,3.17,3.19,
-3.23,3.14,3.16,3.29,3.17,3.37,3.28,3.22,3.31,3.28,
-3.34,3.42,3.34,3.30,3.32,3.28,3.37,3.23,3.27,3.38,
-3.42,3.42,3.37,3.45,3.54,3.44,3.38,3.55,3.33,3.42,
-3.34,3.46,3.47,3.52,3.45,3.52,3.49,3.37,3.48,3.42,
-3.53,3.65,3.56,3.65,3.42,3.62,3.54,3.75,3.77,3.64,
-3.68,3.55,3.71,3.77,3.56,3.61,3.68,3.71,3.60,3.58,
-3.69,3.63,3.59,3.62,3.77,3.73,3.76,3.67,3.73,3.78,
-3.71,3.69,3.76,3.84,3.78,3.85,3.98,3.72,3.69,3.97,
-3.78,3.89,3.76,3.80,3.88,3.80,3.84,3.82,3.93,3.98,
-3.97,3.89,4.14,4.09,3.80,3.96,3.90,3.93,4.01,4.06,
-3.99,4.01,3.96,4.08,3.96,4.14,4.09,4.15,4.11,4.02,
-4.18,3.85,4.05,3.91,4.14,3.98,4.14,3.97,4.08,4.24,
-4.12,4.11,4.23,4.23,4.14,4.17,4.24,4.37,4.21,4.07,
-0.78,0.82,0.83,0.90,0.91,0.94,0.97,1.02,1.00,1.03,
-1.11,1.11,1.16,1.12,1.20,1.21,1.22,1.31,1.28,1.27,
-1.30,1.33,1.34,1.35,1.39,1.42,1.41,1.42,1.46,1.40,
-1.54,1.53,1.51,1.64,1.55,1.62,1.61,1.66,1.70,1.59,
-1.66,1.73,1.67,1.75,1.77,1.79,1.82,1.80,1.82,1.83,
-1.87,1.86,1.83,1.88,1.91,1.98,1.93,1.95,1.94,2.01,
-2.01,1.98,2.01,2.03,2.06,2.03,2.02,2.08,2.17,2.05,
-2.12,2.17,2.22,2.15,2.14,2.22,2.13,2.20,2.24,2.13,
-2.31,2.24,2.26,2.25,2.33,2.27,2.32,2.29,2.36,2.36,
-2.33,2.36,2.38,2.41,2.37,2.36,2.33,2.45,2.51,2.50,
-2.54,2.47,2.49,2.41,2.54,2.60,2.54,2.53,2.64,2.62,
-2.59,2.51,2.62,2.62,2.64,2.71,2.68,2.65,2.76,2.59,
-2.71,2.75,2.68,2.63,2.67,2.79,2.76,2.79,2.80,2.72,
-2.77,2.63,2.78,2.82,2.81,2.79,2.92,2.86,2.84,2.84,
-2.89,2.98,3.01,3.01,2.93,2.96,3.04,3.00,2.98,2.93,
-3.01,2.99,2.94,2.94,3.03,3.04,3.05,3.13,2.95,3.05,
-3.05,3.07,3.09,3.04,3.10,3.01,3.05,3.18,3.12,3.24,
-3.09,3.12,3.11,3.08,3.19,3.09,3.26,3.24,3.19,3.36,
-3.22,3.29,3.18,3.29,3.23,3.30,3.33,3.32,3.24,3.33,
-3.37,3.36,3.33,3.22,3.29,3.42,3.36,3.47,3.48,3.36,
-3.49,3.39,3.44,3.38,3.41,3.31,3.52,3.61,3.60,3.53,
-3.39,3.46,3.59,3.51,3.51,3.51,3.36,3.50,3.46,3.55,
-3.62,3.53,3.55,3.46,3.67,3.66,3.59,3.64,3.67,3.63,
-3.65,3.63,3.65,3.67,3.59,3.65,3.80,3.73,3.75,3.80,
-3.71,3.64,3.66,3.80,3.83,3.75,3.73,3.76,3.65,3.79,
-3.89,3.85,3.78,3.80,3.82,3.69,4.02,3.90,4.10,3.93,
-3.87,3.94,3.87,3.87,4.01,3.95,3.98,3.95,3.92,3.82,
-3.97,4.02,3.69,3.98,3.89,3.97,4.06,4.01,4.07,3.97,
-3.98,4.00,4.08,4.20,3.94,3.94,3.97,3.97,4.21,4.32,
-0.75,0.82,0.82,0.86,0.87,0.91,0.95,1.00,1.01,1.06,
-1.03,1.07,1.13,1.13,1.18,1.11,1.16,1.26,1.20,1.26,
-1.28,1.29,1.32,1.31,1.32,1.40,1.44,1.41,1.42,1.43,
-1.42,1.42,1.44,1.52,1.52,1.53,1.57,1.54,1.58,1.60,
-1.63,1.67,1.63,1.63,1.71,1.69,1.70,1.77,1.75,1.66,
-1.77,1.81,1.81,1.75,1.82,1.79,1.83,1.88,1.94,1.85,
-1.90,1.96,1.94,1.87,1.99,1.93,1.95,2.02,2.10,2.10,
-2.08,2.07,2.14,2.13,2.12,2.10,2.12,2.10,2.14,2.17,
-2.22,2.15,2.19,2.23,2.18,2.27,2.27,2.19,2.28,2.26,
-2.29,2.25,2.32,2.29,2.22,2.35,2.35,2.43,2.37,2.41,
-2.35,2.34,2.42,2.37,2.33,2.35,2.38,2.47,2.45,2.45,
-2.51,2.51,2.57,2.44,2.55,2.64,2.57,2.56,2.64,2.44,
-2.60,2.58,2.64,2.59,2.71,2.67,2.67,2.70,2.72,2.75,
-2.66,2.79,2.62,2.81,2.72,2.70,2.73,2.76,2.76,2.82,
-2.79,2.73,2.72,2.89,2.79,2.86,2.89,2.88,2.97,2.85,
-2.80,2.97,2.85,2.88,2.81,2.91,3.02,2.93,2.96,3.03,
-3.00,3.03,3.04,3.13,2.79,3.07,3.01,3.04,2.96,3.04,
-3.02,3.08,3.07,3.10,3.22,2.96,3.08,3.07,3.13,3.19,
-3.00,3.06,3.31,3.07,3.19,3.15,3.10,3.19,3.09,3.16,
-3.30,3.27,3.30,3.26,3.29,3.23,3.36,3.22,3.34,3.56,
-3.31,3.25,3.35,3.44,3.25,3.35,3.51,3.28,3.37,3.38,
-3.37,3.48,3.42,3.52,3.32,3.35,3.28,3.44,3.46,3.50,
-3.48,3.42,3.40,3.55,3.36,3.52,3.51,3.54,3.59,3.55,
-3.54,3.58,3.53,3.46,3.55,3.60,3.50,3.54,3.62,3.59,
-3.59,3.61,3.63,3.60,3.68,3.68,3.64,3.67,3.74,3.68,
-3.63,3.66,3.80,3.75,3.83,3.51,3.71,3.61,3.89,3.57,
-3.78,3.72,3.64,3.70,3.83,3.79,3.84,3.76,3.75,3.75,
-3.78,3.79,3.95,3.70,3.78,3.89,3.66,3.79,3.76,3.83,
-3.91,3.79,4.00,3.87,3.94,3.87,3.93,3.89,3.84,3.95,
-0.75,0.74,0.79,0.84,0.88,0.86,0.86,0.91,0.98,0.99,
-1.02,1.02,1.06,1.08,1.11,1.09,1.16,1.14,1.17,1.18,
-1.21,1.24,1.24,1.25,1.33,1.33,1.34,1.30,1.36,1.37,
-1.39,1.45,1.45,1.45,1.47,1.52,1.46,1.53,1.52,1.55,
-1.54,1.55,1.58,1.60,1.61,1.66,1.70,1.65,1.65,1.68,
-1.73,1.76,1.71,1.76,1.79,1.77,1.79,1.86,1.76,1.83,
-1.80,1.82,1.89,1.92,1.86,1.90,1.90,1.97,2.00,1.83,
-1.98,1.94,2.03,2.00,1.99,1.97,2.05,1.98,2.03,2.13,
-2.16,2.11,2.14,2.11,2.17,2.15,2.16,2.17,2.21,2.20,
-2.17,2.17,2.15,2.21,2.23,2.21,2.20,2.27,2.36,2.28,
-2.29,2.29,2.30,2.27,2.33,2.36,2.29,2.42,2.40,2.41,
-2.37,2.41,2.36,2.46,2.45,2.52,2.52,2.51,2.55,2.41,
-2.51,2.49,2.54,2.52,2.55,2.61,2.55,2.63,2.55,2.66,
-2.62,2.55,2.60,2.61,2.63,2.63,2.61,2.65,2.63,2.73,
-2.71,2.68,2.75,2.65,2.75,2.77,2.81,2.79,2.75,2.65,
-2.72,2.88,2.84,2.81,2.89,2.81,2.75,2.83,2.86,2.76,
-2.83,2.91,2.91,2.83,2.83,2.92,2.90,2.97,2.90,2.87,
-2.80,2.99,2.93,2.96,2.88,3.03,2.95,3.03,2.98,3.02,
-3.10,3.11,3.00,2.97,3.01,3.01,3.14,3.04,2.95,2.94,
-3.01,3.15,3.04,3.10,3.05,3.16,3.15,3.13,3.12,3.07,
-3.14,3.10,3.26,3.23,3.31,3.18,3.30,3.19,3.32,3.31,
-3.35,3.23,3.23,3.34,3.29,3.22,3.23,3.22,3.33,3.35,
-3.37,3.22,3.47,3.45,3.37,3.46,3.33,3.31,3.31,3.25,
-3.27,3.42,3.36,3.24,3.46,3.42,3.37,3.42,3.56,3.43,
-3.59,3.50,3.55,3.58,3.70,3.42,3.65,3.66,3.42,3.54,
-3.55,3.56,3.53,3.49,3.57,3.51,3.48,3.56,3.56,3.49,
-3.69,3.69,3.62,3.69,3.43,3.56,3.68,3.62,3.80,3.80,
-3.71,3.70,3.71,3.65,3.73,3.67,3.73,3.98,3.70,3.68,
-3.88,3.66,3.74,3.86,3.85,3.68,3.64,3.82,3.84,3.81,
-1.05,1.10,1.14,1.17,1.24,1.23,1.27,1.40,1.41,1.45,
-1.45,1.46,1.51,1.52,1.58,1.62,1.59,1.75,1.68,1.70,
-1.82,1.77,1.83,1.87,1.89,1.92,1.89,1.93,1.97,2.03,
-1.90,2.01,2.07,2.09,2.17,2.11,2.22,2.27,2.25,2.17,
-2.35,2.41,2.34,2.26,2.30,2.41,2.36,2.35,2.42,2.49,
-2.50,2.52,2.49,2.37,2.54,2.50,2.63,2.72,2.56,2.64,
-2.72,2.61,2.67,2.83,2.77,2.80,2.84,2.90,2.86,2.91,
-2.92,2.88,2.97,2.88,2.77,2.98,3.00,2.98,3.01,3.04,
-3.00,2.90,3.11,3.06,3.05,3.09,3.17,3.07,3.19,3.16,
-3.16,3.26,3.13,3.19,3.38,3.21,3.24,3.29,3.26,3.27,
-3.25,3.27,3.37,3.21,3.25,3.33,3.35,3.38,3.47,3.41,
-3.47,3.50,3.53,3.56,3.69,3.40,3.58,3.64,3.69,3.53,
-3.65,3.59,3.68,3.63,3.61,3.74,3.66,3.72,3.88,3.75,
-3.71,3.57,3.68,3.89,3.71,3.91,3.94,3.80,4.05,4.00,
-3.90,3.89,3.92,4.07,4.04,4.03,3.90,3.94,3.93,3.86,
-4.05,4.10,4.01,3.99,3.92,4.02,4.09,4.06,4.09,4.18,
-4.12,4.07,4.26,4.14,4.39,4.28,4.24,4.18,4.27,4.17,
-4.05,4.25,4.25,4.15,4.18,4.23,4.35,4.45,4.30,4.36,
-4.27,4.27,4.32,4.51,4.46,4.44,4.42,4.46,4.38,4.53,
-4.48,4.39,4.81,4.54,4.66,4.46,4.51,4.50,4.58,4.52,
-4.57,4.58,4.76,4.61,4.84,4.73,4.53,4.86,4.64,4.70,
-4.64,4.72,4.92,4.64,5.01,4.65,4.76,4.80,4.84,4.84,
-4.77,4.82,4.84,4.74,4.73,5.08,4.73,4.73,4.92,4.95,
-4.98,4.91,4.83,4.75,4.96,5.05,4.98,5.08,4.96,4.99,
-5.06,5.18,5.13,5.03,5.22,5.12,5.30,5.25,5.26,5.26,
-5.12,4.89,5.35,5.12,5.22,5.30,5.25,5.19,5.31,5.18,
-5.10,5.21,5.25,5.13,5.29,5.39,5.31,5.34,5.16,5.09,
-5.45,5.34,5.19,5.42,5.23,5.18,5.38,5.22,5.42,5.40,
-5.29,5.54,5.50,5.22,5.40,5.48,5.39,5.66,5.52,5.48,
-1.01,1.07,1.08,1.12,1.22,1.22,1.31,1.28,1.33,1.35,
-1.41,1.42,1.47,1.50,1.51,1.57,1.58,1.65,1.63,1.69,
-1.67,1.71,1.73,1.78,1.84,1.81,1.84,1.89,1.98,1.92,
-1.96,2.02,1.96,2.07,2.06,2.04,2.11,2.04,2.10,2.14,
-2.17,2.16,2.26,2.35,2.21,2.22,2.31,2.33,2.36,2.24,
-2.38,2.45,2.50,2.37,2.36,2.45,2.51,2.63,2.51,2.63,
-2.58,2.60,2.58,2.51,2.69,2.63,2.79,2.61,2.67,2.65,
-2.64,2.82,2.74,2.90,2.76,2.71,2.80,2.91,2.78,2.87,
-2.92,2.92,2.93,2.91,2.91,2.94,2.96,3.03,3.02,3.11,
-3.11,3.13,2.96,3.09,3.08,3.14,3.12,3.22,3.09,3.19,
-3.28,3.13,3.23,3.30,3.21,3.33,3.35,3.31,3.31,3.26,
-3.29,3.38,3.51,3.35,3.30,3.45,3.51,3.43,3.50,3.36,
-3.43,3.50,3.47,3.56,3.61,3.50,3.62,3.73,3.48,3.66,
-3.54,3.61,3.65,3.70,3.66,3.83,3.71,3.73,3.76,3.66,
-3.80,3.69,3.59,3.79,3.69,3.80,3.86,3.71,3.85,3.72,
-3.88,3.86,3.82,3.88,3.87,4.04,3.95,4.04,3.95,3.95,
-3.93,3.88,3.76,4.06,3.96,4.05,4.07,3.95,4.14,4.02,
-4.03,4.28,4.14,4.02,4.21,4.01,4.20,4.23,4.07,4.12,
-3.94,4.24,4.12,4.25,4.23,4.22,4.27,4.14,4.27,4.41,
-4.18,4.45,4.39,4.14,4.38,4.38,4.36,4.44,4.39,4.20,
-4.46,4.41,4.45,4.52,4.50,4.27,4.53,4.22,4.55,4.58,
-4.71,4.67,4.53,4.63,4.57,4.55,4.55,4.51,4.68,4.55,
-4.54,4.56,4.85,4.68,4.84,4.83,4.74,4.63,4.67,4.62,
-4.61,4.69,4.81,4.79,4.82,4.93,4.73,4.74,4.90,4.95,
-4.73,4.89,4.91,4.95,4.82,4.98,5.00,4.92,4.88,4.87,
-4.90,5.00,4.95,4.99,4.95,4.88,5.12,4.94,5.09,5.00,
-5.04,4.97,5.11,5.12,4.96,5.27,5.11,4.95,5.05,5.27,
-5.09,5.23,5.04,5.06,5.17,5.06,5.04,5.05,5.11,5.26,
-5.05,5.25,5.15,5.31,5.15,5.26,5.29,5.35,5.28,5.35,
-0.96,1.00,1.08,1.13,1.14,1.16,1.21,1.24,1.27,1.34,
-1.39,1.40,1.39,1.44,1.49,1.51,1.52,1.54,1.57,1.64,
-1.66,1.67,1.68,1.74,1.74,1.79,1.78,1.82,1.88,1.89,
-1.95,1.92,1.91,1.97,1.97,1.95,2.03,2.07,2.13,2.12,
-2.16,2.15,2.22,2.16,2.16,2.27,2.24,2.30,2.24,2.23,
-2.29,2.33,2.31,2.45,2.43,2.45,2.44,2.40,2.46,2.47,
-2.57,2.49,2.50,2.50,2.48,2.56,2.56,2.59,2.59,2.66,
-2.77,2.74,2.64,2.56,2.79,2.70,2.79,2.69,2.86,2.77,
-2.71,2.77,2.81,2.79,2.71,2.85,2.90,2.89,2.91,2.90,
-3.03,2.93,2.94,3.02,3.07,3.03,3.10,3.04,3.10,3.11,
-3.12,3.11,2.89,3.24,3.10,3.22,3.21,3.14,3.24,3.21,
-3.24,3.29,3.23,3.44,3.33,3.23,3.39,3.35,3.42,3.26,
-3.30,3.49,3.47,3.35,3.37,3.41,3.37,3.40,3.38,3.45,
-3.44,3.47,3.52,3.50,3.64,3.46,3.59,3.57,3.69,3.65,
-3.58,3.60,3.61,3.86,3.64,3.57,3.77,3.77,3.58,3.66,
-3.76,3.71,3.73,3.86,3.73,3.93,3.79,3.79,3.77,3.80,
-3.84,3.93,3.80,3.82,3.84,3.84,3.91,4.14,3.83,4.09,
-4.08,4.05,4.06,4.16,4.07,4.02,4.07,4.16,4.00,4.09,
-4.00,4.09,4.14,4.11,4.26,4.09,4.24,4.09,4.04,4.20,
-4.20,4.27,4.28,4.02,4.37,4.02,4.25,4.29,4.30,4.21,
-4.26,4.27,4.32,4.29,4.20,4.38,4.33,4.40,4.46,4.45,
-4.42,4.53,4.33,4.47,4.55,4.37,4.55,4.49,4.28,4.54,
-4.54,4.29,4.45,4.51,4.48,4.60,4.35,4.55,4.49,4.43,
-4.49,4.37,4.66,4.56,4.71,4.76,4.89,4.61,4.64,4.58,
-4.68,4.57,4.61,4.55,4.68,4.86,4.74,4.77,4.72,4.76,
-4.66,4.65,4.67,4.77,4.83,4.76,4.66,4.70,5.04,4.70,
-4.85,4.80,4.96,4.67,4.97,4.90,4.77,4.89,4.76,4.85,
-4.92,4.98,4.93,5.06,4.94,5.03,4.94,5.04,5.01,5.01,
-4.97,4.91,5.12,4.93,5.00,5.05,5.03,4.91,5.07,5.11,
-0.98,1.01,1.08,1.06,1.13,1.18,1.18,1.21,1.22,1.31,
-1.35,1.36,1.39,1.42,1.46,1.47,1.55,1.59,1.52,1.59,
-1.56,1.65,1.73,1.59,1.67,1.72,1.75,1.83,1.78,1.81,
-1.89,1.87,1.90,1.93,1.97,1.99,1.94,2.08,2.02,2.00,
-2.09,2.15,2.13,2.16,2.10,2.10,2.17,2.21,2.16,2.22,
-2.30,2.27,2.28,2.20,2.33,2.42,2.42,2.31,2.38,2.36,
-2.41,2.48,2.50,2.45,2.54,2.45,2.58,2.52,2.47,2.52,
-2.60,2.56,2.56,2.70,2.55,2.74,2.68,2.76,2.84,2.78,
-2.82,2.68,2.86,2.78,2.93,2.75,2.80,2.89,3.00,2.94,
-2.94,2.92,3.00,2.98,3.02,2.99,2.96,2.94,3.06,2.92,
-2.99,3.02,3.09,3.06,3.05,3.20,3.14,3.21,3.20,3.22,
-3.15,3.23,3.17,3.10,3.27,3.18,3.19,3.22,3.16,3.24,
-3.20,3.42,3.44,3.42,3.51,3.48,3.40,3.32,3.41,3.42,
-3.53,3.47,3.43,3.48,3.53,3.40,3.44,3.39,3.57,3.62,
-3.49,3.57,3.67,3.48,3.44,3.45,3.57,3.62,3.57,3.71,
-3.60,3.69,3.62,3.76,3.65,3.84,3.73,3.63,3.78,3.73,
-3.84,3.73,3.99,3.74,3.89,3.90,3.75,3.71,3.82,3.99,
-3.84,3.77,3.92,4.00,3.83,3.91,3.93,3.92,3.78,4.06,
-3.82,3.95,3.96,4.12,4.00,3.91,4.02,4.00,4.11,3.92,
-4.14,4.17,3.92,4.08,4.08,4.08,4.04,4.07,4.07,4.07,
-4.01,4.21,4.22,4.35,4.03,4.17,4.22,4.44,4.22,4.29,
-4.30,4.28,4.29,4.23,4.48,4.44,4.29,4.39,4.45,4.23,
-4.59,4.41,4.38,4.38,4.49,4.62,4.30,4.31,4.57,4.55,
-4.55,4.34,4.52,4.67,4.47,4.49,4.49,4.53,4.45,4.52,
-4.46,4.62,4.45,4.48,4.62,4.60,4.52,4.51,4.54,4.51,
-4.79,4.72,4.68,4.76,4.72,4.73,4.62,4.86,4.71,4.64,
-4.60,4.76,4.87,4.84,4.69,4.76,4.80,4.69,4.71,4.92,
-4.84,4.96,4.75,4.90,4.75,4.76,5.01,4.86,4.87,4.93,
-4.91,5.02,5.20,5.07,4.84,5.07,4.91,4.74,4.82,5.06,
-1.04,0.99,1.04,1.08,1.13,1.14,1.11,1.23,1.22,1.30,
-1.35,1.31,1.39,1.40,1.44,1.42,1.46,1.52,1.54,1.56,
-1.60,1.66,1.61,1.62,1.66,1.67,1.74,1.78,1.76,1.78,
-1.85,1.83,1.90,1.94,1.84,1.93,1.90,1.95,1.95,1.97,
-2.03,2.00,2.05,2.03,2.09,2.06,2.13,2.11,2.28,2.24,
-2.26,2.23,2.17,2.24,2.27,2.28,2.34,2.27,2.24,2.32,
-2.42,2.38,2.38,2.34,2.48,2.44,2.48,2.52,2.61,2.51,
-2.49,2.53,2.55,2.65,2.68,2.66,2.67,2.71,2.68,2.67,
-2.67,2.68,2.75,2.68,2.78,2.71,2.86,2.87,2.84,2.80,
-2.73,2.82,2.87,2.90,2.97,2.88,2.93,3.01,2.95,2.97,
-3.02,2.81,2.94,3.01,3.09,3.07,3.00,2.98,3.09,3.12,
-3.12,2.99,2.99,3.08,3.13,3.18,3.08,3.08,3.24,3.29,
-3.26,3.36,3.23,3.19,3.46,3.33,3.24,3.28,3.39,3.31,
-3.40,3.40,3.46,3.42,3.37,3.32,3.42,3.43,3.25,3.37,
-3.53,3.53,3.57,3.61,3.55,3.52,3.60,3.43,3.54,3.49,
-3.51,3.42,3.60,3.45,3.62,3.54,3.59,3.59,3.69,3.70,
-3.58,3.63,3.75,3.63,3.64,3.78,3.77,3.80,3.88,3.75,
-3.88,3.83,3.58,3.66,3.84,3.81,3.75,3.77,3.92,3.94,
-3.94,3.97,3.97,3.99,3.82,3.90,3.91,4.07,4.10,3.75,
-4.03,4.05,4.07,4.02,3.93,4.14,4.16,3.97,4.11,3.94,
-3.94,4.17,4.04,4.09,4.08,4.35,4.06,4.11,4.22,4.06,
-4.13,4.11,4.26,4.10,4.21,4.47,4.24,4.17,4.17,4.40,
-4.36,4.46,4.38,4.35,4.32,4.17,4.33,4.50,4.30,4.40,
-4.38,4.44,4.33,4.21,4.52,4.41,4.46,4.35,4.39,4.50,
-4.40,4.43,4.47,4.58,4.57,4.34,4.56,4.57,4.61,4.61,
-4.57,4.62,4.48,4.44,4.47,4.65,4.67,4.61,4.67,4.68,
-4.67,4.50,4.80,4.71,4.57,4.59,4.80,4.72,4.66,4.83,
-4.67,4.71,4.77,4.73,4.57,4.70,4.79,4.86,4.83,4.90,
-4.94,4.85,4.84,4.92,4.99,4.93,4.83,5.01,4.98,4.84,
-0.94,0.97,1.02,1.05,1.14,1.12,1.17,1.16,1.22,1.29,
-1.27,1.34,1.34,1.38,1.36,1.36,1.42,1.56,1.56,1.57,
-1.58,1.63,1.59,1.63,1.59,1.63,1.71,1.71,1.75,1.70,
-1.72,1.78,1.82,1.86,1.90,1.88,1.89,1.92,1.99,1.99,
-2.01,2.06,2.02,1.98,2.09,1.97,2.13,2.08,2.06,2.19,
-2.15,2.25,2.27,2.25,2.29,2.18,2.32,2.27,2.31,2.45,
-2.29,2.29,2.43,2.35,2.41,2.39,2.61,2.38,2.47,2.41,
-2.61,2.54,2.51,2.57,2.59,2.57,2.50,2.60,2.60,2.68,
-2.61,2.63,2.63,2.77,2.70,2.74,2.85,2.90,2.77,2.70,
-2.83,2.80,2.89,2.74,2.93,2.94,2.83,2.94,2.94,2.91,
-2.99,2.89,2.91,2.93,2.91,3.01,3.10,3.05,3.07,3.01,
-2.99,2.99,3.10,3.14,3.00,3.10,3.10,3.09,3.00,3.21,
-3.19,3.14,3.29,3.14,3.25,3.26,3.25,3.17,3.28,3.29,
-3.21,3.32,3.39,3.44,3.43,3.36,3.31,3.46,3.37,3.21,
-3.46,3.38,3.48,3.62,3.38,3.46,3.37,3.38,3.53,3.47,
-3.58,3.46,3.56,3.62,3.53,3.55,3.54,3.54,3.65,3.55,
-3.57,3.77,3.63,3.58,3.71,3.54,3.71,3.60,3.80,3.66,
-3.68,3.80,3.68,3.79,3.73,3.81,3.71,3.82,3.72,3.88,
-3.84,3.81,3.95,3.96,3.99,3.97,3.79,3.95,3.87,3.96,
-3.95,4.04,3.89,3.99,3.92,3.96,4.07,4.15,4.02,4.02,
-3.98,4.08,4.15,4.04,3.91,3.98,4.02,4.08,4.01,4.33,
-4.16,4.32,4.26,4.26,4.11,4.15,4.16,4.26,4.22,4.21,
-4.29,4.29,4.25,4.38,4.41,4.31,4.33,4.24,4.24,4.22,
-4.08,4.40,4.55,4.42,4.24,4.47,4.52,4.33,4.37,4.54,
-4.29,4.43,4.28,4.47,4.49,4.43,4.40,4.41,4.55,4.41,
-4.55,4.42,4.44,4.48,4.44,4.56,4.52,4.57,4.40,4.56,
-4.64,4.37,4.62,4.50,4.43,4.54,4.73,4.71,4.51,4.78,
-4.73,4.69,4.80,4.67,4.71,4.69,4.79,4.43,4.74,4.69,
-4.67,4.80,4.75,4.58,4.65,4.76,4.89,4.79,4.90,4.60,
-0.92,0.99,0.99,1.06,1.06,1.14,1.17,1.12,1.22,1.26,
-1.32,1.33,1.36,1.35,1.39,1.43,1.40,1.43,1.48,1.58,
-1.52,1.47,1.59,1.62,1.70,1.59,1.70,1.71,1.65,1.72,
-1.72,1.76,1.78,1.88,1.90,1.83,1.93,1.98,1.91,1.94,
-1.93,1.90,1.97,1.99,1.99,2.01,2.11,2.08,2.05,2.06,
-2.16,2.21,2.15,2.18,2.26,2.27,2.30,2.27,2.24,2.33,
-2.31,2.30,2.33,2.34,2.37,2.34,2.32,2.48,2.47,2.47,
-2.57,2.48,2.58,2.50,2.50,2.57,2.55,2.56,2.55,2.59,
-2.61,2.66,2.63,2.65,2.59,2.81,2.77,2.77,2.66,2.66,
-2.68,2.86,2.82,2.83,2.91,2.77,2.84,2.87,2.84,2.97,
-2.80,2.79,2.86,3.02,2.95,2.99,2.90,3.02,2.97,2.95,
-2.90,2.99,2.94,2.94,2.99,3.16,3.12,3.13,3.06,3.10,
-3.14,3.10,3.06,3.24,3.34,3.19,3.08,3.26,3.22,3.22,
-3.21,3.22,3.10,3.28,3.34,3.25,3.34,3.40,3.27,3.23,
-3.28,3.32,3.44,3.35,3.45,3.45,3.41,3.49,3.40,3.49,
-3.48,3.34,3.49,3.64,3.48,3.59,3.58,3.49,3.43,3.40,
-3.57,3.71,3.57,3.64,3.64,3.64,3.61,3.72,3.76,3.47,
-3.63,3.60,3.77,3.73,3.72,3.83,3.81,3.78,3.80,3.70,
-3.84,3.81,3.77,3.94,3.82,3.67,3.89,3.92,3.84,4.00,
-3.92,3.77,3.89,3.75,3.94,3.85,3.81,3.86,3.93,4.00,
-4.08,3.98,3.98,4.03,3.95,4.02,4.09,3.99,3.92,3.90,
-3.97,4.03,4.17,4.03,4.17,4.08,4.14,4.07,4.07,4.17,
-4.13,4.21,4.18,4.20,4.29,4.30,4.28,4.19,4.26,4.15,
-4.21,4.24,4.23,4.24,4.14,4.33,4.24,4.45,4.33,4.10,
-4.44,4.23,4.34,4.44,4.36,4.37,4.29,4.30,4.35,4.12,
-4.45,4.43,4.38,4.37,4.48,4.45,4.38,4.54,4.51,4.41,
-4.55,4.41,4.55,4.44,4.59,4.36,4.71,4.50,4.66,4.44,
-4.40,4.63,4.48,4.52,4.67,4.43,4.43,4.55,4.68,4.64,
-4.68,4.79,4.80,4.67,4.82,4.64,4.63,4.62,4.55,4.72,
-0.91,0.99,0.99,1.06,1.07,1.06,1.15,1.10,1.18,1.24,
-1.24,1.27,1.32,1.37,1.35,1.33,1.43,1.46,1.44,1.55,
-1.52,1.50,1.64,1.56,1.66,1.66,1.58,1.67,1.62,1.72,
-1.71,1.77,1.77,1.76,1.92,1.80,1.87,1.84,1.86,1.92,
-1.89,1.93,2.03,1.97,2.02,1.97,2.02,1.98,2.05,2.07,
-2.07,2.10,2.23,2.21,2.17,2.16,2.25,2.20,2.19,2.21,
-2.24,2.26,2.31,2.22,2.35,2.29,2.35,2.37,2.48,2.47,
-2.33,2.44,2.42,2.50,2.44,2.50,2.68,2.50,2.50,2.57,
-2.51,2.66,2.63,2.58,2.54,2.66,2.63,2.71,2.61,2.81,
-2.79,2.67,2.68,2.56,2.76,2.66,2.74,2.71,2.71,2.74,
-2.90,2.93,2.90,2.97,2.76,2.80,2.95,2.87,2.88,2.86,
-2.81,3.12,2.90,2.96,3.07,3.05,3.04,3.01,2.99,3.09,
-2.96,3.09,3.09,3.19,3.05,3.28,3.24,3.15,3.09,3.06,
-3.19,3.17,3.19,3.25,3.32,3.19,3.20,3.21,3.26,3.29,
-3.29,3.48,3.49,3.23,3.38,3.42,3.43,3.40,3.42,3.30,
-3.35,3.34,3.45,3.58,3.55,3.44,3.29,3.44,3.52,3.55,
-3.54,3.36,3.46,3.55,3.69,3.54,3.52,3.75,3.59,3.71,
-3.69,3.61,3.64,3.75,3.40,3.58,3.65,3.53,3.59,3.70,
-3.77,3.64,3.76,3.70,3.82,3.78,3.71,3.66,3.66,3.81,
-3.76,3.82,3.90,3.73,3.90,3.89,4.05,3.77,4.03,3.87,
-3.86,4.04,3.81,4.07,4.02,4.04,3.81,3.97,4.09,3.82,
-4.02,4.09,3.99,3.92,3.97,4.11,3.89,4.07,4.02,4.03,
-4.24,4.08,4.14,4.09,4.12,4.15,4.11,4.08,4.11,4.26,
-4.19,4.16,4.14,4.22,4.22,4.19,4.23,4.16,4.28,4.12,
-4.27,4.26,4.27,4.21,4.37,4.28,4.44,4.37,4.26,4.34,
-4.24,4.29,4.41,4.27,4.48,4.37,4.42,4.36,4.27,4.44,
-4.57,4.41,4.28,4.42,4.31,4.41,4.44,4.46,4.44,4.52,
-4.38,4.53,4.30,4.66,4.60,4.46,4.60,4.58,4.60,4.50,
-4.76,4.76,4.56,4.42,4.57,4.79,4.49,4.74,4.75,4.75,
-0.89,0.91,0.99,1.00,1.05,1.07,1.12,1.15,1.15,1.19,
-1.27,1.26,1.30,1.30,1.36,1.36,1.38,1.43,1.46,1.46,
-1.49,1.50,1.57,1.55,1.57,1.59,1.63,1.67,1.72,1.66,
-1.67,1.71,1.73,1.71,1.78,1.87,1.82,1.83,1.83,1.76,
-1.79,1.92,1.92,1.99,1.97,1.91,1.91,1.98,2.05,2.05,
-2.05,2.15,2.11,2.15,2.08,2.09,2.12,2.17,2.18,2.19,
-2.19,2.28,2.16,2.26,2.21,2.26,2.29,2.23,2.30,2.36,
-2.43,2.37,2.36,2.35,2.42,2.49,2.46,2.45,2.52,2.54,
-2.48,2.47,2.45,2.61,2.63,2.53,2.61,2.54,2.56,2.64,
-2.66,2.63,2.68,2.70,2.70,2.65,2.79,2.71,2.83,2.80,
-2.67,2.77,2.81,2.82,2.82,2.80,2.95,2.87,2.92,2.91,
-2.98,2.86,2.87,2.91,2.92,2.86,3.00,2.97,2.94,2.95,
-3.13,3.01,3.01,3.01,3.09,3.15,3.05,3.09,3.14,3.11,
-3.23,3.12,3.22,3.13,3.08,3.25,3.22,3.15,3.17,3.20,
-3.21,3.23,3.30,3.19,3.30,3.16,3.44,3.18,3.34,3.25,
-3.28,3.35,3.46,3.36,3.45,3.42,3.33,3.35,3.40,3.58,
-3.51,3.42,3.54,3.41,3.46,3.44,3.50,3.58,3.34,3.54,
-3.59,3.48,3.59,3.41,3.58,3.58,3.63,3.44,3.58,3.55,
-3.73,3.52,3.66,3.66,3.47,3.58,3.70,3.68,3.67,3.70,
-3.88,3.92,3.67,3.73,3.65,3.71,3.70,3.64,3.76,3.71,
-3.76,3.93,3.82,3.74,3.86,3.80,3.94,3.80,3.94,3.84,
-3.80,3.88,3.93,4.00,4.00,4.15,4.02,4.01,3.88,3.96,
-3.92,3.87,4.07,4.10,4.13,3.97,4.09,4.05,4.17,4.25,
-3.99,4.13,4.22,4.13,4.18,4.03,4.23,4.21,4.16,4.14,
-4.13,4.18,4.27,4.28,4.18,4.14,4.30,4.04,4.12,4.43,
-4.24,4.12,4.26,4.35,4.29,4.29,4.37,4.16,4.28,4.35,
-4.35,4.38,4.19,4.56,4.29,4.22,4.31,4.49,4.54,4.41,
-4.30,4.42,4.39,4.44,4.30,4.21,4.39,4.53,4.49,4.46,
-4.53,4.48,4.48,4.61,4.55,4.39,4.50,4.34,4.68,4.60,
-0.87,0.93,0.98,0.98,1.04,1.01,1.09,1.08,1.16,1.15,
-1.24,1.24,1.25,1.30,1.31,1.31,1.39,1.33,1.37,1.46,
-1.46,1.43,1.59,1.50,1.49,1.60,1.59,1.67,1.66,1.65,
-1.62,1.70,1.71,1.69,1.75,1.79,1.78,1.72,1.84,1.82,
-1.84,1.83,1.80,1.89,1.89,1.92,1.96,2.03,2.04,2.01,
-1.92,1.95,2.03,2.05,2.11,2.11,2.18,2.09,2.18,2.06,
-2.15,2.20,2.27,2.18,2.21,2.24,2.38,2.19,2.34,2.30,
-2.31,2.38,2.40,2.27,2.32,2.46,2.31,2.44,2.52,2.44,
-2.40,2.45,2.48,2.40,2.50,2.52,2.46,2.57,2.72,2.55,
-2.57,2.61,2.58,2.59,2.63,2.62,2.66,2.64,2.65,2.66,
-2.75,2.70,2.77,2.79,2.81,2.75,2.78,2.83,2.91,2.75,
-2.85,2.72,2.84,2.90,2.89,2.86,2.73,2.96,3.01,2.96,
-2.93,2.96,3.02,2.89,3.02,3.07,2.99,3.06,3.05,3.03,
-3.01,3.13,3.00,3.13,3.22,3.16,3.14,3.15,3.12,3.10,
-3.13,2.99,3.37,3.31,3.20,3.14,3.23,3.18,3.30,3.25,
-3.16,3.40,3.35,3.39,3.18,3.32,3.29,3.34,3.43,3.37,
-3.26,3.36,3.44,3.33,3.41,3.43,3.56,3.48,3.48,3.53,
-3.34,3.47,3.39,3.48,3.29,3.47,3.55,3.66,3.56,3.58,
-3.58,3.56,3.51,3.59,3.63,3.59,3.61,3.84,3.68,3.70,
-3.70,3.72,3.81,3.70,3.80,3.62,3.79,3.76,3.76,3.80,
-3.71,3.77,3.77,3.78,3.77,3.57,3.67,3.86,3.57,3.82,
-3.94,3.84,3.80,3.86,3.85,4.02,3.70,3.79,4.05,3.88,
-3.81,3.99,3.99,4.03,3.98,3.99,4.05,3.97,3.97,3.86,
-3.96,4.24,4.03,4.19,3.98,4.03,3.99,4.00,4.09,4.02,
-3.97,4.02,4.12,4.19,4.12,4.11,4.04,4.26,4.14,3.99,
-4.17,4.12,4.30,4.17,4.10,4.17,4.35,4.23,4.10,4.18,
-4.33,4.26,4.20,4.40,4.34,4.45,4.16,4.14,4.34,4.24,
-4.38,4.46,4.19,4.36,4.49,4.48,4.27,4.37,4.37,4.45,
-4.51,4.26,4.35,4.32,4.51,4.43,4.43,4.47,4.40,4.34,
-0.88,0.88,0.93,0.96,1.00,1.02,1.08,1.10,1.09,1.14,
-1.15,1.20,1.23,1.28,1.26,1.33,1.30,1.38,1.35,1.38,
-1.39,1.46,1.51,1.54,1.47,1.55,1.50,1.59,1.60,1.59,
-1.61,1.64,1.68,1.61,1.72,1.70,1.76,1.71,1.75,1.79,
-1.82,1.82,1.79,1.80,1.89,1.86,1.96,1.87,1.91,1.94,
-1.99,2.01,1.99,2.01,1.99,2.06,2.10,2.07,2.11,2.15,
-2.13,2.19,2.04,2.17,2.28,2.22,2.19,2.30,2.22,2.30,
-2.30,2.28,2.38,2.31,2.41,2.32,2.33,2.39,2.43,2.41,
-2.44,2.40,2.47,2.44,2.50,2.47,2.40,2.41,2.44,2.54,
-2.45,2.54,2.57,2.67,2.51,2.57,2.57,2.57,2.64,2.73,
-2.67,2.66,2.61,2.72,2.76,2.73,2.78,2.76,2.81,2.90,
-2.85,2.65,2.70,2.82,2.79,2.90,2.91,2.90,2.80,2.88,
-2.92,2.87,2.88,2.90,2.79,2.99,2.95,3.00,3.05,3.05,
-3.12,3.06,2.96,3.03,3.06,3.14,2.98,3.19,2.93,3.03,
-2.99,3.10,3.16,3.07,3.13,3.20,3.18,3.12,3.30,3.13,
-3.08,3.19,3.22,3.26,3.15,3.18,3.23,3.33,3.37,3.46,
-3.26,3.35,3.39,3.36,3.46,3.35,3.46,3.43,3.35,3.45,
-3.30,3.33,3.32,3.41,3.37,3.56,3.37,3.42,3.41,3.43,
-3.60,3.48,3.60,3.53,3.49,3.53,3.50,3.57,3.53,3.55,
-3.78,3.68,3.54,3.44,3.65,3.58,3.68,3.67,3.54,3.62,
-3.58,3.69,3.64,3.82,3.61,3.78,3.80,3.74,3.83,3.79,
-3.90,3.82,3.81,3.75,3.79,3.69,3.74,3.91,3.68,3.84,
-3.87,3.94,3.89,3.91,3.84,4.08,4.00,3.87,3.87,4.06,
-3.90,3.83,3.91,3.89,3.93,3.88,3.86,4.02,3.93,3.95,
-4.12,3.91,3.88,3.99,4.04,4.19,4.05,4.25,4.09,4.14,
-3.90,4.08,4.18,4.06,4.12,4.14,4.18,4.10,4.10,4.24,
-4.11,4.25,4.30,4.32,4.13,4.22,4.31,4.13,4.36,4.32,
-4.26,4.29,4.18,4.19,4.27,4.25,4.23,4.27,4.38,4.37,
-4.38,4.23,4.45,4.39,4.31,4.31,4.23,4.28,4.39,4.21,
-0.85,0.85,0.93,0.90,0.96,1.00,1.01,1.05,1.10,1.13,
-1.14,1.18,1.21,1.22,1.25,1.25,1.33,1.38,1.30,1.33,
-1.43,1.40,1.45,1.42,1.45,1.48,1.51,1.58,1.55,1.64,
-1.58,1.61,1.60,1.63,1.69,1.70,1.71,1.72,1.69,1.81,
-1.75,1.79,1.82,1.80,1.83,1.88,1.84,1.82,1.88,1.95,
-1.93,2.04,2.03,2.00,2.02,2.06,2.00,2.00,2.06,2.01,
-1.96,2.10,2.07,2.11,2.20,2.13,2.24,2.28,2.22,2.26,
-2.22,2.17,2.17,2.33,2.30,2.29,2.29,2.31,2.31,2.30,
-2.38,2.34,2.34,2.30,2.44,2.42,2.47,2.42,2.45,2.51,
-2.43,2.52,2.43,2.59,2.53,2.62,2.53,2.57,2.47,2.61,
-2.46,2.64,2.63,2.54,2.62,2.60,2.73,2.71,2.76,2.75,
-2.78,2.77,2.70,2.80,2.75,2.69,2.85,2.82,2.76,2.82,
-2.85,2.93,2.84,2.88,2.89,2.77,2.89,2.89,2.94,2.92,
-2.97,2.98,2.97,2.98,3.00,2.97,3.05,3.01,3.03,3.16,
-3.00,3.04,3.03,3.08,2.98,3.00,3.02,3.02,3.07,3.09,
-3.02,3.15,3.20,3.17,3.10,3.16,3.19,3.18,3.24,3.22,
-3.30,3.25,3.30,3.24,3.32,3.20,3.28,3.25,3.33,3.20,
-3.28,3.36,3.31,3.34,3.32,3.35,3.47,3.37,3.39,3.45,
-3.50,3.45,3.39,3.37,3.50,3.50,3.33,3.49,3.53,3.53,
-3.53,3.36,3.46,3.74,3.60,3.63,3.45,3.49,3.54,3.44,
-3.54,3.61,3.55,3.62,3.58,3.53,3.53,3.55,3.78,3.56,
-3.73,3.64,3.73,3.83,3.56,3.78,3.84,3.72,3.77,3.71,
-3.72,3.76,3.80,3.84,3.80,3.77,3.73,3.71,3.94,3.92,
-3.76,3.83,3.75,3.84,3.87,3.88,3.83,3.90,3.94,3.85,
-3.82,3.75,4.15,3.91,3.87,3.95,3.85,3.94,4.03,3.75,
-3.98,4.05,4.02,3.90,4.04,4.16,4.11,4.00,4.17,4.06,
-4.07,4.09,4.07,4.25,3.99,4.10,4.13,3.99,4.16,4.13,
-4.04,4.09,4.29,4.08,4.11,4.07,4.25,4.11,4.26,4.07,
-4.17,4.16,4.14,4.28,4.27,4.24,4.26,4.21,4.19,4.26,
-0.84,0.86,0.89,0.90,0.96,0.97,1.00,1.06,1.02,1.08,
-1.11,1.15,1.10,1.18,1.18,1.24,1.30,1.32,1.27,1.36,
-1.37,1.40,1.41,1.43,1.42,1.46,1.43,1.48,1.55,1.50,
-1.56,1.59,1.60,1.55,1.62,1.67,1.63,1.63,1.75,1.73,
-1.74,1.75,1.73,1.77,1.73,1.77,1.78,1.82,1.82,1.89,
-1.88,1.89,1.90,1.90,1.96,1.95,1.94,2.02,1.92,1.93,
-1.94,2.04,2.06,2.04,2.03,2.07,2.12,2.11,2.03,2.13,
-2.16,2.18,2.19,2.12,2.19,2.23,2.24,2.35,2.22,2.13,
-2.34,2.24,2.32,2.38,2.43,2.42,2.37,2.36,2.45,2.34,
-2.38,2.41,2.43,2.42,2.46,2.47,2.53,2.44,2.43,2.44,
-2.45,2.58,2.50,2.54,2.59,2.56,2.61,2.68,2.62,2.64,
-2.67,2.58,2.67,2.64,2.63,2.69,2.64,2.73,2.62,2.72,
-2.71,2.78,2.95,2.78,2.67,2.84,2.86,2.76,2.86,2.87,
-2.80,2.73,2.89,2.89,2.85,2.91,2.91,2.94,2.85,2.99,
-2.95,3.01,2.96,2.95,3.00,3.02,2.97,3.11,3.08,3.08,
-3.17,3.02,2.94,2.99,3.04,3.08,3.11,3.10,3.16,3.09,
-3.11,3.19,3.16,3.30,3.22,3.13,3.05,3.21,3.21,3.25,
-3.18,3.25,3.40,3.24,3.33,3.13,3.31,3.25,3.35,3.25,
-3.26,3.28,3.36,3.31,3.30,3.50,3.51,3.38,3.31,3.33,
-3.49,3.47,3.48,3.41,3.31,3.35,3.40,3.45,3.54,3.40,
-3.48,3.54,3.50,3.45,3.49,3.43,3.56,3.57,3.58,3.58,
-3.50,3.64,3.54,3.57,3.58,3.57,3.61,3.63,3.55,3.78,
-3.46,3.58,3.73,3.66,3.60,3.52,3.70,3.68,3.66,3.90,
-3.56,3.69,3.78,3.68,3.61,3.76,3.65,3.76,3.81,4.01,
-3.68,3.92,3.79,3.84,3.84,3.77,3.97,3.91,3.87,3.93,
-3.63,4.07,3.87,3.96,3.99,3.98,3.93,3.97,3.91,3.91,
-3.94,3.88,3.85,3.83,4.02,3.99,3.89,3.95,4.04,4.02,
-4.06,4.19,4.17,3.93,3.99,4.06,3.89,4.18,3.98,4.10,
-4.06,4.05,4.06,4.27,4.15,4.18,4.15,4.04,4.22,4.13,
-0.76,0.84,0.86,0.90,0.93,0.94,0.97,1.03,1.03,1.06,
-1.05,1.09,1.12,1.15,1.22,1.19,1.21,1.26,1.23,1.33,
-1.33,1.34,1.33,1.38,1.36,1.41,1.43,1.48,1.48,1.50,
-1.44,1.56,1.50,1.57,1.63,1.60,1.58,1.71,1.60,1.65,
-1.65,1.66,1.69,1.78,1.70,1.78,1.79,1.82,1.85,1.83,
-1.81,1.88,1.83,1.87,1.89,1.89,1.81,1.80,1.97,1.94,
-1.92,1.96,2.01,1.99,2.06,2.07,2.10,1.99,2.04,2.13,
-2.11,2.13,2.17,2.15,2.18,2.20,2.17,2.22,2.17,2.24,
-2.25,2.30,2.22,2.29,2.30,2.23,2.25,2.40,2.37,2.36,
-2.30,2.35,2.37,2.43,2.46,2.43,2.38,2.48,2.44,2.48,
-2.44,2.41,2.42,2.52,2.41,2.53,2.59,2.40,2.60,2.49,
-2.51,2.61,2.58,2.52,2.61,2.51,2.54,2.68,2.66,2.50,
-2.69,2.75,2.67,2.69,2.67,2.72,2.74,2.84,2.79,2.76,
-2.79,2.85,2.77,2.75,2.87,2.86,2.91,2.84,2.83,2.76,
-2.88,2.91,2.95,2.88,2.86,2.85,2.91,2.97,2.91,2.90,
-2.81,2.96,2.99,2.98,2.89,3.05,3.00,2.97,2.96,2.99,
-3.08,3.11,3.02,3.20,3.01,3.13,3.16,3.11,3.22,3.05,
-3.17,3.17,3.05,3.17,3.11,3.09,3.14,3.21,3.30,3.26,
-3.23,3.27,3.16,3.28,3.19,3.32,3.11,3.29,3.21,3.36,
-3.36,3.28,3.12,3.42,3.38,3.39,3.35,3.40,3.44,3.34,
-3.42,3.36,3.42,3.42,3.44,3.40,3.40,3.43,3.37,3.44,
-3.54,3.52,3.60,3.61,3.43,3.55,3.55,3.52,3.37,3.58,
-3.60,3.59,3.59,3.59,3.58,3.53,3.56,3.49,3.64,3.62,
-3.70,3.59,3.62,3.57,3.59,3.71,3.75,3.87,3.77,3.70,
-3.60,3.58,3.73,3.75,3.65,3.64,3.49,3.71,3.65,3.69,
-3.69,3.70,3.73,3.71,3.71,3.80,3.88,3.82,3.90,3.81,
-3.90,3.83,3.97,3.92,3.77,3.94,3.79,3.88,3.74,3.92,
-3.95,3.88,3.90,3.90,3.98,3.73,3.80,3.90,3.81,4.05,
-4.04,3.97,4.00,3.95,3.88,3.93,3.95,4.06,3.96,3.98,
-0.76,0.78,0.86,0.84,0.87,0.89,0.96,0.97,1.02,1.02,
-1.06,1.05,1.09,1.15,1.13,1.17,1.17,1.16,1.24,1.24,
-1.25,1.26,1.30,1.34,1.37,1.38,1.46,1.40,1.46,1.42,
-1.50,1.48,1.46,1.53,1.57,1.53,1.55,1.63,1.61,1.54,
-1.66,1.63,1.67,1.75,1.77,1.71,1.71,1.73,1.76,1.77,
-1.79,1.76,1.78,1.84,1.75,1.82,1.85,1.85,1.78,1.90,
-1.89,1.86,1.92,1.99,2.01,1.92,1.93,2.03,2.05,2.06,
-2.03,2.00,2.10,2.11,2.06,2.06,2.07,2.13,2.09,2.11,
-2.26,2.13,2.22,2.17,2.24,2.30,2.25,2.23,2.19,2.26,
-2.21,2.26,2.29,2.34,2.33,2.35,2.47,2.35,2.44,2.34,
-2.49,2.47,2.50,2.40,2.54,2.37,2.53,2.47,2.53,2.48,
-2.48,2.54,2.40,2.46,2.55,2.51,2.58,2.51,2.61,2.62,
-2.59,2.57,2.55,2.68,2.66,2.70,2.64,2.76,2.66,2.63,
-2.68,2.71,2.72,2.68,2.74,2.75,2.86,2.70,2.78,2.72,
-2.74,2.73,2.90,2.79,2.80,2.87,2.92,2.71,2.80,2.94,
-3.00,2.88,2.86,3.00,2.85,2.94,2.97,2.80,3.03,2.88,
-2.90,2.94,3.02,3.07,2.99,2.93,2.90,2.97,2.95,3.00,
-3.00,3.16,3.17,3.08,3.12,3.08,3.02,3.18,3.22,3.14,
-3.08,3.07,3.23,3.19,3.15,3.21,3.24,3.18,3.00,3.27,
-3.05,3.25,3.23,3.17,3.16,3.38,3.19,3.20,3.28,3.17,
-3.31,3.35,3.38,3.30,3.24,3.25,3.31,3.30,3.42,3.42,
-3.45,3.34,3.40,3.33,3.38,3.39,3.38,3.38,3.43,3.39,
-3.53,3.38,3.30,3.46,3.45,3.54,3.54,3.42,3.44,3.45,
-3.66,3.46,3.50,3.57,3.55,3.53,3.54,3.54,3.53,3.57,
-3.70,3.63,3.64,3.68,3.57,3.62,3.64,3.55,3.58,3.61,
-3.50,3.60,3.71,3.66,3.76,3.70,3.69,3.72,3.74,3.91,
-3.66,3.69,3.54,3.64,3.71,3.71,3.72,3.63,3.81,3.79,
-3.73,3.68,3.69,3.83,3.88,3.85,3.96,3.80,3.85,3.73,
-3.86,3.91,3.79,4.04,3.86,3.77,3.93,3.92,3.96,3.93,
-1.00,1.04,1.11,1.11,1.24,1.25,1.28,1.35,1.35,1.39,
-1.46,1.50,1.53,1.51,1.59,1.64,1.62,1.73,1.72,1.74,
-1.72,1.76,1.81,1.88,1.81,1.98,1.92,1.99,1.94,2.01,
-2.05,2.10,2.19,2.17,2.19,2.12,2.26,2.20,2.24,2.28,
-2.27,2.36,2.30,2.36,2.42,2.38,2.31,2.33,2.41,2.53,
-2.47,2.51,2.60,2.44,2.54,2.55,2.56,2.61,2.72,2.78,
-2.64,2.61,2.70,2.69,2.84,2.81,2.72,2.80,2.81,2.74,
-2.83,2.93,2.92,2.98,3.06,3.01,2.96,2.99,2.77,3.14,
-3.03,2.98,3.07,3.18,3.10,3.18,3.01,3.18,3.09,3.16,
-3.15,3.08,3.12,3.29,3.30,3.33,3.35,3.26,3.47,3.34,
-3.25,3.40,3.42,3.39,3.34,3.53,3.48,3.48,3.45,3.57,
-3.46,3.47,3.64,3.45,3.64,3.47,3.52,3.53,3.51,3.66,
-3.60,3.73,3.59,3.75,3.63,3.71,3.75,3.77,3.84,3.71,
-3.73,3.84,3.98,3.87,3.82,4.07,3.67,3.92,3.84,4.03,
-3.87,3.91,4.12,3.95,3.96,4.00,3.94,3.95,3.89,4.00,
-4.02,3.93,4.05,3.95,4.20,4.10,4.04,4.27,4.10,4.19,
-4.02,4.23,4.24,4.20,4.25,4.09,4.32,4.23,4.30,4.08,
-4.35,4.25,4.42,4.39,4.33,4.23,4.16,4.27,4.31,4.34,
-4.42,4.28,4.41,4.54,4.26,4.62,4.42,4.41,4.63,4.55,
-4.51,4.52,4.64,4.54,4.45,4.63,4.63,4.54,4.58,4.69,
-4.38,4.41,4.71,4.74,4.60,4.60,4.70,4.87,4.50,4.59,
-4.81,4.78,4.90,4.77,4.64,4.79,4.75,4.80,4.89,4.56,
-4.62,5.06,4.82,5.12,4.83,4.94,4.94,4.93,4.99,5.00,
-4.95,5.11,4.97,4.89,4.83,4.91,5.04,5.05,4.91,4.97,
-5.11,4.92,5.12,5.01,5.21,4.89,5.15,5.13,5.09,4.98,
-5.08,5.14,5.09,5.39,5.38,5.27,5.09,5.32,5.33,5.24,
-4.97,5.42,5.52,5.38,5.31,5.24,5.17,5.29,5.15,5.24,
-5.19,5.19,5.47,5.26,5.41,5.32,5.31,5.45,5.31,5.38,
-5.11,5.47,5.27,5.55,5.42,5.72,5.45,5.31,5.42,5.55,
-1.04,1.05,1.12,1.14,1.16,1.20,1.24,1.27,1.31,1.35,
-1.40,1.43,1.40,1.51,1.47,1.55,1.58,1.61,1.67,1.68,
-1.67,1.70,1.81,1.73,1.78,1.83,1.82,1.85,1.86,1.91,
-2.00,1.98,1.94,1.93,2.06,2.09,2.04,1.98,2.12,2.18,
-2.22,2.24,2.12,2.17,2.15,2.29,2.28,2.37,2.52,2.27,
-2.29,2.34,2.38,2.42,2.36,2.38,2.49,2.54,2.47,2.59,
-2.60,2.51,2.58,2.62,2.67,2.67,2.63,2.63,2.66,2.61,
-2.72,2.74,2.62,2.73,2.86,2.80,2.80,2.61,2.89,2.85,
-2.78,2.94,2.94,2.86,2.99,2.94,3.01,3.13,2.98,3.06,
-2.97,3.16,3.09,3.13,3.07,3.15,3.04,3.03,3.14,3.29,
-3.14,3.29,3.18,3.23,3.17,3.28,3.16,3.33,3.36,3.22,
-3.31,3.25,3.50,3.34,3.43,3.33,3.55,3.41,3.36,3.41,
-3.43,3.44,3.54,3.49,3.49,3.41,3.66,3.73,3.58,3.52,
-3.53,3.62,3.53,3.72,3.65,3.63,3.68,3.71,3.54,3.64,
-3.67,3.67,3.85,3.77,3.71,3.68,3.80,3.97,3.66,3.83,
-3.81,3.82,3.97,3.86,3.82,3.88,3.82,4.09,3.78,3.90,
-3.99,3.93,3.78,3.98,4.00,3.86,3.91,3.97,4.06,4.23,
-4.16,4.11,4.16,3.92,4.14,4.13,4.14,4.20,4.19,4.16,
-4.14,4.13,4.19,4.19,4.29,4.22,4.42,4.18,4.38,4.37,
-4.23,4.22,4.45,4.33,4.30,4.45,4.37,4.33,4.41,4.41,
-4.34,4.36,4.34,4.55,4.49,4.53,4.40,4.19,4.49,4.51,
-4.60,4.43,4.48,4.66,4.59,4.59,4.57,4.43,4.66,4.64,
-4.56,4.64,4.74,4.80,4.69,4.67,4.55,4.66,4.74,4.68,
-4.83,4.79,4.86,4.69,4.90,4.75,4.94,4.85,4.96,4.83,
-4.73,4.86,4.83,4.84,5.23,4.79,5.12,4.98,4.66,4.79,
-5.14,4.82,5.13,4.93,4.71,5.03,5.07,5.00,4.72,4.97,
-4.99,4.94,5.14,5.02,5.03,5.07,4.94,4.99,5.08,5.13,
-5.17,4.87,5.29,4.86,5.08,5.27,5.10,5.09,5.34,5.25,
-5.19,5.17,5.20,5.22,5.08,5.40,5.12,4.98,5.18,5.21,
-0.94,1.05,1.04,1.08,1.17,1.18,1.19,1.20,1.28,1.27,
-1.34,1.39,1.35,1.42,1.47,1.50,1.51,1.51,1.58,1.62,
-1.59,1.67,1.67,1.64,1.68,1.78,1.77,1.75,1.83,1.86,
-1.86,1.86,1.94,1.97,1.97,1.95,2.06,1.99,1.92,2.11,
-2.08,2.13,2.12,2.15,2.19,2.13,2.15,2.22,2.29,2.19,
-2.41,2.18,2.22,2.30,2.31,2.34,2.31,2.33,2.48,2.44,
-2.46,2.43,2.47,2.53,2.55,2.59,2.57,2.48,2.55,2.60,
-2.60,2.52,2.70,2.71,2.64,2.70,2.76,2.71,2.65,2.78,
-2.86,2.84,2.93,2.89,2.85,2.76,2.87,2.87,2.90,2.98,
-3.04,3.10,2.95,2.87,2.96,2.98,2.94,3.01,3.06,3.00,
-3.13,3.10,3.05,3.03,3.11,3.14,3.20,3.24,3.08,3.28,
-3.22,3.31,3.33,3.28,3.15,3.30,3.23,3.33,3.29,3.26,
-3.29,3.28,3.31,3.51,3.40,3.44,3.48,3.48,3.54,3.31,
-3.46,3.45,3.55,3.45,3.56,3.59,3.57,3.56,3.65,3.54,
-3.67,3.48,3.64,3.62,3.67,3.60,3.64,3.73,3.64,3.65,
-3.77,3.64,3.69,3.79,3.65,3.65,3.73,3.86,3.73,3.73,
-3.85,3.78,3.81,3.81,3.92,3.83,3.80,3.83,3.65,3.94,
-3.87,3.91,4.05,3.99,3.99,3.75,3.87,4.00,4.10,4.14,
-4.04,4.14,4.08,4.12,3.99,4.11,4.14,4.18,4.09,4.08,
-4.06,4.02,4.11,4.19,4.16,4.08,4.11,4.33,4.16,4.21,
-4.26,4.34,4.31,4.01,4.24,4.28,4.14,4.34,4.33,4.26,
-4.23,4.39,4.39,4.22,4.25,4.35,4.34,4.35,4.42,4.34,
-4.48,4.47,4.45,4.43,4.44,4.44,4.37,4.44,4.49,4.68,
-4.47,4.52,4.54,4.55,4.50,4.53,4.62,4.35,4.57,4.64,
-4.68,4.55,4.63,4.61,4.72,4.46,4.61,4.60,4.73,4.64,
-4.88,4.58,4.65,4.70,4.80,4.88,4.66,4.98,4.69,4.54,
-4.70,4.77,4.58,4.79,4.89,4.95,4.99,4.75,4.83,4.94,
-4.82,4.77,4.92,4.77,4.96,4.87,4.96,4.92,5.22,5.11,
-4.80,4.92,5.03,5.11,5.20,5.00,4.82,4.80,5.00,4.99,
-0.96,1.01,1.05,1.07,1.06,1.12,1.21,1.26,1.21,1.25,
-1.33,1.29,1.40,1.36,1.36,1.43,1.48,1.47,1.49,1.60,
-1.63,1.55,1.56,1.63,1.72,1.70,1.73,1.64,1.77,1.82,
-1.86,1.76,1.83,1.83,1.90,1.93,1.93,1.96,1.97,1.97,
-2.07,2.00,1.99,2.08,2.10,2.14,2.15,2.23,2.07,2.10,
-2.19,2.24,2.30,2.27,2.26,2.36,2.33,2.28,2.35,2.31,
-2.26,2.50,2.36,2.36,2.49,2.43,2.35,2.56,2.45,2.40,
-2.47,2.57,2.66,2.58,2.69,2.65,2.70,2.59,2.79,2.70,
-2.69,2.71,2.79,2.74,2.72,2.82,2.71,2.88,2.83,2.80,
-2.83,2.83,2.86,2.95,2.83,3.04,2.93,2.92,2.98,2.99,
-2.96,3.08,3.04,3.10,3.02,3.06,3.00,2.96,3.01,3.11,
-3.20,3.05,3.10,3.19,3.19,3.05,3.15,3.17,3.17,3.22,
-3.30,3.14,3.22,3.21,3.35,3.25,3.17,3.28,3.26,3.31,
-3.32,3.41,3.24,3.42,3.48,3.47,3.42,3.48,3.43,3.56,
-3.35,3.49,3.44,3.53,3.50,3.41,3.44,3.63,3.52,3.56,
-3.52,3.71,3.55,3.57,3.61,3.48,3.69,3.70,3.58,3.52,
-3.71,3.58,3.61,3.67,3.64,3.67,3.65,3.85,3.63,3.86,
-3.60,3.88,3.84,3.76,3.94,3.66,3.94,3.87,3.91,3.95,
-4.04,3.82,4.08,4.07,3.88,3.88,3.91,3.88,3.84,4.09,
-3.97,4.02,3.96,3.90,4.14,4.10,4.00,3.87,3.86,4.13,
-4.16,4.13,4.07,3.93,4.24,4.20,4.28,4.22,4.04,4.17,
-4.03,4.36,4.21,4.19,4.25,4.06,4.36,4.25,4.22,4.27,
-4.21,4.17,4.16,4.25,4.27,4.45,4.33,4.22,4.32,4.42,
-4.39,4.38,4.51,4.49,4.45,4.57,4.40,4.48,4.49,4.44,
-4.46,4.42,4.44,4.39,4.49,4.48,4.47,4.61,4.61,4.49,
-4.58,4.44,4.51,4.63,4.65,4.59,4.68,4.65,4.52,4.58,
-4.61,4.71,4.67,4.55,4.69,4.61,4.51,5.05,4.75,4.81,
-4.84,4.68,4.75,4.58,4.64,4.84,4.81,4.64,4.60,4.65,
-4.95,4.85,4.95,4.75,4.87,4.92,4.91,4.87,4.89,4.89,
-0.94,0.97,0.98,1.05,1.05,1.09,1.18,1.22,1.16,1.28,
-1.25,1.34,1.35,1.34,1.41,1.43,1.44,1.44,1.55,1.54,
-1.52,1.57,1.58,1.63,1.64,1.72,1.68,1.64,1.74,1.84,
-1.78,1.79,1.82,1.87,1.85,1.95,1.91,2.02,1.95,1.97,
-2.02,1.94,2.00,2.05,2.06,2.10,2.13,2.10,2.10,2.11,
-2.15,2.19,2.14,2.18,2.21,2.25,2.37,2.29,2.37,2.37,
-2.33,2.38,2.32,2.37,2.47,2.35,2.35,2.52,2.60,2.46,
-2.47,2.51,2.40,2.57,2.51,2.54,2.62,2.68,2.50,2.52,
-2.65,2.66,2.59,2.66,2.62,2.69,2.67,2.83,2.67,2.82,
-2.72,2.77,2.89,2.86,2.77,2.88,2.87,2.78,2.90,2.88,
-2.92,3.04,2.81,2.91,2.90,2.98,2.97,3.05,3.05,3.01,
-3.12,3.04,3.23,3.11,2.99,3.05,3.11,3.02,3.14,3.18,
-3.19,3.22,3.18,3.26,3.11,3.33,3.15,3.27,3.22,3.21,
-3.32,3.25,3.44,3.17,3.26,3.39,3.24,3.40,3.44,3.25,
-3.30,3.36,3.47,3.36,3.46,3.48,3.56,3.49,3.39,3.39,
-3.60,3.62,3.53,3.46,3.60,3.52,3.68,3.49,3.46,3.56,
-3.75,3.54,3.72,3.61,3.81,3.80,3.57,3.61,3.73,3.66,
-3.77,3.64,3.70,3.62,3.63,3.84,3.78,3.72,3.80,3.74,
-3.76,3.80,3.81,3.79,3.92,3.87,3.94,3.88,3.91,3.84,
-3.74,4.09,3.78,4.03,3.99,3.89,3.91,4.05,4.14,3.92,
-4.05,3.95,4.18,4.05,4.10,3.97,4.12,3.84,4.14,3.97,
-4.09,4.13,4.04,4.09,4.16,4.32,4.14,4.10,4.10,4.11,
-4.10,4.20,4.10,4.21,4.26,4.07,4.23,4.25,4.26,4.31,
-4.27,4.25,4.42,4.43,4.27,4.55,4.38,4.30,4.52,4.22,
-4.31,4.49,4.39,4.36,4.25,4.36,4.40,4.37,4.43,4.52,
-4.50,4.40,4.36,4.41,4.63,4.67,4.43,4.44,4.50,4.71,
-4.52,4.77,4.42,4.53,4.59,4.49,4.66,4.56,4.68,4.66,
-4.79,4.46,4.67,4.68,4.69,4.70,4.43,4.70,4.67,4.51,
-4.61,4.60,4.56,4.77,4.59,4.75,4.57,4.63,4.59,4.95,
-0.94,0.92,0.99,1.01,1.06,1.05,1.12,1.17,1.19,1.30,
-1.27,1.26,1.28,1.30,1.35,1.38,1.40,1.45,1.50,1.54,
-1.45,1.54,1.53,1.66,1.60,1.58,1.69,1.63,1.66,1.70,
-1.74,1.79,1.80,1.76,1.77,1.80,1.88,1.90,1.97,1.91,
-1.93,1.94,1.96,2.00,2.01,2.01,2.09,2.08,2.14,2.12,
-2.00,2.07,2.19,2.18,2.23,2.21,2.24,2.16,2.31,2.12,
-2.34,2.26,2.35,2.25,2.21,2.36,2.45,2.40,2.40,2.46,
-2.45,2.47,2.40,2.56,2.39,2.56,2.58,2.47,2.52,2.60,
-2.55,2.58,2.69,2.61,2.62,2.57,2.66,2.66,2.71,2.66,
-2.74,2.72,2.72,2.79,2.74,2.75,2.85,2.74,2.84,2.87,
-2.92,2.78,2.86,2.80,2.86,2.85,2.84,2.88,2.99,2.95,
-2.88,2.96,3.01,2.96,2.99,2.96,2.94,3.17,3.10,3.05,
-3.05,3.23,3.12,3.09,3.14,3.21,3.19,3.08,3.17,3.20,
-3.26,3.24,3.26,3.21,3.15,3.12,3.18,3.35,3.26,3.40,
-3.21,3.26,3.36,3.35,3.29,3.36,3.37,3.51,3.45,3.39,
-3.39,3.39,3.43,3.39,3.49,3.33,3.40,3.46,3.46,3.40,
-3.59,3.54,3.63,3.57,3.56,3.63,3.58,3.52,3.57,3.62,
-3.72,3.66,3.64,3.72,3.62,3.78,3.57,3.63,3.73,3.67,
-3.71,3.74,3.66,3.73,3.85,3.70,3.75,3.89,3.79,3.69,
-3.88,3.83,3.73,3.95,3.93,3.92,4.03,3.87,3.79,3.77,
-4.09,3.90,3.84,3.96,3.95,4.01,4.08,3.99,3.86,3.94,
-3.87,3.96,4.01,4.04,4.07,3.95,4.18,4.08,4.14,4.16,
-4.17,4.18,4.33,4.10,4.05,4.16,4.21,4.13,4.12,4.21,
-4.17,4.14,4.10,4.36,4.24,4.33,4.40,4.28,4.26,4.33,
-4.18,4.22,4.20,4.44,4.33,4.29,4.34,4.32,4.36,4.38,
-4.35,4.26,4.36,4.38,4.09,4.48,4.42,4.35,4.40,4.46,
-4.49,4.49,4.42,4.56,4.31,4.41,4.51,4.46,4.41,4.43,
-4.66,4.43,4.54,4.58,4.55,4.29,4.62,4.61,4.54,4.68,
-4.60,4.78,4.58,4.53,4.58,4.52,4.86,4.65,4.64,4.74,
-0.92,0.93,0.96,1.03,1.04,1.05,1.11,1.14,1.21,1.20,
-1.24,1.26,1.29,1.34,1.32,1.37,1.41,1.43,1.42,1.44,
-1.50,1.53,1.50,1.57,1.58,1.62,1.66,1.72,1.65,1.64,
-1.71,1.66,1.76,1.79,1.76,1.78,1.84,1.89,1.80,1.87,
-1.90,1.90,1.95,1.94,1.99,2.02,1.96,2.00,1.93,2.11,
-2.07,2.09,2.15,2.10,2.09,2.15,2.16,2.13,2.19,2.18,
-2.25,2.28,2.25,2.29,2.33,2.31,2.30,2.41,2.36,2.42,
-2.37,2.36,2.44,2.41,2.38,2.43,2.57,2.47,2.48,2.44,
-2.56,2.47,2.48,2.55,2.67,2.64,2.58,2.54,2.57,2.71,
-2.73,2.70,2.67,2.65,2.73,2.73,2.71,2.83,2.82,2.64,
-2.72,2.78,2.77,2.85,2.76,2.79,2.92,2.88,2.91,2.93,
-2.89,2.90,2.96,2.91,3.06,3.07,2.91,2.90,3.00,3.07,
-3.18,3.11,2.92,2.95,3.06,3.13,3.10,3.02,3.16,3.15,
-3.16,3.03,3.06,3.15,3.18,3.19,3.26,3.37,3.37,3.34,
-3.10,3.29,3.22,3.24,3.32,3.29,3.30,3.29,3.45,3.37,
-3.27,3.36,3.41,3.46,3.30,3.40,3.58,3.44,3.47,3.49,
-3.49,3.51,3.42,3.37,3.61,3.60,3.57,3.53,3.63,3.59,
-3.51,3.50,3.54,3.63,3.78,3.62,3.63,3.64,3.53,3.47,
-3.69,3.67,3.62,3.62,3.69,3.74,3.73,3.64,3.66,3.66,
-3.72,3.68,3.75,3.68,3.73,3.62,3.91,3.92,3.83,3.85,
-3.73,3.99,3.84,3.74,3.79,3.85,3.90,3.89,3.92,3.90,
-3.98,4.07,3.88,3.88,3.96,3.79,4.21,3.94,4.10,3.92,
-4.12,4.31,4.08,4.08,4.14,4.18,4.06,4.03,3.97,4.03,
-4.18,4.20,4.16,4.15,4.18,4.28,4.02,4.00,4.21,4.01,
-4.24,4.22,4.13,4.28,4.34,4.21,4.46,4.23,4.23,4.37,
-4.45,4.20,4.41,4.44,4.41,4.20,4.27,4.32,4.17,4.45,
-4.32,4.37,4.36,4.57,4.40,4.49,4.55,4.62,4.52,4.43,
-4.48,4.35,4.43,4.45,4.44,4.59,4.55,4.54,4.42,4.63,
-4.48,4.42,4.42,4.44,4.56,4.53,4.36,4.67,4.61,4.66,
-0.91,0.93,0.96,1.03,1.04,1.10,1.08,1.20,1.15,1.17,
-1.25,1.27,1.29,1.28,1.31,1.37,1.39,1.38,1.41,1.47,
-1.48,1.50,1.54,1.56,1.57,1.56,1.63,1.64,1.67,1.70,
-1.65,1.71,1.75,1.73,1.81,1.77,1.79,1.80,1.83,1.78,
-1.84,1.93,1.92,1.97,1.87,1.94,2.03,1.95,1.94,1.97,
-2.03,2.01,2.06,2.05,2.17,2.14,2.21,2.12,2.21,2.21,
-2.19,2.26,2.26,2.25,2.25,2.24,2.37,2.29,2.39,2.30,
-2.40,2.26,2.40,2.38,2.41,2.49,2.46,2.46,2.54,2.40,
-2.49,2.49,2.54,2.58,2.59,2.62,2.55,2.61,2.61,2.65,
-2.58,2.71,2.61,2.69,2.72,2.65,2.71,2.72,2.79,2.75,
-2.68,2.77,2.74,2.68,2.79,2.83,2.96,3.02,2.82,2.80,
-2.88,2.96,2.77,2.75,2.99,2.87,2.91,3.04,3.04,3.06,
-3.09,2.94,3.03,3.01,3.03,3.00,3.08,2.99,3.07,3.12,
-3.11,3.06,3.22,3.05,3.15,3.07,3.21,3.05,3.26,3.20,
-3.25,3.25,3.20,3.18,3.22,3.26,3.23,3.34,3.25,3.29,
-3.34,3.38,3.33,3.30,3.36,3.31,3.29,3.34,3.35,3.38,
-3.48,3.30,3.38,3.47,3.49,3.61,3.55,3.52,3.51,3.46,
-3.53,3.41,3.62,3.47,3.61,3.50,3.44,3.65,3.63,3.63,
-3.71,3.70,3.75,3.54,3.66,3.52,3.64,3.57,3.64,3.76,
-3.87,3.77,3.75,3.71,3.69,3.72,3.74,3.87,3.73,3.69,
-3.85,3.72,3.92,3.86,3.73,3.80,3.76,3.81,3.93,3.95,
-3.98,3.95,4.11,3.90,4.02,3.95,3.90,4.10,4.03,3.80,
-3.90,3.91,3.85,3.89,4.13,4.05,3.94,3.98,4.03,4.05,
-4.20,3.93,4.00,4.11,4.14,4.05,4.11,4.12,4.08,4.11,
-4.06,4.03,4.22,4.23,4.00,4.27,4.29,4.13,4.26,4.40,
-4.34,4.16,4.30,4.28,4.41,4.35,4.16,4.22,4.52,4.29,
-4.51,4.41,4.35,4.26,4.28,4.41,4.31,4.16,4.44,4.15,
-4.54,4.43,4.21,4.41,4.29,4.37,4.41,4.25,4.48,4.45,
-4.64,4.60,4.52,4.67,4.38,4.37,4.47,4.56,4.39,4.50,
-0.93,0.94,0.94,1.00,1.00,1.05,1.06,1.11,1.15,1.17,
-1.16,1.25,1.24,1.28,1.35,1.33,1.40,1.45,1.45,1.44,
-1.44,1.47,1.50,1.51,1.54,1.57,1.56,1.68,1.54,1.64,
-1.69,1.75,1.73,1.71,1.73,1.77,1.74,1.77,1.79,1.86,
-1.79,1.86,1.91,1.91,1.87,1.97,1.96,1.99,1.96,1.92,
-2.00,2.11,2.05,2.10,2.12,2.18,2.16,2.11,2.18,2.16,
-2.11,2.18,2.19,2.27,2.29,2.24,2.35,2.27,2.33,2.32,
-2.37,2.29,2.34,2.47,2.30,2.31,2.46,2.44,2.42,2.44,
-2.47,2.51,2.50,2.48,2.53,2.53,2.57,2.58,2.56,2.53,
-2.59,2.57,2.66,2.60,2.61,2.67,2.67,2.82,2.73,2.63,
-2.69,2.77,2.69,2.76,2.68,2.90,2.76,2.81,2.79,2.82,
-2.85,2.82,2.90,2.77,2.98,3.10,2.85,2.93,2.97,2.94,
-2.98,3.08,2.97,2.96,2.99,2.98,2.97,2.97,3.05,3.04,
-3.16,3.17,3.13,3.04,3.15,3.15,3.13,3.11,3.10,3.16,
-3.21,3.15,3.06,3.22,3.11,3.12,3.23,3.22,3.24,3.28,
-3.37,3.30,3.34,3.33,3.31,3.22,3.43,3.32,3.35,3.28,
-3.43,3.40,3.41,3.47,3.40,3.54,3.38,3.39,3.42,3.47,
-3.55,3.54,3.45,3.61,3.51,3.49,3.56,3.74,3.58,3.60,
-3.52,3.56,3.61,3.62,3.48,3.68,3.61,3.55,3.70,3.57,
-3.43,3.73,3.67,3.83,3.70,3.66,3.81,3.62,3.64,3.65,
-3.46,3.93,3.70,3.84,3.72,3.74,3.80,3.86,3.75,3.80,
-3.92,3.97,3.94,3.91,3.91,3.75,3.86,3.88,3.89,3.81,
-3.86,3.98,3.90,4.11,4.07,4.02,3.89,4.02,3.99,3.91,
-4.02,4.07,4.01,4.16,4.14,3.96,4.00,4.06,4.15,4.06,
-3.97,3.94,4.17,3.97,4.24,4.20,4.22,4.10,4.02,4.13,
-4.27,4.14,4.32,4.24,4.15,4.24,4.25,4.37,4.14,4.24,
-4.32,4.31,4.21,4.35,4.11,4.37,4.24,4.36,4.40,4.30,
-4.39,4.32,4.37,4.29,4.52,4.52,4.40,4.28,4.48,4.39,
-4.16,4.37,4.46,4.37,4.21,4.33,4.28,4.55,4.50,4.30,
-0.88,0.90,0.96,0.95,0.98,1.07,1.05,1.14,1.14,1.20,
-1.18,1.21,1.23,1.19,1.32,1.27,1.32,1.36,1.34,1.46,
-1.41,1.41,1.47,1.43,1.54,1.55,1.60,1.63,1.60,1.60,
-1.67,1.69,1.71,1.68,1.73,1.73,1.80,1.74,1.76,1.75,
-1.85,1.81,1.90,1.94,1.86,1.87,2.00,1.94,1.95,1.96,
-2.01,1.95,1.95,2.03,2.03,2.04,2.06,2.12,2.11,2.17,
-2.05,2.23,2.15,2.20,2.20,2.24,2.16,2.23,2.28,2.25,
-2.41,2.17,2.30,2.34,2.31,2.39,2.46,2.36,2.36,2.47,
-2.35,2.35,2.53,2.41,2.52,2.55,2.53,2.57,2.53,2.59,
-2.58,2.54,2.63,2.53,2.73,2.51,2.67,2.68,2.69,2.58,
-2.76,2.71,2.66,2.68,2.66,2.83,2.67,2.67,2.90,2.78,
-2.81,2.78,2.72,2.75,2.89,2.74,2.94,2.83,2.93,2.82,
-2.94,2.93,2.91,2.95,2.96,2.92,3.04,2.87,3.02,3.03,
-3.03,3.07,3.09,3.13,3.02,3.04,3.14,3.14,3.07,3.09,
-3.09,3.12,3.16,3.11,3.05,3.10,3.13,3.14,3.23,3.09,
-3.20,3.16,3.12,3.31,3.25,3.27,3.30,3.27,3.24,3.24,
-3.45,3.28,3.34,3.41,3.30,3.27,3.29,3.30,3.41,3.49,
-3.41,3.57,3.46,3.55,3.38,3.48,3.43,3.55,3.37,3.49,
-3.48,3.51,3.46,3.57,3.47,3.51,3.58,3.50,3.44,3.79,
-3.66,3.61,3.75,3.65,3.60,3.76,3.62,3.65,3.53,3.66,
-3.75,3.90,3.67,3.76,3.83,3.86,3.75,3.80,3.78,3.74,
-4.04,3.81,3.85,3.76,3.79,3.77,3.68,3.74,3.74,3.91,
-3.79,3.91,3.82,3.88,3.78,3.91,3.84,3.86,3.88,3.96,
-4.00,3.88,3.97,4.00,3.81,4.10,4.05,3.90,3.97,4.03,
-3.93,4.01,3.90,3.95,3.97,3.96,4.14,4.03,4.13,4.15,
-3.93,4.08,4.04,4.08,4.15,4.06,4.20,4.33,4.19,4.22,
-4.12,4.34,4.19,4.11,4.21,4.37,4.16,4.28,4.19,4.24,
-4.32,4.34,4.37,4.29,4.22,4.35,4.27,4.15,4.42,4.38,
-4.37,4.38,4.39,4.28,4.39,4.47,4.24,4.36,4.20,4.35,
-0.89,0.89,0.93,0.96,0.94,1.05,1.07,1.09,1.10,1.14,
-1.13,1.23,1.23,1.23,1.26,1.29,1.29,1.43,1.40,1.35,
-1.42,1.40,1.47,1.50,1.46,1.44,1.50,1.50,1.54,1.60,
-1.65,1.59,1.58,1.71,1.68,1.63,1.76,1.75,1.74,1.77,
-1.75,1.89,1.82,1.85,1.85,1.92,1.87,1.86,1.97,1.98,
-1.94,2.04,1.97,1.98,2.00,1.99,2.04,2.02,2.08,2.04,
-2.08,2.12,2.12,2.20,2.16,2.20,2.15,2.24,2.25,2.30,
-2.22,2.30,2.31,2.15,2.27,2.29,2.33,2.30,2.30,2.35,
-2.38,2.37,2.41,2.44,2.40,2.45,2.54,2.52,2.52,2.51,
-2.61,2.56,2.51,2.49,2.60,2.63,2.63,2.66,2.63,2.58,
-2.63,2.63,2.66,2.64,2.74,2.65,2.73,2.73,2.71,2.74,
-2.77,2.70,2.74,2.72,2.77,2.87,2.81,2.73,2.83,2.87,
-2.87,2.91,2.90,2.90,2.88,2.90,2.89,2.91,3.09,2.99,
-3.01,2.95,2.92,2.83,2.93,3.02,2.99,3.11,3.16,3.04,
-3.09,3.04,3.09,3.15,3.06,3.08,2.99,3.24,3.12,3.28,
-3.17,3.21,3.16,3.17,3.19,3.19,3.30,3.18,3.33,3.32,
-3.18,3.17,3.21,3.15,3.30,3.23,3.32,3.21,3.33,3.39,
-3.20,3.41,3.38,3.43,3.38,3.46,3.47,3.36,3.57,3.39,
-3.44,3.48,3.57,3.57,3.38,3.33,3.37,3.56,3.71,3.66,
-3.61,3.59,3.63,3.50,3.46,3.59,3.52,3.59,3.69,3.60,
-3.62,3.60,3.48,3.62,3.65,3.64,3.59,3.71,3.72,3.76,
-3.72,3.83,3.72,3.85,3.79,3.71,3.72,3.82,3.89,3.70,
-3.71,3.82,3.70,3.86,3.87,3.92,3.80,3.90,3.79,3.89,
-3.72,3.96,3.87,4.06,3.77,3.79,3.89,3.79,3.84,3.90,
-3.86,3.96,4.04,3.88,3.98,3.93,3.99,3.77,4.06,4.01,
-4.13,3.96,4.11,4.03,3.99,4.15,4.01,4.14,4.16,3.88,
-4.13,4.18,3.98,4.22,4.13,4.04,4.23,4.11,4.21,4.10,
-4.24,4.15,4.23,4.10,4.13,4.05,4.26,4.21,4.26,4.17,
-4.29,4.39,4.29,4.37,4.29,4.16,4.27,4.36,3.95,4.16,
-0.86,0.88,0.92,0.92,0.97,1.02,1.05,1.07,1.11,1.11,
-1.15,1.17,1.17,1.16,1.26,1.28,1.31,1.32,1.33,1.35,
-1.41,1.42,1.45,1.45,1.50,1.44,1.44,1.50,1.58,1.53,
-1.55,1.55,1.68,1.67,1.63,1.68,1.69,1.67,1.72,1.78,
-1.73,1.86,1.74,1.75,1.83,1.84,1.89,1.92,1.93,1.87,
-1.89,1.92,2.02,1.96,2.03,1.96,2.02,1.93,1.98,2.03,
-2.13,2.10,2.06,2.15,2.09,2.15,2.15,2.24,2.23,2.15,
-2.20,2.11,2.27,2.28,2.28,2.37,2.33,2.28,2.33,2.33,
-2.32,2.36,2.46,2.29,2.38,2.37,2.52,2.39,2.48,2.45,
-2.47,2.48,2.51,2.40,2.51,2.52,2.47,2.67,2.55,2.58,
-2.67,2.57,2.61,2.59,2.64,2.66,2.57,2.68,2.63,2.75,
-2.76,2.65,2.73,2.75,2.74,2.84,2.79,2.75,2.74,2.75,
-2.83,2.79,2.86,2.87,2.87,2.76,2.86,2.99,2.88,2.86,
-2.91,2.94,2.85,3.07,2.99,2.89,2.87,3.05,3.03,2.93,
-3.07,3.02,3.04,2.96,3.08,3.24,3.08,3.12,3.02,3.05,
-3.12,2.94,3.07,3.21,3.20,3.16,3.13,3.19,3.19,3.16,
-3.13,3.30,3.27,3.21,3.28,3.36,3.08,3.33,3.21,3.24,
-3.28,3.17,3.37,3.22,3.35,3.16,3.28,3.34,3.30,3.24,
-3.34,3.25,3.35,3.35,3.57,3.38,3.43,3.46,3.42,3.38,
-3.57,3.57,3.57,3.51,3.50,3.49,3.57,3.52,3.60,3.61,
-3.48,3.54,3.46,3.76,3.65,3.57,3.52,3.58,3.60,3.55,
-3.67,3.74,3.74,3.53,3.59,3.77,3.77,3.83,3.70,3.61,
-3.70,3.76,3.64,3.76,3.70,3.70,3.78,3.84,3.78,3.74,
-3.89,3.97,4.04,3.90,3.91,3.75,4.01,3.92,3.83,3.78,
-3.90,3.88,3.93,3.68,3.78,3.84,3.90,3.78,3.99,3.91,
-3.78,3.99,3.92,3.84,4.00,3.94,3.96,4.01,4.08,4.10,
-4.02,3.93,4.06,4.16,4.02,4.12,4.11,4.09,4.08,4.08,
-4.05,4.09,4.03,4.18,4.35,4.18,4.11,4.20,4.25,4.22,
-4.09,4.13,4.05,4.15,4.13,4.17,4.33,4.21,4.13,4.14,
-0.82,0.87,0.88,0.91,0.99,1.00,1.02,1.02,1.09,1.03,
-1.16,1.14,1.19,1.16,1.21,1.26,1.27,1.27,1.31,1.28,
-1.43,1.40,1.40,1.43,1.42,1.44,1.46,1.50,1.50,1.52,
-1.54,1.61,1.59,1.60,1.66,1.64,1.68,1.70,1.65,1.72,
-1.76,1.75,1.83,1.76,1.79,1.79,1.78,1.89,1.96,1.88,
-1.89,1.87,1.99,1.94,1.94,2.03,1.93,2.01,2.00,1.99,
-2.09,2.01,2.04,2.03,2.06,2.08,2.13,2.13,2.17,2.14,
-2.27,2.27,2.19,2.23,2.16,2.29,2.23,2.28,2.30,2.27,
-2.33,2.37,2.41,2.20,2.38,2.31,2.38,2.41,2.37,2.35,
-2.36,2.51,2.35,2.41,2.42,2.54,2.51,2.57,2.56,2.56,
-2.56,2.47,2.65,2.60,2.68,2.53,2.57,2.73,2.69,2.63,
-2.67,2.72,2.68,2.69,2.73,2.85,2.74,2.67,2.78,2.74,
-2.78,2.75,2.82,2.77,2.76,2.81,2.89,2.88,2.82,2.93,
-2.73,2.79,2.77,2.89,2.97,2.83,2.99,3.03,2.84,2.98,
-2.85,3.06,3.02,3.05,2.99,2.95,3.03,3.02,3.02,3.07,
-3.18,3.07,3.21,3.06,3.07,3.10,3.03,3.11,3.15,3.28,
-3.21,3.17,3.05,3.13,3.16,3.29,3.10,3.24,3.15,3.20,
-3.42,3.18,3.19,3.26,3.31,3.35,3.22,3.21,3.35,3.29,
-3.32,3.35,3.25,3.31,3.44,3.33,3.36,3.31,3.36,3.42,
-3.34,3.35,3.26,3.34,3.45,3.48,3.52,3.45,3.37,3.47,
-3.36,3.37,3.47,3.40,3.54,3.44,3.63,3.55,3.64,3.49,
-3.56,3.62,3.54,3.59,3.60,3.67,3.59,3.68,3.61,3.57,
-3.56,3.64,3.60,3.57,3.57,3.74,3.61,3.80,3.67,3.71,
-3.82,3.75,3.65,3.82,3.69,3.66,3.73,3.73,3.74,3.68,
-3.75,3.84,3.90,3.81,3.93,3.78,3.98,3.80,3.93,3.95,
-3.99,4.15,3.89,3.86,3.95,3.92,3.84,3.97,4.12,3.93,
-4.07,3.85,3.80,4.04,4.00,3.89,3.96,3.89,3.91,3.99,
-3.97,4.00,4.04,3.80,4.08,3.86,4.04,3.96,3.98,4.18,
-4.28,4.04,4.19,4.36,4.19,3.95,4.11,4.19,4.35,4.31,
-0.78,0.84,0.90,0.88,0.89,0.94,0.99,1.04,1.03,1.12,
-1.09,1.11,1.17,1.11,1.21,1.17,1.22,1.28,1.29,1.28,
-1.33,1.34,1.32,1.36,1.39,1.47,1.41,1.44,1.55,1.58,
-1.57,1.57,1.50,1.59,1.63,1.58,1.67,1.66,1.63,1.70,
-1.67,1.74,1.70,1.78,1.75,1.80,1.77,1.84,1.80,1.80,
-1.84,1.82,1.92,1.88,1.91,1.88,1.95,1.96,1.90,1.92,
-2.07,2.01,2.00,2.04,2.08,2.04,2.05,2.06,2.14,2.12,
-2.14,2.19,2.20,2.14,2.13,2.04,2.27,2.17,2.21,2.29,
-2.21,2.24,2.29,2.28,2.39,2.22,2.32,2.26,2.31,2.33,
-2.34,2.29,2.44,2.36,2.39,2.45,2.42,2.45,2.40,2.42,
-2.55,2.43,2.52,2.57,2.50,2.57,2.56,2.59,2.47,2.54,
-2.54,2.56,2.58,2.70,2.63,2.64,2.65,2.72,2.78,2.63,
-2.64,2.68,2.72,2.79,2.75,2.70,2.78,2.81,2.71,2.78,
-2.76,2.86,2.88,2.79,2.75,2.87,2.86,2.90,2.87,2.88,
-2.97,3.02,2.97,2.87,3.07,3.01,2.96,2.83,2.99,2.82,
-2.92,2.97,2.98,2.85,3.03,3.07,2.92,2.93,3.02,3.05,
-2.96,3.22,3.15,2.96,3.05,2.97,3.10,3.17,3.10,3.10,
-3.21,3.32,3.19,3.26,3.24,3.34,3.32,3.28,3.13,3.06,
-3.24,3.24,3.18,3.22,3.39,3.14,3.34,3.17,3.29,3.36,
-3.28,3.23,3.26,3.41,3.51,3.41,3.38,3.29,3.42,3.41,
-3.39,3.30,3.41,3.48,3.50,3.47,3.34,3.48,3.45,3.37,
-3.53,3.53,3.60,3.68,3.56,3.61,3.51,3.54,3.51,3.51,
-3.64,3.61,3.56,3.50,3.55,3.68,3.52,3.74,3.72,3.80,
-3.59,3.65,3.70,3.73,3.95,3.77,3.73,3.58,3.56,3.81,
-3.74,3.94,3.67,3.77,3.73,3.86,3.74,3.72,3.85,3.98,
-3.79,3.82,3.79,3.86,3.76,3.77,3.81,3.91,3.99,3.89,
-3.78,3.86,3.78,3.89,3.82,3.89,3.91,3.99,3.89,3.91,
-3.92,3.86,3.94,3.99,3.80,3.97,3.90,4.03,3.98,4.10,
-3.96,4.04,4.02,3.90,3.94,4.11,4.00,4.04,4.05,4.13,
-0.79,0.83,0.87,0.86,0.93,0.95,0.96,1.00,1.01,1.04,
-1.07,1.11,1.11,1.11,1.14,1.22,1.19,1.14,1.22,1.30,
-1.34,1.33,1.30,1.36,1.38,1.37,1.43,1.46,1.47,1.49,
-1.50,1.51,1.54,1.54,1.55,1.60,1.62,1.59,1.64,1.61,
-1.60,1.65,1.69,1.70,1.69,1.66,1.76,1.72,1.79,1.83,
-1.84,1.85,1.79,1.91,1.89,1.87,1.88,1.94,1.90,1.93,
-1.92,1.95,1.93,1.94,2.01,2.00,2.00,2.09,2.08,2.04,
-2.09,2.06,2.08,2.08,2.15,2.11,2.05,2.14,2.16,2.16,
-2.29,2.20,2.27,2.26,2.27,2.22,2.23,2.34,2.38,2.29,
-2.36,2.41,2.46,2.29,2.39,2.41,2.44,2.42,2.44,2.41,
-2.38,2.52,2.44,2.43,2.46,2.39,2.49,2.48,2.54,2.42,
-2.53,2.66,2.59,2.51,2.67,2.62,2.49,2.61,2.61,2.59,
-2.56,2.69,2.70,2.66,2.65,2.72,2.68,2.69,2.76,2.68,
-2.73,2.68,2.81,2.80,2.71,2.75,2.74,2.85,2.75,2.73,
-2.85,2.83,2.86,2.87,2.89,2.87,2.84,2.91,2.98,2.87,
-2.92,2.91,2.93,2.89,2.98,2.95,2.87,2.97,3.04,2.99,
-3.09,3.00,2.96,2.99,3.22,3.02,3.01,3.04,3.01,3.09,
-3.12,3.11,3.18,2.98,3.17,3.16,3.14,3.21,3.17,3.23,
-3.02,3.24,3.01,3.26,3.16,3.37,3.13,3.27,3.26,3.32,
-3.31,3.25,3.14,3.24,3.33,3.08,3.23,3.37,3.32,3.44,
-3.18,3.27,3.37,3.49,3.45,3.46,3.38,3.46,3.43,3.32,
-3.40,3.35,3.37,3.29,3.51,3.55,3.37,3.39,3.49,3.48,
-3.50,3.48,3.49,3.47,3.42,3.51,3.48,3.46,3.41,3.61,
-3.54,3.66,3.46,3.55,3.55,3.73,3.61,3.52,3.66,3.65,
-3.62,3.60,3.75,3.58,3.57,3.77,3.55,3.86,3.69,3.64,
-3.64,3.67,3.77,3.81,3.82,3.91,3.76,3.57,3.70,3.82,
-3.58,3.79,3.79,3.79,3.68,3.76,3.85,3.83,3.80,3.75,
-3.72,3.83,3.84,3.95,3.74,3.72,3.85,3.84,3.94,3.92,
-3.83,3.95,3.97,4.01,3.96,4.07,4.10,4.14,3.99,4.06,
-1.06,1.08,1.13,1.18,1.23,1.26,1.33,1.32,1.39,1.38,
-1.47,1.49,1.58,1.58,1.62,1.61,1.72,1.68,1.70,1.67,
-1.80,1.86,1.84,1.89,1.90,1.99,1.96,2.00,2.04,2.06,
-2.09,2.07,2.10,2.05,2.19,2.21,2.19,2.30,2.24,2.27,
-2.27,2.37,2.37,2.42,2.49,2.44,2.46,2.32,2.33,2.48,
-2.47,2.45,2.50,2.53,2.64,2.63,2.62,2.53,2.71,2.69,
-2.63,2.79,2.64,2.74,2.98,2.81,2.78,2.93,2.81,2.96,
-2.90,2.98,2.95,2.95,2.98,3.09,2.93,3.01,3.03,2.94,
-3.14,3.08,3.18,3.09,3.06,3.11,3.20,3.14,3.23,3.24,
-3.19,3.27,3.28,3.38,3.37,3.28,3.37,3.49,3.42,3.38,
-3.38,3.31,3.32,3.48,3.43,3.44,3.42,3.44,3.36,3.52,
-3.52,3.43,3.64,3.59,3.58,3.61,3.68,3.61,3.66,3.81,
-3.68,3.71,3.64,3.79,3.68,3.71,3.72,3.71,3.95,3.76,
-3.85,3.87,3.84,3.88,3.93,3.79,3.79,4.02,3.91,3.95,
-3.92,4.12,4.07,3.99,3.89,4.03,3.93,4.00,3.98,4.02,
-4.13,4.08,3.90,4.10,4.15,4.23,4.12,4.20,4.25,4.12,
-4.36,4.31,4.15,4.27,4.22,4.15,4.35,4.24,4.30,4.43,
-4.15,4.21,4.46,4.40,4.48,4.48,4.49,4.36,4.32,4.57,
-4.39,4.21,4.41,4.36,4.41,4.65,4.47,4.59,4.66,4.51,
-4.47,4.73,4.76,4.69,4.67,4.75,4.68,4.71,4.67,4.80,
-4.48,4.67,4.78,4.68,4.87,4.74,4.63,4.79,4.91,4.82,
-4.88,4.90,4.80,4.86,4.73,4.91,4.70,4.76,4.93,5.11,
-4.74,4.90,4.87,4.96,4.78,5.07,4.95,5.01,4.93,5.12,
-5.11,5.21,5.12,4.77,5.13,5.03,5.08,5.17,5.12,5.01,
-5.07,5.07,5.11,5.11,5.27,5.10,5.08,5.17,5.08,5.19,
-5.07,5.15,5.42,5.29,5.22,5.26,5.23,5.46,5.20,5.37,
-5.35,5.39,5.33,5.37,5.40,5.35,5.40,5.47,5.08,5.34,
-5.28,5.40,5.45,5.49,5.51,5.29,5.41,5.37,5.54,5.35,
-5.42,5.86,5.40,5.31,5.78,5.69,5.67,5.58,5.54,5.64,
-1.01,1.03,1.06,1.10,1.18,1.16,1.23,1.31,1.29,1.39,
-1.36,1.47,1.44,1.49,1.58,1.48,1.57,1.59,1.59,1.65,
-1.73,1.77,1.73,1.74,1.83,1.81,1.81,1.82,1.87,1.93,
-1.93,1.96,1.94,2.02,2.09,2.09,2.11,2.08,2.10,2.16,
-2.22,2.14,2.24,2.24,2.36,2.26,2.22,2.25,2.40,2.31,
-2.38,2.41,2.47,2.35,2.51,2.54,2.47,2.51,2.65,2.57,
-2.49,2.63,2.51,2.63,2.58,2.64,2.67,2.68,2.73,2.73,
-2.77,2.72,2.85,2.65,2.84,2.86,2.78,2.83,2.88,2.84,
-2.89,2.79,2.95,2.87,3.03,3.05,3.05,3.03,2.94,3.06,
-2.98,3.09,3.03,3.21,3.07,3.11,3.14,3.16,3.17,3.11,
-3.26,3.19,3.16,3.16,3.32,3.24,3.30,3.22,3.31,3.28,
-3.25,3.23,3.42,3.30,3.33,3.46,3.49,3.50,3.46,3.47,
-3.41,3.51,3.42,3.47,3.61,3.52,3.46,3.55,3.55,3.61,
-3.54,3.67,3.63,3.68,3.64,3.51,3.76,3.78,3.58,3.70,
-3.63,3.86,3.66,3.66,3.84,3.76,3.73,3.76,3.79,3.82,
-3.79,3.77,3.94,3.97,3.99,3.96,3.75,3.90,3.94,4.06,
-3.92,4.15,4.02,4.02,3.87,3.96,3.98,4.05,3.99,4.17,
-3.96,3.95,4.19,3.97,4.07,4.24,4.29,4.11,4.02,4.21,
-4.27,4.26,4.17,4.19,4.14,4.32,4.24,4.27,4.25,4.28,
-4.30,4.38,4.43,4.27,4.52,4.19,4.21,4.63,4.34,4.39,
-4.35,4.44,4.53,4.39,4.30,4.50,4.47,4.44,4.40,4.56,
-4.47,4.47,4.44,4.45,4.47,4.47,4.54,4.67,4.61,4.65,
-4.58,4.67,4.58,4.66,4.72,4.62,4.57,4.64,4.76,4.63,
-4.88,4.61,4.60,4.74,4.90,4.74,4.53,4.86,4.88,4.83,
-4.74,4.68,4.98,4.87,5.05,4.90,5.06,4.81,4.91,4.80,
-5.05,4.94,4.75,5.14,4.88,4.96,5.08,4.91,5.10,5.12,
-4.73,5.02,5.15,5.07,5.00,4.94,5.09,5.15,5.02,5.00,
-5.02,5.09,5.02,5.03,5.28,5.36,5.08,5.44,5.20,5.42,
-5.08,5.26,5.14,5.35,5.55,5.06,4.92,5.31,5.14,5.16,
-1.01,1.02,1.04,1.07,1.08,1.17,1.20,1.23,1.27,1.27,
-1.30,1.32,1.38,1.51,1.43,1.49,1.52,1.48,1.60,1.56,
-1.63,1.69,1.66,1.70,1.66,1.67,1.74,1.77,1.77,1.87,
-1.84,1.89,1.84,1.91,1.93,1.98,1.99,2.08,2.00,2.10,
-2.00,2.09,2.11,2.18,2.18,2.17,2.16,2.18,2.18,2.34,
-2.21,2.29,2.20,2.32,2.21,2.33,2.35,2.48,2.43,2.37,
-2.39,2.44,2.38,2.46,2.50,2.56,2.50,2.61,2.55,2.54,
-2.56,2.63,2.60,2.68,2.69,2.77,2.75,2.65,2.74,2.74,
-2.70,2.77,2.69,2.95,2.80,2.72,2.85,2.92,2.90,2.83,
-2.83,3.01,3.09,2.91,3.00,3.02,3.00,3.01,2.80,2.99,
-3.04,3.08,3.12,3.08,3.14,3.05,3.20,3.14,3.16,3.14,
-3.26,3.25,3.26,3.39,3.23,3.11,3.31,3.31,3.33,3.36,
-3.33,3.41,3.39,3.44,3.26,3.45,3.26,3.34,3.42,3.54,
-3.48,3.45,3.39,3.55,3.39,3.58,3.41,3.54,3.33,3.44,
-3.71,3.65,3.68,3.45,3.67,3.69,3.64,3.71,3.72,3.79,
-3.65,3.65,3.70,3.69,3.74,3.74,3.73,3.79,3.72,3.82,
-3.71,3.71,3.88,3.90,3.77,3.90,4.08,3.79,3.87,4.02,
-3.75,3.83,4.08,3.77,3.75,3.82,3.89,3.92,4.05,4.00,
-3.88,3.92,3.91,3.84,4.01,3.87,3.89,4.06,4.04,4.15,
-4.00,4.08,4.15,4.21,4.19,4.05,3.99,4.15,4.16,4.24,
-4.26,4.09,4.22,4.14,4.17,4.18,4.16,4.33,4.24,4.32,
-4.19,4.37,4.51,4.45,4.27,4.26,4.52,4.56,4.20,4.53,
-4.43,4.39,4.48,4.68,4.42,4.40,4.48,4.50,4.46,4.29,
-4.46,4.43,4.39,4.32,4.43,4.45,4.55,4.50,4.65,4.50,
-4.57,4.59,4.46,4.63,4.68,4.72,4.87,4.65,4.69,4.51,
-4.69,4.56,4.69,4.70,4.55,4.75,4.67,4.69,4.77,4.77,
-4.89,4.86,4.70,4.64,4.72,4.76,4.79,4.83,4.75,4.91,
-4.73,5.01,5.08,4.89,4.67,4.78,5.00,4.85,4.74,4.93,
-4.80,4.91,5.07,4.91,4.94,4.91,5.11,4.96,5.07,5.15,
-0.95,0.96,1.02,1.06,1.10,1.13,1.14,1.22,1.20,1.23,
-1.25,1.32,1.32,1.40,1.38,1.43,1.43,1.46,1.45,1.52,
-1.57,1.48,1.62,1.57,1.64,1.65,1.63,1.74,1.74,1.75,
-1.79,1.75,1.81,1.86,1.84,1.94,1.95,1.90,1.82,2.00,
-1.98,1.92,2.01,2.02,2.06,2.07,2.11,2.11,2.16,2.21,
-2.12,2.15,2.25,2.28,2.12,2.30,2.35,2.39,2.35,2.28,
-2.36,2.44,2.37,2.48,2.45,2.42,2.43,2.56,2.67,2.44,
-2.53,2.46,2.53,2.58,2.55,2.53,2.59,2.63,2.61,2.71,
-2.70,2.59,2.75,2.73,2.80,2.85,2.62,2.77,2.69,2.98,
-2.71,2.79,2.87,2.69,2.80,2.88,3.03,2.88,2.97,2.97,
-2.83,2.87,3.02,2.96,3.08,3.02,2.99,3.10,3.12,3.03,
-3.18,3.07,3.07,3.07,3.17,3.06,3.17,3.13,3.20,3.18,
-3.17,3.14,3.24,3.38,3.27,3.31,3.39,3.42,3.26,3.20,
-3.33,3.29,3.39,3.35,3.22,3.40,3.42,3.36,3.42,3.40,
-3.40,3.52,3.35,3.47,3.59,3.61,3.53,3.54,3.44,3.58,
-3.45,3.41,3.40,3.66,3.72,3.73,3.55,3.64,3.55,3.53,
-3.63,3.61,3.64,3.62,3.69,3.78,3.75,3.76,3.63,3.73,
-3.79,3.80,3.93,3.84,3.85,3.71,3.69,3.78,3.85,3.85,
-3.92,3.81,3.85,3.70,3.73,3.84,3.78,3.89,3.95,4.00,
-3.99,3.97,4.07,3.87,3.96,3.89,3.96,4.08,3.98,4.06,
-3.98,4.12,4.08,4.04,4.15,4.04,4.01,3.86,4.22,4.18,
-4.21,4.20,4.25,4.36,4.38,4.37,4.13,4.13,4.21,4.11,
-4.12,4.33,4.37,4.23,4.18,4.39,4.48,4.24,4.34,4.37,
-4.49,4.44,4.32,4.38,4.44,4.54,4.42,4.23,4.30,4.49,
-4.32,4.29,4.48,4.30,4.44,4.45,4.56,4.50,4.49,4.42,
-4.38,4.58,4.38,4.50,4.52,4.45,4.61,4.52,4.64,4.69,
-4.52,4.59,4.68,4.50,4.62,4.64,4.62,4.58,4.75,4.61,
-4.72,4.58,4.80,4.64,4.72,4.68,4.66,4.74,4.57,4.88,
-4.81,4.87,4.59,4.66,4.97,4.67,4.94,4.71,4.85,4.73,
-0.93,0.89,1.01,1.06,1.11,1.09,1.13,1.16,1.20,1.21,
-1.25,1.27,1.35,1.31,1.38,1.39,1.38,1.42,1.49,1.52,
-1.52,1.55,1.61,1.56,1.62,1.65,1.63,1.67,1.67,1.69,
-1.71,1.78,1.78,1.76,1.82,1.73,1.77,1.95,1.85,1.90,
-1.94,2.04,1.90,1.93,1.96,2.07,2.12,2.12,2.09,2.12,
-2.11,2.04,2.11,2.21,2.28,2.14,2.13,2.24,2.16,2.28,
-2.28,2.32,2.35,2.21,2.36,2.37,2.35,2.44,2.41,2.49,
-2.45,2.43,2.58,2.51,2.57,2.47,2.55,2.57,2.54,2.51,
-2.57,2.58,2.66,2.71,2.65,2.53,2.56,2.66,2.66,2.69,
-2.72,2.60,2.76,2.81,2.78,2.84,2.69,2.74,3.00,2.85,
-2.79,2.83,2.76,2.96,2.94,2.94,2.98,2.98,3.08,2.95,
-2.97,2.93,2.97,3.02,3.00,3.11,3.05,3.23,3.02,3.09,
-3.11,3.15,3.12,3.11,3.09,3.04,3.13,3.14,3.25,3.16,
-3.21,3.22,3.31,3.29,3.27,3.07,3.41,3.16,3.37,3.38,
-3.27,3.32,3.28,3.41,3.30,3.31,3.29,3.42,3.32,3.42,
-3.42,3.49,3.49,3.55,3.53,3.39,3.49,3.65,3.59,3.47,
-3.49,3.51,3.49,3.66,3.53,3.62,3.62,3.55,3.56,3.72,
-3.65,3.68,3.56,3.53,3.74,3.66,3.74,3.78,3.76,3.81,
-3.62,3.75,3.74,3.75,3.77,3.74,3.82,3.82,3.91,3.96,
-3.83,3.74,3.96,3.85,3.82,3.87,3.82,3.75,3.84,3.86,
-3.80,3.86,4.00,3.89,3.99,3.83,3.89,4.06,3.78,4.02,
-3.97,4.09,4.03,4.14,4.06,3.96,4.11,3.93,3.99,4.08,
-4.17,3.98,4.14,4.25,3.90,4.04,4.33,4.06,4.26,4.20,
-4.24,4.28,4.15,4.09,4.30,4.10,3.97,4.27,4.22,4.19,
-4.35,4.16,4.17,4.29,4.32,4.38,4.32,4.32,4.22,4.21,
-4.46,4.42,4.52,4.27,4.32,4.43,4.22,4.42,4.37,4.36,
-4.36,4.31,4.48,4.35,4.55,4.70,4.55,4.48,4.61,4.38,
-4.62,4.49,4.42,4.54,4.42,4.56,4.45,4.43,4.76,4.46,
-4.66,4.47,4.61,4.47,4.67,4.68,4.57,4.44,4.71,4.50,
-0.91,0.94,0.98,1.03,1.04,1.08,1.10,1.18,1.16,1.21,
-1.23,1.23,1.33,1.31,1.37,1.37,1.30,1.41,1.45,1.39,
-1.44,1.54,1.57,1.56,1.59,1.59,1.60,1.71,1.62,1.63,
-1.71,1.71,1.69,1.77,1.76,1.81,1.81,1.84,1.83,1.92,
-1.94,1.88,1.94,1.90,1.91,1.97,2.04,2.10,2.14,1.99,
-2.09,2.12,2.11,2.13,2.09,2.17,2.12,2.21,2.21,2.20,
-2.19,2.27,2.30,2.22,2.27,2.31,2.26,2.39,2.34,2.37,
-2.29,2.42,2.44,2.46,2.35,2.46,2.42,2.56,2.40,2.59,
-2.45,2.56,2.51,2.50,2.52,2.53,2.55,2.57,2.56,2.57,
-2.63,2.71,2.68,2.65,2.71,2.72,2.71,2.67,2.76,2.84,
-2.71,2.70,2.76,2.88,2.76,2.78,2.83,2.89,2.98,2.93,
-2.79,2.81,3.02,2.97,2.96,2.91,3.06,2.93,3.01,3.05,
-2.99,2.98,3.07,3.00,3.04,3.11,3.03,3.20,3.11,3.14,
-3.21,3.09,3.22,3.21,3.25,3.18,3.26,3.26,3.28,3.26,
-3.20,3.20,3.17,3.22,3.35,3.30,3.23,3.34,3.28,3.21,
-3.38,3.38,3.32,3.26,3.37,3.41,3.26,3.29,3.43,3.59,
-3.35,3.43,3.47,3.36,3.52,3.51,3.34,3.59,3.44,3.52,
-3.59,3.54,3.51,3.50,3.59,3.54,3.63,3.58,3.59,3.55,
-3.65,3.56,3.75,3.66,3.79,3.76,3.76,3.70,3.71,3.80,
-3.74,3.73,3.63,3.85,3.76,3.76,3.83,3.97,3.74,3.78,
-3.85,3.73,3.78,3.86,3.85,3.75,3.90,3.94,3.94,4.01,
-3.77,4.01,3.90,3.99,3.82,3.88,3.97,3.97,3.98,4.00,
-3.96,3.91,3.94,3.98,4.14,4.04,3.97,3.96,4.12,4.03,
-4.05,4.19,3.96,4.25,4.11,4.08,4.13,4.32,4.19,4.31,
-4.01,4.19,4.18,4.35,4.29,4.12,4.23,4.13,4.24,4.15,
-4.19,4.28,4.42,4.20,4.11,4.31,4.29,4.30,4.27,4.56,
-4.33,4.37,4.42,4.43,4.23,4.26,4.48,4.51,4.22,4.37,
-4.46,4.41,4.33,4.45,4.48,4.43,4.41,4.46,4.57,4.50,
-4.50,4.59,4.71,4.52,4.32,4.49,4.51,4.42,4.66,4.51,
-0.90,0.92,0.97,0.98,1.06,1.04,1.13,1.16,1.19,1.22,
-1.17,1.23,1.24,1.27,1.37,1.35,1.36,1.36,1.48,1.46,
-1.43,1.53,1.51,1.52,1.59,1.59,1.60,1.65,1.59,1.60,
-1.64,1.64,1.68,1.66,1.76,1.72,1.82,1.85,1.86,1.84,
-1.86,1.83,1.86,1.88,1.89,1.91,1.93,2.03,1.98,1.97,
-1.97,2.05,2.10,2.11,2.11,2.09,2.10,2.11,2.15,2.14,
-2.16,2.23,2.34,2.09,2.32,2.22,2.23,2.34,2.29,2.24,
-2.41,2.31,2.38,2.41,2.37,2.36,2.45,2.49,2.50,2.54,
-2.40,2.47,2.41,2.49,2.40,2.47,2.55,2.62,2.60,2.54,
-2.52,2.57,2.64,2.70,2.61,2.63,2.71,2.69,2.77,2.72,
-2.67,2.73,2.70,2.78,2.75,2.92,2.76,2.83,2.88,2.88,
-2.86,2.87,2.86,3.05,2.91,2.89,3.01,2.95,2.86,2.99,
-2.89,3.00,2.98,2.86,3.12,3.11,2.99,3.01,2.98,2.95,
-3.02,3.05,3.04,3.11,3.02,3.06,3.16,3.21,3.15,3.11,
-3.28,3.21,3.11,3.23,3.19,3.18,3.27,2.92,3.18,3.24,
-3.20,3.28,3.22,3.36,3.22,3.31,3.39,3.34,3.49,3.28,
-3.34,3.32,3.46,3.31,3.36,3.46,3.42,3.43,3.49,3.40,
-3.52,3.39,3.51,3.57,3.41,3.48,3.44,3.52,3.50,3.49,
-3.60,3.68,3.69,3.56,3.64,3.64,3.60,3.67,3.52,3.65,
-3.61,3.66,3.69,3.61,3.67,3.72,3.73,3.69,3.86,3.85,
-3.77,3.72,3.89,3.67,3.86,3.50,3.70,3.87,3.74,3.85,
-3.92,3.81,3.78,3.80,3.76,3.78,3.92,4.10,3.90,3.86,
-3.96,3.93,3.98,4.01,4.04,3.92,3.93,3.98,3.98,3.97,
-3.95,3.94,4.10,3.80,4.04,4.02,4.02,3.96,4.02,4.04,
-4.03,4.00,4.06,4.21,4.14,4.20,4.28,4.24,4.09,4.15,
-4.27,4.22,4.22,4.07,4.18,4.24,4.23,4.28,4.18,4.20,
-4.27,4.13,4.24,4.33,4.07,4.21,4.26,4.27,4.44,4.22,
-4.33,4.52,4.50,4.25,4.38,4.25,4.21,4.55,4.29,4.40,
-4.36,4.36,4.39,4.42,4.32,4.42,4.36,4.36,4.46,4.39,
-0.90,0.93,0.91,1.02,0.99,1.06,1.10,1.13,1.14,1.14,
-1.17,1.23,1.24,1.26,1.28,1.36,1.36,1.34,1.35,1.37,
-1.40,1.42,1.51,1.52,1.52,1.53,1.56,1.61,1.56,1.66,
-1.61,1.66,1.70,1.69,1.69,1.69,1.76,1.70,1.80,1.75,
-1.88,1.85,1.82,1.92,1.85,1.84,1.94,1.93,1.95,1.98,
-2.02,2.02,2.02,2.08,1.99,2.03,2.08,2.11,2.11,2.13,
-2.16,2.14,2.14,2.18,2.22,2.20,2.29,2.24,2.30,2.19,
-2.33,2.33,2.32,2.42,2.34,2.26,2.37,2.39,2.48,2.41,
-2.39,2.49,2.43,2.43,2.55,2.46,2.58,2.46,2.51,2.51,
-2.58,2.59,2.55,2.59,2.62,2.57,2.60,2.64,2.64,2.59,
-2.70,2.75,2.77,2.64,2.63,2.72,2.75,2.67,2.86,2.89,
-2.82,2.80,2.82,2.86,2.99,2.87,2.86,2.83,2.99,2.96,
-2.93,2.85,2.89,3.01,2.99,2.97,2.92,2.96,3.06,3.07,
-3.11,2.94,2.89,3.12,2.91,3.14,2.99,2.96,3.02,3.08,
-3.04,3.06,3.29,3.16,3.14,3.01,3.12,3.35,3.22,3.19,
-3.24,3.26,3.37,3.22,3.26,3.21,3.26,3.23,3.28,3.28,
-3.24,3.35,3.35,3.42,3.44,3.53,3.32,3.43,3.32,3.53,
-3.39,3.54,3.48,3.25,3.37,3.43,3.41,3.42,3.46,3.48,
-3.35,3.46,3.59,3.47,3.56,3.53,3.65,3.62,3.68,3.54,
-3.51,3.62,3.52,3.54,3.55,3.59,3.81,3.63,3.63,3.63,
-3.62,3.76,3.74,3.67,3.63,3.62,3.71,3.68,3.80,3.74,
-3.82,3.72,3.60,3.72,3.82,3.79,3.65,3.73,3.77,3.89,
-3.80,3.90,3.72,3.87,3.90,3.73,3.71,3.91,3.87,3.92,
-3.95,3.93,3.96,4.04,4.12,3.83,4.02,3.94,3.86,3.98,
-3.90,3.91,3.94,4.10,4.13,3.96,4.15,4.19,3.99,4.04,
-4.03,4.18,4.04,4.01,4.09,4.14,4.21,4.16,4.24,4.17,
-4.24,4.24,4.43,4.15,4.26,4.20,4.39,4.36,4.25,4.02,
-4.25,4.19,4.03,4.24,4.24,4.35,4.27,4.29,4.24,4.34,
-4.30,4.31,4.41,4.22,4.38,4.33,4.35,4.25,4.49,4.37,
-0.86,0.91,0.94,1.00,1.03,1.04,1.06,1.09,1.07,1.18,
-1.15,1.19,1.24,1.21,1.27,1.32,1.31,1.35,1.36,1.40,
-1.44,1.44,1.46,1.47,1.56,1.50,1.49,1.61,1.57,1.57,
-1.68,1.57,1.60,1.73,1.67,1.71,1.75,1.75,1.76,1.83,
-1.85,1.75,1.84,1.85,1.78,1.82,1.87,2.01,2.04,1.93,
-1.98,1.98,1.97,1.98,2.14,2.07,2.08,2.01,2.06,2.09,
-2.10,2.11,2.16,2.14,2.22,2.20,2.19,2.20,2.24,2.17,
-2.20,2.30,2.26,2.30,2.31,2.31,2.38,2.39,2.33,2.41,
-2.40,2.33,2.47,2.42,2.39,2.52,2.51,2.55,2.55,2.43,
-2.54,2.47,2.43,2.47,2.63,2.56,2.61,2.51,2.69,2.65,
-2.52,2.67,2.64,2.65,2.72,2.61,2.69,2.76,2.66,2.76,
-2.81,2.76,2.80,2.75,2.76,2.82,2.85,2.74,2.93,2.91,
-2.95,2.96,2.78,2.95,2.89,2.87,2.85,2.84,2.86,3.02,
-2.86,3.04,3.00,2.87,2.98,3.04,3.08,3.03,3.15,3.01,
-2.99,3.05,3.01,2.97,3.05,3.10,3.07,3.14,3.13,3.15,
-3.23,3.12,3.15,3.12,3.17,3.05,3.20,3.25,3.35,3.28,
-3.33,3.39,3.34,3.33,3.34,3.53,3.34,3.39,3.40,3.38,
-3.47,3.47,3.40,3.44,3.40,3.41,3.48,3.44,3.61,3.50,
-3.47,3.40,3.53,3.49,3.35,3.54,3.46,3.59,3.52,3.42,
-3.51,3.48,3.48,3.50,3.65,3.62,3.55,3.58,3.61,3.56,
-3.64,3.65,3.59,3.76,3.61,3.72,3.75,3.71,3.71,3.74,
-3.78,3.65,3.73,3.83,3.72,3.64,3.90,3.60,3.69,3.87,
-3.79,3.78,3.88,3.75,3.83,3.81,3.79,3.80,3.89,3.98,
-3.91,3.84,3.95,3.92,3.91,4.04,3.84,3.88,3.96,4.04,
-3.90,3.96,3.87,4.02,4.03,4.07,4.02,3.95,4.02,3.98,
-4.00,4.09,3.94,4.13,4.16,4.14,4.13,4.09,4.15,4.19,
-4.00,4.09,3.99,4.18,4.35,4.25,4.18,4.22,4.08,4.27,
-4.14,4.37,4.26,4.29,4.25,4.15,4.15,4.33,4.30,4.27,
-4.16,4.29,4.16,4.24,4.29,4.41,4.19,4.41,4.31,4.38,
-0.85,0.91,0.91,0.96,1.00,1.02,1.06,1.05,1.12,1.12,
-1.20,1.16,1.17,1.26,1.30,1.32,1.27,1.34,1.37,1.40,
-1.44,1.43,1.44,1.39,1.53,1.45,1.49,1.53,1.54,1.60,
-1.60,1.59,1.63,1.67,1.63,1.72,1.78,1.65,1.76,1.77,
-1.76,1.83,1.81,1.81,1.85,1.81,1.87,1.83,1.90,1.91,
-1.92,1.90,1.97,1.93,1.97,2.01,2.04,2.00,2.01,2.14,
-2.09,2.14,2.10,2.15,2.13,2.06,2.21,2.13,2.21,2.32,
-2.23,2.21,2.24,2.15,2.27,2.23,2.29,2.38,2.30,2.33,
-2.39,2.36,2.41,2.47,2.40,2.49,2.41,2.43,2.38,2.55,
-2.42,2.41,2.50,2.51,2.58,2.68,2.52,2.55,2.57,2.51,
-2.57,2.63,2.63,2.68,2.65,2.68,2.65,2.67,2.61,2.61,
-2.78,2.76,2.71,2.72,2.76,2.79,2.85,2.78,2.72,2.87,
-2.74,2.91,2.76,2.90,2.85,2.95,2.94,2.84,2.93,2.83,
-2.93,3.03,2.93,2.96,3.02,3.09,3.04,2.99,3.00,2.92,
-2.97,3.02,3.00,2.93,3.05,3.02,3.12,3.16,3.19,3.07,
-3.14,3.09,3.10,3.11,3.19,3.26,3.18,3.26,3.27,3.24,
-3.18,3.25,3.34,3.18,3.26,3.22,3.35,3.38,3.37,3.32,
-3.33,3.50,3.35,3.19,3.36,3.47,3.48,3.43,3.41,3.17,
-3.41,3.45,3.40,3.47,3.54,3.44,3.55,3.44,3.54,3.47,
-3.39,3.60,3.49,3.59,3.60,3.51,3.57,3.47,3.56,3.53,
-3.67,3.61,3.50,3.55,3.50,3.51,3.56,3.62,3.57,3.63,
-3.72,3.72,3.59,3.53,3.79,3.86,3.67,3.73,3.72,3.77,
-3.91,3.67,3.84,3.79,3.88,3.61,3.70,3.92,3.79,3.77,
-3.90,3.87,3.88,3.75,3.84,3.82,3.76,3.98,3.84,3.74,
-3.95,3.84,3.93,3.84,3.91,4.07,3.96,3.89,4.02,3.81,
-3.98,4.01,4.12,3.98,3.96,3.97,4.14,3.95,4.05,4.00,
-4.15,4.16,4.06,4.04,4.02,4.21,4.16,3.93,4.12,4.36,
-3.98,4.17,4.12,4.07,4.08,4.13,4.02,3.98,4.10,4.12,
-4.25,4.19,4.26,4.12,4.15,4.30,4.32,4.11,4.34,4.27,
-0.87,0.90,0.91,0.93,0.98,0.97,1.07,1.07,1.08,1.13,
-1.17,1.13,1.19,1.22,1.25,1.25,1.27,1.34,1.34,1.32,
-1.35,1.40,1.40,1.43,1.47,1.49,1.48,1.52,1.52,1.54,
-1.57,1.55,1.66,1.64,1.66,1.67,1.72,1.63,1.65,1.64,
-1.69,1.77,1.86,1.84,1.84,1.85,1.79,1.86,1.86,2.04,
-1.97,1.97,1.98,2.02,1.94,1.91,2.03,1.95,2.03,2.06,
-1.98,2.12,2.21,2.22,2.27,2.06,2.17,2.20,2.09,2.19,
-2.11,2.21,2.19,2.32,2.19,2.39,2.34,2.32,2.35,2.29,
-2.44,2.33,2.27,2.29,2.37,2.38,2.48,2.45,2.41,2.44,
-2.43,2.34,2.46,2.50,2.50,2.48,2.49,2.45,2.58,2.47,
-2.51,2.61,2.60,2.46,2.60,2.63,2.66,2.70,2.73,2.76,
-2.65,2.54,2.69,2.73,2.80,2.67,2.63,2.87,2.64,2.79,
-2.59,2.72,2.80,2.85,2.81,2.90,2.87,2.88,2.79,2.81,
-2.83,2.85,2.84,3.02,2.97,2.93,2.93,3.07,2.97,2.92,
-2.94,3.12,2.97,3.11,2.93,3.11,2.96,3.09,3.09,3.01,
-3.04,3.00,3.11,3.05,3.24,3.20,3.12,3.06,3.17,3.21,
-3.17,3.25,3.21,3.31,3.26,3.31,3.11,3.26,3.35,3.32,
-3.16,3.41,3.23,3.37,3.32,3.33,3.19,3.47,3.43,3.32,
-3.32,3.30,3.48,3.38,3.31,3.41,3.44,3.43,3.45,3.42,
-3.38,3.55,3.57,3.30,3.45,3.41,3.60,3.57,3.53,3.43,
-3.44,3.48,3.38,3.60,3.51,3.67,3.54,3.63,3.71,3.54,
-3.74,3.68,3.56,3.72,3.55,3.59,3.63,3.40,3.65,3.61,
-3.69,3.85,3.69,3.83,3.84,3.71,3.72,3.63,3.87,3.73,
-3.71,3.79,3.91,3.89,3.80,3.79,3.86,3.92,3.87,3.84,
-3.82,3.80,3.82,3.82,3.94,3.76,3.81,3.96,3.73,3.99,
-4.01,3.87,3.85,3.91,3.83,3.96,3.96,4.07,3.98,4.07,
-3.79,3.97,3.96,4.13,4.13,3.89,4.08,4.00,4.19,4.04,
-4.22,3.97,4.19,4.01,4.03,3.97,4.25,4.03,4.11,4.22,
-4.12,4.16,4.15,4.04,4.13,4.11,4.17,4.10,4.31,4.03,
-0.83,0.91,0.88,0.95,0.98,1.01,1.05,1.02,1.07,1.08,
-1.12,1.15,1.20,1.24,1.30,1.25,1.29,1.34,1.32,1.33,
-1.42,1.34,1.40,1.38,1.50,1.46,1.45,1.49,1.48,1.51,
-1.53,1.54,1.56,1.57,1.69,1.70,1.71,1.61,1.70,1.79,
-1.79,1.79,1.77,1.79,1.74,1.85,1.85,1.87,1.86,1.82,
-1.88,1.87,1.93,1.92,2.00,1.99,1.99,2.14,1.97,1.98,
-2.08,2.04,2.07,2.06,2.09,2.08,2.11,2.13,2.17,2.14,
-2.17,2.23,2.23,2.22,2.26,2.22,2.23,2.36,2.31,2.21,
-2.31,2.36,2.33,2.38,2.38,2.31,2.34,2.44,2.39,2.43,
-2.42,2.50,2.53,2.51,2.51,2.51,2.42,2.56,2.48,2.48,
-2.58,2.55,2.49,2.70,2.60,2.58,2.74,2.57,2.70,2.72,
-2.75,2.67,2.63,2.76,2.69,2.67,2.77,2.63,2.67,2.64,
-2.84,2.75,2.68,2.74,2.81,2.75,2.86,2.86,2.73,2.93,
-3.02,2.82,2.89,2.97,2.86,3.00,3.00,2.88,2.93,2.98,
-2.94,3.04,3.00,2.93,2.88,3.07,2.93,3.00,3.06,3.06,
-3.10,3.09,3.07,3.00,3.15,3.14,3.27,3.03,3.14,3.21,
-2.94,3.07,3.11,3.31,3.14,3.20,3.10,3.36,3.12,3.14,
-3.14,3.30,3.31,3.25,3.27,3.16,3.22,3.32,3.25,3.40,
-3.32,3.35,3.32,3.35,3.35,3.45,3.35,3.47,3.38,3.30,
-3.40,3.38,3.35,3.37,3.59,3.43,3.35,3.43,3.56,3.45,
-3.48,3.49,3.46,3.47,3.47,3.45,3.64,3.49,3.61,3.59,
-3.71,3.55,3.52,3.53,3.58,3.60,3.59,3.41,3.77,3.50,
-3.58,3.44,3.62,3.60,3.66,3.76,3.65,3.66,3.79,3.78,
-3.70,3.65,3.84,3.71,3.72,3.68,3.60,3.81,3.62,3.86,
-3.90,3.81,3.86,3.76,3.89,3.85,3.85,4.01,3.79,3.93,
-3.90,3.94,3.94,3.69,3.92,3.92,3.95,3.89,4.03,3.79,
-3.91,4.03,4.02,4.01,3.97,4.10,3.99,3.99,3.91,3.98,
-3.90,4.05,4.00,4.18,4.11,4.08,4.03,4.15,4.09,3.91,
-4.27,4.25,3.94,4.09,4.17,4.16,4.24,4.08,4.23,4.18,
-0.84,0.86,0.92,0.95,0.98,0.99,1.03,1.03,1.10,1.09,
-1.14,1.16,1.14,1.19,1.24,1.25,1.27,1.28,1.29,1.32,
-1.34,1.38,1.39,1.34,1.42,1.44,1.47,1.46,1.55,1.48,
-1.53,1.56,1.57,1.58,1.61,1.66,1.67,1.60,1.63,1.67,
-1.64,1.75,1.72,1.68,1.78,1.78,1.77,1.86,1.79,1.87,
-1.79,1.85,1.92,1.91,1.96,1.92,2.02,1.98,1.95,2.05,
-2.01,2.06,1.97,2.03,1.99,2.07,2.11,2.18,2.11,2.18,
-2.06,2.14,2.21,2.17,2.18,2.18,2.17,2.21,2.19,2.28,
-2.22,2.28,2.35,2.36,2.27,2.44,2.30,2.39,2.42,2.34,
-2.44,2.40,2.37,2.41,2.52,2.45,2.48,2.47,2.56,2.49,
-2.40,2.46,2.48,2.57,2.52,2.56,2.53,2.64,2.53,2.55,
-2.65,2.62,2.61,2.68,2.59,2.65,2.62,2.74,2.72,2.67,
-2.64,2.74,2.77,2.76,2.74,2.72,2.84,2.73,2.66,2.85,
-2.77,2.88,2.84,2.79,2.91,2.89,2.79,2.83,2.93,2.84,
-2.94,2.88,2.84,2.98,2.93,2.92,3.06,2.94,2.95,2.99,
-2.99,2.98,2.94,3.08,3.10,3.07,3.09,3.25,2.98,3.06,
-3.03,3.18,3.21,3.13,3.21,3.16,3.19,3.24,3.10,3.05,
-3.21,3.16,3.24,3.19,3.25,3.04,3.27,3.12,3.33,3.25,
-3.15,3.23,3.36,3.20,3.32,3.36,3.42,3.39,3.34,3.25,
-3.28,3.34,3.36,3.51,3.40,3.36,3.28,3.42,3.37,3.46,
-3.50,3.51,3.56,3.50,3.33,3.44,3.39,3.50,3.47,3.59,
-3.68,3.47,3.42,3.41,3.50,3.27,3.64,3.54,3.50,3.64,
-3.55,3.56,3.51,3.53,3.69,3.68,3.69,3.58,3.73,3.64,
-3.60,3.65,3.58,3.76,3.78,3.76,3.77,3.80,3.77,3.82,
-3.84,3.66,4.01,3.96,3.80,3.75,3.83,3.66,4.01,3.82,
-3.69,3.74,3.82,3.93,3.80,3.65,3.82,3.88,3.78,3.91,
-4.06,4.02,3.81,4.08,3.85,3.85,3.85,3.90,4.01,3.94,
-4.01,4.04,4.02,3.82,4.14,4.09,3.81,4.05,3.93,4.24,
-4.00,4.19,4.13,4.25,4.07,3.91,4.03,3.96,3.99,4.13,
-0.80,0.87,0.87,0.90,0.93,1.00,1.02,1.06,1.06,1.09,
-1.08,1.11,1.12,1.17,1.19,1.21,1.23,1.27,1.30,1.32,
-1.34,1.29,1.39,1.38,1.36,1.45,1.45,1.46,1.52,1.50,
-1.52,1.47,1.54,1.60,1.54,1.60,1.60,1.70,1.61,1.70,
-1.65,1.71,1.67,1.71,1.73,1.71,1.72,1.79,1.85,1.83,
-1.82,1.82,1.80,1.88,1.82,1.90,2.00,1.91,1.97,1.94,
-2.00,1.96,1.98,1.99,2.02,2.01,2.03,2.07,2.08,2.03,
-2.12,2.03,2.10,2.13,2.17,2.24,2.25,2.17,2.20,2.14,
-2.28,2.14,2.25,2.30,2.25,2.26,2.32,2.31,2.41,2.38,
-2.36,2.34,2.34,2.33,2.27,2.50,2.48,2.40,2.44,2.46,
-2.44,2.54,2.46,2.61,2.49,2.60,2.55,2.44,2.49,2.48,
-2.60,2.67,2.63,2.66,2.73,2.62,2.61,2.67,2.67,2.67,
-2.60,2.67,2.64,2.68,2.63,2.79,2.83,2.72,2.61,2.76,
-2.83,2.81,2.68,2.85,2.81,2.72,2.73,2.90,2.88,2.81,
-2.80,2.88,2.88,2.76,2.92,2.92,2.90,2.90,2.85,2.93,
-3.02,3.00,2.86,3.02,3.01,2.89,3.01,3.09,3.07,3.09,
-3.02,3.04,3.04,3.01,3.17,3.09,3.28,3.14,3.06,3.10,
-3.18,3.16,3.07,3.14,3.24,3.25,3.29,3.14,3.31,3.19,
-3.11,3.31,3.33,3.22,3.20,3.38,3.19,3.50,3.23,3.20,
-3.31,3.36,3.34,3.30,3.29,3.45,3.23,3.34,3.44,3.34,
-3.41,3.40,3.29,3.49,3.34,3.45,3.38,3.40,3.47,3.54,
-3.52,3.45,3.61,3.52,3.45,3.51,3.76,3.57,3.52,3.53,
-3.77,3.61,3.62,3.58,3.56,3.59,3.57,3.56,3.53,3.60,
-3.45,3.59,3.75,3.49,3.73,3.69,3.51,3.67,3.75,3.79,
-3.61,3.61,3.54,3.79,3.63,3.80,3.86,3.73,3.80,3.59,
-3.69,3.74,3.70,3.63,3.76,3.86,3.83,3.70,3.71,4.04,
-3.82,3.90,3.72,3.95,3.93,3.75,3.83,3.96,3.90,3.81,
-3.86,3.96,4.12,3.88,4.05,3.83,3.85,4.07,3.89,4.00,
-3.94,3.78,4.04,4.03,4.13,4.09,4.06,4.16,4.21,4.14,
-0.78,0.82,0.85,0.89,0.90,0.92,0.95,1.03,1.05,1.08,
-1.11,1.11,1.11,1.14,1.18,1.15,1.22,1.24,1.30,1.25,
-1.32,1.34,1.34,1.37,1.38,1.40,1.39,1.38,1.37,1.49,
-1.49,1.51,1.52,1.57,1.54,1.59,1.61,1.58,1.59,1.60,
-1.61,1.66,1.68,1.64,1.69,1.72,1.69,1.84,1.76,1.85,
-1.85,1.82,1.79,1.82,1.88,1.85,1.86,1.91,1.92,1.93,
-1.96,1.99,1.97,2.04,1.92,1.93,2.02,2.08,2.02,2.03,
-2.07,2.09,2.09,2.05,2.15,2.11,2.19,2.14,2.17,2.23,
-2.17,2.13,2.21,2.30,2.27,2.23,2.15,2.37,2.28,2.25,
-2.34,2.27,2.31,2.38,2.32,2.33,2.43,2.47,2.38,2.47,
-2.40,2.42,2.41,2.47,2.46,2.44,2.41,2.54,2.54,2.50,
-2.52,2.54,2.49,2.58,2.62,2.57,2.52,2.59,2.65,2.66,
-2.53,2.70,2.65,2.69,2.71,2.58,2.77,2.64,2.72,2.59,
-2.73,2.73,2.75,2.82,2.76,2.74,2.70,2.79,2.87,2.86,
-2.77,2.81,2.76,2.78,2.72,2.77,2.94,2.88,2.90,2.94,
-2.96,2.86,2.93,2.87,2.95,2.97,3.00,3.06,3.02,3.01,
-3.02,2.91,2.98,3.03,2.96,2.94,3.18,3.15,3.00,3.12,
-2.92,3.00,3.10,3.11,3.17,3.01,3.18,3.12,3.18,3.23,
-3.13,3.11,3.21,3.29,3.22,3.28,3.12,3.36,3.19,3.18,
-3.31,3.22,3.31,3.22,3.34,3.36,3.35,3.18,3.30,3.29,
-3.33,3.26,3.44,3.33,3.50,3.38,3.26,3.39,3.38,3.34,
-3.40,3.33,3.34,3.31,3.53,3.55,3.41,3.42,3.44,3.40,
-3.47,3.56,3.55,3.43,3.48,3.54,3.49,3.62,3.44,3.72,
-3.65,3.47,3.54,3.64,3.54,3.72,3.48,3.53,3.61,3.64,
-3.70,3.68,3.59,3.59,3.95,3.53,3.57,3.62,3.61,3.62,
-3.67,3.72,3.61,3.81,3.78,3.82,3.61,3.78,3.77,3.76,
-3.69,3.76,3.88,3.79,3.75,3.87,3.66,3.88,3.93,3.82,
-3.71,3.82,3.77,3.84,3.94,3.78,3.85,3.87,3.94,3.93,
-3.85,3.81,3.95,3.87,3.92,3.89,3.88,4.06,3.91,3.92,
-1.00,1.09,1.14,1.17,1.26,1.31,1.32,1.41,1.45,1.44,
-1.45,1.51,1.54,1.59,1.60,1.67,1.70,1.69,1.77,1.72,
-1.75,1.90,1.89,1.99,2.05,1.89,1.99,2.03,2.05,2.09,
-2.06,2.15,2.16,2.16,2.27,2.25,2.18,2.29,2.20,2.26,
-2.33,2.41,2.30,2.37,2.44,2.45,2.45,2.50,2.55,2.51,
-2.51,2.62,2.64,2.71,2.68,2.74,2.52,2.80,2.72,2.80,
-2.74,2.80,2.75,2.76,2.85,2.86,3.00,3.01,2.86,2.87,
-2.95,3.04,2.89,2.97,3.12,3.14,3.03,3.03,3.01,3.10,
-3.09,3.05,3.12,3.12,3.18,3.26,3.29,3.36,3.39,3.17,
-3.37,3.38,3.45,3.41,3.43,3.45,3.44,3.37,3.56,3.48,
-3.63,3.46,3.37,3.60,3.58,3.47,3.58,3.63,3.82,3.68,
-3.75,3.63,3.59,3.76,3.70,3.84,3.77,3.61,3.77,3.73,
-3.88,3.69,3.96,3.85,3.79,3.80,3.76,3.95,3.92,4.11,
-3.98,3.71,3.80,4.06,4.01,3.95,3.95,3.94,4.01,4.16,
-4.19,3.99,4.17,4.06,4.27,4.15,4.05,4.22,4.10,4.18,
-4.25,4.15,4.17,4.30,4.29,4.29,4.21,4.41,4.42,4.29,
-4.31,4.34,4.39,4.42,4.49,4.47,4.41,4.46,4.44,4.43,
-4.55,4.49,4.45,4.58,4.48,4.38,4.56,4.49,4.65,4.38,
-4.44,4.67,4.57,4.41,4.79,4.51,4.45,4.45,4.67,4.66,
-4.52,4.75,4.64,4.86,4.68,4.91,4.68,4.60,5.01,4.84,
-4.78,4.97,4.84,5.00,5.03,4.93,4.86,4.80,4.75,4.84,
-4.93,5.00,4.91,5.00,4.91,5.01,5.04,5.04,5.03,5.01,
-5.09,5.22,5.05,5.18,5.27,5.13,5.09,5.20,4.90,5.30,
-4.97,5.15,5.19,5.08,5.19,5.14,5.09,5.26,5.12,5.01,
-5.17,5.28,5.31,5.21,5.58,5.19,5.13,5.10,5.14,5.31,
-5.33,5.51,5.44,5.26,5.37,5.24,5.34,5.41,5.63,5.60,
-5.27,5.40,5.58,5.65,5.69,5.55,5.53,5.66,5.54,5.77,
-5.34,5.69,5.50,5.49,5.59,5.60,5.48,5.89,5.96,5.60,
-5.73,5.47,5.79,5.68,5.62,5.74,5.92,5.37,5.77,5.65,
-0.95,1.02,1.11,1.14,1.16,1.23,1.26,1.33,1.36,1.43,
-1.43,1.42,1.51,1.51,1.52,1.54,1.58,1.58,1.64,1.73,
-1.72,1.73,1.83,1.91,1.79,1.81,1.87,1.86,1.95,1.89,
-1.99,2.01,2.03,2.05,2.09,2.08,2.19,2.10,2.14,2.15,
-2.15,2.24,2.21,2.22,2.30,2.35,2.38,2.25,2.35,2.35,
-2.45,2.42,2.45,2.44,2.50,2.44,2.55,2.55,2.57,2.61,
-2.57,2.61,2.55,2.66,2.62,2.64,2.82,2.62,2.71,2.77,
-2.71,2.83,2.79,2.83,2.93,2.88,2.94,2.84,2.95,2.99,
-2.87,2.83,2.94,2.96,3.23,3.00,2.91,3.01,3.10,3.05,
-3.06,3.07,3.10,3.21,3.20,3.27,3.16,3.22,3.25,3.18,
-3.21,3.18,3.15,3.30,3.12,3.49,3.39,3.38,3.48,3.38,
-3.33,3.40,3.48,3.44,3.46,3.50,3.56,3.42,3.43,3.44,
-3.36,3.53,3.46,3.67,3.55,3.64,3.56,3.67,3.70,3.64,
-3.60,3.62,3.77,3.69,3.79,3.74,3.67,3.77,3.72,3.82,
-3.87,3.72,3.75,3.92,3.72,3.89,3.82,3.90,3.86,3.75,
-3.98,3.78,3.89,3.97,3.87,3.76,4.07,4.07,4.05,4.01,
-4.12,4.04,3.97,4.12,4.03,4.12,4.23,4.13,3.99,4.09,
-4.15,4.28,4.30,4.21,4.25,4.23,4.20,4.37,4.23,4.28,
-4.37,4.07,4.15,4.26,4.36,4.32,4.37,4.30,4.22,4.31,
-4.48,4.32,4.42,4.50,4.40,4.39,4.53,4.42,4.43,4.49,
-4.60,4.49,4.39,4.57,4.46,4.56,4.50,4.48,4.55,4.81,
-4.56,4.66,4.63,4.53,4.66,4.62,4.82,4.73,4.67,4.71,
-4.76,4.89,4.68,4.81,4.75,4.61,4.62,4.85,4.89,4.83,
-4.87,4.69,4.83,4.85,4.87,4.72,4.93,5.02,5.00,4.88,
-4.76,4.66,4.90,5.05,4.84,4.86,4.94,5.07,4.92,5.11,
-4.99,4.98,4.98,5.10,5.09,5.10,4.95,5.11,5.15,5.11,
-5.04,5.06,5.18,5.11,5.28,5.12,5.39,5.12,5.22,4.95,
-5.27,5.35,5.34,5.12,5.17,5.22,5.43,5.24,5.25,5.38,
-5.39,5.17,5.34,5.23,5.38,5.49,5.32,5.34,5.42,5.33,
-0.99,0.99,1.03,1.07,1.09,1.19,1.17,1.19,1.25,1.31,
-1.36,1.36,1.32,1.38,1.44,1.51,1.53,1.53,1.54,1.57,
-1.59,1.63,1.66,1.76,1.67,1.76,1.79,1.77,1.87,1.87,
-1.89,1.85,1.89,1.95,2.00,2.04,1.97,2.03,2.10,2.06,
-1.99,2.19,2.03,2.15,2.19,2.22,2.18,2.20,2.22,2.25,
-2.31,2.22,2.31,2.28,2.38,2.40,2.39,2.35,2.45,2.44,
-2.45,2.45,2.42,2.55,2.53,2.60,2.57,2.56,2.58,2.70,
-2.70,2.69,2.75,2.65,2.81,2.73,2.65,2.82,2.81,2.77,
-2.79,2.81,2.78,2.93,2.85,2.78,2.86,2.88,3.02,2.88,
-3.02,3.04,2.99,3.07,3.07,3.01,3.02,3.01,3.08,3.08,
-3.00,3.15,3.12,3.07,2.98,3.13,3.14,3.39,3.25,3.12,
-3.31,3.20,3.24,3.09,3.26,3.26,3.29,3.38,3.34,3.52,
-3.34,3.39,3.46,3.39,3.38,3.42,3.35,3.39,3.52,3.29,
-3.34,3.50,3.44,3.40,3.50,3.47,3.55,3.64,3.49,3.63,
-3.66,3.68,3.71,3.72,3.64,3.58,3.75,3.61,3.81,3.71,
-3.69,3.66,3.85,3.69,3.78,3.84,3.81,3.69,3.68,3.72,
-3.83,3.95,3.91,3.81,3.73,3.83,3.95,3.95,3.86,3.98,
-3.82,4.02,3.94,3.98,3.92,3.84,3.93,4.07,4.13,4.04,
-4.01,4.00,4.14,4.17,4.21,3.99,4.02,4.29,4.12,4.05,
-4.01,4.14,4.29,4.37,4.16,4.14,4.06,4.09,4.17,4.30,
-4.26,4.36,4.29,4.25,4.26,4.39,4.36,4.31,4.14,4.22,
-4.37,4.55,4.36,4.45,4.33,4.50,4.33,4.31,4.45,4.36,
-4.46,4.54,4.43,4.46,4.54,4.51,4.58,4.66,4.55,4.50,
-4.58,4.42,4.55,4.63,4.50,4.19,4.75,4.66,4.61,4.59,
-4.70,4.79,4.64,4.73,4.78,4.71,4.72,4.83,4.60,4.75,
-4.66,4.51,4.68,4.99,4.63,4.68,4.86,4.93,4.96,4.71,
-4.72,4.82,4.72,4.90,4.71,4.82,4.96,4.94,4.88,4.83,
-4.49,4.92,5.05,5.05,4.90,4.97,4.96,4.99,5.10,4.98,
-4.96,4.82,4.90,5.26,5.18,4.92,5.20,4.91,4.98,5.10,
-0.90,0.97,1.01,1.06,1.10,1.09,1.11,1.15,1.24,1.26,
-1.26,1.28,1.33,1.30,1.37,1.42,1.46,1.54,1.52,1.52,
-1.58,1.56,1.62,1.60,1.62,1.58,1.72,1.70,1.80,1.79,
-1.78,1.78,1.76,1.86,1.83,1.82,1.87,1.97,1.91,1.91,
-1.98,2.00,2.04,2.12,1.99,2.12,2.01,2.10,2.13,2.09,
-2.25,2.18,2.12,2.23,2.26,2.32,2.21,2.32,2.31,2.15,
-2.35,2.40,2.43,2.44,2.37,2.36,2.53,2.39,2.53,2.48,
-2.45,2.51,2.47,2.55,2.62,2.46,2.53,2.74,2.64,2.62,
-2.59,2.63,2.75,2.76,2.74,2.70,2.68,2.85,2.73,2.85,
-2.83,2.88,2.78,2.83,2.97,2.89,2.77,2.96,2.92,2.94,
-2.89,2.92,2.90,2.90,2.95,2.99,3.05,2.98,3.19,2.85,
-3.16,3.11,3.08,3.12,3.14,3.16,3.10,3.29,3.11,3.17,
-3.22,3.38,3.18,3.32,3.32,3.25,3.18,3.28,3.25,3.32,
-3.44,3.42,3.29,3.31,3.31,3.48,3.17,3.48,3.41,3.58,
-3.44,3.42,3.41,3.58,3.51,3.44,3.45,3.49,3.56,3.38,
-3.64,3.45,3.53,3.47,3.62,3.51,3.70,3.67,3.61,3.65,
-3.68,3.60,3.62,3.68,3.80,3.71,3.72,3.64,3.72,3.75,
-3.67,3.64,3.79,3.61,3.83,3.83,3.78,3.92,3.78,3.94,
-3.91,3.80,3.77,3.85,3.77,3.92,4.04,3.87,4.03,4.05,
-3.94,3.89,3.94,3.94,3.94,3.97,3.95,3.91,4.05,4.10,
-4.11,4.04,3.90,4.05,4.11,4.08,3.93,4.11,4.07,4.12,
-4.14,4.33,4.16,4.16,4.11,4.24,4.23,4.33,4.14,4.12,
-4.27,4.24,4.15,4.26,4.38,4.37,4.15,4.20,4.30,4.35,
-4.22,4.32,4.35,4.28,4.33,4.27,4.70,4.41,4.42,4.36,
-4.41,4.28,4.50,4.39,4.48,4.46,4.29,4.37,4.55,4.37,
-4.50,4.27,4.35,4.50,4.62,4.49,4.77,4.59,4.48,4.73,
-4.59,4.67,4.57,4.60,4.79,4.71,4.67,4.82,4.74,4.54,
-4.60,4.52,4.71,4.53,4.57,4.86,4.77,4.66,4.75,4.79,
-4.70,4.55,4.73,4.77,4.69,4.81,4.83,4.83,5.04,4.92,
-0.87,0.91,0.96,1.06,1.05,1.14,1.10,1.16,1.16,1.19,
-1.25,1.24,1.29,1.28,1.32,1.38,1.34,1.40,1.46,1.45,
-1.41,1.51,1.51,1.56,1.58,1.54,1.63,1.62,1.66,1.71,
-1.73,1.70,1.77,1.84,1.79,1.80,1.78,1.82,1.89,1.90,
-1.88,1.90,2.00,1.96,1.97,2.03,1.96,2.08,2.07,2.03,
-2.10,2.12,2.11,2.13,2.18,2.17,2.16,2.21,2.15,2.30,
-2.31,2.28,2.28,2.30,2.42,2.42,2.40,2.37,2.29,2.43,
-2.49,2.46,2.35,2.45,2.48,2.49,2.45,2.51,2.44,2.53,
-2.57,2.52,2.60,2.56,2.54,2.47,2.59,2.69,2.61,2.62,
-2.68,2.60,2.87,2.76,2.77,2.69,2.86,2.73,2.82,2.85,
-2.87,2.79,2.88,2.96,2.80,2.71,2.97,2.90,3.03,2.83,
-2.93,3.03,2.98,2.97,2.96,3.05,3.18,2.91,2.96,3.04,
-3.09,3.07,3.01,3.13,3.12,3.21,3.18,3.13,3.16,3.12,
-3.20,3.19,3.04,3.21,3.42,3.29,3.21,3.18,3.30,3.28,
-3.28,3.25,3.31,3.42,3.44,3.34,3.47,3.41,3.42,3.42,
-3.33,3.36,3.41,3.42,3.54,3.42,3.50,3.38,3.57,3.48,
-3.52,3.57,3.51,3.50,3.63,3.59,3.42,3.56,3.59,3.64,
-3.75,3.55,3.69,3.69,3.73,3.63,3.73,3.67,3.60,3.68,
-3.66,3.76,3.64,3.81,3.61,3.68,3.76,3.88,3.73,3.69,
-3.90,3.90,3.81,3.80,3.83,3.78,3.85,3.84,3.99,3.87,
-3.87,3.91,3.86,3.99,3.87,3.98,3.82,4.06,3.82,3.97,
-3.83,4.05,3.96,3.95,3.96,4.04,4.02,4.02,3.98,4.24,
-4.16,4.05,3.77,4.00,4.09,4.22,4.18,3.99,4.05,4.10,
-4.11,4.01,4.05,4.28,4.21,4.26,4.20,4.21,4.26,4.23,
-4.10,4.30,4.23,4.20,4.33,4.36,4.35,4.33,4.37,4.29,
-4.11,4.27,4.35,4.39,4.35,4.56,4.34,4.49,4.54,4.36,
-4.39,4.38,4.50,4.30,4.30,4.34,4.43,4.57,4.59,4.21,
-4.35,4.36,4.49,4.56,4.43,4.44,4.78,4.50,4.59,4.51,
-4.65,4.53,4.40,4.45,4.72,4.81,4.74,4.49,4.59,4.66,
-0.85,0.91,0.94,1.00,1.02,1.07,1.05,1.09,1.19,1.18,
-1.22,1.23,1.23,1.29,1.31,1.32,1.33,1.32,1.46,1.44,
-1.46,1.47,1.47,1.54,1.53,1.53,1.54,1.61,1.61,1.62,
-1.61,1.71,1.73,1.71,1.76,1.76,1.81,1.81,1.82,1.81,
-1.87,1.89,1.91,1.92,1.97,1.95,1.97,2.03,1.97,2.04,
-2.04,2.05,2.08,2.04,2.15,2.09,2.14,2.08,2.11,2.16,
-2.22,2.23,2.21,2.28,2.20,2.22,2.26,2.28,2.24,2.33,
-2.36,2.32,2.33,2.31,2.40,2.47,2.52,2.44,2.41,2.46,
-2.53,2.48,2.55,2.41,2.58,2.55,2.56,2.48,2.49,2.55,
-2.63,2.56,2.54,2.57,2.68,2.61,2.62,2.68,2.68,2.70,
-2.82,2.75,2.67,2.82,2.90,2.84,2.85,2.68,2.84,2.82,
-2.84,2.87,3.00,2.86,2.96,2.96,2.96,2.97,2.92,2.92,
-2.92,2.95,3.08,3.01,2.97,3.11,3.01,3.02,3.01,3.11,
-3.03,3.02,3.06,3.22,3.08,3.09,3.21,3.15,3.17,3.28,
-3.22,3.13,3.19,3.19,3.24,3.13,3.18,3.25,3.33,3.31,
-3.37,3.28,3.15,3.32,3.22,3.29,3.38,3.55,3.33,3.37,
-3.46,3.33,3.52,3.37,3.28,3.43,3.46,3.41,3.52,3.38,
-3.55,3.55,3.52,3.48,3.32,3.60,3.35,3.47,3.57,3.52,
-3.54,3.61,3.62,3.64,3.64,3.67,3.80,3.64,3.71,3.61,
-3.52,3.76,3.57,3.70,3.56,3.78,3.84,3.82,3.61,3.66,
-3.69,3.80,3.80,3.90,3.91,3.98,3.79,3.83,3.84,3.81,
-3.85,3.80,3.86,3.94,4.00,4.00,3.88,3.93,3.90,3.98,
-4.08,3.98,3.84,3.83,3.87,3.88,3.92,3.90,3.99,3.85,
-3.99,4.09,4.10,4.07,3.87,4.03,4.07,3.91,4.02,4.14,
-4.03,4.22,4.09,4.05,4.18,3.97,4.07,4.40,4.09,4.15,
-4.10,4.14,4.19,4.06,4.16,4.16,4.24,4.20,4.33,4.22,
-4.11,4.48,4.31,4.21,4.15,4.45,4.10,4.29,4.32,4.26,
-4.17,4.48,4.34,4.26,4.48,4.44,4.40,4.25,4.58,4.43,
-4.34,4.25,4.33,4.45,4.48,4.48,4.58,4.42,4.46,4.51,
-0.87,0.90,0.96,0.96,0.98,1.04,1.08,1.12,1.15,1.12,
-1.18,1.19,1.20,1.22,1.26,1.29,1.32,1.34,1.35,1.43,
-1.45,1.43,1.49,1.51,1.46,1.53,1.58,1.59,1.63,1.57,
-1.64,1.70,1.66,1.67,1.69,1.67,1.67,1.77,1.69,1.75,
-1.81,1.88,1.85,1.87,1.82,1.92,1.83,1.85,1.95,1.96,
-1.98,1.98,2.07,2.07,2.03,2.05,2.15,2.06,2.10,2.13,
-2.12,2.16,2.18,2.15,2.08,2.11,2.23,2.29,2.32,2.23,
-2.30,2.27,2.34,2.29,2.36,2.39,2.35,2.39,2.40,2.39,
-2.41,2.52,2.38,2.37,2.41,2.52,2.52,2.40,2.46,2.62,
-2.55,2.58,2.63,2.50,2.56,2.59,2.59,2.69,2.64,2.60,
-2.63,2.60,2.61,2.76,2.63,2.77,2.66,2.81,2.79,2.77,
-2.82,2.71,2.83,2.82,2.70,2.75,2.91,2.95,2.78,2.84,
-2.79,2.87,2.90,3.05,2.96,2.94,2.93,2.93,2.96,2.88,
-2.99,3.01,3.09,3.02,3.03,3.01,2.98,3.04,3.05,3.19,
-3.05,2.96,3.08,3.10,3.12,3.33,3.23,3.12,3.24,3.29,
-3.08,3.17,3.27,3.32,3.23,3.24,3.27,3.32,3.23,3.28,
-3.34,3.36,3.49,3.28,3.43,3.41,3.29,3.39,3.38,3.38,
-3.39,3.28,3.34,3.47,3.61,3.41,3.42,3.55,3.30,3.52,
-3.60,3.48,3.46,3.60,3.56,3.53,3.64,3.61,3.41,3.45,
-3.56,3.38,3.66,3.51,3.58,3.53,3.69,3.58,3.71,3.68,
-3.70,3.58,3.51,3.54,3.74,3.62,3.66,3.84,3.91,3.83,
-3.84,3.66,3.76,3.78,3.72,3.70,3.76,3.87,3.83,3.83,
-3.86,3.85,3.78,3.73,3.83,4.05,3.89,3.87,3.82,3.79,
-4.04,3.87,3.87,3.96,3.94,4.12,4.00,4.09,3.99,3.88,
-4.04,3.94,4.13,4.16,4.02,4.20,3.93,4.04,4.05,4.15,
-3.95,4.11,4.11,4.14,4.28,4.14,4.06,4.19,4.11,4.06,
-4.13,4.03,4.07,3.91,3.99,4.13,4.31,4.24,3.94,4.20,
-4.23,4.28,4.21,4.16,4.26,4.33,4.19,4.36,4.33,4.21,
-4.22,4.33,4.32,4.18,4.33,4.45,4.26,4.27,4.17,4.34,
-0.88,0.87,0.92,0.93,1.01,0.98,1.04,1.14,1.12,1.16,
-1.14,1.20,1.24,1.17,1.22,1.31,1.32,1.35,1.36,1.43,
-1.41,1.41,1.44,1.50,1.53,1.51,1.49,1.54,1.55,1.59,
-1.57,1.59,1.64,1.64,1.59,1.67,1.73,1.65,1.71,1.78,
-1.68,1.77,1.76,1.86,1.82,1.87,1.86,1.90,1.88,1.93,
-1.96,1.90,1.95,1.97,2.05,1.98,2.11,2.09,2.03,2.07,
-2.05,2.15,2.09,2.12,2.13,2.17,2.13,2.17,2.24,2.22,
-2.28,2.27,2.22,2.38,2.17,2.27,2.28,2.31,2.38,2.34,
-2.41,2.44,2.35,2.42,2.37,2.33,2.34,2.42,2.44,2.49,
-2.49,2.51,2.51,2.53,2.53,2.60,2.69,2.59,2.57,2.56,
-2.62,2.58,2.60,2.61,2.66,2.69,2.64,2.69,2.70,2.65,
-2.78,2.76,2.74,2.74,2.76,2.73,2.76,2.66,2.82,2.93,
-2.75,2.79,2.86,2.86,2.78,2.83,2.91,2.88,2.84,2.87,
-3.00,2.91,3.01,2.94,2.85,3.01,3.00,3.04,3.11,2.94,
-2.92,3.06,3.08,3.14,2.99,3.11,3.00,2.98,3.10,3.13,
-3.06,3.05,3.16,3.10,3.03,3.14,3.14,3.15,3.26,3.15,
-3.19,3.33,3.27,3.38,3.26,3.34,3.27,3.36,3.32,3.27,
-3.23,3.29,3.29,3.46,3.39,3.33,3.29,3.28,3.30,3.38,
-3.40,3.38,3.47,3.33,3.41,3.50,3.50,3.45,3.49,3.49,
-3.45,3.38,3.49,3.66,3.61,3.62,3.51,3.48,3.58,3.57,
-3.53,3.51,3.53,3.57,3.78,3.63,3.72,3.65,3.63,3.64,
-3.64,3.60,3.69,3.84,3.65,3.75,3.72,3.83,3.80,3.70,
-3.71,3.63,3.71,3.67,3.75,3.71,3.75,3.85,3.70,3.77,
-3.91,3.80,3.87,3.91,3.78,3.81,3.82,3.78,3.89,3.84,
-3.85,3.95,4.00,4.03,3.92,4.01,4.07,3.94,4.17,3.93,
-4.12,4.00,3.99,3.95,3.93,3.83,3.86,3.99,3.97,4.08,
-4.07,3.92,4.13,4.12,4.05,3.97,4.21,4.14,4.08,4.02,
-4.22,4.16,4.11,4.44,4.25,4.10,4.15,4.20,4.21,4.14,
-4.30,4.32,4.14,4.07,4.23,4.10,4.09,4.25,4.27,4.25,
-0.87,0.85,0.92,0.94,0.96,0.98,1.03,1.07,1.08,1.14,
-1.18,1.20,1.13,1.20,1.21,1.23,1.29,1.33,1.32,1.34,
-1.35,1.41,1.40,1.47,1.39,1.47,1.54,1.53,1.55,1.56,
-1.53,1.57,1.56,1.70,1.64,1.65,1.75,1.69,1.70,1.65,
-1.71,1.77,1.82,1.70,1.81,1.80,1.84,1.86,1.95,1.94,
-1.89,1.89,1.90,1.92,1.97,2.04,2.03,1.99,2.02,2.05,
-2.11,2.02,1.97,2.08,2.16,2.18,2.21,2.20,2.11,2.25,
-2.24,2.14,2.28,2.18,2.26,2.27,2.23,2.34,2.27,2.36,
-2.33,2.30,2.34,2.33,2.47,2.33,2.40,2.44,2.46,2.47,
-2.44,2.48,2.51,2.46,2.53,2.49,2.58,2.49,2.55,2.51,
-2.63,2.58,2.67,2.64,2.58,2.54,2.65,2.67,2.61,2.67,
-2.66,2.59,2.60,2.77,2.87,2.71,2.71,2.74,2.69,2.84,
-2.76,2.74,2.85,2.85,2.91,2.86,2.86,2.84,2.83,2.77,
-2.84,2.88,2.92,2.92,2.88,2.89,3.00,2.91,3.03,2.97,
-3.01,2.92,3.05,3.07,2.93,3.04,3.02,3.07,3.04,3.15,
-2.95,3.08,3.13,3.20,3.07,3.19,3.12,3.18,3.18,3.17,
-3.20,3.18,3.09,3.27,3.34,3.10,3.18,3.20,3.24,3.26,
-3.26,3.29,3.29,3.36,3.29,3.32,3.21,3.23,3.23,3.34,
-3.39,3.33,3.50,3.41,3.39,3.48,3.31,3.42,3.41,3.43,
-3.52,3.54,3.44,3.32,3.43,3.47,3.54,3.42,3.48,3.43,
-3.57,3.51,3.73,3.58,3.59,3.50,3.63,3.61,3.64,3.77,
-3.49,3.54,3.66,3.69,3.56,3.67,3.70,3.61,3.56,3.59,
-3.69,3.51,3.79,3.61,3.59,3.68,3.66,3.76,3.84,3.70,
-3.68,3.84,3.80,3.61,3.71,3.69,3.79,3.82,3.96,3.77,
-3.90,3.96,3.77,3.81,3.92,3.91,3.88,3.93,3.88,3.79,
-3.88,3.95,3.97,3.86,3.97,3.92,3.92,3.95,3.81,3.90,
-3.95,4.00,3.76,4.14,4.11,3.95,3.94,4.12,4.08,4.08,
-4.18,4.03,3.93,4.11,4.14,3.96,4.11,4.17,4.15,4.02,
-4.06,3.93,4.14,4.21,4.12,4.28,4.23,4.22,4.20,4.35,
-0.88,0.87,0.89,0.96,0.96,1.00,1.05,1.04,1.06,1.11,
-1.13,1.12,1.18,1.21,1.21,1.25,1.37,1.25,1.31,1.36,
-1.37,1.35,1.41,1.41,1.35,1.41,1.50,1.45,1.49,1.53,
-1.53,1.54,1.59,1.61,1.63,1.66,1.62,1.71,1.69,1.70,
-1.69,1.77,1.78,1.77,1.73,1.79,1.74,1.77,1.79,1.91,
-1.95,1.90,1.93,1.98,1.90,1.93,2.00,2.00,2.00,2.04,
-2.04,1.99,2.08,2.07,2.02,2.09,2.11,2.07,2.13,2.18,
-2.20,2.09,2.12,2.21,2.16,2.23,2.22,2.31,2.23,2.28,
-2.32,2.27,2.25,2.34,2.27,2.35,2.29,2.42,2.33,2.33,
-2.44,2.41,2.44,2.45,2.49,2.53,2.58,2.49,2.50,2.47,
-2.48,2.48,2.55,2.56,2.58,2.55,2.63,2.65,2.62,2.54,
-2.67,2.65,2.63,2.67,2.66,2.75,2.63,2.76,2.72,2.80,
-2.84,2.66,2.78,2.73,2.92,2.78,2.89,2.80,2.76,2.75,
-2.78,2.85,2.91,2.74,2.85,2.97,2.90,2.91,2.78,3.03,
-2.70,2.99,2.97,2.97,2.95,3.03,2.92,2.94,2.96,2.92,
-3.16,3.18,3.04,2.98,3.06,3.14,3.04,3.03,3.15,2.98,
-3.13,3.13,3.07,3.19,3.22,3.18,3.25,3.11,3.29,3.06,
-3.29,3.21,3.24,3.24,3.21,3.25,3.25,3.23,3.16,3.19,
-3.33,3.24,3.34,3.37,3.33,3.33,3.26,3.53,3.39,3.22,
-3.46,3.42,3.38,3.45,3.38,3.51,3.57,3.59,3.28,3.47,
-3.40,3.45,3.45,3.59,3.52,3.60,3.46,3.49,3.52,3.58,
-3.58,3.56,3.58,3.62,3.63,3.61,3.53,3.64,3.52,3.61,
-3.70,3.72,3.61,3.65,3.59,3.67,3.80,3.71,3.73,3.63,
-3.73,3.87,3.61,3.75,3.73,3.81,3.79,3.70,3.74,3.74,
-3.74,3.81,3.88,3.72,3.83,3.78,3.72,3.89,3.77,4.01,
-3.83,3.84,4.01,3.86,3.90,3.85,3.84,4.01,3.98,3.88,
-3.99,3.96,3.77,4.05,3.85,4.01,3.93,3.92,4.03,3.84,
-3.97,4.03,4.13,4.01,3.97,3.99,3.96,3.97,4.00,4.15,
-4.19,4.07,4.15,4.07,4.09,4.02,3.90,4.05,4.13,4.03,
-0.82,0.86,0.87,0.92,0.94,0.96,1.01,1.05,1.11,1.05,
-1.11,1.12,1.17,1.20,1.21,1.26,1.21,1.30,1.35,1.34,
-1.32,1.36,1.39,1.45,1.44,1.43,1.45,1.48,1.45,1.58,
-1.56,1.56,1.62,1.62,1.60,1.58,1.68,1.64,1.63,1.71,
-1.72,1.68,1.73,1.72,1.68,1.70,1.84,1.82,1.83,1.86,
-1.81,1.84,1.79,1.84,1.92,1.93,1.97,1.93,1.94,1.95,
-2.09,1.97,2.01,2.05,2.06,2.04,2.15,2.07,2.08,2.12,
-2.15,2.09,2.10,2.16,2.21,2.19,2.22,2.14,2.17,2.21,
-2.27,2.28,2.32,2.39,2.26,2.33,2.33,2.42,2.37,2.38,
-2.35,2.42,2.37,2.40,2.45,2.42,2.43,2.53,2.37,2.47,
-2.51,2.48,2.60,2.47,2.53,2.61,2.54,2.55,2.46,2.58,
-2.59,2.66,2.70,2.61,2.63,2.54,2.62,2.69,2.69,2.70,
-2.77,2.69,2.63,2.73,2.72,2.89,2.76,2.90,2.74,2.72,
-2.82,2.77,2.80,2.82,2.97,2.80,2.88,2.98,2.98,2.89,
-2.92,2.90,2.95,2.98,2.91,2.91,2.92,2.86,2.92,3.02,
-3.07,2.99,3.03,3.09,3.03,3.10,3.13,2.94,3.09,3.07,
-3.02,3.22,3.02,3.27,3.10,3.21,3.08,3.13,3.18,3.09,
-3.23,3.25,3.25,3.16,3.24,3.10,3.27,3.23,3.22,3.13,
-3.22,3.28,3.27,3.15,3.24,3.19,3.25,3.29,3.25,3.48,
-3.32,3.41,3.36,3.48,3.27,3.38,3.36,3.38,3.60,3.47,
-3.34,3.41,3.47,3.47,3.37,3.44,3.33,3.55,3.38,3.42,
-3.42,3.40,3.41,3.52,3.53,3.55,3.61,3.42,3.53,3.53,
-3.60,3.58,3.49,3.68,3.56,3.56,3.65,3.64,3.61,3.56,
-3.68,3.57,3.65,3.65,3.67,3.67,3.86,3.63,3.72,3.66,
-3.65,3.62,3.81,3.72,3.81,3.84,3.81,3.87,3.87,3.86,
-3.82,3.76,3.88,3.78,3.80,3.87,3.88,3.84,3.78,4.06,
-4.04,3.89,3.80,3.89,3.94,3.81,3.98,4.01,3.83,3.79,
-3.91,3.89,3.90,3.92,3.84,4.08,3.84,3.96,4.13,3.99,
-4.18,4.10,3.89,4.15,3.87,3.87,4.16,4.01,4.00,4.15,
-0.83,0.86,0.88,0.89,0.92,0.95,1.03,1.02,1.04,1.08,
-1.12,1.10,1.16,1.21,1.24,1.20,1.25,1.22,1.32,1.28,
-1.29,1.35,1.44,1.43,1.37,1.47,1.39,1.48,1.47,1.57,
-1.56,1.52,1.59,1.52,1.65,1.57,1.54,1.61,1.68,1.63,
-1.65,1.66,1.72,1.73,1.72,1.75,1.73,1.77,1.79,1.73,
-1.83,1.83,1.84,1.91,1.99,1.87,1.80,1.92,1.98,2.02,
-1.95,1.98,2.00,1.99,2.05,2.03,2.07,2.05,2.04,2.14,
-2.07,2.16,2.12,2.12,2.06,2.21,2.16,2.23,2.19,2.19,
-2.21,2.21,2.27,2.30,2.22,2.26,2.21,2.32,2.24,2.32,
-2.31,2.30,2.29,2.37,2.41,2.47,2.38,2.47,2.47,2.46,
-2.38,2.49,2.50,2.49,2.44,2.68,2.48,2.52,2.56,2.50,
-2.69,2.57,2.51,2.63,2.63,2.48,2.76,2.65,2.67,2.77,
-2.67,2.77,2.61,2.69,2.74,2.71,2.68,2.62,2.64,2.73,
-2.86,2.69,2.82,2.81,2.90,2.80,2.78,2.73,2.80,2.77,
-2.85,2.80,2.96,2.93,2.85,2.99,3.01,2.96,2.92,2.87,
-2.95,2.85,2.96,2.98,2.90,3.05,2.95,3.01,3.12,3.08,
-3.04,3.11,3.06,3.15,3.15,3.06,3.03,3.01,3.04,3.08,
-3.18,3.02,3.16,3.12,3.17,3.10,3.14,3.27,3.25,3.14,
-3.20,3.11,3.15,3.15,3.26,3.39,3.15,3.25,3.10,3.26,
-3.27,3.38,3.30,3.26,3.44,3.25,3.47,3.30,3.30,3.37,
-3.25,3.45,3.35,3.42,3.45,3.47,3.41,3.39,3.58,3.41,
-3.42,3.32,3.47,3.60,3.39,3.45,3.46,3.49,3.50,3.60,
-3.63,3.64,3.59,3.52,3.55,3.65,3.62,3.51,3.66,3.44,
-3.58,3.63,3.60,3.71,3.72,3.61,3.53,3.74,3.69,3.71,
-3.71,3.78,3.74,3.63,3.81,3.72,3.69,3.66,3.83,3.94,
-3.76,3.86,3.78,3.72,3.87,3.89,3.82,3.90,3.91,3.83,
-3.63,3.79,3.98,4.01,3.84,3.94,3.93,3.85,3.85,4.00,
-3.73,3.84,3.98,4.04,3.88,3.95,3.96,3.85,3.77,3.88,
-3.90,3.86,3.91,4.09,3.92,4.08,4.04,4.14,4.21,3.97,
-0.81,0.84,0.91,0.91,0.91,0.98,0.98,0.99,1.02,1.03,
-1.06,1.09,1.15,1.09,1.16,1.22,1.24,1.25,1.26,1.32,
-1.33,1.35,1.32,1.31,1.40,1.42,1.45,1.42,1.41,1.48,
-1.55,1.49,1.51,1.53,1.62,1.57,1.58,1.60,1.60,1.67,
-1.67,1.72,1.68,1.71,1.79,1.71,1.77,1.80,1.75,1.84,
-1.79,1.85,1.83,1.87,1.85,1.83,1.88,1.92,1.97,1.90,
-1.85,1.97,2.01,1.97,2.04,2.05,1.99,1.97,2.05,2.03,
-2.04,2.09,2.19,2.21,2.11,2.17,2.03,2.15,2.16,2.20,
-2.18,2.17,2.24,2.14,2.33,2.22,2.33,2.25,2.30,2.15,
-2.26,2.38,2.36,2.36,2.39,2.41,2.34,2.33,2.44,2.48,
-2.41,2.41,2.51,2.51,2.44,2.50,2.48,2.41,2.48,2.56,
-2.52,2.60,2.46,2.48,2.61,2.59,2.50,2.67,2.67,2.60,
-2.65,2.68,2.59,2.65,2.57,2.74,2.73,2.66,2.69,2.62,
-2.66,2.71,2.67,2.79,2.73,2.74,2.69,2.71,2.85,2.73,
-2.93,2.74,2.89,2.94,2.85,2.97,2.81,2.90,2.88,2.86,
-2.94,3.15,2.89,2.94,2.91,2.96,2.95,3.04,2.92,3.08,
-3.11,2.91,2.96,3.12,2.94,2.98,3.17,3.10,3.10,3.04,
-3.16,3.23,3.20,3.11,3.08,3.16,3.12,3.07,3.20,3.20,
-3.19,3.22,3.27,3.20,3.36,3.39,3.10,3.43,3.34,3.21,
-3.24,3.21,3.07,3.37,3.28,3.34,3.31,3.28,3.34,3.42,
-3.29,3.21,3.34,3.47,3.34,3.36,3.37,3.28,3.40,3.29,
-3.27,3.41,3.44,3.55,3.39,3.41,3.52,3.38,3.47,3.57,
-3.48,3.48,3.54,3.61,3.70,3.38,3.50,3.36,3.53,3.66,
-3.67,3.53,3.68,3.59,3.65,3.60,3.59,3.57,3.64,3.64,
-3.67,3.56,3.48,3.72,3.60,3.62,3.61,3.61,3.65,3.79,
-3.79,3.66,3.67,3.71,3.65,3.80,3.80,3.77,3.71,3.69,
-3.60,3.76,3.89,3.65,3.74,3.83,3.67,3.91,3.89,3.89,
-3.62,3.83,3.87,3.88,3.80,3.94,4.05,3.87,4.06,3.92,
-3.94,3.92,3.85,3.85,3.89,3.95,3.86,3.87,3.99,3.83,
-0.81,0.85,0.89,0.86,0.90,0.95,0.96,0.97,1.07,1.06,
-1.11,1.13,1.11,1.19,1.18,1.17,1.16,1.20,1.23,1.28,
-1.27,1.29,1.31,1.34,1.39,1.39,1.43,1.38,1.41,1.45,
-1.53,1.55,1.51,1.54,1.50,1.62,1.51,1.56,1.64,1.58,
-1.62,1.56,1.70,1.67,1.70,1.78,1.74,1.72,1.70,1.75,
-1.85,1.81,1.86,1.80,1.83,1.86,1.89,1.91,1.86,1.89,
-2.00,1.99,2.00,2.06,2.01,2.09,2.06,1.99,2.02,2.02,
-2.06,2.06,2.15,2.10,2.20,2.15,2.05,2.17,2.15,2.21,
-2.14,2.20,2.17,2.27,2.26,2.11,2.17,2.29,2.20,2.27,
-2.32,2.29,2.29,2.29,2.36,2.39,2.34,2.35,2.37,2.35,
-2.46,2.44,2.58,2.49,2.41,2.40,2.50,2.56,2.43,2.57,
-2.47,2.55,2.57,2.53,2.50,2.47,2.52,2.58,2.59,2.61,
-2.60,2.66,2.75,2.69,2.60,2.60,2.64,2.71,2.86,2.74,
-2.60,2.64,2.73,2.84,2.68,2.79,2.73,2.80,2.80,2.86,
-2.93,2.74,2.87,2.90,2.91,2.73,2.81,2.91,2.96,2.84,
-2.87,2.92,2.84,2.78,2.85,2.81,2.96,2.88,2.93,3.06,
-2.97,2.94,2.97,3.01,3.09,3.01,2.99,3.00,3.01,3.19,
-3.07,2.93,2.96,3.01,3.16,3.10,3.06,3.16,3.19,3.06,
-3.12,3.02,3.07,3.11,3.11,3.16,3.22,3.17,3.18,3.20,
-3.17,3.30,3.18,3.19,3.32,3.15,3.31,3.38,3.30,3.20,
-3.17,3.25,3.31,3.20,3.26,3.39,3.40,3.34,3.37,3.44,
-3.44,3.33,3.54,3.34,3.39,3.33,3.36,3.42,3.42,3.53,
-3.40,3.53,3.34,3.40,3.40,3.53,3.48,3.52,3.48,3.46,
-3.61,3.58,3.48,3.60,3.60,3.65,3.46,3.49,3.58,3.60,
-3.50,3.60,3.77,3.52,3.70,3.60,3.67,3.47,3.67,3.72,
-3.55,3.56,3.65,3.76,3.72,3.77,3.61,3.76,3.83,3.76,
-3.83,3.87,3.70,3.56,3.80,3.78,3.83,3.80,3.77,3.69,
-3.75,3.67,3.90,3.77,3.74,3.86,3.90,3.78,3.98,3.88,
-4.00,3.94,3.81,3.89,3.94,3.82,4.02,4.01,3.85,3.90,
-0.82,0.84,0.87,0.89,0.91,0.92,0.98,1.02,1.04,1.01,
-1.06,1.09,1.09,1.10,1.14,1.18,1.16,1.17,1.24,1.27,
-1.27,1.30,1.29,1.29,1.38,1.34,1.37,1.41,1.42,1.46,
-1.49,1.50,1.47,1.47,1.53,1.55,1.55,1.55,1.64,1.62,
-1.60,1.62,1.71,1.67,1.73,1.68,1.72,1.66,1.75,1.78,
-1.72,1.78,1.82,1.79,1.87,1.75,1.88,1.89,1.91,1.92,
-1.88,1.94,1.97,1.90,1.97,2.01,2.02,2.02,2.01,2.00,
-2.06,2.05,2.04,2.00,2.04,2.07,2.18,2.12,2.10,2.07,
-2.09,2.06,2.15,2.13,2.18,2.17,2.31,2.21,2.23,2.29,
-2.18,2.34,2.34,2.36,2.33,2.34,2.33,2.29,2.46,2.33,
-2.34,2.48,2.39,2.46,2.40,2.29,2.44,2.50,2.54,2.51,
-2.54,2.47,2.55,2.49,2.62,2.49,2.45,2.58,2.53,2.53,
-2.58,2.59,2.60,2.62,2.55,2.66,2.66,2.66,2.61,2.55,
-2.75,2.72,2.69,2.63,2.84,2.68,2.59,2.69,2.71,2.77,
-2.86,2.76,2.77,2.74,2.76,2.81,2.92,2.84,2.78,2.78,
-2.90,2.84,2.84,2.82,3.00,2.85,2.92,2.80,2.93,2.91,
-2.92,2.93,3.00,2.89,2.99,2.93,2.91,2.98,3.03,3.00,
-3.00,3.13,3.05,3.09,2.97,3.12,3.06,2.99,3.11,2.92,
-3.17,3.09,2.98,3.11,3.27,3.09,3.03,3.10,3.09,3.26,
-3.12,3.18,3.13,3.12,3.24,3.23,3.23,3.28,3.27,3.28,
-3.09,3.39,3.12,3.22,3.32,3.41,3.45,3.43,3.35,3.25,
-3.26,3.33,3.33,3.37,3.42,3.31,3.46,3.43,3.36,3.31,
-3.54,3.32,3.44,3.35,3.61,3.49,3.65,3.30,3.38,3.33,
-3.50,3.52,3.47,3.49,3.49,3.50,3.53,3.52,3.55,3.66,
-3.64,3.52,3.72,3.69,3.61,3.63,3.60,3.67,3.66,3.71,
-3.65,3.58,3.55,3.78,3.64,3.62,3.80,3.81,3.75,3.75,
-3.58,3.73,3.70,3.53,3.74,3.72,3.55,3.71,3.85,3.82,
-3.80,3.74,3.88,3.87,3.90,3.87,3.70,3.88,3.83,3.79,
-3.79,3.72,3.95,3.82,3.98,3.83,3.97,3.85,3.87,3.87,
-1.08,1.15,1.13,1.25,1.28,1.34,1.39,1.37,1.42,1.47,
-1.50,1.57,1.59,1.62,1.58,1.73,1.64,1.78,1.76,1.87,
-1.85,1.93,1.93,2.00,1.99,2.10,2.02,2.07,2.12,2.18,
-2.19,2.26,2.18,2.19,2.24,2.23,2.34,2.34,2.36,2.36,
-2.45,2.42,2.47,2.53,2.53,2.50,2.62,2.60,2.67,2.64,
-2.71,2.72,2.57,2.64,2.75,2.84,2.71,2.87,2.82,2.74,
-2.83,2.84,2.89,2.91,2.99,2.95,2.95,2.96,3.06,3.12,
-3.00,3.08,3.11,3.07,3.00,3.11,3.22,3.20,3.29,3.22,
-3.40,3.36,3.35,3.28,3.28,3.27,3.21,3.30,3.38,3.48,
-3.40,3.47,3.51,3.39,3.52,3.51,3.47,3.57,3.65,3.53,
-3.63,3.59,3.67,3.71,3.55,3.64,3.73,3.79,3.82,3.66,
-3.78,3.72,3.74,3.71,3.88,3.79,3.81,3.80,3.82,3.98,
-4.02,3.83,4.00,4.23,3.99,4.07,3.93,4.05,4.05,4.10,
-4.06,3.99,4.01,4.06,3.87,4.17,4.13,4.02,4.30,4.06,
-4.11,4.25,4.13,4.30,4.26,4.13,4.31,4.24,4.35,4.19,
-4.50,4.32,4.28,4.46,4.37,4.32,4.39,4.37,4.32,4.47,
-4.28,4.33,4.60,4.51,4.43,4.61,4.70,4.46,4.66,4.52,
-4.65,4.61,4.74,4.48,4.52,4.68,4.61,4.61,4.74,4.79,
-4.76,4.54,4.67,4.53,4.86,4.81,4.93,4.68,4.80,4.93,
-4.91,4.90,4.83,5.09,4.87,4.94,5.06,4.65,5.08,4.86,
-4.97,4.86,5.08,4.97,5.10,4.98,5.15,5.01,5.16,4.92,
-5.01,5.08,4.96,5.33,5.08,5.07,5.06,5.19,5.12,5.13,
-5.31,5.16,5.25,5.10,5.16,5.36,5.19,5.23,5.33,5.16,
-5.28,5.28,5.31,5.40,5.60,5.49,5.39,5.39,5.35,5.40,
-5.67,5.44,5.71,5.62,5.24,5.51,5.40,5.49,5.55,5.48,
-5.54,5.59,5.70,5.63,5.45,5.78,5.57,5.38,5.48,5.36,
-5.53,5.47,5.63,5.60,5.82,5.78,5.82,5.58,5.74,5.80,
-5.49,5.71,5.86,5.72,5.75,5.66,5.73,5.80,5.90,5.74,
-5.94,5.71,5.89,6.01,5.72,5.81,6.06,5.93,5.96,5.82,
-1.01,1.10,1.11,1.16,1.19,1.23,1.32,1.28,1.34,1.39,
-1.42,1.46,1.52,1.55,1.52,1.61,1.64,1.70,1.66,1.72,
-1.77,1.77,1.88,1.80,1.87,1.90,1.98,1.96,1.91,1.95,
-1.95,2.08,2.09,2.20,2.07,2.13,2.18,2.21,2.24,2.18,
-2.15,2.28,2.24,2.40,2.39,2.36,2.30,2.39,2.41,2.44,
-2.49,2.45,2.51,2.54,2.58,2.57,2.55,2.58,2.57,2.55,
-2.76,2.68,2.73,2.60,2.86,2.77,2.82,2.80,2.89,2.92,
-2.80,2.81,2.86,2.95,2.94,3.05,2.96,3.02,2.90,2.99,
-3.10,3.18,2.94,3.10,3.12,3.12,3.13,3.19,3.20,3.22,
-3.20,3.28,3.15,3.29,3.29,3.30,3.35,3.32,3.37,3.20,
-3.36,3.36,3.24,3.43,3.46,3.46,3.41,3.51,3.53,3.57,
-3.58,3.55,3.52,3.54,3.49,3.54,3.64,3.66,3.68,3.63,
-3.65,3.59,3.67,3.65,3.74,3.83,3.78,3.73,3.78,3.69,
-3.82,3.77,3.73,3.91,3.87,3.95,3.92,3.93,3.89,3.80,
-3.75,3.92,3.90,3.90,4.04,3.95,3.84,4.05,4.17,4.18,
-3.94,3.92,4.11,4.03,4.32,4.03,4.22,4.15,4.12,4.13,
-3.94,4.15,4.19,4.21,4.27,4.27,4.08,4.36,4.47,4.26,
-4.23,4.38,4.40,4.32,4.33,4.33,4.57,4.41,4.55,4.39,
-4.46,4.31,4.29,4.49,4.52,4.45,4.49,4.53,4.51,4.47,
-4.59,4.58,4.39,4.53,4.60,4.58,4.58,4.64,4.59,4.76,
-4.57,4.61,4.59,4.47,4.84,4.67,4.68,4.62,4.78,4.74,
-4.57,4.76,4.70,4.83,4.71,4.81,4.82,4.84,4.87,4.77,
-4.78,4.88,4.80,4.73,4.60,4.83,4.99,4.92,5.05,5.06,
-5.08,5.07,5.04,5.10,4.97,5.10,5.20,5.07,5.07,4.88,
-4.97,4.95,5.20,5.15,5.28,5.29,4.95,5.08,5.06,5.10,
-5.18,5.14,5.13,5.15,5.11,5.08,5.16,5.23,5.42,5.34,
-5.47,5.25,5.31,5.29,5.32,5.35,5.29,5.36,5.44,5.44,
-5.25,5.10,5.69,5.27,5.29,5.31,5.52,5.50,5.31,5.57,
-5.49,5.49,5.48,5.40,5.64,5.52,5.22,5.27,5.39,5.36,
-0.91,1.03,1.04,1.06,1.16,1.18,1.19,1.20,1.25,1.31,
-1.39,1.41,1.45,1.45,1.46,1.52,1.52,1.63,1.59,1.65,
-1.63,1.75,1.74,1.74,1.75,1.79,1.78,1.81,1.86,1.90,
-1.83,1.91,1.95,1.98,1.99,2.00,2.02,2.10,2.10,2.12,
-2.10,2.11,2.17,2.24,2.24,2.21,2.20,2.33,2.34,2.39,
-2.35,2.32,2.38,2.42,2.39,2.50,2.53,2.50,2.47,2.53,
-2.44,2.50,2.57,2.50,2.62,2.53,2.82,2.67,2.67,2.58,
-2.72,2.79,2.85,2.69,2.77,2.81,2.74,2.81,2.61,2.85,
-2.92,2.87,2.80,2.92,2.98,2.90,2.92,3.00,2.94,2.98,
-3.07,2.97,2.91,3.01,3.02,3.07,3.05,3.02,3.07,3.19,
-3.19,3.19,3.28,3.09,3.22,3.24,3.27,3.39,3.11,3.24,
-3.23,3.23,3.36,3.43,3.35,3.49,3.40,3.41,3.22,3.44,
-3.50,3.26,3.41,3.36,3.57,3.57,3.57,3.52,3.48,3.54,
-3.65,3.50,3.60,3.62,3.48,3.72,3.68,3.61,3.67,3.70,
-3.67,3.75,3.74,3.85,3.68,3.63,3.69,3.70,3.90,3.80,
-3.69,3.94,3.95,3.77,3.95,3.93,3.82,3.76,3.89,4.01,
-3.92,3.91,3.91,3.95,3.93,4.02,4.01,3.90,4.10,4.05,
-4.24,4.02,3.96,4.03,4.03,4.10,4.02,3.94,4.31,4.15,
-4.17,4.22,4.17,4.47,4.13,4.31,4.27,4.22,4.32,4.36,
-4.51,4.29,4.37,4.43,4.33,4.29,4.24,4.28,4.20,4.46,
-4.19,4.35,4.36,4.36,4.38,4.34,4.46,4.47,4.67,4.46,
-4.38,4.49,4.56,4.36,4.55,4.42,4.56,4.44,4.48,4.50,
-4.59,4.71,4.75,4.83,4.67,4.61,4.39,4.59,4.86,4.63,
-4.66,4.85,4.57,4.80,4.74,4.69,4.69,4.67,4.77,4.74,
-4.52,4.47,4.63,4.76,4.73,4.72,5.10,4.70,4.99,4.86,
-4.84,4.93,4.93,4.98,4.94,4.87,4.89,4.95,4.54,4.96,
-4.78,4.86,4.90,4.79,4.86,5.01,4.89,4.95,4.76,4.86,
-4.97,4.89,5.17,4.77,5.08,4.98,4.98,4.98,5.09,5.26,
-4.96,5.33,5.31,5.26,5.31,5.27,5.38,5.10,5.10,5.30,
-0.91,0.99,0.98,1.00,1.10,1.10,1.15,1.18,1.23,1.25,
-1.34,1.25,1.34,1.37,1.41,1.49,1.43,1.50,1.58,1.59,
-1.64,1.61,1.64,1.67,1.67,1.63,1.74,1.67,1.82,1.74,
-1.82,1.78,1.77,1.83,1.84,1.94,1.91,2.01,2.05,2.00,
-2.02,2.10,2.09,2.10,2.14,2.12,2.14,2.18,2.11,2.16,
-2.04,2.21,2.25,2.34,2.26,2.27,2.22,2.31,2.34,2.36,
-2.30,2.40,2.47,2.46,2.53,2.46,2.42,2.47,2.48,2.49,
-2.62,2.54,2.61,2.67,2.70,2.55,2.73,2.74,2.73,2.76,
-2.71,2.80,2.76,2.71,2.76,2.73,2.80,2.78,2.89,2.71,
-2.80,2.95,2.86,2.88,2.85,2.97,2.93,2.92,2.96,2.88,
-2.99,2.96,2.99,2.99,3.07,3.03,3.01,3.00,3.03,3.19,
-2.92,3.11,2.96,3.25,3.07,3.01,3.16,3.16,3.21,3.28,
-3.29,3.29,3.29,3.20,3.26,3.27,3.35,3.41,3.42,3.36,
-3.39,3.33,3.34,3.42,3.34,3.40,3.40,3.46,3.54,3.44,
-3.46,3.59,3.59,3.47,3.48,3.54,3.57,3.53,3.39,3.58,
-3.73,3.73,3.72,3.66,3.68,3.72,3.64,3.83,3.71,3.56,
-3.63,3.57,3.63,3.76,3.70,3.83,3.75,3.88,3.73,3.71,
-3.96,3.87,3.68,3.89,3.80,3.79,3.98,3.82,3.91,3.90,
-3.92,4.11,3.91,3.84,3.97,3.98,3.88,3.90,3.94,3.87,
-4.05,4.12,3.99,4.10,4.07,4.11,4.14,3.96,4.06,3.98,
-4.06,3.91,4.25,4.18,4.20,4.13,4.16,4.28,4.17,4.17,
-4.25,4.23,4.14,4.20,4.29,4.17,4.21,4.17,4.39,4.23,
-4.27,4.34,4.27,4.38,4.40,4.31,4.48,4.41,4.37,4.33,
-4.18,4.46,4.38,4.35,4.41,4.27,4.23,4.42,4.54,4.40,
-4.48,4.26,4.31,4.44,4.64,4.45,4.55,4.70,4.44,4.54,
-4.79,4.73,4.40,4.57,4.59,4.52,4.67,4.55,4.62,4.69,
-4.57,4.57,4.56,4.55,4.64,4.89,4.65,4.73,4.83,4.89,
-4.71,4.82,4.84,4.74,4.86,4.81,4.72,4.80,4.91,5.00,
-4.75,4.65,5.02,4.73,5.07,4.96,4.95,4.91,4.89,4.92,
-0.87,0.92,0.97,0.99,0.98,1.05,1.10,1.13,1.18,1.22,
-1.19,1.23,1.24,1.34,1.35,1.37,1.37,1.46,1.46,1.54,
-1.46,1.50,1.59,1.57,1.65,1.63,1.67,1.65,1.73,1.67,
-1.75,1.74,1.76,1.93,1.81,1.85,1.88,1.82,1.91,1.92,
-1.84,1.97,1.98,1.94,2.06,1.99,2.08,2.00,2.09,1.98,
-2.10,2.06,2.22,2.11,2.17,2.24,2.20,2.29,2.16,2.20,
-2.32,2.28,2.34,2.37,2.35,2.30,2.43,2.36,2.37,2.39,
-2.47,2.37,2.42,2.53,2.48,2.55,2.46,2.46,2.57,2.57,
-2.55,2.65,2.62,2.64,2.61,2.64,2.71,2.68,2.62,2.67,
-2.65,2.68,2.80,2.74,2.77,2.85,2.74,2.67,2.75,2.88,
-2.82,2.91,2.85,2.93,2.80,2.97,2.94,3.01,2.97,2.97,
-3.10,2.90,3.01,2.97,3.02,2.99,3.09,2.90,3.06,3.16,
-3.10,3.20,3.05,3.01,3.24,3.05,3.11,3.21,3.24,3.33,
-3.04,3.26,3.23,3.33,3.23,3.27,3.26,3.17,3.32,3.46,
-3.36,3.43,3.29,3.37,3.33,3.40,3.47,3.34,3.45,3.29,
-3.27,3.58,3.39,3.35,3.38,3.57,3.64,3.53,3.53,3.54,
-3.57,3.69,3.54,3.46,3.58,3.46,3.54,3.56,3.63,3.69,
-3.72,3.71,3.61,3.72,3.64,3.76,3.74,3.76,3.66,3.79,
-3.84,3.57,3.74,3.62,3.68,3.67,3.73,3.82,3.76,3.77,
-3.78,3.71,3.88,4.05,3.86,3.89,3.88,3.92,4.03,3.90,
-3.81,3.94,3.99,3.93,3.98,3.96,4.05,4.06,4.06,4.14,
-3.93,4.25,4.11,4.04,4.07,4.00,4.06,4.05,3.97,4.13,
-4.21,4.28,4.04,4.11,4.26,4.23,4.27,4.03,4.17,4.23,
-4.17,4.23,4.17,4.18,4.29,4.08,4.35,4.17,4.24,4.24,
-4.42,4.30,4.25,4.33,4.39,4.30,4.22,4.42,4.39,4.25,
-4.45,4.43,4.24,4.42,4.47,4.35,4.47,4.33,4.23,4.44,
-4.26,4.48,4.40,4.43,4.64,4.41,4.52,4.52,4.69,4.49,
-4.67,4.54,4.66,4.68,4.74,4.73,4.83,4.53,4.65,4.65,
-4.66,4.50,4.70,4.47,4.74,4.58,4.66,4.71,4.60,4.56,
-0.87,0.87,0.91,0.98,1.02,1.04,1.07,1.07,1.14,1.18,
-1.20,1.23,1.23,1.28,1.32,1.29,1.29,1.37,1.36,1.45,
-1.44,1.40,1.50,1.52,1.52,1.54,1.59,1.59,1.60,1.57,
-1.70,1.66,1.71,1.78,1.79,1.74,1.78,1.83,1.79,1.81,
-1.84,1.84,1.85,1.98,1.89,1.97,2.04,1.92,1.96,2.02,
-2.07,2.08,2.09,2.10,1.99,2.16,2.13,2.06,2.11,2.18,
-2.28,2.09,2.22,2.23,2.23,2.29,2.32,2.33,2.30,2.25,
-2.27,2.38,2.28,2.35,2.44,2.50,2.44,2.50,2.45,2.43,
-2.52,2.60,2.50,2.52,2.50,2.61,2.59,2.61,2.50,2.63,
-2.53,2.74,2.55,2.66,2.68,2.75,2.64,2.66,2.68,2.75,
-2.66,2.72,2.64,2.80,2.80,2.83,2.91,2.83,2.68,2.78,
-2.78,2.86,3.00,3.02,2.85,2.88,2.98,2.87,2.91,2.97,
-2.92,3.00,3.03,3.03,2.94,3.18,3.02,3.08,3.05,3.05,
-3.11,3.12,3.03,3.08,3.25,3.11,3.24,3.13,3.31,3.15,
-3.10,3.09,3.20,3.28,3.12,3.21,3.25,3.28,3.24,3.28,
-3.29,3.26,3.27,3.37,3.26,3.34,3.26,3.28,3.29,3.60,
-3.36,3.39,3.28,3.42,3.51,3.50,3.49,3.49,3.48,3.49,
-3.41,3.54,3.51,3.55,3.48,3.59,3.44,3.45,3.53,3.58,
-3.63,3.53,3.70,3.54,3.71,3.49,3.63,3.76,3.60,3.54,
-3.56,3.67,3.65,3.73,3.55,3.80,3.74,3.65,3.68,3.74,
-3.61,3.61,3.78,3.79,3.80,3.78,3.98,3.82,3.93,3.76,
-3.82,3.84,3.91,4.10,3.96,3.91,3.98,3.93,4.00,3.82,
-4.03,3.90,3.87,4.06,3.95,4.00,3.88,4.11,4.00,4.04,
-3.97,4.07,4.21,3.97,4.11,3.97,4.01,4.03,4.05,4.13,
-4.11,4.02,4.18,4.35,4.13,4.27,4.19,4.07,4.20,4.18,
-4.11,4.29,4.21,4.26,4.27,4.13,4.10,4.38,4.24,4.33,
-4.38,4.40,4.29,4.23,4.40,4.33,4.33,4.25,4.38,4.32,
-4.26,4.45,4.44,4.44,4.32,4.29,4.34,4.54,4.51,4.49,
-4.40,4.42,4.44,4.37,4.55,4.62,4.19,4.45,4.27,4.47,
-0.86,0.90,0.92,0.94,0.97,1.07,1.01,1.08,1.11,1.17,
-1.15,1.19,1.22,1.24,1.24,1.29,1.33,1.31,1.35,1.39,
-1.39,1.49,1.44,1.46,1.52,1.48,1.51,1.52,1.66,1.60,
-1.60,1.63,1.65,1.64,1.70,1.79,1.65,1.70,1.75,1.82,
-1.78,1.74,1.82,1.76,1.91,1.91,1.85,1.89,1.95,1.95,
-1.89,1.98,1.98,2.00,1.96,2.02,2.07,2.01,2.06,2.08,
-2.07,2.13,2.15,2.17,2.22,2.15,2.21,2.21,2.22,2.24,
-2.27,2.23,2.23,2.20,2.21,2.28,2.32,2.27,2.39,2.36,
-2.34,2.46,2.37,2.50,2.42,2.47,2.54,2.44,2.50,2.40,
-2.44,2.60,2.50,2.70,2.52,2.56,2.56,2.62,2.65,2.64,
-2.63,2.62,2.62,2.58,2.68,2.67,2.66,2.80,2.65,2.78,
-2.78,2.67,2.71,2.79,2.77,2.88,2.78,2.82,2.87,2.85,
-2.97,2.85,2.92,2.80,2.96,3.05,2.93,2.88,2.89,3.10,
-2.95,2.93,2.93,2.98,3.04,3.07,3.12,2.99,2.99,3.12,
-3.07,3.17,3.11,3.13,3.05,3.25,3.08,3.12,3.11,3.18,
-3.12,3.26,3.18,3.28,3.32,3.26,3.16,3.37,3.28,3.23,
-3.39,3.23,3.24,3.35,3.20,3.39,3.33,3.18,3.22,3.28,
-3.38,3.38,3.37,3.43,3.47,3.44,3.46,3.35,3.57,3.39,
-3.42,3.49,3.44,3.38,3.43,3.30,3.48,3.56,3.65,3.51,
-3.67,3.53,3.47,3.49,3.68,3.62,3.66,3.60,3.58,3.64,
-3.51,3.59,3.69,3.63,3.65,3.74,3.71,3.92,3.70,3.70,
-3.89,3.84,3.63,3.66,3.69,3.78,3.65,3.76,3.69,3.66,
-3.61,3.90,3.89,3.77,3.93,3.83,3.87,3.74,3.83,3.84,
-4.04,3.84,3.94,3.88,4.09,3.76,3.97,3.79,4.05,3.93,
-3.91,3.96,3.98,3.91,4.03,3.98,3.98,4.04,4.08,3.97,
-4.08,4.05,4.09,4.13,4.15,4.16,3.98,4.16,4.12,4.25,
-4.17,4.00,4.04,4.07,4.22,4.00,3.98,4.16,4.15,4.11,
-4.20,4.25,4.17,4.22,4.10,4.24,4.31,4.26,3.95,4.19,
-4.25,4.41,4.27,4.21,4.49,4.22,4.45,4.32,4.41,4.59,
-0.82,0.83,0.93,0.91,0.93,1.02,1.00,1.07,1.06,1.11,
-1.15,1.15,1.19,1.21,1.22,1.28,1.23,1.32,1.33,1.37,
-1.39,1.40,1.46,1.44,1.44,1.45,1.45,1.51,1.53,1.51,
-1.52,1.58,1.64,1.64,1.61,1.64,1.65,1.66,1.73,1.67,
-1.74,1.82,1.74,1.79,1.78,1.82,1.79,1.82,1.90,1.83,
-1.82,1.88,1.94,1.92,1.88,1.95,1.94,2.05,2.01,2.01,
-2.04,2.05,2.06,2.08,2.10,2.14,2.13,2.13,2.17,2.22,
-2.08,2.33,2.24,2.20,2.19,2.19,2.20,2.25,2.22,2.23,
-2.29,2.23,2.29,2.34,2.39,2.38,2.45,2.40,2.45,2.39,
-2.42,2.39,2.52,2.38,2.53,2.52,2.57,2.47,2.49,2.63,
-2.75,2.58,2.55,2.61,2.60,2.61,2.74,2.60,2.63,2.71,
-2.70,2.75,2.57,2.59,2.77,2.65,2.70,2.76,2.62,2.71,
-2.78,2.75,2.81,2.86,2.85,2.86,2.75,2.79,2.88,2.93,
-2.76,2.89,2.93,2.86,2.89,2.86,2.94,2.97,2.88,2.87,
-2.89,3.03,3.01,3.00,3.07,2.99,2.98,3.11,3.09,2.98,
-3.03,3.08,2.93,3.03,3.07,3.06,3.02,3.15,3.15,3.13,
-3.20,3.14,3.28,3.30,3.37,3.25,3.25,3.13,3.14,3.30,
-3.31,3.29,3.19,3.28,3.30,3.29,3.36,3.29,3.34,3.31,
-3.35,3.40,3.33,3.34,3.29,3.27,3.40,3.34,3.30,3.39,
-3.46,3.44,3.42,3.47,3.43,3.45,3.54,3.51,3.48,3.48,
-3.49,3.51,3.67,3.61,3.49,3.51,3.52,3.66,3.65,3.68,
-3.59,3.57,3.62,3.63,3.71,3.62,3.68,3.64,3.64,3.67,
-3.70,3.61,3.74,3.82,3.67,3.74,3.68,3.74,3.79,3.73,
-3.88,3.82,3.93,3.67,3.79,3.86,3.73,3.75,3.66,3.85,
-3.84,3.84,3.80,3.67,3.92,3.94,3.82,3.84,3.88,3.87,
-4.04,4.02,3.80,3.88,3.87,3.91,3.87,3.86,3.97,4.09,
-3.98,3.90,4.04,4.08,4.01,3.95,4.02,4.07,4.06,4.06,
-4.06,4.09,4.12,4.24,4.01,4.14,4.02,4.00,4.05,4.08,
-4.19,4.07,4.24,4.14,4.12,4.28,4.10,4.09,4.09,4.29,
-0.83,0.84,0.89,0.90,0.97,0.94,1.00,1.05,1.03,1.12,
-1.06,1.15,1.14,1.18,1.18,1.21,1.25,1.26,1.29,1.34,
-1.31,1.32,1.35,1.40,1.42,1.46,1.43,1.45,1.49,1.46,
-1.53,1.50,1.56,1.58,1.57,1.61,1.61,1.65,1.74,1.68,
-1.75,1.68,1.70,1.76,1.79,1.73,1.87,1.81,1.84,1.80,
-1.81,1.91,1.85,1.91,1.94,2.01,2.03,1.97,1.96,2.01,
-2.06,1.93,1.96,1.99,2.05,2.06,2.03,2.12,2.15,2.14,
-2.10,2.12,2.18,2.14,2.16,2.21,2.30,2.19,2.24,2.21,
-2.31,2.18,2.23,2.35,2.23,2.39,2.28,2.36,2.29,2.34,
-2.31,2.45,2.42,2.49,2.45,2.49,2.49,2.39,2.43,2.36,
-2.44,2.44,2.54,2.56,2.60,2.48,2.61,2.58,2.57,2.60,
-2.54,2.55,2.59,2.77,2.71,2.55,2.75,2.81,2.73,2.66,
-2.80,2.74,2.68,2.73,2.72,2.68,2.69,2.81,2.83,2.72,
-2.78,2.84,2.85,2.79,2.72,2.76,2.83,2.89,2.94,2.97,
-2.91,2.91,2.89,2.95,2.94,3.00,3.06,3.03,2.94,2.99,
-3.02,2.90,2.97,3.15,3.09,2.97,2.97,3.17,3.04,3.11,
-3.09,3.06,2.94,3.10,3.07,3.17,3.09,3.13,3.14,3.17,
-3.13,3.18,3.19,3.17,3.32,3.19,3.21,3.26,3.20,3.09,
-3.28,3.36,3.26,3.39,3.29,3.34,3.31,3.33,3.35,3.32,
-3.32,3.31,3.50,3.33,3.28,3.56,3.37,3.46,3.48,3.38,
-3.36,3.47,3.48,3.51,3.47,3.46,3.44,3.49,3.43,3.38,
-3.44,3.54,3.70,3.51,3.56,3.42,3.49,3.61,3.59,3.52,
-3.52,3.53,3.74,3.51,3.65,3.40,3.62,3.77,3.61,3.65,
-3.63,3.73,3.60,3.78,3.82,3.73,3.63,3.68,3.66,3.76,
-3.57,3.66,3.76,3.86,3.72,3.75,3.74,3.92,3.84,3.89,
-3.69,3.88,3.75,3.79,3.79,3.82,3.77,3.89,3.90,3.84,
-3.77,3.82,4.00,3.91,3.99,3.86,3.74,3.83,3.79,4.07,
-4.09,3.99,4.02,4.04,3.95,4.03,4.02,4.04,4.10,3.93,
-3.88,4.05,4.10,4.23,4.09,3.99,4.03,4.08,3.91,4.06,
-0.80,0.84,0.86,0.88,0.98,0.97,0.96,1.01,1.06,1.12,
-1.13,1.07,1.13,1.14,1.23,1.17,1.19,1.24,1.29,1.31,
-1.34,1.28,1.35,1.33,1.35,1.43,1.43,1.43,1.45,1.54,
-1.51,1.51,1.51,1.58,1.53,1.60,1.65,1.64,1.61,1.66,
-1.67,1.64,1.71,1.71,1.67,1.74,1.87,1.81,1.77,1.78,
-1.74,1.85,1.90,1.93,1.80,1.82,1.95,1.87,1.99,1.96,
-1.92,1.94,1.98,2.00,2.07,2.03,2.11,2.05,2.10,2.13,
-2.10,2.08,2.19,2.08,2.16,2.14,2.19,2.14,2.14,2.18,
-2.28,2.27,2.22,2.18,2.28,2.24,2.23,2.30,2.49,2.39,
-2.28,2.34,2.28,2.38,2.41,2.34,2.42,2.40,2.51,2.44,
-2.38,2.55,2.47,2.46,2.47,2.52,2.39,2.45,2.41,2.55,
-2.59,2.49,2.52,2.62,2.62,2.60,2.69,2.56,2.61,2.72,
-2.69,2.70,2.67,2.64,2.58,2.59,2.76,2.65,2.81,2.67,
-2.74,2.76,2.86,2.78,2.83,2.90,2.82,2.77,2.84,2.90,
-2.81,2.80,2.85,2.89,2.90,2.88,2.86,2.92,2.88,2.84,
-2.96,2.87,2.97,2.96,3.04,3.10,2.91,3.03,2.90,3.06,
-3.05,3.09,3.17,3.12,3.10,3.07,3.08,3.05,3.12,3.00,
-3.05,3.15,3.22,3.08,3.08,3.10,3.24,3.11,3.22,3.14,
-3.06,3.08,3.20,3.25,3.20,3.32,3.27,3.25,3.21,3.22,
-3.33,3.32,3.14,3.22,3.37,3.31,3.29,3.34,3.32,3.33,
-3.43,3.36,3.35,3.25,3.45,3.37,3.28,3.37,3.17,3.39,
-3.47,3.45,3.42,3.50,3.51,3.54,3.48,3.58,3.43,3.41,
-3.52,3.59,3.35,3.47,3.69,3.60,3.49,3.51,3.68,3.49,
-3.53,3.52,3.54,3.63,3.66,3.68,3.66,3.58,3.74,3.81,
-3.56,3.70,3.63,3.80,3.58,3.84,3.73,3.88,3.60,3.67,
-3.80,3.72,3.85,3.74,3.74,3.61,3.78,3.72,3.87,3.78,
-3.83,3.83,3.90,3.89,3.67,3.78,3.81,3.86,3.78,4.06,
-3.82,3.90,3.84,3.99,3.94,3.74,3.94,3.78,3.99,3.97,
-3.96,3.92,3.90,3.88,3.79,4.06,3.97,4.06,3.80,3.89,
-0.77,0.83,0.86,0.86,0.92,0.95,0.96,0.96,1.02,1.05,
-1.08,1.07,1.14,1.08,1.17,1.21,1.24,1.28,1.24,1.24,
-1.26,1.30,1.30,1.31,1.39,1.39,1.40,1.45,1.37,1.44,
-1.49,1.52,1.50,1.57,1.57,1.54,1.52,1.60,1.53,1.61,
-1.66,1.66,1.71,1.70,1.70,1.76,1.69,1.78,1.80,1.77,
-1.74,1.75,1.74,1.81,1.90,1.82,1.85,1.87,1.90,2.00,
-1.88,1.83,1.96,1.91,2.00,2.00,1.99,2.06,2.01,2.01,
-2.02,2.08,2.06,2.13,2.14,2.08,2.14,2.13,2.11,2.21,
-2.10,2.21,2.22,2.18,2.20,2.26,2.29,2.31,2.27,2.26,
-2.33,2.28,2.11,2.29,2.37,2.33,2.36,2.34,2.31,2.31,
-2.39,2.38,2.50,2.38,2.45,2.42,2.41,2.50,2.45,2.53,
-2.42,2.62,2.59,2.46,2.45,2.52,2.61,2.65,2.64,2.63,
-2.54,2.63,2.64,2.60,2.67,2.70,2.56,2.59,2.72,2.75,
-2.74,2.66,2.92,2.72,2.61,2.78,2.80,2.70,2.85,2.79,
-2.75,2.78,2.85,2.76,2.80,2.80,2.92,2.89,2.85,2.91,
-2.93,3.03,2.79,3.00,2.92,2.85,2.95,3.00,3.04,2.95,
-3.04,2.95,3.15,3.06,2.92,3.05,3.08,3.03,3.01,3.02,
-3.02,3.05,3.18,3.23,3.09,3.11,2.96,3.18,3.14,3.09,
-3.13,3.03,3.13,3.21,3.23,3.29,3.14,3.23,3.04,3.27,
-3.15,3.12,3.17,3.26,3.28,3.29,3.39,3.26,3.14,3.20,
-3.41,3.17,3.34,3.27,3.26,3.32,3.36,3.33,3.49,3.47,
-3.21,3.38,3.48,3.50,3.46,3.43,3.36,3.40,3.41,3.37,
-3.51,3.46,3.44,3.45,3.45,3.51,3.54,3.46,3.46,3.55,
-3.55,3.54,3.59,3.58,3.54,3.45,3.53,3.61,3.52,3.60,
-3.58,3.61,3.58,3.52,3.66,3.60,3.50,3.64,3.52,3.71,
-3.61,3.79,3.66,3.63,3.75,3.68,3.71,3.84,3.76,3.81,
-3.69,3.63,3.62,3.73,3.77,3.84,3.82,3.78,3.87,3.85,
-3.78,3.87,3.75,3.75,3.65,4.02,3.76,3.70,3.97,3.69,
-3.93,3.86,3.93,3.93,3.92,4.02,3.95,4.00,3.85,3.94,
-0.77,0.83,0.84,0.86,0.92,0.94,0.93,0.95,1.03,1.08,
-1.03,1.09,1.10,1.11,1.12,1.16,1.20,1.21,1.23,1.28,
-1.27,1.31,1.30,1.31,1.36,1.37,1.35,1.40,1.39,1.47,
-1.48,1.51,1.53,1.56,1.50,1.49,1.56,1.57,1.57,1.59,
-1.64,1.58,1.61,1.68,1.78,1.73,1.73,1.76,1.76,1.78,
-1.71,1.81,1.80,1.76,1.81,1.80,1.86,1.88,1.80,1.93,
-1.96,1.93,2.02,1.98,1.98,1.98,2.02,1.98,1.99,2.01,
-1.99,2.00,2.07,1.98,2.06,2.06,2.10,2.07,2.13,2.14,
-2.11,2.21,2.22,2.10,2.32,2.15,2.25,2.20,2.29,2.33,
-2.24,2.16,2.19,2.27,2.30,2.33,2.34,2.30,2.32,2.37,
-2.30,2.27,2.39,2.40,2.31,2.45,2.47,2.44,2.53,2.43,
-2.54,2.46,2.49,2.44,2.52,2.50,2.57,2.52,2.54,2.55,
-2.65,2.53,2.60,2.52,2.71,2.59,2.66,2.59,2.59,2.69,
-2.64,2.62,2.60,2.72,2.80,2.65,2.74,2.66,2.77,2.80,
-2.80,2.84,2.74,2.71,2.72,2.73,2.71,2.77,2.85,2.84,
-2.79,2.92,2.75,2.95,2.89,2.71,2.88,2.85,2.88,2.95,
-2.90,2.95,2.95,2.90,2.93,2.95,3.02,3.01,2.93,2.97,
-2.96,2.94,3.06,3.14,2.90,3.01,3.03,3.07,3.17,3.02,
-2.99,3.14,3.08,3.16,3.12,3.19,3.09,3.13,3.18,3.23,
-3.20,3.13,3.15,3.16,3.22,3.24,3.26,3.19,3.20,3.28,
-3.20,3.14,3.30,3.23,3.29,3.38,3.33,3.34,3.16,3.36,
-3.33,3.31,3.31,3.34,3.42,3.37,3.37,3.45,3.48,3.43,
-3.39,3.33,3.43,3.41,3.41,3.39,3.40,3.38,3.54,3.46,
-3.55,3.56,3.58,3.56,3.66,3.61,3.35,3.49,3.40,3.59,
-3.53,3.60,3.73,3.45,3.63,3.56,3.62,3.70,3.65,3.62,
-3.54,3.65,3.69,3.71,3.66,3.60,3.66,3.51,3.63,3.77,
-3.70,3.83,3.74,3.80,3.81,3.76,3.68,3.77,3.80,3.59,
-3.85,3.81,3.74,3.73,3.76,3.73,3.85,3.95,3.69,3.85,
-3.92,3.89,3.70,3.82,3.84,3.86,3.80,3.82,3.69,3.68,
-0.79,0.79,0.86,0.86,0.90,0.92,0.95,0.99,1.02,1.03,
-1.02,1.07,1.07,1.13,1.12,1.18,1.17,1.21,1.25,1.28,
-1.23,1.27,1.28,1.30,1.33,1.32,1.34,1.39,1.43,1.40,
-1.47,1.47,1.48,1.45,1.55,1.51,1.53,1.51,1.55,1.59,
-1.54,1.62,1.61,1.71,1.69,1.62,1.68,1.72,1.79,1.76,
-1.68,1.82,1.80,1.75,1.88,1.69,1.86,1.91,1.90,1.87,
-1.84,1.89,1.90,1.95,1.95,1.92,1.92,2.04,1.97,2.00,
-2.03,1.99,1.99,2.08,1.98,2.08,2.05,2.11,2.01,2.07,
-2.13,2.13,2.22,2.19,2.22,2.11,2.22,2.19,2.15,2.20,
-2.20,2.15,2.31,2.29,2.26,2.29,2.32,2.42,2.26,2.29,
-2.25,2.32,2.38,2.36,2.37,2.34,2.28,2.31,2.52,2.44,
-2.49,2.36,2.46,2.48,2.49,2.47,2.52,2.50,2.61,2.44,
-2.59,2.56,2.52,2.58,2.56,2.44,2.61,2.56,2.49,2.55,
-2.59,2.70,2.57,2.80,2.52,2.68,2.67,2.75,2.62,2.82,
-2.61,2.72,2.76,2.71,2.77,2.84,2.78,2.80,2.89,2.80,
-2.78,2.84,2.80,2.80,2.83,2.86,2.85,2.90,3.00,2.95,
-2.74,2.77,2.89,2.93,3.01,2.80,3.00,2.99,3.01,2.89,
-2.96,2.99,3.00,3.01,3.09,3.01,3.04,2.95,3.06,2.99,
-3.05,3.12,3.13,3.09,3.12,3.02,3.21,3.03,3.04,3.09,
-3.12,3.17,3.19,3.07,3.21,3.19,3.21,3.18,3.14,3.17,
-3.14,3.26,3.15,3.19,3.12,3.25,3.28,3.43,3.18,3.34,
-3.35,3.31,3.24,3.30,3.24,3.25,3.39,3.31,3.21,3.31,
-3.25,3.51,3.32,3.42,3.44,3.38,3.42,3.46,3.50,3.39,
-3.49,3.44,3.29,3.49,3.40,3.36,3.45,3.51,3.47,3.55,
-3.57,3.49,3.21,3.42,3.60,3.53,3.50,3.51,3.52,3.58,
-3.60,3.55,3.55,3.72,3.58,3.69,3.59,3.61,3.57,3.64,
-3.62,3.72,3.74,3.60,3.68,3.75,3.72,3.74,3.73,3.79,
-3.66,3.76,3.78,3.69,3.68,3.70,3.58,3.67,3.67,3.67,
-3.93,3.67,3.67,3.83,3.79,3.76,3.83,3.69,3.92,3.88,
-0.77,0.79,0.85,0.82,0.88,0.95,0.92,0.98,1.00,1.02,
-1.03,1.02,1.11,1.10,1.10,1.16,1.19,1.17,1.19,1.22,
-1.25,1.25,1.26,1.34,1.33,1.35,1.38,1.34,1.38,1.44,
-1.42,1.44,1.46,1.43,1.49,1.49,1.51,1.50,1.56,1.56,
-1.58,1.61,1.55,1.71,1.66,1.67,1.67,1.70,1.70,1.71,
-1.71,1.75,1.68,1.71,1.73,1.82,1.78,1.80,1.82,1.78,
-1.83,1.82,1.88,1.85,1.88,1.86,1.92,1.98,1.93,1.96,
-1.98,2.00,1.99,2.08,2.05,2.07,2.10,2.13,2.08,2.14,
-2.10,2.06,2.08,2.13,2.08,2.18,2.12,2.11,2.22,2.23,
-2.14,2.18,2.24,2.32,2.27,2.21,2.21,2.28,2.34,2.30,
-2.22,2.27,2.39,2.37,2.39,2.38,2.41,2.34,2.39,2.44,
-2.42,2.36,2.45,2.46,2.41,2.44,2.49,2.47,2.41,2.49,
-2.53,2.47,2.42,2.52,2.42,2.52,2.56,2.55,2.56,2.59,
-2.69,2.68,2.61,2.70,2.61,2.57,2.68,2.67,2.65,2.73,
-2.58,2.72,2.73,2.79,2.61,2.79,2.75,2.72,2.88,2.84,
-2.60,2.74,2.74,2.82,2.76,2.70,2.81,2.78,2.85,2.82,
-2.76,2.81,2.93,2.92,2.95,2.84,2.94,2.85,2.98,2.92,
-2.95,2.95,2.94,3.05,2.87,2.99,3.02,2.96,2.88,3.02,
-2.96,2.89,2.91,3.02,3.02,3.11,3.06,3.03,3.09,3.07,
-3.17,3.14,3.23,3.16,3.05,3.15,3.11,3.12,3.18,3.09,
-3.18,3.08,3.21,3.10,3.19,3.34,3.32,3.17,3.18,3.21,
-3.18,3.15,3.16,3.27,3.22,3.28,3.29,3.32,3.18,3.22,
-3.16,3.32,3.46,3.19,3.24,3.31,3.31,3.34,3.39,3.44,
-3.31,3.57,3.54,3.39,3.37,3.43,3.53,3.44,3.50,3.41,
-3.30,3.43,3.49,3.43,3.39,3.44,3.49,3.45,3.47,3.67,
-3.45,3.55,3.44,3.40,3.61,3.58,3.64,3.46,3.54,3.53,
-3.53,3.55,3.38,3.43,3.61,3.57,3.68,3.75,3.59,3.59,
-3.73,3.62,3.68,3.74,3.73,3.70,3.71,3.70,3.66,3.72,
-3.73,3.73,3.80,3.82,3.68,3.62,3.80,3.81,3.75,3.71,
-0.78,0.82,0.82,0.84,0.94,0.89,0.96,0.97,1.02,0.97,
-1.05,1.02,1.04,1.11,1.09,1.15,1.17,1.20,1.21,1.22,
-1.23,1.24,1.16,1.36,1.29,1.33,1.34,1.39,1.40,1.37,
-1.42,1.44,1.40,1.46,1.47,1.49,1.57,1.49,1.51,1.54,
-1.63,1.60,1.62,1.59,1.69,1.70,1.64,1.67,1.64,1.74,
-1.69,1.72,1.74,1.79,1.76,1.77,1.77,1.77,1.87,1.78,
-1.89,1.83,1.87,1.89,1.90,1.93,1.94,1.94,1.85,1.90,
-1.93,1.94,1.98,2.02,1.89,2.00,2.03,2.12,1.99,2.05,
-2.08,2.06,2.09,2.13,2.07,2.12,2.10,2.21,2.18,2.22,
-2.14,2.16,2.22,2.24,2.13,2.28,2.20,2.19,2.13,2.25,
-2.24,2.26,2.27,2.22,2.20,2.30,2.48,2.36,2.34,2.38,
-2.33,2.43,2.46,2.39,2.46,2.46,2.47,2.41,2.50,2.43,
-2.50,2.49,2.57,2.61,2.51,2.54,2.56,2.63,2.51,2.60,
-2.49,2.55,2.56,2.60,2.61,2.69,2.70,2.56,2.63,2.72,
-2.59,2.58,2.76,2.68,2.66,2.75,2.64,2.69,2.71,2.77,
-2.71,2.66,2.75,2.72,2.80,2.82,2.78,2.74,2.74,2.84,
-2.81,2.86,2.79,2.85,2.83,2.92,2.78,2.97,2.87,2.88,
-2.90,2.97,2.85,2.92,2.85,3.03,2.94,2.85,2.98,2.95,
-2.95,3.09,2.99,3.06,2.97,3.09,2.95,3.16,3.12,3.01,
-2.98,3.07,3.02,3.16,3.09,3.14,3.05,3.04,3.07,3.19,
-3.03,3.12,3.09,3.13,3.23,3.26,3.27,3.04,3.29,3.18,
-3.14,3.17,3.28,3.10,3.27,3.28,3.28,3.36,3.26,3.25,
-3.24,3.32,3.39,3.28,3.42,3.30,3.24,3.36,3.35,3.31,
-3.37,3.40,3.31,3.35,3.22,3.37,3.40,3.22,3.35,3.47,
-3.38,3.44,3.49,3.39,3.43,3.51,3.59,3.49,3.56,3.49,
-3.43,3.43,3.36,3.48,3.46,3.41,3.48,3.60,3.53,3.49,
-3.37,3.60,3.64,3.61,3.60,3.63,3.50,3.68,3.57,3.65,
-3.70,3.66,3.61,3.72,3.71,3.51,3.63,3.72,3.56,3.60,
-3.51,3.57,3.51,3.62,3.83,3.72,3.69,3.69,3.74,3.70
-};
-
-static float meanNumAnchorBases[] = {
-10.29,11.18,13.18,13.19,14.50,15.10,17.15,18.04,18.97,20.38,
-21.16,22.65,23.08,24.30,25.73,25.98,27.35,28.95,29.31,30.26,
-31.76,32.39,32.52,32.71,34.88,37.36,38.05,37.55,40.19,40.75,
-41.26,41.60,44.11,45.51,45.16,47.33,47.20,47.78,49.74,51.59,
-53.24,54.20,54.79,53.94,54.59,55.70,57.46,60.50,58.15,60.08,
-61.16,62.98,64.37,65.53,65.88,67.93,68.35,70.37,68.62,70.53,
-72.95,74.36,75.36,76.09,77.96,78.37,81.21,78.20,81.19,81.89,
-83.12,83.09,84.48,86.07,87.22,88.51,89.30,89.85,91.09,93.30,
-91.48,94.63,96.35,96.40,99.79,97.00,99.45,101.28,102.48,102.75,
-104.36,103.84,107.19,108.70,106.95,107.46,110.29,110.16,113.95,113.67,
-112.26,115.17,115.21,116.09,118.59,118.83,119.42,122.30,120.64,121.45,
-124.31,125.48,125.83,126.51,127.48,128.37,130.53,129.25,131.98,134.67,
-133.11,137.08,138.88,137.42,141.38,137.93,139.34,141.34,143.58,142.55,
-147.15,148.06,147.04,147.26,148.81,151.30,149.67,150.13,153.82,154.43,
-155.18,152.88,159.45,158.69,160.62,159.25,162.38,163.32,164.43,163.90,
-165.40,166.39,169.36,167.88,169.54,169.72,172.42,172.38,173.05,172.16,
-176.13,174.65,179.64,178.83,181.02,180.45,184.05,185.48,184.06,185.26,
-185.76,188.14,187.23,187.82,187.99,192.09,193.41,194.47,192.96,195.94,
-197.08,199.81,199.05,198.55,199.11,199.79,200.00,202.18,205.11,203.98,
-207.51,205.21,210.19,207.32,211.09,211.90,211.65,215.12,217.09,218.79,
-215.54,219.63,218.29,220.24,223.97,220.52,223.12,225.35,225.65,223.31,
-226.18,229.32,229.35,231.02,230.20,233.15,233.75,235.31,233.53,237.98,
-238.21,240.25,238.85,240.20,243.91,243.01,244.59,245.77,245.08,248.13,
-248.87,247.74,248.74,253.32,250.74,255.15,254.54,255.99,257.96,257.46,
-256.46,257.33,261.37,260.70,261.65,264.06,265.57,262.46,267.27,271.55,
-270.74,266.35,272.21,271.36,274.50,276.81,273.01,279.42,277.33,281.16,
-278.39,279.82,280.25,280.24,283.61,283.22,284.77,287.10,287.86,289.02,
-290.12,291.62,295.28,289.63,293.72,294.00,296.16,296.72,294.73,299.37,
-300.36,300.62,305.97,304.85,304.27,302.67,306.11,304.61,311.61,306.50,
-7.70,8.64,9.28,10.05,10.91,11.72,12.83,13.15,15.72,14.63,
-15.80,16.35,16.86,17.78,19.65,20.37,21.10,21.39,22.06,22.09,
-23.73,23.95,25.68,26.19,27.62,27.80,27.93,29.09,30.92,30.47,
-32.38,33.22,32.79,33.34,34.00,35.87,36.73,37.09,37.98,37.93,
-39.15,40.07,40.79,42.63,42.95,44.60,43.83,45.34,45.25,46.94,
-46.50,48.07,47.88,49.90,50.21,49.20,51.13,53.20,53.90,53.92,
-55.20,56.36,57.64,58.16,58.19,58.70,59.98,60.69,61.13,61.11,
-63.45,65.45,64.04,64.16,64.49,66.96,67.83,67.81,67.72,69.77,
-70.60,71.91,74.29,72.17,72.55,75.15,75.14,76.49,76.23,78.90,
-79.02,79.24,80.13,79.14,81.39,83.81,84.35,83.68,87.47,86.30,
-86.12,85.33,87.64,90.09,90.73,89.78,90.95,91.08,95.40,94.00,
-92.38,93.32,96.94,96.51,98.39,96.99,98.08,96.53,99.73,99.84,
-100.73,103.12,105.10,103.36,104.98,107.06,105.04,106.83,106.87,107.64,
-111.29,110.27,112.43,111.98,111.08,114.28,114.74,115.45,115.57,117.44,
-115.45,118.37,117.38,116.51,124.46,121.92,120.76,120.31,124.78,123.56,
-123.50,126.16,127.15,127.68,127.64,128.42,129.45,130.45,132.56,131.88,
-134.59,132.58,135.16,135.46,136.24,138.12,138.00,136.35,139.56,141.55,
-138.99,144.63,145.19,142.78,146.65,143.70,142.96,146.41,147.81,148.22,
-150.48,151.96,150.97,150.41,151.26,152.69,154.02,157.21,155.36,155.66,
-156.38,156.13,158.68,159.25,158.82,157.97,160.47,163.47,163.21,161.61,
-162.17,162.55,163.27,167.11,167.53,166.55,168.82,172.27,171.29,170.15,
-170.39,175.73,173.97,174.81,174.96,174.38,178.36,178.32,179.73,177.92,
-179.63,182.32,182.26,181.45,183.47,181.80,186.21,187.16,186.16,185.81,
-187.68,185.02,189.16,192.16,191.64,192.83,191.94,193.87,195.65,197.51,
-195.94,198.70,196.89,198.05,197.44,199.74,200.91,200.47,202.94,201.34,
-202.85,203.83,205.62,204.65,204.62,208.53,209.32,211.16,207.54,212.60,
-213.26,211.60,211.44,213.94,214.66,218.64,217.47,217.15,218.54,219.57,
-220.16,217.85,220.89,220.62,220.32,220.56,224.14,223.76,224.37,225.64,
-225.56,232.40,228.57,229.66,227.33,231.09,231.39,231.64,230.48,236.08,
-5.76,6.68,7.52,7.87,8.03,8.84,9.38,10.38,10.93,11.38,
-11.65,12.99,12.46,13.30,14.49,16.07,14.73,15.79,16.66,17.23,
-17.95,18.04,20.23,18.78,19.62,20.44,20.46,21.57,21.35,23.23,
-24.05,24.83,24.01,25.05,25.99,26.26,26.70,27.55,29.16,29.25,
-29.57,30.87,31.04,31.17,31.15,32.22,32.92,32.33,33.67,34.09,
-34.68,35.77,37.22,36.10,37.66,37.52,38.84,41.16,39.49,39.74,
-41.39,41.62,43.77,42.24,44.38,44.92,45.40,44.94,46.35,48.09,
-46.01,47.04,49.30,48.54,48.62,50.13,49.48,50.91,52.51,53.43,
-53.22,52.91,53.96,56.33,55.70,55.45,55.53,57.06,58.14,58.79,
-57.91,59.87,59.21,61.27,62.02,63.65,63.14,64.14,66.11,64.66,
-63.48,64.95,65.70,66.63,67.51,68.27,67.66,69.93,68.93,69.62,
-71.13,71.71,73.39,74.06,74.16,73.51,73.58,76.27,76.42,75.72,
-77.65,78.67,79.32,79.18,79.20,78.92,79.07,81.50,81.18,81.27,
-80.61,84.06,83.59,82.03,85.02,85.57,86.43,88.74,87.43,86.53,
-88.22,88.02,90.55,89.79,89.35,93.02,92.95,90.79,92.14,92.57,
-94.29,94.26,94.92,96.21,97.84,97.47,97.88,98.92,98.83,99.67,
-98.70,100.44,100.64,102.63,103.11,103.00,104.21,102.15,103.84,105.05,
-106.03,105.33,109.18,109.37,107.52,110.02,112.99,110.00,111.68,111.06,
-113.32,112.57,113.39,114.23,115.91,115.37,116.93,118.22,116.12,118.37,
-116.29,117.19,120.33,121.25,121.10,121.06,119.13,121.81,123.08,123.86,
-124.26,122.61,124.91,124.76,124.62,128.48,127.66,125.98,127.53,129.11,
-129.52,130.37,131.14,131.49,133.80,130.75,131.12,135.28,133.34,135.22,
-134.63,137.10,136.81,137.75,139.11,140.68,139.85,138.50,138.60,142.13,
-142.27,139.03,142.09,141.69,144.88,145.40,146.44,146.88,147.02,146.20,
-148.05,147.86,148.60,147.76,149.17,150.16,150.99,150.92,151.68,154.22,
-152.29,154.76,154.81,155.99,155.15,155.19,156.85,156.10,155.42,158.43,
-158.58,161.22,158.21,158.84,159.65,163.21,160.28,162.11,165.50,162.92,
-165.09,163.89,165.07,167.63,166.46,167.00,169.04,169.44,171.51,172.23,
-170.24,171.55,168.55,172.43,172.88,173.14,173.49,176.60,176.28,172.44,
-4.24,5.14,5.69,5.96,6.37,7.36,7.54,7.57,7.87,7.83,
-9.01,9.62,10.06,10.18,10.41,10.90,10.45,12.03,12.75,12.89,
-13.67,13.81,13.94,14.48,15.68,16.16,16.46,15.84,16.41,18.29,
-16.66,18.74,18.28,18.69,19.87,19.59,20.99,20.68,20.86,22.23,
-21.63,22.10,23.51,22.89,23.65,23.59,24.03,25.38,25.81,26.39,
-26.12,27.32,27.62,27.85,28.01,28.95,28.63,28.80,30.36,29.92,
-32.32,31.62,31.98,33.55,32.85,33.49,34.02,34.63,34.89,34.37,
-34.22,36.25,35.12,35.75,37.15,36.18,38.14,37.81,40.03,39.71,
-39.84,40.53,40.97,41.08,41.16,41.88,42.35,43.48,42.69,43.95,
-46.10,44.28,46.95,45.00,46.91,46.20,48.56,48.27,47.73,47.49,
-49.12,50.41,48.59,50.32,49.33,51.77,50.92,50.94,53.40,52.84,
-52.76,53.74,55.10,56.58,55.72,53.92,54.14,56.51,56.94,56.34,
-57.37,57.78,58.96,59.52,60.64,56.95,58.92,60.58,61.34,60.24,
-62.56,61.90,61.88,61.83,63.40,63.43,64.79,63.80,64.17,64.91,
-67.20,66.10,67.52,68.17,68.33,67.92,68.79,69.68,69.53,69.25,
-70.46,72.15,70.92,72.33,73.22,72.80,72.28,74.22,73.95,75.16,
-74.76,76.72,75.09,77.20,77.15,74.99,77.64,79.05,77.27,80.01,
-79.85,78.26,80.73,80.46,80.73,81.03,81.93,83.50,83.24,82.78,
-82.63,84.88,84.35,84.90,82.56,85.37,84.38,86.74,88.20,86.20,
-88.64,88.71,89.69,91.21,90.00,92.63,89.44,91.41,90.19,94.44,
-93.89,91.77,92.02,95.94,92.83,93.66,96.10,96.82,94.41,94.75,
-96.01,97.05,97.53,97.56,100.04,100.00,99.19,99.99,100.84,102.53,
-102.76,100.86,101.63,102.99,103.15,102.58,103.10,106.74,104.91,104.76,
-106.12,104.12,106.47,109.31,106.67,107.97,106.54,108.28,107.54,109.45,
-109.88,110.22,110.41,112.64,112.09,110.28,110.88,113.95,112.68,112.46,
-115.06,115.14,116.76,117.64,114.46,114.14,117.97,117.66,118.44,119.45,
-119.56,119.08,119.75,117.54,122.68,122.41,122.96,120.81,124.78,122.80,
-125.48,125.66,124.18,125.46,124.32,123.47,123.93,124.84,125.35,128.80,
-128.34,130.22,130.15,128.27,128.41,130.31,131.64,127.65,130.56,132.43,
-3.14,3.67,3.69,4.13,4.58,5.15,5.88,5.40,6.12,6.72,
-6.87,6.93,7.49,7.47,8.33,8.03,8.98,8.56,10.14,9.26,
-9.74,9.70,11.01,11.35,12.25,11.21,12.68,12.41,13.07,12.83,
-12.55,14.37,14.39,14.13,15.25,15.09,15.88,15.17,16.24,16.41,
-16.93,17.49,16.89,16.42,17.90,18.29,18.14,19.36,18.83,19.77,
-20.51,20.58,19.83,20.35,21.73,22.17,21.13,22.53,24.25,23.62,
-22.43,23.21,22.57,24.25,24.35,25.44,25.03,25.81,25.28,25.55,
-26.35,26.76,27.35,27.52,27.74,28.21,28.80,30.02,28.43,29.54,
-28.99,29.62,31.23,30.70,31.82,30.56,30.99,32.79,32.13,32.16,
-33.16,34.42,33.32,33.67,34.10,34.92,35.29,34.74,36.01,34.67,
-35.74,35.85,35.65,36.26,36.38,35.65,38.35,37.51,39.10,39.26,
-40.13,39.64,41.51,41.28,40.13,41.14,42.44,42.24,43.63,42.42,
-41.23,42.97,41.35,44.83,44.71,45.05,43.73,44.72,44.69,45.39,
-46.14,45.83,47.07,46.32,48.63,49.67,47.38,48.67,48.23,49.26,
-49.63,49.94,48.87,50.80,49.90,52.50,53.08,52.92,52.98,52.53,
-53.82,53.72,54.28,53.74,53.74,54.32,53.79,55.84,54.24,53.73,
-56.35,55.22,55.26,56.94,56.42,57.33,56.94,58.88,56.92,61.31,
-60.44,58.32,58.15,59.52,59.77,62.07,60.90,60.62,60.24,61.65,
-61.78,62.82,62.63,61.99,62.89,64.91,65.97,63.92,66.57,66.08,
-64.79,64.11,65.65,67.64,66.92,67.46,68.23,67.48,68.45,68.10,
-70.48,67.98,71.61,69.24,69.94,69.14,71.61,71.83,72.73,71.29,
-72.13,72.04,72.01,74.89,73.33,74.80,74.94,73.30,75.44,74.40,
-76.57,74.94,76.86,79.04,76.96,76.48,77.89,78.05,76.84,79.45,
-79.23,78.44,78.32,80.68,80.65,79.79,80.83,82.69,82.07,81.63,
-83.24,82.41,82.88,83.41,84.04,84.21,84.83,85.52,85.18,84.89,
-85.35,85.27,84.08,88.67,87.43,86.31,86.21,86.88,89.26,88.51,
-87.53,90.36,88.81,89.98,90.83,92.05,91.13,89.85,90.44,90.99,
-91.35,93.20,89.45,93.15,92.88,93.15,94.07,94.03,94.57,96.91,
-94.37,95.06,97.04,97.64,96.24,97.95,96.26,99.27,97.07,98.42,
-2.29,2.40,2.72,3.07,3.11,3.67,4.04,4.34,3.94,5.11,
-5.19,5.30,4.79,5.86,6.25,6.55,6.01,7.04,6.85,7.17,
-7.77,7.82,7.57,8.06,8.30,8.58,8.58,8.55,9.31,9.62,
-9.18,9.89,10.00,11.16,11.05,11.37,10.94,11.90,11.77,11.94,
-11.77,12.15,13.03,12.30,13.15,14.11,13.60,13.46,14.24,13.30,
-14.30,14.95,14.90,15.79,15.75,15.51,16.52,16.67,17.77,16.77,
-16.51,17.72,17.73,19.12,17.72,17.84,20.33,19.46,18.57,19.77,
-19.86,19.90,19.54,19.97,20.94,21.04,20.20,21.13,21.83,21.31,
-22.76,21.53,23.06,22.30,22.69,22.65,22.98,24.93,23.97,24.48,
-24.48,24.33,25.69,24.39,25.23,25.38,26.94,26.32,25.80,28.04,
-26.42,26.71,27.55,26.97,28.00,28.19,27.97,30.20,29.29,29.58,
-29.64,30.15,29.84,29.14,30.01,30.42,30.39,32.02,31.02,31.55,
-31.13,32.18,33.38,33.01,33.69,33.14,31.98,34.46,34.16,34.58,
-34.72,34.70,35.21,35.27,36.53,36.06,35.95,36.05,37.38,36.28,
-36.43,36.25,36.50,38.03,37.67,38.01,38.56,37.22,39.15,39.00,
-38.89,38.45,39.41,40.24,39.98,40.42,40.52,40.88,40.90,40.81,
-41.04,42.02,41.07,43.65,42.47,42.15,43.77,44.26,44.19,43.52,
-43.90,43.47,43.88,44.25,45.87,45.36,45.78,45.33,47.26,46.91,
-45.23,46.69,47.31,47.22,46.21,47.79,47.46,48.72,48.12,48.94,
-49.38,48.75,50.53,48.99,49.93,50.56,50.34,50.74,50.39,50.54,
-52.14,50.80,51.20,51.75,52.63,52.41,55.20,53.47,54.10,53.58,
-54.37,54.50,55.02,55.64,55.14,53.15,55.63,55.67,55.69,56.18,
-56.79,57.24,56.48,55.41,58.07,58.10,59.55,58.06,57.20,58.19,
-59.19,58.59,60.33,59.49,58.23,59.53,59.68,60.96,60.33,60.70,
-61.32,62.67,59.69,63.55,61.83,61.26,61.42,64.25,61.82,62.27,
-63.08,63.55,62.62,63.94,63.10,65.53,64.86,63.84,65.68,64.70,
-63.62,65.38,65.91,66.37,66.16,66.65,66.55,67.44,67.68,67.96,
-66.58,68.16,68.28,69.38,70.34,69.17,70.45,70.21,69.57,69.72,
-70.81,72.72,71.34,71.90,71.20,72.22,72.84,73.16,73.02,72.75,
-1.52,2.09,2.23,2.60,2.47,2.67,2.90,3.19,3.32,3.52,
-3.33,3.70,4.13,3.96,4.50,4.40,4.22,5.48,4.86,5.41,
-5.64,5.35,6.03,5.72,6.04,6.25,5.96,6.93,6.41,7.10,
-6.55,7.29,8.47,7.65,7.44,7.97,8.69,8.55,8.68,8.42,
-8.77,9.09,9.06,10.15,9.38,9.97,10.79,10.83,10.83,10.81,
-11.20,10.15,10.88,11.54,11.54,12.44,11.97,12.42,12.13,12.79,
-13.35,12.57,13.06,12.83,13.09,13.27,13.40,14.36,12.93,13.85,
-14.34,14.42,15.11,14.31,15.30,14.54,15.77,16.49,15.04,15.03,
-15.99,16.61,17.40,15.99,16.55,17.47,17.64,17.20,19.03,16.59,
-18.10,19.50,18.31,17.98,19.12,19.61,18.63,19.44,19.29,19.47,
-20.38,20.71,19.56,20.71,20.79,21.17,20.55,20.88,22.54,21.06,
-22.25,22.23,22.00,21.58,23.84,22.07,23.25,24.08,23.16,23.02,
-22.86,23.82,23.56,23.81,23.42,24.29,24.84,24.11,24.62,24.53,
-25.16,25.57,24.86,26.45,26.66,26.46,26.80,26.44,27.02,27.60,
-27.77,26.86,28.00,27.84,27.80,27.02,29.03,28.34,28.38,28.97,
-28.83,29.86,28.95,29.45,31.34,30.42,30.16,30.73,31.34,28.97,
-30.36,31.10,31.09,32.01,31.90,31.80,33.23,32.08,31.25,32.48,
-33.16,31.44,34.24,34.07,33.44,33.36,33.25,34.37,35.23,34.47,
-33.88,35.26,34.03,34.75,34.94,34.63,35.65,37.50,35.34,34.43,
-37.14,36.43,37.51,36.82,37.36,36.94,36.75,37.71,36.78,39.45,
-37.38,37.10,39.43,37.00,38.90,39.32,40.16,40.41,39.31,41.64,
-40.38,40.09,39.64,41.23,40.52,41.57,41.12,41.85,42.19,42.88,
-39.69,41.61,41.35,43.06,42.07,42.61,43.58,42.30,44.38,42.66,
-42.74,44.50,42.50,43.54,43.64,42.81,44.56,45.49,45.80,44.34,
-45.29,45.29,46.57,45.98,45.87,47.10,45.15,46.51,45.25,44.78,
-45.40,47.71,47.22,46.37,50.51,48.58,47.48,48.17,48.69,47.54,
-47.80,50.26,47.69,48.73,49.51,48.71,49.91,49.73,49.45,50.65,
-51.63,51.45,52.16,51.19,52.03,50.35,51.37,52.99,52.19,52.21,
-54.63,52.69,52.46,51.55,52.48,53.50,52.02,51.95,54.68,53.85,
-1.21,1.59,1.42,1.83,1.90,2.24,2.58,1.98,2.18,2.98,
-3.25,3.29,2.51,3.22,3.29,3.19,3.77,3.30,3.84,4.31,
-4.32,4.09,4.44,4.63,4.33,4.45,4.61,4.88,5.34,4.82,
-6.19,4.69,5.43,5.70,5.08,6.57,6.08,6.33,6.55,6.50,
-6.64,7.53,7.49,7.09,6.88,7.76,8.00,7.32,7.73,7.88,
-7.96,8.05,8.64,8.67,9.05,8.81,8.93,9.13,9.42,8.53,
-9.20,9.95,10.10,9.39,10.22,9.65,10.30,11.38,10.69,9.88,
-10.71,10.55,10.14,11.15,10.94,11.36,11.36,11.34,11.48,11.96,
-11.94,12.55,12.26,11.57,12.74,11.90,13.64,13.02,12.77,13.57,
-13.38,13.24,13.56,14.02,13.70,13.25,14.00,14.82,13.95,13.76,
-14.48,15.62,15.31,14.88,14.63,14.89,14.85,15.93,16.93,15.93,
-15.95,16.02,16.04,17.89,16.21,17.34,17.74,17.30,16.71,16.96,
-18.47,17.68,17.89,17.91,18.55,17.76,18.44,18.84,18.55,18.82,
-19.47,18.55,18.98,18.75,18.82,19.71,19.59,21.22,20.37,20.46,
-19.96,19.91,19.25,19.38,19.85,22.12,19.80,20.96,20.87,21.02,
-21.17,21.08,21.35,21.76,20.80,20.50,22.57,22.07,22.15,21.90,
-23.07,22.28,23.08,21.66,23.40,23.04,24.05,24.38,23.01,24.67,
-23.19,24.18,24.20,25.15,24.53,24.34,24.95,24.70,24.78,25.44,
-25.49,27.40,25.17,25.94,25.52,26.89,26.65,26.38,26.68,27.42,
-26.88,26.39,25.52,27.07,28.12,28.34,26.54,27.36,27.96,28.38,
-29.27,28.73,29.22,28.01,27.95,28.41,29.11,29.98,29.72,29.92,
-29.98,29.78,29.78,29.91,30.41,30.55,28.73,30.42,31.95,29.78,
-31.54,31.15,33.00,31.43,30.66,31.86,30.82,31.41,31.96,31.80,
-31.59,31.35,33.16,33.58,31.61,32.03,34.09,32.34,32.28,34.49,
-32.67,34.15,34.62,33.87,33.37,33.92,35.35,33.15,33.31,36.01,
-33.27,34.74,33.39,34.64,35.28,35.81,36.37,36.64,35.51,34.94,
-35.38,36.51,36.98,36.83,37.56,38.20,36.55,36.92,35.17,36.57,
-37.90,37.96,37.54,37.02,37.98,38.88,39.31,39.14,38.12,39.18,
-39.55,38.17,39.93,39.68,38.82,40.13,39.58,40.88,40.45,41.38,
-0.94,0.98,1.34,1.27,1.56,1.79,1.81,1.36,1.75,2.29,
-1.89,1.89,2.12,2.17,2.49,2.37,2.69,2.67,2.49,3.09,
-3.02,2.71,3.05,3.45,3.96,3.37,3.29,3.24,3.25,3.53,
-4.25,4.06,4.43,3.97,4.54,4.26,4.48,4.81,4.98,4.53,
-4.74,5.49,5.49,5.50,5.32,5.26,5.48,5.86,5.50,6.18,
-5.64,5.63,6.59,6.33,5.99,5.62,6.39,6.27,6.44,6.61,
-6.92,6.87,6.87,7.30,6.35,7.13,7.48,7.75,7.77,7.82,
-7.88,8.19,8.39,8.17,7.80,8.93,9.07,8.62,8.75,8.59,
-9.31,9.21,8.91,8.81,8.95,9.89,9.92,9.64,10.29,9.71,
-9.63,10.70,10.00,10.54,10.43,10.55,10.02,9.92,10.52,11.03,
-10.53,11.08,10.66,10.91,10.52,11.91,12.84,12.21,11.60,11.73,
-10.99,11.47,12.33,12.21,12.31,11.42,12.51,12.88,12.15,12.38,
-13.70,13.44,12.52,13.32,12.83,13.59,13.00,13.15,13.55,13.30,
-14.20,14.32,13.97,13.71,14.80,14.38,13.29,14.74,15.37,14.35,
-15.79,15.05,14.88,14.95,15.20,15.51,15.75,14.26,15.36,15.54,
-15.93,15.59,16.75,16.09,15.05,15.79,16.53,17.19,17.11,16.82,
-16.64,17.37,16.66,17.22,18.21,16.53,16.10,17.58,18.19,18.44,
-16.81,18.41,18.71,18.38,16.32,18.89,18.82,17.61,18.36,17.76,
-18.20,18.59,18.46,19.76,18.95,19.42,18.53,18.62,18.24,17.83,
-19.14,19.92,19.37,19.96,18.98,19.86,20.76,21.51,19.77,22.17,
-21.69,21.08,21.64,22.12,20.27,19.82,20.79,21.46,21.30,21.52,
-21.50,22.02,20.42,20.70,20.94,22.88,21.42,21.68,22.73,20.76,
-22.29,23.63,21.85,23.45,22.78,22.10,23.09,23.14,24.81,24.52,
-23.62,23.62,23.43,24.29,24.67,25.06,24.02,24.32,23.99,24.48,
-24.42,25.05,24.71,24.34,25.61,24.61,25.09,26.16,25.08,24.85,
-25.69,25.59,25.24,25.83,27.30,24.71,25.71,26.87,26.27,26.33,
-27.91,27.44,27.55,26.52,27.62,27.87,27.47,26.90,27.07,27.74,
-27.58,25.29,26.92,28.31,27.57,28.13,29.46,26.59,28.82,29.48,
-27.87,29.13,28.83,29.01,29.97,30.33,29.01,28.31,29.95,29.50,
-0.75,0.96,0.88,0.88,1.05,1.19,1.28,1.09,1.00,1.20,
-1.39,1.55,1.62,1.25,1.65,1.47,1.82,1.77,1.96,2.43,
-2.35,2.21,2.29,2.75,2.94,2.62,2.86,2.69,3.15,3.03,
-3.01,2.98,3.10,3.48,3.35,3.49,3.36,3.17,3.55,3.43,
-3.40,3.75,3.77,4.21,4.30,3.76,4.33,4.20,3.74,3.89,
-3.98,4.70,4.97,4.51,4.69,5.07,4.64,4.95,5.29,4.74,
-4.50,5.24,5.74,5.73,5.06,5.90,5.25,5.41,6.67,5.48,
-5.80,6.15,5.67,6.17,5.65,6.10,6.82,6.20,6.13,5.97,
-6.95,6.88,7.12,7.13,7.37,6.77,7.01,7.21,6.42,7.64,
-7.30,7.67,6.96,7.83,7.76,7.86,7.44,8.12,7.50,7.59,
-8.13,7.87,7.63,7.68,8.60,9.02,7.79,7.71,8.84,8.55,
-8.21,8.88,8.26,8.69,8.89,9.13,9.55,9.11,9.51,9.26,
-9.27,10.06,8.54,10.25,9.54,10.55,9.69,9.98,9.16,10.08,
-8.94,10.16,9.42,9.76,10.99,10.00,10.77,10.31,10.43,10.67,
-10.77,11.02,11.18,10.22,11.69,11.49,10.86,11.47,11.40,10.44,
-12.25,11.77,11.70,10.83,11.63,10.98,12.25,11.79,12.22,11.75,
-11.84,12.77,12.38,13.64,12.81,12.15,11.89,12.69,12.79,13.21,
-13.77,12.22,12.92,13.10,12.23,13.07,13.62,14.07,13.30,14.16,
-13.37,13.41,14.59,14.58,14.83,13.26,14.20,13.76,15.11,14.05,
-14.34,13.57,14.27,14.28,14.28,14.59,14.23,15.08,14.99,15.97,
-15.06,15.40,15.01,15.19,15.59,14.96,15.52,16.23,15.39,15.95,
-16.83,16.80,15.36,16.15,16.24,16.11,16.03,16.67,17.01,16.27,
-16.45,16.74,15.44,16.54,16.88,16.61,17.25,17.39,16.82,18.01,
-15.99,16.60,17.13,17.76,18.22,17.92,18.32,18.19,18.33,17.54,
-18.91,18.07,17.70,18.65,18.16,18.70,17.97,18.32,19.29,18.86,
-19.15,18.61,18.02,18.50,18.37,19.16,19.47,19.76,18.78,19.11,
-18.83,18.02,19.94,19.30,19.45,19.32,19.94,19.52,19.68,20.62,
-20.04,19.89,20.17,20.21,21.19,20.15,19.77,21.17,21.71,20.16,
-20.64,20.81,21.14,22.37,22.13,21.61,20.47,21.89,21.99,21.13,
-0.51,0.75,0.57,0.68,0.75,0.61,0.93,0.89,1.08,1.20,
-1.14,0.92,1.39,1.14,1.29,1.31,1.30,1.54,1.56,1.29,
-1.52,1.66,1.69,1.88,1.38,2.03,1.62,2.09,1.93,1.96,
-2.30,2.39,2.19,2.12,2.35,2.14,2.32,2.39,2.53,2.63,
-2.65,2.50,3.02,3.30,3.34,2.73,2.61,3.27,3.38,3.44,
-2.89,3.63,3.42,3.41,3.81,3.16,3.33,3.17,3.59,3.11,
-3.62,3.72,3.94,4.16,4.05,4.30,4.08,3.56,3.96,4.24,
-4.20,4.22,4.13,4.36,4.04,4.66,5.07,4.81,4.84,4.55,
-5.00,5.26,4.86,4.97,4.88,5.02,4.64,5.27,5.73,4.85,
-5.59,5.19,5.17,4.95,5.05,5.36,5.69,5.32,5.22,5.63,
-5.07,6.15,5.84,5.99,6.39,6.31,6.65,6.53,5.83,6.06,
-6.66,6.35,6.52,6.07,6.63,7.04,6.28,7.13,6.88,6.49,
-7.22,7.20,7.36,6.52,6.76,7.04,7.25,7.11,7.55,7.36,
-7.11,7.00,7.80,7.56,7.69,7.26,7.85,7.72,8.27,7.46,
-6.97,7.73,7.78,8.89,8.09,7.66,9.31,9.16,8.41,8.35,
-8.61,8.44,7.98,8.51,8.18,8.89,9.11,8.83,8.54,9.33,
-8.83,8.47,9.06,8.65,10.04,9.21,9.63,8.89,8.82,10.89,
-9.99,9.62,9.10,9.91,9.62,9.34,10.37,10.00,10.43,10.52,
-9.65,10.19,9.63,10.84,10.21,9.97,10.37,10.68,10.15,10.49,
-11.34,10.57,10.29,11.68,10.56,10.88,11.18,11.46,11.36,10.77,
-12.02,11.02,11.32,11.56,11.67,11.85,11.95,11.33,12.50,12.10,
-11.79,12.44,10.63,12.03,12.36,12.07,11.63,12.52,12.45,11.64,
-11.94,12.40,12.39,12.22,12.07,11.38,11.96,12.53,11.79,12.42,
-12.83,12.64,13.05,14.27,13.05,12.10,12.08,13.20,12.91,12.82,
-12.80,12.71,13.15,13.30,12.61,13.80,12.95,13.27,13.57,14.12,
-14.35,13.72,13.20,14.46,13.90,15.07,14.91,14.32,14.70,14.84,
-14.83,15.12,14.13,14.68,14.66,14.91,15.00,13.94,15.14,12.71,
-14.34,14.34,15.80,14.18,13.94,14.95,15.16,14.12,14.89,15.24,
-14.65,15.38,16.08,15.92,15.81,14.71,16.34,15.73,15.56,16.05,
-0.34,0.59,0.36,0.52,0.59,0.68,0.73,0.72,0.78,0.75,
-1.01,0.89,0.79,0.88,1.21,0.89,0.80,1.05,1.09,0.96,
-1.36,1.12,1.15,1.02,1.28,1.50,1.88,1.42,1.14,1.27,
-1.27,1.52,1.60,1.78,1.70,1.79,2.04,1.97,1.84,1.84,
-1.88,2.03,1.93,2.09,2.17,2.23,1.91,2.53,2.18,2.30,
-2.27,2.50,2.51,2.27,2.11,2.55,2.48,2.53,2.62,2.67,
-2.64,2.98,2.74,2.98,2.99,2.96,2.83,3.14,2.74,2.81,
-3.14,3.03,3.45,3.19,3.37,3.38,3.42,3.51,3.44,3.54,
-3.60,3.46,3.86,3.44,3.77,3.92,3.62,3.56,4.07,3.39,
-4.10,4.06,4.04,3.78,4.13,3.67,4.21,3.91,3.92,4.05,
-4.44,4.27,4.07,4.38,4.55,4.34,4.80,4.60,4.70,4.49,
-4.73,4.96,4.53,4.47,5.08,5.01,4.96,4.41,5.11,5.24,
-4.97,4.79,5.16,4.89,5.20,4.85,4.99,5.13,5.77,5.65,
-5.26,5.57,4.63,5.74,4.93,5.22,5.75,5.41,5.68,5.72,
-5.61,5.36,5.51,5.79,6.13,5.77,5.38,6.50,6.00,6.13,
-6.48,6.87,6.13,6.83,6.47,6.79,5.72,6.10,5.94,6.73,
-6.53,6.73,7.46,6.58,6.73,6.99,7.42,6.80,7.37,7.02,
-7.20,6.43,7.59,6.83,6.89,6.95,7.17,7.40,6.29,7.54,
-7.32,7.13,7.82,6.98,7.21,7.45,7.54,7.33,7.42,7.71,
-7.15,7.76,7.67,8.00,8.83,7.79,7.38,7.34,8.69,7.95,
-7.72,7.74,7.73,8.17,8.01,8.55,8.16,8.10,8.74,8.24,
-7.89,9.11,9.36,8.54,8.40,8.73,8.18,9.05,9.01,8.44,
-9.24,9.81,9.34,9.22,9.11,8.72,9.39,8.95,9.31,9.10,
-9.38,9.38,9.38,8.55,8.64,9.45,9.48,9.98,10.23,10.46,
-10.98,9.39,9.02,9.56,10.27,9.35,10.00,9.58,10.56,9.35,
-10.02,9.74,10.13,10.63,12.00,11.01,10.28,11.06,10.10,9.82,
-10.19,11.08,11.27,10.82,10.69,10.72,10.03,11.74,10.66,10.53,
-10.57,10.14,10.18,10.29,11.50,11.05,10.83,10.20,11.31,11.19,
-11.76,11.54,11.45,10.76,11.97,10.88,11.60,11.63,11.25,11.30,
-0.47,0.37,0.32,0.31,0.38,0.55,0.21,0.55,0.50,0.51,
-0.48,0.48,0.78,0.68,0.56,1.01,0.60,0.75,0.86,0.56,
-0.91,1.20,1.12,1.04,0.97,1.18,1.07,1.67,1.15,1.24,
-0.95,1.55,1.30,1.11,1.08,1.34,1.14,1.47,1.71,1.31,
-1.56,1.55,1.81,1.83,1.66,1.12,1.76,1.72,1.38,1.76,
-1.50,2.15,1.69,1.68,1.81,2.01,1.97,2.23,1.94,2.32,
-1.82,2.07,2.37,2.01,1.88,1.98,1.87,1.92,2.07,2.09,
-2.32,2.40,1.98,2.27,1.99,2.68,2.85,2.06,1.72,2.48,
-2.27,2.43,2.92,2.18,2.86,2.96,2.94,2.68,2.44,2.78,
-2.87,2.65,2.92,2.64,3.41,2.99,2.98,2.76,3.02,3.18,
-3.10,2.84,3.16,3.10,3.19,2.83,3.30,3.23,2.91,3.45,
-3.43,3.04,3.58,3.86,3.36,3.35,3.17,3.26,3.67,3.37,
-4.35,3.53,3.71,3.76,4.17,3.75,3.97,3.79,3.94,3.35,
-4.06,4.04,3.42,4.24,4.34,4.04,4.14,3.68,3.69,4.07,
-4.40,4.00,4.59,4.12,4.29,4.73,4.71,3.97,4.65,4.95,
-4.36,4.79,4.26,4.32,4.76,4.28,4.91,4.56,4.94,5.00,
-5.34,4.81,4.85,4.81,5.74,5.23,5.86,5.09,5.10,4.96,
-5.17,5.26,5.49,5.39,5.67,5.22,5.23,5.16,5.93,5.43,
-5.29,5.36,4.72,5.47,5.46,5.47,4.90,6.20,5.92,5.62,
-5.63,5.69,5.85,5.92,6.64,6.44,5.87,6.16,5.58,5.91,
-5.86,6.04,5.66,5.87,6.09,6.04,5.88,5.85,6.40,6.25,
-6.28,7.00,6.83,6.68,6.50,6.28,7.41,6.03,6.27,6.99,
-6.38,5.92,6.74,6.66,6.89,7.20,6.88,7.07,6.50,7.33,
-6.64,6.37,7.41,7.49,6.77,7.21,7.58,7.35,7.66,6.73,
-8.64,7.20,6.52,7.18,6.81,7.15,7.10,6.93,7.04,8.03,
-7.16,8.12,6.52,7.28,7.38,7.47,7.47,7.45,7.61,7.00,
-7.50,7.08,7.94,6.93,8.32,8.05,8.26,8.67,8.34,7.59,
-7.77,8.09,8.06,8.21,8.28,8.77,7.66,8.21,8.71,8.73,
-8.22,8.64,7.89,8.78,7.89,8.21,9.13,8.68,8.31,8.59,
-0.21,0.20,0.33,0.17,0.28,0.32,0.19,0.29,0.38,0.30,
-0.59,0.39,0.25,0.34,0.44,0.64,0.66,0.71,0.53,0.51,
-0.54,0.90,0.77,0.74,0.69,0.76,0.88,0.89,0.70,0.86,
-0.90,0.80,1.01,0.98,0.83,0.67,1.23,0.93,1.21,0.61,
-0.95,1.07,0.98,1.29,0.99,1.16,1.07,1.17,1.21,1.51,
-0.89,1.38,1.91,1.57,1.48,1.31,1.04,1.25,1.51,1.51,
-1.58,1.34,1.77,1.46,1.49,1.33,1.49,1.52,1.72,1.83,
-1.93,1.35,1.82,1.86,1.88,1.99,1.65,2.13,1.82,1.55,
-2.05,2.29,1.75,1.89,1.89,1.68,2.11,1.94,1.89,2.01,
-2.36,2.02,2.58,1.84,2.03,2.38,2.29,2.11,2.21,1.91,
-1.91,2.45,2.21,2.49,2.60,3.06,2.24,2.47,2.23,2.19,
-2.64,2.49,2.30,2.46,2.97,2.29,2.83,2.52,2.54,2.76,
-2.67,2.56,2.40,2.71,3.27,2.50,2.53,2.75,2.87,3.34,
-3.12,3.00,2.48,2.76,2.88,3.54,3.62,2.81,2.84,3.25,
-3.23,3.04,3.39,3.30,2.73,3.27,2.97,2.99,2.91,3.23,
-2.94,3.39,3.60,2.97,3.30,3.42,3.97,3.69,3.36,3.29,
-3.67,3.12,3.48,3.47,3.56,4.04,3.24,3.71,3.79,3.99,
-3.89,3.55,3.27,3.80,3.75,3.45,3.97,3.89,4.26,4.29,
-4.41,4.18,3.58,4.17,3.86,4.43,4.30,4.48,4.63,4.23,
-4.51,3.76,4.35,4.28,4.40,4.03,3.59,4.41,3.70,4.41,
-4.35,4.44,4.40,4.20,4.70,4.99,4.33,4.18,4.60,4.55,
-4.87,3.92,5.19,4.52,4.29,4.24,4.80,4.54,5.14,4.78,
-4.18,5.04,4.95,4.85,5.05,5.27,5.17,4.75,4.83,4.83,
-5.10,5.23,4.73,5.14,4.71,5.54,4.53,4.96,5.43,4.82,
-4.45,5.46,4.89,5.80,5.60,5.31,5.02,5.59,5.70,5.26,
-5.79,5.51,5.14,5.01,5.39,5.92,5.54,5.45,5.13,5.41,
-5.05,5.41,5.07,5.98,5.75,5.91,5.74,4.88,6.41,5.68,
-5.84,6.15,5.33,5.53,4.77,7.00,5.33,6.14,5.52,5.31,
-5.69,6.12,5.86,5.75,6.67,5.75,5.97,6.98,6.01,6.18,
-0.08,0.26,0.15,0.07,0.24,0.25,0.23,0.29,0.28,0.37,
-0.27,0.28,0.26,0.27,0.34,0.23,0.55,0.44,0.46,0.34,
-0.51,0.53,0.42,0.41,0.31,0.86,0.39,0.50,0.55,0.50,
-0.31,0.85,0.56,0.55,0.74,1.00,0.73,0.83,1.12,0.71,
-0.86,0.73,0.70,0.76,0.85,0.72,0.70,1.02,1.01,1.02,
-0.90,0.67,0.99,0.86,0.89,1.02,0.94,0.99,0.86,0.93,
-0.98,1.11,1.02,1.28,1.42,1.12,1.00,1.04,1.22,1.29,
-1.18,1.30,1.30,1.42,1.19,1.10,1.31,1.21,1.45,1.56,
-1.25,0.85,1.41,1.27,1.32,1.47,1.42,1.59,1.41,1.42,
-1.35,1.61,1.40,1.67,1.38,1.28,1.74,1.50,1.45,1.73,
-1.76,1.71,1.91,1.48,1.72,1.56,1.90,1.91,1.87,1.57,
-1.59,1.70,2.30,1.88,1.70,1.79,1.87,1.54,1.89,2.01,
-2.01,1.96,1.77,2.37,2.03,1.99,1.83,2.74,1.99,2.23,
-1.67,2.45,2.04,1.99,2.36,2.11,2.53,2.10,2.37,2.19,
-2.23,2.25,2.20,2.42,2.25,2.10,2.53,2.25,1.93,2.31,
-2.46,2.43,2.46,2.65,2.45,2.47,2.84,2.92,2.23,2.63,
-2.80,2.84,2.67,2.50,2.89,2.49,2.31,2.46,3.10,2.88,
-2.88,2.42,2.63,2.80,2.66,2.99,2.82,3.05,2.54,2.50,
-2.64,3.24,2.81,3.45,3.15,2.41,3.29,3.30,2.96,3.22,
-3.57,2.45,2.93,2.70,2.69,2.58,2.63,2.64,3.21,3.23,
-3.14,2.99,3.35,3.21,3.55,3.26,3.18,3.58,3.22,3.33,
-3.06,3.56,2.80,3.26,3.28,3.00,3.10,3.09,2.82,3.24,
-3.36,3.58,3.43,3.20,3.33,3.38,2.96,3.36,3.65,3.92,
-3.83,3.29,3.20,3.94,3.23,3.79,3.85,3.59,3.56,3.42,
-3.67,3.58,3.15,2.97,3.67,4.21,3.48,3.57,3.76,3.67,
-4.03,4.25,3.54,3.90,3.92,3.93,3.70,4.38,3.55,3.59,
-3.93,4.35,4.40,3.96,4.01,3.96,4.27,4.14,4.62,4.33,
-3.79,4.60,4.46,4.64,4.09,4.03,4.00,4.03,4.32,3.81,
-3.79,5.24,4.54,4.54,4.55,5.16,4.36,4.52,4.56,4.86,
-12.66,12.60,15.05,16.12,16.93,18.42,19.91,20.27,22.91,23.27,
-24.41,24.51,26.55,27.43,28.89,30.10,31.68,31.70,33.63,34.05,
-36.12,37.54,37.68,38.35,40.84,41.27,43.08,44.17,44.99,46.22,
-48.31,48.26,50.63,52.54,51.60,53.29,55.29,56.44,57.06,57.19,
-59.66,59.99,60.65,62.78,64.10,64.24,66.51,66.06,68.70,69.98,
-70.83,73.39,73.23,73.70,75.72,75.75,78.04,78.13,79.39,81.38,
-82.58,84.77,86.62,87.01,86.46,88.79,88.76,92.59,91.51,95.50,
-95.78,97.17,97.95,97.92,100.31,99.19,101.47,102.38,106.14,106.60,
-105.70,107.68,109.86,110.00,111.16,112.45,111.74,114.72,115.56,116.16,
-119.07,119.80,118.64,121.48,124.67,123.20,125.66,127.25,125.61,130.14,
-130.79,131.90,131.21,134.22,135.34,136.03,138.04,138.65,140.50,137.45,
-142.00,141.97,143.81,144.41,147.26,147.89,148.33,150.36,150.66,151.57,
-153.07,154.63,156.00,157.75,156.54,158.65,161.40,162.39,161.89,164.71,
-163.42,166.76,168.91,171.51,170.51,171.35,172.08,175.16,174.02,174.30,
-176.56,177.53,179.92,181.86,182.27,184.10,183.38,184.33,186.75,188.90,
-190.93,189.34,190.31,192.33,196.45,193.92,196.05,199.82,199.88,198.40,
-200.05,203.20,203.12,206.19,205.92,204.96,209.08,206.85,210.15,213.28,
-213.84,213.88,213.41,219.24,217.03,219.67,220.64,222.73,224.84,221.06,
-226.56,225.74,228.74,227.35,228.63,229.98,229.97,232.34,234.19,233.11,
-234.47,236.88,238.61,241.94,242.50,240.34,244.70,242.77,244.37,247.52,
-247.18,248.01,248.29,256.28,252.00,253.60,256.64,255.42,257.36,256.98,
-257.95,259.26,261.84,264.93,266.55,267.42,266.74,268.45,268.81,268.69,
-271.38,273.90,275.86,273.22,276.32,276.26,278.73,282.11,280.34,284.55,
-283.27,284.51,283.07,285.40,288.01,289.02,294.00,290.28,293.95,294.51,
-297.33,297.31,299.12,297.82,302.82,302.15,304.19,304.00,305.26,306.22,
-304.31,308.67,308.55,311.44,311.84,313.44,312.81,314.71,316.12,316.13,
-320.09,316.24,320.82,322.36,322.85,323.68,327.52,330.04,328.91,331.20,
-329.78,330.07,335.90,333.54,336.88,335.59,336.09,337.69,334.21,340.63,
-342.86,343.66,344.60,345.38,345.82,347.28,348.40,350.72,353.23,353.37,
-9.03,10.62,10.99,11.62,13.32,13.78,14.86,15.11,17.18,16.98,
-18.20,18.26,20.20,21.53,21.89,23.64,23.55,24.64,26.12,26.54,
-27.66,28.46,28.52,30.21,30.98,32.65,32.04,33.85,34.38,35.57,
-36.96,37.55,38.80,39.81,40.34,41.78,42.28,42.38,43.99,44.80,
-44.52,46.17,46.45,46.64,48.53,49.36,50.49,50.30,52.92,52.89,
-55.21,55.18,56.23,56.33,56.64,60.19,60.08,62.55,62.67,61.42,
-65.88,65.24,66.53,66.28,66.38,67.65,69.98,69.96,70.83,71.61,
-73.67,72.89,74.42,76.70,77.52,76.02,77.70,80.46,81.31,80.72,
-81.80,82.72,83.94,83.81,87.32,86.78,89.53,87.25,90.59,90.43,
-90.58,91.97,91.51,92.95,94.11,94.78,96.62,96.71,98.61,99.15,
-99.29,102.77,100.73,103.25,103.21,104.74,104.58,107.24,107.16,106.91,
-107.96,109.54,111.02,110.17,111.75,111.86,111.19,114.22,115.77,116.85,
-117.96,119.29,121.11,118.67,122.27,122.61,123.83,123.47,124.49,127.22,
-126.93,126.13,129.59,128.24,130.38,130.87,131.98,135.24,135.37,134.83,
-136.07,136.84,138.28,139.11,141.04,143.23,141.46,141.79,142.50,142.53,
-143.87,146.32,147.14,148.58,148.07,149.53,152.11,152.71,151.58,153.96,
-152.41,156.43,155.55,158.45,157.26,156.47,156.59,160.82,162.21,162.09,
-163.04,164.59,165.41,164.22,167.13,166.92,170.25,170.95,169.87,171.19,
-171.91,174.89,173.41,175.09,175.39,175.84,178.20,179.03,176.57,182.22,
-179.71,182.91,185.60,182.60,183.63,184.09,187.90,187.24,189.59,188.79,
-189.12,188.95,191.69,194.57,193.32,194.89,194.44,197.47,196.56,201.06,
-198.18,199.84,204.94,202.55,203.15,202.54,205.43,205.52,208.19,209.80,
-206.84,210.82,214.87,208.11,209.24,211.30,216.03,213.17,216.87,216.73,
-219.03,218.89,222.28,219.51,220.84,221.71,224.34,228.50,225.86,222.29,
-228.14,227.30,227.17,231.28,230.09,229.54,232.20,232.91,234.29,233.54,
-234.85,236.56,236.44,239.56,240.08,241.58,241.24,242.06,242.80,246.46,
-245.46,244.65,246.42,246.35,248.53,250.40,249.12,248.52,250.07,250.99,
-254.24,258.60,255.38,253.80,258.15,256.57,259.90,258.52,263.24,260.96,
-263.46,262.16,263.01,267.32,265.84,265.02,272.33,268.21,270.93,268.89,
-7.77,7.96,8.77,8.79,10.36,11.06,10.90,12.40,13.16,13.02,
-14.50,14.67,15.11,15.95,17.05,18.42,18.61,18.88,19.86,20.64,
-20.12,21.22,22.86,23.16,24.63,24.23,25.13,25.45,26.77,27.52,
-28.87,28.54,29.54,30.10,29.95,31.12,31.95,32.01,33.66,34.10,
-35.05,35.45,36.32,37.20,38.91,36.69,38.37,38.30,41.80,40.44,
-41.86,40.58,42.90,43.22,44.20,45.86,45.49,45.95,47.95,48.60,
-48.96,49.78,49.98,50.23,52.51,50.76,53.49,51.18,53.87,56.73,
-55.95,55.79,57.06,57.23,57.25,59.53,60.05,60.78,60.44,61.46,
-62.20,64.51,63.86,63.35,66.40,66.79,67.62,66.58,68.77,66.42,
-68.23,70.71,70.55,71.12,70.49,72.64,75.12,73.38,74.71,74.67,
-77.21,78.12,77.90,78.32,79.16,80.07,82.34,80.33,82.46,82.69,
-83.39,84.57,85.13,85.00,86.15,87.25,87.26,88.12,89.49,89.14,
-90.73,90.31,92.21,93.14,92.56,92.91,93.30,93.78,96.98,95.04,
-97.88,98.14,98.18,99.68,99.51,102.69,102.55,101.08,102.62,102.37,
-106.08,103.16,105.78,106.33,105.67,107.15,108.75,106.98,109.02,109.35,
-109.83,112.63,114.12,113.80,112.21,112.84,116.98,116.59,114.77,118.79,
-117.45,115.94,117.89,118.61,120.32,120.19,123.77,120.32,126.37,123.79,
-124.80,126.68,127.35,126.01,128.68,128.25,129.71,130.18,130.40,131.89,
-129.71,132.57,133.40,134.53,135.45,135.71,135.70,135.00,134.80,136.44,
-138.75,140.28,137.47,138.70,140.23,140.77,142.34,144.06,146.24,145.00,
-145.66,145.42,146.62,146.21,148.22,144.75,150.16,149.47,153.49,148.50,
-154.96,152.25,154.93,154.85,153.62,154.31,153.51,157.77,158.54,156.56,
-159.75,159.24,160.91,161.80,162.85,162.16,163.71,164.90,163.48,164.61,
-165.74,164.90,167.28,169.34,168.12,170.32,170.83,169.88,171.50,171.07,
-172.20,173.06,173.48,174.59,175.14,179.50,179.34,178.49,179.31,179.46,
-181.87,179.33,179.02,181.27,184.83,182.45,183.58,184.14,185.67,185.53,
-187.87,185.52,187.46,189.20,190.31,187.82,191.91,193.07,193.92,191.98,
-194.71,194.66,194.00,197.47,196.81,194.26,196.63,198.05,197.19,199.07,
-199.11,200.86,202.49,202.55,203.81,205.12,204.26,201.53,203.91,204.79,
-5.37,6.21,6.44,6.63,7.60,8.40,9.05,8.98,9.42,10.02,
-10.67,11.45,11.77,12.46,12.37,12.91,14.13,14.05,14.76,16.04,
-16.56,16.20,17.16,17.13,18.01,19.04,19.38,19.60,19.39,20.43,
-21.12,21.79,22.23,22.13,23.34,24.33,24.61,24.16,24.52,26.10,
-26.96,27.58,26.60,27.83,28.47,29.25,29.35,30.68,31.42,32.29,
-30.92,31.89,32.29,33.10,33.88,34.41,33.74,35.70,35.14,35.64,
-37.21,37.21,38.02,37.50,38.99,38.85,39.19,38.88,40.74,41.94,
-41.13,42.93,41.88,44.62,44.86,45.14,45.95,44.59,47.27,47.35,
-46.62,48.24,47.73,48.80,48.79,51.01,50.20,50.05,50.81,52.34,
-50.64,53.01,53.03,54.34,55.28,54.90,55.79,57.38,56.55,56.69,
-58.45,59.75,58.15,58.27,61.49,59.78,60.69,62.21,62.19,63.09,
-62.76,61.92,65.49,64.53,66.22,65.38,65.01,66.07,66.89,69.20,
-68.53,69.51,72.12,68.68,69.83,70.83,70.41,73.66,73.08,75.53,
-74.85,73.16,74.46,73.41,76.58,76.47,74.76,77.74,75.78,77.21,
-78.27,79.71,78.91,81.40,78.43,81.32,83.91,79.77,83.61,83.91,
-84.09,85.19,82.32,84.22,84.82,88.09,87.43,87.83,87.26,89.03,
-89.96,88.87,91.84,90.03,91.68,93.02,92.56,92.30,92.67,91.23,
-96.28,93.89,96.58,98.17,96.82,97.40,98.96,99.28,99.43,100.70,
-98.92,99.09,102.07,100.46,100.44,103.56,99.81,101.24,104.36,103.77,
-105.25,104.83,104.50,106.32,106.19,107.85,109.27,108.02,109.87,108.82,
-111.56,110.83,114.88,108.81,114.19,112.26,113.18,112.69,113.55,114.35,
-114.19,118.29,119.16,118.94,113.81,116.80,117.50,118.43,119.90,119.78,
-122.39,122.79,122.67,124.51,122.70,124.13,121.97,124.51,123.28,126.61,
-126.62,124.33,127.31,128.87,129.47,128.72,131.38,131.58,128.45,130.73,
-131.37,133.81,133.51,130.76,132.67,134.96,132.48,135.91,133.75,133.51,
-132.43,133.78,135.41,136.18,137.85,140.01,142.55,139.48,139.22,139.77,
-140.74,139.92,143.34,143.70,145.31,143.17,146.40,145.24,147.97,146.94,
-148.62,145.86,149.12,149.83,150.41,148.28,151.85,148.69,152.07,151.28,
-150.30,154.08,153.86,154.01,151.68,154.19,158.13,156.00,155.28,158.64,
-3.71,3.83,4.76,5.22,6.22,5.80,6.49,7.48,6.95,8.57,
-8.02,8.20,9.37,9.04,9.36,10.21,10.86,10.89,11.48,11.46,
-11.86,12.28,13.33,13.24,14.01,13.68,14.67,15.16,15.16,15.13,
-16.01,15.79,16.60,17.25,17.78,17.89,18.95,18.41,19.48,18.91,
-20.96,20.43,19.57,21.52,21.37,22.71,21.64,22.43,23.67,24.21,
-24.20,25.10,25.32,26.25,25.21,26.51,26.48,25.91,27.51,27.73,
-27.63,28.50,28.22,28.93,29.47,29.46,31.38,29.60,30.36,31.09,
-32.54,33.19,32.64,32.14,32.28,33.14,34.64,34.63,34.23,35.06,
-35.71,36.15,36.44,35.83,36.83,38.42,38.77,39.27,39.43,40.30,
-41.80,41.13,39.80,41.53,41.90,40.65,42.64,42.82,42.33,42.26,
-44.94,43.61,44.54,45.48,45.18,47.22,47.75,46.33,48.08,47.66,
-48.07,49.22,48.21,48.68,47.80,48.14,48.85,51.19,50.65,50.50,
-52.84,51.24,52.74,52.20,54.84,53.06,54.51,54.88,55.82,54.96,
-56.26,54.45,56.17,57.98,56.84,57.39,57.02,58.26,58.31,58.63,
-60.39,59.91,59.34,60.76,61.62,62.45,61.07,63.27,62.55,64.31,
-62.72,63.86,66.03,65.14,66.19,64.55,66.56,66.47,67.24,67.59,
-67.01,66.16,67.74,68.21,67.26,69.25,69.34,69.53,71.33,72.19,
-73.93,72.06,74.11,71.61,72.98,72.41,75.86,75.05,74.67,75.32,
-73.71,77.59,76.90,77.66,77.59,76.96,77.59,80.94,78.48,79.67,
-78.35,80.86,78.56,80.97,84.76,79.21,82.78,83.97,83.39,84.02,
-81.46,82.11,84.76,82.96,85.07,84.33,87.45,85.76,84.74,88.11,
-87.25,89.24,89.73,88.70,88.07,88.27,89.84,91.72,89.94,94.42,
-88.98,93.06,90.47,92.81,93.03,91.69,90.81,95.89,94.77,96.80,
-94.94,94.99,97.41,95.83,97.04,96.66,98.21,97.05,98.88,99.98,
-100.24,100.05,99.02,98.54,100.50,101.58,102.85,102.42,103.11,101.57,
-100.97,103.11,101.83,104.07,103.87,104.22,105.16,106.05,104.89,107.74,
-106.67,106.29,107.33,105.86,110.07,108.66,110.81,109.75,111.09,111.02,
-110.44,110.24,110.46,110.43,116.74,114.87,112.70,115.97,114.55,115.51,
-113.38,118.24,115.56,118.04,113.18,115.98,113.87,120.61,118.18,118.84,
-2.79,3.31,3.64,4.07,3.96,4.74,4.42,5.16,5.18,5.82,
-5.86,6.19,6.71,6.25,7.54,7.79,8.59,7.97,8.15,8.29,
-9.20,10.29,9.63,10.01,10.54,10.89,10.07,10.94,11.82,12.17,
-11.05,12.36,13.00,12.69,13.02,14.97,13.66,14.10,13.58,15.06,
-14.81,15.88,16.17,16.33,15.79,15.88,17.78,16.87,17.68,17.82,
-18.20,18.83,17.79,18.86,19.99,19.37,19.48,19.87,19.57,19.91,
-21.59,22.19,21.76,21.48,22.39,22.09,22.12,23.68,22.84,23.51,
-24.18,24.10,23.33,24.60,24.42,25.16,25.92,26.12,25.74,25.81,
-27.10,27.02,28.47,26.70,28.65,28.85,27.60,29.12,28.46,29.65,
-30.49,28.69,30.33,31.03,31.37,31.94,32.92,31.15,30.49,31.77,
-33.59,33.42,32.65,34.54,34.91,35.32,34.75,34.80,36.65,34.10,
-35.55,37.34,36.95,36.26,36.27,36.87,37.04,38.74,37.45,38.17,
-38.31,39.01,40.35,40.20,40.13,40.35,40.74,41.96,41.29,41.71,
-40.88,42.50,42.20,42.12,43.38,43.81,44.53,43.56,44.90,45.63,
-45.21,44.56,44.77,45.95,45.67,46.01,48.27,45.88,47.73,47.87,
-46.81,47.67,48.37,49.75,48.69,49.08,50.43,48.75,49.35,51.54,
-50.77,51.27,50.58,51.56,51.70,52.61,53.36,52.54,52.65,53.77,
-52.63,54.00,56.31,53.84,56.01,55.73,56.52,54.30,58.17,57.95,
-56.85,56.45,57.78,58.70,58.73,58.59,60.14,58.07,58.85,58.33,
-60.24,61.65,60.00,61.18,60.52,61.29,62.12,62.60,62.24,62.67,
-62.28,63.63,64.10,63.80,63.51,64.24,65.37,65.84,66.28,65.95,
-66.08,65.45,67.40,68.04,65.17,67.25,67.99,68.47,68.40,68.51,
-68.17,68.64,70.14,70.32,70.01,71.53,72.02,72.09,72.68,70.14,
-72.59,72.38,72.80,73.34,71.86,72.15,73.13,72.73,75.46,77.55,
-76.01,77.12,75.34,76.30,77.08,75.93,76.41,76.67,74.94,77.17,
-77.53,77.71,77.84,76.64,78.07,79.06,77.59,80.82,80.67,80.89,
-79.42,80.44,80.05,81.75,81.83,83.00,82.31,83.79,81.94,85.86,
-83.51,83.85,83.29,83.23,85.09,85.39,85.34,85.97,85.46,85.40,
-86.70,86.89,86.36,87.05,89.29,87.82,87.58,86.48,90.14,88.32,
-2.20,2.36,2.69,2.91,3.24,3.30,3.46,3.84,4.33,4.24,
-4.31,4.72,5.02,5.13,5.49,5.79,5.68,6.68,6.63,6.12,
-7.03,6.73,7.41,7.84,7.22,8.40,8.15,8.72,8.48,9.07,
-8.96,9.50,10.36,9.87,9.76,10.67,10.03,10.41,10.75,10.52,
-10.84,11.76,12.12,12.34,11.99,13.17,12.76,12.72,13.43,12.72,
-14.20,14.06,13.11,13.65,14.56,13.79,15.70,15.36,15.52,15.53,
-14.94,15.26,16.22,15.62,16.18,18.10,17.69,18.13,17.38,18.77,
-18.41,18.58,19.27,19.75,19.67,18.83,18.78,19.62,19.55,20.37,
-20.19,20.82,21.67,21.00,21.71,21.41,21.86,22.36,22.70,22.70,
-21.85,22.36,22.23,22.36,24.05,24.16,24.69,24.77,24.12,24.71,
-24.49,24.72,25.74,26.25,26.83,26.01,25.61,25.36,26.55,25.23,
-25.87,27.41,27.33,28.54,27.42,28.18,29.33,30.40,28.65,28.36,
-28.28,29.96,30.18,30.19,30.04,29.70,31.03,30.08,31.34,31.29,
-32.15,31.02,31.95,31.94,31.32,31.61,34.10,32.70,32.49,33.53,
-33.84,33.47,33.65,34.88,34.21,33.40,34.53,33.81,37.07,37.00,
-36.38,35.65,36.70,36.26,37.89,37.17,37.38,38.05,35.81,37.64,
-37.59,39.24,38.08,39.09,38.70,40.53,40.69,40.35,40.03,41.01,
-42.00,40.49,42.02,41.62,39.95,41.73,42.50,42.27,41.55,42.37,
-41.94,43.75,42.78,43.69,43.93,44.28,44.64,44.71,43.26,44.58,
-44.94,45.80,46.00,45.71,45.37,45.36,44.81,46.28,45.92,44.96,
-47.61,49.09,47.29,47.24,46.93,48.25,48.57,48.83,49.23,48.39,
-49.31,49.34,50.19,52.69,51.03,49.49,52.46,51.39,49.49,52.25,
-53.14,53.80,51.90,52.52,50.61,53.11,52.96,54.06,52.77,54.13,
-54.53,52.92,53.87,55.46,55.18,54.42,55.53,54.92,56.26,56.34,
-57.26,56.97,57.53,56.63,55.54,56.58,56.91,57.66,58.34,57.60,
-57.27,59.52,58.62,60.25,59.61,59.63,57.38,60.24,60.24,59.71,
-59.71,62.30,60.67,61.26,62.73,61.02,63.11,61.14,62.66,62.39,
-64.59,63.73,64.21,62.85,62.42,63.86,62.26,64.05,67.22,63.38,
-66.00,65.30,67.27,65.90,65.14,65.71,66.64,65.50,65.53,68.88,
-1.27,1.37,2.03,1.95,2.83,2.96,2.54,2.83,3.14,2.80,
-3.69,3.59,4.13,3.98,3.94,4.09,4.32,4.52,4.46,5.09,
-6.44,4.98,5.08,5.67,5.58,6.51,6.14,5.64,6.19,6.40,
-7.20,7.07,6.68,6.92,7.15,6.85,6.80,7.99,8.40,7.75,
-8.29,8.39,8.43,9.02,9.29,9.62,8.96,9.70,9.87,10.26,
-10.78,9.51,10.59,10.83,10.95,11.17,10.98,10.77,11.36,11.77,
-11.87,11.76,12.64,13.07,12.28,12.22,12.63,12.28,13.28,13.02,
-13.03,13.03,13.92,13.11,14.65,13.93,14.79,15.07,15.02,14.99,
-15.11,15.83,15.46,16.93,15.38,15.54,15.79,16.25,16.43,17.12,
-16.42,15.26,17.52,16.64,16.98,17.31,18.46,18.08,17.48,19.19,
-18.75,18.21,18.85,19.71,18.50,19.97,20.06,19.95,20.46,20.27,
-20.00,21.28,20.96,19.40,20.63,20.48,21.16,20.40,20.90,21.17,
-21.81,22.68,22.12,21.99,23.73,22.39,22.83,22.85,22.27,23.72,
-24.01,22.69,24.09,24.29,24.13,24.67,22.71,25.01,24.54,24.43,
-25.87,24.44,25.25,25.14,27.24,26.02,26.80,26.15,27.26,26.24,
-26.80,27.63,27.23,28.29,27.86,27.52,28.49,28.76,28.28,28.63,
-28.73,28.96,30.05,30.23,29.54,29.61,28.61,30.27,29.89,30.56,
-30.72,31.12,30.47,31.32,30.21,30.75,30.69,30.05,31.42,30.71,
-32.41,32.59,32.26,32.46,31.98,32.66,32.64,33.05,32.36,32.83,
-32.99,32.76,33.11,35.36,34.02,33.87,35.32,34.16,34.33,34.18,
-35.09,35.72,33.15,36.46,36.84,35.27,36.12,36.49,37.31,34.22,
-37.56,36.35,36.16,37.37,38.87,39.13,37.31,37.78,38.30,38.28,
-38.18,38.77,39.28,41.12,40.29,38.94,38.68,39.28,40.87,40.33,
-40.47,40.95,40.38,40.44,41.77,41.14,41.48,42.57,40.66,41.41,
-42.16,42.06,42.02,42.75,42.47,42.47,44.23,43.49,40.40,44.22,
-43.56,43.34,43.25,43.44,45.85,44.73,46.78,44.02,43.97,46.21,
-45.49,45.02,44.76,45.87,45.93,44.70,46.56,45.86,47.17,46.98,
-46.51,46.44,48.02,46.45,48.60,47.40,47.12,48.87,49.03,49.78,
-48.91,49.47,47.52,50.03,48.55,49.19,51.07,49.31,48.13,49.89,
-1.48,1.21,1.69,1.65,2.00,2.12,2.01,2.35,1.96,2.27,
-2.85,2.40,2.54,2.65,3.06,3.18,3.23,3.41,3.45,4.01,
-3.56,4.12,4.60,4.19,4.23,4.85,4.55,4.64,4.30,5.15,
-4.67,5.32,4.75,5.01,6.05,5.81,5.96,5.44,6.09,6.09,
-6.90,6.23,5.87,6.89,6.79,6.68,7.68,8.07,7.87,7.07,
-7.07,7.38,8.13,8.17,8.12,7.89,8.44,9.04,8.21,8.67,
-9.14,8.45,8.59,8.96,9.49,10.14,9.65,10.62,9.71,11.11,
-10.47,9.66,11.13,10.55,11.02,10.59,11.07,10.62,12.08,10.53,
-11.16,10.85,11.39,10.90,11.63,12.62,12.76,12.31,13.01,12.09,
-11.70,12.85,12.87,12.55,12.41,12.65,12.89,13.32,13.85,14.59,
-13.84,12.96,13.87,13.09,13.76,14.67,13.63,14.32,15.10,13.58,
-15.17,15.15,14.85,16.52,14.91,15.45,15.82,16.09,16.38,15.15,
-16.69,16.70,15.80,16.61,17.41,16.53,17.16,17.95,16.85,16.83,
-15.77,17.05,17.94,19.02,18.70,18.17,18.33,18.76,18.14,18.89,
-19.15,17.95,20.47,19.57,20.03,19.20,19.78,19.61,20.03,19.40,
-18.98,19.05,19.12,18.81,20.38,20.56,20.47,20.84,20.99,20.58,
-21.16,20.67,20.35,21.47,21.12,20.83,21.75,22.12,23.07,23.91,
-23.49,22.74,21.61,22.09,22.34,22.09,22.46,23.84,23.48,23.40,
-24.68,24.20,24.94,23.61,24.46,24.26,26.46,25.38,25.22,24.34,
-23.25,25.47,24.74,25.93,24.11,27.81,26.43,25.74,25.77,26.17,
-25.53,27.56,26.61,27.33,27.86,27.46,26.81,27.47,29.00,28.17,
-27.20,28.47,27.21,28.79,28.27,27.52,28.13,29.39,29.40,28.75,
-27.72,28.62,29.00,29.42,29.45,29.50,29.78,29.62,29.22,31.12,
-28.59,29.58,30.57,30.73,30.33,32.28,30.79,31.50,29.99,31.78,
-31.49,32.89,31.55,32.41,30.08,32.02,31.44,31.81,32.53,32.04,
-33.64,32.93,31.60,31.51,34.85,33.05,32.43,33.67,34.23,33.46,
-34.13,34.63,34.93,34.79,35.23,33.35,35.72,35.49,35.11,36.04,
-34.97,35.70,33.77,35.86,35.88,35.24,35.57,37.29,35.60,36.66,
-35.48,35.05,35.57,38.31,36.37,36.40,37.44,37.49,36.66,37.66,
-1.00,0.76,1.19,1.28,1.68,1.53,1.49,1.69,1.97,1.90,
-1.91,2.00,1.81,2.07,2.16,2.74,2.33,2.59,2.66,2.62,
-2.48,3.03,3.27,3.29,2.90,2.62,3.12,3.64,3.31,3.85,
-3.60,4.37,3.75,3.91,4.15,4.29,4.59,4.25,4.72,4.65,
-4.55,4.89,4.85,4.90,4.92,5.33,5.55,5.59,5.31,5.53,
-5.57,6.39,6.03,5.89,6.22,6.07,6.19,6.96,7.10,6.26,
-6.24,6.88,6.98,6.65,7.19,7.48,6.76,7.69,6.79,7.40,
-7.19,7.42,7.95,7.34,8.49,7.78,8.23,8.43,8.64,8.27,
-7.60,8.40,8.96,8.29,9.07,9.35,7.92,8.79,9.67,8.92,
-9.40,9.32,10.02,9.43,8.71,10.24,9.53,9.02,10.10,10.42,
-10.81,10.97,10.17,10.42,10.48,10.93,10.91,11.37,10.66,12.31,
-11.00,11.90,11.55,10.83,11.03,10.66,11.12,11.32,12.35,12.24,
-11.38,11.38,11.35,11.72,11.86,13.42,12.22,13.12,13.02,13.62,
-12.71,13.40,13.46,13.60,13.68,13.73,13.95,13.51,14.03,14.44,
-13.28,14.37,15.30,13.47,13.99,13.64,15.19,14.50,15.27,15.41,
-13.71,14.44,15.12,14.68,15.67,14.72,15.30,15.47,16.64,16.64,
-16.16,16.64,16.05,15.76,16.39,15.54,17.43,15.77,16.14,17.23,
-17.21,17.48,16.41,17.97,17.18,17.19,17.29,17.93,17.21,18.75,
-17.58,17.20,18.80,19.13,17.91,19.17,18.48,18.62,18.31,18.80,
-18.49,18.48,18.92,19.57,18.50,19.23,18.90,19.43,19.44,19.71,
-19.31,19.85,19.98,21.17,19.57,18.98,20.29,20.94,20.87,20.36,
-21.19,20.35,21.39,20.73,21.81,21.31,20.94,21.42,21.79,21.29,
-21.98,22.68,20.78,22.12,21.61,21.71,21.92,22.04,21.75,22.70,
-22.49,23.47,23.59,22.69,22.96,23.23,22.27,23.13,23.38,24.09,
-22.87,23.00,23.62,24.03,24.55,24.35,24.43,23.96,23.39,23.99,
-25.08,24.25,24.64,24.69,25.13,24.13,25.17,25.03,25.74,24.38,
-25.73,26.04,24.61,25.14,24.82,25.34,24.91,25.02,26.28,25.75,
-25.50,25.83,25.78,25.54,26.63,25.57,27.00,26.83,27.57,25.47,
-27.83,28.33,27.28,28.02,27.63,28.40,27.44,28.28,28.86,28.16,
-0.92,0.83,1.13,0.79,1.26,1.14,1.32,1.05,1.51,1.41,
-1.73,1.64,1.38,1.71,1.58,1.60,1.74,1.89,2.18,2.40,
-2.03,2.29,2.39,2.03,2.16,2.23,2.57,2.90,2.90,2.57,
-2.67,2.90,2.93,2.74,2.97,3.38,3.38,3.36,3.66,3.96,
-3.86,3.71,3.19,3.71,4.25,4.19,3.82,4.08,4.46,4.23,
-3.92,4.66,4.28,4.70,4.60,4.57,4.70,4.98,4.61,5.41,
-5.20,4.71,5.21,4.93,4.72,5.07,5.65,6.27,5.83,5.37,
-5.65,5.28,6.21,6.33,6.09,6.16,5.64,6.33,5.50,6.08,
-6.17,6.08,6.06,6.48,6.25,6.85,6.63,6.94,6.88,6.84,
-6.61,7.08,7.55,7.01,6.76,7.42,7.04,7.09,7.75,7.39,
-8.25,7.69,6.90,8.65,8.12,8.25,8.41,7.88,7.53,8.42,
-7.45,8.67,7.62,8.56,8.94,9.36,8.41,8.64,8.38,8.88,
-8.83,9.26,8.79,9.11,9.59,9.30,9.23,10.72,9.61,9.97,
-10.17,9.22,9.78,9.74,10.84,9.95,10.47,10.84,10.22,10.60,
-10.26,10.70,10.61,10.59,11.51,11.84,10.23,11.45,11.14,11.63,
-11.75,11.03,10.86,11.11,11.39,11.89,11.33,11.33,12.56,11.34,
-11.23,12.10,11.84,10.99,10.39,12.04,12.10,12.37,11.38,11.65,
-11.90,13.13,13.11,13.15,13.27,12.35,12.93,13.14,13.81,12.66,
-13.76,13.19,13.19,13.25,12.96,13.81,13.82,13.55,13.27,12.77,
-13.86,13.74,13.54,14.05,13.77,13.41,13.72,14.37,14.70,14.28,
-14.65,16.10,15.26,14.24,14.94,15.24,14.33,16.17,15.60,14.68,
-15.06,15.56,16.01,16.32,14.95,15.19,15.38,15.27,16.33,16.48,
-15.42,15.69,16.17,16.02,15.70,16.27,15.29,16.37,16.66,16.57,
-17.26,16.66,16.68,17.40,15.67,17.04,16.64,16.52,17.72,17.91,
-17.05,17.36,16.55,18.22,17.69,16.90,17.19,18.32,17.41,18.11,
-18.35,18.29,17.19,18.77,19.10,19.79,19.66,17.98,19.21,18.61,
-19.16,19.00,18.35,17.21,18.21,18.46,19.94,19.26,18.91,19.20,
-19.11,19.65,19.12,19.23,18.48,21.23,19.32,20.73,21.79,19.10,
-19.63,19.91,21.02,19.73,20.63,19.64,20.39,20.39,20.02,21.95,
-0.56,0.63,0.65,0.65,0.99,0.85,0.98,1.01,0.91,0.88,
-1.12,1.11,1.03,1.22,1.21,1.32,1.02,1.34,1.32,1.53,
-1.34,1.48,1.62,1.83,1.52,1.78,1.73,1.95,1.86,1.95,
-2.35,2.09,2.46,2.18,2.27,2.27,2.62,2.44,2.59,2.63,
-2.80,2.44,2.60,2.65,3.06,2.74,2.74,2.83,2.58,2.67,
-2.90,3.34,3.42,3.11,3.35,3.57,3.39,3.42,3.79,3.61,
-3.44,3.72,3.07,4.23,3.54,3.80,4.47,3.71,4.55,3.89,
-3.90,3.78,4.40,4.47,4.78,4.40,4.18,3.74,4.23,4.50,
-4.64,5.05,4.90,4.68,5.08,4.86,5.22,5.43,5.03,5.38,
-4.99,5.02,5.63,5.34,5.72,5.32,5.62,5.80,5.13,6.29,
-5.51,6.07,5.92,6.12,5.85,5.71,6.60,6.42,6.21,6.04,
-5.91,6.55,6.29,5.86,5.90,6.26,6.74,6.59,6.28,7.00,
-6.47,6.65,6.93,7.29,6.21,6.16,7.16,6.66,8.08,7.22,
-7.15,6.80,7.82,7.28,7.61,7.11,7.80,8.15,7.67,7.89,
-7.45,7.27,7.23,8.26,7.85,7.55,7.03,8.16,8.98,8.04,
-8.61,7.96,8.42,7.56,7.98,9.05,8.77,8.72,8.61,9.06,
-9.16,8.92,9.74,8.14,8.85,8.75,8.85,10.07,9.97,9.14,
-9.45,9.72,9.20,9.68,8.71,9.97,9.36,9.50,10.36,9.20,
-9.68,9.99,10.05,9.50,9.79,10.35,9.22,9.26,9.94,10.15,
-9.66,10.14,11.45,11.10,10.32,10.22,9.95,10.56,10.80,10.59,
-10.78,11.27,10.87,10.29,12.16,10.89,10.40,10.67,11.11,11.84,
-11.38,11.59,10.40,11.65,12.96,12.12,11.74,11.78,12.47,11.68,
-12.19,12.84,12.30,11.80,12.22,12.23,12.14,12.71,13.22,12.15,
-12.45,12.34,12.87,12.04,11.67,13.22,12.97,13.05,12.99,13.21,
-13.62,13.12,13.72,13.13,13.32,13.08,13.29,12.69,12.46,13.25,
-13.07,12.60,14.14,13.87,13.53,13.26,14.60,14.04,12.97,13.42,
-13.72,13.93,14.45,14.02,13.47,14.52,15.15,14.12,13.02,15.31,
-14.80,14.64,14.82,13.33,15.16,13.65,14.54,14.92,15.36,14.04,
-14.12,14.86,13.63,15.32,14.87,15.70,15.74,15.39,15.13,16.26,
-0.32,0.67,0.61,0.65,0.66,0.58,0.62,0.65,0.78,0.76,
-0.77,0.93,0.61,0.84,0.92,0.83,0.96,1.23,1.02,1.05,
-1.25,1.12,1.35,1.01,1.31,1.59,1.33,1.43,1.45,1.87,
-1.58,1.46,1.96,1.72,1.97,1.24,2.14,1.56,2.05,1.63,
-1.55,2.26,2.13,2.04,2.41,2.06,2.32,1.82,2.01,1.98,
-2.57,2.67,1.95,2.31,2.35,2.60,2.62,2.75,2.54,3.02,
-2.34,2.55,3.33,2.93,2.73,2.63,2.73,3.31,2.84,3.34,
-3.47,2.97,2.89,3.22,3.06,3.30,3.42,2.85,3.34,3.54,
-3.68,3.86,3.12,3.88,3.72,3.32,3.51,3.94,4.57,3.87,
-4.07,3.50,3.48,3.84,4.31,3.56,4.06,3.44,4.47,3.70,
-4.12,4.14,3.88,4.14,4.51,4.55,4.56,3.75,3.91,4.72,
-4.57,4.57,4.54,4.20,4.56,4.93,5.36,4.43,4.94,4.54,
-5.21,5.37,4.79,5.00,5.24,4.82,5.37,5.13,5.45,5.01,
-5.00,5.36,4.99,4.70,5.16,5.40,5.76,4.78,5.43,6.09,
-5.50,5.64,5.46,5.64,6.14,5.53,6.19,6.00,5.77,6.53,
-6.06,6.07,6.58,5.56,6.62,5.85,7.09,6.11,6.25,6.18,
-6.25,7.07,6.52,6.70,7.06,7.02,7.29,7.38,7.05,6.72,
-7.48,6.61,6.97,6.67,7.16,6.62,6.92,6.83,7.26,6.75,
-6.55,7.45,7.32,7.92,7.30,7.49,7.00,8.31,7.45,7.70,
-7.68,7.91,7.90,6.68,7.93,7.15,8.97,8.66,7.62,7.67,
-7.98,8.79,7.80,8.61,7.64,6.88,8.22,7.25,7.86,7.72,
-9.05,8.53,8.15,7.80,9.03,8.77,8.98,8.87,8.66,8.55,
-9.19,8.25,9.15,9.02,8.96,9.48,8.01,9.57,8.78,9.43,
-8.56,9.05,9.18,9.29,9.46,9.36,9.69,9.12,10.20,9.49,
-9.22,9.12,9.72,9.48,10.01,9.12,9.98,10.12,10.30,9.10,
-9.23,9.30,10.99,9.44,10.35,9.95,10.92,9.49,9.37,9.72,
-11.07,9.68,9.66,11.06,9.39,10.69,10.38,10.86,10.87,11.10,
-9.87,11.65,10.04,11.01,10.92,11.82,10.68,11.08,10.96,10.83,
-11.33,11.13,10.92,11.62,10.89,11.30,10.89,11.32,10.23,12.04,
-0.36,0.29,0.37,0.45,0.30,0.56,0.37,0.37,0.38,0.42,
-0.50,0.68,0.60,0.60,0.46,0.60,0.61,0.87,0.78,0.79,
-1.03,0.85,0.81,1.32,1.00,0.78,1.15,0.93,0.96,1.30,
-1.17,1.14,1.30,1.30,1.13,1.17,1.37,1.42,1.10,1.49,
-1.27,1.50,1.34,1.22,1.63,1.32,1.68,1.56,1.20,1.75,
-1.58,2.38,1.78,1.75,1.78,1.57,2.08,1.83,1.99,1.65,
-2.07,2.08,2.18,2.15,2.14,2.30,2.24,2.15,2.25,2.50,
-2.30,2.08,2.55,2.13,2.22,2.53,2.14,2.68,2.74,2.52,
-2.52,2.67,2.62,2.25,2.96,2.49,2.83,2.54,2.50,2.99,
-2.67,2.91,2.59,2.73,3.15,3.06,3.09,2.67,2.94,2.76,
-3.21,2.89,3.34,3.62,3.14,3.23,3.14,2.98,2.50,2.93,
-3.17,3.48,3.51,3.35,3.42,3.70,3.60,3.52,3.63,3.87,
-3.50,3.52,4.27,3.70,4.36,4.05,4.41,3.35,4.19,4.21,
-3.93,4.05,3.46,4.14,3.81,3.68,3.87,3.87,4.34,4.23,
-4.43,4.37,4.08,4.12,4.57,4.04,4.56,4.49,4.70,4.07,
-4.39,4.45,4.33,4.30,4.42,4.66,4.34,4.76,5.15,4.71,
-4.94,5.47,4.93,5.04,5.01,5.18,4.98,5.28,5.05,5.13,
-4.45,5.24,5.03,5.76,5.50,4.79,5.67,4.99,5.53,5.96,
-5.37,4.92,4.78,5.80,4.84,5.73,5.33,6.21,5.14,6.14,
-5.15,5.28,5.94,6.01,5.33,5.85,5.84,5.51,5.71,5.90,
-6.23,5.22,5.60,6.27,6.25,6.64,5.71,6.30,5.87,6.13,
-5.92,6.80,6.18,6.55,6.30,5.91,6.18,6.63,7.25,5.79,
-5.80,6.13,6.29,6.47,7.03,6.06,6.46,5.66,6.66,5.63,
-6.92,6.13,7.05,6.79,6.59,7.05,8.35,6.63,6.87,6.29,
-7.07,6.64,6.79,7.25,6.73,7.07,7.26,7.12,6.99,7.94,
-7.23,5.89,6.72,7.86,7.79,7.72,7.94,6.61,8.42,7.85,
-7.60,8.23,7.24,7.75,7.59,7.36,7.22,8.74,7.03,8.02,
-8.05,8.07,7.33,8.26,8.39,8.39,7.61,8.01,7.70,7.79,
-8.07,8.06,7.45,8.21,8.53,8.02,8.35,7.97,8.31,8.95,
-0.15,0.23,0.33,0.27,0.23,0.35,0.52,0.38,0.31,0.55,
-0.41,0.38,0.31,0.28,0.45,0.39,0.49,0.67,0.65,0.64,
-0.73,0.49,0.42,0.59,0.95,0.93,0.58,0.82,0.76,0.91,
-0.82,0.60,0.69,0.88,0.88,0.90,0.93,1.11,1.13,1.18,
-1.01,0.90,1.17,1.15,1.25,0.93,1.26,1.07,1.36,1.41,
-1.28,1.05,1.20,1.37,1.57,1.17,1.40,1.19,1.56,1.15,
-1.39,1.28,1.47,1.81,1.72,1.79,1.52,1.54,1.28,1.43,
-1.77,1.84,1.72,1.88,1.98,1.63,1.55,1.73,1.72,2.10,
-1.74,1.56,1.96,1.76,2.09,1.83,1.72,1.78,2.15,1.74,
-2.22,1.86,2.07,2.33,2.37,2.42,2.22,2.09,2.27,2.32,
-2.27,2.81,2.42,2.25,2.23,2.39,2.11,2.58,2.54,2.36,
-2.75,2.24,2.75,2.89,2.83,2.81,2.33,2.17,2.53,2.48,
-2.73,2.14,2.64,2.52,2.75,2.48,2.83,3.24,2.66,3.07,
-3.37,2.25,3.44,3.31,3.25,3.77,3.09,3.31,2.56,3.08,
-3.37,3.38,2.78,3.74,3.34,3.22,2.68,3.72,3.63,3.42,
-3.42,3.75,3.22,3.44,2.82,3.48,3.31,3.50,2.85,3.47,
-3.15,3.42,3.32,3.68,3.39,3.89,3.46,3.52,4.14,3.39,
-3.66,3.96,3.51,4.80,3.66,3.75,3.75,3.89,4.25,4.09,
-3.86,4.22,4.44,4.27,3.41,3.79,4.15,4.35,4.01,4.21,
-3.80,4.26,4.41,4.20,4.52,4.67,4.49,4.91,3.99,4.44,
-5.10,4.54,4.39,4.36,4.43,4.16,5.02,4.71,4.42,4.64,
-5.02,4.27,3.77,4.32,5.19,4.80,4.72,4.69,4.15,5.18,
-5.38,4.69,5.15,4.94,5.24,5.49,5.00,4.68,4.52,5.10,
-4.97,4.83,5.17,5.17,5.19,4.89,5.22,4.92,5.09,5.45,
-5.16,5.40,5.44,4.91,5.28,5.56,4.98,5.63,5.72,5.68,
-4.70,5.16,5.58,5.30,5.46,5.41,5.68,4.90,5.93,4.65,
-6.54,5.31,5.72,5.87,6.53,5.67,5.91,6.07,5.76,5.49,
-5.77,5.55,6.59,6.32,6.21,5.67,6.57,5.91,6.85,5.44,
-6.04,6.02,6.35,6.20,5.73,5.67,6.60,6.97,6.25,6.46,
-14.21,15.47,15.20,19.26,19.63,20.26,21.60,22.75,24.64,26.20,
-25.89,28.62,30.96,31.32,33.27,34.13,34.80,36.95,38.31,39.29,
-40.06,41.68,43.59,46.55,46.07,47.63,47.44,51.17,52.69,53.38,
-55.15,55.95,57.65,57.68,59.38,61.03,61.14,63.90,64.01,66.52,
-66.78,70.09,70.98,72.37,73.52,77.56,75.86,77.69,78.52,76.90,
-81.56,83.48,82.98,84.74,86.22,85.81,89.51,89.32,90.74,94.04,
-92.95,94.48,95.56,98.49,100.04,99.89,104.22,104.05,106.00,106.76,
-106.82,109.34,108.53,112.08,114.71,115.57,116.36,117.59,118.09,119.68,
-122.70,122.21,123.39,125.56,126.55,127.14,129.22,130.22,132.45,135.43,
-134.59,136.29,139.21,138.35,139.22,140.95,142.54,144.82,144.56,145.20,
-147.59,151.01,149.20,152.55,152.43,155.59,157.16,160.07,160.31,157.96,
-162.72,164.27,160.96,163.72,168.00,170.14,168.50,172.71,172.54,172.38,
-176.78,174.84,179.39,179.16,178.97,183.88,184.32,184.63,185.32,186.14,
-189.25,188.49,191.07,194.25,193.28,196.62,196.74,199.79,201.23,201.39,
-202.26,201.17,206.85,205.91,207.05,209.89,211.96,211.49,213.69,216.56,
-215.12,219.91,218.45,219.55,219.02,221.05,223.70,223.22,225.10,228.25,
-230.13,229.84,230.52,230.80,234.20,237.18,234.87,236.88,241.36,241.60,
-242.48,244.63,245.64,248.78,248.34,248.98,255.52,253.18,252.24,255.94,
-255.60,256.97,259.50,258.38,259.76,263.85,263.97,263.79,266.33,268.14,
-270.05,270.02,274.67,274.96,275.32,279.92,279.86,277.53,277.83,282.61,
-282.14,284.73,284.57,287.02,286.10,290.04,290.97,291.32,295.96,295.81,
-295.43,299.08,300.84,300.79,302.94,302.31,307.01,307.15,307.29,314.15,
-309.41,309.71,312.67,312.42,315.43,314.65,319.56,318.39,322.75,321.83,
-323.92,323.68,323.96,322.61,329.05,329.97,330.98,331.98,331.71,331.89,
-336.04,337.79,337.11,337.15,342.23,340.99,346.18,347.13,346.18,346.87,
-348.50,355.98,353.05,356.43,356.12,356.44,359.87,358.11,363.21,360.60,
-364.98,366.49,366.26,369.82,365.29,370.76,371.75,375.05,375.66,374.86,
-376.45,376.83,381.55,383.00,382.41,380.46,384.25,382.72,389.01,393.08,
-390.62,388.84,396.26,394.65,394.92,398.82,398.33,401.45,399.70,404.38,
-10.19,11.82,12.91,14.72,15.40,15.74,17.69,19.09,19.01,20.82,
-20.71,22.27,23.51,24.41,25.73,25.53,28.13,29.49,28.87,31.39,
-31.20,33.21,33.87,35.63,35.66,37.59,39.01,38.51,39.44,40.33,
-42.16,42.28,43.97,45.62,45.45,47.39,49.24,47.92,49.84,52.37,
-54.34,54.02,55.02,57.33,56.42,59.07,58.98,60.44,59.69,62.15,
-65.22,63.64,65.65,67.14,66.98,67.57,69.30,70.91,72.05,72.55,
-73.20,74.86,75.30,77.88,77.93,79.19,80.01,81.92,82.62,83.53,
-83.30,86.02,84.68,86.85,87.34,88.63,89.65,90.21,90.08,92.68,
-94.90,93.29,95.17,96.70,97.83,98.69,100.31,102.44,104.35,104.29,
-104.57,106.85,105.32,109.24,108.53,111.98,112.52,112.42,113.75,114.38,
-113.91,115.62,115.91,118.21,119.90,121.32,123.23,123.36,123.00,124.78,
-125.97,126.48,128.45,128.27,128.17,132.03,129.79,133.84,135.09,135.06,
-137.07,137.41,139.54,137.75,140.35,141.54,143.85,143.91,144.03,146.93,
-146.71,147.14,147.58,150.03,150.03,152.29,150.01,154.70,156.17,156.97,
-155.54,155.85,160.63,160.42,163.35,161.39,162.82,164.91,167.07,165.47,
-165.84,167.68,170.57,169.91,171.43,173.06,173.48,174.85,174.85,175.38,
-179.88,177.57,180.88,182.26,182.65,184.24,185.24,190.66,184.00,187.75,
-187.88,189.35,190.40,193.50,193.64,194.22,199.10,196.41,195.39,196.41,
-198.85,202.67,202.75,200.14,203.10,203.03,204.72,206.30,207.72,205.77,
-206.01,208.31,212.23,214.91,211.10,214.80,217.26,217.06,217.85,217.12,
-220.07,218.94,221.36,222.72,224.40,225.14,227.45,227.16,230.66,231.34,
-230.40,233.19,232.79,233.17,235.34,236.41,233.60,238.28,238.68,240.50,
-243.09,242.53,244.53,244.04,246.69,245.76,247.30,247.38,244.90,250.46,
-254.73,251.44,253.61,257.32,254.33,261.18,259.57,257.68,258.14,260.06,
-262.44,261.99,264.69,263.64,264.95,270.59,266.69,270.49,270.71,270.47,
-272.14,271.66,278.62,274.79,273.81,274.54,281.68,280.42,276.89,278.92,
-279.84,282.27,283.71,284.82,288.06,286.72,287.18,292.77,288.99,291.65,
-294.24,295.67,297.40,294.21,294.20,295.01,298.26,300.43,300.16,299.54,
-304.30,301.62,306.41,309.51,312.02,308.10,304.28,312.53,312.03,313.81,
-8.26,9.50,9.74,10.71,11.01,12.02,14.00,13.84,14.16,15.09,
-15.74,17.91,17.54,19.21,18.78,19.66,20.81,22.17,23.77,24.02,
-24.09,25.50,25.65,27.29,27.07,29.18,28.06,28.90,30.62,32.28,
-32.94,34.02,34.17,36.02,35.78,36.80,36.55,38.28,38.78,40.09,
-41.64,40.92,42.72,43.47,44.29,44.02,45.24,45.83,46.60,49.03,
-48.62,49.48,50.91,51.07,53.88,52.80,53.18,53.63,56.04,57.54,
-55.49,57.48,57.96,56.84,59.21,61.32,61.46,63.28,62.11,65.18,
-63.07,66.09,65.42,68.31,66.92,69.98,68.36,71.27,69.76,73.78,
-72.45,72.89,73.88,75.34,76.40,77.32,76.39,79.31,77.82,78.75,
-81.55,82.64,81.69,84.25,82.76,85.44,85.37,87.70,87.55,89.97,
-87.61,89.28,91.39,90.99,93.62,93.18,93.21,96.47,93.67,94.78,
-98.43,98.01,98.67,99.85,99.19,102.34,103.23,103.62,104.34,102.86,
-104.67,105.94,106.80,109.98,106.27,109.55,110.47,110.79,111.70,113.03,
-110.81,113.60,113.55,116.97,115.67,115.74,117.86,119.55,121.73,122.00,
-120.32,123.59,123.83,124.86,126.67,126.84,124.35,124.90,127.51,129.67,
-130.85,131.14,131.59,133.27,132.44,132.01,133.28,135.48,134.93,134.44,
-137.12,137.02,138.40,144.14,139.67,144.06,139.31,142.61,144.43,146.01,
-145.42,146.04,146.61,149.12,147.39,150.82,149.48,152.17,154.53,156.44,
-154.78,154.19,154.84,156.76,155.49,156.65,158.20,160.82,160.05,162.20,
-164.69,162.54,164.38,164.75,168.23,166.20,166.10,165.79,167.88,169.18,
-169.50,172.02,172.01,173.65,173.63,175.08,174.79,176.65,175.70,180.06,
-178.60,178.58,177.82,181.12,181.87,183.72,180.51,182.36,183.66,184.14,
-187.65,189.09,186.27,190.10,187.18,190.60,191.56,191.61,191.70,191.25,
-192.37,195.57,193.47,195.07,195.68,197.12,200.04,201.05,198.19,199.82,
-199.49,202.55,201.32,204.79,206.46,208.11,206.40,207.02,209.32,211.73,
-211.42,208.78,211.26,210.44,212.46,216.34,215.14,213.49,220.11,219.00,
-217.76,218.62,219.64,222.11,222.66,221.65,221.68,224.01,229.45,223.18,
-226.47,228.00,227.07,232.38,229.71,228.16,230.58,232.59,234.99,236.09,
-233.80,235.49,233.13,237.62,236.76,239.88,243.16,240.53,240.53,243.51,
-5.86,7.53,7.35,7.92,8.88,10.39,10.58,11.27,11.38,11.97,
-13.08,12.99,13.50,13.22,14.50,15.40,15.56,17.52,17.79,18.38,
-18.98,18.28,19.94,21.32,22.01,22.48,22.37,22.30,22.84,23.45,
-26.59,25.69,25.78,26.47,27.52,28.38,29.38,30.48,29.45,30.85,
-30.98,33.33,32.21,32.56,33.37,34.77,34.09,36.02,36.17,35.88,
-36.88,38.64,39.98,39.20,39.45,39.06,40.92,42.68,42.29,41.93,
-42.09,45.91,44.69,45.66,47.27,47.27,48.69,48.49,47.94,49.32,
-50.28,49.11,51.80,51.46,52.87,53.72,53.66,54.51,54.63,56.29,
-56.73,55.91,56.83,58.13,58.25,59.14,60.28,59.64,61.99,60.99,
-63.54,62.60,63.86,62.83,64.52,65.61,68.15,65.89,66.51,66.66,
-70.39,68.87,69.48,70.24,70.47,74.46,71.55,73.65,73.99,75.44,
-73.84,74.90,75.97,77.79,78.29,77.86,77.61,78.00,79.38,79.51,
-80.18,82.46,83.28,82.45,84.96,83.34,83.43,84.98,86.08,85.82,
-86.80,87.81,89.10,90.19,88.51,88.69,91.64,91.64,94.20,93.70,
-94.91,94.74,95.29,93.59,94.06,97.98,98.28,98.05,99.10,98.98,
-98.98,102.22,101.40,104.26,102.66,103.75,104.73,105.88,105.75,106.60,
-106.86,107.41,107.09,107.27,106.20,109.00,107.51,108.48,109.31,111.51,
-113.53,110.14,114.05,113.12,116.64,114.87,115.16,114.74,118.49,116.25,
-119.42,119.91,121.77,120.15,118.66,121.67,122.26,124.64,124.58,124.19,
-123.83,124.40,127.14,126.69,126.48,130.72,125.94,128.74,130.64,128.10,
-131.67,131.10,132.21,132.56,131.75,133.56,133.41,132.54,136.38,136.21,
-135.52,137.28,139.53,139.90,140.29,141.19,138.82,141.31,140.63,145.87,
-143.42,144.65,145.67,140.63,145.05,146.06,145.64,147.99,147.32,146.33,
-150.30,149.10,152.56,151.99,150.54,150.81,153.35,151.85,153.86,158.31,
-153.74,156.40,155.40,156.86,157.65,159.87,156.05,159.13,158.34,163.53,
-161.90,161.48,161.99,163.87,165.06,164.47,163.29,163.93,166.56,167.68,
-166.14,170.07,170.25,170.14,172.29,167.80,167.70,171.18,173.51,173.06,
-171.15,175.21,175.16,175.46,174.98,178.50,178.58,181.20,180.90,179.13,
-178.09,181.97,176.76,183.57,185.46,183.25,182.51,183.95,183.83,182.02,
-5.30,5.27,5.43,6.97,7.08,7.53,7.09,8.55,7.88,9.74,
-9.44,10.26,10.97,10.93,11.92,13.27,12.95,12.97,13.46,14.25,
-14.56,14.63,15.54,14.57,16.16,15.98,16.91,17.99,18.27,17.99,
-19.26,19.77,20.65,21.35,20.42,21.21,22.63,21.82,22.21,22.43,
-23.38,25.18,24.55,25.15,26.66,25.93,27.80,26.35,27.74,27.95,
-28.30,28.21,30.07,30.78,31.21,30.84,31.68,32.44,33.63,31.72,
-33.69,33.50,34.14,34.87,34.90,35.42,37.13,36.97,36.91,37.15,
-38.30,37.97,39.15,39.30,40.07,39.01,40.72,40.49,41.29,42.92,
-44.05,44.44,44.19,44.04,44.75,44.23,45.99,45.59,45.93,46.81,
-49.03,49.48,48.14,49.00,51.45,50.74,51.06,51.23,51.53,51.51,
-51.71,53.86,54.12,53.72,55.47,53.21,55.69,56.35,55.47,55.45,
-57.02,57.71,58.14,58.38,57.63,60.18,60.08,60.34,61.20,61.63,
-61.18,62.12,64.09,62.78,64.17,64.53,63.91,66.09,66.64,67.31,
-66.33,68.28,69.11,67.02,69.28,68.46,71.82,71.07,70.16,69.92,
-71.79,72.14,72.61,73.70,74.66,73.91,75.88,75.23,74.59,76.35,
-76.22,78.36,77.02,76.85,79.13,78.26,77.31,79.49,80.12,80.69,
-81.79,79.17,83.24,80.94,83.70,83.89,83.73,85.53,85.36,85.17,
-86.34,87.30,86.89,85.58,88.12,87.44,88.96,87.47,89.22,90.02,
-89.99,89.00,93.25,91.31,93.78,91.62,92.69,94.48,94.68,93.29,
-97.04,95.18,95.64,94.96,99.03,97.22,96.47,100.39,99.98,99.35,
-99.51,100.67,100.16,101.06,101.78,102.63,103.97,104.25,103.68,107.16,
-105.39,106.32,106.59,106.71,106.94,106.45,106.25,109.90,107.97,110.94,
-109.35,109.71,110.45,112.11,112.17,113.18,112.33,111.86,113.25,114.99,
-111.27,113.65,114.21,116.57,116.25,114.69,117.06,117.44,117.59,116.65,
-118.04,120.26,119.43,121.19,120.57,120.44,123.44,123.45,123.60,123.70,
-125.89,125.59,123.59,124.94,125.32,126.05,125.31,127.25,130.60,127.45,
-125.53,129.71,129.05,126.98,131.34,129.56,134.81,131.95,133.24,134.05,
-135.22,133.47,136.47,133.63,135.67,136.16,136.34,136.09,137.41,138.34,
-140.12,139.24,140.18,138.66,138.92,138.41,141.62,140.91,144.34,144.46,
-4.03,3.85,3.96,4.89,5.30,5.78,5.94,6.69,6.38,7.01,
-7.49,8.10,7.66,8.20,8.88,9.57,9.07,9.81,9.91,10.44,
-11.45,11.62,11.65,11.80,12.02,13.29,13.96,14.13,13.53,14.94,
-14.66,15.28,14.39,15.29,15.97,16.32,16.41,17.34,17.23,16.48,
-17.95,19.03,17.98,19.09,20.52,20.58,20.00,20.69,21.15,22.33,
-22.66,22.08,21.96,23.88,24.01,22.89,24.14,24.43,23.91,26.64,
-24.66,25.25,27.27,26.15,28.23,26.64,28.18,28.71,27.68,27.74,
-29.25,29.67,29.09,27.90,29.89,30.70,31.23,30.93,32.22,31.84,
-32.70,33.97,34.79,33.06,34.36,35.14,35.39,35.38,37.01,35.41,
-36.30,37.13,38.04,37.43,37.93,37.84,37.82,37.35,39.97,39.65,
-40.01,41.07,41.24,41.81,43.07,41.48,41.84,42.68,44.80,43.59,
-43.98,44.12,44.01,45.20,46.27,45.92,45.62,45.05,47.75,47.56,
-47.54,47.48,47.30,48.86,48.83,49.47,49.17,49.35,49.70,50.56,
-51.75,54.92,51.26,51.41,51.38,53.20,52.10,53.71,53.62,54.91,
-54.06,54.65,54.50,56.33,56.74,55.77,56.53,56.65,58.09,57.42,
-60.15,56.87,58.98,58.87,60.81,60.33,59.73,60.76,59.44,60.38,
-62.26,62.98,60.85,63.54,62.95,63.29,64.21,64.62,62.86,66.90,
-65.61,67.55,66.39,66.69,67.22,67.58,67.44,66.64,71.37,69.66,
-68.70,68.68,70.31,68.63,70.04,71.53,71.70,73.00,71.63,73.64,
-73.05,73.26,73.10,72.22,75.74,73.63,75.06,75.09,75.28,75.28,
-75.67,77.21,79.22,75.99,77.38,77.70,77.94,79.46,79.54,79.53,
-80.10,78.59,82.04,80.04,81.18,79.42,82.24,83.37,81.65,84.66,
-80.82,84.36,82.44,85.44,85.89,84.32,86.98,87.06,85.57,87.19,
-86.55,88.19,86.82,87.83,86.45,88.24,88.99,89.10,88.32,90.21,
-90.06,91.86,90.65,92.39,92.49,92.33,91.35,93.46,92.49,96.09,
-95.59,95.13,96.08,92.72,95.64,98.50,96.48,98.49,97.93,98.22,
-98.40,98.80,101.65,101.35,98.92,98.47,98.01,101.44,100.66,99.93,
-101.35,101.29,101.87,102.21,100.47,103.60,105.86,104.61,106.49,104.24,
-104.43,106.25,106.77,103.82,106.19,106.31,104.99,108.01,110.04,108.61,
-2.92,3.31,3.57,3.71,3.94,4.07,4.13,4.97,5.10,5.71,
-5.04,5.92,6.31,5.88,6.24,6.48,7.79,7.62,8.21,7.74,
-8.37,8.51,8.91,8.31,9.49,9.72,9.66,10.24,11.23,10.33,
-11.66,11.61,12.06,12.37,11.24,12.45,12.94,13.61,13.96,13.64,
-13.92,14.14,14.75,14.42,15.34,13.75,15.39,15.91,16.25,17.22,
-16.30,15.97,16.43,17.57,18.09,18.09,19.18,19.76,19.63,19.02,
-20.17,20.32,20.65,20.46,20.00,20.59,21.46,21.69,21.44,20.82,
-22.42,23.13,22.07,22.97,23.14,23.21,24.14,24.96,24.59,25.47,
-25.56,24.53,24.54,26.29,27.45,26.20,27.25,26.70,27.96,27.13,
-27.92,27.33,28.19,27.26,27.87,29.26,29.22,30.14,28.88,30.62,
-30.27,30.60,31.13,31.98,31.22,30.89,32.76,32.54,32.35,33.55,
-32.98,33.48,33.52,34.88,34.04,35.82,35.13,36.52,36.46,35.67,
-36.08,37.01,37.13,37.22,37.89,36.39,36.68,37.79,37.38,37.31,
-38.31,39.01,38.61,39.25,40.95,40.33,40.78,41.39,39.73,41.56,
-41.84,41.86,41.59,40.99,42.85,44.60,43.15,44.36,43.76,43.20,
-43.69,43.88,45.52,44.85,45.02,46.08,46.22,47.29,48.36,47.55,
-47.78,47.77,47.62,49.55,48.83,48.50,48.64,48.52,48.64,49.29,
-51.45,50.76,50.48,52.06,50.36,53.22,52.32,52.39,51.55,52.73,
-51.75,52.65,54.49,54.92,54.76,54.61,55.02,55.52,54.99,56.85,
-55.22,56.97,55.12,55.42,57.45,56.13,58.36,57.71,55.94,56.98,
-58.10,59.20,58.41,58.87,60.26,59.42,59.22,60.75,60.27,60.05,
-59.83,60.72,63.60,60.02,65.11,63.25,61.94,64.20,62.77,63.22,
-63.29,63.47,63.57,63.94,66.09,64.03,64.58,66.30,67.33,66.35,
-66.90,66.89,68.57,67.93,69.67,68.01,64.29,69.47,69.29,68.33,
-71.53,67.56,69.53,70.78,69.74,70.64,69.76,73.19,71.54,71.41,
-72.62,72.75,71.91,74.25,74.56,73.42,76.70,75.77,74.71,74.58,
-77.10,73.06,74.46,74.47,76.86,76.16,75.02,77.09,76.70,76.67,
-74.13,77.75,78.11,79.82,78.07,78.25,77.84,80.32,80.77,81.07,
-81.12,79.56,81.28,81.79,79.81,82.83,82.73,81.94,84.20,84.13,
-2.36,2.16,2.75,3.08,3.11,3.44,3.24,3.23,4.49,4.17,
-4.72,4.16,5.04,4.91,5.00,5.73,5.06,5.39,5.79,6.00,
-6.24,5.76,6.66,6.51,6.71,7.80,7.53,7.37,8.43,7.87,
-8.05,9.42,8.86,8.67,9.29,9.73,10.01,9.36,10.02,10.26,
-9.97,10.65,9.97,10.86,11.66,10.74,12.45,11.82,11.98,12.04,
-12.45,13.08,13.08,13.21,13.49,12.96,14.23,14.32,14.46,14.98,
-14.72,15.91,15.76,15.08,16.21,15.14,16.81,16.45,17.23,16.03,
-17.25,16.58,18.34,18.10,18.00,17.45,18.57,17.26,19.10,17.68,
-18.91,18.41,19.02,20.96,19.70,19.28,19.90,20.05,21.56,21.32,
-20.89,21.45,21.48,22.59,21.55,21.24,21.53,21.82,22.60,22.76,
-23.22,23.75,24.46,23.65,23.68,24.57,24.22,23.89,24.28,24.48,
-25.07,25.62,25.98,26.42,26.43,25.29,26.17,26.19,27.00,27.71,
-27.92,26.48,29.16,26.99,27.32,29.17,28.13,29.01,28.51,28.66,
-29.61,28.21,30.16,30.99,29.52,30.40,30.42,29.91,30.36,30.03,
-31.44,30.84,31.32,34.17,31.97,32.84,32.52,31.80,31.92,33.38,
-33.45,34.27,34.76,33.90,35.24,34.87,34.34,36.34,34.79,35.95,
-36.05,35.80,37.04,36.13,36.23,38.68,38.52,37.04,36.13,37.66,
-37.43,36.99,39.07,38.81,38.37,39.11,38.67,39.65,40.06,40.08,
-38.91,39.71,39.12,39.84,41.01,40.01,43.11,44.15,40.99,41.48,
-40.36,43.42,42.02,43.02,42.49,43.03,43.06,44.55,42.02,44.94,
-44.51,43.57,44.28,45.14,45.44,46.27,45.34,47.07,46.18,45.41,
-46.30,46.15,46.48,48.11,45.66,47.06,48.53,47.31,47.66,48.37,
-50.34,50.15,48.97,50.37,48.24,50.23,49.01,48.42,49.18,51.01,
-51.71,49.19,51.55,51.20,49.78,52.76,52.12,51.12,53.71,52.84,
-52.93,52.00,55.17,53.49,52.79,52.63,53.18,54.19,55.58,55.47,
-55.40,55.88,55.36,56.64,55.37,53.25,57.01,55.65,57.05,55.71,
-57.92,56.82,57.15,59.33,59.60,55.96,57.98,57.97,58.82,58.19,
-61.10,59.34,60.27,59.22,59.09,60.17,60.59,60.31,60.79,61.06,
-60.20,62.97,62.12,62.17,63.25,63.36,62.67,62.48,62.19,62.31,
-1.71,1.75,1.67,1.84,2.67,2.01,2.82,2.42,2.84,3.48,
-3.23,3.27,3.34,3.40,3.97,3.89,4.09,4.10,4.59,4.30,
-4.89,4.87,5.24,5.51,5.60,5.68,5.49,6.14,5.99,6.70,
-6.46,6.26,6.65,7.20,6.75,7.31,7.38,7.38,7.17,7.77,
-8.08,8.55,7.83,8.30,8.22,9.34,9.20,9.34,8.71,9.06,
-9.87,9.94,8.77,9.96,10.34,10.34,10.74,10.54,10.28,11.37,
-11.71,11.91,10.46,12.23,11.11,10.79,11.59,11.99,12.65,12.81,
-12.92,12.63,13.34,12.96,13.75,13.19,13.63,13.64,14.00,14.00,
-13.85,14.20,14.93,13.93,14.31,15.21,16.12,16.13,15.05,16.22,
-15.42,15.97,15.68,17.24,15.54,15.95,17.27,17.64,18.83,18.48,
-16.99,17.07,17.56,17.09,18.80,17.54,19.27,18.38,18.14,17.66,
-18.93,17.36,19.00,18.61,20.23,19.41,19.98,20.60,19.38,20.86,
-19.98,20.30,21.00,20.29,20.65,21.52,21.92,21.21,21.68,23.01,
-22.27,21.86,22.98,22.05,22.86,22.28,22.60,22.55,23.38,23.42,
-23.62,23.30,23.95,23.58,25.53,25.21,24.70,24.22,25.38,24.78,
-27.86,24.71,25.04,26.16,26.27,27.18,25.83,25.50,28.06,26.94,
-26.91,27.83,26.07,27.21,27.13,28.12,27.75,27.49,29.42,28.32,
-28.80,28.21,29.06,30.75,28.28,28.89,28.54,30.09,28.88,30.24,
-30.72,31.07,30.09,30.77,30.42,31.73,31.27,31.37,32.58,32.53,
-32.19,32.72,32.60,31.60,31.95,32.44,33.75,32.21,33.00,31.72,
-34.16,33.74,34.59,33.24,33.93,33.65,34.39,33.99,34.98,34.47,
-34.45,34.48,33.92,36.46,35.25,35.75,35.45,38.30,36.00,35.77,
-36.08,36.06,36.30,37.80,36.77,38.95,37.65,36.51,39.75,38.66,
-36.24,38.56,39.06,38.78,39.47,39.29,38.00,40.03,40.24,40.06,
-41.18,39.44,41.74,40.43,39.80,40.66,41.18,40.94,41.26,42.36,
-42.05,40.44,40.91,41.17,43.18,41.37,42.99,41.58,42.73,42.79,
-43.26,45.14,43.39,44.28,43.69,43.04,45.45,43.02,44.30,44.71,
-44.30,44.76,44.93,45.52,45.31,43.43,47.08,45.33,42.98,43.39,
-44.21,47.20,46.51,45.69,45.88,45.85,47.48,48.02,47.19,46.87,
-1.25,1.46,1.49,1.94,1.46,1.92,1.67,2.08,2.48,2.47,
-2.30,2.73,2.77,2.13,3.00,3.36,3.31,3.52,2.94,3.57,
-3.56,3.90,3.98,3.98,4.43,4.47,4.00,4.56,4.54,4.81,
-4.80,4.67,4.83,5.28,5.23,6.00,5.29,5.92,5.58,6.14,
-5.23,6.21,6.25,6.66,6.60,6.97,6.26,6.48,7.12,7.70,
-7.45,6.99,8.29,7.99,7.65,7.96,8.19,7.82,8.46,8.06,
-8.46,9.31,8.08,8.61,8.74,9.10,9.39,8.54,9.35,9.56,
-8.73,10.23,9.31,9.66,10.37,11.11,9.49,10.48,10.85,10.83,
-10.88,11.09,10.68,11.34,12.43,10.92,12.14,11.99,12.72,12.31,
-12.59,11.83,12.23,11.69,13.08,13.02,13.10,12.57,13.55,13.59,
-12.87,13.71,13.98,13.87,14.75,13.60,13.46,13.42,14.44,13.88,
-14.06,14.22,14.26,15.34,15.34,14.88,15.86,15.45,14.72,16.10,
-14.88,15.70,15.62,15.54,16.27,16.49,15.88,16.52,17.05,17.55,
-16.81,17.21,17.11,17.03,17.85,17.93,17.13,18.82,17.15,17.64,
-17.17,18.29,17.23,17.89,17.73,18.68,18.73,18.30,17.81,19.72,
-19.71,19.41,20.28,19.62,19.82,19.05,20.48,18.76,20.83,20.70,
-20.05,21.39,20.61,20.44,20.46,22.60,20.12,21.90,21.95,21.46,
-22.16,22.18,21.83,22.60,21.75,21.55,22.14,22.19,21.88,24.74,
-22.97,23.10,23.09,24.32,24.30,23.17,22.99,24.43,22.97,24.05,
-24.73,23.02,24.49,23.70,24.54,24.00,25.26,25.21,24.38,25.60,
-25.92,25.87,25.52,25.66,26.61,25.13,27.19,26.49,26.29,27.34,
-27.21,25.67,27.55,27.88,24.56,26.66,26.14,27.60,26.59,26.83,
-28.33,28.47,27.96,26.81,29.16,29.12,28.44,29.35,28.05,29.45,
-30.42,29.19,29.83,29.86,28.95,29.67,28.92,29.52,28.52,30.68,
-30.49,30.28,30.64,30.03,31.66,28.98,30.96,30.63,29.95,31.82,
-30.64,31.57,31.50,32.58,33.33,33.44,32.65,31.05,33.32,32.62,
-33.30,31.57,31.36,34.18,33.22,31.41,33.74,32.20,34.67,32.91,
-34.34,35.35,33.31,33.93,34.89,33.24,33.92,33.34,33.99,33.92,
-35.13,36.05,35.70,34.42,36.06,35.83,35.04,36.30,35.97,36.54,
-1.06,0.93,1.10,1.29,1.29,1.49,1.42,1.36,1.86,1.43,
-1.93,2.16,1.68,2.15,2.45,2.04,2.31,2.57,2.44,2.47,
-2.80,2.58,2.90,2.60,3.50,3.32,3.14,3.12,3.42,3.68,
-3.96,3.53,3.78,3.66,5.07,4.22,4.32,3.86,4.32,4.67,
-4.82,4.82,4.81,4.76,5.08,4.24,5.63,4.77,5.29,5.42,
-5.96,5.73,5.24,6.00,5.71,6.29,6.05,5.88,5.85,5.90,
-5.98,6.15,6.44,6.81,6.84,6.67,6.58,6.91,6.88,6.94,
-6.68,6.72,7.51,7.70,7.50,6.83,7.68,7.63,8.41,7.61,
-7.95,8.29,8.48,7.88,9.08,8.14,8.45,8.69,9.20,8.14,
-8.04,8.69,8.87,9.19,9.43,9.61,9.71,10.21,9.91,10.16,
-10.04,9.86,10.07,10.79,9.75,10.82,10.47,10.70,10.93,11.51,
-11.37,11.62,11.49,11.47,11.33,11.01,11.36,12.46,11.05,11.75,
-12.43,11.48,12.53,12.75,12.25,11.16,12.30,12.87,12.54,12.94,
-11.98,12.57,13.27,12.92,13.55,13.33,12.79,13.72,14.18,14.16,
-13.71,12.60,14.26,13.70,13.54,13.16,14.75,15.09,15.81,13.82,
-13.54,15.03,13.76,14.88,14.90,14.14,15.32,15.04,16.66,15.17,
-15.67,14.93,14.41,15.90,15.83,15.90,15.43,15.86,16.68,16.46,
-16.47,16.95,16.60,16.62,17.23,16.82,17.13,16.33,17.42,17.46,
-17.27,17.11,16.83,17.59,18.64,17.85,18.75,17.28,17.50,18.30,
-17.60,18.67,18.43,18.09,19.29,18.84,17.81,18.23,20.06,18.59,
-18.33,18.18,19.64,18.83,18.75,19.92,19.62,19.57,18.23,19.83,
-20.42,20.18,19.81,20.69,19.31,20.90,20.04,19.93,20.52,21.56,
-20.31,21.18,20.51,20.42,20.56,22.58,21.81,21.07,20.77,22.41,
-21.96,21.06,21.10,21.06,22.37,21.75,22.52,22.31,22.70,23.85,
-22.25,23.50,22.15,22.53,22.67,23.20,23.71,24.09,22.40,22.46,
-23.27,22.63,22.75,23.93,24.62,22.69,23.46,24.27,25.90,25.32,
-23.80,25.45,24.52,25.03,25.89,24.61,24.08,26.04,24.57,24.21,
-25.71,25.92,26.25,24.63,24.94,25.80,26.43,25.94,26.16,26.46,
-26.24,25.72,27.81,26.69,26.70,27.90,27.69,26.41,25.03,26.45,
-0.51,0.39,0.62,0.81,1.13,1.40,1.07,1.21,1.16,1.55,
-1.04,1.41,1.48,1.49,1.71,1.87,1.98,1.62,1.54,1.67,
-2.10,2.10,2.13,2.39,2.32,2.28,2.47,2.44,2.71,2.90,
-2.62,2.47,3.02,2.67,3.19,2.38,3.14,3.19,2.92,2.94,
-3.66,3.68,3.73,3.32,3.76,3.59,3.64,3.69,3.85,4.29,
-4.08,4.00,3.94,4.46,3.78,4.44,4.38,4.22,4.71,4.62,
-4.99,4.52,5.10,4.87,5.55,4.96,4.86,4.63,4.76,5.44,
-5.44,4.81,6.33,6.09,5.58,5.74,5.65,6.70,6.36,5.63,
-6.38,6.47,6.53,6.45,6.59,6.59,6.39,6.05,6.72,6.74,
-7.31,7.08,6.73,6.89,7.35,6.88,7.91,7.76,7.28,7.14,
-7.11,7.26,7.50,7.17,8.63,7.27,8.74,8.36,8.01,8.71,
-8.14,8.33,9.26,8.56,9.27,8.38,9.48,8.67,9.27,9.28,
-8.68,8.19,9.70,8.69,8.71,9.89,9.79,9.38,8.79,9.41,
-9.52,10.08,9.65,9.68,9.36,10.10,8.49,9.83,10.05,10.09,
-10.77,9.78,9.66,10.46,10.66,10.82,10.36,10.56,9.85,10.85,
-11.84,10.40,10.45,11.37,10.94,11.45,9.98,11.77,11.77,10.83,
-11.52,11.98,12.07,11.94,12.46,11.95,12.10,11.69,11.41,12.75,
-12.40,13.36,12.81,11.68,12.80,12.46,12.31,11.72,13.26,12.75,
-13.07,12.40,12.97,12.70,13.50,13.60,12.69,14.03,12.82,13.77,
-13.69,13.52,14.75,14.04,13.75,14.69,14.46,14.64,15.62,14.18,
-14.05,14.80,14.34,14.94,14.74,15.22,15.18,15.41,15.61,14.30,
-14.81,15.09,14.72,15.57,14.83,14.27,15.90,15.15,14.91,14.73,
-14.75,15.48,15.55,15.37,15.93,16.78,16.32,16.73,16.71,16.08,
-17.49,16.52,17.70,16.85,16.15,17.04,17.32,16.38,15.99,16.11,
-17.91,17.29,16.49,17.21,17.18,18.10,17.03,17.57,17.03,17.92,
-16.16,19.24,17.79,18.54,18.32,17.97,18.50,17.67,17.20,17.86,
-19.77,18.06,17.68,18.68,18.71,18.55,18.58,19.23,19.33,18.73,
-19.01,18.76,19.04,19.78,18.82,20.50,19.69,20.97,21.11,20.06,
-20.79,20.00,19.90,20.42,19.29,19.76,18.55,20.17,21.57,21.11,
-0.64,0.54,0.73,0.62,0.72,0.99,0.94,1.03,1.11,0.86,
-1.06,1.11,0.85,1.25,0.98,1.36,1.06,1.48,1.25,1.72,
-1.83,1.42,1.76,2.12,1.81,1.89,2.09,1.94,2.52,1.82,
-2.18,2.27,2.06,2.23,2.38,2.73,2.53,2.84,2.34,2.52,
-2.50,2.61,2.98,2.84,2.30,3.08,2.74,2.65,2.88,2.91,
-2.77,3.10,2.90,3.48,3.08,3.72,3.65,4.06,3.94,3.09,
-3.24,3.77,3.58,3.99,3.75,4.32,4.12,3.69,4.97,4.04,
-3.75,3.99,4.31,4.42,3.87,4.06,4.16,4.47,4.65,4.70,
-4.51,4.70,4.34,3.89,4.89,5.05,4.32,4.41,5.16,5.54,
-5.13,5.14,4.82,5.58,5.57,5.06,5.90,5.64,4.20,5.27,
-5.17,5.87,5.88,5.78,5.56,6.37,5.86,5.78,5.98,5.99,
-6.13,6.05,6.29,5.94,6.21,5.77,6.42,6.64,6.49,6.93,
-6.16,5.96,6.83,7.57,7.24,6.80,6.57,7.90,7.84,7.64,
-6.94,7.20,7.03,7.12,7.42,7.96,8.29,7.37,8.01,7.60,
-7.73,7.85,7.72,7.45,8.09,7.57,7.01,8.25,7.83,8.08,
-8.12,7.94,8.24,7.86,8.57,8.48,9.15,8.42,8.54,8.85,
-8.22,8.24,9.47,9.17,9.15,8.96,8.92,8.85,8.64,9.00,
-9.26,9.71,9.40,9.71,9.40,9.94,9.63,9.70,9.85,9.54,
-8.71,10.06,9.06,10.83,10.10,10.12,11.13,9.32,9.42,9.69,
-11.55,10.92,10.98,10.45,11.19,10.59,10.92,9.30,10.13,9.68,
-11.80,10.33,10.73,10.85,11.50,10.80,11.35,11.50,10.73,11.82,
-10.83,12.23,11.20,11.51,11.94,11.68,11.76,12.30,11.81,12.31,
-11.97,12.18,11.96,12.02,11.75,12.10,12.82,12.52,11.91,12.11,
-11.12,12.72,12.29,11.72,12.27,12.14,12.10,13.65,12.18,12.73,
-13.18,12.74,11.95,13.07,13.49,13.08,13.97,13.23,13.60,13.28,
-13.09,12.76,13.66,13.36,12.14,13.08,13.75,12.97,12.83,14.18,
-13.48,13.81,15.05,14.01,14.57,14.26,14.47,13.77,13.06,14.42,
-14.51,14.24,14.59,15.12,14.56,14.96,14.28,15.00,13.87,14.16,
-14.62,14.46,15.84,14.23,15.68,15.75,14.98,15.01,16.52,15.42,
-0.23,0.37,0.41,0.48,0.51,0.74,0.43,0.37,1.08,0.80,
-0.69,1.04,0.66,0.97,0.81,0.93,1.28,1.16,0.89,1.09,
-1.07,1.29,1.17,1.55,1.46,1.05,1.59,1.34,1.51,1.47,
-1.36,1.62,1.85,1.95,1.65,1.65,1.78,1.98,1.81,1.28,
-2.01,2.26,2.06,1.90,2.00,1.84,2.01,1.99,1.98,2.01,
-2.50,2.68,2.21,1.85,2.51,2.26,2.70,2.44,2.85,3.05,
-2.59,2.53,3.02,2.48,2.79,3.11,2.83,3.27,2.74,3.27,
-3.06,3.34,3.08,3.51,3.39,3.50,3.08,3.64,3.68,3.69,
-4.40,3.56,2.94,3.99,3.39,4.15,3.90,3.65,3.80,3.54,
-3.87,4.03,4.08,3.73,3.86,3.98,4.04,4.41,4.49,4.15,
-3.81,4.26,4.73,3.89,4.04,4.22,4.35,4.58,4.78,5.07,
-4.87,4.84,4.36,4.68,5.54,5.12,4.45,4.28,4.72,5.55,
-5.34,4.68,5.52,5.72,4.94,5.22,5.32,5.24,5.22,5.57,
-5.26,6.08,5.46,5.73,5.86,5.87,5.60,5.96,6.36,5.41,
-5.61,5.94,6.17,6.46,5.65,6.10,5.75,6.62,5.80,5.86,
-5.80,6.06,6.07,6.74,6.04,5.85,7.32,6.96,5.62,6.78,
-6.14,6.92,7.11,6.97,6.73,7.04,6.60,6.84,6.74,6.52,
-6.42,7.19,7.06,6.98,6.75,7.02,7.16,6.72,7.97,6.71,
-6.87,7.34,7.37,7.05,6.94,7.59,7.49,7.76,7.01,8.51,
-7.69,6.35,7.96,7.88,7.28,8.75,8.70,7.76,7.70,7.38,
-8.06,7.95,7.78,8.03,7.96,8.58,7.80,8.80,8.30,8.30,
-8.27,8.09,8.28,9.26,9.09,9.09,8.90,9.03,8.82,9.29,
-8.69,8.72,9.69,8.97,8.41,9.46,9.61,9.59,9.62,9.35,
-9.36,8.45,9.88,9.44,9.11,9.36,9.71,9.32,9.24,9.33,
-9.79,9.96,9.52,10.12,9.87,9.84,8.98,10.22,8.91,9.98,
-9.65,9.81,10.15,9.83,11.09,8.98,10.22,10.86,9.86,10.30,
-10.78,9.98,10.00,11.15,9.71,10.43,10.79,10.51,10.16,10.64,
-10.78,10.72,11.20,11.03,11.72,10.84,10.71,9.66,10.93,11.79,
-10.78,10.15,11.55,11.10,11.98,11.26,11.17,11.01,11.39,11.19,
-0.22,0.41,0.35,0.43,0.32,0.23,0.54,0.54,0.50,0.42,
-0.56,0.44,0.70,0.55,0.60,0.56,0.75,0.63,0.59,0.81,
-0.87,0.99,1.11,1.22,1.00,1.07,1.17,0.97,1.01,1.60,
-1.19,1.14,0.98,1.38,1.33,1.06,1.25,1.25,1.42,1.38,
-1.18,2.07,1.47,1.75,1.56,1.36,1.39,1.65,1.77,1.77,
-1.86,1.71,1.89,1.70,2.13,1.97,1.51,1.82,2.25,2.19,
-1.61,2.20,1.95,1.79,2.51,2.37,2.35,2.85,2.41,2.08,
-2.04,2.33,2.22,2.38,2.47,2.33,2.31,2.68,2.33,2.17,
-3.04,2.66,2.21,2.89,2.81,3.40,2.48,2.36,2.98,2.78,
-2.79,2.90,2.64,2.78,2.70,2.39,3.33,2.80,2.92,3.06,
-3.53,3.08,2.85,3.05,3.29,3.22,3.35,3.28,3.49,3.74,
-3.42,3.69,3.51,3.57,3.47,3.28,3.51,3.55,3.37,4.11,
-3.84,3.40,3.76,4.10,4.00,3.83,3.85,3.61,4.08,4.03,
-3.86,3.99,4.01,4.15,3.88,4.05,3.59,4.51,4.76,4.23,
-4.70,4.45,4.58,3.83,4.97,4.21,4.57,4.49,4.79,5.63,
-4.49,4.56,4.35,4.84,6.03,4.52,4.68,5.06,4.33,5.24,
-4.75,4.32,4.89,5.38,4.74,5.07,5.84,4.68,4.93,5.08,
-5.37,5.63,5.84,5.18,5.17,4.68,6.14,5.26,5.35,4.87,
-5.15,5.27,5.46,5.71,5.51,6.20,5.11,5.80,5.80,6.22,
-5.45,5.32,5.41,6.90,5.94,5.86,5.70,5.94,6.04,5.57,
-6.47,6.26,6.55,6.45,6.36,6.19,6.50,6.54,5.93,5.79,
-6.17,6.40,6.26,7.40,5.89,6.26,5.44,6.71,6.79,6.38,
-6.66,6.00,6.71,6.72,6.02,6.18,7.28,7.64,6.63,7.56,
-6.92,6.63,6.92,7.39,7.18,8.14,6.33,6.50,6.67,7.55,
-7.28,7.25,6.78,7.68,7.55,8.13,7.52,6.85,7.69,6.75,
-7.02,6.87,7.51,7.25,7.25,7.59,7.94,8.45,7.79,7.98,
-9.04,7.35,8.17,7.47,8.24,7.83,7.99,8.43,8.03,8.25,
-9.29,7.45,8.16,8.12,9.39,8.27,8.62,8.16,9.24,8.43,
-8.06,8.59,9.58,8.34,8.63,8.31,8.10,8.05,8.25,8.12,
-15.36,17.26,19.96,20.14,22.66,23.99,25.63,26.07,28.57,29.33,
-31.91,32.10,33.46,36.21,36.76,38.68,39.89,41.55,42.67,43.93,
-45.94,48.20,48.79,50.83,51.11,53.04,54.92,58.08,58.54,59.56,
-61.01,62.16,62.50,66.39,68.18,70.53,70.84,72.15,73.83,73.70,
-76.89,77.21,79.18,81.39,82.50,85.01,86.36,86.91,88.68,89.88,
-92.38,93.34,95.04,97.68,96.36,100.95,101.07,102.89,103.54,105.48,
-107.31,107.65,109.62,109.54,113.97,114.67,114.67,118.39,119.67,121.59,
-124.22,124.06,125.01,127.47,128.27,128.92,131.69,131.60,137.57,137.53,
-137.06,140.39,141.50,141.05,142.27,143.74,147.94,148.69,150.04,154.22,
-152.65,154.39,156.11,158.87,159.79,161.10,161.81,163.96,163.96,167.48,
-167.95,170.12,171.70,172.35,172.61,175.79,176.41,176.74,180.25,179.86,
-183.35,184.06,188.86,185.79,188.85,190.74,191.94,194.45,195.41,196.66,
-197.58,200.73,199.62,201.25,206.09,205.18,209.12,210.64,209.54,211.91,
-213.00,217.04,216.51,217.77,221.88,220.12,224.07,223.81,227.61,226.36,
-225.90,230.94,230.08,235.89,234.72,236.51,238.25,240.44,241.26,245.04,
-241.74,242.22,247.81,249.16,248.51,251.59,253.65,257.00,255.81,259.27,
-258.84,260.70,262.66,265.62,266.59,269.56,266.34,268.60,273.12,274.29,
-273.93,279.33,279.58,279.42,282.54,280.73,283.26,285.61,287.38,286.99,
-290.20,291.60,291.93,297.33,295.62,294.82,301.48,303.25,303.49,302.81,
-306.22,307.19,308.29,310.23,312.73,313.92,317.65,317.54,315.80,318.98,
-322.28,321.15,323.69,326.25,324.67,327.79,331.37,330.56,332.38,334.07,
-337.00,336.05,338.58,338.67,345.51,342.51,346.46,346.68,346.56,349.76,
-350.24,354.42,351.43,356.17,357.30,363.60,362.50,360.38,361.77,363.44,
-364.20,367.72,371.17,374.17,374.45,376.14,374.66,376.40,378.90,376.58,
-383.93,380.38,383.14,385.90,387.43,387.20,387.41,394.12,392.47,398.12,
-398.97,401.15,398.36,404.31,407.86,406.28,408.68,407.51,411.57,410.80,
-412.74,412.28,411.80,417.74,418.88,417.79,422.12,428.87,424.97,423.60,
-425.98,429.85,430.63,431.24,436.21,433.15,433.87,433.69,437.41,443.11,
-443.85,446.04,443.06,446.17,449.81,450.87,451.56,450.52,453.77,457.74,
-12.08,13.59,14.90,15.90,17.46,18.92,19.25,20.69,22.31,22.42,
-24.47,26.40,26.66,27.66,29.37,30.40,30.61,32.58,35.05,34.90,
-35.62,37.23,37.25,39.33,42.15,41.06,42.73,45.87,45.54,48.47,
-46.98,49.63,51.34,51.94,52.66,53.39,55.91,58.68,57.76,60.08,
-60.97,62.66,62.29,63.61,64.97,66.62,66.55,68.64,70.67,71.28,
-71.76,74.84,73.97,77.74,78.10,79.25,79.42,81.36,81.72,81.96,
-85.06,86.81,86.85,87.07,90.31,90.83,90.72,93.31,94.02,93.39,
-97.04,98.87,97.78,98.34,100.56,100.51,104.81,105.26,106.27,106.81,
-109.28,109.42,111.00,112.83,112.86,115.99,115.02,118.71,118.79,119.31,
-120.47,120.68,124.37,123.77,125.23,126.63,126.72,129.49,129.87,132.27,
-132.19,135.03,136.77,135.17,135.99,138.32,140.82,138.75,143.02,144.27,
-145.60,144.21,148.04,148.05,147.83,149.61,152.35,152.18,152.56,157.49,
-157.41,155.98,157.80,160.40,162.45,164.18,163.33,164.05,166.32,167.26,
-168.40,171.09,169.57,171.73,176.10,172.12,176.61,173.19,177.18,178.16,
-179.72,181.46,180.23,182.61,186.37,186.66,188.65,188.53,190.21,190.22,
-193.99,191.86,198.29,196.59,197.78,197.09,202.01,202.23,204.08,203.98,
-203.81,203.65,207.69,208.90,211.23,207.08,211.56,214.44,213.27,213.34,
-213.57,216.74,218.01,218.00,220.35,222.85,224.83,222.51,226.71,228.43,
-228.54,231.73,233.99,230.76,235.26,238.28,233.45,239.16,237.78,242.43,
-242.62,243.29,245.27,242.53,248.25,245.86,245.86,248.42,252.16,251.21,
-254.53,253.22,255.35,257.72,260.21,259.54,262.54,261.82,259.22,264.67,
-266.22,268.12,266.19,265.77,270.84,271.07,272.20,273.04,275.93,272.51,
-280.89,278.75,277.65,278.58,280.16,281.12,282.99,286.13,285.56,289.37,
-289.90,292.87,292.37,291.54,292.20,295.20,297.47,298.95,295.95,297.22,
-299.98,304.28,304.95,304.34,302.08,306.25,308.16,305.80,312.64,308.40,
-314.69,313.77,315.36,315.53,317.80,319.42,323.02,322.67,321.17,321.03,
-321.52,326.41,324.02,328.40,324.65,331.12,330.99,335.81,332.33,337.01,
-339.37,339.30,339.38,344.38,337.13,340.49,340.94,344.07,343.83,343.48,
-347.51,350.16,350.85,353.79,354.19,350.60,357.72,353.92,358.18,359.16,
-10.05,11.23,11.11,12.06,13.76,14.46,15.48,15.58,17.41,18.10,
-18.98,20.42,21.10,21.30,21.94,23.47,24.20,25.03,27.22,26.44,
-29.20,30.11,30.62,31.07,33.05,34.15,35.99,34.27,35.49,36.45,
-38.10,39.15,40.16,40.61,41.75,42.97,43.16,44.58,46.31,46.22,
-46.54,47.59,48.28,48.92,52.15,51.86,52.56,54.49,53.44,54.95,
-59.65,58.19,58.89,59.14,59.96,61.13,62.44,63.44,63.98,65.08,
-67.75,67.09,67.66,68.22,70.78,70.30,70.57,72.03,73.70,74.96,
-75.98,75.68,75.60,76.14,79.73,82.45,80.98,82.74,81.11,84.57,
-83.75,84.64,87.67,88.91,89.47,89.05,90.80,92.05,94.33,93.92,
-95.77,95.29,96.14,98.63,97.58,100.32,99.21,100.17,102.95,103.69,
-102.92,104.60,105.87,105.61,107.69,110.83,110.21,110.23,110.86,113.81,
-112.56,115.15,113.87,117.97,118.39,118.02,119.61,120.78,117.14,120.59,
-122.40,122.78,123.52,126.33,126.97,125.77,127.22,129.27,131.77,131.94,
-132.18,130.23,133.28,134.24,134.18,138.00,138.51,139.44,139.66,137.53,
-142.71,140.83,144.31,145.35,144.06,146.41,146.07,146.48,147.54,150.48,
-152.49,150.93,152.23,154.24,152.36,154.03,157.07,157.51,158.27,158.87,
-158.92,160.72,159.72,162.19,163.87,164.80,163.84,169.81,166.88,168.46,
-169.36,168.31,176.56,172.61,170.14,175.20,175.08,176.45,178.06,178.55,
-179.28,178.88,183.73,182.07,184.53,186.48,183.12,186.23,183.77,185.56,
-188.56,189.98,187.84,193.38,192.94,196.41,195.74,193.70,196.96,195.50,
-195.00,202.29,198.91,199.77,201.14,202.28,203.10,203.36,205.08,203.50,
-207.17,207.31,209.25,212.35,209.30,212.09,215.47,212.68,212.56,215.31,
-217.03,214.56,219.21,218.42,219.64,222.96,225.08,224.67,223.41,225.66,
-227.30,227.42,229.51,225.78,231.22,231.33,231.18,229.90,227.71,231.11,
-235.02,233.33,237.13,236.66,238.50,242.07,243.14,240.09,243.81,245.66,
-243.50,244.35,246.84,247.24,250.62,250.55,248.43,251.05,254.33,253.11,
-254.80,253.97,256.99,260.40,261.89,260.25,261.29,261.13,261.24,265.60,
-264.33,262.05,265.68,267.35,268.73,268.54,270.48,267.83,266.16,272.19,
-270.00,274.95,274.97,278.21,274.01,275.53,278.45,279.96,278.80,279.13,
-7.02,8.47,8.91,9.40,10.65,10.34,12.12,13.22,13.88,14.37,
-15.48,15.96,16.19,17.77,18.25,17.26,19.76,20.39,20.72,21.50,
-22.99,22.81,23.47,24.23,24.92,25.32,26.23,28.11,27.21,29.27,
-29.35,29.39,30.46,31.91,31.92,33.95,33.77,35.40,36.17,35.51,
-37.24,37.42,38.99,40.13,38.47,41.38,41.49,41.76,42.13,43.70,
-45.49,44.35,47.57,46.13,47.78,46.98,47.10,49.46,48.85,49.29,
-51.97,52.27,51.10,53.91,54.01,55.55,57.12,56.95,56.73,58.76,
-58.77,60.11,62.84,61.22,63.06,63.62,62.68,65.75,64.48,65.27,
-66.84,65.86,67.83,68.82,70.17,69.85,71.47,71.66,71.92,74.42,
-75.98,73.35,73.46,74.62,77.87,77.50,77.36,79.59,77.45,78.73,
-80.13,80.45,81.81,84.06,83.10,85.14,85.61,87.09,87.67,88.41,
-89.04,89.75,90.89,90.62,89.70,90.36,95.05,93.19,93.00,93.09,
-96.15,98.50,96.75,96.14,100.41,102.03,99.52,100.33,102.84,102.88,
-102.57,104.27,105.61,103.61,107.15,107.31,106.61,108.33,108.15,108.17,
-108.16,111.59,112.42,111.98,114.60,115.16,114.42,114.33,117.27,116.01,
-120.04,120.32,119.59,119.73,121.73,120.59,122.80,123.38,124.61,123.30,
-126.09,123.37,125.97,127.99,128.38,127.16,131.32,129.69,129.00,130.47,
-133.22,133.58,132.28,136.02,136.74,138.14,137.58,135.60,139.38,141.74,
-142.14,140.37,141.90,142.09,141.88,143.13,144.53,147.67,146.91,145.52,
-145.92,148.24,147.90,150.15,150.50,152.68,153.30,152.44,150.61,154.75,
-152.81,155.47,156.30,156.53,159.30,159.53,163.68,158.42,160.44,161.06,
-161.46,159.66,163.24,162.34,165.26,165.69,164.12,166.70,169.86,168.25,
-165.91,168.85,168.28,170.52,174.08,170.01,175.56,176.51,174.31,177.22,
-176.68,176.74,180.26,178.36,178.50,177.52,182.54,180.75,184.33,184.34,
-184.97,185.71,185.15,187.96,184.77,187.03,185.36,189.72,190.03,191.53,
-192.19,193.20,191.94,191.28,196.74,196.69,194.59,195.79,197.15,199.35,
-198.35,196.43,201.31,201.49,203.43,201.09,204.55,203.21,206.49,203.36,
-202.70,209.94,208.56,205.80,209.34,213.14,211.48,208.32,210.08,217.13,
-211.47,212.63,211.71,216.62,217.10,214.68,218.70,218.17,218.25,220.51,
-5.74,6.36,6.98,7.22,8.64,9.14,9.62,9.66,10.75,11.22,
-12.22,12.13,13.35,12.58,13.73,13.89,15.16,14.25,16.71,17.44,
-17.98,17.51,17.68,19.75,18.92,20.52,21.42,21.54,20.74,21.67,
-23.18,23.22,23.36,24.99,25.36,25.86,25.44,27.35,26.71,29.21,
-29.48,30.94,28.82,29.56,30.12,31.71,32.69,32.16,32.93,33.70,
-34.28,34.57,36.20,36.05,37.77,37.10,38.39,38.86,39.40,39.71,
-38.59,41.18,39.43,41.80,41.50,43.39,43.56,45.79,43.61,46.02,
-43.75,46.43,47.37,47.59,47.99,48.68,49.34,49.50,49.70,50.14,
-51.63,52.05,54.33,54.74,52.39,52.56,55.38,56.12,55.15,56.64,
-57.88,58.04,57.67,59.32,59.36,60.84,57.61,62.26,63.08,62.90,
-61.30,63.54,64.25,63.92,65.78,66.01,65.85,67.44,65.99,68.10,
-68.01,70.14,70.61,68.73,70.00,72.36,70.99,73.54,73.97,74.43,
-72.97,75.89,77.13,76.43,77.54,76.61,77.77,79.66,77.48,81.23,
-79.18,79.13,80.94,79.43,82.63,81.30,79.78,84.90,84.39,82.42,
-86.41,84.14,85.72,87.21,87.90,89.06,88.67,88.52,90.95,91.95,
-90.46,91.06,91.37,91.16,92.98,94.37,95.64,92.79,96.96,96.53,
-96.25,96.83,96.71,98.13,98.78,98.97,99.42,101.41,103.24,99.75,
-104.14,102.91,105.52,102.54,104.12,107.38,105.37,104.69,110.00,109.93,
-107.25,108.05,109.29,109.45,111.18,110.68,112.82,115.69,113.63,114.70,
-114.65,115.04,115.26,115.64,115.52,117.81,118.64,116.66,118.27,118.42,
-119.79,121.82,119.08,119.97,123.37,122.83,123.38,123.64,123.18,123.64,
-124.92,126.79,126.53,127.37,130.94,126.45,126.48,129.62,128.03,129.65,
-132.09,131.55,130.49,135.38,133.36,134.74,136.69,136.46,136.59,136.22,
-139.72,138.98,140.96,138.89,136.85,140.28,140.04,142.84,141.19,141.61,
-144.10,143.03,141.45,145.97,145.67,144.57,142.15,144.30,149.53,148.34,
-146.59,144.06,146.59,150.77,149.95,150.89,151.81,153.10,152.41,150.77,
-155.45,156.86,151.63,155.26,155.37,156.47,158.12,158.68,158.09,159.40,
-158.92,159.14,160.54,163.93,163.87,164.10,162.22,162.66,164.79,168.01,
-164.30,166.42,164.73,166.73,163.92,170.46,169.56,168.87,168.22,168.47,
-4.71,4.80,4.68,5.72,6.10,6.88,7.50,7.67,7.76,8.32,
-8.75,9.87,9.70,11.02,10.73,11.53,11.24,11.68,12.31,12.78,
-13.14,13.94,14.38,14.90,15.09,15.59,16.08,17.03,17.23,18.05,
-18.47,18.96,18.95,19.16,18.75,19.37,22.21,20.68,22.00,21.52,
-22.38,22.78,23.18,23.42,24.15,25.31,22.84,25.48,25.10,26.79,
-25.82,27.38,26.41,27.82,28.11,28.71,29.57,29.15,30.29,30.66,
-30.63,30.96,32.98,32.18,32.85,34.15,33.77,34.17,34.73,35.47,
-35.72,35.31,35.50,37.38,36.55,37.85,37.70,38.68,38.57,39.81,
-39.97,39.98,41.06,42.19,41.58,42.30,42.52,43.32,42.20,41.98,
-43.58,44.58,44.22,46.30,47.42,45.99,46.51,49.11,49.52,47.85,
-48.61,50.16,49.50,50.45,49.13,51.09,51.52,52.76,53.59,52.55,
-53.90,54.29,53.49,54.83,54.59,54.21,56.32,56.89,57.11,57.58,
-56.99,57.50,59.41,58.26,59.90,60.94,59.02,60.91,59.59,61.08,
-61.91,62.74,62.61,62.03,65.50,63.25,63.15,64.94,64.45,65.19,
-64.76,66.91,67.93,67.77,67.86,69.11,70.99,70.64,71.05,70.37,
-70.57,70.12,71.69,69.91,71.52,73.43,75.13,75.00,73.97,73.09,
-74.55,75.17,77.33,75.52,75.30,76.44,76.69,76.92,79.57,79.78,
-79.70,78.53,80.39,81.83,81.04,80.09,80.86,83.17,82.38,83.94,
-84.16,83.22,84.21,83.97,86.00,87.86,86.13,86.48,88.06,87.12,
-86.12,87.42,90.11,89.97,91.20,88.75,89.89,91.37,93.35,90.94,
-92.82,93.46,92.98,91.38,94.36,93.78,93.93,95.81,96.70,97.74,
-98.57,100.41,96.43,98.16,97.80,99.27,98.60,99.20,100.01,100.27,
-102.69,102.26,104.27,104.76,102.31,104.20,104.22,104.31,106.56,103.69,
-104.84,106.79,105.31,108.79,107.79,108.51,109.10,109.32,109.52,109.72,
-109.87,110.04,107.47,110.05,109.29,113.70,112.99,113.70,112.39,114.56,
-112.43,115.80,117.12,113.22,115.59,117.88,117.43,118.17,119.36,119.67,
-119.61,118.91,117.77,121.07,119.55,119.13,121.42,120.61,121.42,120.17,
-124.39,125.06,124.45,127.17,127.86,126.39,127.33,123.41,128.78,128.11,
-127.66,128.50,129.64,131.34,130.89,129.42,129.24,133.07,131.09,132.49,
-3.32,3.98,4.41,4.57,4.44,5.39,5.57,5.46,6.88,6.20,
-6.77,7.58,7.85,8.81,8.17,9.38,9.38,8.84,10.26,9.67,
-11.50,11.31,10.46,11.13,11.35,11.85,12.73,12.22,13.20,12.20,
-13.40,13.53,15.60,14.55,15.99,15.98,14.76,15.59,16.41,16.54,
-17.03,16.62,17.91,16.45,18.57,19.44,18.98,19.62,19.61,19.96,
-20.05,21.10,21.24,21.45,21.59,22.70,22.36,22.65,23.20,25.54,
-23.89,24.19,24.95,24.01,25.24,26.28,26.78,26.95,26.03,25.76,
-27.32,25.98,27.21,27.67,28.73,26.91,30.09,30.66,30.74,30.45,
-31.26,30.90,31.10,33.04,32.02,32.91,33.10,32.33,33.06,33.42,
-34.19,35.42,32.32,35.45,35.44,35.15,36.41,36.79,36.18,36.40,
-37.86,38.36,38.99,38.38,38.47,39.97,39.53,40.00,39.77,42.95,
-40.34,41.83,42.81,43.32,42.19,43.00,43.49,42.28,43.16,43.01,
-44.96,43.42,44.38,43.58,45.94,47.65,48.10,48.52,47.23,46.32,
-47.18,48.70,48.14,49.99,49.05,49.51,49.21,50.31,49.66,51.27,
-49.83,50.88,49.39,51.39,52.48,52.88,53.42,53.20,54.43,54.70,
-54.81,55.43,54.79,55.83,56.49,55.26,56.53,56.74,57.51,59.03,
-58.42,58.03,58.79,58.72,60.24,61.18,59.04,59.66,59.33,59.59,
-64.18,62.06,62.22,60.93,60.96,61.05,63.65,63.17,65.01,64.80,
-63.33,64.45,64.38,64.86,64.87,67.80,66.23,67.17,66.86,66.85,
-68.48,67.54,68.59,70.86,69.76,69.60,71.64,70.03,72.03,71.73,
-70.12,71.76,72.88,73.09,73.51,74.54,72.77,72.96,72.94,73.98,
-74.88,76.26,75.83,77.48,75.20,75.64,77.38,76.58,77.65,78.26,
-77.75,78.84,79.87,80.18,80.24,79.91,79.82,79.42,81.59,79.89,
-80.84,80.14,81.53,83.15,84.77,83.16,82.28,82.42,85.70,83.66,
-84.86,85.27,88.07,86.00,86.95,85.70,89.87,88.58,85.48,87.63,
-91.12,89.24,89.97,87.47,90.31,86.75,92.02,89.73,92.34,91.27,
-93.32,89.56,91.53,96.29,92.09,95.25,91.74,94.50,92.26,95.62,
-95.14,94.97,94.62,98.58,95.41,96.05,98.98,97.55,96.46,98.72,
-98.24,97.76,99.07,99.22,100.67,101.85,100.35,101.19,99.57,99.83,
-2.71,2.66,3.23,3.33,4.04,4.35,4.19,4.54,4.31,4.90,
-5.41,5.61,5.76,5.81,6.48,6.83,6.42,7.08,6.53,8.31,
-8.07,7.89,8.23,9.09,8.76,9.34,9.30,10.42,10.21,9.73,
-10.12,10.96,10.70,11.04,11.48,11.82,12.93,11.54,12.03,13.88,
-13.35,13.54,14.10,14.51,14.14,13.99,13.70,15.72,15.65,15.70,
-15.77,16.14,16.64,17.05,16.77,17.91,16.67,17.15,17.79,17.74,
-18.69,18.07,19.99,20.21,19.52,19.54,20.45,20.73,20.33,21.04,
-21.92,21.43,21.12,22.07,21.58,20.87,22.82,21.41,23.47,24.37,
-24.53,24.32,24.12,23.86,23.81,24.54,26.48,24.69,26.42,26.46,
-26.79,26.38,26.27,26.28,26.57,27.48,28.40,28.80,30.23,27.73,
-28.44,28.46,30.23,29.31,30.01,30.48,30.36,30.97,29.61,30.93,
-31.11,31.51,31.99,32.80,33.24,33.75,31.02,33.35,32.93,34.19,
-35.77,34.13,35.65,34.64,35.26,34.84,36.20,37.17,36.20,35.74,
-36.69,36.02,37.21,39.11,38.37,40.30,38.48,38.10,38.47,39.86,
-38.27,41.58,39.27,39.87,40.61,39.70,42.35,41.27,41.94,42.47,
-43.12,43.47,42.61,42.45,43.17,43.70,43.19,43.05,44.94,45.30,
-45.05,44.03,45.14,45.27,46.04,46.76,46.88,47.49,48.73,45.44,
-48.09,48.95,48.95,46.84,47.55,48.63,48.11,49.19,49.75,49.48,
-51.23,50.42,50.92,49.66,51.31,50.05,52.13,50.96,51.24,53.62,
-50.65,51.23,54.34,53.44,54.11,52.38,53.30,55.99,53.35,54.20,
-55.37,55.43,53.71,53.17,55.97,58.41,55.45,56.58,56.52,57.56,
-57.05,57.49,58.28,58.70,57.23,58.23,61.27,58.33,59.43,59.74,
-60.49,60.45,62.62,60.97,61.07,60.64,61.17,63.06,61.53,63.40,
-63.53,62.90,61.30,65.00,65.29,64.18,65.12,65.59,65.66,63.48,
-66.86,63.29,66.43,65.20,69.51,66.42,66.72,67.33,67.07,66.85,
-69.60,67.95,68.90,68.89,68.03,67.70,70.10,69.81,69.62,68.51,
-71.12,71.74,69.66,71.87,70.97,72.59,72.00,69.78,74.10,70.63,
-73.66,74.99,72.90,75.85,73.44,73.04,74.18,76.11,76.06,73.50,
-75.53,74.33,76.88,77.52,74.88,75.57,78.27,78.89,77.78,77.61,
-1.89,2.22,2.30,3.03,2.41,3.01,3.08,3.43,3.35,4.25,
-3.96,4.84,4.02,5.04,4.91,5.41,5.41,5.45,5.90,5.70,
-6.45,5.88,7.08,6.28,6.01,7.22,7.45,7.19,7.98,7.43,
-7.94,8.10,9.00,8.53,9.17,8.69,9.00,9.84,9.68,9.62,
-9.99,9.81,9.99,10.64,10.71,11.02,11.44,12.36,12.56,12.19,
-11.46,12.08,12.77,12.23,12.09,13.85,13.46,13.68,13.45,14.40,
-14.54,14.35,14.60,15.29,14.08,15.38,15.94,15.77,16.15,15.58,
-15.37,17.51,15.87,16.99,17.11,16.42,17.06,17.35,18.31,18.71,
-17.27,17.66,18.45,19.51,19.09,18.79,19.46,18.94,19.12,19.82,
-19.86,20.97,20.75,19.77,20.78,21.43,21.05,21.77,22.64,21.69,
-22.73,23.65,22.29,22.00,23.61,22.71,23.94,24.90,23.57,23.98,
-24.00,23.98,24.66,25.49,24.54,24.55,24.92,26.81,24.26,24.74,
-26.03,26.68,26.32,25.81,27.61,27.22,27.49,27.11,27.67,27.61,
-28.25,27.94,28.70,28.51,29.32,29.95,29.59,28.22,29.99,29.48,
-31.19,30.02,30.48,31.08,29.86,30.98,31.07,31.83,31.06,31.76,
-31.72,31.96,32.18,34.48,33.84,33.31,34.08,34.53,32.63,32.53,
-33.60,34.92,35.01,33.37,34.81,36.11,34.73,35.25,37.22,35.56,
-35.90,36.15,36.68,35.11,39.13,37.26,36.29,39.34,37.45,39.26,
-39.51,37.34,38.59,37.39,38.28,40.17,37.31,40.68,39.18,40.40,
-40.79,40.98,39.60,40.44,41.48,42.04,41.97,41.65,40.86,42.38,
-42.52,43.22,42.83,43.35,42.65,42.95,41.80,44.08,42.63,44.30,
-45.10,43.40,45.08,45.20,46.30,45.51,46.42,44.13,47.60,48.33,
-47.01,45.65,46.27,45.95,47.44,46.77,47.92,46.76,47.22,48.09,
-48.30,47.35,48.96,48.99,51.01,50.87,50.85,48.60,49.30,49.51,
-50.61,50.96,50.83,52.71,51.37,50.89,50.52,50.16,52.11,51.69,
-51.49,52.55,52.32,52.58,54.46,54.00,52.85,53.02,54.19,53.31,
-53.22,55.62,53.22,56.17,53.36,57.43,56.85,58.31,56.42,55.99,
-54.38,54.47,56.16,55.03,58.27,57.70,58.27,58.26,56.94,58.30,
-57.02,57.70,60.17,59.18,59.62,60.30,59.35,58.33,59.07,59.91,
-1.42,1.84,1.96,2.09,2.02,2.31,2.46,2.42,2.92,2.90,
-3.21,2.94,3.34,3.24,4.14,4.23,4.35,3.98,4.76,4.10,
-3.96,4.31,5.12,4.90,5.23,5.61,4.56,5.49,6.14,6.11,
-6.02,6.28,6.33,7.21,6.76,6.72,7.53,7.54,7.15,7.53,
-7.50,8.32,8.22,7.96,8.77,8.14,8.64,8.49,9.17,9.41,
-9.24,9.52,9.49,9.37,9.73,10.38,9.78,10.37,9.77,11.43,
-10.49,11.34,11.10,10.27,11.40,11.31,11.69,11.54,11.96,11.78,
-11.18,12.43,12.40,13.28,13.14,13.56,13.58,13.24,13.68,14.27,
-14.44,14.07,14.27,14.86,14.22,15.09,16.37,13.85,15.14,14.96,
-14.80,15.07,16.20,15.40,16.25,16.11,16.40,16.74,15.79,16.64,
-17.53,17.77,17.86,18.35,17.39,16.66,19.22,18.82,18.25,18.61,
-19.11,17.27,19.70,19.21,19.30,17.96,19.10,19.41,19.76,19.93,
-18.83,19.92,21.04,21.71,20.57,20.99,20.27,19.94,21.61,22.71,
-21.61,21.01,22.02,22.17,21.94,22.62,22.25,21.55,23.01,23.18,
-22.97,22.90,23.68,24.04,22.56,24.30,24.54,24.79,23.03,25.27,
-24.67,24.70,24.95,26.42,25.56,23.84,26.18,25.99,25.50,24.25,
-26.06,26.27,25.93,25.80,25.69,26.00,28.48,28.76,26.88,26.38,
-28.88,26.02,26.42,27.57,30.44,27.81,28.88,29.44,28.53,29.22,
-29.64,27.20,30.31,30.27,30.20,29.83,29.85,30.18,30.43,30.56,
-28.86,32.30,30.64,31.35,31.59,29.91,32.80,32.16,32.05,33.50,
-32.22,31.73,34.31,31.51,33.37,33.27,32.89,34.34,33.80,34.83,
-32.66,33.92,34.99,32.59,34.46,33.34,33.74,35.24,34.21,35.98,
-35.37,34.44,34.84,35.16,35.56,35.46,36.38,37.24,36.28,37.22,
-36.76,36.66,37.83,37.64,38.01,36.88,37.22,37.12,38.30,37.21,
-39.21,37.62,40.05,39.01,39.14,38.91,38.91,38.47,40.81,40.32,
-40.03,39.82,39.39,39.67,40.10,37.82,43.02,40.62,41.33,40.29,
-40.61,41.44,40.10,40.57,42.12,41.86,42.11,40.76,42.52,43.06,
-43.96,43.10,42.89,44.86,43.17,42.95,45.44,43.66,43.46,44.30,
-45.06,43.22,44.35,45.11,44.44,44.61,44.74,44.28,45.84,48.48,
-1.20,1.43,1.28,1.46,1.64,1.71,2.21,2.09,1.70,2.06,
-2.13,2.56,2.05,2.73,3.05,3.29,3.14,3.22,3.24,3.71,
-3.62,4.10,4.26,3.48,4.11,4.00,4.29,4.13,5.20,4.57,
-4.91,4.52,5.23,5.30,5.10,5.11,5.57,5.49,5.92,4.93,
-5.36,6.53,6.12,6.58,5.92,6.22,6.25,6.91,7.17,6.79,
-6.87,7.79,7.68,7.66,6.38,8.37,7.44,8.17,7.61,8.11,
-8.62,8.25,7.82,8.26,8.16,8.16,9.52,9.18,10.12,8.58,
-9.33,8.96,9.27,9.53,10.49,9.75,9.75,10.53,10.42,10.68,
-10.64,10.77,10.42,10.72,11.59,11.08,11.23,10.78,11.32,11.54,
-11.63,12.32,11.50,11.46,11.57,12.64,12.80,12.62,13.66,12.33,
-13.71,12.93,13.30,14.13,14.02,13.07,14.07,13.69,13.82,13.49,
-13.80,14.01,14.15,14.45,15.79,14.84,15.03,14.43,14.60,15.13,
-16.91,15.48,15.72,15.03,16.00,16.06,14.94,16.76,16.83,17.11,
-17.57,17.26,17.51,16.18,16.80,16.37,18.50,17.70,18.90,16.83,
-18.82,17.89,17.45,18.84,17.75,17.79,18.09,17.89,18.81,20.00,
-19.29,18.89,19.20,17.64,19.68,19.81,20.18,18.45,20.54,21.22,
-20.59,18.74,19.63,20.99,20.07,21.75,20.15,21.38,20.62,20.61,
-21.95,20.91,20.44,21.25,21.23,22.95,22.29,21.55,22.51,21.71,
-23.18,21.73,21.16,24.36,22.18,22.93,22.45,24.71,22.71,23.94,
-23.48,24.16,23.50,23.95,24.29,23.80,24.34,24.47,24.14,25.01,
-24.22,24.46,24.85,25.41,25.69,25.43,26.22,25.48,25.13,25.96,
-24.63,26.86,27.04,25.17,25.88,27.07,26.26,26.11,25.95,26.02,
-26.07,26.66,27.37,26.83,27.52,27.40,30.15,27.67,28.36,28.07,
-29.22,26.49,28.37,28.50,28.92,29.17,27.61,29.92,28.90,29.33,
-30.14,29.95,28.88,29.59,30.32,29.32,29.76,30.24,30.71,31.84,
-31.34,29.68,30.97,29.25,30.02,30.29,30.82,31.98,31.48,31.49,
-30.59,31.84,32.14,31.72,32.27,32.27,30.20,31.55,31.60,33.71,
-32.11,32.78,32.79,32.63,32.83,34.02,34.87,33.94,33.27,33.71,
-33.52,34.13,35.03,33.04,32.46,35.04,35.01,34.90,34.70,35.93,
-0.95,0.85,1.43,1.00,1.43,1.29,1.55,1.12,1.10,1.98,
-1.89,2.19,1.86,2.15,2.00,2.37,2.09,2.71,2.41,3.17,
-2.96,2.76,2.80,2.79,2.80,3.23,3.59,3.01,3.34,3.28,
-3.63,3.95,3.67,3.97,3.07,4.03,3.71,3.96,3.97,4.12,
-4.21,4.78,4.64,4.63,4.95,4.82,4.74,5.47,5.76,5.35,
-4.79,5.43,5.44,5.01,5.35,6.07,5.90,5.56,6.13,6.54,
-6.27,6.53,6.59,6.23,6.66,6.89,6.45,6.87,6.85,7.04,
-6.97,7.34,7.41,8.19,7.24,7.55,7.86,7.82,8.51,8.49,
-6.96,8.06,7.99,8.57,7.84,8.37,8.94,7.89,8.17,9.49,
-8.71,8.64,9.59,8.84,10.56,8.89,10.07,10.07,9.29,10.06,
-8.97,10.14,10.69,10.38,10.01,10.93,10.68,10.36,10.22,11.14,
-10.12,10.84,10.14,10.97,11.30,11.04,11.73,10.84,11.82,10.85,
-10.60,12.07,11.92,11.82,12.08,12.47,11.96,12.55,13.13,12.58,
-12.66,12.93,12.08,12.24,12.66,12.58,12.78,13.74,13.34,14.19,
-12.96,14.03,14.49,13.30,13.30,15.35,13.11,13.95,15.37,14.69,
-14.51,13.79,13.81,13.77,14.49,15.37,13.95,14.32,14.96,14.96,
-15.56,15.56,15.90,15.30,15.75,15.35,15.88,15.99,15.09,16.45,
-15.60,16.14,16.36,16.28,17.18,15.67,16.45,16.41,16.13,17.10,
-16.56,17.34,17.32,16.41,17.27,17.75,17.37,17.69,18.75,17.88,
-17.20,18.32,18.10,18.33,17.64,19.25,19.22,17.73,17.55,17.75,
-18.46,18.69,18.79,19.69,20.23,20.08,20.00,19.63,20.81,19.13,
-19.54,20.40,19.55,19.77,21.09,20.17,20.02,19.97,19.36,21.51,
-19.85,20.53,22.32,19.54,21.76,19.95,20.67,20.46,21.99,19.65,
-21.73,21.90,19.86,22.25,22.34,21.20,21.19,21.80,22.00,21.63,
-20.72,22.07,22.24,21.07,22.57,21.66,22.35,21.78,23.13,21.76,
-22.48,24.49,24.08,24.49,23.14,24.87,24.43,22.64,23.25,23.07,
-24.23,23.21,24.12,23.97,24.74,24.86,24.92,24.53,23.83,23.81,
-24.08,25.81,24.51,26.66,25.73,25.31,25.08,25.33,26.63,24.61,
-25.04,26.34,27.29,26.11,27.70,26.81,25.01,26.57,27.32,27.42,
-0.81,0.59,0.82,0.62,0.85,0.86,1.14,1.00,1.12,1.20,
-1.37,1.29,1.62,1.64,1.51,1.73,1.59,1.96,1.72,1.90,
-1.79,1.93,2.23,2.00,2.06,2.02,2.45,2.49,2.80,3.09,
-2.89,2.78,2.54,2.96,2.62,2.97,3.12,3.87,3.33,3.36,
-3.40,3.63,2.81,3.46,3.12,3.17,3.58,4.05,3.96,3.89,
-4.12,3.71,4.28,4.29,4.47,4.14,4.61,4.93,4.44,5.23,
-4.40,5.26,5.32,5.06,4.78,5.10,5.47,5.11,5.57,5.26,
-6.03,5.17,5.56,5.15,5.47,5.86,5.65,5.98,6.45,6.21,
-6.82,6.12,5.96,6.70,6.33,7.50,5.65,6.19,6.58,6.62,
-6.74,7.04,6.71,6.84,6.61,7.46,6.94,6.70,8.24,7.01,
-7.43,7.58,7.62,7.54,7.92,8.35,7.93,7.44,7.61,7.96,
-7.32,7.19,8.22,8.04,9.03,8.92,8.01,8.68,8.08,8.70,
-9.47,9.37,9.28,8.59,9.38,9.09,9.68,9.07,9.27,9.91,
-9.08,10.40,9.23,10.15,9.75,9.57,9.65,11.10,10.33,9.32,
-10.09,10.73,11.17,11.03,10.48,10.85,10.73,11.08,11.24,12.13,
-11.15,11.25,10.82,12.17,10.82,11.15,11.58,10.79,11.21,11.96,
-11.72,11.91,12.44,10.93,11.59,11.40,11.26,12.55,12.28,13.18,
-11.94,12.15,13.31,12.01,11.95,11.85,12.64,12.68,12.79,13.70,
-11.73,13.27,13.46,13.12,12.56,12.73,13.52,13.37,13.91,14.08,
-13.06,13.17,13.34,13.73,15.04,13.65,14.10,13.04,14.25,14.47,
-14.79,13.86,14.63,14.91,14.19,14.26,14.54,14.57,15.79,14.10,
-15.56,15.68,15.44,15.28,15.43,15.15,17.11,14.92,15.24,15.56,
-15.45,15.41,15.64,15.59,15.28,15.54,16.17,15.46,17.13,15.95,
-15.74,17.08,16.44,17.25,15.56,15.71,16.65,16.83,17.25,16.11,
-17.82,17.13,16.02,17.58,17.27,17.78,17.62,17.71,17.86,17.09,
-17.74,16.82,17.20,19.31,17.57,18.11,17.79,17.57,18.01,17.99,
-18.75,18.12,19.03,18.62,18.04,17.78,18.30,18.76,18.23,19.32,
-20.13,19.90,18.16,19.57,19.27,19.14,21.14,19.88,20.19,18.42,
-18.29,21.05,19.23,19.84,21.67,19.93,20.30,19.54,20.12,19.92,
-0.30,0.60,0.65,0.81,0.61,0.69,0.69,1.02,1.06,0.67,
-1.08,1.03,1.18,1.44,1.50,0.88,1.41,1.35,1.51,1.32,
-1.46,1.74,1.90,1.89,1.89,1.79,2.13,2.14,1.49,2.08,
-2.26,2.03,2.09,2.00,2.25,2.13,2.47,2.38,2.69,2.13,
-2.63,2.74,2.49,2.53,2.98,2.32,2.83,2.90,2.88,2.63,
-2.90,2.97,3.41,3.28,3.15,3.03,3.36,3.37,3.98,3.22,
-3.46,3.42,4.39,3.68,3.73,3.96,4.17,4.07,4.19,4.27,
-3.81,3.84,3.98,4.37,4.96,4.11,4.46,4.04,4.19,4.60,
-4.77,4.46,4.76,4.70,4.58,5.01,4.92,4.50,4.92,5.51,
-4.48,5.01,4.83,5.78,5.29,5.17,5.81,5.98,5.33,5.74,
-5.53,6.02,5.36,6.20,6.34,5.88,5.97,5.82,5.75,6.01,
-6.30,5.86,5.47,5.70,6.43,7.10,6.75,5.71,7.21,6.33,
-5.83,6.20,6.21,6.73,6.75,6.91,7.59,7.54,6.81,7.28,
-7.07,7.16,7.56,7.12,7.47,7.86,7.94,7.85,7.89,7.76,
-8.51,7.76,8.06,8.02,7.08,8.28,8.11,8.34,8.80,8.41,
-8.07,8.44,8.55,8.35,9.59,8.55,8.58,8.94,8.89,8.69,
-9.11,9.15,9.79,9.05,8.76,8.75,8.29,8.85,8.86,9.26,
-8.96,8.30,9.83,10.05,9.32,9.52,10.15,9.01,9.56,10.52,
-9.81,9.90,9.29,10.52,10.63,10.35,9.93,10.81,10.62,10.87,
-9.55,11.08,10.51,10.90,11.31,11.01,10.34,10.52,10.52,11.11,
-10.63,10.91,10.72,11.54,10.12,11.11,11.23,11.38,11.45,11.04,
-11.49,12.30,11.62,10.96,11.34,12.37,11.18,12.40,11.38,12.52,
-11.54,11.73,12.83,12.83,11.72,12.19,13.27,12.33,12.71,12.79,
-11.83,12.05,12.22,11.93,12.74,12.02,12.24,11.63,11.79,13.32,
-13.20,12.98,12.65,12.18,13.10,12.68,13.09,13.84,13.29,13.57,
-12.68,13.12,12.93,13.13,14.68,13.15,13.97,13.99,14.77,14.25,
-13.21,13.94,13.69,13.99,13.19,13.30,14.73,15.04,14.14,14.74,
-14.09,14.71,15.08,15.44,14.97,14.37,14.35,15.92,14.19,14.14,
-14.70,15.81,15.25,15.99,15.03,15.01,14.81,15.36,15.44,15.52,
-0.32,0.39,0.30,0.47,0.62,0.72,0.74,0.72,0.72,1.04,
-0.99,1.06,0.91,0.63,0.88,1.15,0.90,1.11,1.22,1.10,
-1.12,1.24,0.97,1.26,1.20,1.42,1.92,1.38,1.51,1.42,
-1.74,1.78,1.61,1.68,1.74,1.72,1.75,1.69,1.87,2.31,
-1.71,1.78,2.31,1.76,2.07,2.38,2.36,2.42,2.10,2.22,
-2.26,2.49,2.38,2.74,2.54,2.32,2.15,2.92,2.56,2.60,
-2.62,2.89,2.99,2.35,3.35,2.76,2.74,3.01,2.38,3.58,
-3.28,2.65,2.89,3.46,3.24,3.56,2.55,2.98,3.43,3.39,
-3.78,4.09,3.46,3.67,3.87,4.11,3.99,3.56,3.85,3.97,
-3.58,4.65,3.86,3.56,4.23,3.56,3.79,3.59,4.19,4.37,
-3.93,4.00,4.74,4.30,4.17,4.78,4.38,4.48,4.21,4.12,
-5.02,4.29,5.42,5.12,5.03,5.02,4.82,5.39,5.71,4.77,
-5.12,5.55,5.13,5.66,4.88,5.47,4.88,5.55,4.74,5.61,
-5.82,5.37,5.60,6.04,5.33,5.32,6.47,5.77,5.93,6.17,
-4.96,4.85,5.74,5.80,5.72,6.07,5.90,6.60,6.01,6.21,
-6.91,7.19,6.45,6.50,6.04,6.76,6.79,6.71,7.74,5.85,
-6.82,7.01,6.95,6.40,6.92,6.11,6.50,6.60,7.15,6.89,
-6.27,6.55,7.44,7.58,6.43,7.47,7.39,7.10,7.66,6.97,
-6.94,7.64,7.57,7.10,7.90,7.63,8.05,8.28,7.59,7.83,
-7.40,7.55,7.91,8.63,8.47,8.63,8.24,7.83,8.50,8.07,
-7.36,8.03,9.08,9.37,7.48,8.57,8.03,8.94,8.73,8.40,
-9.05,8.90,9.71,8.72,8.08,9.21,9.37,8.86,9.38,8.05,
-8.53,9.38,9.11,9.90,9.63,8.92,8.83,8.86,9.55,9.09,
-9.21,9.96,9.00,10.21,10.05,9.42,10.21,10.04,9.79,10.43,
-8.59,9.58,9.81,9.74,9.64,9.16,10.56,9.44,9.45,9.90,
-10.88,9.69,10.01,10.19,9.54,10.50,10.31,10.87,11.27,11.06,
-10.91,11.19,11.36,10.31,11.03,11.02,9.68,10.90,10.88,10.77,
-11.33,11.31,10.22,11.13,11.74,10.38,11.91,11.30,10.89,11.23,
-11.81,12.13,11.64,10.94,11.23,12.38,11.78,11.77,12.12,12.13,
-17.78,19.65,20.92,22.11,25.62,26.47,28.00,29.65,31.48,33.03,
-34.69,36.03,39.72,40.12,43.54,44.05,45.23,47.58,49.30,50.34,
-53.18,54.14,56.35,57.76,58.75,62.13,63.06,64.06,67.05,68.75,
-69.42,71.51,72.32,74.97,75.33,77.67,79.02,81.72,83.47,84.39,
-86.23,88.27,89.37,91.51,92.84,96.19,95.83,98.75,99.94,103.09,
-103.55,107.39,107.69,109.35,110.09,113.83,112.74,115.67,117.19,117.79,
-122.21,120.33,123.31,126.54,130.12,128.01,133.36,133.70,136.22,137.07,
-136.62,139.00,143.26,142.94,146.19,148.17,147.83,150.57,152.43,154.03,
-155.83,154.39,160.73,162.94,161.11,164.41,166.50,166.42,169.35,170.31,
-174.25,176.05,175.78,177.66,181.14,183.97,180.35,183.56,186.44,188.86,
-190.61,191.81,195.86,195.36,197.03,200.72,201.56,204.80,203.65,205.84,
-206.95,208.91,208.50,213.65,213.34,217.35,215.44,218.29,220.34,222.46,
-222.88,225.59,227.06,229.64,232.30,233.08,236.87,237.41,239.04,241.21,
-238.27,244.95,244.68,246.00,249.08,253.01,253.77,255.35,255.81,258.12,
-258.64,261.08,263.02,265.02,266.92,266.89,270.04,269.63,272.73,275.79,
-274.97,275.95,278.21,279.37,280.55,286.41,287.64,287.10,290.23,289.10,
-293.95,295.52,294.66,298.88,301.19,302.20,305.32,306.12,306.72,309.41,
-311.37,315.39,312.76,313.80,321.46,318.89,321.02,322.50,324.12,328.19,
-325.62,326.66,333.40,333.20,339.64,336.53,338.84,339.22,341.09,345.69,
-344.49,346.56,350.53,352.14,352.56,356.37,355.89,360.05,357.94,363.63,
-361.25,362.89,362.82,371.40,367.41,372.74,373.35,373.09,374.80,378.80,
-380.19,379.97,383.84,382.74,386.60,388.33,392.13,389.74,389.83,396.48,
-396.83,398.12,395.32,401.39,403.71,408.34,409.28,411.20,411.35,409.72,
-416.24,415.44,420.72,418.82,420.27,425.47,427.81,424.52,426.81,430.63,
-431.57,434.11,433.58,430.85,439.18,440.11,440.28,443.07,442.98,445.27,
-447.88,450.82,449.94,450.82,453.40,458.06,456.79,460.09,461.50,463.76,
-466.63,468.62,466.09,475.61,472.17,475.69,476.59,477.89,482.91,479.99,
-484.63,482.53,485.52,486.95,491.47,488.31,494.67,498.11,493.76,500.11,
-500.96,498.41,502.93,504.07,509.01,503.66,511.14,511.87,511.69,511.42,
-14.19,15.30,16.65,18.48,20.76,20.99,23.68,25.01,23.86,26.36,
-28.33,27.58,30.77,31.24,34.58,35.27,36.42,37.93,38.75,40.29,
-42.81,43.27,43.45,45.91,46.66,49.10,49.86,51.10,53.55,53.71,
-56.22,57.66,58.23,60.58,59.83,62.62,64.26,65.27,66.93,67.71,
-68.58,70.09,72.02,74.24,75.44,77.87,77.68,80.30,79.29,81.05,
-82.91,84.76,86.35,87.09,89.45,89.92,91.83,92.43,92.61,94.60,
-95.17,98.23,100.18,99.77,103.61,102.95,103.49,107.24,106.00,108.29,
-111.37,110.45,113.18,116.30,116.37,117.93,119.52,119.16,121.90,121.91,
-124.74,126.04,128.77,127.38,130.22,130.74,130.38,134.40,137.53,134.49,
-138.42,138.23,139.79,143.73,142.07,144.59,145.26,145.57,150.91,149.86,
-151.73,154.16,153.48,154.37,157.87,158.96,156.96,162.32,161.81,164.87,
-166.35,165.81,167.73,166.56,172.90,174.66,172.62,173.04,180.29,180.35,
-179.71,181.29,182.40,183.26,184.50,185.37,185.78,186.97,191.89,192.28,
-194.29,194.50,198.24,195.31,197.69,197.77,201.61,201.84,199.48,205.28,
-207.25,208.33,213.52,209.83,209.19,213.66,215.91,214.25,219.25,220.04,
-221.82,221.34,225.00,223.81,228.34,227.74,228.78,231.80,230.90,232.33,
-235.31,236.49,233.42,239.52,238.90,240.04,242.62,244.14,244.41,246.44,
-249.75,251.55,249.64,254.22,256.22,256.18,253.62,258.34,256.93,260.72,
-259.89,264.29,265.05,264.11,269.21,267.19,272.11,270.70,272.64,270.28,
-273.65,276.62,276.98,282.89,283.75,281.43,284.55,284.36,288.68,284.93,
-290.65,291.57,291.80,293.97,295.05,294.51,297.23,298.17,299.90,301.31,
-303.65,301.96,307.22,311.79,306.36,310.61,310.00,313.69,312.53,311.20,
-315.98,317.39,317.79,319.10,320.17,324.08,324.09,325.18,328.04,326.65,
-326.54,331.55,331.70,334.56,336.71,336.10,340.19,342.26,339.18,343.49,
-345.68,346.98,345.72,350.13,350.80,349.37,348.62,354.15,353.27,354.91,
-359.49,356.93,360.92,361.09,363.62,363.95,363.36,367.62,366.85,369.78,
-375.20,370.78,377.27,373.97,375.43,376.52,381.46,380.16,383.20,383.59,
-383.03,384.05,386.43,390.94,392.36,393.30,392.62,392.69,393.20,400.53,
-398.48,399.66,403.77,402.02,404.36,402.71,407.46,407.49,411.31,410.23,
-11.40,12.28,13.47,15.19,15.82,16.32,17.63,18.55,20.91,21.05,
-22.50,23.45,24.09,25.23,27.59,27.28,28.68,29.13,30.96,32.46,
-33.11,34.12,36.12,35.64,37.88,38.12,38.47,40.41,42.20,42.01,
-44.75,44.18,47.97,47.45,48.82,49.31,49.74,50.55,53.53,51.74,
-54.30,55.55,57.42,58.97,59.08,60.08,61.77,62.34,65.76,65.25,
-65.58,67.11,69.10,68.55,69.32,69.92,73.17,73.25,75.25,75.25,
-75.68,76.76,78.44,80.11,81.47,82.38,82.63,83.66,85.37,83.78,
-87.54,87.18,87.81,93.09,91.42,93.59,93.78,94.68,97.44,97.58,
-98.81,100.34,100.97,102.71,102.81,104.51,104.63,105.64,108.94,108.94,
-108.93,109.94,111.59,111.37,113.43,115.84,115.21,116.06,116.11,121.18,
-118.35,121.02,120.77,123.41,125.36,125.30,126.62,130.65,128.86,130.32,
-131.53,131.47,135.78,133.46,136.12,134.65,137.26,138.44,140.05,140.56,
-138.76,141.05,144.61,145.26,147.59,150.05,149.16,149.54,151.09,152.17,
-153.02,154.16,155.32,157.19,159.64,160.71,156.77,160.00,161.17,162.02,
-165.43,165.61,166.04,167.93,167.22,167.33,171.04,172.49,171.95,173.40,
-175.31,174.80,175.30,179.32,180.34,181.19,180.33,183.85,186.26,183.80,
-186.07,189.93,191.09,187.49,189.56,192.04,189.56,195.32,192.24,194.66,
-198.75,193.51,199.66,198.08,201.07,204.53,202.01,203.84,203.84,207.27,
-209.21,208.40,211.23,207.71,214.72,213.96,217.11,216.89,215.43,219.83,
-216.88,220.09,218.84,222.71,223.35,224.41,224.09,228.61,227.62,228.17,
-230.58,229.67,230.26,234.87,236.04,233.42,236.57,239.09,237.06,240.51,
-242.89,239.48,243.64,245.21,244.17,246.54,247.96,245.78,251.08,248.03,
-251.47,250.93,254.71,255.87,255.47,257.38,259.74,259.93,257.37,261.36,
-262.23,261.41,266.40,263.90,264.69,270.03,268.18,270.22,269.04,272.52,
-273.65,274.38,270.42,273.50,276.85,278.69,278.89,279.21,282.10,281.81,
-285.31,286.31,286.01,284.76,290.00,287.86,290.09,290.50,290.07,295.64,
-293.04,293.23,296.10,297.56,300.00,301.23,301.21,298.90,303.00,304.45,
-308.04,306.50,308.64,310.61,310.80,311.18,310.76,313.50,315.55,314.36,
-318.97,313.39,317.40,320.47,320.73,319.76,323.97,321.25,323.82,326.41,
-9.21,9.58,10.29,11.88,12.46,13.66,13.88,15.00,16.38,16.86,
-17.61,18.12,19.80,19.23,20.92,21.30,22.63,24.47,23.84,24.87,
-26.49,27.66,28.70,29.91,30.17,29.65,31.64,32.28,32.73,33.34,
-34.38,35.95,35.71,36.96,38.14,39.13,40.13,40.70,40.76,43.70,
-44.10,43.55,45.29,46.83,47.03,46.06,49.40,50.28,49.89,51.46,
-53.12,52.50,52.35,54.68,54.89,56.72,58.31,58.70,57.70,60.94,
-59.97,60.73,60.38,64.23,63.62,64.75,64.62,66.45,66.94,70.02,
-68.92,70.35,70.83,69.47,72.99,71.37,75.95,76.09,75.73,76.73,
-77.54,78.89,77.88,80.40,82.24,84.05,83.73,82.39,84.83,87.25,
-87.96,87.36,87.36,86.76,88.87,92.42,89.43,91.39,93.36,94.13,
-96.37,97.85,97.37,96.01,98.72,100.96,102.31,101.86,102.36,103.24,
-105.19,103.38,105.60,105.44,105.01,106.55,107.98,110.36,109.85,112.22,
-109.41,113.98,113.18,114.10,118.67,115.11,118.12,117.72,118.31,119.48,
-119.07,120.31,122.24,124.87,123.77,125.30,127.53,126.84,127.33,128.49,
-129.83,130.37,129.45,132.81,133.54,135.60,134.52,135.41,137.01,137.17,
-138.80,134.60,139.02,142.81,143.92,141.30,143.78,144.51,143.97,146.33,
-145.86,148.21,150.04,149.09,152.94,151.20,153.01,152.10,154.77,155.82,
-155.62,158.74,157.97,159.01,160.75,159.71,162.06,160.34,162.36,161.19,
-164.59,164.38,163.67,169.13,169.99,168.94,171.82,170.99,171.51,170.24,
-169.02,173.40,174.89,176.64,174.86,177.59,174.07,178.07,180.17,178.56,
-180.07,182.49,182.72,183.25,184.42,182.01,184.66,187.04,189.14,186.13,
-187.18,187.60,190.06,190.55,191.51,193.12,197.20,197.93,199.01,196.71,
-197.47,200.95,197.99,200.70,201.89,204.24,203.35,204.32,208.31,207.62,
-208.35,204.74,208.31,208.31,210.51,214.06,211.87,212.78,212.78,214.41,
-216.35,215.44,219.72,218.06,219.14,223.00,221.62,221.38,222.91,221.52,
-221.43,226.88,225.69,225.74,224.02,229.87,230.26,232.40,231.81,231.53,
-227.62,234.42,233.37,236.55,235.34,238.77,234.86,237.47,238.89,239.69,
-243.08,240.38,241.74,245.51,241.07,244.71,246.41,245.79,248.50,245.37,
-249.88,248.50,252.98,254.63,251.59,252.52,259.31,256.33,255.35,260.74,
-6.73,7.94,8.75,8.93,10.18,9.85,11.53,12.11,12.16,13.41,
-14.29,14.72,15.13,16.02,16.21,16.65,17.80,18.49,18.89,20.32,
-20.85,21.12,21.98,23.49,23.12,23.93,24.51,26.60,26.91,27.00,
-27.49,28.56,28.99,28.79,30.24,29.52,30.70,33.10,33.18,33.97,
-34.27,35.40,36.30,35.60,37.38,37.68,39.62,38.31,39.42,40.40,
-41.42,40.92,41.88,42.65,43.60,43.43,43.77,45.72,45.76,47.34,
-48.13,49.05,48.59,50.03,50.65,50.06,51.21,52.36,54.49,55.26,
-56.12,54.64,54.16,57.24,56.98,57.70,60.16,59.77,59.22,61.08,
-62.49,61.83,61.65,62.21,62.50,64.53,65.23,65.70,66.56,69.28,
-67.35,67.87,69.06,70.53,73.64,72.04,70.51,73.78,71.86,75.33,
-76.41,75.95,76.17,78.24,76.96,76.00,78.74,80.22,82.06,82.34,
-80.12,81.31,82.28,82.36,82.46,84.73,83.95,87.66,87.39,87.15,
-88.40,88.66,88.87,88.46,91.34,92.99,93.42,93.00,92.72,94.01,
-94.48,93.48,96.86,98.68,98.51,101.10,102.27,97.27,99.79,101.08,
-103.41,103.09,103.60,104.14,104.72,107.31,105.67,107.79,108.82,108.99,
-111.13,111.08,110.42,110.05,110.47,111.78,113.97,112.18,115.52,115.00,
-115.10,117.95,118.01,118.64,117.12,118.29,120.53,121.02,121.11,122.31,
-123.28,123.79,126.40,125.37,128.51,124.43,126.72,125.86,128.56,127.02,
-127.06,130.48,130.19,131.85,131.12,131.39,133.45,132.39,136.79,134.46,
-135.78,135.14,136.08,137.69,140.97,139.11,140.13,139.05,140.09,140.91,
-143.60,143.22,144.22,144.00,145.19,147.61,144.43,146.02,147.48,149.70,
-149.34,151.27,151.37,147.49,151.77,153.34,154.51,154.34,154.12,153.25,
-157.16,156.59,159.56,158.06,157.74,159.99,161.42,158.46,160.63,159.53,
-161.93,164.07,165.54,166.17,162.91,165.14,167.38,169.71,167.05,169.39,
-171.61,172.78,173.57,174.19,173.27,171.67,173.66,175.53,174.67,176.96,
-172.82,175.59,180.60,180.62,179.22,180.90,177.64,180.98,181.52,184.07,
-181.65,183.22,183.73,185.24,183.84,187.01,186.68,185.43,188.43,189.96,
-187.99,188.91,190.47,189.54,194.51,195.71,191.44,195.80,193.22,197.55,
-196.30,198.08,196.71,197.14,197.25,200.49,202.45,197.99,200.05,207.68,
-5.60,6.12,6.14,7.17,7.84,8.65,9.08,9.79,9.77,10.25,
-11.24,11.33,11.16,12.14,12.51,13.66,14.22,14.96,14.02,14.18,
-16.34,17.67,18.32,17.18,18.86,18.14,18.89,20.05,20.89,21.35,
-20.47,20.40,21.83,22.02,23.11,24.16,25.14,25.09,25.59,25.80,
-27.03,27.91,28.72,28.00,29.34,29.61,30.00,29.89,31.18,30.63,
-31.32,32.00,32.58,34.48,34.49,35.12,35.36,34.65,36.42,37.03,
-37.12,37.45,38.99,39.16,38.75,41.05,41.83,40.72,41.41,41.22,
-43.12,43.96,43.53,45.23,45.57,45.81,46.86,46.09,46.35,47.36,
-47.51,48.88,49.25,51.23,49.61,51.35,50.15,52.32,52.31,52.41,
-54.62,53.56,55.28,54.92,54.69,54.27,57.74,57.45,56.65,57.20,
-57.33,58.38,57.26,59.72,59.46,61.64,61.49,61.97,64.13,62.66,
-63.80,65.45,65.84,66.25,66.68,65.29,67.57,68.95,69.85,68.86,
-70.09,69.81,70.66,71.50,72.68,70.89,73.38,73.79,73.18,72.79,
-75.65,76.62,78.13,77.69,77.06,78.70,78.90,78.07,78.90,78.20,
-81.49,78.37,82.87,81.53,81.31,81.50,82.79,83.61,84.00,84.54,
-83.54,86.29,84.31,87.79,88.46,87.28,85.52,88.33,90.08,89.19,
-93.07,92.88,89.89,92.17,91.06,94.53,92.82,95.51,91.63,95.74,
-94.99,98.80,95.96,97.51,97.96,99.17,97.68,99.41,99.86,102.00,
-97.96,103.37,100.85,100.54,102.42,105.03,106.10,102.78,107.07,104.78,
-105.86,105.45,108.50,108.63,110.64,110.88,106.60,110.68,112.17,111.46,
-112.08,110.68,112.09,110.60,114.56,113.58,113.67,116.20,115.00,115.52,
-118.58,118.63,117.30,117.72,116.06,121.04,119.94,121.00,122.35,120.53,
-123.28,121.49,123.60,124.85,125.45,123.50,124.57,125.75,124.99,124.63,
-127.94,128.41,127.79,129.06,128.24,132.52,130.47,130.75,134.93,133.46,
-132.98,133.29,133.26,134.93,134.22,135.26,136.29,137.50,137.45,136.14,
-138.93,140.14,137.38,141.08,146.32,142.35,140.72,142.59,143.38,143.66,
-141.89,143.97,143.50,144.97,143.56,148.11,146.47,147.86,146.17,146.32,
-148.55,147.22,148.75,154.08,150.66,152.03,151.30,151.81,150.33,153.13,
-153.78,153.87,156.22,157.87,157.77,157.31,156.87,156.10,157.41,160.42,
-4.49,4.95,5.06,5.92,5.21,6.26,6.98,7.68,7.51,7.66,
-8.22,8.95,9.04,9.47,9.89,10.71,11.04,11.81,13.10,11.80,
-12.71,12.33,13.73,14.54,14.53,14.96,14.56,15.16,15.87,17.19,
-16.59,17.85,18.10,18.36,18.15,18.93,18.57,20.21,20.00,20.33,
-20.09,21.41,21.37,22.39,22.78,22.80,24.14,24.73,23.79,25.30,
-23.77,25.88,27.02,27.67,26.63,26.74,27.95,28.07,28.17,29.42,
-28.85,29.19,30.35,30.11,31.50,32.11,31.87,32.22,31.63,32.46,
-33.89,34.15,33.97,34.26,37.03,33.13,34.36,38.08,34.63,36.61,
-37.79,38.50,37.04,39.24,39.46,39.11,41.16,39.60,40.77,41.13,
-42.46,43.17,42.39,43.36,41.48,44.58,44.73,44.62,46.70,44.81,
-44.50,45.30,47.77,47.20,47.35,48.02,49.08,48.68,50.12,50.54,
-48.60,49.51,50.51,50.28,51.07,52.17,55.61,52.63,54.38,54.90,
-53.46,55.33,54.38,55.49,56.23,54.73,56.61,57.17,57.96,57.16,
-57.98,60.30,60.45,60.64,59.22,59.87,60.29,59.55,61.85,63.15,
-63.30,61.38,63.45,65.59,64.14,63.87,64.85,65.81,64.39,65.38,
-65.84,67.81,66.00,69.45,68.34,69.59,67.43,69.71,69.60,70.51,
-69.54,71.87,71.69,73.31,71.23,72.45,72.44,73.48,74.99,73.62,
-74.64,73.70,75.10,74.70,76.72,76.76,79.43,77.92,78.47,80.37,
-78.57,78.08,80.45,80.95,78.76,80.39,81.43,82.16,81.67,84.57,
-81.69,83.87,84.13,85.63,85.93,84.93,87.75,85.07,87.49,86.21,
-87.19,88.39,84.85,88.97,89.08,91.39,89.97,87.83,89.49,92.17,
-93.33,92.38,91.78,93.09,93.25,92.88,95.12,95.20,94.45,94.24,
-94.70,95.48,98.14,95.45,98.73,97.73,99.86,100.93,98.43,97.11,
-99.80,99.82,99.73,100.39,99.77,101.06,101.60,101.07,104.24,105.23,
-103.77,106.38,104.11,106.93,104.29,105.14,106.74,105.32,104.24,108.66,
-104.41,109.33,107.52,110.28,108.21,111.23,111.55,111.87,110.85,109.84,
-113.73,114.12,112.51,113.35,113.09,114.94,114.39,114.44,116.24,116.50,
-117.35,116.07,116.01,117.75,118.26,119.73,117.81,116.17,118.13,120.98,
-118.28,121.59,122.22,120.60,122.32,122.14,123.62,122.55,126.24,123.68,
-3.38,3.83,4.25,4.57,3.88,5.07,4.68,6.28,6.11,6.08,
-6.36,6.66,7.21,7.28,7.41,7.53,8.60,8.82,9.52,9.30,
-9.68,10.05,10.31,10.21,10.53,11.36,11.55,11.69,11.94,12.57,
-13.34,13.70,14.25,14.76,13.61,14.45,14.37,16.72,15.62,16.74,
-17.25,16.25,17.48,17.06,18.27,16.39,17.59,19.27,19.50,19.84,
-19.24,19.30,20.11,20.47,21.86,20.81,20.74,22.43,22.06,23.34,
-23.33,23.24,23.33,24.61,24.36,24.26,25.39,25.42,25.16,25.06,
-25.38,27.33,26.89,26.26,25.83,28.87,28.38,27.04,27.98,29.85,
-29.00,29.71,30.19,30.66,30.85,31.04,30.90,32.06,31.64,30.85,
-32.37,33.08,32.09,32.71,34.00,33.77,34.42,33.09,35.49,34.53,
-37.38,36.17,35.75,36.55,36.60,36.53,38.77,37.58,37.44,37.76,
-38.97,38.86,37.83,38.58,39.88,39.77,42.61,41.58,41.38,41.38,
-41.19,42.75,42.95,44.23,43.80,42.14,44.81,44.63,44.57,44.05,
-44.63,44.84,46.53,44.50,46.76,48.46,47.49,46.54,47.13,49.82,
-47.64,50.00,50.29,47.64,48.74,48.39,49.00,49.78,50.57,51.52,
-53.17,53.58,52.15,53.80,52.39,54.33,53.90,52.53,55.32,55.50,
-54.17,54.72,54.94,55.60,56.09,55.99,58.52,58.32,58.97,58.19,
-58.90,57.33,59.68,57.81,59.82,59.98,60.96,60.21,60.10,59.22,
-62.04,60.87,62.58,64.05,62.57,64.14,62.82,63.35,64.82,63.71,
-65.11,62.28,64.92,64.33,65.77,66.96,64.13,66.87,68.03,69.66,
-67.97,69.72,69.45,69.64,70.34,70.45,72.02,69.31,69.73,71.77,
-70.65,71.11,71.00,71.72,72.10,75.29,73.14,73.68,72.99,73.93,
-73.15,75.22,74.03,73.63,75.38,76.99,79.11,76.33,77.17,77.08,
-76.86,76.60,79.87,78.30,81.01,75.85,76.78,82.07,80.71,80.48,
-81.98,81.89,80.99,82.84,83.17,82.71,82.66,82.34,85.64,83.90,
-85.01,83.26,83.39,84.45,83.95,87.44,86.51,85.73,88.45,88.13,
-87.09,86.77,89.25,88.84,88.24,89.71,89.46,89.10,92.11,89.00,
-90.31,93.19,90.36,94.64,93.36,91.05,91.85,94.25,96.61,92.18,
-95.83,95.26,94.63,94.79,95.89,92.86,96.55,95.98,98.06,96.61,
-2.51,2.97,2.98,3.03,3.42,4.37,4.16,4.55,4.72,4.37,
-5.30,5.28,6.08,5.45,5.63,6.59,7.03,6.64,7.01,7.38,
-8.11,8.18,8.46,8.28,8.36,9.08,9.53,9.69,9.69,9.11,
-9.94,10.63,11.24,10.96,10.65,11.30,12.02,11.78,12.62,12.31,
-12.26,13.08,14.29,13.98,13.54,14.18,14.13,14.46,14.35,15.53,
-14.98,15.26,15.08,15.02,16.05,16.48,16.43,17.72,17.71,17.45,
-16.44,17.67,18.07,19.26,18.24,17.93,19.60,19.76,18.87,19.43,
-19.89,20.47,21.17,20.84,20.18,21.76,22.34,20.85,22.82,22.18,
-22.88,22.65,23.09,23.60,24.32,23.78,24.45,23.29,25.66,25.06,
-25.96,26.88,26.69,25.39,25.86,26.78,26.30,26.34,27.65,26.54,
-27.58,28.94,29.65,28.49,29.29,28.88,29.76,30.55,30.48,29.77,
-30.73,30.04,31.90,31.10,30.72,31.24,33.12,31.87,33.45,32.99,
-31.85,33.18,34.29,34.64,34.27,33.61,32.53,32.84,35.03,34.69,
-35.21,34.28,34.53,35.38,36.38,36.72,38.17,35.06,38.14,36.30,
-37.56,38.74,37.53,38.96,36.95,38.77,39.03,39.06,40.59,39.61,
-40.35,38.99,39.51,41.73,41.16,42.04,39.78,43.39,40.56,43.65,
-43.38,43.29,43.68,45.69,43.89,43.68,42.11,45.72,44.46,45.84,
-43.11,46.57,44.98,46.29,47.80,49.23,46.50,47.09,48.22,46.34,
-48.88,49.55,49.09,49.42,49.20,51.32,48.24,51.31,49.73,50.92,
-51.12,51.95,51.44,51.55,53.68,51.35,52.32,52.23,51.71,52.79,
-53.18,52.51,54.23,53.25,53.78,53.94,55.83,54.59,55.40,55.25,
-56.81,55.02,56.08,57.61,57.57,54.99,56.64,56.60,57.01,56.47,
-56.30,59.03,57.69,57.24,58.40,59.18,60.19,58.92,58.68,60.14,
-58.06,57.38,61.06,61.16,62.48,63.29,62.11,61.08,63.27,63.86,
-63.15,61.85,63.86,65.57,63.77,63.66,61.81,65.44,63.39,66.06,
-66.60,65.58,66.39,66.31,65.84,64.11,68.88,67.11,66.67,68.16,
-67.74,68.50,70.05,67.75,69.44,69.40,71.43,70.83,69.58,69.44,
-69.34,70.06,69.96,71.96,71.45,72.09,70.58,72.00,72.62,71.71,
-72.46,71.25,71.40,72.94,75.90,76.95,76.01,74.19,72.92,76.04,
-1.95,2.35,2.65,1.61,2.75,3.27,3.16,3.43,3.20,4.12,
-4.14,3.73,4.13,4.91,4.64,5.12,5.57,5.78,6.06,5.47,
-5.71,6.27,6.17,6.70,6.73,6.86,6.87,7.36,7.54,8.40,
-8.18,8.27,8.05,8.84,8.64,9.58,9.51,8.99,10.21,9.30,
-9.89,9.59,10.23,11.12,11.19,10.96,10.36,10.82,10.74,10.99,
-11.33,11.74,12.19,11.02,12.94,12.38,12.99,12.92,13.52,14.31,
-14.25,14.16,14.12,14.40,14.70,15.18,15.57,14.47,14.84,15.11,
-15.58,15.75,16.15,16.35,16.53,16.61,17.34,17.32,17.20,17.00,
-18.43,16.88,18.42,18.20,18.43,17.59,19.27,18.25,20.59,18.53,
-18.50,20.00,20.78,20.43,18.85,20.59,20.63,20.91,20.97,20.68,
-20.71,21.78,22.05,22.70,23.44,22.39,22.87,23.49,24.08,23.84,
-23.67,23.39,23.56,23.73,24.72,24.74,24.17,25.01,25.84,26.17,
-27.48,25.25,25.92,27.40,27.52,26.08,26.02,27.02,25.42,27.28,
-28.34,26.43,26.81,28.36,28.27,29.00,30.07,25.85,28.55,30.10,
-29.32,29.21,29.89,30.50,30.50,30.68,28.77,30.39,32.39,30.00,
-31.04,31.05,31.06,31.33,32.52,33.99,32.68,31.63,31.99,33.23,
-33.71,32.95,34.00,33.48,33.51,34.51,34.92,35.44,34.99,36.21,
-35.02,34.07,35.45,35.85,35.79,36.06,36.75,36.04,37.58,36.72,
-36.69,38.12,36.27,36.05,38.34,39.14,38.44,36.96,37.53,37.88,
-38.51,40.80,39.98,39.80,41.31,39.85,40.48,40.30,41.16,39.86,
-42.15,40.76,42.47,40.67,43.27,43.16,42.86,41.03,44.69,42.81,
-43.40,41.98,44.91,43.65,43.09,43.48,44.27,43.95,46.26,42.61,
-43.71,43.44,45.22,46.92,45.44,44.88,45.47,45.55,45.74,46.69,
-47.14,46.46,46.87,48.22,49.34,46.33,48.16,46.90,47.60,48.56,
-47.90,49.07,48.83,49.01,49.33,50.20,48.69,50.55,49.99,50.07,
-49.48,51.19,51.00,51.12,50.07,52.08,52.30,51.60,51.31,54.37,
-51.53,52.82,52.54,50.38,53.74,52.50,54.83,53.98,52.87,55.87,
-54.40,55.12,54.59,57.02,55.01,55.51,56.43,55.55,56.48,57.18,
-56.27,55.30,57.73,56.01,57.82,59.04,55.92,57.14,57.90,58.79,
-1.41,1.57,2.15,1.96,2.31,2.33,2.57,2.40,2.65,3.30,
-3.29,3.12,3.22,3.79,3.74,4.19,3.60,4.14,4.44,5.17,
-4.81,4.56,4.58,4.98,4.88,5.62,4.73,5.89,5.70,5.96,
-5.48,6.26,6.20,7.19,6.38,6.44,7.21,7.39,7.44,7.22,
-7.68,7.90,7.76,7.63,8.86,7.75,8.33,7.78,8.66,8.65,
-8.04,9.39,10.35,9.91,9.47,9.77,10.94,10.56,10.99,10.32,
-10.74,10.88,11.49,10.64,11.43,10.86,11.48,11.49,11.79,12.29,
-13.18,11.72,12.38,12.51,13.17,13.12,13.55,13.64,13.30,13.73,
-12.92,13.84,14.10,14.21,14.14,13.32,14.94,14.34,15.20,15.33,
-14.72,14.65,16.30,15.65,16.28,16.76,16.74,15.40,16.35,16.70,
-18.14,17.04,16.74,17.42,16.99,16.30,17.04,17.58,18.85,17.83,
-19.34,19.04,17.39,18.81,17.63,19.34,19.16,18.43,19.83,18.65,
-18.71,20.26,20.87,19.04,19.72,20.73,20.02,21.17,20.66,20.69,
-21.24,21.00,20.61,21.70,21.13,21.30,20.78,22.22,23.09,23.61,
-22.76,22.41,23.76,22.80,23.30,22.45,23.72,23.64,23.92,24.40,
-24.10,25.08,24.69,24.08,26.36,25.51,26.18,24.67,26.09,26.31,
-25.20,25.07,26.33,26.26,24.96,25.60,26.49,26.25,26.70,26.81,
-26.75,27.11,27.49,28.12,28.43,28.11,27.57,26.86,28.91,29.71,
-27.03,28.73,28.83,29.37,28.76,28.96,29.91,28.39,30.32,29.46,
-29.78,30.83,31.89,31.00,32.47,31.71,32.07,30.94,31.15,31.92,
-30.87,30.02,31.78,32.04,32.46,32.95,33.30,31.66,33.74,32.49,
-32.04,32.96,33.80,34.98,34.45,34.62,34.80,33.28,33.87,33.73,
-34.74,35.36,33.66,33.89,35.45,36.05,35.43,36.70,35.96,34.98,
-36.05,37.44,36.48,36.35,37.09,37.80,37.83,39.01,37.80,38.52,
-36.39,37.48,37.03,36.45,40.29,38.37,40.16,39.77,40.03,39.86,
-38.13,38.95,38.97,41.38,38.08,41.14,41.23,41.73,41.11,42.00,
-40.72,40.80,40.05,41.77,42.05,40.74,41.36,40.78,43.83,40.39,
-41.63,41.94,42.84,43.51,41.77,42.77,42.68,42.84,43.53,41.70,
-44.84,44.03,43.43,43.65,45.15,44.95,43.59,45.14,46.04,45.51,
-1.04,1.69,1.60,1.40,1.86,1.79,1.61,1.77,2.43,2.53,
-2.33,2.32,2.62,2.93,2.98,2.79,2.99,3.71,3.78,3.40,
-3.62,3.38,4.01,4.33,3.86,4.14,4.54,3.84,4.58,5.02,
-4.78,4.88,5.04,5.00,5.10,5.43,5.47,5.65,5.39,6.15,
-6.29,5.80,6.22,6.94,5.62,6.02,5.97,6.40,6.82,7.82,
-6.80,7.11,7.78,6.59,7.04,7.72,7.19,7.48,8.06,8.79,
-8.51,8.86,7.88,9.15,8.85,8.49,8.72,9.06,8.23,9.15,
-9.23,9.54,10.38,10.52,9.78,9.21,10.53,10.26,10.62,10.80,
-10.39,10.91,10.73,10.44,11.54,11.76,11.28,10.15,11.95,11.28,
-11.18,11.01,12.15,10.61,12.56,12.01,12.01,12.25,12.15,12.80,
-13.29,12.04,12.65,12.75,13.66,12.98,14.46,13.83,12.65,13.60,
-13.41,13.72,13.74,13.52,13.65,15.19,15.08,14.69,14.24,15.15,
-15.04,15.43,15.09,15.73,15.43,15.15,16.07,15.09,16.20,16.46,
-17.94,16.27,16.78,16.73,16.05,16.30,16.41,16.87,18.67,16.97,
-17.08,16.87,17.06,17.73,18.01,18.97,17.19,17.92,19.33,19.38,
-18.38,18.99,17.47,19.64,19.32,18.28,19.44,20.30,19.41,18.69,
-19.58,19.64,19.41,19.59,20.72,20.22,19.73,20.36,19.12,21.59,
-20.59,21.98,20.68,22.18,21.89,21.77,21.49,21.14,20.15,21.15,
-23.32,22.36,22.51,22.11,22.29,22.59,21.66,23.80,23.55,24.06,
-23.00,22.35,22.82,24.52,24.10,25.31,24.42,24.26,23.50,24.76,
-25.08,24.79,23.71,25.25,23.74,24.74,24.21,26.31,25.97,26.58,
-25.72,27.10,26.39,25.27,25.29,25.18,26.59,26.65,25.58,27.94,
-26.07,27.45,26.41,26.78,26.48,28.86,28.49,27.04,27.25,27.54,
-27.82,27.80,29.17,30.42,27.98,28.68,27.11,28.50,28.55,29.05,
-30.10,30.82,28.28,29.09,29.92,28.53,29.20,30.22,30.55,29.04,
-30.76,29.70,30.73,28.91,30.67,30.97,31.31,31.20,30.46,32.09,
-32.59,30.92,31.12,31.43,31.25,32.63,32.09,30.38,32.93,33.22,
-31.13,33.89,32.99,33.32,31.71,34.27,31.64,33.80,34.54,32.96,
-32.32,35.08,35.13,33.68,33.85,34.91,33.37,33.52,35.87,33.56,
-0.82,1.21,1.14,1.41,1.32,1.54,1.49,1.80,1.42,1.67,
-1.72,2.29,2.31,2.00,1.82,2.14,2.41,2.52,2.46,2.79,
-2.25,2.79,3.03,3.27,3.06,3.13,3.41,3.16,3.69,3.54,
-3.43,3.92,3.63,4.31,4.08,3.81,4.07,4.02,3.96,4.76,
-4.64,5.58,5.14,3.86,4.67,4.96,4.89,5.58,4.76,5.28,
-5.21,5.44,5.51,5.76,5.96,5.74,6.20,5.84,5.96,5.70,
-6.02,6.78,6.70,6.58,7.04,6.76,7.70,6.99,6.94,7.02,
-7.24,7.68,6.60,7.88,8.37,7.37,8.42,7.68,7.15,7.52,
-7.19,8.11,7.77,7.85,7.34,8.90,8.30,9.00,8.86,9.22,
-8.98,9.50,9.81,8.99,9.18,9.32,9.61,10.65,9.85,9.22,
-9.53,10.86,9.91,9.76,10.48,10.28,10.61,10.75,11.05,10.59,
-10.08,10.83,10.75,11.59,11.43,11.32,11.41,12.09,11.63,10.56,
-11.03,11.80,12.43,12.12,13.33,11.91,12.16,12.70,12.39,11.98,
-13.21,12.94,13.30,12.15,13.17,13.22,12.88,13.27,12.88,14.30,
-13.47,12.72,12.91,14.13,13.61,13.97,13.83,14.04,14.88,14.15,
-14.72,14.02,13.60,14.41,15.23,15.47,15.51,14.93,15.84,15.99,
-15.87,16.16,15.25,15.72,15.74,15.42,16.87,15.82,14.16,16.29,
-16.15,16.34,15.83,17.57,16.47,16.65,16.76,16.88,17.49,16.55,
-16.19,16.24,17.50,18.05,17.47,17.18,18.41,15.94,18.46,17.43,
-17.92,17.67,18.21,18.57,18.60,17.79,18.56,18.98,17.99,18.55,
-19.07,19.19,18.71,17.76,19.73,19.21,19.32,19.47,19.60,19.57,
-19.94,19.52,20.39,20.23,19.41,19.45,19.92,20.53,20.57,19.66,
-20.10,18.99,21.32,21.75,22.39,22.23,22.01,20.46,21.30,21.15,
-21.33,24.27,21.56,22.42,22.48,22.06,21.99,22.17,21.43,22.11,
-22.80,22.67,23.11,22.35,21.45,22.38,24.30,23.51,24.00,22.20,
-24.51,23.03,24.43,23.64,23.64,24.28,23.84,22.87,24.11,25.22,
-23.59,25.07,24.10,25.26,23.77,25.41,24.64,24.18,26.31,24.36,
-25.26,24.53,25.53,26.76,25.18,26.11,24.75,25.75,26.11,25.60,
-26.40,27.97,26.89,26.21,25.84,25.32,25.82,27.76,27.43,28.15,
-0.69,0.84,0.79,1.16,1.08,1.00,1.19,1.08,1.39,1.17,
-1.52,1.30,1.84,1.44,1.79,1.46,1.40,1.86,1.90,2.15,
-2.15,2.60,2.10,2.17,2.21,2.72,2.50,2.52,2.81,3.04,
-2.67,2.74,2.55,3.68,2.69,2.91,2.84,3.31,2.97,3.47,
-3.27,3.53,3.51,3.75,4.06,3.41,3.97,4.30,4.10,4.09,
-4.12,3.84,4.01,4.66,4.54,4.83,4.62,4.58,4.94,4.32,
-4.89,4.42,4.57,5.64,4.79,5.92,5.58,5.73,5.09,5.30,
-5.70,5.25,5.34,5.99,5.09,5.71,6.68,6.06,6.02,6.52,
-7.58,6.50,6.51,6.36,6.64,5.58,6.80,6.58,7.39,6.66,
-6.39,6.83,5.99,6.50,7.70,6.80,7.19,7.30,7.30,7.07,
-7.04,6.89,7.26,8.14,8.51,8.69,9.04,7.64,8.29,8.95,
-8.38,8.53,8.53,9.46,7.99,8.75,8.76,8.60,8.61,8.81,
-9.03,8.11,9.55,8.89,9.21,10.25,9.64,9.93,9.49,9.72,
-10.05,10.19,9.65,9.75,9.29,9.37,9.93,9.72,10.13,10.03,
-10.17,10.87,10.39,10.50,10.51,10.10,10.82,10.87,11.21,11.01,
-11.55,12.24,10.59,11.02,11.93,10.48,11.12,11.72,11.98,10.62,
-11.30,12.09,12.74,10.48,12.87,11.45,12.54,13.50,12.65,12.23,
-11.91,13.62,12.66,12.43,13.00,12.64,13.30,13.43,13.10,13.39,
-12.40,13.15,12.93,13.49,13.07,14.02,12.85,13.60,12.70,12.73,
-13.62,14.10,14.07,14.35,14.04,14.89,14.05,14.19,14.11,13.60,
-13.81,14.03,13.86,15.39,14.22,15.79,15.46,13.44,15.19,15.11,
-15.94,14.84,17.38,14.13,15.52,15.48,15.70,14.83,16.32,15.75,
-15.64,15.71,16.25,15.99,16.44,16.02,16.72,17.50,15.87,16.39,
-17.41,16.41,18.75,17.10,17.15,16.97,18.05,16.64,18.00,16.77,
-18.17,17.21,18.14,17.27,17.80,17.96,18.33,17.01,18.13,17.89,
-16.57,17.95,17.80,18.68,18.03,18.93,19.13,18.10,18.12,18.29,
-18.31,18.24,18.94,19.45,18.84,18.67,18.18,19.37,19.21,18.33,
-19.41,19.84,19.61,19.55,18.47,18.06,19.80,19.52,19.47,21.14,
-21.33,20.14,19.03,19.68,21.46,19.76,20.22,19.95,20.56,20.24,
-0.60,0.45,0.55,0.50,0.96,0.86,0.71,1.09,0.96,0.97,
-1.04,1.10,1.24,0.89,0.97,1.57,1.21,1.70,1.62,1.52,
-1.66,1.42,1.93,1.94,1.64,1.51,1.78,2.03,2.43,2.18,
-2.36,2.31,2.05,2.14,1.79,2.13,2.51,2.33,2.63,2.71,
-2.32,2.10,2.37,3.22,2.91,2.77,3.24,2.67,2.87,3.09,
-3.35,3.48,2.89,3.88,2.68,2.94,3.59,3.78,3.46,3.77,
-4.07,3.67,4.06,3.95,4.58,3.67,3.82,3.32,3.43,5.02,
-4.36,4.55,4.85,4.95,4.35,4.26,5.31,4.54,4.80,4.71,
-4.54,4.77,4.71,4.47,5.25,5.00,5.02,4.70,5.36,5.72,
-5.54,5.28,5.63,4.58,5.26,5.87,5.59,4.66,5.44,6.45,
-5.10,5.46,5.29,5.43,6.99,6.14,6.54,5.69,6.42,6.03,
-6.22,6.41,6.82,6.19,6.52,6.44,6.15,7.27,6.66,6.81,
-6.54,6.65,7.75,6.37,7.45,6.76,6.52,7.23,6.66,7.08,
-6.67,6.58,8.05,7.48,7.23,7.32,8.47,8.08,7.28,7.48,
-8.41,8.21,7.82,7.32,8.08,8.70,8.74,8.52,8.68,8.48,
-7.90,8.79,7.66,8.43,8.67,8.95,9.89,8.95,9.24,10.03,
-9.11,9.75,8.88,8.84,8.62,8.89,9.84,10.10,8.62,9.88,
-10.08,9.28,9.60,9.61,9.69,9.75,10.44,9.77,9.51,9.60,
-10.64,10.62,10.60,10.39,10.08,9.76,10.03,10.48,11.36,10.59,
-10.43,10.84,11.14,11.18,12.20,11.09,10.38,10.79,10.33,11.85,
-10.80,10.47,10.72,10.88,11.39,11.94,11.65,12.56,11.21,11.96,
-11.79,11.71,11.43,11.43,11.86,12.46,11.91,11.99,12.74,11.29,
-12.09,12.87,11.28,11.75,13.53,12.54,13.44,12.43,13.84,12.65,
-12.86,12.48,12.47,12.24,12.50,12.47,12.41,13.22,13.58,12.68,
-13.68,12.59,14.00,13.52,14.20,12.79,13.90,14.42,13.15,13.42,
-14.67,14.16,13.00,12.93,14.07,13.74,14.62,14.87,14.04,14.31,
-15.06,13.04,14.42,13.45,14.93,15.64,14.90,14.55,13.79,15.55,
-14.64,15.47,15.13,15.26,14.12,15.28,15.84,15.14,15.71,15.07,
-15.35,14.14,15.02,15.40,15.13,15.79,16.14,14.80,15.40,14.94,
-20.18,21.79,23.39,26.60,28.32,29.88,31.47,34.71,35.45,36.84,
-38.98,42.29,42.57,45.60,47.61,50.38,49.98,53.72,56.34,56.57,
-59.37,61.22,63.22,65.02,66.35,68.55,70.40,74.00,74.99,75.89,
-79.88,80.11,81.48,84.17,84.70,89.40,90.34,91.04,93.31,95.17,
-97.39,97.60,102.47,102.36,105.74,104.62,108.06,111.95,113.20,116.19,
-117.56,119.67,118.43,122.10,124.08,127.42,126.76,129.40,132.48,133.84,
-134.60,137.97,140.90,144.16,146.16,146.24,146.80,149.70,153.31,152.02,
-154.08,157.02,158.86,160.11,166.40,166.49,169.47,169.16,171.43,173.62,
-174.23,174.70,180.98,181.24,184.55,184.34,186.02,189.76,191.92,193.20,
-193.77,197.36,199.83,200.76,202.93,204.39,206.43,207.64,208.46,215.18,
-215.47,216.39,215.81,218.74,219.83,221.81,228.85,229.63,228.26,229.50,
-234.88,235.70,237.83,240.18,239.28,245.38,248.98,248.69,250.77,253.30,
-252.77,254.14,259.96,257.99,260.20,260.96,265.92,266.90,269.46,269.55,
-273.18,271.75,274.67,277.11,281.34,283.76,284.06,285.40,286.91,288.00,
-289.43,292.06,295.79,296.99,298.50,302.97,305.31,306.08,308.30,307.94,
-308.62,309.60,315.77,318.18,318.41,320.47,319.86,328.18,331.06,326.21,
-330.86,330.40,338.02,337.17,336.43,340.40,342.24,343.18,348.91,347.82,
-349.38,347.02,352.04,357.77,358.84,359.55,361.13,364.21,364.95,366.76,
-371.12,369.71,372.68,374.29,377.75,376.27,380.24,384.03,381.69,383.93,
-383.95,389.36,386.74,391.56,393.21,399.77,398.17,403.56,403.38,409.02,
-408.41,409.20,410.96,412.95,416.04,419.97,417.66,423.01,425.55,426.61,
-428.76,432.40,430.15,433.68,434.16,435.97,438.39,439.47,444.38,446.54,
-445.17,448.10,450.25,450.31,452.80,457.63,459.84,456.83,461.91,464.10,
-465.19,469.32,470.13,470.46,475.01,475.59,477.44,476.93,480.78,483.62,
-485.59,485.94,493.12,491.13,493.60,494.80,497.45,498.97,506.87,501.04,
-506.44,498.28,511.71,505.73,514.33,513.61,515.22,517.39,519.24,521.66,
-526.90,525.09,529.77,527.44,530.04,534.26,535.76,538.50,540.29,545.85,
-541.24,545.06,541.93,548.43,548.87,553.33,551.74,556.75,555.43,559.84,
-562.82,560.19,564.53,570.72,567.97,567.84,579.26,576.61,577.31,582.09,
-16.09,17.69,19.14,20.38,23.14,24.16,25.39,26.88,28.95,29.44,
-30.83,33.98,35.64,35.92,37.76,39.25,42.70,42.87,44.15,45.57,
-46.90,47.90,52.07,51.06,53.61,55.45,57.13,57.79,60.25,60.29,
-63.56,65.60,67.09,67.95,70.49,71.15,71.64,73.61,75.28,76.16,
-78.38,80.13,83.60,83.14,84.97,85.65,88.85,90.30,92.26,91.40,
-93.62,96.63,96.98,100.60,100.61,101.74,104.79,105.44,106.20,108.60,
-110.77,112.80,111.90,115.66,115.05,117.63,120.58,119.61,122.20,125.65,
-124.64,129.70,129.80,131.74,131.10,132.55,133.19,137.96,136.21,138.69,
-141.29,142.45,146.52,145.80,149.54,148.97,149.88,151.08,152.99,157.06,
-156.83,159.57,159.59,160.13,163.51,165.63,168.80,168.15,168.35,173.11,
-173.05,171.54,175.29,175.77,178.55,179.97,181.95,184.01,187.63,186.13,
-188.76,188.71,190.31,193.33,195.83,193.73,197.28,193.45,197.84,203.56,
-202.35,205.59,206.55,208.90,209.86,213.28,212.19,213.98,216.31,217.53,
-220.27,221.56,220.33,220.93,228.16,227.98,230.32,231.20,232.67,238.01,
-232.52,234.79,236.89,241.23,242.08,241.62,243.65,245.85,246.04,249.52,
-249.49,251.98,252.84,258.05,253.01,258.27,261.07,259.30,263.86,263.45,
-266.27,268.90,267.33,272.79,273.11,274.79,274.79,276.89,278.06,280.57,
-281.51,286.92,284.90,285.09,288.99,290.46,289.71,293.42,297.83,295.94,
-294.36,300.94,302.19,301.94,303.29,307.01,306.85,306.75,308.39,310.19,
-313.86,311.39,316.59,317.82,323.95,327.24,320.85,323.59,326.31,330.04,
-326.90,332.02,332.45,330.86,335.30,336.17,339.07,337.19,344.49,342.72,
-346.69,349.63,345.34,352.33,352.72,351.04,354.33,358.32,356.87,361.11,
-362.64,361.56,361.32,364.42,368.80,367.00,372.81,374.45,371.14,375.65,
-375.34,379.92,381.03,382.82,383.12,381.39,384.01,389.34,389.60,393.45,
-390.76,392.87,398.26,394.57,400.29,396.36,400.31,400.45,406.40,404.31,
-407.01,404.83,408.18,413.86,410.45,414.72,414.75,419.60,417.86,421.06,
-421.46,424.74,428.88,426.54,432.60,429.45,435.65,432.40,438.33,437.18,
-438.56,441.47,442.25,444.64,442.46,448.28,449.09,456.23,454.79,453.16,
-455.05,457.55,459.53,460.32,461.48,460.08,462.03,464.73,465.16,470.67,
-13.27,14.63,15.42,17.19,16.97,19.15,20.62,22.02,23.32,24.34,
-26.02,26.52,28.67,28.97,30.27,31.88,33.02,34.78,36.46,37.55,
-38.05,38.90,39.92,41.74,43.74,45.26,46.89,46.42,48.92,48.96,
-50.48,52.78,53.39,54.27,57.03,57.13,58.02,59.12,60.85,61.66,
-63.18,64.51,67.35,66.81,68.59,69.71,71.80,71.36,74.06,76.39,
-76.30,76.65,79.40,80.97,80.90,82.06,83.89,84.33,84.28,87.86,
-86.55,89.69,90.90,93.14,92.99,91.21,96.66,99.55,98.70,98.45,
-101.62,100.56,105.59,104.15,103.76,106.73,109.18,109.74,111.44,112.97,
-114.18,114.33,116.41,118.17,117.07,119.98,120.50,121.29,124.28,125.19,
-126.40,127.69,128.24,129.95,130.93,129.73,135.35,137.85,135.88,139.10,
-136.87,138.96,142.56,140.84,148.48,147.05,148.49,145.84,148.65,148.20,
-152.72,151.05,154.06,155.93,156.82,156.63,159.75,158.73,159.35,164.12,
-166.68,167.79,167.59,168.62,171.16,168.45,173.50,172.96,175.31,175.57,
-175.13,179.02,180.37,181.07,180.76,183.40,183.75,184.35,185.90,187.04,
-190.77,190.38,190.78,190.52,194.28,196.05,198.93,198.09,202.48,204.45,
-200.87,201.06,204.56,204.35,203.26,208.24,208.46,207.86,217.27,211.78,
-217.77,215.53,215.96,214.94,216.30,220.35,222.27,224.55,224.47,225.65,
-228.22,225.87,228.66,226.80,229.57,233.57,233.42,238.18,237.66,235.42,
-237.11,239.96,244.47,242.40,247.73,247.23,246.49,249.80,249.29,252.71,
-255.53,254.12,255.20,257.15,253.33,260.39,259.73,260.00,259.39,262.96,
-261.93,266.62,263.13,270.71,271.42,268.17,270.84,272.82,273.62,274.58,
-275.29,276.78,279.26,278.25,283.04,283.25,286.73,285.00,288.50,289.13,
-292.99,291.39,290.20,288.24,296.44,293.63,295.13,297.27,301.52,302.32,
-300.51,301.91,302.29,302.11,306.30,310.73,311.91,310.55,315.39,313.98,
-314.97,316.59,317.98,317.58,319.17,321.64,322.70,323.44,325.23,325.37,
-327.68,327.05,327.82,333.05,328.90,330.58,335.33,337.93,338.94,336.47,
-339.37,340.21,342.95,343.98,346.59,346.53,346.09,349.39,350.35,350.20,
-354.15,352.90,354.99,359.04,359.93,356.79,355.65,361.37,362.29,366.78,
-369.66,372.22,366.88,368.25,370.92,372.70,373.12,376.37,369.75,378.89,
-10.59,11.79,12.91,13.80,14.19,15.61,16.62,17.35,17.28,19.16,
-20.58,21.49,22.21,22.36,25.31,25.89,27.29,26.70,28.06,29.18,
-30.20,31.84,32.64,34.53,34.54,35.92,36.67,37.02,38.97,39.53,
-40.23,42.11,42.52,44.30,43.46,45.16,47.23,47.37,49.23,49.16,
-50.50,51.82,52.41,53.16,53.59,56.80,56.49,57.10,59.74,59.06,
-61.86,63.09,62.64,64.33,63.77,64.95,67.00,66.45,67.98,71.71,
-68.55,70.76,71.89,73.18,76.23,76.19,75.77,78.96,78.89,82.57,
-82.74,81.18,83.75,84.27,83.34,85.75,87.96,87.80,90.03,89.04,
-91.81,92.56,92.76,93.66,94.16,95.38,95.59,97.71,99.81,99.91,
-100.37,100.97,103.83,103.69,105.95,108.21,106.53,108.33,108.18,108.57,
-111.34,110.39,112.45,114.19,113.30,116.98,119.55,119.59,118.81,120.58,
-119.86,123.42,123.21,123.65,121.33,125.76,126.79,126.14,129.15,129.02,
-130.32,132.24,129.75,135.34,135.10,136.02,136.94,139.37,141.14,140.81,
-141.35,143.37,144.04,144.09,143.37,146.45,145.32,147.48,148.51,155.38,
-151.82,151.83,151.19,155.06,155.03,156.23,155.16,157.75,156.97,160.50,
-159.76,161.36,162.63,163.47,162.78,165.59,168.36,166.91,170.55,170.09,
-169.10,174.37,171.74,173.99,177.69,177.68,177.89,180.21,179.11,183.88,
-179.75,183.25,182.23,183.42,184.45,183.82,185.88,191.30,186.42,190.32,
-192.01,192.16,195.19,194.76,196.80,193.92,199.18,196.91,200.62,203.27,
-202.08,203.18,204.90,205.53,205.14,206.75,209.23,208.12,210.48,209.67,
-210.21,212.39,214.75,220.15,214.55,218.58,220.21,219.97,217.97,220.23,
-221.22,222.04,219.05,225.54,224.96,224.50,229.06,226.84,229.89,231.17,
-231.18,230.24,233.86,238.22,233.95,238.08,235.65,239.78,242.14,243.64,
-242.48,242.45,245.74,244.53,249.11,246.92,249.14,248.49,250.47,247.74,
-251.73,256.07,254.00,253.70,252.21,259.74,259.22,259.45,258.04,260.16,
-263.65,261.74,264.18,267.28,262.82,269.57,266.51,270.50,273.42,273.66,
-274.31,274.92,274.73,275.67,276.60,272.43,279.99,279.04,278.98,282.27,
-282.39,278.79,285.59,285.55,284.15,290.72,284.51,289.37,294.10,290.95,
-292.88,294.61,297.30,294.66,298.58,299.54,299.75,299.26,306.97,300.42,
-8.38,9.14,9.99,11.26,12.18,13.33,12.30,13.50,14.39,15.36,
-16.13,16.98,17.37,18.35,19.45,21.03,20.61,20.84,23.49,24.04,
-24.36,26.31,26.53,27.18,27.42,28.59,28.76,29.78,31.19,30.75,
-32.10,33.24,34.03,34.83,36.82,35.72,36.83,37.62,40.24,40.41,
-40.05,41.55,42.70,44.84,44.69,42.90,45.85,46.82,47.13,48.41,
-48.59,48.57,49.54,51.97,51.44,53.92,53.13,54.03,54.00,56.10,
-56.11,57.56,59.32,58.86,59.45,59.98,60.89,61.65,59.93,61.73,
-65.42,64.92,66.12,64.41,67.08,68.14,68.39,69.46,70.07,70.96,
-72.61,72.22,73.84,74.22,74.68,76.10,76.78,79.46,80.29,79.22,
-80.22,80.82,82.21,83.01,84.77,86.53,86.66,86.14,88.55,88.05,
-86.71,89.45,90.95,89.63,93.98,91.81,93.33,94.73,96.04,96.11,
-97.23,96.17,97.77,100.13,100.69,100.24,101.17,103.23,103.18,106.79,
-105.75,105.59,105.94,107.40,109.82,105.94,111.00,109.79,110.02,112.25,
-114.34,112.70,109.62,114.22,115.99,114.65,119.16,118.71,118.97,120.88,
-119.36,121.48,122.57,122.60,122.76,124.37,124.52,124.46,127.96,128.85,
-130.01,130.48,132.10,130.59,130.97,132.41,133.24,133.76,134.37,135.26,
-133.92,138.71,135.94,140.43,140.35,140.49,140.48,142.16,145.42,142.07,
-142.95,144.78,143.50,147.42,149.19,147.10,150.75,150.68,148.35,150.27,
-153.87,151.02,155.56,154.84,156.12,156.69,159.82,157.17,161.12,161.38,
-162.36,162.23,162.88,164.31,162.06,167.80,165.05,168.41,166.24,169.29,
-167.29,168.54,166.90,171.38,170.63,174.21,175.78,172.13,175.38,177.62,
-178.48,177.32,176.61,178.29,177.80,181.35,178.54,183.75,181.48,184.40,
-187.96,189.11,183.51,186.82,190.52,187.33,190.83,190.57,190.45,191.09,
-190.73,193.09,195.54,191.91,198.65,197.92,198.70,199.69,196.82,196.67,
-202.49,201.74,201.16,203.70,203.64,206.75,205.59,205.70,208.31,207.68,
-210.02,209.28,211.73,212.82,207.77,212.55,212.88,214.40,215.16,215.73,
-220.06,215.47,219.36,217.49,218.46,220.53,222.05,222.72,222.76,222.48,
-227.64,224.16,227.60,227.46,230.49,227.59,230.51,229.97,227.49,231.88,
-229.13,233.99,232.03,237.74,235.81,236.24,240.16,236.50,238.23,240.19,
-6.63,7.09,7.96,7.87,8.88,10.17,10.79,10.75,11.70,13.06,
-13.77,13.48,14.98,14.06,16.07,15.90,16.13,16.53,17.68,18.88,
-19.72,19.96,20.91,22.02,21.78,21.73,22.98,23.69,24.04,25.46,
-25.59,27.28,26.33,27.24,27.71,28.88,30.92,29.23,30.33,31.75,
-32.34,32.96,32.93,33.41,33.94,34.20,35.59,36.41,38.94,37.52,
-38.02,38.78,39.27,40.29,42.33,41.09,42.15,42.82,44.38,43.94,
-44.78,45.25,46.10,47.20,47.86,48.42,48.87,51.04,49.49,48.82,
-50.99,52.26,50.39,51.82,54.40,54.73,55.13,56.90,56.37,57.27,
-58.21,58.82,58.68,59.93,59.06,59.97,62.05,61.46,62.58,63.58,
-64.83,64.07,64.46,66.35,66.07,64.52,64.66,67.53,67.96,68.75,
-69.86,70.12,71.62,70.40,72.87,73.49,72.92,73.62,74.34,76.14,
-76.27,77.37,78.66,77.26,79.88,80.73,81.13,81.29,81.00,82.22,
-84.49,83.09,82.36,87.51,85.12,86.64,85.85,86.75,88.66,88.08,
-89.13,87.97,95.22,91.91,90.12,95.21,93.42,93.33,96.17,95.55,
-95.92,95.92,95.98,99.17,98.05,98.61,98.10,99.91,99.52,101.41,
-99.52,104.36,103.00,104.22,102.52,105.62,106.08,105.57,105.93,109.80,
-107.23,108.07,110.35,107.40,109.82,110.88,110.75,110.58,113.72,112.61,
-112.99,116.75,113.37,116.16,120.06,117.91,121.08,119.29,120.81,121.53,
-121.47,120.99,123.80,122.45,123.05,124.49,125.27,125.49,128.04,129.74,
-128.50,126.67,127.19,128.57,131.51,131.58,130.98,133.71,132.41,134.32,
-130.74,134.83,133.88,138.08,136.14,135.37,136.22,137.30,138.37,140.43,
-138.68,139.24,141.88,142.63,140.63,143.81,144.44,141.83,146.66,146.04,
-145.95,148.71,147.14,148.97,147.51,149.01,150.97,151.00,150.79,155.28,
-153.81,155.90,155.31,154.43,154.62,157.74,155.38,157.70,160.54,157.12,
-159.01,162.19,161.00,162.63,161.11,161.81,165.04,164.80,166.00,165.06,
-167.36,166.53,168.44,167.17,166.53,168.94,167.35,171.17,169.00,172.17,
-173.97,169.75,175.24,174.61,176.25,174.32,177.07,172.72,180.35,178.80,
-177.37,178.20,179.56,180.35,183.46,182.47,181.84,181.59,183.47,184.56,
-184.26,186.07,185.62,184.11,189.58,188.34,187.75,194.25,189.89,192.51,
-5.05,5.43,6.57,6.80,7.83,8.03,7.86,9.23,9.24,9.70,
-10.06,10.81,10.19,11.81,12.23,12.72,13.54,13.71,14.42,15.45,
-14.98,16.39,16.35,14.78,19.17,18.08,18.60,18.76,18.97,19.95,
-20.57,20.19,21.83,21.25,22.82,23.12,23.33,25.51,24.68,24.65,
-24.74,25.88,25.46,27.39,26.85,27.95,29.04,29.93,29.29,29.98,
-31.58,31.59,32.98,32.28,31.85,33.77,32.92,34.57,34.72,34.52,
-35.77,34.33,35.35,35.73,37.59,37.34,38.16,38.51,40.41,41.69,
-40.83,41.72,41.95,42.26,43.30,41.84,44.60,45.04,43.14,45.65,
-46.02,46.14,47.32,46.36,48.44,47.35,50.72,48.73,49.25,51.04,
-49.33,51.83,52.21,52.59,51.74,53.52,53.57,52.80,53.04,54.03,
-55.02,54.38,56.98,56.53,58.32,59.64,59.97,60.56,57.28,59.46,
-60.68,59.69,60.90,62.34,63.98,62.93,63.77,63.41,65.42,64.87,
-65.99,66.78,67.38,68.14,68.89,67.60,68.97,67.23,68.70,70.31,
-70.09,70.27,71.34,72.20,74.32,73.43,73.34,74.62,73.50,74.34,
-74.69,77.87,77.08,77.20,76.24,78.64,79.18,78.06,79.79,80.92,
-81.92,80.73,82.16,80.66,81.78,83.72,83.45,84.17,85.63,83.26,
-86.24,88.32,87.68,88.83,86.58,90.60,87.63,88.84,90.20,90.94,
-89.93,91.40,94.56,92.24,94.52,93.13,94.54,96.02,92.67,93.42,
-94.48,94.48,98.97,96.54,96.28,97.39,98.47,100.27,97.82,101.75,
-101.17,102.47,101.94,103.75,101.28,105.73,105.52,103.21,103.78,105.36,
-107.32,105.88,104.96,107.18,111.54,107.82,109.27,110.03,107.86,107.77,
-112.89,110.20,110.27,113.54,113.40,112.90,113.10,113.00,116.73,115.53,
-118.63,117.98,119.20,117.62,117.60,119.91,122.15,116.66,116.22,119.50,
-120.62,121.25,122.17,121.79,125.02,122.21,125.72,126.25,129.09,127.58,
-123.86,127.24,127.66,124.60,127.52,128.49,127.40,133.21,129.28,130.97,
-131.38,131.08,133.10,132.06,131.91,136.19,132.38,133.43,135.63,134.41,
-134.83,136.51,138.66,137.44,135.46,139.89,142.72,138.95,140.08,142.13,
-143.20,138.47,141.95,142.17,140.78,144.29,145.41,145.14,146.80,147.27,
-150.25,145.80,147.82,149.81,147.97,149.97,146.81,148.43,148.61,150.37,
-4.47,4.15,5.03,5.13,5.16,6.66,6.32,6.91,7.19,7.82,
-8.37,8.85,8.43,9.68,9.78,10.69,10.74,11.05,11.37,11.51,
-12.31,12.95,13.38,13.91,13.13,13.91,14.55,14.08,15.10,16.16,
-16.28,16.40,16.55,17.24,16.06,17.23,17.25,18.70,18.74,20.68,
-20.91,20.47,20.71,20.97,22.20,21.59,23.14,24.41,24.03,21.85,
-25.40,23.99,23.96,25.01,26.03,25.98,27.41,27.10,27.12,28.17,
-27.15,28.64,28.95,28.82,28.82,31.19,29.04,30.33,30.62,31.98,
-31.70,30.95,32.85,33.69,33.66,34.05,33.31,33.80,35.41,36.94,
-37.97,37.94,36.89,38.40,37.27,39.61,38.97,38.87,37.83,37.76,
-39.77,40.17,41.44,39.86,41.45,40.43,40.81,42.10,44.55,42.03,
-44.08,45.72,45.26,46.91,46.54,45.79,46.79,47.14,45.93,47.35,
-46.49,48.24,48.32,48.76,50.36,49.98,50.19,50.67,50.13,51.33,
-51.30,51.16,53.39,51.41,55.34,54.25,56.78,54.93,55.74,54.94,
-57.33,56.54,57.35,57.76,55.72,59.19,58.49,57.64,58.82,60.33,
-59.51,60.20,59.12,61.21,60.59,61.33,62.83,60.60,62.24,63.05,
-63.88,65.30,66.24,65.69,66.35,67.05,66.61,65.78,67.45,66.88,
-68.09,66.43,68.50,68.50,70.43,69.67,70.51,68.65,70.30,68.67,
-70.85,72.97,70.60,73.91,74.03,74.86,74.84,74.17,74.54,75.18,
-75.26,77.00,75.99,78.33,76.72,79.94,77.45,81.46,78.40,79.22,
-81.65,79.85,79.66,79.42,81.44,79.46,80.78,82.32,84.61,85.36,
-83.16,86.75,85.35,83.89,86.21,84.27,86.88,85.56,86.74,88.61,
-87.52,88.01,85.16,88.78,89.61,90.19,89.81,90.67,89.25,90.50,
-91.13,92.56,92.53,92.46,94.64,92.96,94.90,93.22,97.97,93.26,
-95.37,95.87,96.50,97.33,98.24,96.85,98.47,97.51,99.07,98.62,
-99.44,98.18,97.49,103.12,100.92,101.79,102.71,101.92,103.28,103.11,
-101.65,104.58,102.74,105.84,108.22,104.78,106.22,106.79,102.95,107.37,
-107.12,106.80,112.86,108.69,108.48,111.48,107.15,108.76,108.89,111.85,
-110.34,110.75,110.45,111.82,112.79,113.66,113.32,113.44,113.39,116.67,
-116.06,118.58,119.74,119.12,120.12,117.75,116.57,120.59,118.40,117.78,
-3.33,3.64,3.82,4.38,4.48,4.70,5.66,5.98,6.21,5.28,
-6.13,6.89,7.28,7.43,7.16,7.76,8.13,8.89,9.24,9.73,
-10.04,10.71,10.48,10.78,10.50,10.86,11.33,11.35,12.49,12.83,
-12.69,13.44,12.61,14.75,13.94,13.19,14.50,14.44,14.38,14.46,
-15.06,16.41,15.63,16.83,18.55,16.55,17.25,17.64,18.96,19.53,
-19.04,19.89,20.83,20.42,19.47,19.76,20.00,20.73,21.63,22.21,
-22.32,22.00,22.74,22.52,22.27,24.86,24.39,24.25,25.39,23.86,
-25.39,26.09,25.88,26.19,25.87,26.20,27.27,26.96,27.63,27.60,
-29.79,28.70,28.83,29.50,30.17,30.82,30.70,30.64,30.20,31.02,
-31.86,32.63,30.61,32.02,32.70,33.80,32.76,34.31,32.48,35.58,
-33.12,36.21,35.90,35.97,35.62,36.09,35.37,37.40,37.20,37.07,
-38.07,36.88,39.44,39.20,40.88,39.71,38.24,40.72,41.35,40.87,
-41.01,40.60,42.07,43.42,41.81,42.31,42.18,41.96,43.59,44.17,
-43.98,45.70,43.59,44.15,45.84,46.88,44.63,46.64,47.94,46.17,
-47.43,48.00,46.07,46.88,48.69,49.62,49.65,49.92,50.95,49.37,
-51.61,48.59,52.43,50.98,50.63,51.91,50.35,51.28,52.56,53.08,
-53.28,53.09,54.40,54.21,52.77,55.62,54.38,55.97,57.24,57.09,
-56.84,55.91,57.42,57.77,57.79,57.73,57.57,57.71,57.75,56.47,
-59.77,59.56,59.82,61.04,61.85,61.45,59.68,61.14,62.69,62.77,
-62.48,64.14,62.48,65.14,61.81,63.94,65.16,65.54,64.86,63.83,
-65.31,66.14,67.62,67.94,66.53,67.57,69.47,68.14,69.54,70.60,
-68.60,68.82,69.26,69.68,68.97,70.03,72.12,72.38,70.45,71.49,
-71.48,72.73,71.90,71.65,74.30,72.80,73.09,73.75,73.52,75.83,
-77.05,75.11,76.60,79.17,75.89,78.14,76.41,79.98,78.76,76.36,
-81.19,78.66,80.39,81.00,79.74,81.70,80.38,78.21,80.95,80.32,
-81.17,83.98,81.58,82.83,84.54,82.91,82.75,83.76,85.75,84.08,
-86.78,82.60,84.82,87.06,83.99,86.32,86.47,85.58,88.39,90.00,
-88.92,87.90,88.02,87.55,90.14,88.56,89.56,91.31,89.18,90.50,
-90.92,90.19,90.79,92.88,90.71,90.95,93.98,92.31,92.80,96.38,
-2.43,2.82,3.00,3.31,3.33,3.51,4.09,3.98,4.46,5.54,
-5.09,5.56,5.12,5.64,6.21,6.50,6.95,6.38,7.24,6.85,
-7.53,7.75,8.22,7.76,8.67,8.52,8.53,9.76,9.18,9.20,
-10.48,10.12,10.21,11.46,10.25,11.68,12.00,11.58,11.31,12.34,
-13.26,12.54,12.33,13.44,13.20,12.42,13.61,14.52,13.69,14.74,
-15.58,14.97,14.07,16.02,14.58,16.55,16.63,17.31,16.67,17.25,
-17.29,17.46,17.01,18.27,19.04,18.11,18.61,18.52,19.85,18.91,
-19.99,20.84,21.34,19.89,19.61,20.78,20.83,20.92,22.15,20.58,
-21.53,23.08,24.54,23.64,24.34,24.60,23.36,24.23,23.37,24.18,
-23.51,26.68,25.62,25.53,25.99,25.70,25.86,26.21,27.68,26.71,
-28.10,27.49,26.62,26.52,28.87,28.56,29.15,28.99,26.41,29.52,
-28.25,29.64,30.89,30.12,31.14,31.36,32.30,31.31,33.39,30.93,
-32.23,31.98,31.62,32.74,32.11,31.46,33.92,35.08,33.90,34.35,
-33.72,36.36,33.94,35.03,35.78,34.66,36.61,37.91,37.28,35.37,
-37.12,35.14,36.71,36.80,38.94,38.41,38.95,39.20,37.59,37.95,
-39.70,40.16,38.76,41.12,39.85,41.03,40.67,41.19,42.37,42.19,
-42.15,42.89,42.86,42.04,42.63,43.09,45.26,44.72,43.02,44.87,
-46.26,46.29,44.14,46.55,45.39,45.86,47.37,45.46,46.90,45.83,
-47.63,49.33,47.73,47.41,48.83,49.36,48.19,48.03,49.25,47.24,
-50.18,47.60,49.62,49.33,49.42,50.90,49.73,51.64,52.42,52.26,
-51.09,52.97,51.13,51.84,53.28,53.60,52.32,52.95,55.40,55.49,
-54.75,53.79,52.94,52.77,55.07,55.66,53.87,54.85,57.56,54.68,
-55.05,55.13,58.22,57.83,57.81,58.16,59.23,56.84,57.08,60.25,
-57.46,61.53,58.69,58.91,60.89,61.43,60.89,62.46,59.58,60.16,
-62.13,61.20,60.78,62.92,61.70,61.72,62.44,63.45,64.00,64.25,
-61.98,63.08,65.47,64.56,66.36,65.62,65.68,67.80,67.53,65.26,
-66.94,68.76,68.29,67.83,67.74,69.32,66.65,69.78,68.85,67.78,
-72.58,67.01,71.21,68.39,68.52,72.09,70.84,69.77,71.61,71.66,
-72.19,73.32,73.69,74.92,73.59,70.80,73.70,73.25,74.96,75.29,
-1.99,2.20,2.05,2.72,2.71,2.79,3.56,3.16,3.25,3.91,
-3.82,4.05,4.33,4.34,4.21,5.19,4.97,5.67,5.02,6.16,
-6.60,6.15,5.71,6.08,5.62,7.01,6.67,7.62,6.86,7.33,
-7.62,7.73,8.21,8.01,8.82,9.33,9.63,8.68,9.58,10.02,
-8.97,9.81,9.39,9.01,10.76,9.88,10.80,11.50,10.25,11.21,
-10.84,11.31,12.61,12.24,13.10,12.62,13.67,13.21,13.16,13.41,
-14.44,13.17,13.36,14.21,14.40,14.03,14.78,15.37,15.41,15.48,
-15.75,15.88,16.55,16.50,17.55,16.36,16.73,17.02,16.87,16.75,
-17.81,17.93,17.18,16.71,18.71,18.35,18.08,19.09,18.57,19.15,
-18.85,20.25,19.97,20.05,19.38,21.01,20.38,20.62,19.96,20.27,
-20.91,21.62,22.27,20.23,22.29,22.27,22.03,22.90,22.84,23.69,
-24.32,22.81,24.93,23.07,24.50,23.80,25.53,24.90,25.07,25.22,
-23.98,24.77,25.59,25.51,25.74,27.22,25.11,25.79,26.02,27.79,
-27.34,28.49,27.89,27.92,28.34,28.52,28.43,28.87,28.99,29.12,
-28.88,30.29,29.54,30.96,29.46,31.04,29.33,28.79,30.09,30.52,
-32.07,31.59,31.24,30.92,32.33,31.78,30.97,31.83,32.64,31.60,
-32.55,32.87,33.10,31.59,33.42,34.13,34.37,35.01,34.45,34.34,
-33.33,36.34,36.30,34.79,34.93,33.62,37.91,35.50,36.03,35.56,
-37.08,36.59,37.83,36.41,37.34,37.48,38.06,38.13,38.06,39.66,
-40.00,38.91,39.36,38.58,39.86,39.40,38.79,40.68,40.97,41.49,
-40.64,41.58,41.88,43.48,41.46,40.75,41.88,42.70,41.76,42.16,
-41.63,42.60,43.65,42.61,44.23,43.61,44.36,43.95,44.75,45.04,
-43.80,45.03,45.67,45.43,47.43,43.78,45.94,45.40,45.70,44.72,
-45.05,45.83,46.35,48.69,49.50,47.41,49.94,49.19,50.50,48.87,
-49.45,46.80,47.96,46.73,49.09,49.85,47.32,48.99,48.62,49.54,
-50.87,49.91,51.44,52.09,50.84,51.11,51.89,49.55,50.70,52.23,
-51.69,52.11,53.12,51.53,52.30,53.94,52.57,53.08,53.38,53.79,
-54.74,52.43,55.89,53.78,53.16,55.34,57.00,55.13,58.27,56.12,
-55.26,55.34,56.79,56.23,55.54,56.25,56.67,55.17,57.80,57.55,
-1.78,1.43,1.79,2.13,2.31,2.14,2.24,2.62,2.60,3.15,
-2.85,3.03,3.24,3.60,3.18,3.91,3.85,3.80,3.97,4.86,
-4.40,4.86,5.39,5.55,5.27,5.19,5.25,5.38,5.53,5.85,
-5.69,6.13,6.27,7.13,7.54,6.89,7.03,7.05,6.60,7.09,
-6.76,8.30,7.44,7.75,8.50,9.26,7.53,8.47,8.46,9.02,
-8.88,8.33,9.54,9.27,10.19,9.99,9.96,11.04,10.65,10.23,
-11.04,10.43,11.00,11.29,10.50,10.82,11.22,11.10,11.92,12.84,
-12.27,13.35,12.75,13.50,12.98,13.51,12.70,13.54,12.74,13.50,
-13.84,14.15,14.04,14.68,14.11,14.52,14.07,15.20,14.86,14.49,
-14.57,15.47,15.38,16.24,15.86,16.18,16.18,15.48,16.44,16.49,
-17.52,16.51,17.64,17.21,16.93,18.55,17.60,18.65,17.97,17.52,
-17.10,18.77,18.43,18.23,19.49,17.67,20.32,19.03,18.75,18.32,
-19.74,19.71,19.33,20.33,20.74,19.87,20.62,20.58,20.71,20.33,
-20.73,21.02,20.02,21.13,20.93,23.07,22.29,22.64,23.06,20.80,
-22.26,22.33,23.11,22.48,23.34,24.04,24.43,22.79,22.44,24.80,
-24.00,21.61,23.82,24.14,26.62,24.43,24.99,24.98,26.44,26.13,
-25.75,25.99,26.98,27.29,27.13,25.60,27.36,25.82,27.76,27.14,
-26.55,27.16,27.72,25.88,28.20,27.84,27.75,28.08,29.18,29.43,
-28.61,29.53,29.89,29.95,29.59,29.27,29.18,31.11,29.67,29.38,
-30.58,30.83,29.78,30.32,31.93,31.59,31.20,32.19,30.86,32.33,
-31.24,32.37,31.55,31.22,32.59,32.15,32.10,34.27,34.60,32.88,
-31.66,34.97,33.03,33.61,33.24,34.18,34.95,34.80,33.02,33.29,
-34.62,35.15,36.54,35.72,35.05,35.89,37.29,35.05,37.17,36.78,
-35.70,37.09,36.28,38.82,35.15,37.84,37.17,36.85,36.42,37.96,
-38.13,37.28,38.48,38.82,38.35,39.22,38.16,37.71,38.20,38.25,
-38.65,38.66,42.19,40.46,41.27,40.52,38.94,40.06,39.24,39.92,
-41.59,39.95,42.22,40.54,41.56,43.42,41.60,42.97,42.59,43.35,
-43.33,41.20,42.58,41.42,41.82,44.55,41.99,45.41,44.82,42.80,
-43.34,43.21,44.59,43.52,44.83,44.07,44.06,44.31,46.22,44.66,
-1.16,1.25,1.55,1.32,1.63,2.04,2.24,1.67,1.60,2.56,
-2.26,3.04,2.74,2.59,3.13,2.76,2.76,3.46,3.30,4.32,
-3.90,3.78,3.90,3.45,3.45,3.90,4.33,5.13,4.08,4.36,
-4.36,4.38,5.53,4.96,5.85,5.84,5.57,4.89,5.56,5.54,
-5.04,5.39,6.40,6.61,6.36,7.11,7.22,5.97,7.15,6.75,
-6.70,7.98,7.55,6.62,7.18,7.13,7.78,7.17,8.14,8.61,
-8.85,7.87,8.66,8.78,9.74,8.57,8.61,9.30,9.83,10.45,
-10.34,8.72,9.61,9.21,9.67,9.79,9.43,9.93,10.21,10.47,
-10.55,10.29,10.28,11.36,11.72,11.68,11.73,10.85,11.18,11.03,
-12.06,12.42,12.77,13.53,11.53,11.06,13.11,12.16,11.72,12.81,
-13.13,13.02,13.28,12.95,12.93,14.47,14.24,13.28,14.39,14.56,
-13.91,14.69,13.95,14.21,13.43,14.23,14.89,13.87,16.17,15.62,
-15.97,15.60,15.36,16.28,15.68,16.05,15.92,15.20,16.86,15.21,
-16.93,16.09,15.97,16.99,16.31,16.63,17.77,16.99,17.00,17.12,
-16.56,17.11,18.53,17.24,17.67,17.89,18.65,17.98,18.58,18.39,
-19.39,18.04,19.84,19.29,18.02,19.37,20.15,19.57,20.50,19.75,
-20.01,18.91,20.42,20.83,21.52,21.03,19.79,21.23,21.37,21.25,
-21.93,21.75,21.02,22.52,20.80,21.68,21.45,22.11,21.29,21.68,
-23.76,20.96,24.12,23.11,23.55,22.86,23.07,24.86,23.99,23.53,
-23.37,23.03,24.11,24.07,22.21,22.74,24.26,24.50,25.29,23.83,
-24.55,24.11,26.37,25.32,26.94,25.75,25.72,26.64,25.24,27.61,
-27.20,26.23,27.39,26.39,25.96,25.50,27.19,27.95,27.55,25.84,
-27.48,28.85,29.06,27.76,29.25,29.23,28.90,30.21,27.57,27.73,
-29.94,29.72,28.44,29.12,29.29,29.85,29.25,28.41,28.62,29.05,
-27.90,30.41,29.39,30.96,28.50,31.25,29.70,31.14,30.36,30.86,
-30.25,31.10,30.59,30.58,30.75,31.60,31.73,30.41,32.15,32.82,
-31.71,31.96,31.92,30.61,31.49,31.67,31.74,33.66,31.91,32.04,
-33.56,32.71,32.82,34.25,34.72,34.58,33.68,34.72,33.70,32.95,
-33.95,35.15,34.37,35.52,33.59,33.37,35.25,35.33,35.73,36.51,
-0.83,0.96,1.19,1.33,1.39,1.42,2.04,1.55,1.47,1.90,
-1.85,2.18,2.46,2.25,1.78,2.46,2.19,2.69,2.45,2.32,
-3.23,3.11,3.39,3.12,2.88,2.97,3.22,3.58,3.30,3.96,
-3.65,3.79,3.79,3.58,3.83,3.74,4.50,4.59,3.93,4.70,
-4.65,4.27,3.98,4.85,5.15,5.55,5.26,5.51,6.22,5.50,
-5.80,5.76,5.26,5.62,5.79,6.18,5.93,6.61,6.72,6.06,
-6.89,6.21,6.09,6.66,6.65,7.08,6.93,7.19,6.68,6.82,
-7.53,7.29,7.88,7.08,7.64,7.39,8.23,7.83,7.56,8.44,
-8.02,8.37,7.27,8.80,8.15,9.71,8.86,9.48,9.54,9.46,
-9.41,8.63,9.77,9.75,9.55,9.43,10.20,9.86,9.96,10.14,
-10.36,9.89,10.05,10.01,9.83,9.46,10.77,11.02,10.81,10.48,
-11.44,10.90,11.14,10.97,11.78,10.86,10.13,11.12,11.72,11.69,
-11.56,11.80,13.24,12.45,13.05,13.59,11.61,11.96,12.62,12.17,
-12.94,13.34,12.75,13.77,12.77,13.91,13.76,12.95,14.16,13.56,
-13.22,13.49,14.19,13.98,14.53,14.47,13.92,14.02,13.98,14.31,
-14.70,14.80,15.47,14.63,14.83,15.20,16.11,15.91,16.10,15.96,
-15.75,15.27,15.30,16.07,16.79,17.06,15.84,16.67,15.90,15.98,
-15.69,15.90,17.51,16.70,16.91,16.75,17.35,16.74,17.27,18.28,
-18.47,17.22,17.62,17.85,17.00,17.90,19.05,18.32,18.52,18.36,
-18.24,17.87,18.48,18.29,18.40,19.86,18.63,18.90,19.06,19.79,
-17.10,19.72,19.91,20.95,19.59,19.73,20.11,19.56,22.06,20.09,
-20.21,20.86,20.86,19.07,21.42,20.76,21.80,20.36,21.51,20.47,
-21.57,20.37,20.58,21.76,20.69,22.57,21.28,23.58,21.69,21.16,
-21.08,22.14,21.77,22.33,21.72,21.98,23.17,23.69,22.91,23.87,
-23.77,24.02,22.13,23.11,24.62,24.00,23.73,23.50,24.33,24.83,
-23.86,24.44,24.82,25.88,24.17,25.61,24.50,24.20,24.30,25.81,
-25.23,24.62,25.01,24.42,24.95,26.37,24.38,24.01,26.49,23.64,
-25.66,25.93,24.77,26.65,24.84,27.51,26.45,26.82,26.25,27.95,
-26.56,26.57,27.78,27.59,26.25,27.52,26.08,28.09,26.36,28.78,
-0.79,0.76,0.84,0.87,1.11,1.41,1.26,1.52,1.31,1.74,
-1.31,1.19,1.78,1.51,1.88,1.79,1.72,1.95,1.84,1.82,
-1.93,1.85,2.15,2.23,2.61,2.87,2.81,2.65,2.44,2.57,
-2.71,3.28,3.52,2.98,3.24,2.82,3.19,3.50,3.47,3.65,
-3.33,3.58,4.01,4.11,3.70,4.05,4.05,3.69,4.72,4.47,
-3.86,4.54,4.72,4.23,5.34,4.58,5.15,4.66,4.94,4.82,
-4.45,5.04,4.92,5.06,5.28,5.05,5.94,5.45,5.69,6.28,
-5.47,6.28,5.57,5.78,5.98,5.77,6.23,6.35,7.14,6.27,
-6.21,6.98,6.31,6.63,6.55,6.61,7.25,7.24,6.80,6.94,
-6.54,7.05,7.07,6.60,7.67,8.41,7.45,8.16,7.55,7.98,
-8.45,8.19,7.34,7.39,7.60,8.42,8.94,9.73,8.70,9.01,
-8.31,9.05,8.33,8.75,8.54,8.99,8.65,9.89,8.46,8.75,
-10.00,9.65,9.84,9.41,10.12,10.49,9.85,9.14,9.62,9.09,
-9.46,9.67,9.99,10.37,9.94,9.85,10.61,11.18,10.61,10.69,
-11.23,10.43,10.58,10.64,11.79,11.60,10.92,10.94,11.45,11.67,
-11.93,11.10,11.20,12.78,11.78,12.14,10.94,11.38,12.55,11.11,
-13.77,13.02,11.55,13.08,11.81,12.63,12.51,12.40,13.25,13.16,
-11.60,13.96,13.75,13.08,13.82,14.03,13.79,13.46,13.47,14.28,
-13.56,14.38,12.56,13.81,14.12,14.55,15.42,14.02,14.78,14.21,
-14.95,14.64,15.24,15.17,15.87,16.06,15.51,14.67,14.57,15.18,
-16.36,14.73,15.20,14.41,15.73,15.51,15.26,16.76,15.63,15.12,
-15.76,14.05,16.58,16.79,17.12,16.53,17.03,15.80,16.78,16.80,
-16.52,17.58,18.42,17.97,17.37,16.11,16.38,16.06,16.68,17.21,
-17.84,17.26,17.31,17.97,18.06,17.79,16.79,16.98,17.48,17.84,
-17.95,16.87,18.10,18.23,16.92,18.58,18.65,17.63,17.98,19.34,
-19.54,18.23,18.61,18.13,18.10,18.86,18.41,18.41,20.00,18.14,
-20.70,19.12,19.11,19.78,19.84,19.98,19.59,20.01,19.59,20.01,
-20.54,21.05,20.18,19.59,20.06,20.37,21.44,21.29,20.34,20.93,
-20.86,21.51,21.45,20.21,22.20,19.61,20.50,21.76,22.52,21.70,
-22.68,24.08,27.66,29.07,31.77,33.74,35.23,36.16,40.89,42.52,
-45.54,45.36,48.88,51.25,52.52,54.73,56.81,60.32,61.95,63.60,
-66.88,68.57,70.17,72.02,74.39,76.91,76.94,81.31,83.48,85.21,
-88.05,87.39,93.01,94.12,96.67,99.10,100.93,101.01,105.63,108.21,
-110.33,113.18,113.20,114.33,116.83,118.64,122.29,123.42,126.01,131.04,
-131.19,132.72,136.86,137.68,138.90,140.35,145.79,144.91,147.90,150.66,
-152.69,154.98,155.85,161.11,160.19,163.01,164.59,167.55,170.63,171.48,
-173.49,176.47,180.34,183.40,183.59,183.34,186.87,190.40,192.59,194.76,
-198.18,197.01,201.63,201.83,205.13,206.86,208.65,215.50,212.16,215.85,
-217.00,221.34,222.61,224.60,226.27,229.47,232.07,231.39,234.99,236.75,
-240.34,242.73,244.90,245.20,248.60,249.16,255.13,254.94,256.34,260.00,
-260.17,261.73,264.56,269.72,271.26,272.09,277.28,278.76,277.31,280.70,
-283.62,284.88,284.91,290.85,292.32,293.38,295.44,299.90,302.93,306.85,
-303.77,304.22,307.20,311.43,311.56,312.51,316.75,322.55,322.32,321.34,
-330.21,329.89,333.23,332.01,334.14,339.50,335.30,342.72,344.49,346.85,
-348.55,349.08,349.25,353.39,357.09,357.63,360.21,364.05,367.38,370.03,
-371.43,370.90,373.63,379.21,381.68,377.85,385.23,383.21,388.44,390.78,
-388.33,395.17,395.39,400.29,397.34,403.55,406.62,405.46,412.79,411.65,
-414.15,412.71,417.70,420.10,416.11,425.00,426.20,429.46,429.49,431.59,
-434.16,436.75,436.55,442.38,443.42,447.15,448.87,450.57,453.17,455.39,
-456.92,460.25,459.51,464.54,466.28,466.48,472.83,475.22,468.48,477.81,
-477.66,480.46,483.90,487.30,486.64,487.34,491.89,491.04,495.43,498.45,
-499.08,502.33,504.72,509.65,509.75,516.36,509.68,516.15,518.28,524.48,
-520.05,524.28,528.21,530.56,529.95,531.09,536.15,536.73,538.92,540.82,
-542.57,544.20,548.12,551.02,554.07,555.95,556.29,555.38,560.05,563.56,
-563.75,564.75,571.71,572.35,574.22,573.96,577.33,587.22,584.83,585.30,
-589.14,589.56,589.40,594.57,597.51,601.83,602.79,599.66,602.81,607.20,
-606.86,613.38,614.01,614.95,619.84,618.63,617.90,625.22,626.08,627.05,
-627.02,632.52,637.51,635.48,639.04,640.96,644.28,648.22,645.68,651.72,
-18.60,19.18,22.36,23.98,26.00,27.53,29.05,30.65,31.64,34.79,
-36.44,38.79,40.56,39.98,44.66,45.08,46.90,49.42,49.80,51.91,
-53.27,55.31,57.35,59.79,61.58,62.55,64.44,67.07,67.08,69.18,
-70.33,72.76,75.28,78.79,79.37,79.96,80.58,84.16,87.22,87.20,
-90.02,90.19,92.04,93.65,95.99,96.66,101.28,100.34,104.01,106.31,
-107.90,107.98,111.09,110.48,114.60,116.95,119.33,120.88,122.62,121.60,
-124.79,124.94,130.16,131.86,132.64,132.31,135.89,135.66,139.60,141.96,
-142.34,145.41,146.43,147.48,150.00,152.32,152.05,153.45,158.58,160.04,
-159.63,162.15,166.84,165.56,163.99,169.73,170.53,172.18,175.22,176.17,
-179.67,179.92,181.99,182.91,186.06,186.51,188.71,189.92,191.17,194.28,
-194.43,199.48,199.14,202.43,203.75,204.14,205.33,208.27,212.19,210.36,
-212.69,217.03,216.95,220.53,219.65,225.73,226.19,225.12,225.25,229.86,
-233.26,233.48,235.18,240.59,237.92,240.23,241.15,242.66,245.56,247.27,
-249.75,251.88,252.51,256.85,256.55,260.21,261.76,261.14,264.37,266.62,
-268.80,266.76,269.77,273.69,271.28,274.33,277.38,281.36,281.26,283.75,
-287.87,282.45,286.25,290.10,292.95,294.64,296.09,296.01,298.83,299.63,
-300.84,300.10,308.75,310.97,312.93,311.17,310.73,316.49,315.90,320.13,
-319.87,319.06,324.39,324.63,327.85,329.54,332.55,329.39,332.36,330.96,
-337.46,341.14,340.62,343.61,342.51,344.89,352.56,351.26,351.03,353.26,
-357.08,357.65,359.34,361.73,362.41,363.86,365.82,366.66,366.75,371.89,
-373.75,375.66,376.77,374.15,382.18,383.70,380.01,384.40,388.99,389.01,
-392.74,392.72,388.55,398.10,395.25,398.74,403.93,406.67,406.17,406.56,
-410.37,411.43,411.80,411.83,416.88,419.11,417.64,422.80,424.56,422.47,
-425.76,426.29,431.48,432.74,431.65,433.66,434.81,443.74,439.40,441.22,
-446.51,449.95,446.57,451.39,449.72,455.79,450.77,454.63,457.39,456.97,
-461.00,465.30,466.08,465.69,474.05,469.93,472.16,474.29,475.19,475.55,
-479.28,481.92,482.32,485.16,488.18,488.35,489.07,492.40,496.47,495.26,
-499.49,499.88,502.90,504.85,503.36,506.04,508.44,510.13,511.38,512.27,
-515.18,517.39,514.96,520.88,522.42,527.12,529.31,527.09,530.19,530.88,
-14.62,16.01,17.72,18.68,22.00,22.68,23.31,25.38,26.99,27.86,
-29.58,30.80,33.88,33.49,34.50,36.16,38.15,39.65,40.14,41.76,
-42.87,45.32,47.31,47.47,49.55,50.80,52.28,55.69,56.04,55.94,
-58.45,59.95,60.94,63.86,64.45,65.85,65.66,67.13,71.06,70.22,
-71.38,74.49,75.61,76.94,76.74,80.22,80.49,83.01,85.42,86.35,
-88.42,87.38,89.54,90.32,91.04,93.92,95.25,97.48,99.34,99.34,
-102.39,101.78,105.93,106.75,107.43,110.48,111.42,111.25,112.86,114.73,
-115.87,118.94,118.78,120.98,122.41,121.90,124.12,128.32,129.12,128.25,
-130.32,132.02,134.27,130.50,136.42,136.65,142.04,140.73,141.61,142.14,
-144.63,145.06,148.10,149.88,152.21,150.16,152.15,154.23,156.52,157.79,
-158.44,159.62,164.73,164.54,164.14,164.47,168.65,168.56,171.05,169.87,
-175.84,173.44,177.14,179.03,178.59,183.66,182.15,182.89,182.15,185.54,
-189.22,188.28,194.83,195.60,193.79,193.67,195.02,200.46,199.82,200.15,
-202.77,201.98,207.32,206.73,210.26,210.07,212.63,210.00,214.08,213.91,
-215.14,218.12,218.94,221.39,222.62,225.68,225.35,225.46,226.82,234.07,
-232.65,234.40,235.68,236.03,242.20,235.95,240.05,244.31,244.69,244.05,
-247.96,247.50,248.81,248.77,252.53,252.86,256.98,254.04,254.09,256.87,
-262.74,257.90,266.09,266.82,263.23,267.86,269.18,268.74,270.17,275.31,
-273.06,278.27,281.27,280.01,281.62,282.14,281.56,284.84,288.93,287.70,
-289.98,292.94,289.73,294.29,295.20,293.86,296.41,297.84,299.90,299.86,
-301.28,305.59,308.79,308.33,310.48,311.99,312.93,314.84,314.92,320.19,
-318.43,322.54,322.55,324.47,322.90,324.51,327.91,329.02,332.98,330.73,
-331.63,332.99,338.99,337.12,337.33,340.27,340.78,342.67,341.27,347.54,
-346.60,347.57,350.65,349.08,352.40,354.33,356.84,359.24,356.17,358.93,
-364.06,360.46,372.08,367.64,370.09,370.27,370.77,371.44,376.43,378.93,
-376.38,379.45,375.36,381.00,383.04,382.34,384.16,387.30,389.69,392.08,
-391.23,392.29,391.58,395.67,396.41,394.97,401.27,403.10,403.57,403.16,
-400.53,406.76,405.26,405.17,404.91,417.47,415.67,415.89,413.52,417.27,
-419.02,418.49,421.08,423.95,425.87,423.75,425.69,425.48,432.12,429.86,
-11.99,13.55,14.82,15.28,18.28,17.89,19.46,19.68,22.24,22.04,
-23.65,24.48,25.92,27.43,28.02,29.81,30.60,32.18,32.66,35.05,
-36.22,36.94,39.37,39.80,39.88,42.00,43.43,44.57,44.22,47.55,
-45.93,48.21,50.23,49.55,52.57,51.01,53.42,54.62,55.66,58.23,
-58.46,58.94,60.62,62.58,63.23,65.21,65.72,68.17,68.24,69.18,
-71.91,72.90,72.64,74.11,76.03,77.24,76.91,78.12,78.61,78.72,
-82.25,83.47,84.81,87.50,88.39,89.25,90.84,89.58,92.68,93.89,
-95.20,94.73,95.50,97.75,98.52,100.91,99.80,101.91,102.86,105.13,
-105.34,107.95,108.28,108.39,109.91,110.78,111.62,113.21,115.30,116.00,
-116.42,120.44,119.29,122.11,120.10,121.92,125.12,125.95,126.22,127.54,
-129.23,127.25,130.18,134.86,135.40,135.53,137.74,137.45,140.07,139.38,
-140.12,142.94,145.26,144.37,146.89,145.73,146.11,147.49,152.11,149.38,
-150.78,155.72,152.12,156.87,157.95,158.79,158.90,159.27,160.53,164.39,
-165.69,163.94,166.62,165.24,170.65,170.77,172.50,170.79,172.23,175.20,
-174.05,177.06,177.74,176.22,177.64,180.02,182.08,183.02,183.85,188.03,
-187.80,186.03,191.83,192.66,193.43,195.59,189.97,195.39,196.62,197.72,
-201.20,200.94,201.03,202.28,202.23,204.43,204.97,208.26,207.78,210.34,
-211.82,210.64,216.96,215.53,218.30,216.25,220.30,220.23,220.90,221.33,
-220.94,223.69,224.55,226.18,223.77,230.40,230.17,236.00,229.77,233.73,
-231.33,232.94,238.09,238.30,237.73,240.69,241.46,241.36,242.87,245.22,
-246.33,243.62,249.29,248.50,256.15,254.23,252.37,255.51,255.08,256.19,
-258.72,261.05,259.36,264.23,261.89,259.78,265.96,264.44,263.46,270.38,
-268.97,269.56,271.96,270.92,278.40,275.20,275.06,275.76,282.64,279.36,
-280.29,282.68,280.93,288.01,287.33,288.69,285.54,289.75,291.54,293.14,
-294.31,298.22,295.11,295.95,296.48,295.26,300.19,303.10,300.25,303.18,
-308.18,306.67,305.89,309.40,306.24,312.35,310.26,312.90,309.28,315.27,
-317.62,320.85,317.66,317.37,318.90,322.31,323.24,326.22,325.20,329.89,
-329.23,330.04,333.15,330.27,333.82,331.91,336.37,335.46,338.56,340.61,
-338.17,340.90,341.70,344.67,345.79,346.77,343.25,345.73,348.92,344.68,
-9.29,10.77,11.56,12.29,13.32,14.88,15.38,16.70,18.61,19.20,
-18.86,21.14,21.17,22.29,23.74,23.11,25.08,25.91,26.20,26.66,
-27.85,30.35,30.24,31.11,33.05,33.64,33.49,34.89,35.74,37.46,
-37.16,37.98,40.75,42.15,42.12,41.63,43.78,43.99,46.23,46.36,
-47.60,48.85,47.93,49.74,49.67,51.93,53.22,53.20,55.07,56.33,
-57.26,58.53,56.85,61.23,59.86,62.64,61.95,63.12,65.94,65.14,
-69.31,68.34,68.78,68.66,71.41,73.05,71.21,74.47,73.45,76.33,
-74.41,76.13,78.50,76.67,81.05,81.25,83.77,81.05,84.55,85.31,
-85.38,86.05,87.21,86.74,89.02,88.73,90.79,92.30,91.76,94.60,
-93.80,98.12,96.94,98.68,98.31,99.14,100.75,101.46,101.28,101.29,
-104.59,103.83,105.70,106.69,106.77,109.16,109.77,110.07,111.65,113.25,
-113.39,115.85,115.24,117.22,117.64,119.02,118.61,120.36,118.32,122.24,
-123.46,123.94,126.44,126.41,127.33,127.68,128.72,128.85,131.35,131.54,
-131.06,134.52,134.64,134.80,135.21,136.80,139.55,140.40,140.96,141.70,
-141.06,143.82,142.92,144.94,143.73,147.21,147.01,149.81,151.54,152.66,
-151.99,152.03,152.23,156.56,155.76,155.53,156.34,156.28,160.98,157.23,
-158.55,161.40,166.06,159.92,164.84,163.56,166.29,167.99,169.17,169.72,
-169.11,171.22,175.08,173.53,173.71,175.51,172.96,176.11,176.60,177.75,
-181.07,181.96,182.91,182.18,181.67,182.20,187.01,184.40,190.36,188.19,
-186.70,189.09,193.98,195.19,192.79,192.60,191.56,194.63,198.05,198.11,
-199.14,201.47,202.54,197.76,201.55,203.09,206.26,203.68,205.62,207.90,
-207.18,208.30,209.60,209.71,209.98,212.04,216.16,216.83,213.09,218.06,
-217.64,217.88,217.57,218.19,219.58,221.20,220.32,226.61,226.68,224.08,
-224.42,227.34,228.41,229.09,233.03,234.09,231.99,232.70,234.57,234.41,
-238.00,238.95,236.66,238.15,244.13,239.85,239.76,240.68,246.04,245.18,
-246.27,247.74,248.19,248.12,248.01,250.74,251.47,251.21,252.72,255.69,
-253.82,252.39,256.85,257.26,260.53,261.25,261.12,260.15,265.82,263.04,
-262.57,266.30,267.75,268.30,265.06,270.66,267.75,269.69,273.31,275.15,
-274.59,274.01,277.04,278.61,279.17,278.44,277.54,279.77,280.40,280.47,
-8.01,8.47,9.81,10.55,11.50,12.05,12.81,12.56,14.46,15.16,
-16.54,16.06,16.80,18.53,18.15,20.21,19.62,20.60,22.10,22.07,
-21.48,24.08,24.90,25.82,26.41,26.71,27.66,27.14,29.21,30.21,
-31.52,31.90,32.36,34.23,33.31,34.74,34.26,34.23,37.26,38.56,
-38.30,38.60,40.36,40.94,43.41,41.88,44.27,43.53,44.12,45.52,
-45.32,46.69,46.35,47.81,48.04,49.60,46.75,49.17,51.43,53.45,
-53.47,55.02,55.80,54.41,55.21,56.31,57.59,58.20,61.28,60.82,
-61.81,61.33,62.69,64.54,63.58,64.82,64.79,65.72,68.22,67.79,
-67.95,69.51,70.61,72.08,72.81,71.74,74.24,73.73,73.21,75.81,
-76.97,76.09,78.11,79.77,78.95,80.52,81.06,81.51,79.35,81.99,
-82.91,83.22,86.19,86.34,84.92,87.31,89.36,89.17,89.81,89.83,
-91.37,90.59,94.93,94.79,94.08,95.74,98.59,98.25,95.92,99.70,
-99.10,100.52,101.04,99.73,101.91,102.70,102.95,106.33,104.16,104.33,
-106.60,106.07,109.28,111.19,111.52,112.21,108.88,113.30,113.71,113.72,
-114.69,115.24,117.82,117.28,115.32,119.39,120.05,118.93,118.85,122.07,
-120.33,122.77,123.24,121.65,125.62,124.87,126.35,126.08,127.17,131.80,
-131.00,130.12,129.00,133.60,133.80,136.15,132.20,136.04,133.90,137.10,
-138.53,136.99,137.50,140.52,140.97,140.87,141.00,140.46,145.84,142.59,
-145.75,145.59,146.94,146.92,146.54,151.32,148.66,149.93,150.33,152.15,
-151.52,154.00,152.38,153.48,155.78,158.12,154.49,160.69,157.66,159.50,
-161.44,157.33,161.96,162.40,164.03,163.20,164.71,165.31,166.22,165.05,
-167.90,167.31,169.86,171.68,171.00,173.06,171.74,176.25,174.20,172.32,
-175.71,176.69,179.21,174.26,175.78,175.81,176.01,182.48,180.19,179.84,
-184.80,183.32,184.94,185.31,185.28,185.04,188.82,185.99,188.71,191.66,
-189.98,189.12,189.73,193.90,192.19,191.41,193.70,197.85,196.40,196.30,
-193.53,198.97,199.26,203.23,201.83,204.54,202.51,205.54,206.02,205.01,
-207.26,206.65,205.41,210.94,207.44,210.52,209.75,210.93,212.42,211.21,
-213.51,214.31,214.29,215.61,215.58,217.39,215.09,217.30,221.84,218.90,
-221.12,223.85,222.76,222.56,223.75,223.54,227.96,223.79,225.11,226.09,
-6.62,6.96,7.10,7.74,8.10,9.44,9.54,10.21,10.62,12.62,
-12.77,12.93,14.26,13.34,14.34,15.33,17.04,16.80,16.74,18.32,
-18.88,19.58,20.41,19.51,21.09,19.88,22.29,23.05,23.99,23.61,
-25.44,24.16,27.07,26.50,26.64,27.13,27.33,28.02,28.99,30.07,
-30.14,31.83,32.01,32.10,33.16,32.92,33.76,36.57,35.69,35.85,
-37.16,37.35,37.52,39.42,39.11,39.97,40.19,40.89,43.19,42.96,
-42.09,44.35,43.65,44.52,44.88,47.07,45.90,47.23,48.81,49.15,
-49.65,49.47,48.85,50.68,50.90,52.65,52.48,53.14,54.02,54.09,
-55.04,54.09,56.78,55.76,55.41,59.50,59.50,58.30,59.26,60.94,
-60.89,62.02,63.86,63.38,63.00,63.83,65.88,66.49,64.34,66.73,
-67.39,68.01,68.11,68.61,68.79,69.34,71.39,72.91,71.24,72.45,
-75.06,73.12,75.19,75.26,74.65,76.58,77.46,76.26,76.33,79.55,
-82.20,81.68,80.48,81.15,81.26,81.55,83.62,80.73,84.28,85.72,
-84.44,85.61,87.24,86.54,87.48,88.92,88.53,90.79,88.44,91.18,
-93.84,91.66,94.60,93.83,94.71,95.80,94.15,98.67,97.76,96.05,
-96.55,99.36,98.92,97.30,101.16,99.98,102.03,100.34,101.68,104.90,
-105.80,105.09,105.47,105.23,105.64,105.71,108.03,108.39,106.77,109.31,
-108.15,110.45,111.15,110.92,113.47,112.95,111.60,115.18,115.26,115.00,
-116.89,117.10,115.55,116.90,118.91,118.30,120.82,119.01,119.33,117.87,
-123.71,124.62,123.79,123.66,124.12,123.77,122.84,125.03,126.21,129.15,
-127.16,130.41,130.65,129.29,130.38,130.49,131.28,131.33,133.19,131.17,
-133.92,135.05,137.61,134.16,134.02,136.57,138.18,136.85,140.52,139.09,
-139.96,144.66,142.40,142.71,142.65,142.94,144.76,145.40,146.06,142.94,
-146.56,146.07,148.72,149.99,152.86,147.70,149.72,151.56,150.27,151.61,
-153.03,152.62,155.70,153.08,154.61,155.55,159.01,159.84,157.92,156.45,
-159.94,158.96,157.79,163.22,165.09,160.41,157.50,165.97,166.00,165.50,
-166.72,164.53,164.60,168.33,166.07,168.49,166.69,168.25,170.63,172.70,
-172.66,170.79,170.66,173.30,176.14,170.52,172.20,175.48,174.37,175.51,
-179.21,180.33,175.96,180.32,178.53,177.94,179.74,182.52,180.24,180.91,
-5.09,5.27,6.33,7.42,7.34,7.18,8.40,7.79,8.63,9.63,
-9.95,10.04,10.36,11.75,12.16,12.01,12.26,13.07,13.60,14.58,
-14.78,15.68,15.53,16.44,16.91,16.59,17.08,18.88,19.17,18.46,
-19.42,20.64,20.88,22.20,21.24,22.83,22.05,23.18,22.98,24.70,
-24.79,24.60,26.29,26.34,25.80,27.06,28.12,26.71,28.81,28.18,
-29.84,30.00,29.11,30.80,30.23,32.32,32.89,32.42,32.51,34.79,
-35.40,35.34,36.37,35.84,36.28,35.60,37.05,36.88,37.30,38.17,
-39.05,39.27,41.11,40.75,40.18,42.52,42.80,42.99,44.02,43.31,
-44.17,44.89,43.87,44.90,45.09,47.32,46.88,46.80,47.02,47.34,
-46.91,49.16,51.21,50.37,51.16,51.28,52.41,52.35,54.00,55.27,
-53.86,54.61,53.89,55.21,56.59,56.25,56.97,57.43,57.76,58.50,
-57.25,59.48,58.66,59.00,59.52,62.69,61.65,63.53,64.06,62.84,
-64.14,64.12,64.72,65.99,63.90,67.27,65.85,67.92,65.76,66.68,
-69.97,68.39,69.58,68.46,70.39,70.12,72.63,73.17,71.29,74.00,
-73.68,72.26,73.62,73.70,74.08,79.55,77.82,78.36,77.52,76.08,
-76.91,78.51,79.81,80.69,79.45,79.88,80.56,81.23,81.17,84.17,
-82.15,83.23,84.67,84.78,84.17,85.78,87.15,84.63,88.59,83.86,
-89.68,86.91,89.08,87.58,90.62,90.80,91.04,94.24,93.44,91.13,
-91.88,92.19,95.00,94.15,96.39,93.93,95.81,97.67,95.34,96.72,
-96.90,99.37,97.19,97.05,98.60,102.08,100.55,101.69,103.40,102.68,
-104.42,101.26,103.24,102.40,105.74,104.40,104.01,106.50,105.65,105.20,
-106.90,109.23,106.92,106.90,109.72,108.67,109.53,112.45,109.67,110.66,
-114.69,111.25,111.24,114.41,116.27,114.57,116.07,114.44,115.23,117.57,
-116.00,118.51,117.06,118.31,118.97,119.39,118.94,118.74,120.45,122.73,
-121.82,123.85,123.06,122.12,123.70,126.41,128.67,123.85,127.06,122.76,
-125.52,127.50,127.36,126.88,130.35,129.61,129.82,129.08,130.44,130.13,
-130.40,133.14,129.85,132.86,134.54,135.99,134.38,133.72,135.15,136.66,
-137.96,134.69,135.94,137.35,140.22,138.56,140.44,141.66,142.08,142.61,
-140.14,139.14,142.11,140.86,146.25,142.29,145.25,144.03,145.61,143.65,
-4.17,4.35,4.31,4.87,5.39,5.69,6.21,6.34,7.53,7.86,
-7.60,8.49,8.79,8.42,9.30,9.34,10.97,10.97,11.52,10.91,
-12.06,12.19,12.51,13.17,14.62,14.06,13.10,16.09,14.97,15.96,
-15.41,16.49,16.38,18.61,16.41,17.55,19.04,18.78,18.74,18.41,
-20.69,20.09,18.85,21.13,20.90,20.89,21.65,20.90,22.50,23.43,
-23.33,24.05,23.76,24.94,25.11,24.80,24.69,26.56,26.93,26.75,
-27.55,27.45,28.29,27.75,28.64,29.98,30.13,29.86,30.57,30.25,
-31.37,31.32,31.79,32.87,32.22,34.41,34.20,32.99,33.58,34.26,
-34.07,35.20,35.56,36.20,36.39,36.67,36.32,36.58,39.23,38.17,
-37.82,38.00,40.79,38.89,41.59,39.15,41.25,42.09,41.58,41.95,
-43.19,42.79,43.10,43.88,44.28,45.55,44.99,45.77,46.06,47.63,
-47.23,47.29,48.17,47.62,47.27,47.76,47.86,50.34,50.76,49.48,
-50.40,50.63,51.80,51.68,51.88,52.26,53.38,53.37,52.42,54.00,
-55.02,52.71,54.41,55.04,55.64,59.32,55.66,56.64,57.26,58.56,
-58.53,59.75,58.57,58.88,61.13,59.45,61.36,62.64,61.56,61.02,
-62.98,62.31,62.01,64.95,64.38,64.20,64.64,63.44,65.32,65.11,
-67.06,67.06,65.66,67.52,67.94,67.89,67.82,67.22,68.12,69.61,
-69.90,69.86,70.64,71.14,72.26,69.29,73.75,73.68,75.41,75.63,
-74.73,74.85,74.00,74.37,75.43,76.09,74.40,74.70,79.25,77.92,
-77.93,75.97,77.45,79.81,77.32,79.31,81.01,80.17,82.97,80.36,
-83.85,83.59,82.98,84.30,83.33,80.92,83.37,82.56,85.82,82.91,
-86.97,89.26,86.25,84.50,88.96,87.07,84.83,89.96,88.34,88.98,
-91.28,87.56,89.86,90.30,91.44,92.12,92.74,93.89,92.62,93.81,
-93.83,92.35,92.34,92.84,96.20,93.94,97.33,94.52,94.67,98.08,
-96.74,97.34,98.03,99.84,99.24,99.12,97.51,97.87,98.29,101.20,
-99.42,102.15,102.43,102.36,102.82,103.50,103.33,103.02,103.93,102.34,
-104.80,106.81,107.52,105.94,105.23,106.65,107.59,109.55,107.34,106.33,
-109.40,110.18,112.77,109.61,109.07,110.89,112.24,109.94,112.01,113.29,
-113.60,112.40,113.23,113.56,116.21,114.60,115.20,113.21,114.72,115.64,
-2.95,3.52,3.50,4.30,4.38,4.86,4.52,5.32,5.63,6.68,
-7.01,6.38,6.81,7.34,7.72,8.14,8.11,8.56,9.68,9.59,
-9.01,10.48,10.07,10.61,10.11,10.98,11.20,11.54,11.51,12.26,
-12.61,13.35,12.63,14.06,13.31,14.59,15.18,14.08,14.90,15.91,
-15.29,15.91,15.75,16.58,17.47,17.23,17.28,18.53,17.25,18.89,
-18.99,19.78,20.30,19.00,19.94,19.35,20.74,21.01,21.53,21.09,
-20.56,22.49,22.93,22.97,22.90,22.70,24.38,23.07,23.77,25.12,
-24.39,25.85,24.35,26.24,25.76,25.40,26.62,26.45,27.69,27.53,
-26.93,28.51,28.09,29.22,29.55,30.13,30.16,28.64,30.41,31.14,
-31.14,31.89,31.52,30.91,33.28,31.20,32.96,32.68,32.68,32.95,
-33.62,33.68,34.50,36.01,36.68,36.16,36.24,35.73,35.74,37.19,
-37.41,36.50,37.35,39.11,37.65,40.47,39.31,40.67,40.08,39.56,
-41.52,40.55,41.09,41.80,41.51,40.94,41.19,43.63,43.75,44.70,
-42.96,43.48,45.43,45.15,43.66,46.47,46.51,45.09,47.16,46.05,
-46.17,46.41,47.74,47.87,45.57,46.80,47.91,49.06,49.50,49.38,
-49.24,48.91,49.32,49.93,51.70,48.92,51.81,53.97,51.15,51.15,
-53.73,52.94,52.55,53.77,52.82,53.42,53.16,53.42,55.32,56.79,
-55.48,55.01,56.34,57.07,56.03,58.54,57.57,58.77,56.58,60.34,
-58.55,58.08,59.81,58.36,61.77,59.90,60.76,60.01,62.12,62.74,
-59.35,63.14,62.32,64.21,63.02,60.51,64.73,63.15,62.55,65.29,
-63.93,65.04,67.05,67.10,66.25,65.94,68.43,65.30,67.26,69.21,
-69.33,68.75,68.69,70.00,68.56,68.16,69.58,69.13,72.22,73.71,
-71.87,71.91,73.24,72.50,73.74,73.14,74.75,73.97,74.18,72.73,
-74.01,74.34,74.47,75.48,76.30,76.62,76.10,76.26,73.45,74.65,
-76.17,79.37,76.68,77.57,79.58,80.00,78.56,80.08,82.25,80.62,
-80.61,81.61,79.19,81.11,82.46,81.32,84.50,82.37,84.52,84.57,
-80.95,85.00,84.83,84.29,82.95,86.03,86.47,85.61,85.97,85.05,
-86.59,87.73,86.09,88.78,90.27,87.59,87.44,87.67,87.76,87.75,
-89.46,90.05,88.84,91.66,91.82,91.44,93.00,94.34,90.78,91.34,
-2.49,2.91,2.80,3.17,3.50,3.63,4.55,4.60,4.82,4.99,
-5.46,5.35,5.48,5.99,6.58,5.99,6.74,6.70,7.06,7.11,
-7.53,8.26,8.60,7.92,8.45,9.23,9.10,8.70,8.52,9.74,
-9.25,9.58,10.89,11.00,10.96,11.75,11.05,12.18,12.38,12.42,
-12.87,12.28,12.05,12.94,12.99,13.44,13.93,14.27,14.39,15.71,
-14.80,14.59,14.69,15.04,15.39,14.92,17.30,16.05,15.42,17.85,
-17.17,17.47,17.49,17.84,18.39,17.25,18.89,19.83,19.33,20.70,
-19.34,19.56,19.82,20.09,19.36,22.04,21.57,21.35,22.60,22.16,
-22.16,22.61,21.48,23.83,23.16,23.52,23.80,23.16,24.73,23.82,
-24.42,25.29,24.88,25.20,24.41,27.10,25.95,27.08,26.45,26.08,
-27.26,27.32,27.14,28.69,29.15,28.95,28.65,30.68,27.98,29.11,
-29.57,29.73,30.16,29.71,30.23,29.81,30.86,31.99,32.13,31.50,
-31.14,33.08,32.79,32.74,33.27,32.68,35.61,32.16,33.81,35.14,
-35.53,35.74,35.48,35.45,35.99,35.49,35.59,36.20,37.08,35.98,
-35.72,36.87,38.32,37.15,37.18,37.54,36.23,37.73,38.54,39.83,
-38.61,40.53,40.84,39.25,38.76,42.85,40.43,42.42,40.43,41.64,
-42.10,42.02,42.13,43.34,42.36,42.75,42.77,42.35,42.56,43.86,
-43.73,45.31,45.30,44.96,44.39,48.13,42.49,47.08,48.25,45.98,
-45.43,48.12,47.95,46.59,48.54,47.28,45.01,49.31,50.38,48.63,
-49.26,51.32,50.69,50.11,49.77,48.90,49.55,52.16,50.92,52.12,
-51.76,52.91,51.50,52.91,53.44,53.37,52.49,53.81,54.78,52.55,
-54.07,52.53,55.25,53.91,53.24,56.56,56.30,55.18,58.53,53.83,
-56.16,55.56,58.05,58.60,56.85,56.66,56.99,61.23,59.42,59.23,
-59.16,58.61,59.64,61.41,59.93,59.11,61.66,60.96,62.10,62.89,
-63.19,60.03,63.30,59.65,62.02,61.59,62.34,60.82,62.88,64.20,
-64.64,63.96,63.56,65.23,64.41,65.50,65.98,65.89,65.82,64.81,
-65.12,65.56,67.54,67.95,66.00,67.59,66.62,67.26,68.32,70.11,
-69.24,67.81,68.17,68.22,73.58,68.27,69.36,70.58,71.38,70.84,
-70.82,71.92,70.94,70.00,72.51,72.94,73.77,75.10,73.58,74.00,
-2.09,2.13,2.15,2.65,2.72,2.84,2.88,3.80,3.45,3.99,
-4.35,4.10,3.91,4.85,3.93,4.39,5.17,5.49,5.44,6.18,
-5.41,6.38,7.14,6.28,6.04,6.99,6.92,7.31,7.88,7.85,
-7.67,8.04,7.90,8.52,8.41,8.23,9.39,9.62,9.13,9.57,
-9.93,10.52,10.79,10.06,9.69,10.80,10.48,10.38,12.27,11.27,
-12.24,12.69,11.62,12.58,12.13,13.28,13.04,12.29,14.30,14.64,
-15.00,14.66,13.02,13.63,14.62,14.29,14.95,14.49,15.77,15.51,
-15.62,15.83,16.58,16.61,17.62,16.82,15.87,17.66,17.43,17.59,
-18.35,17.17,18.18,18.94,18.22,19.71,17.32,19.46,20.37,19.45,
-19.65,20.23,19.50,19.95,18.33,20.63,21.24,21.09,21.28,22.86,
-21.59,21.45,22.45,22.18,22.30,22.41,22.09,22.76,23.09,22.27,
-25.01,23.43,24.80,22.42,25.32,25.14,24.43,25.54,25.77,26.19,
-24.47,25.38,25.36,26.15,26.10,26.71,26.06,26.29,25.82,27.97,
-26.23,27.61,27.39,28.55,28.14,28.07,26.94,27.94,30.36,28.72,
-28.13,29.73,30.44,31.74,30.32,30.96,29.42,30.39,31.42,30.43,
-31.74,30.96,31.59,32.49,32.56,32.05,31.32,32.44,31.44,32.35,
-31.34,34.12,34.08,34.01,34.60,35.24,33.70,35.92,35.33,34.93,
-33.42,34.98,35.63,35.42,35.30,36.17,35.80,35.35,34.98,38.01,
-36.27,37.16,35.96,38.04,38.98,37.78,37.92,39.38,39.32,37.14,
-39.81,38.68,38.88,40.58,40.12,39.45,41.41,40.79,39.39,39.90,
-40.89,42.02,40.88,42.33,41.43,42.31,44.02,41.23,43.79,42.70,
-43.05,43.63,42.20,43.07,44.95,44.46,43.27,43.08,44.19,43.19,
-44.93,43.85,45.49,44.65,44.66,44.21,45.50,48.09,44.58,47.15,
-45.53,48.35,48.42,48.52,46.48,49.08,47.28,47.55,46.17,47.99,
-47.58,49.62,48.54,48.39,49.83,49.73,50.11,50.56,49.73,50.46,
-49.65,51.49,51.78,51.41,50.96,50.99,52.26,50.61,52.28,52.02,
-52.47,51.00,51.46,53.59,54.03,53.77,51.91,53.46,52.54,54.45,
-55.15,55.25,54.44,57.54,56.66,56.27,53.56,55.07,57.09,53.47,
-57.56,59.27,55.17,55.01,56.67,58.36,57.37,59.99,59.05,61.44,
-1.58,2.04,1.70,2.32,2.05,2.61,2.40,2.67,2.89,3.04,
-3.77,3.15,4.24,3.77,3.40,3.78,4.39,4.18,5.45,4.83,
-4.59,5.29,4.87,5.44,5.61,5.72,6.12,6.92,5.61,6.24,
-6.05,6.58,6.90,6.59,7.15,6.72,6.77,6.70,7.16,7.28,
-8.00,8.25,8.50,8.70,8.54,7.57,8.74,9.05,9.31,8.35,
-9.31,9.38,9.73,9.82,9.26,11.23,10.08,10.17,10.40,10.22,
-10.60,11.22,10.84,10.09,10.69,12.09,11.52,11.64,12.01,12.66,
-12.25,11.89,11.76,12.42,12.38,12.49,13.47,12.86,14.17,14.95,
-14.87,13.75,14.69,13.92,13.98,14.51,14.52,14.43,15.12,16.17,
-16.03,15.35,14.99,16.16,16.16,16.05,16.82,16.92,17.37,16.76,
-17.20,18.31,16.62,16.82,18.54,19.41,18.61,19.08,16.34,18.44,
-18.30,18.54,18.69,18.50,20.18,17.92,20.43,19.35,20.36,20.28,
-19.61,20.59,19.67,20.46,20.30,21.26,20.83,21.54,21.56,22.58,
-22.24,22.05,21.05,24.24,22.24,23.09,21.36,22.23,22.30,23.28,
-23.34,24.18,23.97,26.02,23.54,24.12,24.43,24.02,23.79,25.59,
-24.60,25.58,24.44,25.61,25.55,25.12,25.63,25.54,27.80,24.69,
-26.93,26.15,27.79,27.19,27.00,26.68,27.10,27.48,27.92,28.12,
-26.90,28.31,27.52,27.91,28.19,29.21,27.91,28.36,29.17,29.00,
-28.36,28.98,29.33,29.57,30.01,30.46,29.95,32.20,30.56,30.64,
-31.90,31.38,30.98,32.11,31.28,30.70,32.52,32.15,32.31,31.85,
-31.97,31.88,32.77,32.26,34.08,33.11,32.08,32.30,32.31,31.37,
-34.22,33.84,33.48,35.64,33.43,34.96,33.74,34.51,34.97,35.87,
-35.33,35.36,37.68,35.33,36.71,37.18,36.90,36.67,35.62,34.94,
-38.26,38.59,38.02,36.27,36.66,36.82,37.64,37.13,38.99,40.96,
-38.85,39.67,39.85,39.09,40.06,40.52,38.84,39.41,38.97,38.52,
-39.24,41.69,39.11,41.42,40.46,39.39,40.93,41.42,40.73,41.23,
-41.59,40.02,42.43,41.60,44.88,44.74,42.82,43.33,42.62,44.68,
-42.22,43.94,42.97,44.61,43.12,42.92,43.50,45.36,45.03,43.77,
-42.98,42.55,45.65,45.05,42.75,44.99,45.30,45.73,46.97,46.57,
-1.25,1.38,1.49,1.73,1.61,1.75,1.61,2.17,2.03,2.52,
-2.74,2.90,2.74,2.69,2.39,3.24,3.20,3.29,3.36,3.35,
-3.31,3.35,3.99,3.66,4.30,3.76,4.51,4.53,4.19,4.44,
-5.09,5.04,4.99,5.92,5.59,5.22,5.65,5.76,5.85,6.24,
-6.45,5.88,6.57,6.42,6.46,6.98,6.74,6.77,6.98,7.53,
-7.88,8.13,7.13,8.37,8.44,8.69,8.16,8.56,9.27,8.26,
-8.08,9.14,8.16,8.76,8.80,8.84,8.46,9.10,8.59,9.85,
-9.71,9.99,9.57,9.85,9.82,10.91,9.70,10.03,10.36,11.27,
-11.55,11.35,11.68,10.90,11.91,11.94,13.05,11.78,12.40,12.05,
-12.10,12.30,12.31,12.53,13.47,12.46,13.43,12.40,13.72,13.09,
-12.31,13.33,14.57,14.30,13.12,13.27,13.53,15.00,14.68,14.77,
-13.83,14.42,14.95,15.44,15.81,16.59,15.12,15.09,15.87,15.53,
-16.64,16.32,15.50,16.27,14.97,16.89,18.21,16.80,18.55,17.70,
-17.57,17.27,16.75,18.53,17.15,17.64,18.31,18.93,17.85,17.98,
-18.96,18.28,19.19,17.85,19.49,19.47,18.51,19.06,20.25,20.21,
-18.32,18.77,20.20,22.12,20.44,19.33,22.16,20.84,21.02,20.44,
-22.86,19.84,19.64,20.42,22.43,21.01,21.82,21.32,21.81,22.64,
-21.96,22.87,20.59,23.29,22.76,21.38,22.74,22.43,20.23,23.06,
-23.75,23.95,24.95,24.47,23.01,23.90,24.03,23.52,23.70,24.00,
-25.16,23.75,23.93,25.45,23.90,24.76,26.19,25.36,24.79,24.13,
-24.89,26.98,24.23,25.90,26.51,25.98,26.22,26.62,26.40,24.54,
-25.63,27.63,25.56,27.31,27.02,27.97,28.79,27.07,27.10,27.57,
-29.28,27.26,28.28,27.50,28.44,27.65,27.68,27.41,27.26,28.03,
-30.59,30.23,28.59,29.80,28.94,28.45,28.57,31.17,30.50,30.87,
-31.38,29.47,30.48,28.73,32.30,31.50,31.85,30.28,33.14,32.73,
-31.52,31.32,31.95,31.33,32.16,32.12,31.47,32.63,31.64,33.70,
-33.68,33.39,32.77,33.70,32.78,34.33,33.45,33.33,33.47,33.70,
-35.32,33.61,35.63,33.58,36.05,34.95,36.10,34.26,34.59,35.44,
-36.10,34.69,36.02,34.91,36.01,35.25,34.68,36.29,36.09,37.75,
-1.00,1.01,1.27,0.98,1.35,1.38,1.47,1.71,1.51,2.01,
-2.00,1.94,2.10,2.12,2.34,2.34,2.28,3.13,2.52,2.99,
-3.15,3.41,2.83,3.07,3.13,3.29,4.05,4.14,3.88,3.46,
-4.18,3.27,3.68,4.30,4.06,4.42,4.42,4.53,5.21,4.77,
-4.34,5.17,5.44,4.87,5.30,5.55,4.56,5.58,6.00,5.97,
-5.58,5.46,6.11,6.06,6.00,6.29,6.71,6.46,7.46,5.78,
-5.61,7.82,6.98,6.53,7.17,7.10,7.84,7.64,7.03,7.33,
-7.53,8.14,8.35,8.34,7.79,7.63,8.39,7.57,8.11,8.53,
-9.11,8.40,8.71,8.98,8.42,9.23,9.50,9.46,9.02,9.97,
-9.24,9.25,9.52,10.42,9.68,10.20,10.31,9.80,11.01,9.89,
-10.53,11.54,11.04,10.86,11.47,10.33,12.04,10.88,10.45,11.38,
-11.17,11.08,11.85,11.05,12.04,11.57,11.95,12.13,12.61,12.62,
-11.96,14.63,11.87,12.45,11.88,12.53,12.61,12.96,12.56,12.39,
-13.05,14.22,12.72,14.41,14.80,13.36,13.96,14.72,14.11,14.12,
-13.66,14.51,15.18,14.72,14.97,14.43,14.88,14.41,16.17,14.76,
-16.37,14.63,15.62,16.44,16.72,15.57,16.88,16.55,16.30,15.75,
-16.45,15.83,16.13,16.60,16.71,16.04,17.28,17.51,17.29,16.28,
-17.66,18.14,18.02,18.48,17.30,18.17,16.99,18.64,18.50,19.39,
-17.68,19.11,19.46,18.34,17.51,19.77,19.64,20.37,19.27,18.87,
-18.88,18.22,19.81,20.43,19.77,19.64,19.80,20.32,20.25,20.67,
-17.43,20.11,19.34,20.32,20.50,21.00,22.12,20.86,21.01,21.83,
-22.41,20.83,21.87,21.43,21.17,20.26,22.24,21.30,22.34,22.25,
-21.35,23.24,22.80,21.10,23.01,23.30,23.79,21.50,23.44,24.31,
-22.53,23.35,21.74,24.09,22.51,22.46,23.10,22.34,24.83,23.94,
-24.95,24.37,25.12,24.23,24.98,27.46,25.44,24.68,24.73,24.08,
-26.04,25.44,26.41,24.45,25.53,25.07,25.33,25.42,26.01,24.74,
-25.45,26.11,26.58,27.50,26.23,25.55,25.32,26.91,26.49,27.78,
-26.55,28.81,25.98,26.66,28.23,26.16,27.26,26.89,27.31,27.48,
-27.37,28.14,29.56,27.35,28.39,29.42,27.91,27.93,29.21,29.00,
-25.05,27.56,30.16,32.60,34.04,37.51,40.17,42.90,44.69,48.23,
-48.73,51.64,53.45,55.48,59.11,60.32,64.01,66.42,68.74,72.96,
-74.29,76.51,78.18,79.83,83.27,85.31,88.45,90.74,92.97,95.97,
-98.16,99.99,102.32,105.10,107.41,110.45,111.14,116.25,118.53,119.79,
-123.06,124.60,125.51,130.96,131.17,134.28,134.85,139.84,141.91,146.11,
-145.77,147.91,149.76,154.19,157.18,158.07,160.81,162.29,166.36,167.14,
-167.15,173.52,174.11,178.21,179.58,183.57,186.11,186.85,187.36,190.04,
-195.76,195.58,199.45,201.59,205.20,206.92,207.12,212.48,213.99,216.81,
-218.12,222.51,225.12,225.62,228.49,231.82,233.39,238.37,240.61,240.52,
-243.39,247.27,248.55,251.84,253.18,257.41,259.32,258.74,262.42,264.57,
-268.49,266.20,273.77,275.58,277.86,276.25,278.01,285.08,288.78,290.00,
-288.86,293.92,298.44,298.61,300.72,300.31,306.01,311.55,312.57,314.15,
-316.86,320.84,320.61,323.61,324.17,327.86,331.67,335.34,335.46,337.77,
-342.06,342.10,346.32,348.04,351.21,350.95,354.43,356.55,359.56,361.48,
-363.33,364.00,368.84,372.92,373.15,374.56,376.77,380.81,382.69,385.85,
-387.80,389.83,394.19,395.43,399.03,405.20,401.63,407.64,406.93,410.98,
-414.18,412.64,417.31,422.65,423.34,422.84,427.75,430.72,429.48,434.80,
-438.79,439.15,441.40,442.47,447.25,448.90,453.49,453.08,456.47,458.99,
-461.57,468.46,469.91,468.03,471.33,475.28,476.02,478.96,482.39,483.18,
-485.16,488.12,489.47,491.99,496.40,498.87,499.53,503.48,507.14,505.51,
-510.59,514.79,516.80,519.16,516.71,523.36,523.45,527.73,528.18,532.28,
-533.84,536.11,537.51,542.58,545.75,545.47,550.68,545.62,553.20,553.50,
-556.10,564.35,564.58,567.99,563.63,575.62,571.81,575.51,579.76,582.22,
-580.67,580.58,589.69,590.21,590.58,596.76,600.83,602.13,600.35,599.08,
-608.56,609.14,613.71,616.60,613.11,617.79,620.07,628.22,630.14,629.72,
-637.00,636.54,635.99,637.15,642.92,640.96,646.50,648.64,648.79,653.22,
-653.96,655.74,659.21,665.89,667.24,669.79,675.66,671.54,669.92,675.00,
-679.46,684.29,684.88,684.88,691.66,692.75,694.15,698.42,699.75,699.38,
-706.98,705.33,708.08,711.37,710.88,717.14,719.54,721.83,722.31,722.96,
-20.53,22.30,24.36,26.70,29.00,31.45,31.73,34.44,35.80,38.88,
-40.46,43.09,44.07,46.34,48.59,50.99,53.67,54.01,56.68,59.04,
-60.51,62.22,65.72,68.30,70.09,71.44,72.06,74.63,77.03,77.63,
-81.35,80.60,85.47,88.71,90.13,90.82,92.30,95.75,97.60,99.72,
-100.72,103.53,107.09,106.71,108.90,112.83,113.76,115.29,116.70,116.25,
-119.83,121.61,127.34,127.30,128.52,128.29,133.67,133.99,139.16,139.41,
-138.64,146.51,147.44,146.10,149.45,152.31,154.22,155.66,156.27,159.16,
-160.17,165.66,165.75,168.36,171.04,170.54,171.14,176.50,175.88,181.21,
-179.88,181.52,185.32,187.18,190.49,193.43,193.11,193.79,195.15,199.42,
-200.84,202.50,206.44,207.39,211.25,211.02,215.11,213.49,216.88,219.92,
-222.76,221.02,226.39,229.55,228.84,232.95,232.04,236.21,236.86,239.87,
-240.56,243.25,242.92,246.38,251.32,252.19,249.74,253.45,256.52,261.15,
-262.37,261.43,266.86,267.73,269.41,270.77,274.78,274.15,278.84,279.84,
-281.12,284.71,284.28,288.06,291.95,287.40,295.56,295.14,298.10,297.30,
-302.13,305.37,305.66,307.23,308.05,313.95,317.10,312.67,320.06,321.84,
-321.00,323.21,326.44,327.81,326.98,331.93,332.68,331.98,337.59,339.99,
-339.22,342.08,347.52,344.74,345.43,353.10,354.17,355.38,356.61,363.05,
-360.83,366.20,365.94,369.21,368.14,374.28,373.16,373.64,377.13,381.17,
-381.72,383.86,385.79,386.96,389.64,391.69,390.98,398.72,398.28,398.55,
-401.23,405.38,406.17,410.64,410.31,410.19,414.89,417.83,416.16,420.87,
-422.08,427.42,423.03,424.08,430.39,431.88,433.12,434.54,437.70,439.26,
-441.04,446.17,447.34,447.56,443.89,448.41,453.12,455.25,458.24,460.02,
-462.60,461.31,463.63,470.15,468.51,470.03,472.92,474.49,475.44,477.89,
-482.91,483.80,484.25,487.66,493.57,493.65,497.67,494.39,498.60,507.74,
-499.17,506.35,508.05,506.31,506.67,510.62,513.64,512.71,516.71,522.13,
-522.02,523.81,525.90,525.00,531.11,531.00,537.39,536.17,538.80,537.27,
-538.77,542.59,552.21,546.84,552.15,551.31,552.10,554.33,556.47,559.52,
-558.48,559.08,564.54,567.79,574.66,574.27,577.28,576.91,578.31,579.28,
-582.66,588.21,586.19,590.70,589.94,588.96,594.03,595.83,599.04,603.53,
-17.18,18.56,19.85,21.55,23.26,24.91,27.08,28.90,30.11,31.48,
-34.58,34.72,36.89,40.20,40.90,42.06,43.32,46.03,45.79,48.38,
-49.08,51.79,54.07,55.54,57.34,59.45,60.52,61.37,64.07,63.55,
-66.15,68.63,70.62,69.69,73.51,74.82,77.22,78.59,79.28,80.72,
-82.49,84.67,86.38,88.76,89.28,89.97,94.15,94.36,96.98,98.52,
-99.48,101.89,103.74,106.34,107.03,108.51,108.64,110.77,111.29,115.92,
-116.56,117.98,119.01,124.06,122.32,123.94,123.84,126.20,129.68,129.74,
-133.14,135.13,136.07,136.38,137.07,140.60,142.69,149.46,144.80,148.50,
-147.79,149.74,152.59,154.16,156.79,157.12,159.84,160.45,162.03,163.90,
-166.28,166.41,169.62,170.78,170.59,174.15,177.24,175.59,180.27,180.79,
-182.64,183.10,185.02,187.78,190.38,189.32,191.81,195.14,195.62,197.38,
-197.30,200.95,202.45,206.27,207.13,208.03,208.64,210.25,212.65,210.01,
-216.60,216.75,221.02,220.34,220.41,226.69,226.58,228.23,230.13,231.05,
-231.35,233.57,233.31,239.09,235.24,239.43,241.76,241.34,247.53,244.81,
-248.01,250.99,249.93,252.39,253.23,257.87,257.42,262.23,265.45,264.99,
-264.21,266.00,267.01,271.40,273.12,271.18,275.53,279.15,278.35,279.35,
-283.79,282.87,284.54,284.12,291.00,287.39,291.03,291.88,296.18,290.93,
-297.70,300.86,299.00,301.69,306.05,299.93,307.58,308.44,312.12,311.59,
-314.49,317.99,318.44,317.59,320.98,323.66,325.24,328.15,327.99,329.63,
-330.03,333.22,335.36,338.90,336.08,339.73,339.49,343.88,342.81,346.31,
-345.77,352.12,351.98,350.59,355.60,356.36,356.90,355.93,359.56,360.12,
-364.23,366.05,368.08,366.11,373.43,374.00,371.75,377.72,375.25,380.37,
-380.16,381.56,385.79,387.08,391.91,391.73,392.48,392.47,390.97,391.64,
-399.52,399.11,401.78,400.49,404.91,409.19,403.76,404.37,410.77,409.79,
-413.60,418.00,419.08,423.69,418.80,422.35,426.25,428.48,427.24,425.61,
-431.44,433.00,433.00,434.83,438.02,434.45,440.06,440.27,444.37,442.15,
-447.51,453.53,453.14,452.61,454.14,454.67,453.21,456.42,460.46,457.48,
-462.60,462.78,466.58,461.63,466.78,469.65,469.56,472.82,475.10,475.59,
-479.58,479.17,480.77,484.84,485.27,490.48,489.59,491.46,493.26,497.99,
-13.99,15.78,16.92,18.01,18.61,19.97,22.98,23.20,25.02,25.91,
-26.86,27.97,30.48,29.77,32.99,33.76,35.07,36.46,37.18,39.37,
-42.20,42.32,44.44,45.03,47.44,47.17,48.52,52.68,52.19,53.41,
-56.38,56.57,58.53,58.83,59.76,61.78,63.34,64.79,67.00,66.17,
-68.46,68.75,70.36,74.73,73.74,75.36,76.43,78.98,77.56,79.64,
-82.44,81.49,83.94,85.40,86.45,88.71,88.10,91.85,93.14,94.61,
-94.59,97.09,97.31,99.88,100.13,100.86,105.58,104.62,106.38,106.41,
-108.85,110.96,109.50,114.44,116.30,115.03,114.76,117.97,118.53,120.37,
-122.09,123.24,125.49,126.37,127.87,127.41,130.50,132.53,131.14,134.65,
-138.24,139.46,136.95,140.81,142.84,141.83,144.89,148.18,145.39,147.82,
-151.85,150.17,153.55,154.13,155.08,154.24,154.50,159.22,160.91,161.48,
-161.67,167.52,165.98,168.52,165.90,171.75,170.63,173.71,174.68,177.71,
-172.69,178.35,177.79,181.83,183.39,183.16,185.79,185.91,186.94,187.43,
-189.32,190.82,194.39,192.19,195.38,195.94,197.85,200.04,201.22,202.98,
-204.52,205.66,206.99,204.84,208.35,209.48,211.19,209.96,217.38,216.11,
-215.99,219.29,218.88,220.89,226.13,225.93,226.00,225.09,225.94,229.68,
-231.68,231.05,233.04,232.36,234.54,239.05,238.26,241.79,242.54,242.87,
-246.12,242.68,249.58,246.26,248.60,249.79,254.64,251.60,253.71,255.31,
-257.40,258.23,262.02,263.06,268.52,262.01,269.71,266.95,267.63,268.39,
-270.29,274.61,272.29,272.07,278.63,277.60,277.26,278.89,280.44,282.19,
-287.42,284.40,286.39,290.09,292.84,292.90,294.98,293.52,295.38,299.36,
-295.63,302.51,302.51,301.01,307.01,306.83,306.36,308.42,307.00,311.89,
-315.06,314.81,315.36,317.60,315.90,318.65,322.42,319.07,324.65,325.90,
-324.54,326.04,331.22,329.14,331.07,331.58,331.56,333.70,340.69,338.38,
-341.17,343.82,341.05,341.17,345.08,345.15,345.84,349.27,349.67,352.19,
-354.15,356.18,356.86,356.72,359.52,358.04,361.37,360.84,362.30,368.54,
-364.10,373.53,365.69,373.62,373.12,371.77,374.00,374.55,380.57,381.22,
-380.19,386.10,383.68,383.85,388.44,387.61,388.13,388.96,389.03,395.53,
-399.15,388.73,394.46,397.18,395.69,397.63,398.08,402.28,406.42,404.68,
-11.40,12.98,14.63,14.71,16.28,16.78,18.27,19.52,20.56,22.02,
-22.84,22.82,24.74,25.64,27.11,27.64,28.49,30.20,31.49,32.37,
-32.14,33.70,35.51,37.83,38.61,38.79,40.27,41.89,42.40,44.33,
-44.87,45.92,45.06,47.07,50.64,53.17,50.59,53.22,54.30,54.53,
-56.00,57.21,59.20,59.74,59.23,61.32,62.71,62.06,64.77,65.31,
-67.18,68.88,71.44,69.39,71.32,71.26,75.29,72.86,75.15,77.98,
-79.86,79.14,80.35,81.81,81.73,83.50,84.54,86.66,86.56,88.19,
-90.06,88.37,90.12,93.77,93.07,95.65,97.59,93.94,97.67,97.55,
-101.33,101.80,103.24,103.42,105.00,106.55,108.16,107.65,109.68,110.33,
-111.04,109.92,116.10,115.83,116.51,116.79,117.80,119.42,119.72,117.81,
-121.68,123.41,125.75,124.86,126.52,125.90,128.33,131.04,131.79,134.43,
-133.46,133.17,136.74,139.26,137.72,135.93,143.40,143.21,142.00,145.75,
-144.82,143.26,145.63,147.33,147.48,151.53,148.70,151.44,151.58,155.61,
-155.53,154.52,159.00,159.66,156.90,160.08,161.03,163.37,163.18,163.95,
-165.62,168.99,170.16,169.34,168.40,173.04,173.49,171.56,175.79,176.35,
-177.49,176.85,178.93,179.71,182.22,182.46,182.68,186.30,188.51,186.46,
-189.09,190.56,191.22,191.93,192.62,192.09,193.80,194.98,198.09,198.11,
-199.67,198.15,199.53,204.82,201.97,205.49,206.58,208.30,206.57,212.84,
-211.46,212.27,210.67,215.24,217.72,217.77,219.90,215.65,216.23,218.91,
-225.43,222.90,223.02,226.01,229.24,227.91,232.31,228.12,229.94,229.20,
-234.42,231.65,234.22,236.99,243.48,236.87,237.65,242.98,242.83,246.83,
-245.05,245.04,248.26,247.43,246.67,249.03,247.95,250.34,250.80,248.09,
-254.84,253.90,259.66,261.38,262.93,260.65,259.91,266.23,265.98,263.09,
-268.08,266.32,267.02,266.77,271.31,271.78,273.12,273.51,274.10,271.47,
-278.59,273.93,278.88,279.89,278.95,286.25,281.35,286.59,289.01,285.85,
-287.73,289.46,289.72,290.73,293.35,291.58,296.33,297.24,297.64,301.68,
-303.40,301.21,302.31,304.25,304.90,301.69,306.92,309.48,310.06,306.80,
-309.14,309.76,315.16,309.86,313.87,317.49,316.18,314.52,321.76,317.55,
-324.30,324.47,322.79,327.91,324.82,326.50,325.95,330.21,329.47,333.25,
-9.81,10.07,10.82,12.32,12.69,14.21,14.87,16.03,16.58,17.79,
-17.08,19.54,20.47,20.94,23.14,23.05,23.04,23.93,25.68,26.04,
-27.49,28.46,28.48,29.99,31.83,31.61,34.52,32.34,33.91,35.90,
-36.14,37.21,38.55,39.40,40.26,41.60,42.65,41.80,43.55,45.29,
-45.54,47.27,47.39,48.81,51.66,50.06,51.72,50.30,52.07,53.10,
-54.52,55.29,56.41,58.32,57.24,58.76,60.59,60.29,63.50,62.53,
-62.73,63.97,65.82,66.76,66.33,67.76,68.29,69.98,70.72,72.41,
-71.90,73.79,74.91,75.99,76.35,76.69,78.72,78.73,79.10,79.33,
-82.18,82.97,82.64,85.83,84.11,84.15,85.93,88.21,89.75,90.32,
-90.08,90.87,91.80,93.31,94.88,93.53,94.66,96.42,97.42,98.28,
-97.70,100.66,101.34,102.62,104.08,102.89,103.86,103.62,105.21,106.76,
-109.15,107.61,111.23,111.03,112.17,114.10,113.25,115.31,114.76,116.25,
-117.90,119.52,121.37,119.42,119.64,118.18,123.50,124.32,124.84,125.14,
-124.62,128.43,129.62,128.80,129.94,131.23,132.76,132.37,135.60,136.14,
-136.65,134.03,138.84,135.95,139.31,140.50,141.46,141.76,144.09,144.72,
-144.86,143.11,147.31,147.58,147.41,149.84,149.91,150.29,152.63,153.42,
-152.17,156.22,154.65,155.59,159.35,159.05,159.34,161.74,160.01,163.03,
-164.81,164.99,165.72,168.17,166.44,163.51,169.53,166.73,168.05,175.77,
-174.60,171.42,171.43,173.59,174.53,174.78,178.87,180.84,183.26,178.71,
-180.45,180.69,181.73,182.20,185.83,184.19,186.08,187.51,185.29,189.56,
-191.05,191.41,192.94,187.25,192.25,194.85,194.38,196.01,198.65,196.71,
-199.57,200.14,201.77,202.23,201.53,206.02,204.87,208.92,205.26,207.79,
-206.67,210.07,212.40,209.14,209.73,210.52,213.72,213.79,217.04,216.26,
-216.32,215.90,222.04,220.60,221.92,220.02,222.42,221.26,225.21,227.33,
-228.89,227.69,222.71,228.00,231.78,232.79,232.90,233.69,228.95,231.79,
-239.53,232.26,238.50,235.46,239.21,238.07,240.20,242.54,242.28,242.54,
-242.48,244.84,246.91,246.73,246.42,246.71,248.96,251.57,249.65,252.49,
-252.14,248.31,252.19,258.32,258.05,258.05,255.15,259.97,259.47,261.65,
-259.70,264.38,267.09,265.18,263.06,265.95,266.64,269.89,269.67,271.05,
-7.38,8.08,9.38,9.27,10.52,11.23,12.65,13.09,13.32,14.59,
-15.33,14.99,15.67,18.54,18.88,19.31,19.02,18.99,20.69,21.98,
-22.65,23.48,22.71,25.52,26.01,26.76,26.56,27.88,27.14,28.96,
-29.39,30.16,31.73,32.80,32.96,31.69,33.04,33.97,34.76,36.41,
-36.89,36.94,38.29,39.27,39.13,41.26,40.75,40.64,43.20,42.15,
-44.23,45.50,45.41,45.36,48.46,48.14,48.72,48.36,49.42,50.55,
-49.66,52.73,52.28,52.95,54.92,55.20,56.58,57.60,56.99,57.14,
-58.65,59.15,61.28,62.08,61.61,63.14,62.86,64.85,63.89,65.19,
-65.94,68.66,67.62,68.01,67.61,71.09,70.25,72.60,73.82,71.68,
-74.48,72.85,74.16,75.39,74.87,77.21,76.47,77.44,80.30,78.38,
-78.39,81.64,81.17,80.25,83.10,81.75,84.31,86.02,85.73,87.91,
-89.44,88.26,91.38,88.85,92.25,91.90,91.58,93.66,92.70,95.57,
-96.57,96.41,97.17,97.27,98.88,98.37,97.30,100.93,101.22,103.02,
-103.91,103.99,104.18,106.08,105.42,105.49,105.28,108.94,108.69,108.97,
-108.93,113.26,112.89,111.53,113.31,110.32,115.89,117.37,114.51,118.00,
-118.81,119.15,118.47,119.60,119.74,123.83,120.68,122.54,126.08,123.53,
-128.05,125.79,123.97,126.98,128.38,128.46,127.09,131.13,131.69,130.87,
-131.53,129.29,132.66,133.62,132.26,135.41,138.35,136.96,139.19,141.26,
-143.20,139.25,139.04,142.53,141.94,145.81,142.37,143.54,146.33,146.42,
-145.39,150.09,148.43,148.87,149.73,153.16,151.21,150.28,150.94,156.33,
-155.16,156.00,155.83,156.93,158.59,158.48,157.25,159.73,163.90,161.57,
-161.74,162.48,164.12,161.90,164.76,164.34,164.57,166.22,171.04,167.19,
-170.12,168.10,170.49,172.94,173.20,172.82,173.80,176.98,172.41,174.13,
-175.82,180.13,181.56,179.39,181.71,176.61,180.16,180.98,182.34,179.23,
-184.76,180.87,183.70,184.58,188.08,190.68,186.53,187.86,193.16,184.64,
-186.15,192.60,193.11,193.14,195.96,197.03,195.66,195.51,194.75,193.39,
-198.58,196.27,200.87,199.22,203.48,201.18,200.89,204.59,204.26,202.39,
-202.14,207.55,203.86,207.74,207.68,206.13,211.54,210.50,211.39,210.82,
-215.22,213.02,212.55,211.24,211.40,218.90,218.23,220.03,217.50,218.37,
-6.20,6.90,7.56,8.50,8.76,10.04,9.60,9.79,10.90,12.29,
-13.07,12.98,13.46,14.03,14.84,14.82,15.01,16.69,16.34,17.05,
-17.57,17.54,18.88,19.75,21.31,22.36,21.02,22.93,23.03,24.15,
-22.82,24.03,26.64,26.03,25.01,26.43,26.35,27.66,29.01,29.89,
-29.48,30.65,30.98,32.10,31.65,34.18,32.53,34.07,34.73,33.95,
-35.07,35.20,37.33,40.02,40.35,38.16,39.48,40.98,39.74,40.07,
-42.42,42.12,42.32,42.83,44.81,44.65,45.87,46.88,47.19,48.09,
-47.34,47.22,47.47,48.52,50.65,48.68,50.60,50.08,52.60,51.58,
-53.01,53.60,52.24,57.13,56.02,56.05,55.56,58.28,57.00,60.29,
-60.40,59.10,60.17,59.88,63.44,63.72,63.67,62.12,62.05,63.88,
-65.28,66.14,66.06,68.67,67.28,66.29,70.91,70.28,68.71,70.29,
-70.64,72.39,69.98,73.08,72.31,75.25,76.02,76.29,75.86,77.10,
-77.89,77.11,78.87,79.94,79.03,80.55,80.03,80.88,81.41,82.80,
-84.60,82.85,85.69,85.17,87.53,86.02,86.43,88.48,89.39,89.70,
-89.02,89.90,89.17,92.63,92.37,91.08,91.46,92.58,93.95,95.79,
-97.76,97.48,97.58,97.74,97.01,95.75,96.82,99.14,98.44,102.86,
-101.02,98.63,101.65,102.29,102.77,105.99,104.95,106.19,107.40,105.79,
-106.03,108.74,111.08,109.04,112.06,106.53,109.84,110.75,111.18,113.55,
-112.45,115.17,115.52,115.25,112.34,114.70,117.13,119.69,116.45,115.43,
-119.00,121.37,120.93,119.70,119.28,121.53,121.26,124.64,124.13,124.16,
-125.85,123.66,126.09,126.31,127.68,127.52,131.12,127.87,127.74,129.02,
-128.70,132.00,129.52,132.01,135.39,131.16,133.40,132.76,133.52,137.78,
-135.04,139.33,140.75,134.94,139.00,141.89,138.27,140.97,140.88,141.74,
-143.07,146.87,142.58,142.53,144.55,144.25,147.53,149.04,147.15,151.19,
-151.73,147.61,152.29,150.26,150.85,151.54,150.77,151.64,152.97,154.58,
-151.43,154.03,156.94,155.81,156.46,157.11,157.48,159.27,159.87,156.94,
-160.86,159.30,161.76,161.28,164.31,161.40,162.11,168.09,167.40,166.00,
-162.67,168.94,166.88,167.35,172.30,170.88,174.32,170.85,171.24,170.66,
-171.59,174.18,172.47,174.07,176.15,174.77,176.21,179.09,177.22,176.61,
-4.76,4.95,5.46,5.80,6.70,7.22,7.83,8.32,8.15,9.81,
-9.85,10.60,10.72,11.35,11.56,12.61,13.01,13.88,13.86,13.93,
-14.37,15.43,15.38,15.76,17.16,16.18,17.80,17.44,18.93,18.02,
-21.06,20.11,20.76,20.93,22.29,21.84,22.53,22.98,24.12,24.17,
-23.69,24.92,25.14,25.93,26.34,25.99,27.18,28.09,27.83,29.18,
-27.97,30.41,30.29,29.63,29.30,30.70,32.34,29.84,33.21,32.26,
-33.00,33.90,33.65,34.28,35.52,35.82,35.25,37.72,38.34,38.07,
-38.15,37.25,40.09,39.20,40.72,41.59,41.85,41.03,42.47,42.78,
-44.00,43.43,43.52,44.98,45.88,45.42,45.70,46.56,48.16,46.94,
-48.26,48.17,49.16,49.45,49.58,50.26,51.29,51.09,54.21,52.95,
-53.62,53.82,55.03,55.52,54.07,54.93,56.88,56.71,55.95,56.67,
-57.19,57.01,58.34,58.94,59.73,60.62,58.63,60.18,60.95,60.21,
-61.43,64.18,63.90,62.02,64.91,63.53,63.85,64.86,63.46,66.22,
-66.86,67.99,67.13,68.75,67.75,69.08,70.28,71.48,71.38,70.06,
-71.72,72.16,74.03,73.51,76.24,74.83,74.26,75.41,76.18,74.86,
-78.08,75.93,75.82,78.28,79.56,80.10,80.90,82.67,79.72,83.51,
-80.84,82.38,83.93,82.99,85.27,82.32,84.36,85.50,85.31,88.17,
-86.01,87.63,85.02,87.94,88.69,88.90,89.44,90.46,90.61,92.68,
-90.46,90.18,92.15,92.14,92.24,96.42,93.85,94.39,96.60,95.07,
-94.56,96.21,96.03,96.13,98.39,99.69,98.44,97.47,101.50,101.07,
-99.71,101.76,102.00,102.32,103.22,100.83,104.70,103.89,105.98,104.91,
-104.06,105.09,107.20,107.90,104.40,107.02,108.28,109.27,109.77,109.04,
-110.86,111.31,112.36,113.89,114.67,112.88,114.86,116.21,112.72,114.01,
-115.81,116.29,116.08,116.38,116.41,116.99,118.68,118.60,120.06,116.05,
-123.75,119.90,119.30,118.80,119.77,121.65,122.49,123.44,125.75,124.16,
-124.12,127.60,125.84,126.94,128.10,124.86,129.24,129.95,130.48,128.67,
-129.09,129.36,131.61,131.93,130.21,130.29,130.66,133.89,135.63,133.40,
-131.63,130.44,133.34,131.11,134.34,141.00,136.39,135.45,141.32,135.18,
-139.78,140.94,138.32,141.71,141.90,142.41,139.96,143.84,142.30,143.01,
-3.50,4.86,4.76,5.49,5.43,5.76,6.39,6.32,7.05,7.80,
-7.63,7.92,8.20,9.03,10.07,10.01,10.57,10.48,10.50,11.18,
-12.31,12.37,12.54,12.46,12.89,12.48,13.15,14.60,14.71,14.21,
-14.47,15.86,16.19,16.12,16.21,17.91,18.44,18.75,19.21,18.57,
-19.71,20.16,21.31,21.02,21.62,21.80,21.12,20.96,22.99,21.42,
-24.07,22.92,24.75,24.66,24.76,24.60,24.11,25.40,26.73,27.95,
-25.00,27.18,27.00,29.66,29.36,29.17,29.71,30.14,30.25,31.14,
-30.36,31.56,31.96,31.94,32.19,32.71,33.80,33.91,33.58,35.72,
-33.27,35.99,34.09,36.40,36.71,36.41,34.79,38.20,36.78,38.58,
-38.57,39.07,36.25,39.76,41.32,39.12,41.71,41.15,39.68,40.30,
-41.71,43.45,42.45,43.05,44.87,43.51,44.87,44.86,45.82,46.58,
-45.58,46.72,48.27,47.04,48.17,48.27,48.28,49.41,51.35,50.77,
-49.95,51.47,50.94,51.25,52.27,52.27,51.42,53.23,52.85,53.09,
-53.86,54.60,56.18,55.40,55.45,57.06,55.81,59.39,56.75,58.32,
-57.27,60.25,59.33,58.43,61.00,60.59,61.78,58.64,62.70,60.30,
-61.01,61.16,63.60,61.67,64.77,61.48,64.52,64.54,66.10,65.00,
-66.10,65.28,66.27,65.91,68.92,68.66,66.44,66.87,70.40,67.01,
-69.72,72.13,67.39,71.43,71.35,71.68,71.63,69.48,74.71,75.25,
-72.44,72.02,73.23,74.23,71.89,75.09,75.92,75.93,77.43,75.28,
-76.55,77.96,77.68,78.71,80.15,76.92,80.05,81.41,81.46,81.03,
-83.04,82.20,83.04,82.93,80.93,85.35,84.00,84.28,83.89,83.55,
-84.45,87.97,84.52,84.11,83.61,87.88,87.28,85.04,87.92,90.45,
-90.01,90.50,91.68,89.45,90.06,90.34,92.51,89.38,91.00,90.42,
-93.90,93.93,94.43,92.31,95.34,95.38,96.59,93.98,93.44,97.39,
-95.86,97.84,97.35,95.68,99.50,97.71,96.87,98.87,98.37,100.82,
-100.76,98.21,103.51,101.51,101.53,98.82,102.11,102.27,103.08,105.34,
-105.48,101.51,107.66,105.27,107.25,105.83,106.63,106.49,106.17,105.82,
-105.78,106.83,108.66,106.90,109.26,109.62,111.36,112.15,112.00,111.12,
-111.30,113.65,113.95,113.32,114.78,113.50,111.33,114.28,115.66,114.35,
-3.17,3.63,3.73,4.23,4.60,4.99,5.15,5.62,6.13,6.60,
-6.60,6.51,7.29,7.80,7.61,7.46,8.79,9.05,8.44,8.93,
-9.37,9.57,10.16,10.42,11.04,10.88,11.76,12.38,12.72,12.39,
-12.08,11.71,13.30,12.80,12.86,15.20,13.67,15.08,14.50,15.13,
-14.89,16.39,16.69,16.26,16.93,18.12,17.05,17.00,17.05,19.07,
-18.22,20.64,18.51,19.77,18.51,20.40,20.76,20.71,21.08,20.76,
-22.80,23.31,22.40,23.04,22.62,23.07,24.43,24.96,24.58,24.10,
-25.26,25.66,27.55,25.38,25.79,26.51,25.90,27.19,26.31,27.74,
-28.29,29.27,28.32,29.14,28.08,29.87,30.10,29.83,31.61,31.29,
-30.00,30.18,30.87,31.60,33.22,31.90,33.14,35.19,34.30,33.67,
-34.77,35.52,35.28,35.55,35.79,35.44,37.67,36.46,37.89,37.02,
-37.32,36.67,38.28,37.79,37.81,38.88,39.05,42.11,40.59,39.72,
-39.36,40.63,42.09,41.70,41.28,42.25,42.70,40.73,43.20,42.12,
-43.60,42.30,46.29,45.60,44.84,44.62,45.81,46.93,44.64,46.10,
-47.85,47.41,48.61,49.87,48.90,47.46,49.45,46.61,48.67,48.78,
-49.60,48.20,50.88,48.55,52.72,49.56,50.73,50.74,52.99,53.16,
-53.11,53.34,53.95,51.32,53.28,54.73,54.13,56.26,55.91,55.86,
-54.40,57.11,57.38,57.00,57.26,57.95,55.98,58.51,57.73,59.02,
-57.44,61.80,57.85,60.54,59.38,60.66,62.54,63.36,62.09,64.11,
-61.99,62.77,62.62,61.64,61.97,64.08,63.95,66.91,63.71,63.23,
-66.08,66.39,66.11,65.70,66.80,67.33,67.04,66.94,68.40,67.28,
-68.69,69.03,69.34,67.52,68.78,69.98,69.52,70.66,69.16,72.04,
-69.92,72.97,71.61,73.05,73.43,74.42,74.36,73.37,76.19,74.84,
-75.44,75.45,74.50,77.21,75.68,76.76,78.32,78.23,78.30,75.42,
-76.84,76.75,78.55,77.66,80.62,80.06,79.49,80.45,77.84,81.47,
-80.92,79.90,83.04,80.52,80.29,81.22,82.65,83.56,84.68,81.93,
-83.95,82.97,83.74,82.95,86.65,86.62,85.44,87.47,84.73,86.74,
-87.22,86.16,88.95,90.26,88.77,89.17,90.25,89.59,86.58,89.73,
-91.82,90.22,91.87,91.70,91.41,92.19,91.90,93.75,93.06,91.51,
-3.08,2.59,3.14,3.12,3.65,4.23,4.11,4.33,4.50,5.21,
-5.07,5.13,5.96,6.54,6.09,6.07,6.22,7.16,7.23,7.83,
-6.60,7.52,8.45,7.74,9.40,8.97,8.81,9.50,10.29,9.68,
-9.60,10.10,11.08,10.21,10.95,11.38,11.37,11.50,11.30,12.54,
-12.36,12.18,13.55,13.20,13.69,13.04,15.02,14.63,15.15,14.49,
-14.97,15.88,15.49,16.28,15.78,16.74,16.57,17.22,16.52,17.01,
-18.68,18.28,18.48,18.56,18.60,18.97,18.57,18.61,18.59,19.54,
-19.23,21.73,20.83,19.85,20.99,22.03,21.46,22.83,21.19,21.90,
-22.46,22.03,23.96,22.59,24.65,25.21,22.62,24.83,24.75,24.70,
-24.37,24.86,26.39,24.86,26.78,27.51,26.02,26.54,27.74,28.22,
-27.46,28.39,27.19,27.18,27.59,29.52,30.11,29.23,29.24,29.39,
-29.75,29.53,29.85,31.43,31.00,31.67,32.44,31.49,31.94,32.52,
-30.37,32.34,33.65,33.28,34.72,33.77,33.70,34.81,34.29,36.34,
-33.63,36.47,35.04,34.15,36.75,35.83,36.30,35.79,35.18,38.29,
-38.51,37.55,38.01,37.57,38.60,40.59,39.82,40.35,40.13,36.62,
-38.62,40.95,38.16,41.05,42.44,41.46,40.94,40.42,43.71,42.77,
-42.40,43.29,42.80,41.70,43.89,42.12,43.20,45.24,46.10,43.72,
-45.65,44.65,44.99,44.66,45.19,47.10,45.92,46.29,45.47,46.35,
-48.11,47.98,47.70,47.31,47.82,49.19,49.05,50.14,50.29,47.86,
-48.52,50.38,50.42,53.10,49.39,51.53,52.41,51.66,51.02,52.20,
-52.41,53.45,53.91,52.94,51.94,51.01,55.34,54.68,55.78,53.57,
-55.40,57.53,54.92,56.14,57.70,57.47,58.07,57.34,57.53,56.94,
-58.63,58.97,58.79,56.93,59.86,59.80,58.93,60.46,60.42,60.10,
-58.12,60.72,59.72,59.04,61.90,61.20,62.91,61.67,63.09,63.02,
-62.57,64.07,62.38,64.10,62.10,63.54,63.86,64.51,65.15,63.42,
-64.98,65.86,66.05,66.51,67.78,66.61,65.14,67.55,67.93,66.63,
-68.67,68.49,66.61,66.12,69.56,68.18,68.73,71.12,69.17,69.65,
-69.72,69.51,70.98,69.02,72.45,69.70,71.10,74.26,69.33,75.46,
-74.15,72.68,73.44,73.20,74.03,73.97,72.38,75.44,74.12,74.84,
-1.95,2.07,2.08,2.67,2.39,2.93,3.69,3.36,3.78,3.47,
-4.34,4.48,4.85,4.56,5.40,4.89,5.73,5.88,5.86,5.70,
-6.16,5.95,6.51,7.20,7.28,6.47,7.82,7.70,7.46,6.91,
-8.36,8.33,7.75,8.77,10.13,9.50,8.41,9.47,9.82,9.51,
-10.39,9.88,10.45,9.57,10.43,10.63,11.71,11.69,11.50,12.28,
-11.38,12.02,12.93,13.03,11.61,12.90,13.78,13.18,13.87,14.00,
-14.28,14.40,13.65,14.41,13.91,14.87,13.76,14.01,15.72,15.18,
-15.65,15.91,17.48,15.78,16.51,17.41,17.12,18.70,18.34,17.35,
-18.85,18.79,17.57,18.58,18.70,18.21,18.86,19.32,20.58,19.85,
-20.04,20.19,20.18,21.34,21.13,20.84,22.82,21.15,21.24,21.37,
-23.21,22.34,21.57,22.52,22.87,23.34,24.11,23.86,23.87,24.36,
-24.60,24.31,24.20,26.09,25.97,25.75,25.94,25.40,25.81,25.92,
-25.83,27.21,26.53,26.80,26.85,27.57,25.46,29.45,27.23,27.89,
-28.56,29.18,28.46,29.07,30.54,29.58,28.44,29.56,28.64,30.44,
-31.67,29.62,29.67,31.25,31.98,31.25,32.36,32.67,31.72,30.02,
-31.63,32.08,32.25,33.49,32.95,33.31,33.77,33.55,33.88,33.17,
-36.01,34.30,35.68,35.05,35.87,34.17,34.90,35.56,37.87,37.38,
-35.85,35.88,37.90,38.61,37.59,36.61,37.59,36.05,37.44,38.10,
-38.17,37.74,38.68,39.38,38.48,38.28,41.04,40.93,39.63,38.04,
-43.40,41.15,41.66,41.63,41.39,40.98,41.79,40.76,41.96,41.17,
-42.31,43.67,42.58,41.56,42.66,42.94,43.77,44.99,44.02,45.05,
-44.31,42.76,45.33,45.64,46.33,45.11,45.10,47.79,46.29,44.48,
-44.72,46.21,45.88,47.12,48.06,48.25,46.79,48.13,48.89,46.80,
-47.81,48.76,47.50,48.36,48.60,48.53,50.54,47.52,49.47,49.36,
-49.00,50.33,51.38,50.27,47.82,49.50,50.18,49.69,51.96,51.02,
-52.12,52.36,53.10,52.69,53.12,56.63,53.27,52.79,52.24,56.19,
-52.95,55.06,54.09,55.87,55.50,54.39,56.15,53.61,57.89,55.80,
-56.29,56.78,58.20,57.61,56.65,56.47,57.21,56.48,58.39,56.86,
-58.63,60.70,59.26,58.39,60.95,59.74,59.84,60.72,58.02,60.30,
-1.61,1.96,2.14,2.05,2.08,2.33,2.27,2.27,2.62,3.22,
-3.03,3.76,3.15,3.71,3.87,4.63,3.72,4.65,5.09,4.47,
-4.88,5.14,5.34,5.31,5.41,5.88,5.24,5.96,5.86,5.88,
-5.66,6.54,7.00,7.39,7.16,6.83,7.40,7.43,7.69,7.67,
-8.11,8.53,8.12,8.84,8.43,9.36,9.23,8.63,9.71,9.41,
-9.78,9.61,10.06,10.32,10.62,10.79,10.84,10.99,10.28,11.24,
-11.75,12.39,12.36,11.37,12.33,12.46,12.07,12.43,11.71,13.23,
-12.43,13.13,13.98,13.19,13.27,13.14,14.22,14.73,13.81,14.45,
-13.88,14.36,14.14,15.84,15.33,15.18,14.74,16.25,15.58,16.88,
-16.32,16.23,15.90,17.58,16.67,16.93,17.06,17.68,16.93,18.37,
-17.48,17.50,18.69,18.43,17.60,18.05,18.34,18.60,18.75,20.48,
-19.66,19.21,19.23,18.76,19.52,21.18,21.42,22.19,21.38,21.06,
-21.43,19.99,20.33,20.19,19.91,20.49,22.02,23.27,20.87,21.62,
-21.95,22.05,22.20,23.46,22.80,23.84,23.20,23.18,24.72,25.24,
-24.47,23.87,24.21,23.73,24.21,25.06,25.64,26.60,26.84,24.45,
-26.77,27.59,26.68,27.05,26.58,26.21,25.07,26.44,27.09,28.00,
-26.58,27.94,27.64,27.69,26.95,29.12,30.05,28.83,28.11,29.10,
-27.65,28.93,28.93,29.13,29.76,29.63,29.51,29.88,31.57,28.62,
-30.46,30.42,30.81,29.43,30.93,30.26,31.56,31.24,31.09,31.77,
-31.79,33.74,33.01,31.46,33.09,30.96,32.44,33.76,34.17,34.08,
-35.60,34.95,34.38,33.71,33.33,33.41,35.45,34.06,33.54,33.77,
-31.72,35.28,37.15,36.36,33.67,34.59,36.04,38.50,37.28,36.30,
-36.59,38.84,36.74,37.74,36.40,37.05,36.53,37.40,36.90,38.89,
-38.73,38.18,41.01,39.87,38.85,39.99,39.02,39.27,39.28,39.28,
-40.31,39.52,38.86,39.37,40.22,40.82,41.61,40.90,41.13,40.73,
-40.43,41.04,43.35,42.58,42.85,43.43,41.98,44.24,41.41,42.38,
-40.81,43.92,41.74,45.12,44.51,44.90,43.22,44.40,44.02,43.77,
-42.49,43.68,44.38,45.28,42.94,45.72,43.67,45.96,44.58,44.67,
-46.07,46.43,47.55,46.78,46.33,47.65,46.73,46.81,47.59,46.90,
-1.25,1.72,1.76,1.78,1.91,1.67,2.20,2.09,2.34,2.51,
-2.36,2.59,2.85,2.83,3.32,3.17,2.98,3.78,3.82,3.36,
-3.36,3.81,4.53,4.39,4.14,4.02,4.46,5.16,5.18,4.42,
-4.68,4.78,5.61,5.42,5.58,5.90,6.52,5.78,6.19,6.02,
-6.49,6.54,7.13,7.55,7.01,7.52,6.72,7.79,8.21,7.91,
-7.80,7.53,8.26,7.70,7.21,8.47,7.75,7.63,9.11,9.23,
-8.81,9.58,9.72,8.86,10.00,10.31,10.32,9.77,10.67,10.07,
-10.57,9.47,10.70,10.40,10.88,10.71,10.56,11.62,10.97,11.84,
-11.20,11.22,12.12,11.21,11.85,11.95,12.62,12.26,12.81,13.58,
-12.19,13.65,14.24,13.55,13.71,13.26,13.46,13.73,14.44,14.46,
-14.70,14.23,15.32,14.82,15.68,15.09,15.55,15.32,14.90,14.34,
-15.17,15.39,16.28,16.14,16.17,16.57,17.00,17.00,17.23,16.93,
-17.57,16.32,17.47,16.49,16.86,17.66,17.15,17.38,17.61,19.33,
-17.66,17.48,17.07,18.53,17.24,18.92,19.66,19.20,18.86,19.49,
-19.51,17.76,20.11,18.97,19.57,20.04,19.94,19.92,21.06,19.93,
-20.93,21.57,20.75,20.74,20.25,21.31,21.49,20.77,22.77,21.52,
-20.93,21.68,22.40,22.53,23.70,23.36,22.01,22.18,22.96,23.34,
-22.22,21.72,24.15,23.13,22.61,23.65,23.32,24.22,24.87,24.51,
-22.46,24.04,24.75,24.64,25.12,25.55,26.05,25.70,25.74,26.03,
-24.73,25.02,25.02,25.78,26.64,26.95,27.39,25.20,25.58,28.15,
-27.97,27.01,27.21,25.42,27.72,27.24,26.35,27.71,28.29,28.54,
-28.11,28.39,31.02,29.47,30.19,30.16,28.07,29.45,29.73,27.68,
-27.72,29.99,29.90,30.59,31.43,30.39,28.35,31.23,31.98,30.77,
-29.70,31.02,30.98,30.21,31.61,30.84,31.83,30.40,32.45,30.01,
-30.52,30.64,33.30,32.62,32.98,32.41,34.35,32.39,34.50,33.14,
-33.93,31.56,33.16,32.37,32.57,34.30,33.12,33.38,33.62,33.40,
-33.32,34.18,33.65,35.46,36.00,35.33,35.19,36.97,35.42,35.57,
-35.23,34.73,36.52,36.70,35.70,34.95,36.67,35.68,37.10,37.11,
-36.27,37.81,35.75,36.20,38.76,37.02,38.29,36.81,37.86,40.76,
-27.43,30.86,34.36,35.87,37.47,41.12,43.45,46.08,48.55,52.13,
-54.75,57.03,60.37,63.15,66.23,69.02,70.07,73.45,78.36,78.50,
-81.80,85.25,87.29,91.54,93.43,94.83,96.34,99.87,104.09,105.94,
-109.39,111.35,113.46,118.38,120.48,123.06,124.62,128.26,129.95,131.54,
-136.15,137.27,141.55,144.45,147.86,148.85,152.98,154.96,159.26,161.06,
-163.56,166.07,166.31,171.63,174.75,176.28,178.93,178.46,183.33,186.49,
-193.16,190.35,195.38,198.80,203.78,202.62,205.63,206.89,213.42,212.80,
-215.42,222.59,222.99,225.93,226.46,230.79,232.04,237.35,239.38,241.07,
-244.93,247.09,247.03,250.89,252.02,258.29,259.05,263.92,265.29,267.60,
-269.79,273.84,276.37,281.46,279.58,282.88,286.39,288.62,292.91,294.38,
-298.68,298.75,304.92,306.53,311.20,310.70,316.05,320.53,319.18,322.56,
-325.94,328.23,331.00,330.98,332.75,337.47,341.58,344.00,346.92,347.34,
-349.71,351.95,358.14,360.39,358.16,362.51,367.90,368.05,371.79,377.07,
-378.42,379.63,383.37,385.11,390.60,389.76,394.63,398.02,402.01,401.05,
-404.31,407.21,412.40,414.52,414.28,417.60,421.64,422.11,425.40,429.76,
-432.04,432.77,438.64,435.98,441.34,447.77,447.91,450.79,454.62,457.44,
-461.16,461.65,461.14,461.59,469.27,477.53,474.93,480.39,477.24,481.60,
-488.70,489.09,491.66,494.81,498.01,500.00,499.86,506.64,504.41,513.94,
-509.59,514.69,517.70,521.67,520.16,523.69,530.24,530.70,536.48,534.70,
-539.01,545.84,543.14,545.63,552.08,549.05,558.68,559.97,562.95,563.92,
-568.36,566.14,572.73,575.94,578.37,581.72,584.80,586.43,583.87,588.63,
-595.21,594.76,596.60,601.22,607.31,609.46,605.21,616.78,618.37,618.32,
-621.56,622.25,627.04,629.41,632.88,634.36,639.80,637.65,642.53,648.60,
-647.84,647.36,653.85,657.43,657.99,659.45,658.74,661.09,669.91,674.52,
-672.57,676.06,679.49,685.24,689.51,684.14,693.66,695.47,697.45,696.57,
-701.20,700.06,710.86,707.29,711.88,714.54,713.93,719.19,726.26,727.34,
-730.25,729.62,732.22,734.89,738.26,736.88,749.42,748.63,747.71,751.66,
-755.17,755.60,760.85,757.77,764.90,768.32,774.41,777.68,777.50,777.18,
-783.01,783.98,787.33,787.28,796.73,799.53,799.34,800.58,797.97,805.72,
-23.37,25.55,27.55,29.37,32.11,33.93,36.69,40.01,41.50,42.74,
-46.11,48.67,51.00,53.54,54.99,56.83,59.05,61.58,64.85,65.95,
-67.78,70.58,72.31,76.36,76.74,79.70,82.22,83.49,85.90,90.85,
-91.49,93.21,97.31,99.84,100.18,103.02,104.63,107.16,107.40,111.48,
-112.97,114.94,121.51,120.28,123.45,124.56,127.94,128.74,131.13,134.60,
-134.29,137.19,141.40,142.42,146.42,146.21,149.89,151.71,155.31,156.64,
-158.09,161.11,162.46,163.76,166.56,171.59,173.81,176.61,174.99,178.90,
-181.96,183.22,188.58,190.12,194.04,194.11,193.53,198.92,198.95,201.13,
-203.42,205.79,208.26,211.23,209.82,215.49,220.15,220.32,222.41,225.19,
-226.86,228.69,232.27,233.05,234.46,239.05,241.21,243.14,242.88,245.01,
-246.83,249.14,253.59,256.56,260.30,261.69,260.25,261.69,267.48,268.88,
-274.75,272.59,275.51,277.47,280.06,281.32,282.36,290.34,293.76,289.47,
-293.04,292.57,296.07,300.91,304.44,307.84,308.66,309.89,310.02,313.90,
-317.29,320.74,321.28,325.57,328.10,330.16,330.53,333.33,337.08,338.94,
-339.22,344.04,342.69,345.44,347.10,348.48,355.38,352.26,356.44,360.59,
-364.78,365.37,368.46,370.12,368.84,373.42,378.00,382.62,382.96,384.00,
-381.32,391.62,391.57,384.88,393.60,396.62,396.73,401.18,400.58,404.57,
-406.61,408.16,410.32,416.69,415.71,415.01,420.27,423.90,425.69,428.93,
-429.21,432.22,435.03,435.67,443.05,440.00,444.33,443.17,446.51,445.44,
-453.95,455.10,456.70,457.25,462.85,460.80,468.75,467.43,474.56,475.50,
-475.77,479.40,480.93,483.48,485.00,488.04,489.86,494.95,491.39,497.08,
-498.91,500.09,502.82,501.59,508.85,506.20,513.23,512.22,511.74,515.75,
-522.86,523.56,523.41,524.98,530.44,530.79,535.42,538.74,535.17,540.18,
-546.60,547.44,549.65,550.16,549.19,547.81,554.84,560.94,561.11,562.54,
-569.23,567.39,568.05,571.30,572.79,575.55,583.98,587.05,585.73,588.74,
-590.48,591.80,595.68,593.42,598.88,601.52,601.35,605.89,604.49,606.02,
-615.42,616.10,611.10,621.60,621.40,619.60,625.47,625.22,628.15,632.32,
-635.10,635.44,637.39,636.78,642.51,647.08,641.28,648.70,649.92,651.91,
-659.34,661.23,657.03,662.04,666.58,663.86,671.96,670.74,673.37,670.70,
-19.66,20.96,23.90,25.82,27.94,29.68,30.26,32.52,34.02,36.83,
-38.36,40.88,42.89,43.82,45.76,48.66,50.08,50.48,55.20,55.13,
-57.13,57.88,60.30,62.29,63.99,65.44,69.44,70.08,72.94,72.36,
-76.90,77.16,79.86,82.83,83.84,84.07,87.72,88.66,91.90,92.63,
-93.97,95.03,99.87,99.82,102.40,106.49,107.01,108.69,109.11,113.32,
-114.52,114.05,118.15,119.59,120.39,122.23,123.76,124.79,127.20,131.73,
-133.41,132.66,134.53,137.12,140.27,140.69,142.64,147.49,147.68,149.47,
-153.35,152.74,155.41,155.19,159.61,160.93,163.05,167.97,165.28,170.50,
-171.62,171.68,172.90,174.20,176.33,181.36,179.21,185.16,185.32,188.83,
-189.26,191.21,191.68,193.69,195.82,197.44,199.32,201.50,202.98,204.94,
-208.16,208.39,212.06,213.37,212.55,219.01,219.75,219.24,223.18,224.63,
-226.72,229.42,229.97,230.19,237.63,238.65,238.35,242.88,242.52,242.10,
-243.69,249.26,249.60,250.03,254.42,254.61,256.24,259.55,257.60,262.78,
-264.41,265.71,266.64,269.86,272.60,270.30,275.33,278.01,280.40,281.72,
-279.81,284.47,286.23,288.09,288.83,293.28,296.06,295.58,297.74,298.94,
-303.49,302.36,304.67,308.24,306.74,313.04,310.26,315.09,319.69,316.27,
-319.61,322.48,324.85,327.14,330.52,331.52,332.92,332.09,336.72,340.21,
-337.86,342.69,345.14,345.21,347.02,354.78,348.58,353.48,355.21,356.41,
-357.31,356.69,363.47,367.10,366.21,365.06,371.20,374.03,372.55,373.09,
-377.19,379.62,377.60,382.98,383.98,387.60,390.21,389.06,393.50,398.51,
-394.88,397.89,398.39,405.53,402.11,409.65,410.93,408.98,409.89,413.15,
-413.15,417.45,417.70,422.03,422.65,426.56,425.05,427.42,432.75,432.97,
-438.66,434.69,437.90,438.87,443.56,444.59,440.83,450.22,448.16,452.64,
-453.91,452.79,454.35,456.09,459.79,462.90,465.00,466.88,468.95,476.99,
-467.49,476.05,477.19,478.77,478.69,479.67,481.11,485.68,485.26,490.51,
-490.76,490.99,491.45,495.31,500.68,502.67,500.38,503.77,507.29,509.21,
-505.01,508.78,507.94,513.67,516.85,519.54,521.03,522.66,522.82,528.04,
-526.63,531.18,530.41,531.81,535.08,535.25,538.28,540.42,547.09,543.37,
-549.85,548.68,553.78,554.74,551.97,557.18,560.57,558.84,560.90,563.34,
-15.65,17.43,19.45,20.86,22.65,24.64,25.07,27.20,28.13,30.13,
-31.64,33.11,34.34,36.25,37.38,39.69,40.16,44.03,44.76,45.28,
-46.95,49.35,50.96,51.27,52.56,53.93,55.80,58.58,58.26,61.06,
-63.63,64.13,63.84,68.53,70.34,69.55,72.43,73.05,74.44,78.57,
-78.88,79.84,80.74,83.07,85.03,86.36,89.55,90.28,93.38,91.51,
-94.74,93.76,98.49,97.53,100.29,102.47,103.88,104.36,106.88,110.21,
-108.72,112.37,112.57,114.83,117.30,116.46,119.33,122.60,120.81,124.84,
-124.81,127.55,130.30,130.01,129.50,132.70,136.46,136.89,138.60,139.40,
-139.41,140.97,146.00,145.30,149.19,147.72,151.73,153.90,152.82,154.65,
-157.24,157.34,159.15,157.49,162.95,165.53,166.93,168.80,171.48,169.55,
-171.24,175.42,174.44,174.99,178.29,184.48,182.18,186.51,187.38,187.57,
-189.21,188.16,190.04,192.79,195.30,196.82,196.32,201.12,201.05,200.99,
-203.78,206.44,210.59,208.78,211.01,209.54,212.54,215.42,216.76,215.82,
-222.37,219.32,221.86,224.98,226.14,225.90,227.57,231.93,230.99,234.35,
-234.16,236.66,239.49,240.63,243.05,241.18,243.59,245.97,248.10,248.39,
-250.91,252.43,253.35,254.16,256.19,259.47,262.89,259.08,262.67,263.77,
-268.03,267.18,270.87,269.70,270.85,271.87,276.09,276.70,280.22,279.13,
-281.66,283.40,286.29,285.68,288.94,291.62,289.53,293.97,295.69,294.57,
-296.46,300.74,302.40,302.95,304.56,305.96,302.72,306.77,311.15,312.34,
-312.15,311.71,312.83,319.28,319.41,323.71,322.60,325.19,324.01,330.31,
-329.74,330.42,332.93,335.51,335.64,334.28,339.21,340.30,340.63,344.76,
-341.71,346.54,349.78,348.89,347.60,353.56,355.02,359.13,360.01,362.73,
-357.96,365.73,365.11,367.64,363.96,367.32,367.41,372.16,374.24,376.08,
-376.49,375.18,381.61,375.41,381.40,381.82,385.23,383.15,391.12,390.14,
-383.76,394.44,394.88,393.65,397.88,402.13,401.80,401.40,401.04,406.91,
-405.57,406.56,409.87,411.28,409.61,409.70,420.52,416.76,420.68,419.94,
-420.26,424.64,427.33,428.25,429.71,428.29,433.94,436.57,431.88,436.45,
-437.83,439.05,447.68,443.43,440.62,448.85,446.65,448.87,453.47,452.28,
-452.06,456.01,456.22,460.32,454.73,462.29,466.46,466.14,464.27,465.16,
-13.05,14.98,16.30,17.36,18.65,20.33,20.95,22.00,23.30,24.73,
-26.12,27.99,28.73,30.65,31.13,33.02,34.22,34.76,37.08,37.85,
-38.89,39.49,42.69,43.01,44.51,45.29,46.21,48.84,51.76,49.02,
-52.39,53.91,54.40,57.66,57.97,58.62,58.93,60.78,61.16,62.41,
-65.64,65.12,68.02,69.62,70.96,72.83,72.96,74.04,76.39,77.37,
-77.55,78.37,81.46,81.93,83.07,84.15,84.20,86.33,88.51,87.29,
-90.52,91.44,92.95,93.79,96.11,98.77,97.66,101.30,99.89,102.55,
-102.67,104.00,106.01,106.75,110.14,113.86,111.22,110.81,114.80,114.47,
-118.52,117.73,119.29,120.10,121.37,123.04,125.10,123.47,126.64,126.46,
-131.22,127.37,134.28,133.62,136.68,135.76,136.85,140.53,140.96,139.40,
-142.48,144.52,146.71,147.07,146.88,147.56,148.23,153.60,152.14,153.15,
-154.39,156.43,159.52,159.86,159.15,161.42,162.99,167.53,165.75,166.10,
-171.39,168.81,172.72,172.78,171.72,175.82,179.88,174.38,176.72,178.74,
-179.18,185.94,182.76,184.32,187.44,186.13,188.87,190.93,192.64,190.85,
-195.04,194.18,198.87,196.43,200.49,198.22,204.31,202.16,205.92,209.80,
-207.87,206.56,206.30,215.41,211.85,214.98,215.00,216.64,218.00,217.52,
-216.47,220.90,224.10,225.04,223.46,227.06,225.87,227.63,228.69,231.90,
-231.78,233.55,236.97,233.95,238.55,241.20,239.53,240.49,245.22,244.59,
-247.39,246.27,245.89,249.05,252.05,251.70,254.38,255.58,254.24,254.75,
-256.62,259.50,263.21,263.78,264.55,262.41,265.01,268.59,268.71,268.98,
-272.03,273.58,276.05,273.04,277.14,281.11,281.33,277.90,282.89,286.28,
-282.96,284.82,289.55,288.42,289.18,292.18,291.80,293.25,295.98,298.37,
-295.66,297.32,299.26,303.11,301.58,302.50,306.98,306.94,305.24,308.44,
-315.28,311.50,314.39,317.60,312.50,320.24,316.37,321.31,322.33,325.74,
-323.38,324.51,322.88,325.13,329.77,327.45,329.32,330.80,334.37,330.99,
-336.25,337.39,337.99,341.50,337.42,342.79,340.16,345.56,345.04,347.69,
-346.82,353.37,355.00,355.54,354.90,353.11,357.43,357.15,358.20,364.96,
-363.69,362.85,367.90,363.44,366.82,364.80,367.90,372.85,372.06,374.57,
-378.40,372.05,376.63,376.56,379.69,385.87,382.43,382.98,383.94,389.90,
-11.14,12.32,13.28,14.00,14.94,15.22,17.44,18.04,19.27,20.61,
-23.07,22.52,23.69,26.03,25.94,25.89,28.98,29.36,30.14,30.00,
-33.62,32.01,34.75,35.87,36.74,37.54,38.63,40.29,41.18,42.09,
-42.25,44.13,45.96,46.78,47.42,47.45,48.97,51.91,51.38,52.56,
-53.89,53.14,55.62,56.32,58.63,60.34,59.27,63.04,65.14,62.67,
-65.61,66.21,64.92,68.41,68.76,70.66,73.56,71.95,72.41,72.30,
-75.26,76.08,77.92,77.91,77.88,81.90,82.00,82.32,86.25,83.96,
-86.02,86.91,85.98,90.43,91.27,92.25,93.77,92.43,92.95,96.25,
-96.36,97.06,99.58,100.26,99.48,99.38,100.90,103.48,104.84,107.50,
-108.41,110.20,107.59,111.98,113.57,111.82,111.84,114.20,116.10,118.91,
-118.95,117.63,120.67,122.15,121.52,124.54,126.05,126.16,125.78,126.50,
-125.91,129.51,126.65,129.86,134.58,134.47,135.23,134.49,137.72,139.47,
-137.54,138.59,141.52,143.65,143.83,142.08,143.41,144.93,146.28,147.55,
-150.77,150.39,151.46,153.75,156.14,155.08,156.33,155.94,156.59,159.51,
-160.00,160.88,164.92,164.95,163.34,167.11,164.63,164.25,168.65,172.31,
-170.59,173.03,172.62,173.56,173.32,177.11,175.55,178.56,180.12,179.94,
-183.42,185.19,186.07,184.97,186.14,189.87,186.66,190.25,192.34,190.53,
-192.25,194.83,194.04,198.93,193.25,198.00,198.48,199.65,204.06,203.63,
-201.26,206.22,208.18,207.18,207.01,208.60,213.32,211.22,212.91,211.72,
-216.86,214.99,216.20,216.36,217.72,218.71,218.51,223.34,224.58,222.65,
-224.62,222.36,229.42,227.59,229.21,231.24,231.27,234.26,232.47,235.92,
-237.25,233.27,233.95,240.88,240.60,239.59,243.24,240.47,240.36,245.11,
-245.41,246.15,251.25,248.12,251.99,247.19,251.47,253.02,254.04,258.18,
-258.14,259.74,258.55,260.96,261.61,261.21,261.69,262.24,265.83,263.38,
-265.83,267.96,267.24,267.90,271.64,272.94,271.44,275.27,276.13,276.83,
-279.92,279.18,276.06,277.49,277.62,280.21,282.81,285.11,292.31,286.91,
-286.55,289.50,292.29,293.85,294.70,295.64,292.58,294.62,296.42,296.88,
-300.48,301.14,301.44,305.63,309.45,302.79,306.05,306.29,310.55,308.11,
-310.77,310.65,311.21,312.12,314.77,313.29,318.34,312.98,316.87,320.18,
-9.21,9.55,10.99,12.19,12.59,12.90,14.75,13.66,16.41,17.22,
-17.61,18.66,19.39,20.59,21.70,21.97,23.87,23.89,25.25,26.22,
-27.80,27.24,28.35,30.79,30.80,31.06,32.15,32.70,34.09,34.30,
-33.28,36.09,36.53,38.70,38.11,39.92,39.73,40.34,43.86,43.45,
-45.41,46.31,45.05,46.15,47.94,49.36,50.17,50.12,51.61,52.36,
-53.70,53.47,56.78,54.59,55.16,56.42,57.00,57.47,60.17,61.80,
-62.50,62.21,66.77,65.26,66.23,66.11,67.96,67.88,68.76,70.04,
-70.81,70.16,72.23,75.05,74.50,73.34,73.98,75.80,76.21,77.49,
-79.50,79.90,82.65,80.71,83.61,85.88,84.06,85.91,86.14,87.68,
-90.39,91.72,89.08,90.80,88.50,92.46,93.66,94.24,94.39,95.37,
-93.83,97.65,96.41,99.93,100.82,100.94,103.44,100.57,103.35,104.29,
-106.46,105.80,106.63,111.08,107.84,110.67,110.54,112.67,115.12,111.99,
-115.89,115.87,115.61,114.44,118.77,118.45,119.36,118.59,119.55,122.95,
-122.75,123.81,124.00,124.89,125.46,128.16,129.60,126.29,130.44,129.24,
-132.28,132.31,133.85,134.09,134.42,136.68,136.11,139.71,139.98,140.81,
-142.52,140.10,139.68,143.99,143.72,143.57,145.60,146.92,145.02,144.45,
-149.97,147.53,152.92,151.82,156.12,152.31,153.34,155.46,154.32,156.47,
-159.80,158.40,159.88,160.91,160.36,161.31,166.71,163.19,165.60,165.38,
-166.29,168.18,167.55,168.29,170.53,172.90,174.62,173.12,172.89,173.86,
-177.33,174.47,176.86,176.97,180.67,176.44,182.11,183.00,182.75,185.18,
-182.44,183.88,183.82,184.80,192.56,191.95,190.13,191.25,190.21,190.45,
-197.83,190.91,197.11,197.06,195.64,194.22,198.79,198.12,201.10,200.21,
-199.05,202.24,206.43,206.97,204.69,207.87,204.80,208.55,203.93,209.49,
-210.87,212.33,212.74,211.73,214.75,217.56,214.95,214.62,219.78,218.09,
-219.54,218.49,221.11,223.76,219.97,221.44,224.37,225.34,227.66,231.12,
-230.78,227.53,230.49,231.78,232.64,233.58,236.99,233.92,238.16,237.67,
-235.93,238.12,236.66,241.43,242.72,242.41,240.11,240.62,244.47,247.52,
-244.17,243.69,243.35,248.88,253.53,247.26,249.71,250.79,249.02,252.47,
-255.18,255.18,252.02,258.13,253.22,256.11,260.38,261.85,260.19,262.69,
-6.75,7.95,8.90,10.07,10.77,11.35,11.27,12.73,13.41,14.62,
-15.72,14.92,15.80,17.06,16.63,19.20,19.28,19.67,20.42,19.94,
-21.93,22.42,23.02,24.36,24.32,24.75,25.29,27.35,27.98,29.62,
-29.46,29.39,29.80,31.16,32.65,32.94,33.37,34.48,33.10,36.07,
-36.70,36.41,36.72,38.81,39.00,38.91,40.62,42.46,43.26,42.00,
-43.46,43.98,45.91,45.75,44.90,45.33,47.15,47.73,49.01,49.50,
-49.57,51.72,52.44,50.73,54.04,53.42,54.98,54.59,57.05,56.46,
-58.56,58.59,60.37,60.93,60.50,62.98,64.67,61.75,63.33,64.53,
-64.93,66.78,64.87,67.36,67.13,67.55,71.79,70.35,70.65,71.23,
-72.61,71.08,73.49,73.91,74.93,76.01,75.42,77.00,76.50,79.75,
-79.07,79.30,80.33,80.64,82.13,84.20,83.06,84.29,87.34,84.02,
-85.59,85.44,87.47,87.37,90.20,90.47,94.19,91.27,92.79,91.40,
-93.47,93.90,93.92,97.81,96.13,97.45,98.77,98.80,99.97,99.16,
-97.70,103.19,102.35,102.31,99.96,105.26,102.26,108.35,105.41,107.90,
-108.06,108.52,106.47,110.10,109.95,108.78,112.45,115.52,116.99,114.69,
-116.92,114.06,117.97,114.80,119.31,118.09,116.47,120.26,118.88,121.92,
-123.33,120.73,122.74,123.27,122.89,124.63,127.06,128.31,128.42,128.67,
-127.32,129.30,131.06,133.27,131.18,135.59,133.37,133.31,135.58,134.07,
-136.40,137.17,137.44,140.11,137.87,141.32,142.59,143.18,142.22,145.71,
-146.49,145.73,144.51,147.87,143.42,144.44,145.91,150.04,151.01,152.59,
-153.04,151.31,151.22,155.41,154.02,154.98,153.26,155.49,159.42,157.08,
-156.12,158.45,162.09,162.27,162.84,164.35,163.00,162.69,162.04,166.40,
-166.44,167.16,166.83,168.84,166.08,166.37,167.37,171.83,169.37,171.59,
-172.16,174.28,171.62,178.77,174.94,174.64,177.32,179.27,177.00,175.72,
-181.38,182.13,181.17,183.30,181.69,183.87,182.79,184.24,185.31,185.81,
-188.18,189.32,189.44,185.06,190.44,188.19,189.33,191.72,194.67,191.90,
-196.77,191.62,197.16,197.99,194.50,196.11,197.78,199.09,201.01,198.48,
-201.66,199.52,200.37,204.25,207.53,206.97,203.22,205.63,208.10,208.02,
-210.05,207.73,210.83,209.62,213.20,209.37,212.65,211.16,212.98,212.44,
-6.00,6.83,6.90,7.88,9.14,9.04,9.42,9.87,10.84,11.46,
-12.38,12.51,12.63,14.29,13.68,14.62,15.24,17.39,16.28,16.06,
-17.42,17.42,19.22,20.58,19.08,21.82,21.94,21.54,21.86,23.64,
-23.66,23.59,25.67,25.71,25.31,26.69,27.51,27.50,28.70,28.90,
-27.54,31.07,31.20,31.92,31.47,32.09,31.67,32.84,34.53,34.33,
-34.50,36.62,36.91,37.87,38.21,38.47,39.40,38.63,40.48,43.23,
-42.36,41.65,41.91,43.64,43.05,44.51,45.90,44.63,44.90,46.43,
-47.26,47.65,47.00,50.01,50.62,51.42,50.78,52.90,51.02,54.48,
-54.69,53.91,55.25,55.85,54.75,55.24,58.43,59.10,58.52,57.23,
-59.80,58.03,61.33,59.31,61.56,61.67,62.88,63.75,63.05,66.41,
-63.73,65.50,66.77,65.80,67.65,68.01,69.31,70.14,67.11,70.15,
-70.04,72.15,71.25,72.45,71.65,73.28,73.02,75.27,77.62,76.86,
-78.05,76.83,78.60,79.31,80.32,81.15,80.19,81.78,81.89,82.92,
-83.26,82.00,82.11,87.11,83.43,86.02,88.46,86.61,87.22,86.87,
-88.54,89.44,89.63,89.71,88.72,90.19,88.69,95.95,91.44,94.06,
-94.50,93.31,95.68,96.52,96.28,98.08,97.78,96.00,99.80,99.48,
-100.32,99.20,99.77,101.83,100.46,103.36,102.34,103.94,104.29,108.69,
-106.58,108.76,105.65,106.49,106.36,107.89,108.68,110.77,111.19,112.46,
-108.75,113.62,110.94,113.01,112.97,115.03,114.73,113.57,120.30,118.30,
-116.75,120.94,118.93,119.93,117.28,120.31,120.10,120.61,124.08,124.89,
-124.23,122.16,124.81,123.66,125.59,124.21,126.29,126.69,128.96,127.07,
-130.14,130.68,131.97,132.53,133.81,133.33,133.87,132.31,132.97,135.08,
-132.52,135.79,133.63,133.46,138.78,137.46,139.60,138.40,142.44,140.76,
-141.16,141.58,141.40,140.94,144.44,146.79,142.44,145.66,146.62,147.10,
-144.60,151.16,149.36,149.60,150.34,150.94,148.22,151.94,150.52,152.60,
-150.31,155.72,155.22,154.47,155.46,151.62,154.24,155.44,157.80,155.37,
-159.42,160.42,161.31,157.95,160.21,163.59,159.16,159.69,164.21,165.66,
-164.59,160.61,166.11,165.81,166.29,166.68,170.12,168.65,170.78,170.95,
-169.87,170.74,172.66,176.64,175.06,172.27,174.47,171.08,177.90,172.78,
-5.02,5.18,6.01,6.40,6.52,7.79,7.23,8.37,9.54,8.89,
-9.43,10.58,10.90,11.63,11.44,11.39,13.00,13.49,13.82,13.47,
-14.44,14.34,15.44,16.26,16.39,16.65,17.82,18.04,19.01,18.30,
-19.91,20.24,19.75,20.52,22.51,23.03,22.47,22.79,23.83,22.62,
-24.45,25.56,24.89,24.24,26.26,25.46,26.47,27.65,27.39,28.80,
-28.66,28.70,30.92,31.04,30.28,31.49,32.16,31.55,32.87,34.25,
-33.69,33.62,34.90,35.52,35.59,35.34,37.02,35.90,38.02,37.49,
-38.02,39.09,40.17,39.20,39.86,40.99,41.90,41.49,41.73,41.35,
-44.79,44.72,44.49,44.62,47.70,46.52,46.18,47.68,46.99,47.10,
-48.45,47.23,50.18,52.49,50.21,50.04,50.86,50.52,51.81,52.06,
-51.33,53.33,54.64,54.58,55.78,55.00,56.22,54.46,54.92,56.02,
-57.68,58.16,57.48,58.54,58.61,60.56,59.72,61.35,62.35,60.94,
-62.70,62.58,62.94,62.08,64.86,65.77,66.98,66.64,66.33,66.04,
-70.43,67.30,67.30,69.76,67.03,69.11,68.41,69.41,70.40,73.77,
-71.80,73.59,75.06,70.68,73.27,75.35,74.88,74.97,74.23,77.12,
-77.11,78.05,78.29,76.74,79.16,78.53,80.07,77.09,80.36,81.59,
-79.96,80.77,83.06,84.21,85.24,84.97,86.00,84.11,84.86,86.07,
-86.95,84.97,87.64,85.39,89.27,88.39,89.98,88.31,92.64,93.10,
-90.41,91.14,90.53,93.42,94.96,95.02,95.01,93.89,94.85,95.22,
-94.60,96.25,98.26,97.99,98.42,97.72,99.16,99.97,100.97,101.70,
-102.95,99.44,102.45,102.16,101.94,100.89,104.58,104.49,104.97,104.39,
-108.15,104.59,103.96,107.60,107.65,107.70,110.36,107.77,107.56,109.16,
-111.02,112.43,111.59,109.56,112.95,111.26,113.55,111.95,113.70,114.34,
-114.33,115.33,116.73,118.05,115.04,119.30,118.36,117.74,119.33,121.22,
-120.09,121.85,118.47,123.47,123.63,121.16,121.83,123.19,122.61,126.32,
-124.43,125.48,123.97,126.75,124.90,128.14,126.09,126.62,129.64,130.04,
-131.25,129.63,131.47,129.97,130.40,129.02,132.77,132.00,133.27,134.41,
-135.99,135.14,135.81,134.16,134.09,138.35,137.82,138.19,137.69,137.75,
-137.38,141.81,138.93,141.69,139.64,139.31,144.74,143.46,140.90,138.86,
-3.69,4.72,5.09,5.45,5.19,6.30,5.73,6.82,6.66,7.60,
-8.54,9.37,8.69,9.61,9.04,9.46,10.65,11.08,10.99,11.41,
-12.06,12.55,12.65,12.98,12.74,12.98,14.35,14.91,15.86,15.02,
-15.90,17.34,16.50,18.61,16.70,17.53,18.72,18.43,19.25,17.99,
-19.04,19.80,19.93,21.80,20.81,21.33,23.12,24.18,21.82,24.50,
-23.66,22.82,25.42,24.72,26.01,26.36,26.72,26.98,26.82,26.65,
-27.23,28.23,29.26,28.24,28.39,29.96,29.78,29.48,29.51,29.52,
-31.14,31.27,32.85,33.23,35.32,33.38,33.23,33.54,34.62,35.84,
-36.45,37.31,36.92,36.83,36.47,37.59,36.98,38.26,37.97,39.95,
-38.00,40.09,39.39,40.02,41.55,39.09,42.12,42.31,44.34,42.05,
-42.97,43.18,44.94,45.47,44.32,45.91,45.05,45.70,45.14,45.10,
-47.27,45.89,49.15,48.73,47.68,49.23,51.01,48.53,49.73,49.81,
-50.24,51.23,52.08,49.29,51.61,55.10,53.47,53.49,54.08,54.85,
-56.86,54.90,55.86,54.51,54.15,57.01,57.87,56.61,56.56,58.93,
-61.25,58.55,58.95,58.19,60.26,61.53,61.60,61.93,63.28,60.97,
-62.83,61.71,64.03,62.55,63.89,64.27,65.33,63.69,66.06,66.40,
-65.62,63.72,67.78,66.96,68.94,65.39,68.24,67.42,69.27,69.42,
-69.76,72.79,71.88,72.00,73.16,70.66,75.02,73.85,73.04,74.12,
-72.70,74.45,74.34,77.16,78.06,77.73,79.56,74.50,74.65,77.46,
-77.63,78.08,76.88,79.18,81.12,80.78,81.48,79.85,80.57,83.05,
-82.22,85.03,81.66,82.70,84.89,84.99,84.28,84.19,84.44,86.07,
-85.49,88.68,85.76,86.82,85.86,87.00,88.03,89.94,90.85,88.50,
-91.75,88.63,91.53,91.52,91.00,93.99,91.82,92.88,94.23,93.75,
-92.33,93.32,96.25,94.52,97.98,95.87,97.47,96.30,94.80,96.25,
-95.21,95.42,98.28,96.96,101.02,96.70,100.36,100.23,103.50,100.06,
-100.57,101.18,102.04,101.17,102.31,103.21,104.02,101.24,106.64,101.48,
-105.96,107.89,103.83,105.09,109.19,106.82,106.38,109.45,107.35,110.83,
-111.49,109.93,112.86,110.25,110.02,111.39,111.34,113.18,110.13,110.90,
-111.58,114.71,113.08,113.22,117.64,113.73,111.63,118.59,116.61,116.32,
-2.80,3.81,3.97,4.52,4.64,4.96,5.09,4.58,6.37,5.65,
-6.51,6.96,7.21,7.18,7.13,7.98,7.79,8.85,9.73,9.50,
-9.71,9.40,9.44,10.42,11.81,11.77,11.12,11.56,11.70,11.89,
-12.77,13.50,13.46,13.83,14.08,14.20,15.25,14.61,15.09,16.62,
-16.03,16.72,16.12,16.09,16.14,18.50,18.50,19.10,17.27,18.89,
-18.73,19.36,19.59,19.77,20.18,19.64,21.05,20.46,20.96,22.34,
-22.30,22.86,25.17,23.37,24.07,24.39,24.21,23.91,25.78,24.15,
-25.77,25.44,25.35,26.75,26.00,26.65,26.36,26.58,29.42,28.70,
-30.07,29.38,29.80,30.56,29.19,30.43,29.73,31.20,31.38,30.07,
-30.95,32.37,33.00,32.38,31.85,33.74,33.49,34.49,33.86,35.16,
-34.71,35.04,34.77,35.45,36.51,35.71,37.29,36.19,36.53,38.56,
-38.87,39.60,39.65,38.26,40.31,38.83,40.85,40.90,39.73,43.33,
-41.32,42.94,41.96,43.23,41.75,42.51,43.08,43.87,42.75,44.02,
-43.62,44.71,47.15,46.87,47.36,45.33,46.76,46.94,46.16,48.63,
-46.42,49.42,49.29,47.64,48.76,48.46,49.40,52.11,50.13,50.40,
-51.26,50.73,51.39,50.15,53.51,51.93,52.37,52.55,53.16,53.07,
-55.42,56.00,55.78,54.90,56.52,55.33,54.43,55.51,56.75,58.82,
-57.54,57.72,58.22,58.34,59.30,58.61,58.20,59.58,59.50,59.24,
-60.16,59.59,60.53,62.49,60.68,62.36,64.17,63.41,63.84,60.22,
-63.13,64.18,62.46,62.80,66.25,64.91,65.32,67.97,65.69,66.48,
-66.52,65.06,68.63,67.73,68.50,70.17,68.04,68.94,68.64,69.40,
-67.51,69.65,72.38,70.09,70.11,72.35,71.73,71.39,73.22,72.76,
-71.68,74.19,74.32,73.55,74.47,74.64,75.62,75.70,73.66,72.55,
-76.89,76.44,79.75,77.60,77.11,80.65,77.50,74.80,80.22,80.03,
-80.33,77.86,79.98,81.22,81.37,83.91,79.24,80.25,79.96,81.84,
-81.99,82.31,83.73,83.65,84.32,85.19,86.24,85.28,84.26,85.21,
-85.87,84.55,83.14,89.68,86.41,85.01,85.48,89.39,88.93,89.36,
-87.71,87.13,89.78,91.00,89.14,88.74,92.49,90.02,91.04,93.46,
-93.05,93.67,92.30,93.02,94.43,94.15,94.62,95.82,95.23,96.45,
-2.52,2.46,3.63,3.51,3.62,4.23,4.01,4.72,4.70,5.10,
-5.60,5.92,5.86,6.10,6.53,6.43,7.42,6.75,7.20,7.54,
-8.32,8.84,9.68,9.04,8.81,8.86,9.50,9.00,9.58,10.11,
-9.94,9.64,9.92,11.73,10.99,11.14,12.15,11.40,12.89,13.02,
-12.74,13.04,13.28,13.65,15.10,14.26,15.09,14.51,15.23,15.29,
-15.94,16.57,16.94,16.19,17.28,16.58,17.59,18.13,17.24,17.71,
-17.58,17.93,19.80,19.09,18.67,19.10,19.29,19.79,19.67,19.74,
-20.04,20.91,20.04,22.01,21.67,22.16,22.76,23.65,22.29,23.63,
-22.20,23.91,24.19,24.27,25.72,25.66,23.95,25.30,24.65,24.78,
-26.89,25.01,25.62,26.00,26.31,26.98,27.02,28.42,27.17,28.19,
-28.12,26.82,30.37,29.80,30.12,29.02,29.87,31.56,29.88,31.78,
-31.07,31.15,31.67,31.38,30.76,32.84,31.64,34.43,33.38,34.71,
-32.54,34.73,34.58,35.29,34.91,34.41,35.85,34.35,35.74,34.67,
-36.24,35.75,36.77,37.05,36.50,36.90,37.30,38.44,38.16,37.98,
-39.66,41.12,40.15,39.03,39.15,39.94,40.90,40.51,39.97,40.73,
-42.42,41.12,43.47,42.25,43.42,41.17,42.80,40.83,41.40,44.55,
-43.46,43.47,45.68,47.42,44.46,46.73,46.74,45.92,46.60,45.50,
-46.74,48.65,45.58,45.11,46.65,48.05,47.42,48.28,47.03,47.58,
-48.96,50.64,50.05,50.00,49.26,52.23,49.03,50.02,52.57,48.45,
-52.75,49.52,51.44,51.08,54.38,51.26,52.89,54.32,52.90,52.76,
-54.10,56.15,54.96,54.15,54.38,57.00,56.05,55.67,57.77,56.46,
-58.62,56.61,57.57,58.63,58.13,58.67,57.30,57.22,58.37,59.90,
-57.99,60.45,58.77,60.73,62.53,59.59,60.96,58.25,60.76,59.78,
-62.30,61.61,60.59,61.74,63.28,63.50,61.24,64.91,64.52,67.67,
-66.21,64.46,63.81,64.76,66.41,66.86,65.46,65.77,66.65,67.26,
-70.24,67.04,67.49,66.17,69.30,66.91,69.76,69.75,66.07,67.96,
-69.99,70.65,69.08,70.82,69.12,70.64,71.81,69.73,71.59,73.94,
-71.41,72.34,73.26,72.86,73.56,71.15,75.55,73.19,74.67,75.80,
-74.18,75.36,74.77,76.29,73.91,75.27,75.63,76.80,76.93,78.16,
-2.23,2.74,2.70,2.76,2.66,3.33,2.91,4.06,3.97,3.74,
-4.28,4.65,4.64,4.68,5.27,5.16,5.31,5.75,6.45,5.36,
-6.10,5.25,6.70,7.09,6.76,7.48,6.89,8.35,7.66,8.70,
-8.86,9.04,8.55,9.62,8.74,9.80,9.45,9.60,9.64,10.95,
-10.52,10.35,11.05,11.14,11.64,11.04,12.66,12.40,12.69,12.39,
-11.39,12.97,12.91,13.49,13.20,11.73,14.37,14.65,14.35,13.49,
-15.50,15.58,15.72,15.94,15.05,15.26,15.41,16.44,16.37,18.47,
-16.16,16.56,17.58,17.57,17.64,16.71,18.68,17.47,18.11,18.72,
-19.50,19.57,19.96,18.90,18.33,19.95,19.97,21.42,20.62,21.18,
-21.91,22.24,21.16,21.86,22.10,21.16,23.34,21.12,22.57,21.82,
-23.31,23.40,22.58,23.64,24.12,25.28,25.25,24.41,24.13,25.18,
-24.61,26.35,24.70,26.58,25.06,26.05,26.93,27.44,26.76,27.84,
-28.67,26.51,26.97,29.56,27.53,28.56,28.68,28.32,29.54,29.25,
-29.88,29.32,28.32,28.62,31.79,30.14,30.42,30.23,30.86,31.97,
-31.68,31.92,32.42,32.84,30.98,30.62,32.20,32.62,35.05,32.34,
-31.86,35.57,34.84,33.51,33.63,34.73,35.89,34.23,33.78,34.42,
-36.70,36.72,34.97,37.04,37.14,37.33,35.27,38.24,36.88,38.69,
-36.79,36.94,38.55,38.62,36.78,36.70,39.07,39.81,38.73,40.54,
-39.39,40.70,38.68,40.27,40.52,41.80,42.10,41.13,41.91,42.54,
-40.33,42.37,41.90,41.13,44.05,41.05,43.78,44.74,42.86,43.11,
-43.72,43.15,45.35,44.40,44.12,44.80,45.58,46.26,44.63,45.99,
-44.32,44.82,47.18,47.03,47.70,47.74,45.05,45.72,48.06,47.59,
-47.03,48.88,49.95,49.09,48.50,48.85,50.51,48.36,50.18,50.61,
-51.40,51.69,49.28,50.20,50.61,50.58,50.90,50.74,52.33,55.24,
-50.75,52.52,52.15,53.99,53.47,53.49,53.23,53.01,54.94,53.80,
-55.14,54.79,55.23,55.59,55.21,57.23,57.26,57.19,57.52,57.27,
-55.14,55.47,57.03,56.19,57.81,57.51,57.32,58.25,57.47,57.63,
-56.84,61.02,59.66,60.60,59.13,61.38,59.90,59.20,60.29,61.66,
-62.82,60.60,60.76,62.21,61.89,60.79,63.60,61.68,61.79,61.67,
-1.62,1.94,2.11,2.34,2.65,2.55,2.61,2.49,3.12,3.10,
-3.24,3.56,4.54,4.54,4.68,4.72,4.34,4.66,4.80,4.27,
-5.67,4.98,6.33,5.06,6.22,6.14,6.30,5.64,5.99,6.02,
-6.66,6.49,6.22,6.41,6.77,7.99,8.62,7.86,7.36,8.10,
-8.40,8.20,8.00,9.20,9.70,9.74,9.93,10.18,9.07,9.34,
-10.56,10.77,10.04,10.52,11.05,11.14,11.04,11.18,11.07,12.07,
-10.83,11.80,10.90,12.41,13.09,12.55,12.90,13.11,13.20,11.31,
-14.16,13.89,13.54,14.62,13.84,14.26,14.71,13.97,15.86,16.07,
-15.24,14.88,15.20,15.50,14.66,16.18,15.61,16.24,16.73,16.32,
-16.98,18.79,18.61,18.55,17.57,17.99,17.75,18.09,18.52,18.34,
-18.94,19.24,18.41,18.57,20.02,20.54,19.63,20.80,19.46,18.93,
-22.02,21.19,19.94,19.45,20.46,23.15,22.66,20.34,20.94,21.03,
-21.88,23.40,22.43,21.04,21.90,21.21,22.54,24.32,22.17,23.22,
-25.29,24.52,24.57,24.16,24.34,25.56,23.33,24.77,25.26,25.73,
-25.91,24.05,25.82,26.73,25.83,26.80,26.45,26.86,26.13,27.91,
-27.37,27.03,28.56,27.25,28.25,28.14,28.23,27.30,29.65,27.89,
-27.90,28.88,29.91,29.58,32.10,29.92,29.00,29.34,31.09,29.59,
-30.01,30.89,31.14,30.63,30.68,32.94,33.61,32.09,29.60,31.04,
-32.28,31.94,32.72,32.62,33.93,32.56,33.85,34.61,33.83,33.30,
-32.79,32.38,33.23,33.67,35.57,35.59,34.26,33.91,35.03,35.16,
-36.29,36.80,34.03,35.08,37.13,37.38,36.48,35.71,36.55,36.71,
-37.19,38.29,37.32,37.23,37.96,38.01,39.59,37.47,38.50,39.60,
-38.71,40.11,37.33,40.44,39.40,38.42,41.80,40.13,39.47,39.56,
-40.93,41.44,41.05,42.46,42.44,43.00,41.94,40.85,40.25,43.21,
-43.61,42.35,43.53,42.27,41.88,44.42,44.54,43.11,44.14,44.03,
-45.49,43.97,42.26,43.95,44.78,44.65,45.54,43.57,45.68,46.83,
-45.22,45.82,46.10,47.43,45.63,47.78,47.28,46.82,47.48,47.13,
-46.90,46.63,50.60,49.33,47.71,47.96,49.59,46.45,48.08,46.66,
-49.09,48.12,49.02,50.68,51.39,50.84,51.47,52.04,49.58,51.25,
-30.16,35.35,36.22,40.68,43.00,45.70,48.66,51.18,55.08,58.95,
-61.02,64.62,67.11,69.05,72.56,76.30,78.86,81.88,83.18,89.59,
-92.68,95.46,96.59,98.85,103.46,105.53,109.81,111.11,115.86,118.89,
-119.44,122.75,125.26,130.54,133.96,135.30,137.81,138.87,141.01,145.46,
-151.56,153.98,155.85,160.32,163.04,165.83,170.51,171.57,173.75,179.01,
-181.63,182.83,186.27,189.28,190.66,196.93,198.46,199.95,205.20,207.20,
-210.18,215.92,217.75,218.46,221.33,225.72,230.69,230.58,234.70,236.26,
-240.06,241.63,246.57,245.91,250.95,256.98,259.75,259.53,264.73,265.36,
-269.12,272.84,277.81,275.87,277.31,284.32,290.56,291.66,295.48,295.44,
-299.71,302.22,305.77,308.35,312.52,314.45,318.53,322.89,325.19,327.95,
-327.88,332.00,335.98,337.90,340.03,345.85,347.39,348.80,354.08,356.81,
-360.69,367.17,364.27,367.44,371.22,372.51,379.02,380.73,383.32,389.53,
-389.41,392.18,395.30,399.42,401.17,403.30,407.99,411.94,410.79,414.06,
-417.75,420.72,424.86,429.35,431.56,437.86,436.07,437.64,439.75,445.08,
-448.37,449.86,457.21,455.75,461.09,464.39,467.87,471.17,472.19,479.56,
-475.88,477.19,484.58,490.38,489.69,490.61,496.72,502.99,503.75,507.11,
-507.59,511.81,514.37,516.75,521.95,522.09,527.19,528.59,533.42,537.33,
-540.32,544.09,546.48,547.15,549.39,553.67,557.82,560.25,559.29,563.29,
-571.24,575.78,576.92,578.08,579.46,581.87,587.23,588.86,594.52,594.80,
-601.07,600.92,605.15,610.24,607.69,608.37,615.79,619.44,619.09,623.48,
-629.98,632.48,629.71,644.33,644.01,643.34,645.47,646.65,646.32,657.94,
-657.59,661.48,663.61,665.35,665.32,675.90,676.59,676.93,682.76,684.94,
-689.70,692.47,695.35,691.64,703.02,703.50,704.17,707.37,709.53,714.25,
-716.66,721.17,722.64,728.85,732.10,732.24,738.75,740.42,740.82,749.02,
-748.43,749.18,754.43,756.31,761.66,759.57,764.78,768.43,778.49,773.39,
-778.24,782.83,785.23,778.93,790.00,793.16,790.16,796.40,803.34,811.05,
-810.29,811.57,814.55,816.64,818.38,817.46,823.15,829.09,835.97,837.30,
-835.19,837.76,842.59,848.31,851.52,853.13,854.59,861.62,859.18,866.90,
-869.26,873.43,869.08,876.07,874.80,877.32,884.98,890.95,891.83,896.24,
-26.38,28.16,31.40,33.89,36.26,38.25,42.38,45.17,47.16,49.66,
-51.71,52.92,56.31,60.11,63.81,63.62,66.86,68.27,71.30,74.17,
-76.09,80.49,81.90,85.98,87.73,89.26,91.47,94.23,97.91,101.26,
-103.18,105.12,107.05,109.96,114.09,114.52,117.94,119.67,121.80,124.84,
-128.38,130.32,130.49,135.92,138.31,141.80,141.17,144.16,148.50,149.98,
-150.57,154.53,156.04,161.07,163.44,165.09,165.06,168.97,172.73,174.72,
-179.75,181.76,182.52,184.70,187.28,189.67,193.28,195.11,199.13,198.72,
-204.32,204.05,209.62,210.56,215.17,212.79,218.01,222.60,221.72,225.33,
-227.09,230.50,234.06,235.51,240.04,240.77,246.16,245.12,250.71,251.22,
-250.38,253.68,259.40,261.98,262.77,267.73,271.16,274.18,273.04,276.17,
-279.43,282.66,283.52,286.54,291.64,290.54,296.55,296.98,298.00,302.84,
-305.76,306.22,308.08,312.09,317.17,314.27,324.28,320.33,327.42,326.93,
-329.57,332.41,335.77,340.14,342.74,342.53,345.10,347.03,352.10,353.70,
-353.55,359.58,360.98,363.08,367.33,368.58,370.71,370.02,375.49,377.98,
-378.07,382.36,384.75,388.36,391.35,393.34,393.95,400.97,402.87,402.38,
-405.85,407.17,411.51,410.26,417.40,418.33,421.14,424.68,427.33,427.40,
-429.49,433.73,438.26,439.34,442.33,439.76,449.86,450.56,447.32,457.57,
-458.25,456.51,463.14,463.78,467.62,468.87,470.82,472.56,476.77,481.23,
-484.06,483.57,486.57,493.01,489.21,494.53,493.33,494.76,503.23,503.43,
-501.95,507.04,514.74,514.80,516.59,518.83,521.80,524.12,525.46,524.94,
-532.28,535.51,534.38,537.99,541.26,542.57,549.46,548.91,550.45,558.02,
-557.12,563.76,565.27,564.85,570.22,567.28,572.98,569.68,580.92,580.59,
-586.30,584.29,591.25,591.90,593.41,592.14,598.51,599.42,603.60,605.17,
-612.93,608.58,615.15,614.94,613.46,619.09,621.10,627.08,629.71,634.08,
-632.26,638.35,634.53,642.76,643.51,645.50,643.78,647.90,652.82,656.71,
-660.11,662.13,662.34,668.80,664.20,672.00,675.90,677.99,681.97,680.48,
-688.00,685.76,685.12,688.67,689.53,699.51,695.56,702.07,703.46,709.02,
-711.63,709.72,713.99,717.66,718.14,717.56,727.60,725.92,730.48,733.32,
-734.78,736.89,740.79,743.12,744.71,745.20,750.03,754.40,754.29,759.67,
-23.30,24.11,25.66,29.85,31.41,32.69,35.74,37.03,39.00,41.68,
-44.80,45.61,46.97,49.50,50.85,53.66,55.99,58.04,61.11,62.54,
-64.41,65.08,68.82,72.36,75.12,75.33,77.36,79.06,81.62,85.55,
-86.50,89.18,90.52,94.37,94.27,95.95,99.95,100.04,104.21,107.82,
-108.19,109.90,111.88,114.70,114.63,117.67,121.42,122.24,125.02,126.01,
-130.25,132.29,132.93,136.74,135.02,138.90,141.66,146.75,146.53,148.08,
-148.59,150.82,153.54,159.42,156.72,163.23,164.90,165.23,166.90,168.54,
-171.96,171.75,173.91,175.26,180.78,182.15,184.09,186.13,187.19,191.47,
-196.58,194.76,196.87,198.15,201.93,203.35,205.51,204.80,210.29,209.97,
-214.83,218.91,214.34,217.98,223.71,224.51,226.62,227.33,231.43,232.88,
-235.20,242.00,242.40,241.19,245.09,244.75,251.32,251.48,251.88,254.98,
-258.44,258.31,264.46,265.55,265.73,266.74,272.02,271.13,274.53,276.30,
-276.98,277.92,283.06,288.45,285.32,287.82,291.64,292.97,295.46,297.88,
-299.29,302.60,307.46,307.24,308.99,312.26,310.52,315.52,316.83,317.16,
-322.38,326.78,326.17,328.57,329.72,328.78,337.65,341.71,340.13,340.38,
-341.12,345.90,346.54,347.80,350.61,354.71,352.89,357.78,360.97,360.22,
-362.79,367.18,366.98,369.42,372.30,374.50,378.02,379.32,380.40,378.50,
-382.28,391.13,388.07,394.12,393.45,394.62,398.70,396.11,404.69,403.22,
-407.60,405.19,407.73,413.88,413.28,413.26,419.27,420.37,422.43,423.30,
-423.46,429.92,432.48,433.01,436.53,440.36,441.12,440.89,441.22,450.03,
-451.40,451.74,450.36,454.10,460.84,460.04,459.56,461.64,467.89,472.74,
-467.40,473.51,473.10,475.00,478.67,482.17,481.27,487.05,487.51,489.89,
-494.72,491.92,498.09,496.46,499.81,503.90,505.11,507.46,510.44,515.24,
-515.08,516.65,516.27,521.00,524.14,527.34,525.63,526.45,528.15,529.70,
-537.62,538.94,538.59,540.89,545.56,544.83,547.18,548.03,550.00,551.36,
-555.96,562.42,557.39,565.41,566.04,567.11,564.63,572.84,572.28,572.62,
-578.47,578.23,579.84,585.42,590.27,590.88,593.01,596.74,596.23,594.61,
-596.94,600.12,599.58,606.17,607.61,610.42,606.39,613.25,619.60,614.16,
-618.83,620.68,620.28,624.88,624.93,629.14,636.02,642.08,635.72,640.58,
-18.29,20.86,22.75,23.51,25.63,27.15,29.55,30.13,33.58,33.41,
-36.33,39.19,40.59,40.97,44.01,45.98,47.37,48.87,51.37,53.97,
-55.45,54.72,58.06,60.63,60.98,64.55,64.55,66.20,67.65,70.48,
-71.54,73.69,75.26,77.08,79.01,80.01,82.36,85.51,86.39,89.58,
-90.00,90.32,93.32,93.85,99.09,99.81,101.33,103.14,104.62,105.51,
-106.55,110.71,112.87,111.52,115.93,116.05,118.52,122.98,123.51,124.70,
-125.58,129.20,130.75,132.57,133.06,137.81,134.55,140.09,141.48,144.65,
-144.39,147.67,146.74,151.00,150.63,153.47,154.87,157.16,158.49,158.78,
-162.82,165.24,167.40,168.31,167.70,169.67,175.75,175.28,174.30,180.60,
-180.81,184.38,181.17,187.29,186.18,190.33,190.63,193.39,195.08,195.14,
-198.48,200.12,198.74,206.06,203.29,205.60,206.30,212.44,211.43,214.61,
-214.68,217.89,218.33,220.62,221.00,228.40,225.30,225.76,231.52,231.62,
-233.69,236.71,240.55,238.27,240.86,245.38,243.49,244.70,247.05,250.26,
-251.81,253.31,251.39,258.12,258.29,263.38,265.38,265.30,267.63,269.44,
-268.12,270.12,270.92,275.16,274.28,281.26,277.74,282.81,284.22,290.03,
-287.53,289.52,293.16,293.49,293.90,296.52,297.52,298.85,300.75,301.00,
-303.07,308.96,309.37,310.07,311.27,318.18,312.15,317.87,323.58,324.49,
-326.38,324.63,327.05,328.63,331.11,335.86,335.08,337.15,340.81,335.64,
-344.17,343.46,342.23,346.41,346.17,351.07,353.42,351.42,354.14,359.41,
-358.68,359.60,365.40,365.53,369.52,370.59,372.68,370.61,374.00,376.46,
-379.35,376.30,383.74,382.33,382.26,386.76,390.74,388.68,390.77,390.38,
-394.09,395.67,400.20,399.56,398.73,399.42,409.74,411.77,412.72,415.69,
-414.27,411.12,413.79,417.41,423.89,421.07,428.28,425.04,425.44,427.91,
-430.44,430.71,434.19,435.12,433.88,441.16,442.04,440.50,446.73,446.77,
-448.30,447.10,453.86,455.07,455.72,457.12,460.87,463.23,459.36,465.77,
-463.69,469.51,470.68,467.72,474.15,472.85,476.92,478.33,480.06,482.46,
-486.00,487.12,484.71,485.47,489.23,492.49,495.21,498.47,502.62,502.34,
-500.49,503.32,509.34,510.55,505.27,513.09,512.77,513.76,517.10,518.99,
-519.65,518.22,525.41,525.23,522.53,528.73,526.20,531.54,538.18,536.76,
-16.12,16.49,17.84,20.03,21.82,22.38,24.00,26.72,27.40,29.70,
-30.26,32.17,33.67,34.59,36.64,38.87,39.79,40.97,41.82,45.07,
-46.13,47.30,47.52,48.90,53.80,51.96,53.30,54.57,60.22,59.16,
-60.29,61.94,62.76,66.26,66.33,68.00,72.05,69.45,72.93,73.63,
-76.60,78.16,81.39,81.05,80.61,82.27,85.54,85.27,88.32,90.75,
-91.94,91.76,94.86,94.87,96.05,97.16,98.42,101.28,102.76,102.66,
-107.36,105.50,107.51,109.86,112.76,115.96,114.10,116.56,116.05,117.98,
-120.17,121.62,125.66,124.40,125.85,129.71,129.84,130.03,130.12,132.67,
-135.38,136.12,138.12,140.78,142.89,145.02,145.84,144.35,147.79,148.08,
-152.26,152.04,154.82,154.73,158.20,157.43,159.08,159.69,161.70,166.63,
-163.00,167.41,168.45,169.62,174.22,173.87,177.72,176.90,176.01,180.32,
-178.97,182.95,183.35,186.90,183.79,188.55,188.62,190.40,193.06,195.77,
-195.82,195.31,198.19,200.78,200.45,204.92,204.27,207.79,207.85,211.32,
-211.86,212.81,215.75,213.82,213.78,217.70,221.40,219.92,224.59,221.56,
-225.90,227.75,229.26,230.13,229.32,232.43,232.36,236.92,238.22,237.84,
-238.57,243.83,247.47,240.71,243.09,249.54,247.96,251.43,251.04,254.28,
-259.10,254.87,258.70,258.01,265.44,265.00,261.94,268.01,267.68,269.50,
-266.67,275.55,275.67,270.23,280.50,279.88,279.81,284.29,281.83,282.79,
-285.41,291.77,288.50,291.27,289.25,291.04,293.18,294.06,300.74,298.01,
-297.09,302.31,305.52,310.65,312.38,310.82,308.60,312.04,312.05,316.65,
-314.89,316.60,317.83,317.33,323.64,322.24,324.84,333.08,327.88,328.81,
-331.60,332.36,334.42,338.56,333.15,339.71,341.07,341.16,344.37,342.93,
-344.60,346.32,348.44,355.86,355.63,351.70,352.39,355.34,357.67,355.74,
-358.15,360.50,368.12,364.82,366.30,366.87,366.72,375.73,373.87,376.51,
-377.11,376.50,379.06,382.99,384.46,383.39,388.10,388.39,388.61,388.09,
-388.12,389.62,397.95,397.34,394.26,399.26,404.22,398.43,402.61,404.15,
-403.93,407.33,411.63,409.96,412.05,411.87,415.24,413.89,416.14,424.05,
-420.39,425.25,418.53,426.67,430.62,427.55,433.74,433.67,431.17,432.78,
-436.92,434.67,438.63,443.21,440.75,448.83,445.71,446.52,447.34,456.43,
-12.66,14.06,15.64,17.44,17.35,19.39,20.56,21.27,22.39,24.21,
-25.23,26.75,27.89,30.07,29.73,31.97,33.59,34.90,35.61,36.55,
-37.43,40.24,40.97,41.56,43.50,42.88,46.43,46.27,47.62,49.11,
-50.17,52.26,52.13,53.83,56.44,56.93,57.13,60.14,60.64,61.79,
-63.28,64.38,66.06,64.64,68.95,69.83,69.83,72.63,73.39,74.42,
-76.39,76.90,78.53,79.94,81.81,82.27,82.10,84.06,85.01,87.01,
-87.27,90.02,90.22,89.41,91.92,92.57,97.35,98.52,101.15,99.72,
-101.68,100.82,104.42,103.57,105.41,105.83,107.16,107.22,107.53,111.06,
-113.44,111.31,116.56,118.20,118.43,119.93,120.62,123.63,119.89,121.00,
-125.25,127.04,127.24,128.84,130.56,130.76,129.98,134.91,135.85,138.54,
-136.28,140.83,142.72,143.47,145.69,147.37,146.90,146.98,149.78,148.57,
-152.32,150.36,152.30,153.67,158.07,155.80,158.05,160.98,157.71,162.60,
-164.59,165.40,166.23,166.48,167.54,170.29,173.00,169.81,173.53,173.95,
-178.54,180.43,181.21,180.20,181.98,180.65,182.92,184.81,187.98,191.28,
-188.85,189.87,190.75,192.72,193.73,192.86,197.22,196.04,198.47,200.43,
-201.55,202.18,202.04,206.45,208.28,209.19,209.75,210.89,211.94,211.29,
-213.05,213.84,217.90,221.31,218.42,218.57,221.76,220.79,222.13,226.90,
-226.71,227.25,228.43,228.91,233.57,234.13,235.01,231.74,240.98,238.78,
-242.31,240.55,239.66,243.09,243.70,243.95,242.83,249.55,248.84,248.72,
-249.15,254.35,255.15,258.19,256.18,258.61,256.59,259.86,259.99,265.73,
-261.80,265.23,268.72,265.76,271.91,268.37,272.80,274.80,270.87,276.33,
-273.30,278.62,278.00,280.43,282.65,280.91,284.44,284.04,287.34,289.61,
-290.93,288.75,288.14,291.51,294.77,295.77,290.63,293.54,295.74,297.14,
-302.24,299.56,302.24,301.48,302.77,306.32,305.72,308.67,310.07,310.57,
-313.90,316.29,315.27,316.85,317.05,322.00,317.82,326.41,320.77,326.18,
-323.72,325.83,329.71,331.22,334.63,331.70,332.31,333.50,338.23,335.22,
-338.62,337.32,344.40,341.34,342.34,347.86,345.90,347.40,347.39,354.29,
-353.22,353.89,348.83,355.63,353.57,362.12,361.90,359.88,358.90,363.67,
-361.44,363.71,364.94,366.34,371.02,370.56,368.98,372.16,376.50,373.60,
-11.49,11.88,13.11,14.09,15.05,16.73,16.21,17.41,18.40,19.07,
-20.96,22.37,23.29,24.79,26.72,26.86,28.06,28.40,29.59,31.20,
-33.31,33.28,33.43,34.87,35.35,35.72,38.39,39.71,41.66,40.78,
-41.91,42.95,43.30,47.98,45.37,48.29,48.55,50.41,49.41,52.69,
-53.29,54.91,55.31,56.00,55.92,58.56,58.32,58.03,59.57,61.67,
-64.07,65.46,65.17,66.21,66.37,67.19,68.31,70.46,68.94,69.62,
-73.68,74.42,73.69,75.56,77.03,77.85,81.16,80.05,80.39,81.94,
-85.02,84.40,87.34,87.45,89.79,87.73,89.66,90.69,93.59,90.97,
-95.60,95.02,94.56,95.88,95.19,97.37,101.04,99.13,102.42,104.79,
-104.72,106.16,104.53,108.53,108.28,110.22,112.38,111.47,110.13,114.91,
-115.22,115.72,117.99,116.42,119.75,120.47,121.62,120.39,121.66,124.41,
-126.77,126.84,126.86,129.33,128.99,130.19,127.83,129.26,135.36,134.24,
-134.17,137.56,139.43,140.19,139.73,138.36,143.44,142.08,145.91,145.88,
-146.94,148.17,149.29,150.45,153.09,152.04,154.12,155.86,153.50,156.20,
-155.34,158.29,160.43,158.42,158.32,162.94,163.04,162.90,164.48,166.19,
-170.99,167.47,168.37,172.33,175.97,171.42,175.88,175.96,179.81,176.94,
-178.27,178.87,180.79,179.55,180.19,184.69,181.87,187.28,186.09,184.72,
-186.54,189.48,191.94,189.74,192.10,191.15,195.04,196.25,194.34,198.51,
-198.10,201.32,200.30,203.42,203.08,205.82,205.94,206.25,205.25,205.28,
-207.65,213.34,210.68,213.69,212.89,211.93,216.34,216.92,219.06,219.72,
-222.56,220.31,220.36,222.41,223.88,223.26,222.41,225.21,225.40,229.83,
-228.07,230.53,230.01,231.47,232.96,235.05,237.78,237.86,235.91,238.54,
-240.23,237.54,240.28,243.37,242.60,247.03,245.10,244.83,248.81,248.53,
-250.63,251.46,255.01,252.34,254.15,256.24,253.37,258.72,263.19,263.57,
-258.67,259.25,262.67,266.97,266.73,265.52,267.11,272.04,272.46,269.76,
-270.23,275.23,272.07,274.85,273.76,273.14,276.70,278.12,279.01,282.09,
-283.63,282.28,284.45,288.89,284.93,285.83,288.62,292.92,291.91,290.64,
-288.57,291.45,289.27,293.22,300.84,295.15,296.07,307.45,300.00,304.02,
-302.19,302.85,306.79,301.96,308.91,308.90,311.25,312.18,311.38,315.51,
-8.83,9.95,11.02,12.33,13.11,12.78,13.72,14.49,15.84,17.96,
-17.31,18.65,19.05,20.39,22.28,20.46,22.12,23.91,25.27,24.55,
-26.08,27.82,28.19,27.95,28.66,32.20,31.53,32.45,32.40,33.52,
-34.93,36.92,36.53,36.13,38.59,39.91,40.39,39.84,40.10,42.68,
-43.74,44.26,45.30,45.93,47.88,48.92,48.51,49.85,51.58,51.28,
-52.53,51.30,53.23,54.82,54.26,56.06,56.94,58.48,61.02,62.18,
-59.93,64.26,62.46,63.53,65.01,67.51,66.16,66.45,66.62,68.20,
-70.78,68.85,72.45,70.78,72.09,72.16,72.03,72.97,75.46,77.29,
-77.44,78.68,77.44,79.54,82.03,84.44,81.85,81.91,84.05,86.93,
-86.34,86.80,89.41,90.81,88.58,89.56,93.89,94.58,91.51,94.46,
-95.67,97.61,97.34,97.02,99.90,99.50,101.77,101.07,105.39,104.43,
-105.00,105.34,105.97,104.36,105.94,109.66,111.60,108.75,111.93,113.96,
-111.63,111.60,115.25,115.92,115.09,117.27,117.85,115.70,121.17,120.24,
-121.89,124.63,121.52,126.08,124.36,124.82,124.81,126.46,127.78,130.98,
-131.87,131.11,129.95,133.43,135.37,130.82,135.32,136.75,140.00,137.84,
-136.83,139.53,137.28,141.02,142.99,142.61,142.59,147.04,148.30,148.02,
-148.95,150.55,148.30,151.76,150.77,152.01,150.90,154.57,154.81,156.10,
-155.79,156.62,161.39,159.95,159.86,160.21,162.87,161.68,164.52,166.06,
-161.82,162.92,162.75,168.81,168.06,169.81,171.31,170.13,171.72,172.41,
-173.78,171.17,174.82,176.11,178.93,180.69,179.64,179.11,183.30,181.14,
-182.31,179.35,184.74,180.30,186.52,188.34,188.02,191.74,187.40,191.10,
-191.63,189.72,190.17,190.12,197.76,191.85,193.70,194.07,198.51,198.44,
-198.84,199.47,200.65,201.97,201.29,204.27,205.44,203.82,205.24,209.35,
-211.31,209.21,210.05,211.24,212.02,212.69,214.53,212.53,214.99,215.78,
-216.61,216.47,216.80,219.19,216.96,220.69,223.49,221.37,221.24,222.68,
-224.97,223.38,225.55,227.58,230.79,229.78,230.78,231.14,232.63,233.72,
-232.00,233.50,237.90,236.62,235.75,239.58,236.85,241.85,243.25,242.48,
-241.96,244.61,244.41,247.45,246.89,246.26,248.11,248.60,250.60,250.12,
-252.27,251.21,254.41,255.52,255.54,257.15,256.08,259.75,257.88,256.31,
-7.83,8.54,9.90,8.92,10.38,10.88,11.15,12.49,13.66,13.79,
-15.26,16.22,16.06,17.46,16.97,17.48,18.93,20.28,20.86,21.74,
-21.73,21.63,22.68,24.26,25.07,25.09,26.93,26.14,28.40,28.16,
-29.79,28.81,31.40,32.03,30.41,32.21,32.79,34.32,35.35,35.85,
-34.78,36.56,37.56,38.42,38.49,40.46,40.88,41.88,41.53,43.65,
-42.00,42.26,45.90,45.12,45.53,47.59,47.10,48.91,47.97,49.06,
-50.06,51.20,51.51,53.05,51.14,54.75,56.99,56.39,56.75,55.40,
-57.83,58.72,59.61,62.23,58.54,58.21,63.98,62.17,62.46,62.80,
-63.34,65.49,66.84,68.74,69.45,68.15,69.44,70.07,69.70,70.00,
-73.56,73.01,73.39,71.76,73.35,75.46,75.30,75.91,79.07,78.30,
-80.44,78.79,83.33,81.41,83.68,81.89,80.27,84.58,85.03,87.14,
-85.04,85.94,89.58,87.61,88.60,89.48,91.07,90.26,91.49,92.64,
-92.31,94.31,92.80,96.54,95.75,96.15,95.71,98.58,98.11,102.92,
-100.87,104.01,99.43,103.10,104.99,106.25,103.61,106.85,105.99,107.90,
-108.39,109.77,107.01,110.91,113.38,109.73,113.74,112.06,111.55,112.52,
-112.46,114.74,114.79,117.67,118.88,115.83,117.50,119.30,122.84,122.44,
-120.21,124.06,126.27,124.13,126.15,123.00,123.88,128.73,127.88,126.02,
-128.78,125.97,129.33,133.15,133.06,131.09,135.31,134.69,130.90,135.43,
-138.76,137.40,137.75,139.39,141.48,140.49,139.35,140.92,141.51,143.00,
-144.43,146.25,145.59,144.47,146.50,146.32,148.19,145.60,150.52,148.91,
-151.21,149.99,154.70,152.01,153.25,154.80,156.19,153.13,160.05,154.35,
-158.48,156.75,158.34,158.28,161.83,162.25,163.84,162.41,163.97,164.09,
-164.46,165.02,166.01,168.06,168.94,166.40,171.58,168.72,170.35,170.12,
-172.32,174.01,171.60,177.39,174.80,175.36,178.54,177.96,178.46,179.54,
-178.06,176.86,179.31,183.55,182.66,185.72,181.16,185.17,184.50,185.83,
-188.19,186.73,188.06,190.35,185.15,189.74,189.78,194.59,189.36,194.96,
-194.07,194.71,193.71,194.10,197.64,198.01,198.37,198.25,201.81,197.91,
-201.90,197.64,201.46,204.35,201.31,201.08,209.16,206.81,205.31,203.45,
-206.32,207.13,211.89,211.27,211.22,210.52,213.40,211.95,215.09,214.90,
-6.30,7.11,7.15,8.34,8.83,8.93,9.99,9.80,10.76,11.12,
-12.74,11.85,13.00,14.59,14.30,15.79,14.32,16.28,16.64,19.24,
-17.37,18.19,19.93,20.83,20.38,19.56,20.30,21.04,22.97,24.86,
-23.91,24.70,25.79,25.34,24.83,26.83,28.41,28.15,28.77,28.91,
-29.23,30.28,31.02,32.00,32.12,32.99,34.15,34.30,35.54,36.01,
-33.82,36.21,38.65,36.78,37.81,40.65,39.83,39.88,40.99,40.22,
-40.43,41.58,42.37,42.04,42.27,42.69,45.30,45.26,44.90,46.12,
-45.95,48.97,47.98,50.33,51.79,50.89,51.20,53.34,52.54,55.19,
-53.45,54.36,55.74,56.11,56.19,55.62,56.54,57.98,58.08,60.06,
-59.56,60.10,60.48,61.31,62.62,60.54,63.66,64.76,64.52,65.22,
-66.24,66.37,66.32,66.79,68.99,69.53,68.91,72.23,69.28,70.58,
-71.32,72.64,73.78,73.50,74.39,73.40,74.06,73.23,76.75,75.84,
-76.09,77.57,78.34,78.78,79.34,79.31,80.09,79.16,84.13,84.74,
-82.11,83.89,83.90,83.87,87.10,88.33,88.12,86.77,86.88,88.63,
-89.95,89.30,88.28,91.40,89.77,91.59,91.45,95.36,93.44,93.53,
-94.29,96.37,95.61,97.63,97.40,95.03,98.66,98.27,100.23,100.31,
-100.01,102.66,100.43,104.03,100.71,104.38,101.70,106.39,107.23,105.20,
-105.59,107.45,106.56,107.54,111.56,110.36,109.99,109.66,110.51,113.02,
-111.48,113.33,113.21,111.99,116.75,112.77,117.40,117.75,118.83,116.57,
-118.11,118.65,121.25,119.20,122.03,119.06,121.83,121.18,125.23,124.19,
-125.30,124.88,123.71,125.93,126.49,125.53,129.71,127.25,128.49,129.61,
-129.50,131.37,128.64,130.61,132.34,134.92,134.19,134.89,135.90,137.32,
-137.84,137.97,139.43,136.89,139.02,139.85,140.75,142.25,141.58,142.46,
-141.76,139.51,142.26,143.00,148.51,144.36,145.25,146.39,147.60,149.06,
-149.60,147.94,148.06,146.78,149.65,151.14,150.38,153.27,154.61,153.47,
-156.66,155.02,156.78,155.90,154.30,157.81,159.31,158.32,162.55,159.35,
-160.04,161.64,159.97,160.62,161.48,164.12,162.51,160.12,163.33,165.03,
-164.53,165.63,166.68,167.85,166.05,166.36,168.41,172.55,168.05,172.30,
-173.06,170.46,173.48,169.59,172.19,174.10,178.59,174.74,176.81,173.66,
-5.02,6.06,6.02,6.15,6.91,6.83,7.61,8.63,9.63,9.74,
-10.30,10.04,10.95,11.25,11.66,12.51,13.77,12.41,13.66,14.37,
-15.67,15.94,15.98,17.53,17.37,17.26,15.89,18.65,19.12,19.21,
-19.25,20.72,20.68,21.15,21.21,22.98,22.40,22.43,24.59,24.21,
-24.73,26.09,25.19,27.27,26.81,26.10,27.45,27.01,28.76,28.85,
-28.57,29.77,29.14,30.26,31.68,31.29,34.48,33.01,34.21,34.70,
-33.40,35.29,35.93,35.97,35.96,36.61,38.50,38.18,38.66,39.70,
-38.67,40.06,39.80,40.35,40.73,40.90,42.70,41.46,42.84,43.48,
-44.86,44.04,46.49,45.13,46.24,46.95,49.19,47.37,49.51,48.60,
-49.48,48.51,49.74,49.82,49.26,51.01,54.60,53.29,53.32,53.66,
-54.37,55.71,55.07,54.82,57.11,55.97,56.04,58.05,59.12,59.41,
-60.31,61.18,59.71,61.25,61.78,58.84,60.19,63.21,64.12,64.69,
-62.97,62.61,61.63,64.50,66.09,66.80,65.25,65.44,66.14,66.18,
-68.64,69.51,69.72,70.59,69.63,71.82,70.33,71.97,73.98,72.24,
-74.19,71.48,75.03,75.00,74.62,73.97,76.22,77.07,78.42,80.62,
-80.19,80.92,77.42,80.55,80.52,81.11,81.30,83.14,80.90,83.63,
-83.86,83.37,84.66,84.97,84.68,86.48,83.76,86.71,87.56,87.09,
-89.96,86.62,87.67,90.16,91.30,92.20,90.75,92.07,93.87,93.01,
-93.72,93.24,92.39,93.35,93.50,96.41,95.22,98.35,99.97,95.59,
-99.42,96.47,97.43,98.75,99.35,100.50,101.02,98.39,102.06,104.29,
-103.73,103.73,104.05,104.03,104.94,106.63,102.89,105.52,104.29,106.67,
-109.15,107.21,107.66,108.86,109.73,112.51,114.59,109.61,111.73,114.80,
-112.16,110.61,110.52,110.86,115.55,112.90,117.48,114.54,116.30,119.18,
-117.77,120.02,117.17,120.59,119.51,116.60,121.33,116.75,121.24,122.39,
-122.98,123.54,122.48,122.85,126.76,124.34,122.27,124.71,125.83,128.49,
-122.86,127.75,128.33,126.45,127.56,129.43,127.97,131.25,134.11,130.54,
-130.70,132.74,131.43,133.37,134.05,134.00,135.62,138.32,139.20,132.94,
-134.82,140.10,137.20,138.42,139.81,137.00,139.73,140.72,140.88,144.75,
-142.83,144.13,144.59,141.30,145.29,145.97,146.66,145.69,147.11,145.70,
-4.60,4.91,5.25,5.68,5.45,6.18,7.00,6.62,7.43,7.52,
-8.82,8.79,8.49,9.62,9.62,9.54,9.97,11.57,11.47,12.18,
-12.50,12.69,13.93,13.09,13.51,14.24,14.07,15.72,16.31,16.34,
-15.58,16.75,18.27,17.61,17.49,18.36,18.73,19.99,19.13,20.15,
-21.05,20.81,20.98,21.38,22.74,22.61,22.26,22.27,23.57,24.42,
-23.04,24.06,25.18,25.72,25.36,26.57,26.18,27.06,28.98,26.73,
-28.97,29.11,28.44,28.38,29.76,28.73,30.92,31.78,30.29,33.24,
-32.86,32.29,34.56,34.58,32.61,34.45,36.43,34.60,36.25,34.30,
-36.10,35.10,38.58,37.75,38.59,36.78,39.05,38.64,38.85,40.29,
-41.53,41.81,40.51,41.77,41.67,42.35,41.99,43.47,42.70,42.94,
-44.31,44.73,45.76,46.85,45.56,46.76,45.01,45.89,46.21,47.57,
-46.46,47.70,51.37,49.77,51.14,52.24,50.83,49.97,51.23,52.12,
-52.41,53.10,52.75,53.33,55.64,53.38,55.85,55.08,54.37,56.79,
-58.08,55.07,57.52,56.28,56.81,60.99,59.73,57.82,58.41,60.71,
-61.12,61.26,62.39,60.35,64.34,64.05,61.30,63.94,62.15,63.08,
-62.92,64.81,66.99,63.27,64.74,66.93,67.13,67.45,66.16,69.30,
-67.21,70.36,68.82,67.27,69.98,69.00,69.72,70.58,70.84,73.03,
-74.96,70.58,73.11,74.30,74.28,72.38,75.62,76.22,75.97,76.28,
-78.60,77.62,77.20,80.22,78.34,77.40,77.98,77.28,80.30,79.19,
-80.03,80.63,80.92,80.40,81.77,82.14,82.75,83.21,84.11,83.54,
-83.36,85.77,84.50,85.61,88.29,85.80,86.14,87.27,87.18,88.08,
-92.12,87.35,90.75,85.58,91.44,90.33,90.99,91.92,89.71,94.17,
-92.27,91.42,94.90,95.26,94.01,93.48,92.20,95.15,93.53,95.52,
-97.70,95.66,98.03,95.77,99.42,98.01,95.87,102.60,98.23,102.96,
-101.18,100.02,102.39,99.80,100.82,101.65,104.58,101.06,102.31,102.37,
-108.27,104.92,104.74,107.84,109.02,109.88,107.29,107.47,107.81,108.51,
-107.99,109.38,109.56,109.18,109.02,111.25,111.05,111.13,111.00,113.30,
-111.78,113.91,113.93,110.67,114.13,116.92,116.41,115.91,117.18,116.52,
-116.36,117.03,116.48,120.78,117.14,119.62,119.00,118.43,118.00,122.73,
-2.98,4.08,4.50,5.29,4.30,4.67,5.22,5.58,6.08,7.43,
-6.37,7.07,7.67,8.04,7.66,8.52,8.03,9.00,9.42,9.88,
-9.82,10.01,10.96,10.98,11.08,12.35,12.23,12.67,13.23,12.93,
-14.07,14.00,13.83,14.97,15.16,15.15,15.64,15.10,15.52,16.46,
-16.78,16.05,15.29,17.07,19.32,17.38,17.54,18.50,20.29,17.99,
-19.77,20.74,20.70,21.30,22.45,21.91,22.07,21.63,21.58,21.89,
-22.48,23.29,24.58,23.80,23.27,24.93,25.60,25.12,26.64,27.03,
-25.80,27.16,26.94,28.41,27.70,27.20,30.23,27.56,28.40,31.79,
-28.74,29.72,30.50,31.02,31.54,33.50,30.79,33.64,32.82,33.23,
-32.83,33.64,34.93,31.73,34.94,34.89,34.46,36.42,37.06,37.46,
-37.04,35.77,37.96,36.68,37.26,37.45,38.34,38.20,39.36,39.40,
-39.00,40.41,40.74,40.71,41.28,43.41,40.95,42.38,42.41,43.09,
-42.47,42.48,44.86,45.33,45.42,44.03,45.72,46.16,46.43,45.98,
-44.52,44.59,46.66,45.93,46.87,47.29,47.98,47.48,47.04,50.02,
-51.82,50.66,49.25,50.78,52.56,48.56,51.19,51.49,52.37,51.99,
-52.60,53.20,54.76,56.04,53.92,54.30,53.40,54.22,56.69,55.55,
-55.76,56.30,58.66,58.64,56.20,56.24,61.01,56.10,58.09,57.10,
-58.91,59.04,61.02,60.92,61.78,61.31,61.59,63.62,63.23,61.09,
-63.00,64.05,63.08,63.56,64.63,65.68,64.05,64.75,64.78,66.96,
-66.26,64.98,66.72,67.36,67.03,69.17,67.98,67.83,67.74,68.38,
-70.13,70.39,68.27,68.77,72.60,71.73,70.10,69.66,72.17,70.88,
-70.20,72.59,74.17,72.79,74.23,75.09,75.29,75.95,77.71,76.28,
-75.20,75.51,76.12,75.46,76.15,78.97,80.25,77.13,78.68,80.36,
-77.68,79.97,79.77,82.10,78.93,83.27,81.49,82.82,81.44,83.31,
-83.73,81.00,83.58,83.31,82.72,84.22,82.21,85.22,82.68,85.64,
-85.16,85.50,88.50,85.32,86.05,87.53,90.33,87.08,89.83,88.77,
-88.61,90.08,89.48,88.77,91.48,92.73,91.34,90.87,93.52,90.37,
-93.18,94.94,93.53,93.45,92.37,92.90,93.32,94.29,95.10,95.91,
-96.95,93.60,98.53,95.28,96.53,99.67,95.55,98.50,96.71,97.65,
-2.56,2.74,3.68,3.93,3.99,3.96,4.50,4.01,4.42,5.52,
-5.08,6.11,6.36,6.54,6.99,6.72,8.38,7.43,7.52,8.43,
-8.67,8.05,8.96,8.90,9.30,10.48,9.55,10.75,9.82,10.92,
-10.78,11.74,12.23,10.95,12.16,12.36,13.05,12.98,13.51,13.53,
-13.80,15.41,14.68,15.04,15.37,13.89,15.17,15.30,15.12,15.89,
-16.63,17.80,17.12,16.67,18.43,18.54,18.61,18.63,20.35,18.77,
-19.30,17.55,19.43,20.20,20.49,20.10,20.87,20.85,21.30,22.51,
-22.30,21.39,23.39,23.21,23.11,23.21,22.80,23.41,23.38,25.00,
-24.78,25.62,24.99,25.58,24.62,25.08,26.38,24.62,27.42,25.50,
-27.46,28.45,26.71,27.10,28.92,28.76,29.15,28.91,29.59,29.54,
-27.98,30.70,29.48,29.98,30.58,29.25,32.43,31.53,31.49,32.50,
-32.88,32.59,32.49,35.30,35.08,35.51,32.99,35.15,36.98,34.97,
-35.20,35.03,34.35,37.02,35.66,37.26,38.91,37.21,38.85,37.64,
-40.57,38.26,37.82,37.95,38.35,39.14,39.95,38.64,37.80,40.02,
-41.06,40.42,40.20,41.90,42.37,39.96,44.21,43.76,42.67,44.47,
-44.78,43.28,44.05,44.79,43.78,46.45,45.39,43.17,44.42,46.89,
-45.08,46.21,46.68,45.76,48.04,48.75,47.97,48.94,49.85,48.31,
-49.73,49.03,50.44,49.23,50.21,50.99,51.08,50.56,52.22,51.88,
-53.32,51.85,52.96,53.94,52.26,52.37,53.85,53.65,51.58,55.21,
-53.46,57.99,55.15,53.74,57.65,52.57,56.17,54.26,57.33,57.28,
-54.89,58.51,56.11,59.27,59.42,59.16,58.41,60.81,58.50,59.89,
-57.69,59.78,62.50,58.95,61.10,60.63,60.94,62.96,63.27,60.99,
-62.32,63.25,63.67,63.23,63.55,64.93,62.75,62.41,65.56,66.07,
-65.72,62.32,64.50,65.12,67.13,66.51,69.09,67.22,66.99,67.91,
-67.16,69.28,69.17,65.77,69.61,69.96,68.64,69.38,69.03,71.00,
-69.42,69.24,71.42,74.09,70.62,75.22,72.46,72.17,70.93,72.89,
-73.44,71.28,74.61,75.54,71.72,73.39,74.95,73.59,76.15,72.76,
-74.06,74.50,77.47,74.84,77.96,76.86,77.16,77.26,77.76,76.05,
-79.67,76.24,81.27,78.61,82.28,78.11,78.89,78.96,80.19,81.60,
-2.27,2.51,2.45,3.62,3.11,3.96,3.54,3.82,4.24,4.19,
-5.12,5.37,5.13,4.71,5.84,5.24,5.36,6.21,5.83,6.23,
-6.11,6.55,7.23,7.03,7.31,8.06,7.91,7.50,8.22,8.29,
-8.40,9.85,9.11,9.39,9.88,10.35,11.57,10.47,10.95,11.89,
-10.96,11.15,11.96,12.34,11.53,11.85,12.55,12.50,13.33,13.06,
-13.57,13.72,13.67,15.72,14.55,14.18,15.27,15.16,15.29,15.70,
-16.22,16.85,16.67,16.22,16.48,16.54,16.97,17.59,17.49,17.85,
-17.55,17.82,17.54,18.62,18.80,18.32,18.01,17.69,18.93,20.91,
-20.97,20.23,20.89,20.84,18.41,21.16,21.76,21.63,22.58,21.63,
-22.45,22.53,22.09,23.69,23.49,23.02,23.71,24.21,23.14,23.10,
-25.25,24.44,24.74,24.24,25.29,24.55,26.44,25.70,27.29,25.82,
-25.44,26.44,27.53,28.24,27.65,26.47,26.98,26.41,28.73,27.38,
-29.73,29.46,28.92,30.59,29.88,30.07,31.77,31.07,31.00,30.61,
-32.83,30.95,30.78,32.76,32.78,33.50,33.11,32.17,32.73,34.61,
-34.59,33.36,33.83,34.05,34.20,33.85,32.80,34.46,35.51,34.09,
-34.84,36.41,36.10,33.27,36.21,36.32,38.68,39.46,36.85,37.93,
-36.74,36.65,39.54,35.99,37.83,39.79,38.47,37.81,38.37,40.56,
-40.00,39.79,40.39,39.64,39.36,40.70,44.00,41.36,42.49,40.43,
-41.26,42.16,42.58,42.81,42.37,43.45,44.27,43.86,43.37,42.56,
-43.59,44.10,44.45,45.19,45.59,45.88,45.12,48.01,45.67,46.60,
-46.69,45.72,47.45,45.97,46.93,48.17,48.56,47.19,49.75,47.99,
-50.60,49.89,48.55,49.39,51.88,49.15,50.28,51.25,49.83,50.99,
-51.52,51.24,51.80,52.03,53.31,52.76,51.25,52.61,51.23,52.14,
-53.94,53.71,53.29,53.29,54.83,52.44,53.99,55.82,55.66,56.13,
-54.73,55.83,54.81,58.98,55.54,57.54,58.59,57.63,56.64,56.10,
-56.52,57.52,56.17,59.92,60.32,57.13,59.12,59.87,58.92,59.03,
-59.45,61.22,60.17,60.96,61.89,59.57,61.43,61.28,61.72,62.72,
-62.23,64.76,61.69,61.99,63.26,61.69,60.86,63.69,62.50,64.47,
-65.85,63.71,64.02,66.10,62.99,66.07,64.85,64.26,66.38,66.32,
-33.71,38.39,41.41,44.19,47.07,50.04,54.20,57.58,61.97,62.48,
-66.89,70.24,75.22,76.70,81.55,83.82,86.14,90.10,93.90,96.82,
-101.04,104.08,105.86,108.85,111.24,117.39,120.73,123.98,125.17,130.69,
-134.49,136.19,138.42,143.16,145.80,150.54,153.54,157.44,160.43,163.58,
-165.48,168.62,171.85,175.50,179.03,183.57,186.68,190.10,193.21,197.06,
-197.92,201.57,205.15,208.62,213.92,216.60,220.05,220.68,225.71,230.05,
-234.07,235.45,235.13,242.23,245.16,247.69,251.85,253.63,257.78,261.24,
-261.99,268.95,272.67,273.97,274.83,281.06,286.30,291.60,294.17,294.13,
-294.72,303.04,305.59,309.00,311.08,314.74,318.80,322.20,322.42,326.75,
-332.85,333.67,336.46,341.58,345.47,343.66,351.65,351.35,358.07,362.82,
-364.40,369.26,371.24,374.38,378.87,383.03,385.66,386.37,393.03,395.26,
-397.54,402.91,403.18,408.53,408.74,415.03,414.23,420.89,423.40,425.73,
-430.00,433.53,437.05,436.55,442.78,443.76,448.64,452.78,453.77,462.37,
-464.82,464.72,467.40,471.87,475.01,477.25,482.96,485.59,488.57,493.10,
-494.62,496.92,500.75,508.53,506.96,510.92,513.13,519.18,521.41,526.46,
-528.83,531.59,539.75,539.52,541.60,548.42,546.97,549.03,555.16,558.81,
-557.57,562.36,573.05,569.50,574.33,577.65,580.96,584.31,585.38,590.85,
-593.57,600.23,598.27,603.62,607.35,613.70,611.03,621.06,619.24,626.79,
-631.55,629.36,635.63,634.91,642.25,645.87,647.59,646.88,651.92,652.85,
-664.26,663.73,667.70,668.82,673.53,678.35,683.06,689.54,686.08,692.44,
-692.36,697.44,698.73,702.32,705.05,709.75,711.33,720.06,719.37,722.85,
-728.14,727.77,732.18,738.19,741.09,743.82,746.25,747.56,753.54,755.74,
-760.25,756.63,766.95,771.34,780.72,774.21,781.42,781.64,780.99,791.09,
-795.92,798.73,801.40,800.46,806.40,805.76,814.89,814.60,816.29,817.02,
-822.53,826.13,830.70,834.03,835.21,845.39,840.68,845.48,850.77,854.37,
-859.86,863.68,864.10,870.32,874.40,874.29,879.62,878.55,883.64,886.45,
-887.79,894.02,901.23,902.77,906.32,907.85,910.64,915.23,920.55,925.14,
-925.83,924.31,932.36,933.04,935.77,938.40,948.31,943.50,950.57,954.03,
-954.77,958.66,963.42,970.24,972.73,972.84,976.35,977.09,983.39,988.88,
-27.62,31.72,35.41,38.40,41.46,43.26,45.10,48.79,51.59,53.88,
-57.55,59.68,64.23,66.99,68.65,72.81,75.21,77.02,81.28,84.44,
-84.86,88.03,91.01,95.24,96.13,101.16,102.75,107.07,107.25,111.99,
-113.94,117.76,119.53,123.61,127.00,126.73,129.81,132.89,136.94,140.81,
-143.49,144.29,147.94,151.78,153.58,157.91,157.77,161.63,162.22,168.66,
-172.46,174.49,174.88,177.06,181.42,186.17,187.79,188.78,191.90,195.98,
-198.63,201.26,202.63,208.47,210.17,213.91,216.04,216.34,220.60,222.75,
-226.69,231.12,233.09,235.92,238.66,241.28,245.75,244.23,248.27,250.81,
-254.75,260.44,258.51,263.43,268.40,268.01,271.89,275.92,276.88,279.82,
-284.35,286.24,289.38,293.69,295.24,297.13,302.38,303.83,307.90,311.71,
-313.18,317.09,316.68,322.61,319.31,325.00,328.04,332.19,333.97,334.43,
-339.18,342.84,344.83,352.36,349.84,351.24,354.75,357.74,360.39,366.39,
-368.44,370.48,372.59,378.52,378.26,381.71,386.33,387.81,390.98,388.72,
-399.40,398.58,400.59,406.32,408.84,411.88,415.32,421.50,420.66,424.41,
-424.69,428.00,432.96,430.38,436.67,435.95,441.19,444.60,447.82,449.84,
-453.00,456.77,461.26,458.61,462.08,469.87,471.04,476.72,477.11,477.73,
-479.56,489.50,488.14,491.96,491.65,493.29,495.88,497.85,507.53,503.16,
-510.79,508.50,516.77,515.87,520.99,528.13,527.42,532.42,538.39,531.47,
-532.74,538.12,540.07,548.51,547.64,550.59,555.44,557.88,561.83,559.75,
-569.10,569.66,574.13,574.64,576.33,581.95,583.74,588.89,586.09,595.12,
-591.61,600.21,597.34,601.23,606.58,608.30,611.82,612.22,615.17,624.04,
-627.73,626.91,625.16,635.07,634.85,634.64,641.92,640.06,637.23,647.59,
-649.13,652.79,660.76,661.65,658.46,663.10,664.58,665.99,672.73,677.76,
-675.97,683.87,686.35,684.78,690.35,692.85,696.00,694.81,701.53,703.17,
-706.57,712.99,715.21,714.86,723.46,718.84,721.88,723.79,733.39,727.19,
-738.41,737.98,736.96,739.92,746.55,749.70,751.46,754.88,759.29,760.64,
-761.63,768.11,765.69,766.26,771.47,774.43,782.37,781.03,788.78,786.74,
-790.67,790.66,799.11,800.61,801.65,806.71,811.68,811.93,814.86,818.05,
-823.81,826.01,826.98,827.79,829.44,833.90,840.98,836.16,843.14,842.28,
-24.87,26.95,29.30,33.02,35.23,37.53,39.72,41.59,43.79,47.26,
-48.90,51.50,54.55,55.99,58.76,60.84,64.33,65.62,67.42,70.85,
-72.22,74.89,78.94,81.40,84.76,85.54,87.62,89.62,91.55,95.18,
-98.68,98.97,101.13,104.27,106.80,109.76,113.86,113.10,116.28,119.46,
-121.72,124.70,125.51,128.19,132.54,134.04,134.86,138.36,142.05,143.80,
-143.68,146.97,151.76,152.86,152.89,159.26,160.13,163.79,165.28,167.11,
-168.89,173.06,175.13,175.59,176.59,180.62,182.40,185.45,187.38,191.63,
-194.62,198.12,195.95,202.28,203.42,206.40,209.71,211.15,211.12,218.35,
-216.81,221.94,226.25,226.72,227.14,228.73,234.57,235.64,237.84,240.42,
-239.13,245.93,245.80,248.03,251.93,253.87,255.30,260.72,261.60,263.85,
-266.60,267.54,269.61,272.99,278.15,276.61,278.49,285.51,281.15,289.23,
-289.10,292.63,295.87,294.51,304.75,302.11,306.47,308.76,310.69,314.32,
-318.68,314.68,319.47,322.07,322.45,324.45,329.57,332.31,333.64,333.60,
-340.17,341.46,342.88,346.26,347.42,353.39,352.54,353.71,359.07,358.79,
-358.89,361.96,367.51,369.54,370.13,373.54,380.72,378.43,386.70,385.98,
-384.77,388.29,389.70,390.58,393.88,399.54,403.17,404.20,402.60,411.21,
-408.51,413.26,411.86,418.19,420.14,418.35,424.13,428.22,431.67,428.21,
-436.78,431.66,442.90,441.90,451.36,446.26,443.85,451.33,452.76,454.82,
-458.80,461.74,462.14,470.65,470.08,472.54,474.28,473.81,484.15,478.22,
-482.79,487.94,485.65,489.16,496.40,494.78,498.77,500.88,500.05,506.80,
-500.19,508.76,510.92,515.91,516.83,522.24,519.56,527.82,524.47,527.75,
-532.03,533.99,537.09,540.08,541.53,541.88,541.92,546.67,551.23,555.72,
-557.02,554.83,557.13,561.98,563.26,567.82,568.98,570.88,575.97,579.80,
-579.88,583.21,581.46,587.34,593.73,590.55,592.19,595.16,598.66,600.27,
-604.66,611.49,608.43,611.43,613.89,614.04,619.30,622.61,623.18,623.93,
-631.02,627.78,633.80,629.70,638.00,641.49,642.75,646.82,647.16,649.02,
-649.17,656.03,653.57,656.98,661.54,662.15,667.18,665.64,674.81,673.21,
-678.21,678.43,677.46,678.67,684.29,686.45,690.35,697.21,694.00,695.92,
-701.45,698.92,705.44,706.03,710.37,713.81,712.87,714.48,719.13,727.30,
-21.37,23.15,25.49,26.34,29.93,30.35,34.54,36.66,37.35,40.63,
-42.15,43.93,45.96,47.79,50.14,52.86,53.98,55.83,58.38,60.45,
-60.93,65.11,66.84,68.52,69.64,71.42,74.94,78.49,79.11,79.85,
-81.73,85.31,85.58,88.61,91.42,95.17,95.89,96.14,98.58,99.89,
-104.06,105.13,107.92,109.57,112.93,115.09,117.13,118.21,117.71,120.35,
-120.05,126.16,128.33,129.03,131.13,132.96,137.50,138.92,141.42,142.67,
-145.99,144.90,146.97,149.97,152.26,154.33,155.85,159.53,162.44,161.22,
-161.96,169.91,170.20,169.70,174.51,175.16,179.70,180.78,181.85,183.62,
-185.64,186.18,189.14,194.70,194.20,196.44,199.16,198.51,202.50,203.80,
-205.32,209.66,210.88,211.92,217.56,214.17,218.55,218.80,222.74,225.10,
-226.92,228.49,230.95,233.38,237.44,237.98,238.13,241.22,243.28,246.05,
-248.37,249.54,252.21,252.66,256.50,257.29,257.94,260.46,264.14,265.17,
-267.97,267.38,272.64,271.70,271.25,277.89,277.81,281.91,284.21,282.51,
-292.06,292.43,291.45,292.03,294.79,294.93,298.78,304.63,304.87,306.49,
-310.54,310.61,315.93,312.51,316.92,319.51,321.28,320.94,327.54,324.14,
-329.77,328.77,331.80,332.27,333.23,338.14,340.38,345.82,344.13,346.23,
-350.61,348.09,351.45,356.39,356.37,356.87,359.01,359.86,363.94,368.59,
-370.21,370.34,369.13,375.08,378.17,377.67,382.06,385.37,388.21,384.25,
-388.65,392.64,393.86,396.87,399.43,400.35,401.90,403.27,407.27,405.29,
-408.76,413.66,415.23,419.30,417.08,423.92,422.23,421.28,429.86,428.56,
-434.20,429.85,438.47,437.32,437.20,440.05,445.48,446.56,448.52,448.88,
-451.44,451.37,452.59,454.22,459.14,468.36,461.94,464.26,470.18,467.54,
-475.15,473.48,472.30,479.20,481.24,482.48,484.07,487.15,487.15,492.58,
-487.97,493.14,500.92,494.57,498.50,506.40,507.02,503.13,512.95,511.38,
-510.22,514.25,518.87,519.17,522.32,522.84,523.25,523.35,526.74,535.54,
-532.94,536.80,536.34,539.71,537.89,543.72,548.51,548.89,550.27,555.84,
-555.65,551.40,557.75,561.27,562.08,558.91,566.32,565.63,565.48,569.08,
-576.29,575.49,580.50,579.48,584.05,585.40,584.68,589.02,590.31,593.01,
-594.45,596.30,598.73,602.08,605.02,602.19,602.32,610.30,612.11,611.05,
-19.21,19.78,20.63,23.04,24.15,27.79,28.75,30.20,32.26,32.57,
-34.89,37.73,38.97,40.32,42.23,45.82,45.66,49.36,48.69,51.77,
-52.95,54.84,54.99,57.24,58.68,61.72,62.50,66.71,66.37,67.00,
-69.93,72.42,73.88,74.15,76.68,78.74,79.47,82.39,83.68,84.50,
-85.57,89.96,91.23,92.42,94.31,95.33,94.32,98.80,100.52,102.52,
-105.69,106.49,108.00,110.92,110.27,115.55,116.24,115.72,118.13,121.45,
-121.16,125.33,127.67,126.71,130.02,132.31,133.10,135.06,135.86,141.31,
-138.99,137.91,143.28,146.53,149.53,149.16,150.16,152.01,151.35,155.70,
-159.02,158.51,161.09,164.68,161.13,167.44,166.92,165.12,171.46,170.26,
-174.59,178.41,176.03,179.33,180.47,183.19,181.86,186.78,185.81,192.60,
-192.11,192.45,195.51,197.90,202.01,199.58,200.29,203.72,207.24,206.14,
-209.27,210.34,212.56,214.91,217.45,219.55,220.61,217.60,220.86,228.41,
-224.32,229.72,228.19,231.80,230.70,233.94,234.85,242.73,240.82,241.94,
-243.79,246.37,248.70,248.11,248.71,251.19,254.66,255.42,257.56,260.85,
-259.25,263.92,264.61,268.31,267.52,271.26,269.60,272.79,274.81,272.39,
-276.12,277.53,279.22,283.37,286.06,284.41,287.95,295.04,291.18,295.20,
-295.13,298.56,299.57,300.51,304.31,305.18,308.55,310.08,310.94,314.68,
-316.94,314.88,319.69,316.35,321.37,318.71,326.53,321.87,324.36,327.39,
-332.96,329.87,336.92,335.27,339.28,335.54,343.30,343.29,346.12,346.05,
-349.25,348.49,355.25,353.48,347.56,357.56,360.29,359.01,362.79,358.55,
-360.19,368.66,366.87,371.43,372.04,374.78,375.89,378.38,380.07,381.01,
-382.76,381.62,383.22,386.96,387.06,394.20,397.02,394.86,394.72,399.69,
-394.76,402.77,400.14,404.56,404.87,407.77,407.97,407.55,420.57,414.22,
-417.12,418.07,419.59,422.91,422.51,427.98,422.36,430.27,430.39,431.51,
-435.36,431.99,438.88,440.65,443.65,442.83,442.57,444.73,448.07,453.10,
-449.78,455.50,453.43,454.26,462.91,457.45,463.98,462.94,464.91,468.75,
-469.36,466.80,474.93,481.02,479.21,483.23,477.82,480.48,484.61,485.87,
-485.71,488.79,487.34,494.24,493.64,496.93,493.68,495.52,500.22,504.81,
-509.07,509.28,508.95,506.78,510.46,512.79,512.05,516.03,512.72,519.45,
-15.20,16.46,18.00,19.76,21.90,21.43,23.29,25.66,27.72,28.09,
-30.00,30.48,33.31,33.46,34.65,37.96,38.72,41.06,41.65,42.73,
-44.68,47.53,47.91,49.68,49.66,51.86,53.65,55.08,56.00,57.40,
-60.34,61.60,61.89,62.66,64.99,65.54,69.61,70.18,71.80,73.02,
-73.50,76.73,76.35,80.62,81.02,82.74,80.44,82.33,84.21,86.45,
-86.25,90.95,91.22,90.56,93.28,93.90,98.39,98.40,99.82,101.66,
-101.96,105.92,103.52,105.06,109.80,109.51,110.38,112.05,113.95,115.66,
-116.25,119.58,121.69,119.22,123.03,126.41,125.14,129.33,129.74,132.72,
-132.88,131.26,134.76,136.98,139.23,141.54,141.79,141.74,144.13,145.11,
-144.98,145.29,150.29,151.49,155.29,153.96,157.91,159.55,161.47,161.53,
-162.37,163.97,167.14,165.52,169.20,172.02,169.65,171.99,175.61,173.03,
-176.11,177.04,180.10,180.37,181.57,181.69,187.19,188.05,187.58,189.85,
-191.83,194.62,195.77,193.78,202.54,197.48,199.30,201.85,202.53,205.83,
-206.65,203.82,209.86,208.85,211.80,210.75,213.13,216.52,216.52,218.93,
-219.75,221.03,222.74,223.26,227.35,228.58,229.04,230.59,234.16,231.94,
-234.78,235.81,236.97,240.00,240.97,244.92,244.28,248.51,248.10,248.54,
-249.66,248.46,254.15,253.98,254.21,262.55,259.55,260.49,261.51,262.99,
-263.99,267.27,266.51,271.25,269.83,273.69,275.89,273.41,276.71,277.36,
-279.47,279.01,284.66,279.70,281.81,285.54,288.68,286.98,288.61,293.34,
-290.63,296.05,296.45,297.46,301.35,304.63,304.12,304.70,304.08,305.96,
-304.20,313.36,310.99,312.41,313.73,315.14,315.97,316.36,319.06,321.55,
-322.40,320.67,324.41,327.57,329.46,328.81,334.18,334.20,334.87,337.22,
-338.39,341.18,336.58,343.33,341.99,346.42,347.86,345.82,347.55,350.12,
-353.36,358.06,354.41,356.78,356.56,360.14,361.53,357.16,365.16,363.14,
-369.27,366.24,371.32,375.13,374.63,369.97,377.28,378.03,380.86,383.26,
-381.75,381.98,386.13,384.68,386.55,391.90,392.64,392.02,388.48,390.85,
-397.99,396.50,398.36,404.10,406.54,402.95,408.18,407.44,406.94,409.42,
-413.41,417.76,412.28,417.20,416.02,417.76,419.43,420.17,424.74,423.73,
-421.71,425.89,429.07,431.20,432.18,431.32,433.00,436.34,432.32,442.88,
-13.28,13.56,14.27,16.91,17.16,19.41,19.92,21.20,23.34,24.70,
-25.20,26.93,28.88,30.48,30.56,31.55,32.71,32.63,34.31,37.95,
-37.44,37.85,40.16,40.37,42.38,43.36,44.15,45.92,46.94,48.89,
-50.47,50.44,51.96,52.68,53.56,56.62,55.40,58.89,59.46,60.08,
-63.31,62.04,63.03,66.35,65.82,68.18,69.80,71.35,71.25,72.37,
-73.86,75.30,76.74,78.05,78.31,82.21,83.67,81.36,83.40,86.18,
-86.64,89.67,88.21,90.01,91.76,93.46,93.50,94.46,96.66,97.88,
-99.09,99.56,100.74,105.39,102.73,105.99,107.53,107.60,109.30,110.30,
-114.12,110.91,113.31,115.30,115.47,116.82,120.17,118.76,122.37,121.80,
-123.18,123.42,125.48,128.43,129.02,132.11,131.00,132.86,136.28,133.26,
-138.40,135.76,139.49,140.62,141.57,142.83,142.26,144.32,146.99,147.81,
-150.45,151.17,151.05,152.19,154.69,152.86,156.27,155.18,155.65,162.96,
-163.44,160.26,165.43,165.75,165.94,167.17,166.43,168.89,168.87,171.07,
-172.62,172.61,176.33,178.66,177.09,180.33,181.57,182.48,179.58,187.14,
-186.33,188.65,186.76,187.91,188.89,193.39,194.04,195.32,195.74,194.60,
-196.71,199.91,201.10,200.34,207.78,204.59,207.59,205.68,207.83,209.33,
-208.33,210.76,212.70,214.33,216.03,217.97,216.91,216.65,220.10,222.22,
-225.32,224.48,224.87,225.98,229.12,228.36,230.67,233.31,232.53,233.50,
-235.89,237.15,236.72,237.27,235.20,241.24,238.76,243.16,245.91,245.53,
-245.54,246.78,254.13,247.39,249.88,253.27,255.17,258.41,258.06,259.47,
-262.38,261.10,264.28,261.05,264.55,265.63,265.69,271.77,264.99,272.10,
-275.67,272.65,276.79,273.79,282.65,277.97,279.54,283.42,282.51,285.10,
-285.62,287.19,284.45,291.11,290.70,290.39,293.20,292.05,293.66,291.91,
-297.75,296.20,301.22,298.98,305.62,302.98,299.84,305.27,304.15,305.75,
-306.38,312.81,312.48,314.22,311.84,315.44,316.69,314.89,315.95,321.23,
-320.32,327.80,320.56,322.24,326.85,332.74,328.47,330.57,335.30,330.84,
-336.44,334.75,338.88,335.38,338.06,339.82,340.52,337.36,349.19,343.76,
-347.17,346.99,351.58,349.18,353.56,351.94,357.23,354.87,355.12,356.10,
-358.56,361.63,363.06,360.68,361.76,362.88,366.50,369.06,367.37,370.99,
-10.59,12.24,12.80,13.59,14.77,17.33,16.83,18.61,18.02,20.69,
-20.21,22.05,22.19,23.46,25.73,25.78,28.36,27.65,29.09,29.81,
-30.81,32.26,33.36,35.61,36.36,37.04,37.70,38.79,40.75,41.21,
-41.41,41.99,42.94,45.05,44.86,47.90,50.38,48.93,50.68,51.09,
-53.70,51.88,55.26,55.08,57.59,56.90,58.61,59.59,61.46,61.48,
-62.41,64.07,64.55,65.95,65.16,68.55,70.46,70.62,71.31,72.51,
-73.28,72.49,75.16,77.85,75.40,78.08,78.27,79.98,82.57,81.15,
-81.61,85.15,85.57,88.12,89.89,90.10,88.47,88.94,90.47,93.40,
-95.19,95.42,95.39,92.75,98.49,98.98,99.57,101.12,101.75,101.90,
-106.59,104.19,106.25,106.80,108.42,109.33,110.33,111.47,110.09,113.16,
-115.29,115.56,116.78,117.37,119.74,119.00,119.37,120.95,122.94,126.45,
-123.61,129.09,125.28,128.27,128.88,128.37,128.84,130.35,132.54,134.24,
-134.96,137.87,136.93,140.95,138.69,141.41,141.72,143.50,141.26,143.92,
-145.42,147.66,147.33,150.49,149.77,150.96,149.77,154.43,151.73,154.43,
-156.90,155.62,158.27,156.90,158.85,159.41,161.23,163.55,165.03,164.91,
-167.86,168.95,167.42,169.53,167.98,172.23,170.08,177.63,171.76,176.68,
-175.99,179.25,177.93,178.34,176.48,180.28,183.12,188.76,187.52,185.14,
-186.79,187.59,188.79,192.50,193.25,191.97,192.12,195.33,192.11,195.45,
-195.80,199.74,200.18,198.22,202.72,203.62,202.64,205.13,207.57,205.97,
-208.22,208.73,207.38,209.82,211.63,211.18,214.07,217.22,213.98,219.26,
-218.82,220.86,217.91,221.01,220.12,223.29,221.74,226.60,225.82,226.28,
-230.37,233.80,228.76,232.71,232.79,236.34,233.74,239.12,239.69,238.97,
-238.65,239.30,240.53,242.68,245.27,245.07,244.39,245.04,246.94,247.10,
-248.51,251.00,252.30,249.30,250.40,254.71,255.96,255.42,258.01,254.08,
-263.06,261.25,259.75,260.04,261.65,263.31,269.84,265.29,269.92,270.04,
-270.55,270.66,274.35,273.09,272.93,273.82,274.46,279.44,278.85,281.86,
-274.43,279.60,281.80,285.53,284.76,286.25,287.01,286.15,285.79,290.16,
-288.93,293.83,291.26,293.05,298.07,291.30,299.59,298.54,300.22,302.54,
-303.01,298.20,305.14,307.52,303.44,305.90,307.58,309.27,309.19,311.65,
-8.12,9.11,11.04,11.78,12.49,13.03,14.94,15.65,15.27,16.96,
-18.19,18.74,19.56,20.04,21.18,22.11,22.84,23.04,25.39,25.85,
-26.31,26.94,27.70,28.36,28.78,29.21,32.18,31.14,34.43,34.98,
-35.47,36.00,36.58,38.77,39.09,40.38,40.70,40.81,42.21,42.62,
-42.94,42.82,46.30,46.52,46.74,47.47,49.76,50.03,52.23,50.99,
-53.34,55.10,54.82,54.95,55.98,54.74,57.74,58.76,56.77,59.55,
-60.67,63.02,62.77,62.52,63.73,65.84,63.44,68.14,68.22,69.50,
-69.02,71.56,70.69,74.96,76.11,74.29,74.20,75.67,75.57,77.42,
-77.77,78.30,80.95,82.44,83.48,83.18,85.17,84.21,84.71,88.48,
-86.08,87.88,89.06,87.98,90.43,91.27,93.78,91.32,95.31,93.94,
-96.58,94.52,96.26,101.00,97.73,99.15,100.98,103.05,104.14,102.81,
-104.63,105.72,106.17,108.66,107.75,109.05,112.39,108.98,111.17,114.60,
-111.48,113.00,117.01,115.02,118.55,118.86,121.02,118.15,120.38,120.60,
-124.08,121.65,126.08,124.86,121.59,127.13,130.66,129.59,125.70,129.59,
-129.27,131.38,134.84,135.55,134.65,135.26,135.96,134.93,137.67,137.59,
-142.65,144.30,138.09,140.44,140.69,143.00,146.72,146.22,146.25,147.07,
-149.89,148.90,148.69,149.99,149.74,154.75,153.45,156.86,156.16,153.70,
-155.84,159.58,159.10,160.88,161.09,161.68,162.98,163.46,159.91,164.78,
-165.50,168.36,166.32,166.57,170.22,173.36,168.86,174.09,172.03,174.25,
-174.46,176.45,179.15,175.48,177.96,177.51,176.63,181.46,180.78,180.12,
-183.43,182.99,184.85,186.57,189.71,187.29,189.39,187.85,190.79,193.09,
-193.08,193.61,192.31,195.59,192.96,195.85,194.30,199.54,200.38,198.49,
-197.38,203.46,201.86,204.93,203.30,206.27,204.41,206.64,206.38,206.17,
-209.64,210.50,212.14,208.60,213.61,214.22,212.96,216.94,209.34,212.90,
-220.87,219.78,220.26,219.33,221.67,221.17,225.41,220.86,223.52,226.74,
-225.18,229.28,227.48,226.21,230.91,229.58,228.49,230.17,233.38,234.34,
-233.19,230.85,235.75,240.07,239.06,241.20,240.22,240.99,243.08,242.53,
-240.79,242.77,243.22,243.51,247.72,251.80,246.11,251.06,247.38,251.13,
-251.73,251.25,256.80,257.24,255.49,257.83,258.47,256.59,258.03,256.37,
-7.48,8.15,9.12,9.31,11.22,11.43,11.62,12.57,13.48,13.75,
-13.86,15.32,16.19,17.51,18.11,19.95,17.74,19.44,21.38,21.68,
-21.20,22.91,24.22,24.47,25.40,26.86,25.71,28.61,27.42,29.47,
-28.13,29.40,30.67,32.39,32.19,32.48,33.71,34.30,35.11,36.11,
-37.35,37.15,37.70,38.42,40.19,38.30,40.67,41.24,42.27,43.79,
-43.80,43.79,44.33,46.85,47.77,49.12,47.18,50.49,51.66,49.92,
-50.14,52.41,52.59,54.28,54.22,55.79,55.75,57.19,58.03,57.48,
-58.17,59.54,60.27,61.61,61.33,63.46,62.03,64.25,64.04,62.59,
-63.29,64.54,66.60,68.33,68.19,68.41,71.00,71.38,69.73,71.93,
-71.62,72.68,75.05,74.68,75.14,76.01,78.09,76.96,79.22,80.78,
-81.19,80.52,81.36,81.59,84.53,84.40,83.28,82.89,81.95,87.99,
-86.09,86.84,87.45,88.76,91.44,89.55,91.83,92.18,93.45,92.41,
-93.60,96.00,99.51,96.52,96.80,98.92,98.65,99.92,101.38,100.96,
-100.34,103.45,107.48,105.67,106.04,106.19,109.11,108.68,108.21,109.94,
-106.58,110.31,114.18,109.84,113.64,112.52,112.73,116.69,114.98,115.32,
-115.82,114.31,118.16,121.13,116.23,120.10,122.64,122.45,122.63,121.48,
-124.38,122.28,126.99,124.11,124.54,127.35,129.52,129.60,129.76,133.43,
-132.40,131.23,132.44,131.56,135.03,135.74,135.32,135.97,136.20,137.67,
-137.47,139.57,142.39,138.18,139.61,137.92,145.33,143.22,143.44,146.36,
-148.78,146.56,143.40,145.04,147.02,152.18,151.50,147.07,152.07,152.88,
-150.13,151.90,153.45,151.41,156.71,158.65,157.88,156.98,158.25,161.00,
-161.41,159.83,158.95,158.74,161.43,165.38,168.34,165.55,167.58,171.06,
-165.63,170.86,170.49,167.50,173.83,167.82,173.08,176.25,177.18,174.43,
-176.37,172.81,176.97,175.83,175.90,180.24,180.60,178.71,184.93,179.74,
-182.53,178.87,186.71,184.60,188.57,185.99,188.27,187.76,187.98,191.56,
-188.96,190.99,191.98,190.42,191.04,194.13,192.57,191.57,194.91,195.38,
-196.81,197.51,196.11,196.03,200.54,201.53,203.00,198.42,203.64,199.30,
-201.49,201.79,203.50,203.10,205.61,206.56,209.25,210.65,206.21,207.49,
-214.59,212.69,210.80,215.09,216.44,214.23,218.03,220.01,216.87,215.70,
-6.29,7.00,7.97,8.56,8.94,9.36,10.31,10.82,10.09,10.73,
-13.11,12.85,13.85,14.28,14.80,15.87,16.48,15.90,18.06,18.12,
-19.04,18.51,19.82,20.14,20.61,21.65,21.80,22.54,22.86,23.43,
-24.47,24.50,26.85,25.15,28.17,27.45,28.73,28.50,29.87,30.93,
-32.00,30.53,31.68,33.00,31.32,33.67,33.77,33.85,34.55,36.96,
-37.53,34.76,38.93,38.56,37.94,37.42,40.39,40.72,41.69,41.09,
-43.06,44.15,43.88,46.07,45.88,46.84,45.08,46.46,47.52,46.69,
-47.45,49.59,49.80,50.18,51.36,52.10,52.25,51.89,54.33,53.38,
-55.04,56.78,56.10,56.51,57.86,56.22,58.10,58.30,60.74,62.80,
-60.92,62.31,62.07,61.91,64.59,65.45,65.56,64.81,67.61,66.24,
-66.44,68.26,65.55,68.88,69.48,68.98,70.96,70.77,69.43,74.21,
-72.50,73.94,74.69,73.68,76.21,76.30,78.75,76.79,77.08,79.66,
-78.88,80.37,81.23,83.34,79.45,80.13,82.95,82.68,85.45,83.16,
-85.61,85.49,85.37,85.02,87.33,85.28,89.05,89.96,90.27,91.08,
-90.58,92.20,91.81,91.26,93.79,96.16,95.30,91.38,94.44,97.77,
-97.78,97.47,99.99,100.71,101.90,100.03,101.80,102.68,102.29,100.81,
-102.36,103.76,101.89,103.28,106.83,107.01,108.03,106.73,108.32,108.44,
-106.92,109.30,110.16,108.73,112.52,110.67,113.58,114.06,116.89,115.36,
-114.00,116.00,115.30,118.95,116.71,119.02,121.21,119.48,120.13,120.19,
-119.22,120.70,121.23,123.76,125.12,124.74,125.40,127.64,124.09,126.28,
-123.96,125.39,128.94,126.46,130.98,128.14,131.42,133.01,132.37,131.58,
-136.87,132.30,135.92,135.28,133.87,137.78,140.10,134.73,136.02,139.93,
-138.88,140.77,142.16,142.26,143.00,144.62,142.63,144.73,144.21,146.16,
-146.81,149.69,145.71,143.72,147.44,148.58,146.58,150.39,150.52,153.10,
-151.29,153.98,153.08,153.32,155.26,154.35,158.10,155.37,163.00,160.27,
-157.55,157.92,159.09,162.29,160.39,161.47,160.53,163.48,163.10,165.01,
-167.06,162.55,169.08,168.61,168.92,168.45,165.45,168.39,171.60,169.28,
-167.67,171.89,169.37,172.29,169.19,173.79,176.83,173.28,172.88,173.62,
-176.23,180.00,176.15,178.49,178.95,180.59,182.74,177.90,185.41,178.22,
-4.50,6.46,5.88,6.22,7.49,7.47,8.16,8.71,10.05,9.35,
-10.10,11.13,11.74,12.17,12.92,13.60,12.95,14.22,14.84,15.26,
-16.02,14.91,16.44,16.30,16.73,18.27,18.62,18.15,19.66,19.56,
-20.90,21.15,21.45,22.01,22.23,23.44,24.81,23.90,23.90,25.79,
-25.63,25.18,26.60,26.40,27.54,27.86,29.11,28.51,28.26,28.97,
-31.04,30.71,32.29,32.59,32.85,32.95,34.33,33.73,33.94,34.56,
-35.63,36.33,36.68,36.95,37.39,37.92,39.23,39.16,39.13,39.63,
-42.10,40.47,41.18,41.78,44.89,43.67,46.96,43.40,44.45,44.65,
-45.18,47.53,48.44,47.27,47.51,49.08,46.99,49.71,50.02,50.17,
-49.30,50.67,49.30,52.06,52.20,53.31,53.03,54.44,56.80,54.01,
-56.62,56.30,57.23,57.26,57.80,58.21,59.70,57.31,61.17,59.74,
-60.46,63.51,62.11,63.54,62.07,62.21,63.41,63.29,63.95,67.18,
-65.97,66.09,66.76,67.51,65.71,68.59,69.37,72.43,68.81,70.39,
-70.21,73.15,70.42,68.28,72.81,72.40,75.23,74.13,73.03,76.67,
-75.93,76.19,76.63,77.43,79.60,77.23,79.94,80.52,80.20,80.08,
-80.49,81.17,81.61,82.72,82.30,85.58,85.44,86.22,86.73,87.83,
-85.86,84.36,88.09,85.85,89.56,88.26,92.28,88.23,90.80,90.48,
-89.50,89.34,93.31,93.42,95.48,94.54,94.30,95.12,93.24,94.00,
-96.26,97.65,98.93,99.36,98.94,102.36,99.27,99.39,99.71,98.43,
-99.60,102.61,102.60,102.64,102.42,101.70,105.60,104.20,104.67,105.97,
-105.13,106.89,107.97,105.79,109.20,111.46,107.38,108.62,111.27,108.09,
-112.02,111.61,113.79,112.73,111.39,112.83,112.73,114.06,113.84,117.49,
-118.91,118.38,117.44,118.89,119.31,119.94,120.78,117.53,120.71,122.97,
-122.33,122.41,124.46,123.73,123.50,123.86,122.51,126.72,128.91,124.59,
-129.36,125.11,128.93,127.91,128.32,132.29,129.02,130.78,133.14,130.53,
-132.56,132.84,129.51,131.33,131.73,132.69,134.42,137.50,137.20,136.17,
-137.98,137.44,139.21,138.33,140.17,139.60,139.73,140.19,141.43,142.74,
-140.52,138.61,141.73,146.03,141.56,142.61,144.57,144.69,146.15,145.07,
-147.47,146.70,150.38,150.77,150.37,146.19,152.78,151.34,152.96,150.18,
-4.66,4.31,4.57,6.05,6.25,7.18,7.23,7.54,7.58,8.78,
-8.86,8.62,10.03,9.58,9.94,10.01,10.72,11.12,12.85,13.36,
-12.52,12.02,13.94,13.97,14.24,14.51,15.40,15.75,16.13,17.63,
-16.98,18.51,17.95,18.20,18.90,20.01,18.74,20.31,19.88,20.90,
-21.91,21.83,22.10,22.22,21.51,22.65,24.18,23.31,24.49,24.31,
-24.86,27.03,25.20,26.53,28.22,27.49,29.10,29.97,29.62,28.54,
-29.42,30.57,30.42,30.49,31.82,31.10,31.86,31.97,31.59,32.49,
-32.53,34.14,34.85,33.69,35.05,36.76,37.10,35.80,37.15,38.12,
-38.42,37.95,37.48,38.38,39.95,40.78,39.52,40.89,40.80,40.51,
-42.92,43.14,41.90,44.09,45.33,44.99,44.52,44.84,44.90,44.50,
-49.53,46.03,47.42,47.43,48.92,46.37,48.41,49.61,46.94,50.02,
-51.83,50.22,52.70,50.96,54.04,54.61,54.70,54.22,53.82,55.37,
-55.55,55.74,55.46,57.60,56.81,58.08,58.90,56.40,60.37,59.51,
-58.79,60.66,59.45,58.45,61.79,60.98,61.26,61.62,62.38,64.62,
-62.14,64.24,65.86,64.14,64.97,66.74,65.10,65.00,65.47,66.06,
-67.09,67.67,66.32,71.37,70.49,70.55,69.93,71.83,70.04,72.54,
-71.32,73.94,71.52,73.61,71.00,72.88,73.30,75.83,76.05,77.05,
-77.52,77.89,78.69,76.99,80.69,78.31,78.43,75.95,80.67,80.12,
-81.50,81.14,82.57,81.97,81.83,85.03,81.72,84.82,83.76,83.51,
-85.45,83.03,86.07,83.89,89.53,87.62,87.86,88.83,86.97,86.75,
-86.39,89.18,90.00,91.29,88.28,91.36,89.58,91.81,91.24,91.81,
-91.78,90.31,93.44,89.65,94.83,96.61,94.93,96.31,93.43,97.26,
-94.01,98.69,94.80,99.97,98.24,99.83,100.81,103.99,102.12,101.72,
-99.16,102.12,102.82,102.71,100.12,102.25,100.03,104.24,103.00,104.17,
-107.76,107.30,106.68,107.57,107.75,107.25,108.08,108.34,106.90,108.74,
-109.36,112.79,113.71,112.42,112.37,113.49,112.86,112.47,112.61,114.45,
-111.03,115.64,113.92,115.07,111.45,117.98,113.41,120.56,118.02,115.73,
-119.12,117.77,119.74,117.14,120.77,120.97,117.33,119.94,121.19,123.62,
-122.31,121.36,120.31,122.78,122.75,124.07,124.47,124.42,128.72,122.42,
-3.52,3.85,5.22,4.52,4.84,5.86,6.14,5.74,6.70,6.99,
-7.00,6.71,7.62,8.37,8.59,8.95,10.18,9.11,9.35,9.77,
-11.22,11.20,10.80,12.89,12.60,12.43,14.71,13.18,14.43,13.56,
-13.82,15.04,14.26,16.46,16.01,16.51,15.59,17.39,17.16,18.10,
-16.32,17.19,19.29,17.68,18.01,18.65,19.47,18.85,20.75,20.96,
-20.20,23.29,20.64,21.95,21.44,22.73,22.02,23.69,24.30,23.96,
-23.81,24.79,25.74,25.47,27.21,27.78,26.63,25.77,28.73,28.05,
-28.92,28.15,28.58,30.54,29.99,31.47,30.19,30.69,30.73,30.34,
-31.37,32.47,31.58,32.23,31.77,34.30,33.58,33.32,35.63,35.95,
-35.32,34.78,35.89,36.56,36.12,38.20,37.22,39.94,38.01,38.81,
-38.71,38.38,39.11,40.80,40.83,41.59,42.68,42.14,40.38,41.49,
-42.69,41.55,41.23,45.24,42.48,46.15,42.91,45.86,45.41,45.44,
-45.02,46.04,47.06,47.63,46.08,47.33,47.94,47.36,47.68,50.15,
-49.01,50.81,50.06,49.99,50.92,50.36,50.97,52.10,53.19,51.44,
-51.85,53.01,52.81,52.98,54.17,53.71,55.35,55.01,56.34,57.60,
-54.42,55.68,55.87,56.63,55.87,57.92,58.35,57.28,56.87,59.40,
-58.81,59.88,60.89,61.36,63.88,58.86,61.96,61.84,63.35,61.48,
-63.77,66.01,65.60,64.33,66.46,66.49,64.62,64.53,64.56,67.38,
-67.35,66.62,66.75,68.46,68.66,66.83,68.35,69.26,69.94,68.53,
-70.33,68.76,70.30,73.38,69.40,72.12,70.57,68.94,75.13,73.43,
-71.70,75.10,73.20,72.55,74.17,76.21,77.63,77.51,75.69,75.95,
-76.57,78.04,77.52,77.33,81.04,79.97,78.32,82.11,81.31,81.70,
-79.35,76.95,79.18,83.98,83.86,83.66,81.57,84.78,85.79,84.43,
-83.94,86.22,85.34,86.31,85.06,83.69,85.22,86.61,86.09,86.70,
-86.08,85.05,87.15,89.12,92.91,88.27,88.13,89.92,89.88,89.87,
-91.27,91.89,92.21,91.52,92.21,93.36,93.13,95.86,93.91,97.49,
-94.78,92.61,96.75,99.03,96.28,93.34,96.26,96.66,95.41,97.86,
-97.08,95.46,99.50,98.54,100.13,98.94,102.49,101.80,102.95,102.93,
-103.50,103.32,101.96,105.63,101.41,103.69,104.23,102.27,102.59,106.87,
-2.69,3.77,3.84,4.17,4.31,4.47,5.27,5.34,4.51,6.32,
-5.92,6.04,6.41,6.56,6.42,7.17,7.38,6.76,8.64,8.62,
-9.04,8.47,8.57,9.60,10.04,10.97,10.48,10.70,11.25,11.26,
-11.49,11.65,12.43,13.06,11.77,13.86,13.62,13.01,14.29,13.94,
-13.51,14.54,15.66,16.75,16.91,15.66,18.30,17.45,17.18,17.28,
-18.32,18.67,19.04,18.49,16.91,18.98,20.01,19.90,20.39,20.34,
-20.77,21.12,20.84,22.02,21.49,21.20,21.36,23.32,23.40,22.72,
-22.07,24.75,23.01,23.26,25.57,25.14,25.15,25.35,24.80,26.79,
-25.19,27.61,27.14,26.78,26.82,28.10,27.35,29.05,29.71,28.95,
-28.42,27.56,29.88,29.26,31.90,30.87,31.23,31.23,31.39,32.80,
-31.86,33.15,32.07,31.76,31.69,34.88,33.76,33.71,34.33,35.90,
-35.15,34.99,36.10,36.57,35.72,37.26,37.70,37.85,36.57,37.17,
-36.19,36.52,38.80,37.35,37.73,40.20,41.91,40.09,39.13,41.55,
-41.74,41.56,41.00,41.16,42.17,43.32,42.11,41.77,44.11,43.13,
-43.10,44.87,44.78,45.87,44.07,42.73,45.29,44.05,45.60,46.41,
-46.42,48.14,48.60,47.88,47.79,47.71,46.77,49.56,47.72,49.51,
-49.61,49.91,48.62,50.35,49.73,50.05,50.78,51.16,51.43,51.76,
-53.22,50.94,51.70,49.63,54.73,51.77,53.59,53.55,54.12,54.37,
-55.45,55.75,54.84,55.73,56.41,56.98,56.12,58.34,57.26,58.30,
-56.95,59.02,59.09,58.93,59.78,60.23,62.13,58.32,61.26,61.86,
-60.27,58.39,63.44,61.99,60.44,63.95,65.39,62.25,62.58,63.09,
-64.03,64.92,63.73,65.77,64.25,64.88,66.11,67.31,66.85,66.55,
-68.80,68.95,68.33,66.98,68.92,65.66,68.25,68.44,67.61,68.59,
-68.58,71.56,69.36,70.36,69.97,70.43,70.87,70.44,72.24,70.67,
-71.30,70.77,73.22,72.96,72.66,73.93,74.54,79.00,76.57,74.15,
-75.16,77.18,77.28,78.36,74.63,75.75,78.95,76.10,79.85,79.21,
-76.84,78.28,78.22,79.88,79.38,78.87,80.91,81.21,81.57,81.50,
-83.45,81.53,80.98,80.45,82.34,82.84,82.17,82.41,82.69,82.50,
-84.48,87.62,84.86,84.21,86.02,84.45,88.00,86.79,89.31,87.57,
-38.45,41.88,44.18,48.61,51.53,57.41,60.13,63.00,67.05,71.19,
-73.64,77.37,80.73,85.23,87.78,91.74,95.57,100.84,102.46,107.24,
-109.59,114.65,118.59,122.41,124.54,128.53,132.34,135.36,140.67,142.57,
-147.21,151.04,153.20,157.42,159.67,165.73,167.71,170.68,175.08,178.05,
-183.66,186.80,190.73,193.79,198.68,199.88,204.28,207.32,208.94,215.86,
-218.01,221.82,225.88,229.46,231.88,238.35,240.69,244.45,247.08,251.29,
-255.76,258.24,264.98,267.94,268.24,273.10,280.22,280.32,285.18,288.73,
-290.23,295.84,296.34,302.56,303.21,310.93,314.95,315.61,320.63,325.69,
-326.78,331.75,336.30,337.39,343.34,345.82,349.97,352.98,355.13,355.96,
-363.97,365.03,371.48,374.88,376.37,382.25,384.59,385.84,395.24,394.44,
-399.75,404.93,406.12,412.08,416.95,418.87,419.96,427.75,431.76,433.76,
-437.71,440.51,444.21,449.27,451.79,454.59,458.32,461.33,465.93,468.56,
-474.35,474.29,475.74,482.50,489.59,490.74,490.58,499.37,499.49,507.60,
-506.01,512.69,516.99,521.99,527.90,528.46,528.42,533.44,537.10,538.36,
-548.13,550.70,553.22,556.02,557.14,563.50,564.25,567.24,576.38,575.82,
-580.73,583.08,589.04,593.85,595.29,600.07,602.35,607.54,611.40,614.68,
-619.10,616.93,621.31,624.07,633.02,636.81,635.87,644.76,648.79,646.18,
-652.20,656.60,662.98,665.82,672.18,673.98,668.90,673.41,683.33,689.09,
-686.42,693.32,699.44,703.55,703.49,708.61,710.53,717.12,717.92,723.99,
-725.86,727.02,732.51,740.49,742.33,744.10,745.71,754.23,751.97,762.74,
-760.78,764.68,772.79,773.19,772.07,781.78,781.42,787.62,791.94,794.05,
-795.23,798.95,806.44,816.33,812.92,820.75,820.15,820.88,832.04,830.95,
-839.45,837.79,842.42,844.13,849.89,854.60,858.15,859.60,861.64,871.08,
-869.95,872.83,882.87,879.20,887.24,888.42,890.27,893.05,900.42,899.51,
-908.12,914.07,919.57,920.10,919.45,927.03,932.21,934.43,936.56,940.74,
-948.39,946.75,947.35,953.15,960.01,957.82,968.14,967.22,974.79,976.71,
-976.02,982.85,982.40,989.48,992.73,991.81,1006.43,1004.21,1007.32,1015.38,
-1016.40,1017.90,1021.77,1025.17,1025.72,1028.59,1039.72,1040.04,1044.57,1046.15,
-1051.03,1060.05,1060.19,1065.06,1063.70,1071.51,1073.65,1074.26,1079.66,1082.72,
-32.36,36.08,38.59,41.81,45.90,48.50,51.98,54.45,58.70,59.65,
-64.51,66.81,70.44,72.44,77.49,80.81,82.21,87.56,89.03,91.97,
-95.33,99.26,100.33,105.98,107.05,111.43,114.99,116.02,122.63,124.14,
-129.53,129.03,132.72,136.07,137.79,140.50,147.42,148.06,152.24,153.91,
-158.74,161.09,164.99,165.58,171.79,173.01,178.00,178.08,182.14,184.83,
-189.80,193.06,197.32,198.93,203.65,203.21,207.84,213.44,213.71,220.64,
-222.06,225.60,228.64,229.77,234.41,235.65,240.14,242.71,244.09,250.42,
-250.53,256.21,259.29,262.51,264.46,269.48,271.81,273.99,276.69,282.36,
-283.05,286.95,290.96,290.34,297.98,300.32,305.70,306.08,305.38,312.87,
-314.65,318.71,322.06,324.59,329.10,331.64,336.56,335.73,340.40,341.90,
-348.70,347.73,350.68,353.46,359.91,362.85,364.58,368.75,371.70,375.81,
-378.76,380.63,384.45,390.00,388.61,392.64,400.37,402.04,399.86,406.48,
-408.11,415.63,417.23,417.89,419.79,426.83,429.98,431.00,435.48,435.99,
-438.17,445.04,448.60,452.42,451.43,457.45,459.40,466.26,465.84,471.41,
-470.43,477.42,474.81,480.29,489.47,490.60,491.74,494.83,495.09,502.45,
-504.65,503.69,509.39,513.23,517.54,520.15,521.31,527.78,529.62,533.51,
-535.07,541.52,543.46,544.54,547.67,551.29,553.16,554.71,561.64,566.87,
-564.21,571.81,573.82,572.74,579.47,580.93,582.20,587.25,593.79,596.20,
-599.01,601.62,607.17,606.82,607.01,616.53,620.74,619.81,626.44,623.89,
-625.10,632.52,635.45,637.62,646.77,647.43,648.36,654.38,655.21,659.71,
-664.79,664.73,668.66,668.57,669.97,675.28,685.80,683.06,685.44,691.37,
-689.96,690.89,696.36,697.30,703.72,708.22,711.05,709.57,717.35,720.37,
-724.07,723.27,729.46,736.12,738.61,736.63,739.14,744.74,751.60,752.50,
-750.00,758.67,760.60,759.52,764.06,766.40,775.82,774.77,785.83,790.00,
-789.90,787.12,790.62,793.84,799.47,798.32,799.10,804.10,807.10,813.57,
-813.00,820.17,824.93,828.96,830.65,833.96,839.86,838.00,845.08,846.73,
-850.37,850.38,857.11,855.51,864.07,866.03,869.68,867.37,877.06,878.37,
-877.82,880.61,885.46,891.98,890.76,900.18,902.29,898.08,904.00,908.00,
-914.48,914.23,916.79,922.80,917.98,926.58,935.28,936.99,941.80,941.00,
-27.85,30.96,34.46,36.40,38.96,42.18,45.01,47.04,49.85,53.19,
-54.81,57.72,59.82,64.03,67.51,67.60,71.39,73.74,75.82,78.92,
-81.85,86.04,87.72,89.30,95.14,94.26,100.31,101.94,105.77,106.56,
-109.72,111.79,115.06,117.60,118.48,122.04,125.94,127.05,131.88,135.04,
-134.72,137.51,141.25,142.92,147.64,148.68,152.74,156.81,160.12,160.59,
-166.19,165.26,168.76,173.56,177.25,177.12,181.94,181.65,183.21,189.59,
-193.72,194.92,193.21,199.23,200.87,207.63,209.29,208.60,211.91,214.88,
-216.88,222.63,223.45,227.22,226.75,232.47,231.38,234.86,238.05,243.19,
-246.78,246.53,254.20,250.10,255.57,259.31,261.74,260.14,267.08,267.15,
-275.58,273.51,279.15,282.09,282.99,282.95,288.63,288.31,293.58,296.41,
-298.80,298.96,301.92,307.63,311.78,313.01,315.14,319.38,322.65,323.82,
-322.25,329.19,331.92,337.54,337.96,337.77,342.52,345.65,351.10,348.13,
-349.08,357.73,358.83,364.17,365.41,369.72,366.20,371.96,372.52,378.43,
-379.72,381.25,382.65,389.44,390.21,396.30,393.15,394.01,404.86,409.11,
-410.92,404.73,408.73,415.16,418.64,418.63,425.06,428.18,429.17,433.14,
-440.14,440.19,440.49,444.74,447.16,448.92,446.35,454.97,456.06,459.88,
-463.84,463.91,469.42,467.63,475.15,471.22,477.88,479.15,480.88,484.36,
-490.75,493.61,496.50,497.56,502.14,499.33,506.50,508.20,512.67,515.37,
-517.13,516.83,522.18,525.92,522.68,529.15,532.63,539.40,538.01,540.21,
-543.68,550.95,553.09,552.39,551.62,556.30,558.38,559.83,562.60,571.31,
-571.10,572.59,577.50,579.83,577.45,582.73,586.64,588.76,595.08,595.42,
-596.51,598.08,601.24,603.06,606.42,609.90,617.15,608.15,621.92,624.26,
-622.71,625.69,632.75,628.40,637.39,638.60,635.34,641.69,643.00,646.97,
-654.40,657.38,652.01,651.90,666.81,661.73,668.54,668.40,678.41,680.11,
-679.97,677.54,686.49,686.36,688.78,692.05,691.48,701.86,700.38,697.88,
-704.40,706.87,709.31,717.75,720.02,717.62,722.80,723.34,724.83,727.62,
-736.39,732.03,740.69,744.26,745.76,746.98,752.37,756.11,753.81,758.26,
-761.24,761.84,765.79,768.58,771.72,774.61,777.81,781.37,780.61,782.56,
-790.30,790.54,792.37,801.52,799.60,806.06,803.47,810.18,805.75,814.45,
-24.66,26.64,29.84,32.45,33.97,36.90,38.62,41.05,43.31,44.59,
-47.21,51.07,53.18,56.20,58.05,58.44,60.06,62.07,65.71,68.49,
-70.72,73.83,76.55,77.15,82.50,82.22,85.87,87.05,89.59,92.01,
-94.47,96.64,99.20,101.52,103.48,107.18,108.76,110.16,112.08,114.37,
-117.54,118.50,120.87,122.84,125.76,129.19,132.62,131.04,136.02,138.13,
-141.40,143.55,146.89,150.61,150.05,153.97,152.82,158.06,159.13,160.98,
-164.88,166.45,167.82,173.80,173.84,178.07,178.09,179.00,182.86,185.78,
-188.47,191.29,191.81,197.26,196.13,200.13,200.58,201.65,204.15,207.24,
-212.29,213.31,216.49,218.36,218.49,221.26,225.70,225.52,229.40,229.60,
-231.72,238.66,240.32,239.66,242.75,246.65,248.14,250.86,251.64,254.19,
-257.54,261.31,265.62,263.26,265.00,268.56,269.96,273.00,271.12,280.45,
-281.50,284.69,285.24,286.57,286.43,290.89,296.19,293.50,299.05,298.74,
-301.29,307.14,311.29,312.95,311.91,316.59,320.07,319.40,320.30,325.98,
-323.02,328.50,332.11,336.06,338.14,337.48,339.59,342.35,350.16,346.10,
-350.00,352.33,353.77,357.98,354.84,361.74,365.03,364.47,372.89,372.54,
-375.88,370.69,379.96,383.56,382.22,384.25,386.79,389.36,391.85,391.89,
-400.87,402.34,400.86,405.64,407.54,411.47,410.55,414.31,418.69,419.66,
-418.26,424.62,429.78,427.38,426.04,431.35,436.70,438.13,439.51,443.76,
-443.17,446.73,449.17,453.37,451.55,454.35,459.19,461.10,461.14,464.53,
-463.95,470.80,474.64,472.35,473.26,476.61,483.30,479.47,485.24,489.36,
-491.42,492.70,494.87,496.99,497.89,502.01,505.21,506.82,508.90,510.58,
-513.61,514.13,519.82,517.87,527.45,526.47,529.23,530.88,526.33,531.34,
-537.68,545.50,546.71,543.37,550.66,547.78,555.94,556.40,556.24,564.07,
-558.55,562.27,568.61,569.16,567.24,569.20,577.81,573.75,577.03,576.34,
-586.40,588.21,589.32,585.95,592.25,591.77,597.55,607.31,602.76,601.00,
-606.43,609.65,608.70,612.19,620.40,614.39,617.03,624.06,623.05,627.83,
-631.31,633.06,637.55,638.94,635.54,641.65,640.72,639.80,644.99,650.94,
-650.11,651.08,660.57,663.12,660.78,663.47,668.21,673.73,670.64,676.57,
-671.23,683.68,687.30,683.56,685.30,686.81,692.97,692.80,690.31,701.36,
-19.43,24.24,25.36,26.49,27.99,31.13,32.53,33.71,36.08,38.69,
-39.66,43.07,44.55,47.65,48.47,50.34,52.17,55.34,55.88,57.42,
-60.29,62.08,64.15,67.70,68.85,69.21,72.65,73.72,75.36,79.50,
-80.93,81.89,83.94,87.17,88.95,91.33,95.46,93.38,99.06,98.07,
-101.28,102.92,103.66,107.41,109.20,108.20,111.66,116.40,117.00,118.04,
-122.34,123.47,123.84,127.88,128.76,131.72,132.91,133.01,135.89,138.75,
-138.19,143.14,144.01,146.86,149.28,152.07,153.68,157.56,158.58,159.75,
-160.25,165.75,163.48,167.10,170.48,173.23,171.19,175.17,175.72,178.59,
-179.75,184.66,185.56,184.70,190.19,190.38,192.29,196.85,194.47,198.38,
-200.94,202.54,203.47,207.25,208.80,217.85,213.19,216.59,216.12,219.19,
-223.57,222.06,224.41,224.78,229.44,232.42,231.84,235.35,239.20,236.95,
-238.13,245.18,247.37,248.29,246.66,245.81,254.96,256.17,256.54,258.78,
-262.79,263.95,265.58,268.75,268.78,272.84,275.11,271.66,274.21,279.44,
-280.80,281.49,285.95,281.38,287.17,290.22,290.62,290.10,296.12,298.09,
-301.57,299.65,301.43,303.08,307.23,313.09,312.36,315.85,313.91,319.10,
-317.62,322.82,322.16,324.84,327.56,327.77,332.82,334.48,333.37,340.36,
-339.51,340.70,350.84,345.25,347.30,347.82,355.32,352.50,356.63,359.81,
-359.78,366.43,367.38,368.13,369.60,369.56,370.25,374.19,372.75,381.76,
-381.82,380.01,380.60,389.31,388.39,387.57,389.52,392.26,398.44,397.75,
-399.83,403.03,398.16,406.46,410.95,411.93,414.67,411.25,417.27,418.32,
-417.41,423.08,423.26,424.77,424.85,431.19,435.02,429.69,436.59,436.82,
-440.06,444.18,443.73,447.07,442.89,450.79,453.36,452.98,457.83,453.78,
-460.52,460.02,466.29,469.83,465.16,469.94,472.05,472.09,477.02,478.25,
-474.32,477.92,486.95,486.11,488.55,492.05,489.63,493.03,495.90,498.45,
-498.71,504.55,507.27,509.58,512.20,511.47,513.54,513.29,511.62,517.27,
-520.88,526.35,527.79,528.48,528.52,531.85,529.89,536.66,534.10,539.96,
-539.70,543.97,544.91,547.73,553.65,549.38,554.75,556.36,556.60,558.60,
-558.11,564.37,563.13,569.39,567.75,570.40,566.17,574.85,572.39,581.23,
-582.27,583.58,582.80,588.46,588.43,593.92,593.27,593.58,597.77,597.33,
-17.41,19.77,20.73,22.13,25.05,26.55,27.91,30.06,30.24,32.73,
-33.70,38.18,38.73,40.24,41.27,44.26,45.54,46.38,48.04,51.00,
-51.51,53.71,55.42,57.04,58.88,61.61,62.58,62.84,65.02,65.89,
-68.87,70.67,72.83,75.64,75.97,76.89,79.13,83.74,82.44,83.43,
-85.08,87.26,88.65,91.88,92.87,93.07,96.39,97.05,99.39,100.64,
-101.71,105.80,105.96,111.02,110.43,111.17,114.69,114.58,116.66,120.95,
-116.43,120.11,123.41,124.98,125.78,129.09,129.19,132.42,133.60,138.09,
-135.10,139.72,140.95,143.52,144.69,142.65,145.13,148.65,151.00,151.41,
-154.21,154.66,160.31,162.52,158.35,164.91,161.59,166.61,167.89,170.82,
-171.01,172.67,176.15,176.64,178.91,178.73,180.36,183.91,183.71,184.32,
-186.90,189.92,192.94,192.36,196.59,193.68,199.14,200.50,199.49,200.81,
-203.62,205.43,207.90,212.99,210.51,213.59,215.28,216.27,217.76,224.04,
-221.52,225.12,222.74,229.37,229.41,229.05,232.38,234.57,234.49,238.99,
-240.48,242.07,241.18,245.26,247.71,247.95,247.03,254.46,254.14,258.72,
-256.31,259.99,263.68,261.68,263.20,265.11,264.82,269.71,270.39,275.25,
-271.33,277.13,277.18,278.16,282.00,282.97,283.19,286.82,288.26,289.82,
-291.44,291.89,289.77,293.50,296.12,299.25,303.44,305.30,303.65,303.30,
-304.98,307.65,311.74,312.52,311.31,315.42,317.47,318.78,323.20,321.86,
-324.01,329.83,330.04,327.28,333.66,333.11,336.22,335.86,339.37,343.68,
-340.94,345.05,346.87,347.95,348.52,345.20,351.50,352.70,358.94,363.62,
-361.50,359.86,363.23,364.12,366.33,365.26,372.36,370.06,373.31,372.63,
-378.80,375.30,376.56,383.05,383.01,382.23,385.63,388.46,388.78,385.83,
-390.69,393.38,399.13,397.92,398.25,400.95,407.23,403.04,407.66,407.66,
-407.29,416.76,411.57,413.53,411.53,419.42,421.21,417.40,424.23,425.27,
-433.73,424.57,430.77,430.38,437.58,433.25,439.07,437.10,442.63,444.06,
-444.89,444.53,446.47,448.28,450.94,452.81,454.62,453.96,459.31,459.14,
-456.84,459.36,465.52,466.00,462.94,472.49,467.76,476.70,473.33,478.39,
-479.93,479.02,481.31,482.69,486.85,482.79,488.79,486.01,493.51,490.56,
-493.52,491.52,497.26,502.21,502.00,509.06,505.84,506.46,510.11,511.62,
-15.29,17.28,17.61,19.91,20.06,22.51,24.07,25.51,25.90,27.90,
-31.03,31.47,31.38,35.46,36.03,35.57,39.64,39.69,40.25,42.18,
-43.30,45.09,47.53,49.13,50.68,52.43,53.67,54.49,56.86,58.08,
-58.38,62.04,62.04,62.70,64.84,65.01,69.18,69.47,71.52,72.52,
-72.72,75.45,75.99,77.08,77.94,81.08,81.32,83.35,85.58,86.19,
-87.02,90.31,90.30,91.64,92.83,96.87,96.99,99.39,100.53,101.44,
-102.48,105.49,104.05,108.39,106.26,109.16,111.92,112.07,112.03,114.07,
-117.19,117.77,118.66,121.49,121.41,122.67,128.06,126.34,128.51,129.53,
-131.03,133.59,135.35,137.04,137.49,136.75,137.68,143.01,140.26,144.21,
-141.70,146.09,146.78,148.98,150.12,152.64,155.49,157.14,157.99,158.47,
-161.92,162.98,160.57,162.30,165.29,166.87,168.81,171.23,172.38,174.83,
-176.60,175.66,179.41,182.41,180.64,181.15,183.43,184.64,187.47,188.88,
-186.49,188.92,193.86,196.34,197.44,194.57,196.40,198.74,202.12,201.59,
-205.95,208.41,205.86,206.60,206.40,210.12,213.59,215.02,218.54,215.07,
-218.11,224.05,222.34,222.13,223.50,226.74,229.61,227.68,229.35,232.13,
-234.28,233.54,236.04,238.09,237.01,241.99,245.24,240.07,243.61,246.81,
-250.53,247.41,248.60,254.07,255.31,258.74,260.44,261.19,256.04,262.30,
-263.40,261.49,265.75,269.52,268.64,265.70,269.29,270.62,273.06,272.09,
-275.19,281.85,276.38,284.44,284.18,283.65,287.42,285.06,288.96,289.87,
-292.28,291.16,289.90,295.49,299.38,301.86,303.30,301.16,303.09,304.91,
-302.74,302.44,307.40,308.49,307.98,312.76,314.49,314.50,319.72,315.60,
-322.53,318.74,322.23,321.40,329.42,325.38,330.37,331.34,336.11,333.32,
-335.14,338.21,333.94,336.54,338.51,340.92,339.35,350.84,347.52,346.77,
-346.24,352.41,353.57,349.58,357.50,360.52,363.72,355.85,359.55,365.49,
-367.16,366.75,368.65,367.88,367.93,367.17,371.12,373.58,374.71,376.50,
-378.62,383.45,378.34,378.18,384.59,381.12,390.55,387.63,389.63,392.36,
-394.44,397.88,400.11,395.24,397.61,404.06,401.65,403.11,406.62,408.30,
-403.44,403.50,407.81,413.51,412.04,413.19,417.87,415.04,418.27,421.54,
-422.78,425.47,426.64,424.14,427.91,430.76,432.16,434.32,436.69,435.26,
-12.91,13.75,15.07,16.09,17.36,19.04,20.25,21.12,23.51,24.48,
-25.78,27.07,28.39,29.73,30.88,31.10,33.13,33.40,34.30,35.36,
-38.22,39.64,40.30,40.48,42.71,43.62,45.52,46.05,48.31,48.63,
-49.06,50.91,51.95,50.52,56.18,56.66,57.09,59.21,61.20,60.22,
-62.91,63.97,63.97,67.19,68.52,68.90,70.19,71.87,70.68,73.30,
-74.86,74.50,75.88,79.21,79.65,80.91,82.76,83.83,85.25,86.56,
-86.60,88.10,89.31,91.98,91.55,93.20,94.78,93.72,97.29,100.23,
-100.14,99.42,103.36,102.99,102.77,106.11,107.30,106.51,105.31,111.01,
-109.99,114.05,115.65,115.03,116.27,115.09,121.73,121.73,120.57,122.61,
-124.67,123.21,127.89,128.06,128.61,129.87,134.42,133.61,135.21,134.44,
-135.16,135.52,142.09,139.90,141.49,143.02,145.58,144.06,148.20,148.30,
-149.12,149.55,151.70,151.10,152.86,154.79,158.04,155.77,161.96,161.68,
-160.20,162.11,162.04,163.87,167.70,166.19,169.28,170.41,174.35,170.01,
-174.27,174.79,179.44,182.46,178.20,183.80,182.00,182.70,185.68,186.06,
-184.04,188.73,192.56,190.62,189.17,191.94,192.77,192.40,193.42,196.06,
-196.86,200.06,198.95,199.44,200.27,205.24,205.98,204.27,207.42,209.93,
-211.41,214.74,211.54,213.52,216.13,216.93,216.94,218.88,222.07,221.00,
-223.71,224.42,225.74,230.46,227.53,231.15,234.14,231.12,234.34,234.46,
-237.28,239.91,238.83,235.06,236.92,239.55,240.51,247.57,247.68,247.38,
-250.31,247.59,249.52,251.17,252.42,250.98,257.56,257.66,259.84,258.34,
-263.50,261.54,261.39,263.13,263.42,268.87,267.80,269.02,267.60,269.80,
-276.15,274.39,279.31,276.15,276.47,276.60,278.55,280.72,280.86,279.60,
-280.35,286.64,286.61,285.62,290.93,292.20,289.65,291.57,296.55,293.94,
-298.07,296.37,298.01,303.27,304.46,302.30,304.68,308.56,306.67,307.55,
-311.69,310.31,310.93,309.21,315.93,313.24,315.75,317.71,316.45,314.78,
-324.08,321.10,321.99,325.84,329.51,323.99,328.99,330.54,329.32,334.68,
-334.92,338.84,336.70,334.37,340.17,340.82,341.28,337.14,350.00,341.71,
-346.60,352.41,346.10,348.61,349.62,352.21,351.52,353.29,355.16,357.60,
-357.39,360.72,359.80,359.89,364.61,366.92,365.79,363.27,371.21,368.65,
-11.07,11.64,13.84,13.37,14.69,16.31,16.77,18.38,19.09,19.92,
-21.19,22.48,23.64,25.78,26.35,25.35,27.55,28.45,29.69,31.61,
-33.57,32.57,34.62,34.88,35.21,37.81,39.53,39.10,40.44,40.62,
-42.34,43.99,45.56,45.14,44.72,48.60,49.29,48.58,49.97,50.01,
-52.27,53.63,54.10,57.75,56.81,58.22,59.50,60.94,61.07,60.17,
-61.21,63.21,65.71,65.88,65.27,67.52,70.24,70.27,71.91,73.07,
-74.50,74.88,79.28,77.53,77.42,77.61,79.34,82.56,79.59,84.75,
-88.09,86.45,86.78,86.98,88.53,89.14,90.99,91.70,91.41,92.58,
-94.25,94.46,95.79,97.17,97.00,101.28,100.03,103.82,104.23,104.07,
-105.24,107.03,106.08,108.26,108.70,109.41,111.65,112.54,112.74,115.58,
-114.75,116.86,116.72,117.53,118.30,119.20,122.91,120.32,123.36,123.12,
-127.28,125.21,130.54,131.83,130.80,131.59,132.28,133.64,137.00,135.67,
-134.08,139.65,135.82,139.31,138.93,142.58,142.04,144.10,144.50,148.48,
-147.25,149.09,149.07,153.25,150.58,151.56,156.19,155.75,157.30,156.10,
-158.91,158.49,158.68,162.16,161.92,165.56,163.00,165.06,165.95,167.21,
-165.09,169.82,170.26,167.24,170.25,176.12,173.96,174.19,179.60,176.71,
-180.49,180.91,179.21,181.28,181.42,184.38,184.79,184.80,188.04,188.16,
-187.18,189.80,190.68,191.37,192.33,196.24,193.77,192.70,195.27,198.66,
-197.27,200.87,203.30,206.38,203.54,205.00,207.68,209.26,209.73,210.64,
-213.63,212.15,209.05,211.45,215.61,215.76,217.10,217.69,217.71,219.24,
-221.60,222.46,220.24,225.50,227.79,225.27,227.38,227.31,228.11,231.83,
-230.25,230.41,232.13,233.13,234.91,237.00,234.94,237.68,238.54,242.81,
-241.10,239.79,245.14,245.32,247.31,248.30,248.81,250.01,248.12,250.48,
-256.31,255.35,251.84,257.66,255.59,257.25,258.35,256.71,257.08,257.28,
-262.02,268.75,267.05,262.51,266.33,272.48,270.13,270.34,273.12,270.80,
-271.94,277.77,276.71,276.06,277.44,275.79,276.99,281.25,279.89,279.88,
-284.38,283.93,282.52,285.05,291.35,284.08,291.75,295.89,291.17,297.21,
-292.80,290.98,300.67,298.71,300.86,298.83,297.60,301.25,302.32,304.76,
-304.35,310.27,306.52,303.53,313.78,312.20,311.23,308.82,313.13,314.68,
-10.43,9.93,11.09,11.60,12.56,13.44,14.79,15.97,17.07,17.69,
-17.60,18.71,20.45,21.00,22.14,22.01,24.50,24.70,25.91,27.16,
-27.59,27.63,28.22,28.44,30.85,31.92,30.88,32.55,34.52,34.79,
-36.48,35.89,37.91,37.26,38.91,39.96,41.42,43.58,43.07,44.13,
-43.92,46.55,45.28,47.97,46.80,49.43,49.14,50.99,52.48,52.63,
-53.36,53.84,54.85,54.10,57.01,58.84,59.88,60.12,63.12,60.82,
-63.89,59.70,64.17,64.86,65.52,66.97,68.13,67.60,69.42,68.83,
-72.13,73.26,73.64,72.74,73.84,77.68,75.41,76.71,80.63,78.88,
-78.65,81.24,82.10,81.17,82.34,84.89,86.30,87.10,85.50,87.95,
-89.75,90.63,91.99,92.81,92.60,94.31,93.37,94.69,95.66,94.47,
-98.88,98.80,99.53,101.34,101.62,101.86,103.44,103.05,103.14,107.29,
-106.93,108.45,107.66,107.09,110.21,110.08,112.46,115.05,114.57,117.45,
-117.59,118.55,120.89,117.75,118.21,120.22,118.95,122.89,117.51,123.01,
-125.50,124.97,127.32,128.28,127.57,129.98,129.09,131.12,133.10,135.99,
-133.80,137.19,134.00,137.30,139.98,139.12,139.91,141.43,136.52,139.82,
-144.76,139.16,145.92,147.16,145.83,146.41,149.29,149.83,148.43,149.46,
-149.33,150.67,152.75,154.70,154.15,154.73,155.41,158.79,156.92,157.55,
-163.79,160.82,163.16,162.17,163.50,165.03,165.69,165.05,167.77,165.39,
-170.13,169.29,171.28,171.17,171.75,173.35,171.53,172.24,175.39,175.29,
-179.00,180.49,179.18,174.96,177.33,180.59,184.95,184.68,181.71,184.96,
-184.62,183.31,185.62,186.71,192.65,191.23,188.86,194.80,196.06,195.62,
-194.06,198.97,202.08,199.22,199.89,202.87,198.23,198.65,202.59,203.01,
-205.20,207.15,205.24,207.98,204.50,209.47,209.87,210.21,211.93,212.30,
-214.94,215.96,215.09,216.18,216.00,217.39,215.84,219.52,220.25,218.98,
-223.49,219.04,222.34,224.96,224.28,227.91,229.68,232.95,227.14,226.84,
-227.66,235.22,236.17,233.35,238.38,238.15,234.88,237.61,234.38,241.15,
-242.61,242.11,240.24,240.33,241.94,244.33,247.93,248.54,245.48,250.71,
-248.23,248.10,244.53,248.10,247.10,255.45,255.61,248.99,258.67,258.19,
-257.48,257.12,257.12,260.89,264.55,263.47,261.67,257.96,266.20,266.94,
-7.97,8.95,9.76,10.08,11.40,11.85,12.37,13.53,13.46,14.84,
-16.37,15.87,17.26,17.78,18.74,19.70,20.23,21.86,21.64,22.51,
-22.59,23.69,24.97,24.90,26.03,26.07,28.24,29.52,29.36,29.80,
-30.25,30.81,32.34,32.46,33.86,35.63,34.03,34.60,36.40,36.34,
-38.47,38.30,39.13,39.67,38.12,40.95,43.23,41.84,44.31,43.80,
-45.43,45.67,46.82,47.48,47.63,48.72,50.03,51.14,50.69,50.66,
-52.20,52.24,51.34,55.27,55.09,54.62,56.83,59.85,58.59,57.91,
-60.41,61.93,63.03,63.26,62.53,64.13,65.18,65.17,64.88,66.55,
-67.36,68.88,68.93,67.50,71.25,73.66,71.94,73.49,74.46,71.87,
-75.96,76.80,77.54,73.75,77.32,79.30,78.93,82.88,82.39,83.21,
-82.63,84.13,85.19,85.09,85.65,88.37,86.60,88.40,89.27,88.17,
-90.83,89.73,90.19,94.29,93.86,91.11,97.17,92.58,95.92,97.83,
-97.28,99.10,99.91,100.44,100.48,99.87,105.00,104.62,101.25,105.11,
-105.31,106.73,105.79,105.51,108.20,109.37,107.51,109.38,113.69,113.50,
-112.22,112.55,114.86,113.07,116.75,115.62,117.49,118.19,120.75,122.41,
-120.72,121.59,116.05,122.11,120.97,124.36,121.70,126.78,125.47,129.13,
-125.17,130.13,130.03,130.04,130.79,131.49,129.96,134.18,133.46,133.27,
-135.14,135.90,137.00,134.45,139.53,139.52,137.86,139.67,140.14,145.46,
-145.08,142.35,145.02,142.41,145.49,148.10,148.12,151.82,148.55,147.49,
-149.96,152.93,152.63,154.00,153.29,151.28,153.89,155.02,156.09,156.26,
-158.58,158.99,162.17,157.39,161.80,158.26,161.44,164.21,160.57,163.67,
-165.98,164.12,166.57,167.33,168.12,168.56,169.48,169.17,169.62,171.87,
-172.00,169.13,174.97,174.40,174.72,177.46,177.31,180.56,178.25,175.61,
-179.44,179.11,181.31,184.46,185.68,183.48,180.84,188.92,187.91,186.35,
-187.26,188.01,194.01,190.17,189.54,191.66,193.76,191.87,195.35,196.11,
-194.39,196.36,198.54,198.60,199.90,200.35,198.79,197.62,198.90,202.73,
-200.94,202.07,205.56,206.18,203.27,207.03,207.12,208.60,210.47,209.66,
-211.12,208.97,216.53,215.70,210.23,213.69,213.58,217.80,216.86,217.32,
-215.93,219.28,218.25,218.24,223.38,223.04,219.69,222.24,224.38,221.59,
-6.56,7.12,8.17,8.80,8.23,9.81,10.23,11.72,11.78,12.33,
-13.24,13.32,14.51,15.52,15.72,15.73,15.54,17.60,17.79,17.39,
-19.68,19.14,20.16,21.65,22.43,21.19,23.80,22.86,23.89,23.94,
-25.07,27.92,29.18,27.63,29.45,26.94,29.39,30.86,29.86,31.86,
-31.64,32.39,32.17,34.41,33.77,34.34,36.81,36.16,37.87,38.70,
-39.01,40.84,40.70,40.11,41.46,41.53,42.84,41.27,44.29,43.74,
-44.05,46.95,44.33,45.38,46.69,46.02,49.36,48.05,49.21,49.59,
-49.83,52.35,51.95,53.18,53.62,53.24,54.06,56.58,55.33,55.08,
-56.67,55.36,59.06,59.68,61.40,60.56,60.81,61.71,59.95,62.52,
-62.49,67.89,63.95,64.99,65.93,64.18,66.63,65.91,66.41,70.50,
-71.54,69.34,71.45,69.72,73.20,76.25,74.83,71.63,76.37,76.63,
-76.55,77.39,78.37,78.60,79.97,80.17,80.28,79.86,83.03,82.77,
-82.95,84.03,84.42,85.89,83.10,83.34,83.54,86.82,84.72,87.56,
-86.89,85.65,91.06,88.70,94.62,91.83,91.75,92.70,93.77,93.06,
-93.48,95.73,97.20,95.91,98.60,96.02,100.49,100.32,101.24,101.19,
-101.13,103.90,101.34,107.28,106.83,105.04,107.52,105.00,105.94,104.11,
-110.28,109.85,109.31,110.54,112.05,110.42,109.71,112.36,110.61,114.69,
-114.84,117.34,112.93,112.63,114.81,114.65,118.32,121.61,118.97,118.26,
-122.47,122.66,123.03,122.00,123.58,123.63,125.86,123.59,124.63,124.66,
-125.48,127.81,126.00,131.64,130.26,127.25,131.32,131.95,134.07,135.25,
-134.99,135.59,133.24,133.33,134.14,135.23,137.71,135.17,136.94,140.48,
-137.00,139.80,140.84,140.91,140.82,143.22,144.69,143.15,141.98,142.75,
-147.42,145.79,145.90,149.25,151.55,147.52,148.27,148.63,149.15,151.06,
-152.55,155.20,152.89,152.88,154.96,153.16,157.49,156.49,160.89,159.74,
-156.56,160.28,160.64,159.00,165.29,161.63,161.35,163.74,164.39,166.14,
-165.86,161.00,164.69,165.69,166.75,165.24,165.89,168.44,167.02,172.52,
-170.81,171.27,177.26,171.75,175.22,177.36,176.13,176.75,177.38,178.95,
-175.73,175.06,179.52,177.19,181.19,180.11,181.79,180.96,182.66,181.03,
-184.95,184.65,185.13,187.44,187.16,184.51,184.27,188.83,191.74,191.15,
-5.56,5.87,6.76,7.64,8.18,7.82,8.84,8.22,10.16,10.88,
-10.36,11.64,12.41,12.78,13.44,13.72,14.37,15.07,15.08,15.54,
-15.34,17.51,17.80,16.37,17.52,18.70,19.17,19.45,20.11,20.00,
-21.71,21.92,23.18,22.96,24.26,23.99,25.19,24.04,24.13,26.94,
-26.63,27.99,28.72,28.45,28.73,30.98,29.46,31.33,32.18,31.94,
-32.91,33.13,32.65,32.06,33.92,34.68,37.40,35.19,35.96,35.89,
-36.42,37.66,38.85,38.29,40.15,40.18,38.96,40.21,43.07,41.82,
-43.11,42.89,44.81,44.49,45.99,45.53,48.30,47.13,46.53,46.84,
-48.37,48.71,49.33,49.59,51.29,47.40,48.94,50.65,53.38,54.06,
-52.38,53.72,54.58,56.27,56.30,55.66,57.28,56.74,57.91,59.31,
-58.87,59.23,61.01,60.12,60.79,60.42,62.88,61.59,63.34,62.93,
-63.24,63.52,67.73,65.45,64.83,67.92,66.92,66.94,68.51,68.01,
-69.75,70.21,72.28,67.98,70.86,72.29,73.18,72.87,73.94,76.05,
-77.45,73.89,75.72,76.29,78.78,77.59,77.12,77.45,81.25,77.64,
-80.54,81.66,82.36,79.57,77.83,82.66,82.06,88.14,84.61,85.77,
-88.20,87.63,81.47,84.29,86.68,87.80,86.97,90.90,93.49,91.13,
-88.56,94.04,92.72,93.34,93.07,94.54,94.59,92.86,94.10,95.52,
-97.56,99.42,97.13,96.51,100.60,96.14,97.84,100.80,102.27,102.80,
-102.23,99.86,102.27,99.59,104.86,105.58,104.98,105.72,105.39,103.44,
-102.94,106.98,111.31,110.05,110.51,108.71,111.95,111.21,108.95,112.36,
-110.51,112.32,115.17,113.61,113.88,114.12,112.91,117.18,120.23,117.25,
-118.92,116.16,120.68,117.25,116.81,119.57,117.87,120.62,117.89,122.57,
-123.32,121.84,123.42,124.57,123.78,125.41,124.43,127.92,129.88,128.31,
-130.30,126.53,128.25,128.54,127.81,126.96,133.34,130.28,129.06,134.67,
-130.73,132.37,133.81,132.07,134.28,136.98,136.16,138.24,138.88,135.67,
-141.68,140.48,141.26,138.19,139.85,139.70,143.27,142.79,140.72,141.76,
-144.33,148.00,145.34,147.98,144.97,149.80,144.61,148.16,147.12,144.18,
-152.32,149.47,150.67,148.47,153.15,153.98,151.61,151.45,152.50,154.37,
-155.29,155.14,151.53,156.31,158.73,155.54,157.01,152.27,155.50,156.32,
-4.77,5.04,5.90,6.33,6.38,6.90,6.60,7.77,7.42,9.03,
-9.14,9.81,10.07,10.53,10.87,12.03,12.23,12.41,12.92,12.32,
-14.22,14.32,14.48,16.47,15.91,15.91,16.06,18.00,17.69,18.59,
-18.36,18.42,17.56,18.74,21.67,19.80,20.33,22.01,19.52,21.25,
-22.95,23.87,22.51,24.08,25.07,26.49,25.54,25.19,26.38,25.75,
-26.78,28.66,28.42,27.86,27.09,29.66,29.34,31.27,29.97,29.56,
-31.49,32.46,33.17,32.93,33.48,33.83,32.78,37.30,35.28,35.40,
-35.74,36.18,34.31,35.35,39.48,39.36,36.80,41.01,40.22,40.23,
-40.24,40.60,42.42,42.74,41.96,43.73,44.27,45.20,44.01,44.31,
-43.58,43.86,45.80,47.13,44.85,46.53,47.16,47.42,50.42,49.42,
-50.06,48.24,50.06,51.34,49.76,50.61,50.88,53.67,51.80,53.37,
-53.88,57.10,54.96,54.35,57.25,55.94,56.68,54.92,60.31,58.91,
-59.40,58.19,56.24,60.20,57.73,63.08,60.16,59.30,61.71,61.99,
-63.06,62.66,64.52,65.35,64.19,65.66,65.44,66.31,65.86,66.58,
-69.17,68.82,70.17,70.38,70.50,71.47,70.83,69.79,68.30,71.30,
-71.13,70.12,74.20,71.49,72.49,74.18,75.60,75.14,74.38,73.61,
-76.45,75.42,76.32,77.65,78.19,78.64,81.00,78.93,79.83,80.58,
-81.10,77.97,82.26,84.71,82.15,80.28,80.78,84.50,84.94,85.38,
-85.45,85.21,82.17,89.81,89.00,84.88,87.43,86.62,89.53,88.70,
-89.45,88.07,90.86,91.34,95.70,92.20,93.53,94.20,91.75,93.57,
-95.46,97.47,96.37,94.32,96.55,96.07,97.01,96.81,96.92,97.77,
-98.92,98.16,102.31,101.57,98.67,102.17,106.35,100.79,99.23,101.06,
-108.41,105.31,102.77,102.96,104.10,104.52,104.44,105.82,107.94,106.33,
-106.33,111.18,107.45,109.12,107.28,109.38,110.23,113.31,111.32,114.78,
-114.19,111.81,112.04,116.28,113.10,112.93,110.45,113.58,115.77,114.17,
-115.12,119.82,119.73,117.49,117.09,118.14,123.80,120.10,120.04,120.25,
-119.61,120.87,121.20,120.85,122.86,122.45,125.01,124.61,124.78,126.10,
-125.35,124.72,127.34,128.28,124.19,123.08,126.61,128.09,127.34,129.44,
-130.19,129.15,129.20,132.71,129.88,131.25,132.52,133.62,133.98,133.42,
-4.41,4.31,4.18,5.23,5.36,5.99,6.05,7.16,7.19,6.53,
-7.73,7.91,8.23,8.92,9.36,10.08,10.04,10.98,11.21,10.82,
-11.79,12.31,11.84,12.51,13.66,13.80,13.28,13.60,13.88,15.22,
-15.10,16.71,15.38,15.51,17.44,15.96,17.36,18.54,18.34,18.29,
-19.16,19.12,20.09,20.09,20.82,19.43,21.48,22.16,22.37,24.45,
-20.94,24.68,22.39,22.40,26.66,23.99,25.66,25.59,26.65,25.37,
-27.30,25.69,27.10,26.93,27.83,29.38,28.65,28.82,28.79,30.63,
-28.87,30.57,31.26,30.91,31.69,30.47,31.72,32.98,33.47,33.27,
-33.12,36.73,33.42,34.17,36.28,36.98,34.68,36.85,37.56,36.52,
-37.41,38.81,39.35,38.01,39.68,39.42,39.72,41.80,42.43,43.06,
-41.61,41.32,42.94,43.28,44.53,46.15,44.03,41.73,44.47,43.73,
-44.98,46.24,45.51,47.56,47.80,46.95,47.32,47.84,48.10,46.90,
-47.64,50.68,49.26,50.05,51.90,50.12,48.92,53.15,51.90,53.30,
-53.18,53.04,54.07,53.58,54.09,56.79,55.38,57.91,54.25,56.12,
-55.96,58.13,56.92,56.69,59.86,57.63,61.85,58.73,60.25,60.27,
-60.30,60.75,60.16,58.54,62.20,60.92,60.69,64.57,64.11,61.76,
-62.78,63.52,64.72,64.53,66.54,64.73,65.74,67.64,64.97,67.95,
-67.47,66.39,69.53,69.57,70.27,67.11,72.21,72.70,71.12,71.16,
-69.86,70.17,73.27,73.08,72.42,73.16,71.76,75.53,76.98,74.29,
-74.70,75.30,75.98,75.42,76.95,80.88,77.12,79.04,79.49,80.25,
-76.58,78.67,78.15,78.27,78.22,80.83,83.50,79.83,79.93,83.00,
-79.76,80.28,84.02,81.38,86.25,86.49,85.35,87.66,85.99,88.05,
-84.84,90.01,85.44,85.36,86.24,89.94,90.24,90.33,89.15,89.50,
-88.84,91.24,90.87,88.57,92.64,91.47,91.15,92.50,91.82,93.17,
-91.25,94.91,95.42,95.00,93.59,98.09,94.29,95.91,98.35,99.18,
-98.01,97.82,97.88,98.73,99.19,101.48,100.89,100.30,102.31,102.50,
-101.56,103.05,103.71,104.33,102.03,102.53,103.44,102.46,105.53,106.71,
-104.23,106.30,106.19,108.54,104.81,105.58,110.04,105.62,106.20,110.78,
-106.76,111.38,110.34,109.06,109.70,111.74,114.32,111.07,111.36,112.20,
-41.52,45.29,48.55,54.58,57.01,61.43,65.19,70.65,73.41,76.56,
-81.82,83.65,90.05,93.01,97.36,100.29,105.74,107.38,112.47,115.33,
-121.59,124.59,129.01,132.41,137.49,141.15,143.84,149.15,152.65,158.62,
-159.10,163.67,170.87,171.39,177.09,179.85,185.67,189.50,193.76,196.45,
-200.63,202.97,205.47,211.18,217.34,221.11,223.04,227.23,233.79,235.14,
-240.04,244.25,248.35,253.76,255.80,260.44,264.31,268.97,269.00,277.86,
-278.86,281.98,287.08,292.69,296.95,300.37,302.16,308.22,310.81,315.93,
-320.64,325.85,328.88,329.91,335.31,340.14,338.45,348.20,351.99,356.78,
-359.86,362.21,366.71,369.43,376.21,376.77,381.75,388.85,389.02,392.31,
-396.72,402.60,403.80,407.67,414.57,419.72,427.62,428.68,430.26,436.93,
-436.35,440.73,443.00,449.81,456.70,457.80,465.24,465.36,471.17,474.98,
-477.35,483.49,484.09,489.06,492.23,499.08,502.13,511.42,511.46,513.63,
-517.68,521.48,524.90,529.39,532.42,537.17,541.88,547.61,549.67,551.12,
-558.35,562.12,568.19,569.26,570.28,574.65,582.03,586.56,591.28,594.04,
-593.69,602.93,604.64,612.44,611.08,618.42,619.44,622.97,629.11,634.93,
-636.22,638.11,644.09,649.15,655.27,657.36,662.72,662.51,668.32,669.18,
-675.45,683.06,683.50,687.35,689.31,698.76,701.26,705.04,709.91,711.62,
-709.79,719.60,729.29,729.30,734.70,740.02,736.03,742.80,745.69,751.75,
-757.46,758.76,762.30,765.12,771.12,773.95,778.48,778.42,785.98,794.99,
-792.78,798.28,803.87,804.69,814.42,821.57,816.08,824.41,823.32,829.56,
-840.07,838.46,845.68,845.89,855.13,855.36,857.38,862.58,862.20,872.69,
-874.43,874.09,885.07,888.24,891.80,895.55,900.06,903.05,904.53,905.30,
-912.87,919.16,917.25,929.45,932.87,931.61,943.83,942.05,946.71,951.22,
-954.77,958.22,964.70,964.66,968.63,971.67,978.36,980.40,986.84,990.98,
-993.58,1000.39,1001.49,1003.56,1008.80,1012.21,1019.19,1021.48,1024.51,1024.18,
-1033.27,1041.29,1041.19,1048.45,1045.79,1055.75,1062.05,1056.18,1066.41,1070.91,
-1075.72,1073.96,1084.42,1083.98,1089.21,1094.56,1098.37,1109.30,1103.85,1110.20,
-1111.70,1115.46,1122.24,1124.96,1126.59,1137.04,1138.94,1137.93,1146.52,1146.55,
-1154.14,1160.52,1160.43,1163.27,1167.59,1171.71,1176.55,1181.69,1186.42,1190.82,
-36.73,41.01,42.75,47.03,49.81,53.19,56.41,59.90,62.83,66.36,
-69.53,75.30,77.44,82.70,85.94,87.29,92.03,95.27,98.90,103.05,
-105.86,110.97,112.66,115.98,119.93,123.18,126.69,130.52,132.53,137.51,
-140.54,145.17,147.75,149.85,156.18,158.89,161.11,162.70,168.98,171.44,
-174.50,180.07,183.58,185.28,189.81,196.03,196.09,198.28,202.20,205.69,
-212.13,213.85,218.69,223.34,225.47,228.85,231.08,235.78,240.18,241.41,
-246.72,247.88,252.69,256.81,256.05,263.98,266.56,268.08,273.62,274.57,
-279.01,281.58,286.28,290.65,291.91,297.58,301.90,304.58,306.38,314.06,
-313.47,320.68,323.50,322.79,326.33,332.55,337.30,338.28,342.54,343.38,
-351.38,349.71,356.04,357.33,363.43,367.86,371.74,370.97,378.87,382.72,
-383.48,390.16,389.07,393.13,397.76,402.39,405.36,408.70,407.74,417.36,
-421.17,423.74,427.83,428.44,434.50,437.66,438.22,443.08,445.63,447.79,
-455.65,456.65,460.32,465.85,469.08,470.64,471.75,477.89,478.61,487.45,
-487.72,491.13,493.44,496.48,506.26,503.61,510.14,510.73,514.56,521.29,
-525.71,524.47,529.12,536.48,533.33,538.61,542.57,549.42,550.40,554.60,
-561.22,561.55,563.32,565.12,567.07,570.22,577.34,583.29,586.98,585.09,
-595.04,596.42,600.29,603.64,604.64,608.32,610.14,618.16,621.42,629.40,
-625.70,628.44,631.22,636.20,642.21,647.58,648.77,651.82,655.18,657.68,
-662.56,671.01,670.88,672.84,674.17,679.54,685.12,686.05,691.16,690.61,
-698.18,699.99,699.53,705.46,710.55,715.22,718.85,721.93,725.18,725.96,
-732.50,735.60,738.00,740.76,746.50,748.77,754.35,751.64,760.91,765.27,
-766.16,768.65,772.42,772.74,779.00,785.30,789.29,794.56,789.84,797.73,
-802.68,805.56,806.65,810.32,817.63,816.23,822.19,827.36,826.63,831.07,
-836.26,840.76,834.78,845.43,852.08,856.92,858.66,857.87,860.78,867.49,
-873.51,873.17,879.00,881.09,885.74,882.50,891.91,895.32,900.31,903.57,
-905.86,908.01,909.47,916.88,920.28,922.99,926.62,927.99,936.67,936.47,
-942.09,942.01,946.96,947.90,953.68,956.60,963.03,962.81,963.10,969.10,
-971.68,976.22,983.58,985.71,991.42,997.53,994.80,1000.80,1001.01,1005.45,
-1014.15,1012.87,1018.81,1020.12,1022.37,1033.81,1031.74,1032.77,1038.35,1038.86,
-32.13,33.81,37.88,40.71,42.67,47.39,50.81,51.17,55.95,58.72,
-62.46,64.90,68.38,70.90,74.00,76.42,79.98,82.95,85.98,89.83,
-92.10,97.65,100.04,102.46,105.38,108.64,111.73,112.90,118.05,119.66,
-123.72,127.92,127.52,132.68,134.72,136.80,138.87,144.59,146.55,149.57,
-153.47,154.61,160.81,160.70,164.49,168.55,171.41,175.61,176.76,182.27,
-181.64,185.63,188.30,192.05,194.85,198.65,200.30,205.57,206.94,208.36,
-213.02,218.73,220.27,222.03,229.30,228.07,231.10,232.24,238.21,240.42,
-245.03,244.54,252.10,254.87,257.78,262.28,262.08,265.77,265.87,270.99,
-274.08,280.79,277.22,283.28,286.81,290.41,291.94,293.07,299.40,303.59,
-304.07,311.64,314.32,311.90,316.23,318.08,321.08,325.95,331.67,331.62,
-336.84,338.23,339.32,345.97,348.20,351.44,354.04,355.26,361.96,361.49,
-363.88,369.20,370.57,371.66,379.35,380.92,384.33,389.73,392.83,391.28,
-393.43,396.49,404.36,405.94,407.88,409.44,414.68,416.06,419.84,423.33,
-426.02,428.48,431.86,433.07,438.61,441.05,445.63,446.51,449.44,457.01,
-454.15,454.68,463.62,467.69,468.56,471.92,475.90,476.46,478.23,486.00,
-483.61,491.12,490.37,497.23,497.60,501.11,507.00,507.61,509.81,512.48,
-515.95,522.98,524.56,523.03,529.90,527.29,536.86,537.67,541.68,543.38,
-544.00,543.47,551.84,557.21,558.52,563.23,573.31,571.25,573.16,573.38,
-581.53,582.85,583.75,587.29,593.48,592.19,596.44,600.44,606.33,601.48,
-610.87,610.02,611.96,615.97,613.63,621.28,627.47,630.64,634.72,638.61,
-635.52,641.39,643.25,650.42,645.55,651.62,656.51,658.68,663.07,665.11,
-665.54,667.60,680.13,684.21,682.14,688.48,687.12,689.10,689.88,694.74,
-698.90,701.21,704.84,706.49,713.32,712.42,715.56,724.50,725.29,732.03,
-729.95,729.04,739.03,736.88,738.45,745.09,746.93,753.44,753.11,751.46,
-756.99,761.87,765.71,768.22,769.10,780.50,777.72,782.14,781.65,788.55,
-790.34,797.07,799.56,801.24,799.55,808.78,804.51,815.56,812.56,818.43,
-823.95,822.43,830.98,830.95,831.31,835.75,837.34,843.59,841.75,853.60,
-855.46,854.55,858.08,858.68,860.87,868.82,872.43,870.32,877.29,878.91,
-877.45,886.12,884.93,893.74,890.97,895.21,900.81,898.37,905.70,910.47,
-27.17,31.54,32.68,35.25,38.95,40.60,42.42,45.02,48.73,51.95,
-53.10,56.14,58.58,60.68,63.54,66.41,70.23,70.33,74.89,77.36,
-80.62,82.77,85.12,88.15,89.98,93.97,94.67,97.16,101.29,106.03,
-108.45,108.61,112.47,114.75,117.87,120.33,122.21,124.40,129.91,131.23,
-134.42,136.19,138.19,142.96,145.56,145.24,148.19,150.83,156.20,157.32,
-159.18,164.71,164.77,170.34,169.78,171.68,176.36,177.93,182.17,181.23,
-185.49,189.42,189.90,194.10,198.03,198.40,202.78,204.48,206.44,213.02,
-213.77,212.78,217.99,220.05,226.99,224.78,230.66,229.72,233.25,235.07,
-237.00,241.23,242.25,246.76,249.40,253.35,255.82,258.56,257.77,264.27,
-266.38,265.98,268.81,274.90,270.79,278.07,280.12,281.72,286.86,292.00,
-290.24,297.69,295.74,296.81,303.90,303.18,302.40,311.22,311.74,316.51,
-315.67,317.66,323.96,324.38,330.15,333.56,333.16,340.58,342.90,336.72,
-345.51,348.56,349.48,349.16,352.84,360.67,358.46,360.32,366.49,365.59,
-370.15,372.57,374.21,374.73,377.25,381.81,384.30,392.84,392.90,397.04,
-396.07,399.24,401.03,404.64,408.28,409.52,412.05,412.13,416.13,420.46,
-423.84,423.49,428.05,431.19,433.11,437.87,442.24,441.18,445.12,443.67,
-445.99,451.15,456.19,455.24,462.90,464.64,464.23,469.72,470.62,475.66,
-479.84,479.75,478.41,478.38,486.15,488.69,494.89,496.48,498.19,498.33,
-508.31,505.67,506.72,510.11,511.64,516.83,515.36,522.73,521.97,526.45,
-528.22,523.37,537.65,536.87,535.49,544.18,541.64,552.31,552.64,552.37,
-554.98,560.69,561.38,560.38,565.75,564.75,573.18,570.04,577.31,579.13,
-585.79,589.22,587.10,593.23,593.34,591.57,600.37,603.96,605.31,609.46,
-606.99,611.49,612.80,615.52,616.07,620.12,622.01,622.86,628.21,634.40,
-640.96,636.97,640.62,644.78,643.75,647.94,649.04,650.91,655.99,656.44,
-662.73,663.82,661.77,665.22,672.69,680.22,675.54,676.00,674.96,685.57,
-687.17,687.79,692.79,692.49,699.73,700.31,696.46,712.08,706.78,712.81,
-716.07,715.03,715.52,722.94,726.47,722.34,729.97,735.24,730.52,739.85,
-738.45,741.02,742.10,750.80,751.64,753.61,754.48,759.48,761.07,763.96,
-768.00,769.70,774.17,775.93,774.65,781.56,780.01,785.75,788.08,788.95,
-23.56,26.92,27.25,30.47,33.48,34.96,37.97,39.11,40.78,43.45,
-46.77,49.15,51.68,52.86,55.99,57.54,59.37,64.08,64.74,69.51,
-68.54,73.39,75.04,76.38,78.92,81.93,83.00,84.56,87.19,91.34,
-92.23,93.35,95.66,98.92,101.62,105.63,103.96,108.99,112.90,114.91,
-116.51,117.04,120.34,121.72,125.53,128.56,129.31,131.20,130.89,135.79,
-139.16,140.66,142.07,144.56,146.21,149.49,151.59,154.74,154.23,159.27,
-162.60,162.57,163.51,165.82,167.37,170.34,173.69,178.75,179.17,181.76,
-182.67,188.25,189.37,189.38,193.79,195.63,196.66,198.93,204.43,205.72,
-206.62,206.49,207.97,212.00,215.99,219.59,220.64,221.53,223.20,226.23,
-230.59,232.75,232.31,239.24,239.47,240.42,242.78,248.27,249.18,250.24,
-249.11,251.51,257.50,258.90,261.66,264.33,268.58,268.54,272.69,273.38,
-276.54,276.60,280.99,279.87,284.32,283.62,292.42,292.02,291.30,292.63,
-300.49,304.61,300.34,304.18,311.80,309.78,316.13,313.28,317.77,321.14,
-321.87,323.82,324.57,327.99,329.99,335.16,334.66,339.36,342.95,340.64,
-342.77,346.63,347.38,349.68,353.95,352.74,354.76,360.39,361.65,364.20,
-367.38,371.96,370.73,377.24,375.86,377.55,381.89,385.61,386.11,386.59,
-392.94,391.42,393.66,391.27,398.83,394.92,402.76,406.59,409.54,411.53,
-412.82,415.63,416.32,417.23,422.23,423.97,429.04,429.29,432.09,431.86,
-440.36,434.80,438.75,440.79,452.23,449.29,446.07,448.20,457.70,453.69,
-458.59,459.86,462.65,468.51,467.95,466.05,470.61,475.20,472.61,483.17,
-480.53,485.01,485.72,484.77,490.51,488.87,493.75,499.72,501.54,507.04,
-501.44,509.77,512.02,513.14,514.88,516.05,514.80,522.33,526.32,520.69,
-529.65,528.23,531.12,535.72,534.66,539.46,543.54,551.09,542.84,544.98,
-553.21,553.83,558.82,558.11,555.57,561.72,561.89,565.41,569.63,571.91,
-576.55,580.01,576.00,582.72,580.99,587.84,586.88,589.71,591.70,594.04,
-595.73,591.59,601.07,603.02,607.34,600.05,608.78,608.07,614.97,615.68,
-618.96,618.95,623.10,623.26,622.04,632.76,636.93,635.22,638.53,639.55,
-640.61,641.24,644.83,648.90,647.70,654.20,653.75,658.46,660.14,662.83,
-666.05,665.65,670.15,667.72,678.76,677.50,682.52,674.94,682.08,680.93,
-20.59,22.56,23.53,26.81,27.91,30.03,33.01,34.29,37.16,39.08,
-40.16,43.26,44.13,44.88,47.66,50.14,52.16,55.16,56.48,57.52,
-60.53,58.84,64.56,64.40,69.34,71.19,72.93,74.73,74.68,78.68,
-78.96,81.43,85.05,85.36,89.85,90.15,92.55,94.23,96.17,96.41,
-99.43,101.62,103.23,105.91,108.58,108.12,111.41,114.54,116.23,116.16,
-120.04,122.26,124.05,125.97,127.48,128.96,132.73,133.60,134.84,136.13,
-137.86,142.56,142.30,144.37,146.69,146.68,150.79,152.97,154.84,157.76,
-159.28,159.44,161.48,164.81,168.12,169.97,171.88,174.00,175.00,175.17,
-178.00,181.78,183.18,184.79,185.16,185.61,194.15,190.91,196.04,194.44,
-199.46,197.74,201.48,203.79,206.37,208.35,213.54,210.49,216.03,218.55,
-215.86,223.42,224.02,225.42,226.26,228.05,230.51,237.48,233.66,234.36,
-238.21,239.77,241.44,245.06,244.44,248.27,249.28,255.70,250.82,253.44,
-258.19,261.00,261.90,262.85,266.50,266.27,268.53,274.86,275.19,276.83,
-275.79,280.06,282.09,284.55,284.38,284.69,288.56,288.24,297.25,297.18,
-296.38,298.42,300.83,302.96,301.04,305.83,305.19,307.38,316.13,312.82,
-316.92,318.40,317.45,321.09,324.50,327.07,329.63,328.56,334.48,335.47,
-337.45,340.48,337.27,347.94,345.25,349.48,345.09,351.03,352.07,357.32,
-357.70,360.90,359.76,363.70,361.36,363.12,370.18,369.42,369.19,379.61,
-375.94,375.31,376.72,383.60,386.72,383.32,391.82,390.85,393.30,399.65,
-393.29,397.98,402.25,404.13,406.12,406.76,410.40,413.24,410.92,411.57,
-416.99,414.17,421.84,420.51,420.81,425.80,425.49,426.44,431.40,437.96,
-435.19,435.27,435.41,439.79,439.73,449.05,449.50,448.47,449.58,455.43,
-450.84,458.67,460.16,459.36,463.40,465.94,468.34,470.88,476.18,472.55,
-475.46,477.20,479.04,478.05,485.21,479.87,489.53,491.27,490.68,492.92,
-498.78,498.43,497.50,502.33,505.44,504.56,506.22,505.88,513.44,515.04,
-514.98,516.24,517.60,525.22,522.74,521.10,522.25,531.50,531.95,533.99,
-535.87,545.06,536.08,542.62,540.74,544.24,544.95,549.75,551.85,553.80,
-552.99,551.65,559.14,563.50,560.99,563.85,570.57,568.18,565.36,568.07,
-577.94,576.42,578.57,584.34,588.46,583.98,588.01,587.33,589.41,589.92,
-17.77,19.88,22.00,22.45,23.41,26.47,27.36,28.99,31.95,31.75,
-34.81,36.62,38.06,40.40,42.02,42.00,45.80,46.55,47.97,51.18,
-53.50,53.25,55.36,58.19,58.93,59.00,62.82,63.94,65.42,67.92,
-68.84,71.79,72.52,72.03,75.80,77.30,81.36,80.53,83.02,83.18,
-86.92,86.08,90.07,89.14,91.84,92.49,96.40,96.35,99.73,100.33,
-102.20,103.69,106.87,108.91,110.75,112.24,113.90,114.60,116.53,118.36,
-120.71,123.41,123.73,127.93,126.16,126.82,131.33,131.61,132.80,135.90,
-135.57,137.26,141.46,141.64,144.70,146.77,145.93,149.90,153.69,150.40,
-154.19,157.31,158.99,156.95,160.94,163.00,163.81,163.85,165.82,171.00,
-169.65,170.95,175.70,178.94,178.57,178.63,182.10,179.49,184.71,188.06,
-188.55,190.42,190.93,191.74,199.95,196.02,200.26,198.32,204.60,201.94,
-204.50,207.21,211.75,209.11,212.75,213.98,211.49,216.88,215.90,222.36,
-221.23,225.34,224.77,225.09,229.80,234.01,230.57,234.81,234.92,236.51,
-239.75,239.51,241.81,244.83,245.49,251.39,255.00,255.50,254.18,258.25,
-253.59,260.00,259.90,257.14,262.75,266.33,264.66,268.62,269.65,270.13,
-275.07,274.16,277.34,278.44,279.36,279.70,281.34,285.61,284.38,289.77,
-292.48,290.04,293.77,298.49,297.76,301.09,301.72,305.85,305.12,302.22,
-305.95,309.77,306.90,313.38,318.18,315.32,320.98,316.69,321.49,322.32,
-325.20,323.94,327.84,328.48,333.82,336.91,338.08,337.05,333.46,338.44,
-338.59,346.17,343.27,345.65,347.27,347.07,353.36,353.57,359.56,357.21,
-361.83,356.50,359.62,360.52,366.00,365.54,370.70,374.29,371.86,371.47,
-373.44,377.47,377.56,382.38,380.28,384.81,385.20,384.12,388.86,399.41,
-391.90,398.73,399.69,398.37,400.29,403.39,405.17,404.81,408.83,405.38,
-412.70,407.81,412.81,415.00,418.53,412.65,422.84,420.01,422.22,421.70,
-426.86,425.14,431.45,432.87,436.57,433.76,438.11,440.24,438.33,441.77,
-440.48,445.80,448.12,449.15,448.20,458.56,452.15,455.14,457.62,454.90,
-458.74,461.82,467.00,467.39,471.64,470.88,473.01,475.33,475.63,478.02,
-476.54,478.36,482.69,482.65,483.81,482.35,484.19,492.14,492.25,491.10,
-501.96,497.07,495.65,501.64,500.60,504.29,500.80,506.56,507.76,507.86,
-15.20,17.48,18.83,20.22,20.38,22.94,23.53,26.60,28.02,28.20,
-29.77,30.87,32.56,34.32,34.94,36.64,40.25,40.43,42.13,43.26,
-44.53,46.75,47.07,48.88,50.52,50.32,52.80,55.21,57.41,55.97,
-57.40,62.32,61.04,62.28,65.77,66.72,67.96,69.52,71.32,71.39,
-73.46,75.43,76.06,79.72,78.55,81.42,84.63,86.74,86.30,85.82,
-87.81,90.99,91.21,93.27,92.83,95.53,98.85,98.32,98.71,102.57,
-101.45,104.06,107.75,108.22,110.47,111.69,111.88,113.53,112.70,116.69,
-118.74,120.31,118.55,123.38,122.76,123.68,124.29,128.57,130.13,129.84,
-131.44,135.45,133.98,137.03,140.01,138.16,141.94,142.70,145.17,147.22,
-147.28,144.97,148.46,152.45,153.87,152.89,154.88,158.57,157.00,158.60,
-163.47,163.14,165.73,164.90,167.10,170.41,170.59,172.65,170.67,176.26,
-174.89,178.06,178.79,181.04,183.96,185.18,185.69,186.60,190.12,188.76,
-191.66,191.34,192.40,198.63,198.65,198.58,202.59,202.70,205.21,200.77,
-204.12,204.39,212.22,209.09,215.34,215.00,215.67,215.72,217.74,219.46,
-222.06,222.07,224.96,228.43,229.30,227.58,229.88,228.22,230.82,236.60,
-234.16,237.53,239.79,243.38,237.28,243.21,246.60,246.82,247.06,249.47,
-255.32,255.20,254.22,256.61,255.66,255.33,257.63,257.22,262.77,260.65,
-265.22,265.05,270.22,267.40,267.87,273.03,273.02,271.50,277.63,280.68,
-276.52,280.67,282.91,284.72,283.15,283.85,291.24,289.72,288.86,291.56,
-290.47,295.89,295.97,297.08,299.47,300.27,301.53,302.43,305.96,305.94,
-304.85,310.74,309.09,316.55,311.34,320.79,315.99,317.81,320.96,319.39,
-323.78,323.33,323.00,330.36,329.36,326.09,332.23,335.41,332.58,335.64,
-333.25,341.90,338.39,343.99,340.21,344.87,345.51,344.55,346.52,350.86,
-354.47,353.25,353.47,354.44,358.36,363.00,360.17,363.84,362.96,365.76,
-367.50,368.49,370.25,370.72,375.16,377.97,378.66,378.63,380.11,378.85,
-384.23,387.13,383.86,380.69,391.23,390.10,391.17,394.30,392.27,392.39,
-400.02,398.91,400.91,403.99,403.12,405.23,405.85,401.90,405.61,408.79,
-408.35,409.43,415.18,412.17,417.04,416.39,418.95,419.25,425.57,421.97,
-424.46,427.51,429.18,429.94,436.20,435.72,431.85,435.61,438.90,438.68,
-12.67,14.56,16.17,16.52,18.10,19.39,21.28,22.14,23.01,24.54,
-26.89,28.28,28.77,29.64,30.71,30.99,33.55,33.58,36.00,37.98,
-38.29,38.64,41.18,41.37,42.58,43.69,44.91,46.97,49.05,49.53,
-51.23,51.31,53.74,54.70,55.20,56.74,61.84,60.13,61.00,63.36,
-63.27,67.43,64.66,69.11,69.97,70.53,70.23,72.25,72.17,74.74,
-76.92,77.40,79.85,78.92,80.64,83.00,82.39,84.24,85.77,88.13,
-87.04,88.03,91.23,92.45,94.17,94.81,95.91,99.55,101.13,100.88,
-99.11,100.52,105.29,102.68,106.59,106.88,109.52,109.27,111.07,113.68,
-114.75,116.58,116.50,116.85,119.77,120.25,120.92,122.56,125.41,124.56,
-126.38,126.39,128.03,129.74,129.41,131.87,137.03,133.88,135.65,139.68,
-134.67,139.07,141.14,145.27,144.85,149.31,146.29,146.04,147.85,149.21,
-147.98,152.62,153.04,154.94,157.40,160.85,156.45,160.58,162.36,164.51,
-158.56,165.93,165.07,167.97,166.42,172.75,172.33,172.32,174.82,174.00,
-177.99,175.58,178.87,178.20,180.24,180.91,185.09,181.04,186.27,192.11,
-188.61,188.61,188.79,195.65,193.13,193.76,195.62,200.98,200.62,200.73,
-202.37,202.34,202.78,206.58,201.44,210.18,211.20,210.88,211.92,211.02,
-216.36,215.83,215.66,217.18,219.42,220.80,220.84,222.22,224.16,222.98,
-226.03,231.66,229.28,233.68,233.29,231.61,236.44,237.88,235.02,238.63,
-237.41,240.77,239.17,243.18,244.33,243.22,248.59,248.50,249.81,250.59,
-253.62,255.29,256.31,260.38,255.84,257.18,260.14,259.61,267.11,259.47,
-263.25,265.32,267.98,266.18,267.41,269.55,271.39,274.98,271.89,276.40,
-277.36,279.20,278.43,279.16,285.62,283.26,280.75,287.13,286.49,289.81,
-296.41,288.78,293.16,294.67,295.77,293.22,297.99,298.07,301.95,299.90,
-303.96,300.32,304.08,302.21,310.35,306.58,305.56,310.80,307.67,311.22,
-312.14,317.17,316.16,320.89,320.40,321.00,319.36,324.11,325.65,320.95,
-327.59,328.00,329.80,326.68,329.44,336.41,334.11,336.94,337.94,335.37,
-340.10,337.47,340.01,343.72,347.46,348.82,349.83,348.70,347.77,354.08,
-354.50,358.77,353.02,354.09,363.56,357.69,357.78,362.36,362.15,363.35,
-365.55,366.45,367.40,368.35,369.20,371.10,374.26,373.99,376.55,375.64,
-11.41,11.76,13.81,15.24,16.11,16.70,17.29,19.75,20.74,21.38,
-21.93,22.81,24.43,26.09,26.49,28.51,27.75,29.61,29.88,31.50,
-32.33,33.47,34.30,36.58,35.84,38.06,40.42,41.85,42.66,42.94,
-43.67,43.32,44.64,48.05,49.26,50.05,50.01,51.22,53.35,54.80,
-52.91,54.37,55.93,57.93,59.07,59.85,58.64,61.69,62.52,61.43,
-63.45,66.72,66.02,66.81,69.73,70.37,72.69,73.51,72.19,74.03,
-72.99,76.40,76.85,78.15,81.83,83.70,83.61,86.20,85.06,86.88,
-86.98,88.08,86.71,86.84,87.88,93.16,92.79,93.62,93.20,96.37,
-98.88,97.25,100.20,102.79,103.73,101.50,104.37,104.22,105.21,109.12,
-106.67,109.89,110.72,111.70,113.67,114.87,114.78,114.53,116.18,116.93,
-116.89,120.37,121.84,120.56,123.59,125.60,122.12,126.91,127.25,129.51,
-131.99,130.00,132.78,133.78,135.41,136.27,137.61,136.73,137.25,136.96,
-141.22,143.05,143.00,142.59,145.82,145.72,146.37,146.27,148.99,145.43,
-152.16,152.44,156.21,155.71,154.79,156.91,158.25,159.73,158.17,160.16,
-161.17,164.20,160.34,168.81,164.70,166.14,168.40,169.51,172.12,173.66,
-173.54,171.61,174.19,166.67,177.39,180.50,180.54,177.47,181.12,182.22,
-182.56,182.76,188.00,189.43,188.10,190.87,192.41,187.86,195.17,196.34,
-192.37,193.78,200.04,193.69,196.87,201.91,198.18,205.88,199.43,203.23,
-204.53,205.98,204.25,211.42,208.29,210.34,210.87,212.94,212.68,212.53,
-213.98,218.65,216.52,216.90,220.69,223.25,222.26,222.89,224.64,226.10,
-224.05,229.05,226.84,231.20,227.41,234.86,230.61,234.56,235.01,237.99,
-240.61,239.81,240.70,240.33,241.03,243.04,245.97,247.92,245.56,246.77,
-247.57,250.06,251.69,246.67,255.43,250.56,258.30,255.62,255.63,260.17,
-259.27,258.65,265.80,265.70,262.36,269.96,267.82,268.44,266.30,266.55,
-272.94,273.75,272.43,271.82,275.58,277.35,275.02,276.27,277.04,282.09,
-279.77,283.49,283.65,282.91,281.99,282.74,285.12,289.08,290.07,290.87,
-287.15,290.45,290.04,291.65,292.15,294.51,298.37,295.10,302.11,298.61,
-301.15,303.84,303.83,300.46,303.88,307.50,306.92,307.99,313.09,307.74,
-307.97,315.80,318.14,317.92,322.23,320.69,319.30,317.80,318.18,318.21,
-9.41,10.22,11.01,12.83,12.98,14.25,14.92,16.65,16.19,18.55,
-18.91,19.98,21.20,21.16,21.39,22.85,23.62,25.32,26.29,27.36,
-28.13,29.53,30.02,30.56,32.40,32.95,34.45,34.26,35.93,38.31,
-38.74,39.90,40.21,41.05,40.71,42.90,42.51,44.88,45.76,46.15,
-46.11,46.52,47.60,50.23,50.90,50.72,52.22,52.63,52.72,54.73,
-54.77,57.35,58.12,59.20,58.16,59.46,63.09,62.41,62.67,65.75,
-65.44,63.60,67.76,68.45,67.14,71.53,68.25,72.74,71.19,72.35,
-74.39,74.46,76.89,78.48,77.10,76.12,80.42,81.47,78.36,84.23,
-83.96,83.42,85.52,86.02,86.54,88.48,86.20,91.95,92.05,91.47,
-93.55,93.86,94.18,96.20,95.71,97.16,98.39,102.26,100.91,96.98,
-102.44,99.92,104.28,103.91,106.76,108.62,105.67,108.68,110.33,112.23,
-111.67,111.10,114.22,114.97,114.89,115.73,116.57,117.18,118.73,119.42,
-117.86,120.39,119.10,124.29,123.48,126.16,126.40,128.57,125.38,129.79,
-133.54,129.35,129.90,132.89,134.89,136.08,139.21,133.00,139.94,138.43,
-135.65,139.46,141.03,142.45,142.47,143.65,143.04,145.11,144.39,148.34,
-149.43,147.96,147.99,149.65,149.59,151.84,151.76,155.59,155.39,155.68,
-156.26,158.42,162.65,156.47,158.12,162.73,160.76,162.19,164.74,164.00,
-164.39,165.51,165.28,167.87,168.64,169.51,170.95,173.84,169.60,175.20,
-174.14,172.52,176.45,181.12,180.17,177.21,179.44,177.54,180.83,182.89,
-182.96,185.66,184.70,189.48,187.33,187.28,187.32,190.37,189.45,196.00,
-191.83,191.02,198.04,199.64,197.39,199.52,197.49,199.22,201.08,203.35,
-204.47,202.40,206.71,205.76,205.84,205.55,205.87,209.21,211.56,213.97,
-212.57,209.80,214.79,210.93,214.15,221.83,222.71,216.48,218.15,216.69,
-218.98,219.34,220.29,223.68,222.73,224.84,229.22,223.52,226.56,231.56,
-229.18,234.68,228.17,233.18,238.63,233.94,235.82,237.93,241.02,239.32,
-237.98,240.70,246.51,241.77,241.22,245.19,243.01,248.26,244.12,250.01,
-246.48,248.88,251.72,250.55,253.40,253.24,252.76,256.57,258.90,251.28,
-258.29,261.22,258.39,261.65,260.54,264.80,265.34,268.02,262.15,268.33,
-269.39,271.01,270.50,270.42,270.21,275.22,272.21,275.68,278.85,275.86,
-7.90,8.71,9.95,11.20,11.06,11.69,12.83,13.57,15.31,15.28,
-15.82,17.44,18.73,18.45,20.70,19.54,21.98,21.63,22.63,23.37,
-24.00,24.62,25.81,26.80,26.76,27.37,28.35,29.71,31.56,31.12,
-32.63,32.74,32.90,34.23,34.30,36.52,38.06,38.19,38.22,39.33,
-39.57,41.55,41.47,41.89,41.95,43.87,43.96,44.86,45.51,45.31,
-48.72,45.88,49.81,49.35,49.54,51.67,51.12,50.39,53.31,54.74,
-54.27,59.21,57.71,58.00,58.14,57.88,58.88,62.35,59.84,62.73,
-60.94,65.66,64.35,64.45,65.76,66.44,66.19,69.02,68.28,70.99,
-72.30,71.13,74.24,75.05,73.05,74.43,75.38,75.34,78.64,77.70,
-78.89,78.70,80.29,81.88,80.05,81.72,84.82,86.22,84.66,87.23,
-85.71,87.85,88.24,88.73,89.88,90.67,90.57,94.25,92.80,95.67,
-95.18,97.34,94.43,98.88,99.03,96.83,98.98,99.55,102.33,100.51,
-102.28,100.81,104.95,107.36,103.26,109.19,107.51,107.67,109.44,110.36,
-109.91,110.20,111.62,114.53,111.86,113.72,113.35,115.60,120.22,114.84,
-116.91,118.77,123.07,119.64,118.77,122.81,124.18,122.92,124.17,122.99,
-127.35,131.75,124.27,129.72,127.44,130.04,131.81,128.51,133.72,133.25,
-133.22,133.56,137.77,136.03,140.13,139.89,138.42,139.04,141.79,139.94,
-138.60,142.28,144.82,143.16,145.37,147.20,144.69,147.39,146.07,150.34,
-146.94,149.89,155.02,150.47,147.93,156.61,151.90,156.34,156.89,154.78,
-159.68,157.59,158.02,161.34,158.20,161.46,160.87,165.18,163.26,162.07,
-165.29,164.61,164.85,168.22,171.36,168.12,170.47,169.09,168.91,173.50,
-175.20,175.96,169.23,176.23,173.97,178.22,177.31,177.35,178.64,178.80,
-179.86,181.67,180.57,181.77,182.34,187.33,181.40,190.00,189.30,188.08,
-187.78,191.64,190.53,189.58,194.12,191.60,194.28,194.52,199.09,199.36,
-200.17,197.29,195.66,203.66,202.66,201.82,204.27,201.62,205.69,206.34,
-206.02,204.89,208.82,209.64,207.53,212.54,208.97,207.79,209.67,213.22,
-213.97,218.22,213.66,213.79,216.79,219.38,216.10,217.08,218.35,223.33,
-220.46,221.89,222.71,225.12,224.65,223.57,223.41,228.18,223.60,230.19,
-225.73,230.25,230.21,229.85,236.98,232.86,230.36,232.13,232.87,231.65,
-6.19,7.67,9.23,9.50,9.58,10.48,10.76,12.23,12.12,13.14,
-14.59,14.66,15.04,15.21,16.98,17.86,17.84,18.58,19.78,18.70,
-19.83,21.89,21.82,22.19,23.90,24.29,23.75,24.52,25.86,26.08,
-26.83,27.59,30.16,30.10,29.32,30.81,30.62,30.59,30.72,31.88,
-34.20,33.73,34.79,33.02,36.72,36.36,37.49,39.01,38.69,38.37,
-39.52,41.59,41.72,42.00,44.62,45.32,43.28,44.74,46.12,46.36,
-46.10,45.98,50.08,50.96,50.70,52.24,49.73,52.00,51.76,52.06,
-53.79,53.24,55.83,56.28,56.52,58.10,55.42,59.59,58.59,57.32,
-60.35,60.21,61.62,62.88,63.71,63.87,65.32,65.89,63.76,65.79,
-67.56,66.82,70.22,68.69,69.09,68.85,68.87,72.38,70.08,72.43,
-73.05,76.79,74.22,75.66,75.47,76.50,78.18,80.97,80.84,81.88,
-79.75,83.91,82.47,81.80,83.77,85.26,81.95,85.82,84.89,87.49,
-87.91,88.58,88.19,90.65,91.29,93.19,93.15,91.06,92.64,93.52,
-95.39,96.83,97.23,93.21,99.17,95.78,96.75,98.78,98.42,101.74,
-100.55,103.50,103.07,104.70,102.55,103.50,103.46,106.17,106.42,103.96,
-107.61,104.84,108.11,111.39,112.32,110.23,112.30,113.25,111.31,115.80,
-113.71,112.64,115.24,117.75,115.26,113.76,117.42,116.92,121.88,122.51,
-121.09,121.79,125.48,122.48,123.47,122.51,122.64,123.94,130.16,125.26,
-128.01,126.93,129.44,127.88,129.28,131.55,132.56,132.58,135.32,135.97,
-135.05,135.39,133.63,139.10,137.65,139.98,139.59,137.33,136.04,140.48,
-142.67,141.33,138.94,142.05,140.94,140.57,144.76,146.34,145.78,146.50,
-148.67,147.31,149.97,144.94,150.71,148.25,150.25,151.27,153.67,156.96,
-158.19,148.53,153.90,151.55,155.45,157.31,158.55,158.16,161.40,161.22,
-160.09,161.97,161.20,165.72,161.95,164.69,163.26,170.43,168.23,169.32,
-169.28,166.41,168.35,169.17,171.39,168.38,172.14,175.62,175.81,170.18,
-175.06,174.76,174.71,173.42,175.00,178.56,180.60,178.14,181.28,180.49,
-183.21,181.11,182.75,179.86,181.46,180.55,184.04,184.61,187.41,188.02,
-189.16,186.92,190.64,191.63,187.34,190.81,191.70,192.35,190.16,193.53,
-199.58,196.06,198.58,195.32,198.00,199.67,198.76,203.56,201.98,198.98,
-6.15,6.89,6.59,7.90,7.72,9.05,8.62,10.61,10.56,10.85,
-11.08,12.80,13.65,14.31,12.97,15.08,14.97,15.44,16.05,16.56,
-17.38,17.29,17.38,18.07,19.98,19.41,20.24,21.11,21.23,22.19,
-22.38,22.63,22.22,24.89,24.67,27.33,26.98,27.57,27.06,27.21,
-29.57,29.02,29.72,31.46,32.13,31.02,32.94,32.55,33.24,33.81,
-35.23,35.46,35.12,35.75,36.31,36.80,39.41,39.68,39.40,40.06,
-40.20,40.54,40.23,41.69,43.49,43.66,42.34,44.34,45.89,46.09,
-46.24,46.91,47.95,48.88,47.69,47.54,49.32,48.05,50.51,51.40,
-50.03,52.40,53.34,53.80,54.87,54.83,54.84,56.23,56.46,56.11,
-59.10,55.56,55.82,61.32,60.15,61.49,61.33,62.10,62.74,59.54,
-63.12,62.96,62.96,62.69,63.34,67.29,67.10,64.91,69.28,69.13,
-68.44,69.74,68.16,70.58,69.17,71.70,73.25,71.87,73.25,73.60,
-74.77,73.53,75.42,73.54,76.60,76.41,79.13,77.89,80.25,78.93,
-80.44,80.38,81.43,82.78,81.89,82.90,85.51,84.40,85.87,83.10,
-86.41,85.14,85.39,88.21,88.33,85.78,87.96,90.34,88.32,89.76,
-90.14,89.97,93.17,94.38,94.21,94.57,92.92,98.09,96.27,98.22,
-96.61,98.13,97.43,97.25,100.49,98.36,99.00,98.72,102.53,102.17,
-102.82,103.37,105.24,103.72,107.28,104.24,106.06,108.28,107.35,109.43,
-110.67,106.42,109.32,110.78,110.08,114.64,115.64,114.07,110.65,113.92,
-113.07,111.20,117.11,116.53,117.14,118.56,120.21,119.49,117.59,119.84,
-118.53,121.63,121.55,121.28,121.32,124.77,123.82,124.53,121.83,125.61,
-125.18,124.70,127.23,129.60,124.63,126.86,127.64,126.87,131.33,133.45,
-130.12,129.50,130.77,132.37,134.14,131.99,131.41,133.72,136.50,134.45,
-138.24,138.76,138.45,138.52,133.87,140.54,140.62,143.35,143.36,141.62,
-143.55,141.97,143.05,146.20,144.77,143.84,147.06,148.86,146.57,144.32,
-149.22,148.00,149.63,153.94,150.64,152.11,151.31,153.06,153.77,151.48,
-151.61,155.86,154.47,155.94,154.25,160.00,160.22,159.26,156.75,159.26,
-161.52,163.27,164.91,162.79,161.22,159.83,161.11,167.41,163.80,165.85,
-162.11,169.65,165.50,168.27,165.96,171.16,169.78,166.85,169.49,169.06,
-5.38,5.33,5.87,6.26,7.79,8.25,8.54,7.94,8.93,9.70,
-10.10,10.12,10.42,11.49,11.28,13.69,12.27,12.60,13.15,14.32,
-14.43,15.82,14.44,15.73,16.07,16.40,18.36,18.69,19.59,18.18,
-19.02,19.69,20.98,21.10,22.56,21.69,23.69,24.10,22.91,22.57,
-24.11,24.27,24.66,25.90,25.44,27.70,28.29,27.70,28.35,29.37,
-28.42,29.99,29.60,31.65,31.73,30.40,31.89,31.32,33.97,34.47,
-34.60,34.33,36.03,35.27,36.19,36.93,37.23,37.14,37.87,36.55,
-36.52,37.64,39.07,40.32,39.40,40.29,42.28,42.77,42.61,44.51,
-42.88,44.98,44.05,43.38,43.77,47.26,49.24,46.35,47.95,48.69,
-47.68,47.12,47.77,49.67,48.86,49.67,50.39,50.26,51.67,50.69,
-52.34,54.07,54.34,56.46,55.60,56.61,55.06,54.54,55.58,58.58,
-56.97,58.30,59.70,59.64,58.55,61.41,63.02,62.39,63.73,62.21,
-62.59,64.35,64.07,66.52,60.33,66.80,68.17,65.87,67.57,69.39,
-68.09,71.31,67.38,69.27,69.16,70.59,72.24,70.59,72.91,71.48,
-73.83,75.03,78.67,75.27,75.44,74.66,75.92,76.42,77.26,76.66,
-77.35,78.68,80.18,79.02,79.35,80.27,80.57,81.84,81.76,83.46,
-83.86,81.22,83.96,85.62,86.41,82.54,83.81,85.46,86.28,86.60,
-88.12,87.68,90.22,86.47,87.25,87.53,89.88,92.19,91.17,92.37,
-91.84,95.53,95.08,94.25,93.27,95.21,97.66,93.33,94.32,98.54,
-96.22,97.02,97.60,100.16,100.00,100.53,97.70,97.80,102.27,102.59,
-104.94,102.80,100.44,104.08,105.41,105.67,104.73,103.23,105.73,107.68,
-106.02,107.72,107.48,110.34,108.53,108.84,108.74,112.57,109.71,110.32,
-108.55,112.00,112.36,114.98,110.84,113.47,113.52,114.63,114.66,117.07,
-116.81,117.92,118.46,119.97,120.13,120.00,118.67,117.12,121.16,122.91,
-121.60,123.39,122.30,120.62,126.36,126.61,127.25,121.64,125.25,125.14,
-128.46,126.61,125.80,127.03,125.80,129.08,129.82,128.17,131.23,130.31,
-132.87,128.32,131.87,131.67,132.17,129.10,132.85,134.37,132.81,135.90,
-136.35,134.55,136.03,134.03,137.88,140.18,136.23,139.95,142.03,143.64,
-139.39,140.17,145.90,142.81,145.80,144.19,141.12,146.89,142.68,144.17,
-45.63,49.39,54.62,58.57,62.55,66.07,72.53,75.58,79.70,84.56,
-88.85,93.36,96.70,101.83,106.46,110.72,113.46,118.83,123.30,127.78,
-132.35,136.80,140.67,146.27,148.31,154.38,157.05,163.49,167.30,170.90,
-175.63,178.50,183.37,187.69,190.53,196.88,200.27,204.53,210.07,214.13,
-220.44,223.49,226.77,230.59,236.21,240.10,244.82,251.97,253.97,259.21,
-263.38,265.30,270.63,275.96,278.17,285.55,286.03,291.03,296.67,299.35,
-304.50,312.29,313.42,319.65,323.19,328.80,330.46,333.33,339.81,341.96,
-347.47,352.50,356.12,363.51,365.50,372.11,374.81,378.02,383.04,386.37,
-390.49,397.24,402.15,403.74,406.46,416.06,417.38,422.77,426.18,433.39,
-436.84,442.41,445.88,449.03,448.81,455.62,460.28,466.16,467.77,474.13,
-479.58,486.67,490.27,492.85,498.34,500.45,507.23,510.61,513.40,520.64,
-524.47,528.98,528.98,535.69,539.39,543.57,551.17,556.32,554.32,557.76,
-563.82,569.79,572.72,579.66,582.94,582.38,593.78,599.04,600.41,604.99,
-606.48,615.51,621.97,617.14,625.14,630.00,633.92,640.20,644.73,647.51,
-652.49,654.55,660.17,664.63,666.84,672.45,675.74,681.25,685.91,688.93,
-700.28,699.48,705.07,709.20,709.02,713.31,721.28,725.85,732.92,735.83,
-741.03,739.17,748.55,750.28,753.86,757.27,763.20,768.69,775.14,776.02,
-781.81,784.62,788.64,794.96,797.80,799.33,808.32,813.28,816.72,819.32,
-826.24,827.59,830.39,841.88,842.90,844.80,855.44,859.39,863.07,863.55,
-870.41,872.90,877.80,880.01,883.95,890.43,893.42,899.07,906.11,905.69,
-912.50,914.59,921.13,922.98,929.94,931.15,941.14,944.38,947.21,949.08,
-957.42,962.12,965.06,971.64,968.74,976.69,983.45,987.20,986.77,995.01,
-993.22,998.88,1003.32,1009.75,1016.40,1017.75,1024.74,1026.49,1031.50,1038.92,
-1043.17,1042.11,1046.50,1054.25,1058.60,1061.59,1064.97,1070.42,1076.85,1082.51,
-1088.71,1084.93,1091.69,1094.38,1106.26,1105.53,1114.45,1114.91,1119.13,1125.33,
-1127.33,1132.60,1136.37,1142.62,1148.04,1144.38,1157.88,1158.66,1160.45,1167.34,
-1173.33,1176.23,1179.39,1188.47,1189.48,1194.58,1196.69,1203.29,1207.30,1211.78,
-1216.74,1220.91,1223.61,1224.64,1234.00,1236.09,1245.51,1244.67,1249.56,1254.90,
-1259.08,1259.86,1258.71,1271.26,1275.09,1279.95,1287.46,1290.07,1293.20,1295.21,
-40.16,44.18,48.93,51.12,56.55,58.28,63.20,66.14,71.08,73.81,
-79.29,80.81,86.64,89.07,93.62,97.22,101.41,104.39,108.05,113.44,
-117.71,122.22,123.95,126.72,131.49,136.94,139.94,144.02,146.60,152.16,
-155.63,158.41,160.30,169.14,171.03,171.22,179.37,182.53,186.31,189.63,
-192.88,196.38,202.17,203.92,209.39,212.36,219.18,219.74,222.86,227.93,
-229.39,235.85,241.13,241.61,249.47,251.58,255.09,259.73,263.48,268.28,
-269.17,274.39,277.33,281.26,288.13,288.55,289.83,297.81,299.59,304.19,
-309.17,313.43,315.82,319.53,326.75,324.36,332.12,336.25,339.11,344.01,
-346.92,353.48,357.05,358.67,364.91,363.74,370.05,374.53,381.89,385.77,
-383.20,388.99,393.63,394.97,398.12,405.98,407.39,412.08,416.39,421.42,
-424.74,428.19,429.62,432.37,437.78,442.94,447.06,453.73,452.98,459.37,
-462.49,466.15,465.50,473.81,475.61,482.94,485.22,487.44,492.21,498.51,
-500.47,501.74,509.97,510.40,515.48,519.46,523.68,525.23,528.81,535.87,
-537.38,543.45,544.57,552.43,558.02,563.00,562.06,564.18,570.73,574.22,
-577.20,578.92,585.38,588.95,593.27,595.01,602.07,602.99,609.37,609.96,
-618.30,617.06,622.77,626.17,630.27,632.27,641.44,645.02,643.40,651.39,
-654.18,657.62,656.38,666.46,674.19,671.32,674.71,678.88,687.82,688.41,
-692.55,697.14,696.86,700.99,708.39,711.26,715.33,721.00,719.34,728.04,
-731.14,739.83,739.48,742.93,741.13,751.22,754.79,755.51,765.53,766.18,
-764.54,771.93,773.92,773.84,781.40,791.32,794.67,797.14,794.05,805.55,
-810.27,811.27,816.68,820.99,819.42,825.46,829.50,838.50,839.36,840.88,
-846.18,855.66,849.00,856.19,860.81,868.16,870.52,873.21,877.75,878.32,
-885.98,884.07,891.44,889.96,896.21,903.94,905.63,913.84,917.70,916.17,
-919.82,925.62,928.84,934.35,937.78,941.97,945.83,952.15,948.89,956.79,
-960.48,965.82,969.24,972.57,970.29,980.67,988.05,990.16,991.06,999.84,
-993.88,1005.82,1007.73,1013.99,1011.32,1019.39,1021.58,1028.10,1028.73,1033.09,
-1037.49,1045.38,1042.48,1050.47,1053.49,1059.86,1056.73,1064.47,1072.74,1071.45,
-1077.43,1077.15,1082.12,1090.10,1088.64,1094.28,1089.16,1100.02,1105.41,1106.40,
-1118.51,1120.84,1121.52,1122.95,1129.72,1134.68,1137.83,1138.53,1143.00,1145.56,
-34.65,40.03,41.46,44.83,48.84,51.17,55.11,59.34,62.70,67.34,
-69.13,73.99,76.15,80.03,82.36,86.39,89.14,92.00,95.95,99.45,
-103.45,106.40,109.55,114.74,116.20,119.18,121.52,127.60,130.64,135.05,
-136.63,140.78,144.97,147.90,151.09,154.54,156.87,161.24,165.13,167.29,
-171.45,173.44,178.02,181.79,185.03,188.21,191.06,194.11,195.59,200.94,
-205.22,207.74,210.85,213.02,218.22,219.63,225.63,228.89,229.82,234.25,
-239.33,244.04,246.32,247.50,252.26,253.15,259.43,262.09,266.50,272.17,
-272.17,275.75,282.51,280.54,283.22,287.78,289.89,296.19,299.95,302.79,
-305.80,309.77,312.81,316.02,321.97,322.38,324.91,326.13,331.10,335.24,
-340.90,342.19,345.83,349.31,356.45,361.73,359.66,364.71,368.05,369.99,
-373.26,377.97,382.23,381.21,388.32,390.81,396.65,396.58,400.27,401.83,
-410.41,410.54,416.63,412.05,421.12,425.71,427.18,434.21,435.92,435.48,
-444.37,444.52,446.16,450.89,453.38,458.22,458.73,464.42,469.93,468.34,
-475.78,474.70,478.35,483.55,491.92,490.18,499.80,499.65,503.05,502.77,
-510.28,515.31,514.94,517.31,516.08,529.44,527.55,531.65,536.60,539.53,
-540.61,547.92,549.98,555.60,559.42,559.84,565.70,568.06,568.81,578.00,
-576.77,580.71,578.65,587.67,589.68,589.91,596.20,602.18,607.25,607.10,
-609.14,614.55,618.29,621.21,623.91,624.98,632.35,636.25,640.87,635.96,
-647.11,648.34,652.91,654.98,661.85,661.94,663.33,663.80,672.65,671.58,
-676.48,683.25,686.05,691.64,689.67,694.18,698.49,700.45,710.00,708.79,
-712.92,719.90,721.06,720.82,729.79,734.07,731.81,732.97,736.79,744.23,
-746.64,746.72,752.40,751.86,759.78,764.22,770.13,771.03,769.87,775.65,
-783.69,789.95,782.13,790.40,793.92,791.62,804.36,806.87,804.74,812.70,
-817.57,824.73,823.41,822.78,826.81,829.88,833.93,836.42,848.73,847.21,
-843.14,854.69,854.00,859.74,856.98,867.46,866.69,868.01,872.82,877.97,
-887.37,885.30,890.67,888.03,895.29,900.11,900.57,899.25,907.59,906.69,
-918.62,921.72,922.74,923.18,926.82,928.24,941.34,941.77,942.75,947.30,
-945.12,955.62,953.83,958.43,968.54,965.72,967.20,971.54,975.45,977.02,
-980.66,987.38,988.28,991.30,988.74,998.09,1004.11,1009.09,1012.11,1016.62,
-30.79,33.54,36.73,40.12,43.12,46.64,48.07,53.00,55.80,56.67,
-60.82,64.00,66.04,70.71,73.34,76.10,77.00,82.24,83.52,86.95,
-92.20,93.70,96.72,100.22,102.44,106.67,107.67,111.53,113.39,115.62,
-118.55,124.18,125.46,129.85,131.14,135.06,136.49,140.92,143.33,145.60,
-148.41,150.19,153.48,159.76,162.09,164.55,168.02,172.68,172.89,175.77,
-180.50,181.91,185.33,189.27,192.36,195.05,198.42,201.94,203.28,205.50,
-212.33,211.86,217.66,217.83,221.65,222.47,229.08,231.46,235.53,236.75,
-239.15,243.87,244.69,249.85,249.48,256.67,256.88,262.43,263.94,265.95,
-268.78,273.11,276.34,277.83,281.93,284.24,289.51,290.69,292.05,295.46,
-301.20,303.45,304.36,306.52,310.77,314.31,316.18,321.37,321.50,324.35,
-330.12,334.73,334.30,334.83,343.41,344.44,346.04,350.17,352.11,351.80,
-356.59,361.38,364.43,365.50,371.12,372.79,375.02,378.16,381.86,384.72,
-390.11,394.60,392.40,396.60,401.40,402.73,404.24,406.00,413.97,413.00,
-415.81,422.16,422.92,427.54,429.71,436.44,436.62,435.34,443.75,444.85,
-446.37,448.23,452.73,460.34,461.87,462.04,462.42,470.12,465.73,473.76,
-477.04,481.08,485.14,487.38,483.35,495.21,498.92,498.72,500.76,503.10,
-508.62,509.69,513.27,513.08,516.06,520.22,524.62,528.02,534.72,534.10,
-539.13,539.96,543.71,547.14,543.93,555.43,554.95,558.80,562.23,560.86,
-567.50,568.75,567.99,571.70,577.95,583.62,582.79,588.30,589.51,595.02,
-597.42,601.52,599.11,608.34,608.22,610.33,613.95,618.28,619.46,621.41,
-626.34,630.17,634.90,634.54,637.02,643.09,642.47,643.25,652.40,654.76,
-660.63,658.98,665.05,665.92,668.10,669.93,672.68,674.34,677.32,686.47,
-687.46,693.64,693.57,696.92,701.80,703.74,698.70,707.40,708.32,710.83,
-710.60,714.83,721.23,723.58,726.10,727.72,730.05,735.60,736.03,741.01,
-744.69,746.74,750.70,753.08,753.97,765.36,766.29,767.33,770.51,767.52,
-778.63,781.91,778.64,781.91,785.86,786.75,790.97,797.67,799.25,798.02,
-801.84,805.79,811.29,806.89,813.73,821.15,825.75,824.01,823.15,828.95,
-839.98,835.77,834.35,841.83,846.78,843.07,848.77,860.59,858.61,858.74,
-865.06,866.14,870.54,876.17,871.36,878.76,874.82,884.71,894.83,894.47,
-26.64,30.07,32.87,35.48,38.04,40.65,42.74,45.40,49.38,50.22,
-52.82,56.90,58.09,61.32,62.24,66.55,69.02,71.08,74.69,77.95,
-80.19,81.12,85.11,86.66,89.46,94.25,93.59,98.78,99.14,102.45,
-105.76,105.91,109.81,114.72,115.72,117.85,119.53,122.48,124.83,129.08,
-132.34,133.26,135.82,139.07,140.83,143.86,148.12,148.93,150.73,156.60,
-156.25,162.18,164.43,166.06,168.87,170.43,175.05,178.09,177.94,182.53,
-183.96,186.51,188.58,191.78,193.87,195.30,199.03,199.76,207.75,208.13,
-210.14,210.61,216.65,218.46,221.16,222.95,222.37,227.77,229.70,233.54,
-235.60,239.63,240.24,242.15,246.06,248.56,251.86,254.32,256.76,261.66,
-263.26,261.82,267.65,269.68,275.76,273.99,277.02,281.28,283.18,286.05,
-287.98,289.20,295.61,299.31,299.67,300.16,299.83,307.20,307.03,310.16,
-313.62,315.75,315.72,325.86,323.92,326.96,328.46,332.63,332.85,339.48,
-340.34,343.06,345.00,350.18,350.01,355.68,356.88,358.66,364.27,366.20,
-368.67,369.48,369.34,373.45,371.98,375.94,383.73,386.21,386.22,388.94,
-394.24,388.85,397.85,397.79,396.29,403.16,400.01,413.72,414.52,412.61,
-421.47,422.24,427.41,424.40,428.92,433.54,432.73,434.98,438.89,440.96,
-447.96,446.35,450.75,450.49,454.13,456.69,460.34,469.20,464.32,468.78,
-473.93,476.33,478.58,473.33,480.77,482.60,481.56,487.67,490.08,494.74,
-494.28,501.62,501.39,507.20,507.66,510.31,512.56,511.79,515.12,517.00,
-519.68,528.06,525.48,529.48,531.12,537.49,535.40,538.37,547.59,547.44,
-548.06,549.94,559.87,554.19,558.40,561.51,564.36,567.99,570.37,570.12,
-572.60,579.45,583.54,582.14,586.34,586.45,590.32,594.23,594.43,603.05,
-604.31,598.53,605.15,604.77,608.66,617.72,614.37,615.39,624.61,623.83,
-632.94,630.52,632.86,633.40,632.79,643.96,642.68,645.02,646.22,658.84,
-651.73,649.77,659.66,659.17,661.07,666.81,666.98,669.12,677.22,679.16,
-679.63,682.95,685.15,680.63,688.49,691.89,692.22,697.05,704.16,698.78,
-707.49,704.26,713.00,708.99,714.05,713.56,721.21,720.27,725.34,725.64,
-732.52,736.44,731.87,735.14,740.60,741.36,745.40,744.87,751.29,761.33,
-758.13,752.77,762.41,767.79,772.33,773.10,766.54,777.78,777.87,785.02,
-23.54,26.39,29.66,30.29,33.92,35.65,37.97,40.43,41.97,43.04,
-47.19,48.20,50.72,54.38,55.49,59.50,59.86,63.00,65.93,67.88,
-69.17,72.88,73.10,77.27,78.29,82.40,82.86,85.43,89.82,91.05,
-92.89,95.79,96.38,98.95,100.49,104.54,104.97,107.47,109.86,113.77,
-116.81,115.79,118.08,121.88,124.32,125.72,126.62,131.03,130.47,135.94,
-138.18,140.83,143.46,144.85,147.22,147.90,151.28,152.72,155.11,159.03,
-160.36,162.84,165.40,167.48,169.82,170.80,175.14,172.14,179.87,182.59,
-184.02,184.90,188.91,192.03,193.00,196.03,198.54,198.13,201.24,203.31,
-203.75,205.95,209.44,210.55,214.24,217.58,219.86,220.82,223.65,227.46,
-226.99,230.86,233.20,232.70,238.45,239.52,242.64,246.64,245.46,251.48,
-249.64,253.78,256.83,255.08,257.86,266.10,268.20,267.51,271.75,273.35,
-273.76,275.91,282.09,288.35,279.97,289.59,291.84,291.62,291.44,297.60,
-294.56,299.34,303.31,306.15,304.08,310.98,308.16,314.76,317.52,317.25,
-317.38,324.31,322.99,327.20,329.69,332.63,337.21,335.63,337.61,336.56,
-344.71,349.34,349.83,350.29,349.65,354.06,357.25,358.49,361.30,363.86,
-363.65,370.45,370.01,370.98,375.06,376.38,377.85,382.42,380.65,386.83,
-386.56,390.40,395.57,397.18,394.61,401.46,402.10,401.24,405.18,413.29,
-411.24,413.85,415.56,417.53,420.24,418.85,419.07,428.04,429.68,431.08,
-432.94,441.50,439.94,442.46,443.44,445.33,448.28,452.42,453.07,456.74,
-460.87,455.81,459.37,465.55,466.40,467.53,470.17,472.62,471.44,476.45,
-483.82,480.04,483.67,485.62,490.27,493.30,491.37,495.67,497.80,499.68,
-502.48,501.98,502.46,511.76,510.90,515.26,517.30,514.22,521.60,519.95,
-524.28,529.78,531.03,529.92,536.50,539.78,538.10,540.42,543.88,546.06,
-549.18,553.26,552.23,556.36,555.00,557.22,563.63,561.02,563.66,570.45,
-570.86,571.37,574.13,573.43,581.10,581.37,586.82,581.12,585.10,593.87,
-592.35,589.78,601.11,601.36,597.33,601.24,606.84,606.17,609.04,612.43,
-612.91,622.88,620.38,621.06,622.18,625.01,632.75,631.63,639.95,630.05,
-641.40,639.30,644.74,642.47,646.20,651.51,652.80,656.23,657.57,660.60,
-653.97,656.68,665.92,667.63,671.03,676.58,678.96,680.93,687.88,682.27,
-21.93,23.23,24.59,27.41,30.03,31.70,34.12,35.20,37.73,39.02,
-40.87,42.98,44.63,45.77,47.92,51.38,53.47,54.22,58.34,58.97,
-60.21,63.47,63.76,67.04,69.69,71.38,72.75,73.19,74.91,76.66,
-79.19,81.52,86.70,85.87,87.75,90.75,92.94,91.92,95.33,97.84,
-99.47,102.75,103.01,106.82,106.70,110.59,113.51,112.45,116.35,119.46,
-120.91,121.26,125.96,126.67,128.61,130.03,132.22,133.83,135.11,139.72,
-137.83,138.91,142.26,148.13,147.57,150.15,152.51,154.33,155.65,156.07,
-155.94,161.11,163.72,167.44,169.53,171.36,174.54,174.77,173.56,178.01,
-176.85,180.16,187.69,185.51,185.85,189.22,194.39,195.63,198.12,195.59,
-201.85,201.62,205.25,205.33,206.89,209.94,214.95,213.89,215.55,217.98,
-219.72,221.72,223.91,224.54,231.62,231.01,227.90,233.20,237.21,237.40,
-238.38,241.91,243.63,246.44,248.12,246.86,253.14,253.61,256.86,257.08,
-261.04,260.87,264.64,260.85,264.07,268.65,267.94,276.10,278.91,278.11,
-278.26,281.98,280.08,283.17,283.05,287.83,291.65,291.91,297.51,297.06,
-300.57,298.69,298.98,302.40,304.52,307.46,309.75,308.73,315.35,316.14,
-317.07,321.53,323.03,325.14,327.62,331.96,330.64,331.46,334.70,338.06,
-338.56,344.90,338.81,345.76,346.70,351.34,353.83,354.31,350.75,352.69,
-356.29,360.08,360.73,364.02,369.24,365.80,367.87,375.50,374.90,378.68,
-379.29,383.72,385.27,382.72,383.67,385.94,385.15,390.83,396.51,395.27,
-400.88,400.06,403.91,401.60,406.68,404.28,410.55,410.53,415.46,414.00,
-419.46,423.26,421.50,422.38,427.34,425.39,431.63,432.33,433.80,435.03,
-438.80,440.32,441.54,444.55,448.54,451.52,450.22,449.06,454.21,458.56,
-456.54,458.20,460.59,465.58,462.56,468.73,471.11,471.56,473.90,473.17,
-472.14,476.94,484.35,488.77,486.69,485.62,488.07,493.12,494.28,496.84,
-492.34,499.92,503.93,504.23,504.00,507.28,509.18,507.31,512.71,513.40,
-516.90,519.19,519.89,520.58,524.33,525.93,528.98,528.78,529.90,535.23,
-537.55,539.26,539.55,543.50,543.05,549.77,545.11,550.65,549.53,554.65,
-558.07,560.59,561.12,560.89,562.60,569.60,570.66,569.17,573.75,575.50,
-578.93,577.40,578.03,578.21,590.15,585.08,586.45,591.56,588.61,594.64,
-18.12,20.11,22.64,23.30,24.34,25.78,27.72,30.32,31.42,34.55,
-33.37,38.01,40.19,40.79,41.44,42.60,43.20,48.97,49.56,51.30,
-51.76,54.22,56.62,58.15,61.12,61.36,65.03,66.49,64.83,69.00,
-70.53,71.44,74.08,76.01,76.51,78.44,78.93,81.10,85.01,86.81,
-87.00,90.06,89.42,93.66,93.83,96.87,97.28,97.33,102.99,105.73,
-104.95,106.74,110.91,110.07,113.67,113.31,113.60,113.11,119.84,120.96,
-120.67,123.24,124.36,126.61,128.01,129.29,131.45,134.21,134.41,136.80,
-139.07,139.34,141.75,143.19,147.77,146.25,145.22,152.35,151.19,158.46,
-154.61,159.51,161.70,158.44,165.94,163.14,168.56,170.32,171.95,170.56,
-173.45,176.95,180.82,179.24,180.62,182.17,184.61,184.75,192.31,187.70,
-189.01,190.21,194.47,195.95,196.82,196.04,202.03,203.74,206.92,208.22,
-209.60,214.86,212.45,215.00,212.58,217.78,221.79,221.68,223.59,223.08,
-227.58,227.57,228.20,231.38,236.75,230.44,232.65,239.51,239.25,242.21,
-243.35,242.53,246.35,246.19,250.65,253.12,252.56,257.00,258.34,256.43,
-257.12,262.18,263.77,264.75,265.27,272.04,271.83,275.03,272.03,278.46,
-277.06,279.84,280.02,282.31,282.01,283.86,287.93,290.75,293.05,293.01,
-293.83,300.04,299.13,296.80,304.54,304.64,307.82,304.61,311.00,314.79,
-310.32,313.05,316.82,315.79,316.27,322.57,321.07,324.74,326.56,329.73,
-334.18,330.78,332.63,339.42,333.82,335.86,343.14,340.95,342.10,346.20,
-343.90,348.87,346.51,353.74,351.32,353.04,360.02,357.60,355.44,363.52,
-362.57,367.78,364.35,375.92,367.35,372.11,373.03,377.14,379.34,382.08,
-385.41,379.64,385.74,382.92,389.86,390.04,393.54,390.53,387.85,397.69,
-395.98,397.10,403.48,408.18,404.03,408.92,410.94,414.59,410.40,414.25,
-414.87,417.67,421.21,419.90,423.75,424.38,428.20,428.10,424.15,430.95,
-433.81,434.67,434.35,439.91,437.27,442.73,442.85,442.38,446.94,448.86,
-447.71,448.29,453.47,457.88,461.47,457.15,457.20,464.11,464.53,463.02,
-464.41,470.19,473.33,471.07,472.20,481.86,470.51,483.67,480.50,481.59,
-481.87,487.99,489.22,486.96,489.72,492.15,491.13,498.18,497.51,504.71,
-501.26,501.48,506.05,504.59,509.61,508.68,513.23,514.54,512.86,517.21,
-16.17,17.19,18.67,19.57,21.25,23.77,25.04,25.66,27.95,28.93,
-30.42,32.69,32.05,35.94,37.76,39.02,39.67,39.90,41.73,44.19,
-46.48,47.38,49.77,49.16,51.01,54.15,54.83,55.07,58.58,57.46,
-61.25,65.04,64.60,65.47,66.28,67.73,68.86,72.15,74.78,77.51,
-74.73,77.88,76.88,83.54,79.89,82.37,84.48,84.75,86.90,89.68,
-91.46,90.34,92.06,98.06,95.60,96.83,98.09,102.92,104.12,105.08,
-104.02,105.81,108.33,108.29,113.72,113.04,115.25,116.22,116.06,119.56,
-121.38,120.25,122.58,124.71,125.99,125.35,129.34,132.38,133.05,134.81,
-136.42,135.13,138.82,138.99,140.38,142.38,147.43,146.03,149.60,150.08,
-153.00,154.64,151.18,152.10,156.95,156.70,158.63,159.97,165.55,164.90,
-162.06,165.46,165.62,171.06,168.44,172.20,174.65,177.72,177.28,185.23,
-178.72,183.28,184.41,184.75,185.96,189.25,187.55,190.44,191.59,191.32,
-195.06,194.93,199.13,202.04,201.59,202.34,208.93,203.56,204.97,211.21,
-211.42,212.12,213.38,216.71,220.16,219.66,220.16,220.96,220.09,224.11,
-224.75,225.72,226.75,230.09,232.26,235.73,237.28,241.01,235.69,237.05,
-244.08,239.81,246.06,241.66,250.14,251.10,249.99,250.75,249.98,255.37,
-255.07,257.87,261.19,259.58,263.63,265.11,266.71,267.43,270.62,267.80,
-270.94,274.96,273.93,275.76,276.46,277.69,279.95,281.76,280.80,284.48,
-284.11,284.53,289.22,292.83,292.92,292.04,290.90,297.22,296.94,299.22,
-300.29,301.34,306.29,305.39,308.66,303.77,306.72,310.24,312.44,310.77,
-314.23,318.83,317.71,321.53,318.29,323.60,328.29,327.77,327.73,326.68,
-329.84,328.67,334.52,336.25,332.64,336.94,341.75,335.65,338.71,343.42,
-350.65,346.58,352.35,349.82,352.49,350.94,354.86,356.20,350.89,358.72,
-360.29,362.17,363.79,365.85,368.51,368.06,371.43,371.48,372.30,372.74,
-374.66,376.38,378.22,382.58,380.91,386.80,386.36,386.87,384.11,388.72,
-390.62,392.52,390.53,389.04,397.19,396.59,398.65,402.49,404.21,401.38,
-406.46,404.71,407.81,409.06,412.91,412.71,410.02,419.66,419.35,417.72,
-420.51,422.64,424.57,421.68,425.31,421.93,430.38,427.64,429.71,434.30,
-435.71,436.72,436.74,446.02,435.39,444.05,442.50,443.36,446.14,448.63,
-13.21,14.61,16.49,17.25,18.56,20.35,22.59,22.96,25.02,24.99,
-27.77,27.09,30.21,30.11,31.98,29.79,34.26,35.33,37.85,38.85,
-40.40,41.50,43.02,42.55,43.89,45.82,48.82,48.57,49.98,50.47,
-53.80,52.59,54.47,57.64,57.61,59.60,59.08,61.13,61.81,65.09,
-65.55,68.04,66.78,68.63,69.59,72.62,72.38,74.85,77.43,74.12,
-78.50,79.73,79.08,81.19,82.81,84.65,85.65,86.22,93.42,90.20,
-94.01,95.18,96.64,94.25,97.70,99.51,100.19,100.41,103.45,103.42,
-105.04,104.73,105.12,107.19,109.30,109.79,112.81,112.57,116.05,116.28,
-119.88,118.39,119.59,120.01,124.89,123.48,124.97,128.28,126.95,128.28,
-131.78,130.98,134.46,135.62,135.39,135.82,139.59,139.93,143.17,139.59,
-146.58,144.04,150.12,144.79,146.92,151.62,150.53,153.07,155.00,156.49,
-155.08,155.46,159.40,159.62,162.02,164.72,167.72,164.59,165.05,168.72,
-167.85,174.60,172.07,174.81,172.13,175.99,172.22,177.73,181.56,182.41,
-182.02,184.63,182.03,186.66,188.35,188.59,194.26,194.44,193.43,195.50,
-197.30,198.63,198.70,197.73,200.46,201.68,202.92,207.62,208.94,207.80,
-206.62,211.19,213.96,210.16,211.98,213.72,215.98,216.38,215.83,222.33,
-219.43,221.61,226.67,220.36,226.51,231.35,233.42,231.03,232.41,233.89,
-233.87,232.83,238.83,238.53,237.93,239.98,243.99,244.78,247.98,244.48,
-248.04,247.54,250.49,250.73,250.36,251.69,255.95,256.27,256.56,260.26,
-260.73,259.76,263.56,261.95,269.28,263.81,267.89,273.62,266.34,274.67,
-274.29,274.60,271.20,277.46,276.08,278.95,282.54,281.11,282.74,285.33,
-289.29,287.97,290.67,292.36,289.13,291.49,295.69,294.31,295.68,299.42,
-299.37,300.94,300.63,299.39,304.94,306.92,306.54,304.30,312.26,313.14,
-316.86,312.08,314.52,316.21,319.88,318.25,322.93,318.30,325.83,323.06,
-323.51,323.66,330.26,326.33,329.15,332.29,335.15,335.83,337.60,331.70,
-338.72,341.86,343.36,346.82,344.62,344.02,348.66,351.19,349.45,347.31,
-348.36,350.57,353.87,350.79,357.05,356.55,360.77,361.57,363.41,359.15,
-366.71,361.64,364.85,366.29,369.38,372.87,373.08,371.56,374.88,375.66,
-381.00,380.68,378.75,382.14,380.48,380.35,385.96,384.24,384.70,391.08,
-12.34,12.76,14.70,16.31,16.22,16.71,18.96,18.99,21.72,22.59,
-23.56,25.26,23.76,26.66,26.62,29.45,29.34,31.68,32.35,33.56,
-34.43,34.92,36.99,36.54,38.80,40.60,40.71,43.44,42.24,44.57,
-47.70,47.44,49.39,50.79,49.29,52.22,51.94,52.23,54.51,54.87,
-59.52,58.60,57.89,61.78,60.00,62.69,63.49,64.46,65.00,66.74,
-66.56,71.12,70.77,70.41,71.82,72.00,75.23,75.90,77.97,76.26,
-79.73,78.86,79.88,81.66,83.55,85.26,87.33,87.85,90.53,92.39,
-87.50,90.23,91.84,91.52,95.47,92.58,97.19,100.53,100.75,100.85,
-100.04,101.95,106.23,104.84,107.19,107.02,110.53,111.23,111.30,110.57,
-112.38,114.43,114.57,118.99,117.02,119.45,122.53,121.93,125.22,121.33,
-123.49,125.90,125.37,128.85,130.88,128.88,130.59,133.94,133.50,133.50,
-134.63,135.58,135.49,137.58,136.30,140.47,142.05,140.75,144.32,144.30,
-146.90,151.05,153.15,151.49,149.71,152.97,154.67,151.47,152.96,156.49,
-155.60,161.43,162.69,160.94,161.71,164.50,163.76,168.77,167.01,168.76,
-167.87,172.90,173.77,173.62,173.90,173.76,178.86,175.82,174.68,181.13,
-180.20,182.08,183.78,180.41,181.72,185.96,183.65,189.71,191.21,188.03,
-195.56,188.28,191.08,195.26,196.21,196.24,197.57,203.58,196.18,205.79,
-201.29,200.69,208.26,208.06,209.75,209.59,209.09,209.49,212.64,213.83,
-214.90,213.34,214.90,217.61,217.59,217.67,218.47,225.01,222.97,223.46,
-226.04,225.51,227.94,231.73,230.08,229.02,236.44,232.78,231.76,234.31,
-241.60,239.67,241.96,239.43,236.70,240.00,245.06,241.15,248.46,248.01,
-251.12,249.43,249.69,254.25,250.39,250.33,254.19,250.85,256.96,256.18,
-254.63,258.21,258.25,260.24,261.61,266.26,263.74,265.37,269.05,269.05,
-271.00,272.75,272.44,272.09,272.22,274.05,280.02,276.56,275.59,282.52,
-281.26,279.10,286.36,284.09,285.41,290.49,289.49,291.14,293.81,289.91,
-291.30,296.57,295.33,294.38,294.62,298.98,297.46,304.92,299.07,301.66,
-298.64,307.19,310.58,305.98,303.95,310.65,309.27,307.86,312.11,313.82,
-318.69,311.30,324.46,317.11,325.24,319.35,320.94,320.62,326.16,327.30,
-327.99,327.21,330.41,325.25,326.82,333.02,334.88,332.96,335.93,333.60,
-10.66,11.62,12.05,13.86,13.61,14.47,16.27,16.53,18.09,19.45,
-19.25,20.04,21.57,22.29,24.09,25.36,25.95,25.87,28.19,28.23,
-29.38,29.89,32.07,31.22,33.88,33.91,34.94,35.63,37.73,38.30,
-39.16,40.99,39.76,41.60,43.60,43.85,44.51,45.36,48.54,49.18,
-47.94,50.07,50.28,52.38,52.07,53.33,54.04,53.44,56.31,57.55,
-60.13,60.23,59.80,60.40,62.25,64.17,64.43,64.21,66.11,69.17,
-67.11,70.05,69.25,70.84,74.17,73.17,74.16,75.70,78.28,74.51,
-77.46,79.97,82.00,80.84,83.22,83.43,85.78,85.69,85.17,86.92,
-87.21,86.65,88.99,88.51,90.02,92.64,94.13,93.97,94.37,96.59,
-99.58,98.70,101.30,101.15,103.78,104.93,104.77,105.94,107.66,107.21,
-106.60,105.72,109.33,114.74,111.15,112.54,112.58,114.33,114.54,113.61,
-116.25,117.33,122.00,122.84,120.08,121.09,122.69,122.33,124.75,125.78,
-128.61,128.18,129.39,127.96,131.81,130.48,132.88,133.32,136.43,134.27,
-136.60,135.00,136.65,138.54,141.03,138.58,141.62,142.50,142.81,142.64,
-147.03,146.77,147.56,148.20,148.34,152.69,147.26,148.82,154.54,153.42,
-153.68,155.42,156.03,159.62,159.33,163.12,161.68,159.74,165.42,163.52,
-163.05,164.56,167.12,169.55,169.00,168.73,167.86,169.66,172.35,174.63,
-173.59,172.31,176.28,174.82,182.58,180.12,178.39,184.30,183.26,183.61,
-183.84,184.01,183.14,188.16,187.01,189.20,194.50,191.61,191.67,197.24,
-195.11,195.20,195.97,200.83,201.95,198.81,200.78,197.19,199.15,203.57,
-205.29,204.00,205.76,206.00,208.37,208.27,205.66,212.57,211.73,212.22,
-216.46,217.72,218.99,214.36,216.48,217.11,220.36,217.74,218.38,224.17,
-227.07,222.82,224.73,232.65,227.40,224.20,228.12,229.67,232.88,237.17,
-231.41,231.37,235.74,236.09,239.51,240.10,239.14,240.37,239.01,239.69,
-245.92,244.58,246.08,241.78,244.26,244.74,252.99,249.54,246.09,251.78,
-253.80,255.12,252.50,257.17,253.98,257.65,259.82,260.94,259.44,262.07,
-260.07,264.88,265.72,268.95,266.57,270.43,270.07,266.32,271.96,273.88,
-273.01,271.40,271.55,271.51,273.90,280.23,278.12,279.69,276.59,279.40,
-287.09,283.82,287.18,282.10,288.11,282.67,284.75,290.06,291.95,289.40,
-9.01,10.11,10.67,10.80,12.64,13.45,13.97,14.04,14.45,16.86,
-17.08,16.79,18.01,20.69,20.83,21.98,22.44,23.70,23.90,26.01,
-24.74,28.28,28.05,27.85,28.96,29.65,31.93,30.66,31.40,32.33,
-32.75,34.12,34.35,36.23,37.81,37.41,38.26,37.91,40.22,41.24,
-41.66,41.83,41.71,43.88,46.82,45.82,46.10,48.15,47.97,47.77,
-49.43,50.56,51.40,53.50,54.66,56.39,55.99,56.02,54.80,58.58,
-59.38,58.27,60.49,62.86,61.65,64.61,62.48,65.73,64.85,66.70,
-69.67,67.61,69.89,68.95,69.11,71.04,72.62,73.32,74.26,73.68,
-75.55,77.29,77.03,77.98,80.80,79.81,79.03,83.85,83.51,85.73,
-84.53,82.50,86.19,87.96,86.15,89.50,89.46,90.10,92.30,93.03,
-92.33,92.59,93.32,95.22,95.27,97.90,99.29,98.06,100.01,101.43,
-102.74,101.27,101.84,103.53,101.45,105.12,107.86,105.02,105.61,108.03,
-110.33,109.86,109.20,111.61,112.89,111.67,115.05,115.58,118.05,118.33,
-118.72,116.93,117.41,121.82,123.49,120.28,120.82,121.11,126.06,124.35,
-127.73,123.48,129.85,126.52,129.77,132.70,128.32,132.79,131.57,133.78,
-133.93,135.48,136.94,139.03,138.65,135.74,138.69,140.51,142.76,142.89,
-139.57,142.95,143.63,142.28,141.68,147.32,147.62,146.28,149.75,152.82,
-151.85,146.44,156.59,151.66,154.20,154.27,158.79,156.48,159.18,156.08,
-160.40,158.06,158.92,162.59,162.09,168.33,161.79,161.66,160.95,166.65,
-167.85,170.68,169.20,170.85,173.16,169.93,174.24,173.87,172.37,175.82,
-172.72,175.73,174.98,178.02,178.84,181.29,182.46,180.72,182.70,185.27,
-185.90,184.85,186.86,188.59,187.94,189.31,187.71,185.84,191.34,190.20,
-194.09,193.91,194.48,195.07,195.96,196.59,196.93,200.00,198.22,200.06,
-202.31,200.70,204.61,207.48,203.90,202.72,209.11,208.59,205.45,209.59,
-210.19,211.43,210.39,210.47,206.63,215.16,210.55,212.88,216.78,220.78,
-216.50,218.44,222.08,218.71,222.07,214.82,218.83,225.99,224.39,228.12,
-225.42,226.74,226.22,230.63,227.87,233.44,231.81,232.39,234.15,234.29,
-236.72,237.17,237.69,237.45,238.38,235.53,238.71,242.68,238.58,242.20,
-241.31,241.07,245.28,240.22,243.05,244.93,248.21,249.90,247.80,253.82,
-7.54,8.81,9.39,9.55,10.08,10.94,11.51,12.83,13.78,13.60,
-15.42,14.95,15.22,16.65,15.38,17.93,17.90,20.11,19.63,21.15,
-22.09,21.56,24.31,24.92,24.45,25.32,26.47,26.52,28.75,29.08,
-29.15,28.92,32.13,31.95,30.99,33.98,33.23,33.30,33.12,34.59,
-36.25,36.84,36.07,39.53,41.16,40.28,41.33,40.88,41.59,43.16,
-42.79,44.54,44.54,44.53,46.97,47.19,45.24,49.90,48.88,49.09,
-50.87,52.37,49.80,52.95,56.15,54.50,57.46,54.48,54.02,56.21,
-58.47,58.40,58.99,57.81,60.16,63.21,61.50,64.95,65.06,65.40,
-64.53,65.33,66.04,65.77,68.49,67.93,70.48,67.84,71.26,70.81,
-68.61,74.26,73.02,72.65,74.95,77.38,72.58,76.59,79.00,77.63,
-79.90,79.86,83.19,80.38,83.36,82.17,85.28,82.97,85.18,84.08,
-86.61,86.24,86.14,88.44,88.95,92.42,90.54,90.02,90.69,96.14,
-94.63,98.23,98.21,96.33,99.00,96.70,98.43,97.27,101.58,105.25,
-99.72,98.21,102.12,103.10,106.44,104.02,106.56,107.83,106.58,108.05,
-108.94,107.91,110.21,111.14,109.51,109.81,112.85,114.36,114.24,117.16,
-113.87,115.58,117.77,117.61,117.72,116.05,119.57,122.26,119.31,121.22,
-118.64,121.24,124.10,126.55,127.61,128.40,127.78,127.42,128.53,130.41,
-131.31,129.82,129.96,136.27,133.37,132.23,131.65,134.04,136.50,133.93,
-134.07,138.75,141.48,137.66,137.89,140.91,141.51,145.70,144.17,143.13,
-147.12,144.28,146.60,144.48,149.02,149.38,149.18,148.84,151.95,150.71,
-151.19,150.75,154.61,155.32,156.34,152.83,154.63,156.39,156.56,159.24,
-159.93,156.94,161.44,161.61,161.21,161.36,163.97,162.90,163.51,166.15,
-166.42,164.37,171.21,167.79,168.45,164.08,173.65,172.29,168.57,175.84,
-169.82,175.80,175.72,176.72,175.46,176.24,179.84,175.07,176.15,174.90,
-177.25,179.98,182.63,180.48,185.38,183.17,183.28,183.05,182.53,187.39,
-182.39,185.12,190.85,190.29,190.83,189.50,190.98,192.50,190.43,194.96,
-195.82,197.39,192.03,194.34,195.33,198.56,200.25,198.22,201.26,203.81,
-200.74,202.21,202.66,207.88,201.54,205.69,207.84,210.09,207.45,208.31,
-210.39,212.30,210.38,213.14,213.69,214.01,216.89,211.19,216.14,222.91,
-6.37,7.19,6.85,8.33,8.88,10.05,10.27,10.95,11.14,11.88,
-13.17,12.69,14.64,15.14,14.69,15.51,17.25,16.59,17.07,17.95,
-18.15,18.20,20.69,20.66,21.82,22.06,22.54,24.01,24.26,25.26,
-23.27,26.41,26.49,26.11,28.52,27.90,27.67,28.18,32.16,30.11,
-31.94,32.34,33.31,32.51,33.20,32.89,35.72,36.22,36.01,37.52,
-37.89,37.11,39.30,38.93,38.75,40.80,42.32,41.34,42.83,43.24,
-43.92,43.94,43.70,44.57,45.71,47.16,47.09,47.87,46.85,48.97,
-47.46,51.23,52.17,52.30,51.59,55.03,52.90,54.76,54.21,55.86,
-55.31,56.41,55.20,59.29,58.60,60.77,61.84,60.31,62.45,61.35,
-62.15,64.00,61.46,65.23,66.12,66.49,66.57,65.41,67.75,65.53,
-67.34,66.60,70.28,69.59,70.08,71.37,71.12,73.51,77.75,73.74,
-72.38,76.07,75.53,74.87,74.56,76.75,79.95,78.04,78.74,78.53,
-80.95,81.82,81.34,82.15,84.62,83.42,84.71,83.29,87.09,85.46,
-85.15,86.57,89.13,89.12,87.73,87.78,88.65,91.27,92.85,91.77,
-94.51,94.05,95.64,95.87,100.07,98.82,97.25,97.06,97.16,98.49,
-98.01,98.14,101.19,100.19,101.18,103.03,101.58,100.98,103.50,102.86,
-103.36,107.53,105.76,106.27,105.75,108.15,108.70,111.94,109.54,110.83,
-113.48,112.40,109.99,113.42,114.73,114.06,114.44,117.10,119.47,117.60,
-116.58,117.45,119.21,116.89,119.70,121.69,121.71,120.08,122.37,120.48,
-123.78,123.41,126.10,126.18,125.02,129.17,127.89,127.44,129.30,131.47,
-129.03,129.75,130.52,131.31,134.08,134.46,133.10,133.43,133.69,135.84,
-137.35,138.60,136.14,140.03,138.11,141.63,137.97,140.93,143.02,144.66,
-143.24,142.22,144.22,143.38,144.50,149.41,148.03,146.13,148.86,148.07,
-152.50,150.32,149.03,153.03,152.02,152.29,155.71,152.95,154.16,152.69,
-155.11,153.53,156.20,159.99,156.00,159.67,159.55,155.93,160.81,160.42,
-156.75,160.41,160.84,165.29,165.68,163.69,166.07,165.87,167.84,168.43,
-169.95,165.70,164.35,169.37,168.98,170.62,167.13,170.22,173.00,168.73,
-172.64,175.96,172.82,174.26,173.34,180.55,172.96,176.37,177.13,175.19,
-180.76,178.57,182.84,177.81,184.12,183.70,186.97,185.83,185.63,183.50,
-50.11,54.92,58.33,64.07,67.96,73.68,77.49,84.08,86.85,92.23,
-96.12,103.06,106.53,109.68,115.70,120.29,123.50,130.93,135.25,139.53,
-143.40,147.33,152.96,156.80,162.78,166.86,171.54,177.06,182.00,186.36,
-192.88,195.44,202.14,204.52,210.77,214.17,219.11,223.59,228.51,234.38,
-239.54,242.21,247.87,252.49,256.95,261.64,265.52,271.84,277.49,279.14,
-285.07,290.59,292.93,298.24,304.02,310.05,311.67,317.70,321.17,327.13,
-333.20,338.52,336.95,344.48,349.17,358.42,359.73,366.25,367.83,371.82,
-376.42,381.80,386.90,395.19,399.80,402.21,408.79,409.76,416.69,421.61,
-426.73,429.45,434.39,441.82,444.29,448.50,454.48,461.21,465.90,467.04,
-474.51,478.46,483.25,488.69,492.73,498.92,503.48,503.44,511.38,514.70,
-516.12,526.77,529.10,538.13,536.60,543.05,550.00,554.09,560.42,563.96,
-569.84,571.03,577.48,580.18,585.19,589.51,593.18,601.61,601.36,608.50,
-612.55,623.77,621.90,626.34,631.89,639.66,639.89,644.55,651.87,654.20,
-663.50,668.18,670.39,673.19,679.93,682.75,685.01,694.69,700.48,706.54,
-712.85,714.88,719.71,721.10,731.75,732.49,733.85,737.27,744.25,748.75,
-750.36,758.52,764.97,774.69,777.10,778.97,783.73,787.25,790.50,798.93,
-800.12,807.68,809.43,816.57,817.89,824.51,827.89,835.24,841.63,844.72,
-846.77,856.08,856.04,864.82,868.21,873.36,876.97,882.38,885.71,891.74,
-895.35,902.25,902.17,912.17,917.86,919.20,926.59,932.76,939.45,936.48,
-939.58,949.98,952.95,956.89,957.31,967.34,972.08,976.87,981.09,988.34,
-994.53,997.82,998.15,1003.51,1013.12,1015.68,1013.04,1026.50,1019.05,1032.33,
-1039.54,1044.78,1045.63,1056.23,1057.25,1061.65,1069.84,1073.50,1073.10,1081.02,
-1080.93,1088.93,1092.85,1098.82,1105.92,1111.06,1110.10,1113.57,1130.19,1126.43,
-1126.21,1137.06,1142.87,1145.31,1147.06,1157.97,1156.96,1162.91,1168.35,1171.05,
-1180.69,1184.51,1188.22,1191.22,1194.55,1201.10,1208.35,1210.05,1215.81,1220.54,
-1223.57,1232.57,1237.33,1244.78,1247.99,1252.61,1254.15,1254.64,1267.59,1269.64,
-1268.52,1275.38,1278.22,1283.87,1291.47,1296.18,1300.00,1306.01,1307.04,1318.62,
-1322.46,1327.71,1327.77,1338.86,1337.04,1338.39,1348.64,1351.93,1356.00,1362.69,
-1368.96,1375.93,1374.95,1380.09,1387.62,1387.96,1392.24,1401.04,1401.84,1411.28,
-43.66,48.22,53.32,56.92,62.30,66.44,69.96,74.45,79.63,81.96,
-86.50,90.43,94.42,99.51,102.90,107.61,110.39,115.43,120.26,124.25,
-128.63,132.46,136.78,143.73,145.84,149.99,153.52,158.77,161.56,164.34,
-170.55,173.31,178.62,182.57,187.19,190.15,197.02,200.71,206.04,207.97,
-212.96,218.01,222.05,226.64,231.58,234.49,235.68,242.66,244.78,251.38,
-254.23,259.12,263.90,267.26,273.51,277.33,280.19,284.49,289.85,291.97,
-299.59,303.53,304.89,308.93,313.34,318.60,321.78,324.63,331.98,335.14,
-338.21,342.12,347.88,353.96,356.07,359.33,363.58,367.77,374.28,374.22,
-382.67,384.87,389.83,395.29,397.39,402.83,407.31,412.30,412.71,417.87,
-423.83,426.91,431.43,438.67,439.10,444.05,452.16,451.68,454.47,463.14,
-466.42,467.05,474.75,481.94,483.14,484.86,491.64,494.56,498.45,500.12,
-508.61,511.17,514.36,519.86,525.27,528.38,533.55,533.62,544.29,547.98,
-552.14,555.98,560.06,561.78,569.39,567.52,574.88,579.87,584.48,587.84,
-593.29,597.28,598.85,601.96,608.15,614.04,621.99,620.67,625.57,630.43,
-632.52,639.71,645.84,648.75,652.96,653.80,658.22,665.09,669.18,673.01,
-677.08,680.03,683.08,689.16,692.93,694.28,702.75,706.66,711.21,715.26,
-718.26,721.02,726.57,732.32,739.01,740.41,748.69,747.47,750.03,758.26,
-763.97,767.96,768.22,773.59,779.76,784.65,786.25,790.42,794.57,799.35,
-802.99,804.98,811.30,814.41,819.39,824.73,826.63,829.81,833.60,841.43,
-846.69,842.77,856.78,855.67,861.46,867.78,867.93,871.80,878.47,881.69,
-889.46,894.66,898.19,900.54,909.33,908.98,911.45,913.98,921.51,924.92,
-928.42,937.92,939.12,941.73,942.80,948.29,950.96,956.48,959.92,971.14,
-967.25,973.55,979.20,987.15,985.27,992.58,997.44,996.42,1005.12,1008.96,
-1012.72,1014.86,1022.45,1026.64,1029.74,1038.60,1041.73,1038.45,1043.82,1054.72,
-1056.74,1059.44,1063.11,1067.50,1073.86,1071.40,1079.38,1083.24,1088.19,1095.74,
-1098.86,1099.42,1108.41,1109.20,1114.48,1116.54,1125.37,1125.65,1130.81,1137.92,
-1140.43,1146.34,1151.88,1157.65,1152.84,1166.70,1165.71,1167.00,1177.55,1176.10,
-1183.35,1183.69,1196.27,1189.95,1196.86,1198.96,1207.87,1212.73,1221.91,1214.23,
-1219.66,1226.98,1235.50,1229.82,1242.55,1246.57,1255.68,1256.59,1254.33,1261.71,
-39.48,43.69,47.26,51.08,54.73,58.06,61.00,66.62,69.74,73.28,
-76.95,80.65,84.47,88.06,92.82,95.61,99.30,104.28,106.34,111.21,
-113.21,117.96,121.04,124.27,130.24,132.83,136.12,141.85,145.45,148.42,
-152.96,153.05,159.42,161.52,167.03,168.46,176.10,177.56,181.78,186.90,
-190.56,195.13,197.62,203.00,205.19,209.61,214.46,217.21,219.33,225.54,
-225.28,232.39,234.69,237.53,243.85,245.73,251.84,253.29,259.54,263.39,
-266.88,270.28,274.65,276.58,279.76,283.23,290.24,288.79,294.31,296.97,
-301.09,305.58,309.54,314.82,319.37,317.61,329.36,328.00,333.24,340.06,
-341.33,345.46,347.35,354.79,357.43,359.60,359.50,366.79,368.26,376.39,
-378.19,381.16,384.88,388.28,392.34,397.97,402.36,400.15,407.94,408.76,
-415.34,420.32,419.82,428.01,430.23,435.17,440.41,444.27,444.59,453.13,
-454.05,460.06,457.34,464.97,468.73,469.09,474.21,480.13,486.90,483.53,
-490.25,494.93,497.77,498.56,507.88,508.27,516.05,514.04,517.96,522.60,
-529.48,533.21,535.13,538.82,543.44,545.80,548.52,557.60,556.59,559.89,
-564.89,570.85,576.07,575.71,579.48,579.79,590.84,592.46,596.18,601.31,
-601.80,605.80,612.14,611.94,620.74,619.35,625.07,626.97,634.22,637.63,
-638.95,643.69,646.29,651.80,653.58,654.71,665.59,668.24,672.50,674.41,
-676.51,681.94,688.33,691.36,695.18,695.66,702.99,704.09,705.16,710.90,
-717.13,717.31,722.71,730.06,730.05,730.89,735.96,738.53,744.51,749.47,
-756.36,758.37,762.33,764.87,764.69,773.13,774.96,778.10,784.41,785.52,
-788.89,794.06,800.88,798.07,804.30,810.28,816.90,823.20,826.64,822.76,
-828.19,831.09,837.33,836.80,843.95,847.78,852.99,858.33,861.51,859.91,
-865.96,863.19,874.58,871.26,879.70,887.48,884.00,894.01,895.14,895.12,
-900.73,905.31,916.66,911.05,916.17,925.29,927.80,930.81,935.81,941.00,
-942.10,949.50,949.50,947.46,958.13,964.34,962.08,966.24,968.65,977.53,
-985.04,981.94,988.83,990.40,992.04,994.19,1006.61,1004.67,1006.00,1008.28,
-1013.13,1022.32,1022.72,1025.63,1033.43,1034.33,1040.40,1045.57,1048.75,1048.48,
-1050.61,1054.85,1056.87,1064.43,1069.07,1075.01,1081.83,1083.57,1083.66,1090.74,
-1091.10,1092.02,1098.45,1101.53,1113.31,1111.47,1116.94,1118.33,1119.83,1120.48,
-36.46,37.66,41.48,45.20,49.14,51.99,53.92,59.76,60.87,63.78,
-69.06,73.03,74.47,79.61,82.15,87.32,89.26,91.27,93.31,97.99,
-100.73,107.00,108.77,110.19,112.91,117.74,121.76,125.96,129.12,132.71,
-136.65,139.30,141.61,143.73,147.22,151.77,155.58,159.97,159.00,165.30,
-168.79,174.54,175.22,179.17,180.30,186.46,188.84,194.85,196.39,201.26,
-202.26,206.97,208.86,212.72,211.72,218.60,220.00,224.87,229.26,228.29,
-233.44,238.14,245.14,248.27,247.54,253.87,255.98,258.68,261.33,265.14,
-267.19,271.33,277.74,279.45,282.74,286.93,289.43,293.17,294.14,301.63,
-301.76,304.99,308.14,313.70,313.28,318.96,322.24,323.98,331.15,329.54,
-337.04,336.24,342.51,345.30,350.26,351.80,353.46,358.79,363.26,366.59,
-370.88,374.77,374.03,379.93,380.56,386.61,389.05,395.24,395.06,398.23,
-403.88,406.60,412.19,410.25,416.70,421.23,421.37,424.70,426.92,433.25,
-435.39,438.75,446.96,441.82,446.16,451.17,454.19,457.72,463.63,462.46,
-469.32,473.07,473.06,480.77,483.47,483.48,489.10,490.14,496.58,498.08,
-498.35,504.55,508.25,510.66,517.03,519.39,525.62,526.08,530.37,533.95,
-536.01,535.99,542.46,543.55,549.84,553.11,557.82,558.58,561.28,570.61,
-572.91,569.75,578.69,578.24,584.97,588.13,587.40,594.13,597.21,600.52,
-596.43,606.56,608.13,613.97,617.46,619.05,624.22,628.88,629.46,633.91,
-636.05,634.48,641.82,644.69,650.13,647.50,656.97,656.88,661.41,670.02,
-672.27,670.16,678.10,685.23,682.55,686.85,686.41,694.04,696.77,697.16,
-700.99,709.87,712.55,716.78,712.19,717.39,725.94,724.98,730.62,731.38,
-731.71,745.36,738.80,743.67,750.25,751.99,754.03,757.45,760.00,767.10,
-767.81,773.54,774.92,776.99,785.15,788.26,788.88,791.29,794.44,802.24,
-801.69,809.83,809.29,816.29,820.12,822.42,821.74,828.05,831.93,836.99,
-834.05,839.44,848.02,844.73,846.67,854.60,853.43,858.89,865.96,870.17,
-870.04,873.15,877.99,880.81,880.02,886.50,890.17,891.08,899.94,896.50,
-905.04,906.41,914.40,905.69,920.11,917.30,915.51,929.88,933.81,935.76,
-939.39,936.78,942.73,946.45,946.96,954.94,957.15,961.92,965.72,967.08,
-972.70,977.14,981.21,982.04,986.00,985.79,990.39,991.09,998.04,1000.28,
-31.71,34.39,36.48,41.44,42.66,45.88,48.75,52.09,54.42,56.88,
-58.16,63.17,66.42,69.47,71.95,73.16,78.88,83.75,83.13,87.93,
-87.95,92.45,95.65,98.50,103.53,105.69,106.69,111.46,114.03,116.69,
-120.30,122.32,126.11,126.43,132.12,135.82,138.40,141.22,143.83,147.18,
-150.19,153.86,156.75,160.41,158.90,160.97,168.12,169.71,174.03,176.50,
-181.11,183.64,184.42,188.73,192.90,196.28,196.92,201.54,200.82,203.17,
-206.79,209.38,211.00,217.42,220.14,223.40,227.92,230.75,233.46,235.66,
-236.32,241.16,245.29,245.69,248.57,251.02,258.79,261.81,262.10,264.16,
-270.53,271.33,274.19,276.99,282.77,279.92,285.37,290.70,291.97,295.02,
-296.19,300.55,303.60,303.72,308.86,315.51,313.19,317.65,319.91,322.57,
-324.48,327.87,333.47,333.60,338.45,339.75,340.45,347.68,347.72,354.94,
-355.53,357.81,366.18,363.15,369.21,374.08,371.43,376.75,383.16,381.73,
-387.46,395.07,390.93,390.66,393.84,403.85,402.03,409.87,415.55,414.84,
-412.64,419.53,417.82,424.80,428.32,434.23,434.41,434.86,437.57,436.37,
-445.24,451.46,453.11,453.47,456.42,455.87,467.43,466.93,470.40,472.79,
-473.90,479.03,480.12,486.18,487.03,489.41,492.06,496.20,502.30,503.34,
-502.72,505.58,507.33,513.70,512.21,517.60,524.39,521.63,528.65,535.84,
-536.30,536.21,538.37,541.60,545.21,545.27,548.52,552.87,561.39,557.76,
-564.58,567.86,568.98,570.49,576.30,577.08,578.63,584.30,587.48,588.43,
-597.39,595.05,599.21,605.09,604.74,608.06,612.63,620.18,615.46,619.98,
-622.17,624.46,623.88,630.60,637.46,635.21,642.59,643.70,646.65,649.98,
-650.20,657.33,657.89,665.49,664.29,665.32,666.39,675.68,672.68,683.81,
-683.98,683.99,691.13,687.25,696.47,702.72,698.46,697.69,706.49,709.97,
-719.20,712.13,712.86,720.38,717.13,727.26,727.64,734.74,741.06,736.83,
-741.04,746.74,744.29,753.49,754.65,749.71,756.72,764.02,762.68,769.20,
-768.33,768.48,780.57,783.36,787.54,786.24,785.28,794.83,793.98,793.27,
-804.01,803.81,805.77,808.00,813.18,817.56,821.41,823.83,824.34,826.79,
-829.61,828.41,834.80,839.49,838.23,844.90,850.82,849.29,854.84,861.71,
-858.99,865.97,867.06,869.29,875.55,874.18,881.90,885.54,882.58,880.07,
-27.86,29.47,32.11,35.63,37.77,42.01,43.51,45.89,47.92,51.27,
-52.45,56.20,58.05,61.69,64.68,65.10,71.25,72.73,73.44,77.97,
-78.30,82.42,85.89,85.81,90.56,92.52,96.89,99.55,100.81,102.67,
-106.18,109.43,111.34,111.99,117.86,119.22,121.30,123.56,128.22,129.55,
-131.69,136.80,136.89,141.82,142.89,145.75,148.93,150.70,153.95,155.67,
-157.86,157.39,163.64,165.34,171.05,173.59,171.88,175.07,178.66,182.60,
-182.39,188.54,188.99,189.68,194.47,197.53,199.69,206.74,203.74,207.51,
-214.28,211.45,214.82,218.00,218.41,221.75,225.21,228.36,230.34,232.87,
-233.27,239.78,242.75,247.19,249.73,246.54,252.30,253.26,258.39,259.11,
-261.86,266.62,265.50,267.46,279.13,276.68,276.79,283.68,283.76,288.57,
-289.74,291.69,297.14,296.34,300.17,301.28,302.49,305.78,306.65,310.78,
-314.88,317.80,320.16,321.89,327.70,328.32,333.26,333.99,335.47,341.52,
-337.02,341.70,348.15,350.40,346.68,350.83,355.13,361.28,361.38,361.99,
-367.40,372.18,371.80,375.01,374.70,379.59,384.54,386.66,391.91,391.45,
-392.58,397.81,399.53,402.06,402.13,403.74,408.40,410.38,413.70,418.38,
-419.29,422.90,424.35,428.29,429.34,434.76,431.78,438.74,440.92,441.31,
-448.84,444.34,449.77,455.49,460.55,458.67,465.00,461.24,468.38,469.44,
-473.58,474.73,478.13,481.47,476.46,486.62,485.15,491.06,491.33,493.80,
-499.62,502.91,502.15,505.39,507.71,511.27,510.74,515.43,517.67,521.67,
-522.97,529.21,529.01,530.06,533.95,540.73,541.66,542.75,548.20,542.93,
-545.04,557.45,555.94,557.41,556.27,562.34,562.57,571.23,569.54,573.41,
-573.29,576.02,581.88,582.61,585.48,585.47,594.30,595.95,597.01,598.30,
-606.28,603.91,610.53,611.61,613.47,619.03,619.45,614.37,622.38,625.08,
-628.89,630.53,633.90,638.99,645.29,641.63,645.70,646.74,651.60,659.03,
-653.38,656.63,661.39,665.10,664.37,661.97,668.12,677.38,677.75,682.19,
-682.22,685.92,686.42,684.74,695.26,697.20,695.02,696.35,706.32,702.40,
-710.19,711.79,713.78,720.83,717.36,720.35,726.39,724.49,725.90,725.05,
-728.25,742.32,737.31,738.71,740.47,745.83,744.02,753.42,754.93,760.53,
-762.14,763.07,768.80,767.29,772.79,775.41,777.53,773.53,779.89,788.82,
-24.66,25.56,28.94,31.47,33.80,34.76,36.93,40.51,43.05,44.83,
-49.03,50.10,49.42,54.66,55.42,59.28,62.23,62.19,66.77,69.30,
-72.21,72.28,76.33,77.73,80.93,83.25,83.20,87.05,88.54,90.43,
-90.60,96.77,98.39,99.29,101.02,105.35,107.53,108.28,111.58,114.02,
-115.68,116.60,121.90,123.69,125.50,129.26,131.93,134.99,135.99,140.89,
-140.30,140.94,146.57,146.61,149.36,148.80,154.48,154.65,157.45,160.88,
-162.14,164.79,166.07,170.49,167.41,172.87,177.84,179.08,180.05,184.05,
-184.34,188.56,190.99,192.39,192.27,200.37,201.09,203.19,206.14,203.71,
-208.95,210.51,213.82,215.84,215.60,219.89,224.69,223.66,226.35,231.58,
-232.05,233.91,235.44,238.47,240.02,243.05,245.75,247.81,250.94,250.85,
-255.21,259.19,257.14,263.37,266.71,265.98,269.70,271.44,270.15,274.37,
-276.31,280.46,283.82,286.04,284.07,291.11,293.68,291.02,295.20,297.54,
-296.59,302.45,308.88,307.44,309.19,312.93,316.11,318.14,319.18,324.61,
-327.33,321.72,325.26,334.03,329.38,337.20,337.45,337.66,340.26,345.93,
-344.92,347.65,354.59,352.94,354.26,358.54,362.20,362.08,363.75,368.32,
-368.62,373.84,373.49,375.42,377.62,382.82,384.26,387.76,392.15,387.29,
-391.69,394.55,392.60,403.39,404.12,407.50,403.25,406.48,413.42,415.23,
-414.40,416.96,421.64,414.22,426.31,430.96,432.79,434.55,434.52,435.79,
-440.98,440.45,442.05,446.03,445.75,452.60,448.14,457.15,457.56,459.20,
-456.65,464.54,467.46,467.01,472.98,469.50,473.67,480.16,477.54,482.37,
-484.39,485.60,485.93,489.62,498.06,498.93,502.08,505.10,499.22,511.14,
-506.80,507.18,508.58,513.53,515.82,522.31,518.46,527.13,523.99,529.32,
-538.25,534.83,534.79,537.82,535.63,538.61,542.36,549.34,547.86,550.29,
-549.23,559.53,553.84,563.29,562.18,566.23,564.01,568.24,573.56,573.00,
-577.66,576.34,579.66,586.61,586.16,588.80,591.72,591.62,595.66,598.13,
-600.65,610.17,605.94,610.52,613.29,613.34,614.07,613.52,617.29,620.79,
-623.22,620.20,627.04,634.27,631.55,633.97,636.07,641.48,641.35,646.51,
-649.87,646.61,652.77,661.90,655.55,659.39,659.22,660.70,661.89,665.47,
-670.84,674.73,675.38,677.71,680.41,682.17,684.12,681.27,690.89,694.43,
-21.35,23.61,24.55,27.70,30.57,31.72,32.39,35.80,37.72,39.70,
-40.51,43.78,43.98,47.93,47.81,51.93,53.00,57.02,59.11,60.50,
-61.66,65.22,66.85,67.83,70.58,71.32,73.05,75.57,76.38,79.48,
-84.22,82.34,87.15,87.98,92.24,92.35,93.23,95.95,98.69,99.87,
-102.77,104.81,104.55,109.29,109.42,112.43,114.64,116.16,117.61,120.26,
-121.53,125.04,127.30,128.99,130.68,132.53,134.63,136.90,140.05,139.14,
-141.56,143.97,147.99,148.56,151.92,154.27,156.80,157.56,158.39,159.10,
-164.19,163.40,166.86,168.18,172.59,174.18,171.16,174.92,180.07,180.92,
-185.26,183.78,186.83,190.53,190.63,193.76,196.72,200.12,197.62,201.56,
-202.32,207.81,209.68,207.79,210.88,215.09,216.16,219.24,219.37,220.53,
-228.58,224.44,226.34,229.91,231.20,233.91,236.66,235.49,241.25,240.50,
-245.98,244.06,248.88,247.98,253.55,252.49,255.55,258.80,262.27,258.59,
-263.96,266.89,267.57,268.71,272.55,272.18,276.69,282.22,281.08,280.75,
-283.50,284.31,289.73,292.43,294.75,295.95,299.00,300.76,300.51,300.13,
-304.52,303.08,308.74,310.66,316.30,312.44,314.68,317.84,321.53,321.60,
-321.62,322.42,334.25,328.27,325.22,332.86,336.18,340.07,343.37,344.59,
-345.42,347.67,348.67,352.05,352.33,355.73,358.17,354.68,360.20,364.38,
-367.73,367.34,373.03,371.01,375.48,371.48,383.73,379.84,381.08,383.91,
-386.30,391.48,391.32,395.28,391.92,394.63,398.43,399.55,405.94,403.19,
-405.48,406.11,409.82,418.19,411.97,419.84,417.52,422.43,428.77,422.82,
-426.10,428.17,429.82,436.09,436.81,438.81,443.96,443.94,439.27,445.25,
-446.99,441.06,458.35,453.67,450.52,455.15,460.25,462.98,467.94,466.65,
-469.01,465.91,471.70,476.19,472.16,473.34,479.84,483.85,481.75,485.75,
-492.37,485.81,495.04,496.55,496.09,499.25,498.89,501.86,502.46,508.14,
-508.37,510.48,508.42,509.77,516.03,517.38,519.23,524.57,525.16,522.84,
-523.51,529.51,534.24,533.92,532.92,534.96,542.05,540.41,541.77,545.02,
-546.74,549.09,551.80,557.09,554.55,560.98,562.20,560.80,563.77,563.28,
-565.61,575.40,576.23,574.88,575.72,574.39,581.83,580.96,584.00,586.49,
-587.21,597.35,588.85,591.11,598.05,599.73,597.47,606.45,600.86,601.36,
-19.32,20.19,23.07,24.44,25.68,28.17,30.18,29.74,32.46,35.27,
-36.59,36.44,38.58,39.72,45.13,48.20,47.22,49.82,50.22,53.52,
-55.45,56.67,57.34,59.40,62.22,64.55,65.01,67.28,68.58,68.44,
-70.89,74.10,74.49,77.62,79.09,81.27,84.76,85.39,87.15,89.54,
-90.61,91.67,91.24,95.58,96.16,98.20,98.72,99.83,103.33,107.04,
-106.58,110.55,111.80,112.25,115.98,116.89,116.40,121.29,122.06,127.02,
-124.94,127.34,127.35,133.06,131.18,132.29,137.74,137.76,138.43,143.16,
-143.47,143.99,147.62,144.66,150.23,154.77,151.72,158.11,159.54,158.45,
-164.16,164.79,164.81,167.60,167.89,167.22,171.27,173.70,176.17,175.22,
-178.95,180.26,178.88,183.32,187.38,190.61,191.43,191.34,192.24,196.03,
-195.35,197.08,200.93,201.79,201.38,206.13,204.73,209.18,209.93,209.70,
-212.37,216.17,215.90,219.55,221.25,224.33,222.23,224.74,231.18,231.59,
-233.44,235.69,236.22,236.68,239.37,241.40,247.09,243.06,244.64,248.76,
-249.40,253.35,252.25,252.94,258.50,260.42,260.11,260.66,267.30,266.63,
-266.77,265.75,270.98,276.12,272.46,275.10,277.16,278.30,283.29,284.04,
-291.82,287.31,289.91,290.08,294.08,291.86,294.62,299.77,301.34,301.24,
-303.99,305.06,304.74,304.92,310.02,314.08,318.33,317.43,318.25,315.95,
-325.55,327.56,327.60,329.52,327.72,332.10,331.52,330.62,335.51,339.48,
-343.32,344.92,340.84,341.07,347.46,346.44,351.89,348.86,353.29,354.16,
-357.12,355.72,355.29,363.39,362.42,365.81,362.51,371.07,375.46,374.16,
-374.48,375.23,377.80,379.41,381.30,380.98,386.72,393.12,388.38,392.07,
-386.18,396.31,391.11,392.36,398.44,399.20,401.83,404.03,405.70,403.79,
-411.22,410.29,408.98,409.91,420.71,418.25,426.99,421.21,424.34,425.96,
-428.81,430.85,432.88,429.32,432.50,440.69,438.30,441.55,440.13,449.16,
-449.80,450.32,452.16,450.02,453.87,446.68,456.02,454.30,464.02,458.72,
-461.41,467.47,460.65,464.95,470.51,474.77,474.87,479.73,475.33,478.62,
-485.45,488.56,484.59,484.25,482.73,488.81,495.65,495.16,494.46,491.97,
-498.46,503.54,497.08,503.33,505.21,513.32,510.25,514.99,512.76,511.45,
-512.60,517.50,521.63,520.70,524.47,529.66,525.18,527.67,531.86,533.87,
-16.24,18.21,20.63,20.65,23.62,24.86,26.43,28.25,29.09,30.98,
-31.10,33.39,35.57,35.71,39.32,39.53,40.09,43.14,45.10,45.48,
-46.01,47.75,50.07,51.12,54.93,56.22,57.65,58.59,61.92,60.95,
-62.65,64.07,66.72,68.97,71.25,70.66,71.66,73.58,75.24,76.51,
-78.45,80.34,81.63,82.75,85.69,85.61,85.07,89.89,91.18,93.01,
-95.30,93.87,97.95,99.80,98.24,101.75,101.97,105.64,107.11,108.94,
-109.65,112.95,112.45,115.98,116.09,115.30,117.39,117.79,122.53,125.58,
-125.62,127.20,127.45,130.36,129.52,133.72,134.04,136.62,135.74,140.65,
-143.44,144.32,144.61,142.37,147.01,149.42,148.15,150.46,152.20,152.80,
-157.75,157.38,161.03,163.71,162.72,164.21,166.00,165.09,169.31,172.02,
-173.31,174.09,175.81,177.69,177.98,176.56,180.72,184.37,184.03,186.01,
-189.63,190.22,189.40,193.28,195.77,196.22,194.36,198.56,199.66,200.30,
-202.81,204.61,207.22,209.91,212.06,210.33,212.22,214.52,216.94,218.37,
-222.02,219.34,223.57,221.47,225.42,231.09,225.48,230.77,229.35,231.97,
-238.28,235.93,234.47,238.91,241.47,243.35,244.02,247.68,248.48,249.58,
-249.91,252.75,254.82,251.94,256.27,256.77,256.18,264.22,261.69,262.94,
-269.77,266.68,270.70,270.33,275.58,273.72,275.24,277.48,278.48,281.54,
-279.66,283.74,287.98,281.54,283.48,288.60,291.82,294.61,295.44,293.13,
-292.98,297.34,296.91,298.34,301.29,302.52,310.76,311.36,308.06,311.87,
-314.56,312.97,317.36,319.07,316.25,322.37,323.94,326.19,328.02,326.37,
-327.24,329.09,329.98,332.21,338.26,331.38,335.85,340.44,342.85,337.41,
-340.87,346.07,347.53,350.12,350.15,355.14,351.99,352.46,359.46,355.47,
-356.76,360.77,367.69,360.38,370.03,370.49,370.20,371.52,374.70,369.31,
-376.79,374.84,377.21,378.15,380.30,380.31,383.24,383.95,383.86,389.64,
-392.79,387.65,390.65,398.19,394.91,402.51,400.19,399.86,403.34,402.27,
-410.34,403.37,408.93,413.33,411.89,413.24,419.52,423.35,419.47,416.96,
-420.35,428.19,422.86,432.75,429.60,427.65,431.29,432.27,434.03,433.90,
-445.39,436.77,439.88,438.04,445.79,446.10,449.45,442.38,452.51,448.78,
-454.78,458.82,455.71,458.61,457.68,459.28,462.32,462.94,464.92,470.14,
-14.26,15.62,18.07,19.05,20.91,21.62,22.77,25.14,25.59,26.59,
-28.43,29.44,31.94,32.96,33.20,34.24,37.58,35.54,38.08,39.32,
-41.34,42.50,45.24,45.95,48.74,47.34,49.61,50.05,52.42,54.34,
-55.61,55.87,58.74,58.92,61.32,61.29,63.77,62.90,65.63,67.48,
-69.39,68.28,71.91,74.33,74.93,74.70,77.03,77.59,78.30,82.74,
-80.69,83.93,83.11,88.58,87.47,90.99,87.49,91.31,92.81,94.25,
-94.79,97.03,99.14,100.13,100.74,102.28,103.58,105.62,106.10,107.65,
-108.30,110.48,114.49,111.55,113.31,116.89,117.47,121.84,121.10,125.04,
-125.10,123.68,121.88,126.98,131.56,128.46,133.38,132.94,134.20,135.56,
-137.09,139.79,142.08,141.40,142.32,142.40,145.75,146.68,145.60,153.67,
-150.94,149.81,152.89,152.53,155.43,159.77,159.93,159.13,162.22,161.99,
-161.62,166.85,164.18,166.86,168.91,173.39,173.77,170.31,173.99,176.34,
-174.66,178.27,177.96,179.09,181.78,184.05,186.55,188.83,187.34,192.52,
-193.06,196.44,193.09,196.60,192.49,197.47,201.37,200.75,203.28,208.06,
-207.04,210.57,207.93,209.81,212.06,210.60,212.51,216.35,214.61,219.49,
-218.94,219.61,224.76,222.15,220.01,225.14,229.00,230.31,228.09,232.67,
-234.47,232.75,233.81,239.34,236.39,242.70,239.34,243.25,243.64,246.44,
-246.75,250.59,248.84,250.46,253.42,253.32,253.46,256.96,258.34,258.67,
-259.16,263.24,264.11,262.17,263.39,265.27,268.33,267.77,272.17,271.08,
-271.80,274.80,277.69,275.16,276.41,279.17,282.30,278.65,284.64,288.60,
-288.36,285.94,291.31,289.87,289.91,297.93,299.03,294.66,295.94,297.65,
-303.89,305.38,304.01,303.42,307.02,308.15,309.62,306.04,315.12,315.98,
-308.31,317.89,315.27,318.08,322.97,319.08,326.30,328.67,322.27,326.30,
-327.71,330.35,331.45,334.02,334.69,330.30,334.42,336.48,342.35,334.82,
-342.18,341.61,341.72,343.36,348.29,352.55,348.32,351.35,347.51,351.26,
-355.02,355.02,356.53,357.07,362.04,363.36,358.91,364.50,367.18,371.06,
-367.56,371.27,366.34,374.90,370.98,371.38,378.93,376.42,375.48,377.11,
-380.58,383.08,381.12,385.30,387.43,393.81,388.92,391.75,397.71,395.94,
-395.11,398.48,400.57,404.96,402.28,402.60,404.35,404.38,402.71,407.43,
-13.39,14.49,15.23,16.77,16.74,18.32,19.55,21.87,21.81,23.61,
-25.44,25.81,26.18,28.26,30.06,30.84,31.28,33.01,34.20,34.35,
-37.04,37.62,38.91,39.75,41.47,40.52,42.30,45.47,45.68,47.61,
-49.69,49.56,51.52,53.00,51.89,53.80,55.73,55.73,56.28,58.43,
-59.63,62.10,61.58,62.63,64.90,65.83,66.39,68.31,70.01,70.87,
-71.43,73.75,74.25,74.12,75.42,78.59,80.02,78.99,84.87,83.49,
-84.37,87.84,85.46,86.22,86.81,88.28,92.57,90.59,94.52,93.06,
-95.61,97.68,98.61,94.96,102.76,100.65,103.81,101.57,105.96,106.57,
-109.52,106.23,108.35,111.22,115.45,112.18,115.12,118.51,117.72,118.15,
-118.55,121.10,123.06,126.01,125.65,128.88,127.25,127.25,128.44,127.70,
-129.78,132.75,134.20,133.49,135.88,134.70,138.33,142.37,142.48,142.08,
-143.41,144.08,147.76,146.41,147.63,149.44,148.85,150.11,150.74,150.63,
-153.43,155.60,160.14,159.79,161.25,162.06,164.89,163.41,165.24,168.32,
-165.37,168.10,169.91,172.70,169.06,171.62,171.00,175.89,177.79,177.53,
-177.99,181.92,179.60,180.59,184.20,185.01,186.82,188.67,189.54,193.33,
-192.71,193.27,191.89,193.22,192.77,196.29,204.81,201.12,203.14,202.44,
-202.46,203.08,205.61,203.44,210.84,210.93,210.38,214.44,208.58,212.44,
-211.46,215.07,221.38,217.97,216.88,222.00,221.03,220.78,226.04,224.28,
-227.95,224.32,228.00,229.80,228.60,230.96,234.31,238.49,239.01,238.08,
-239.35,241.69,244.18,240.98,246.97,243.90,246.34,244.35,250.32,247.73,
-250.69,250.33,257.24,253.74,253.71,252.51,256.72,256.43,263.61,263.92,
-260.30,267.57,264.01,266.49,261.88,267.56,269.68,273.54,273.16,272.67,
-272.87,275.24,276.15,272.16,278.77,277.39,284.06,279.86,280.75,286.61,
-285.59,292.23,285.94,290.17,289.45,289.63,292.44,296.68,293.94,296.80,
-295.36,299.36,301.85,302.27,305.04,307.20,304.86,308.97,312.14,309.00,
-307.77,304.20,315.36,311.68,315.58,317.63,317.39,319.94,316.65,317.10,
-325.38,319.00,322.61,330.51,326.26,328.32,326.01,332.36,333.87,335.46,
-332.18,336.41,334.51,337.19,339.65,340.04,342.54,344.36,343.15,342.08,
-348.73,343.24,348.65,350.41,354.86,351.86,350.00,351.06,352.99,358.26,
-11.60,12.28,13.11,14.73,15.09,16.37,17.16,18.69,20.23,20.10,
-22.80,23.69,23.10,23.09,23.51,27.90,28.61,29.16,29.48,31.59,
-31.71,31.83,33.72,33.86,35.22,37.49,38.06,38.22,39.78,40.03,
-40.56,43.54,43.77,44.81,46.66,47.60,47.55,49.27,50.34,51.82,
-51.95,51.89,57.55,55.59,56.66,57.73,57.28,58.41,60.57,63.98,
-62.20,63.45,65.50,66.57,64.59,68.36,71.10,69.72,70.99,71.75,
-74.07,74.56,74.73,75.70,79.43,76.93,80.81,79.28,81.56,83.52,
-80.94,83.97,85.08,87.23,87.91,88.13,88.06,91.90,91.75,92.56,
-94.50,96.12,96.01,96.27,97.14,99.73,100.81,99.61,101.96,104.03,
-102.03,106.04,103.71,104.17,106.82,111.55,111.65,111.68,114.38,114.12,
-114.73,114.21,116.11,119.04,117.18,119.91,119.70,120.96,119.19,122.93,
-121.32,125.80,125.17,128.34,129.01,128.49,131.85,133.78,135.22,135.51,
-136.55,137.32,139.78,139.89,136.79,141.16,139.91,142.52,145.42,143.69,
-143.57,146.43,147.99,148.76,147.15,148.94,149.09,151.56,153.81,152.70,
-155.32,161.85,161.27,159.38,161.63,163.30,163.72,164.00,166.76,162.82,
-165.02,169.04,164.64,170.18,168.37,170.65,172.32,175.26,175.80,177.00,
-179.25,177.78,176.50,178.28,181.51,183.74,180.30,187.51,185.15,186.45,
-187.01,183.14,189.12,193.83,191.63,192.67,192.41,195.65,194.39,198.50,
-198.20,201.65,199.78,199.60,200.57,201.88,202.79,205.37,205.39,204.96,
-208.87,210.80,212.44,204.51,211.59,214.50,218.81,214.20,214.92,219.01,
-218.25,221.00,221.70,218.85,219.40,227.04,224.90,228.63,228.83,223.28,
-229.67,230.09,236.41,233.48,234.68,233.50,235.71,235.73,236.64,238.59,
-238.19,238.26,238.93,241.35,245.29,242.93,246.09,243.64,246.83,244.76,
-246.49,254.00,251.88,253.49,252.64,256.36,256.68,252.22,254.49,254.86,
-262.96,260.91,262.70,260.69,264.13,263.28,268.03,265.75,267.69,269.53,
-270.98,270.18,271.19,278.12,271.25,281.29,277.44,277.24,272.95,283.91,
-277.39,278.92,280.09,284.52,283.50,288.54,289.93,287.50,288.03,293.58,
-291.49,284.52,293.89,296.09,297.37,298.48,297.68,296.11,299.45,300.64,
-305.55,306.29,300.04,303.06,304.59,312.90,301.75,305.27,306.95,309.78,
-9.15,10.24,10.99,12.27,13.20,14.12,14.38,15.51,15.86,17.29,
-19.01,19.34,20.12,20.27,22.73,23.32,22.26,24.65,25.87,28.11,
-27.32,27.30,28.76,29.47,30.76,33.48,32.52,34.12,35.35,36.93,
-36.11,36.18,38.47,38.93,41.95,43.42,41.48,42.85,44.17,43.21,
-45.11,45.26,47.94,49.14,48.22,48.91,50.18,52.28,55.17,55.37,
-54.66,54.69,57.28,57.19,59.66,59.00,61.50,62.79,59.45,61.76,
-63.93,66.64,63.77,67.98,68.17,66.59,68.43,69.81,72.51,72.99,
-71.71,71.09,72.12,74.55,76.88,80.44,80.61,80.32,80.84,81.09,
-78.58,79.82,82.20,84.22,83.62,85.26,89.81,87.30,89.36,87.96,
-90.85,93.97,93.29,91.85,94.13,95.28,96.25,98.74,98.03,95.73,
-101.55,100.20,100.21,105.72,104.37,103.62,107.96,106.68,108.02,108.15,
-106.86,109.61,109.30,112.19,113.52,115.24,115.40,117.00,117.65,118.20,
-116.40,118.77,116.10,119.71,122.22,121.66,123.16,123.65,128.70,125.05,
-129.48,127.95,129.37,131.70,132.38,130.51,133.69,131.42,134.25,132.22,
-134.20,137.47,139.02,138.74,142.75,140.79,142.00,140.42,144.44,140.63,
-142.27,143.00,148.36,148.56,152.08,151.33,150.02,150.36,153.77,155.07,
-152.59,152.98,156.26,154.61,158.51,159.08,160.56,160.05,163.73,162.95,
-161.60,163.75,163.28,164.05,167.12,167.53,168.07,172.54,170.66,169.22,
-172.02,169.00,171.98,172.88,178.42,173.13,177.74,181.05,180.98,177.29,
-178.34,182.24,179.81,185.14,186.28,188.77,188.67,188.38,185.49,189.77,
-191.85,188.61,194.38,192.07,193.92,196.04,197.17,197.90,198.96,197.36,
-202.64,203.22,204.14,205.87,203.09,207.84,204.88,210.91,207.35,206.05,
-208.95,210.87,209.85,211.92,211.98,207.90,213.62,214.80,218.38,218.06,
-213.32,218.25,218.36,219.00,222.37,221.97,221.57,227.70,224.32,225.13,
-222.84,225.31,230.42,232.77,228.34,228.75,225.12,232.45,233.53,232.66,
-231.10,239.73,236.80,236.31,236.45,237.71,242.49,242.31,245.31,245.35,
-248.35,239.76,246.52,247.64,247.77,246.78,247.57,254.53,250.40,251.20,
-254.50,249.98,253.89,260.76,255.79,256.18,256.65,254.59,258.77,259.48,
-260.29,263.83,264.10,264.73,263.65,268.14,264.81,265.00,265.25,271.75,
-7.87,9.26,9.33,11.47,11.49,12.11,13.45,14.30,13.99,15.94,
-15.96,15.99,17.55,18.42,20.11,20.78,21.94,22.58,23.25,24.18,
-24.57,24.66,25.25,27.56,27.74,27.44,28.85,29.97,30.00,30.39,
-31.46,32.37,33.51,34.42,35.73,36.05,34.74,38.56,38.81,39.70,
-39.64,40.69,41.35,42.62,42.65,43.29,44.91,47.90,46.77,46.69,
-47.40,50.34,48.15,48.51,49.77,54.00,51.13,54.13,52.46,52.26,
-55.28,56.04,56.74,57.94,59.02,60.45,59.40,63.14,62.42,63.52,
-62.26,64.79,63.82,65.40,67.18,69.88,67.19,67.05,69.30,67.57,
-70.61,72.26,72.59,72.08,78.10,74.49,76.16,75.86,77.91,80.56,
-80.02,78.03,77.78,81.36,81.57,84.19,84.02,82.90,86.39,86.08,
-87.54,87.54,89.60,90.14,92.48,92.01,91.36,92.74,93.22,93.85,
-94.71,92.92,93.74,95.34,99.59,98.36,100.71,98.85,101.86,100.42,
-104.58,100.60,104.36,105.79,103.69,107.08,105.72,110.97,107.70,110.59,
-110.33,106.59,109.54,112.14,114.38,113.19,113.45,114.27,116.46,113.20,
-120.75,116.83,121.67,122.56,121.97,118.18,126.06,125.36,124.02,127.43,
-125.11,125.89,126.03,130.09,128.66,129.72,127.11,130.44,133.25,133.09,
-133.32,135.88,132.62,131.79,138.30,133.51,137.85,136.48,139.15,144.25,
-138.17,143.48,146.07,145.10,148.93,145.62,146.59,150.16,149.88,148.93,
-148.45,152.23,151.76,153.83,151.79,155.05,155.43,154.74,154.57,156.36,
-152.38,158.51,155.48,161.11,162.75,161.64,161.62,162.12,161.80,169.61,
-167.20,170.84,168.83,168.62,172.76,167.46,169.87,171.06,175.99,171.36,
-172.02,170.26,178.01,174.11,176.50,177.73,174.26,178.66,176.37,178.97,
-181.19,182.30,185.19,180.18,185.54,191.01,184.37,185.12,190.14,183.97,
-191.19,185.63,189.87,193.55,195.53,195.01,193.24,194.83,195.14,196.53,
-195.55,195.19,196.73,198.77,197.93,196.98,206.07,203.65,201.23,206.53,
-202.41,199.32,207.85,208.07,202.37,209.04,211.91,207.62,213.16,213.84,
-212.45,211.25,211.69,214.19,214.79,217.83,214.84,218.13,219.49,215.90,
-219.10,225.01,223.69,221.80,223.81,222.67,225.90,224.55,234.72,231.60,
-228.50,225.31,234.04,230.08,229.87,227.16,235.49,234.75,236.27,236.95,
-54.44,59.61,63.46,69.14,74.37,79.12,83.90,91.42,94.45,100.42,
-105.62,109.44,115.95,120.31,125.00,129.38,135.66,141.67,147.86,151.23,
-156.62,160.79,165.87,172.00,174.83,180.58,188.84,190.63,196.76,201.34,
-208.59,210.82,217.48,220.82,225.74,232.59,236.46,243.44,248.68,254.38,
-257.91,264.17,269.15,273.39,277.91,282.01,290.57,294.93,300.94,303.12,
-309.64,314.78,318.36,324.81,328.77,332.49,339.69,342.51,349.28,357.41,
-359.43,363.08,371.66,375.83,382.81,386.97,391.62,398.34,402.48,409.28,
-410.96,417.15,420.52,423.60,430.65,437.33,439.45,450.15,451.64,457.63,
-462.90,467.37,471.02,479.19,479.78,486.27,489.74,497.58,501.62,508.67,
-512.65,517.67,526.08,529.36,532.17,538.90,544.84,550.64,553.51,559.66,
-566.86,569.13,575.68,575.72,583.42,589.64,594.80,597.34,605.71,610.29,
-616.33,616.95,626.45,632.21,632.93,639.49,646.34,651.16,656.80,665.34,
-664.70,669.97,674.51,680.70,683.97,692.19,697.64,706.25,705.65,712.82,
-716.81,720.25,726.24,727.94,736.56,740.79,747.15,751.78,754.44,759.15,
-766.82,771.04,778.39,785.36,790.45,794.55,797.14,801.31,807.50,812.65,
-817.61,821.92,828.08,832.05,840.12,842.47,851.49,855.91,860.12,861.81,
-875.06,875.42,882.60,884.49,891.71,898.08,899.24,905.96,911.76,916.29,
-917.51,925.92,930.31,930.74,943.22,944.70,952.12,957.60,964.68,968.91,
-971.45,981.96,981.45,988.04,991.32,997.55,1005.55,1009.56,1013.16,1017.09,
-1018.77,1027.53,1031.69,1037.94,1040.53,1045.82,1052.76,1057.17,1064.26,1070.53,
-1076.68,1080.22,1086.97,1088.22,1094.84,1098.45,1106.26,1110.79,1113.08,1114.94,
-1121.42,1131.93,1131.21,1139.99,1143.84,1148.70,1157.36,1161.54,1164.18,1172.28,
-1176.82,1179.48,1185.02,1191.99,1197.31,1199.18,1206.81,1210.49,1217.16,1217.86,
-1226.10,1233.81,1238.21,1237.60,1248.97,1250.84,1256.61,1261.46,1267.09,1271.53,
-1281.61,1285.06,1289.17,1295.58,1299.19,1298.47,1309.31,1314.52,1315.62,1326.63,
-1324.76,1334.83,1342.74,1348.58,1348.66,1355.60,1361.19,1361.80,1365.98,1377.93,
-1379.56,1390.25,1384.15,1396.34,1399.25,1405.19,1410.32,1417.06,1420.88,1418.26,
-1427.47,1437.87,1440.15,1446.06,1453.52,1467.21,1460.96,1466.78,1472.11,1474.44,
-1481.46,1488.39,1490.21,1502.47,1497.72,1504.55,1515.69,1512.27,1521.37,1524.70,
-48.91,52.89,58.11,61.89,67.26,71.93,76.33,81.40,84.12,89.11,
-94.68,98.78,104.34,108.91,112.11,117.60,124.02,126.71,130.87,135.03,
-141.14,145.80,148.92,154.71,158.02,163.68,168.84,175.33,178.64,183.21,
-187.09,191.88,197.79,200.35,207.46,207.95,214.23,219.24,223.91,227.89,
-232.74,236.84,242.97,246.98,252.95,256.36,262.43,262.18,268.87,274.52,
-278.59,280.53,287.57,292.34,299.15,301.05,307.91,312.04,314.93,320.68,
-324.64,331.63,335.20,339.88,341.21,344.49,352.29,358.82,363.46,366.95,
-371.80,376.82,381.29,386.53,388.75,391.47,397.75,402.02,408.52,413.80,
-415.78,421.21,426.20,430.76,438.70,439.89,443.82,450.70,452.46,457.98,
-464.17,467.26,473.31,474.01,481.98,490.90,491.30,494.72,499.29,503.78,
-507.45,512.73,518.70,523.08,528.26,529.83,539.30,537.42,545.96,553.27,
-554.96,557.98,564.12,568.82,577.63,579.30,582.82,584.65,590.24,598.42,
-599.81,604.58,611.89,614.87,620.94,625.84,631.69,636.95,639.39,641.64,
-651.71,652.19,660.37,659.19,663.31,669.28,677.80,678.22,686.57,690.64,
-692.16,699.60,705.63,709.43,713.77,720.24,721.50,727.65,726.54,737.06,
-740.69,748.07,751.63,751.20,756.39,761.32,764.00,774.16,775.20,787.57,
-787.64,789.29,793.85,798.57,805.06,807.53,814.02,822.46,820.32,830.28,
-834.42,836.91,839.15,846.22,846.87,859.25,856.87,865.41,867.80,872.91,
-875.44,886.45,888.98,891.12,895.05,902.36,905.34,908.69,918.80,918.34,
-922.64,931.35,934.16,936.98,938.44,947.01,953.08,957.10,961.88,967.91,
-967.82,974.30,974.13,985.28,989.98,996.20,1000.20,1007.96,1005.94,1011.70,
-1017.49,1024.64,1027.20,1031.96,1035.34,1041.17,1048.39,1048.32,1050.85,1058.93,
-1060.71,1063.39,1066.58,1080.76,1082.87,1086.45,1088.22,1091.39,1100.56,1106.53,
-1109.70,1110.21,1121.47,1119.17,1123.28,1132.98,1139.13,1144.02,1144.48,1150.85,
-1153.39,1164.32,1164.06,1167.38,1174.84,1182.59,1181.01,1186.11,1191.27,1194.76,
-1199.98,1205.00,1211.78,1217.11,1222.73,1225.09,1228.67,1230.91,1232.82,1243.84,
-1250.28,1255.10,1258.80,1264.56,1261.57,1275.57,1274.99,1280.00,1291.45,1286.61,
-1296.16,1292.27,1304.81,1311.14,1313.58,1307.70,1314.62,1325.69,1329.98,1334.99,
-1336.48,1346.03,1349.44,1354.22,1359.31,1361.56,1366.98,1373.13,1376.27,1377.93,
-43.89,48.71,51.55,56.07,59.57,64.23,69.12,73.10,77.38,80.82,
-84.85,88.66,93.85,97.18,101.40,106.34,110.11,115.56,118.15,122.61,
-127.46,133.34,134.02,137.42,145.27,147.47,151.67,154.61,160.95,163.38,
-171.14,171.47,175.79,180.68,182.43,188.74,193.69,197.90,202.24,207.91,
-209.90,215.55,216.00,223.58,226.78,229.43,235.47,236.94,243.22,248.49,
-248.58,255.17,259.08,262.96,268.61,271.33,273.87,279.80,286.81,290.67,
-294.47,296.65,300.66,303.88,309.92,317.79,318.20,321.33,327.00,329.34,
-335.67,337.90,342.87,343.60,349.45,358.07,358.47,364.25,368.50,371.33,
-374.99,381.93,385.48,387.55,395.92,395.88,402.42,406.51,410.78,411.62,
-415.24,423.74,429.95,431.39,434.80,437.84,444.16,444.28,451.58,452.42,
-461.25,462.06,467.63,472.13,476.71,481.33,485.12,492.32,493.58,496.08,
-503.40,504.05,511.69,511.95,519.31,519.94,530.64,528.99,535.28,534.20,
-543.91,542.75,546.19,558.01,556.82,567.45,567.87,574.01,575.76,579.29,
-579.52,589.03,591.61,597.86,599.33,601.80,609.09,612.26,619.71,622.38,
-625.75,632.16,635.77,637.94,641.86,647.81,651.69,654.83,661.91,662.00,
-662.61,669.90,674.07,676.49,682.34,691.54,690.03,696.13,700.17,702.81,
-708.66,716.73,716.08,718.43,721.38,722.31,736.18,735.86,736.02,746.77,
-750.12,753.50,757.16,764.95,762.32,770.55,774.24,779.21,783.19,785.85,
-791.24,795.10,797.61,807.23,810.14,813.11,816.42,818.93,824.37,824.83,
-833.85,840.74,837.34,843.92,856.39,852.08,856.02,865.23,866.88,872.81,
-871.30,877.62,885.00,890.42,887.96,902.33,895.38,903.32,906.09,912.64,
-912.45,919.16,927.60,929.34,935.15,936.57,939.75,942.62,952.98,955.16,
-957.66,962.84,963.41,970.36,977.07,981.87,989.96,988.58,994.27,998.68,
-997.55,1006.29,1007.54,1010.39,1017.43,1019.86,1025.07,1029.15,1031.63,1036.93,
-1038.79,1043.80,1045.76,1052.15,1053.50,1061.75,1063.96,1064.98,1072.07,1079.82,
-1084.03,1084.52,1088.24,1096.29,1100.92,1109.05,1098.94,1111.81,1114.40,1119.60,
-1125.24,1131.95,1132.70,1134.40,1142.34,1135.46,1137.90,1152.81,1159.07,1164.78,
-1162.72,1165.27,1173.49,1177.90,1182.37,1181.34,1195.07,1195.67,1195.80,1204.81,
-1209.58,1207.87,1216.48,1217.88,1219.83,1226.71,1231.90,1231.90,1237.12,1233.94,
-40.74,42.52,46.67,51.37,54.61,58.20,62.43,64.23,68.23,72.35,
-77.29,81.56,85.39,87.70,90.63,94.16,98.94,103.05,108.15,111.92,
-115.25,119.20,120.78,125.13,130.76,135.03,135.93,140.27,144.16,145.97,
-150.57,155.01,160.29,162.22,164.93,168.30,174.33,177.02,180.97,185.29,
-188.42,190.56,196.71,199.75,204.28,210.36,210.47,212.53,217.02,224.04,
-225.88,228.61,232.53,235.74,242.30,244.56,249.68,255.61,256.76,259.93,
-261.99,267.53,271.93,273.88,275.38,281.04,286.11,288.14,293.64,296.93,
-299.53,302.98,305.96,308.96,312.88,319.93,320.70,325.24,332.26,331.57,
-339.64,340.44,348.01,348.36,354.52,359.28,358.71,365.50,365.36,371.74,
-374.99,380.15,381.34,387.28,391.69,394.17,396.04,402.85,409.57,408.95,
-410.10,416.09,418.45,423.17,427.67,431.28,430.91,439.56,442.44,443.45,
-454.05,454.17,458.59,463.63,465.84,471.05,472.12,474.51,480.52,481.24,
-487.39,488.10,496.14,498.76,503.39,504.45,510.89,507.76,520.17,520.95,
-523.11,526.77,531.05,533.13,540.56,544.88,547.96,549.28,555.51,560.39,
-560.94,567.18,569.56,574.07,572.01,580.53,588.36,590.44,590.44,592.26,
-597.86,599.53,606.35,611.32,611.80,615.01,619.07,623.29,628.88,631.02,
-636.34,635.65,643.51,647.23,651.51,656.89,658.24,657.92,667.93,665.29,
-673.60,678.90,683.64,685.50,690.73,691.92,697.83,700.85,704.52,710.01,
-712.30,718.96,719.95,722.39,728.41,730.84,734.67,736.92,742.17,745.45,
-745.94,749.50,756.98,756.19,762.26,768.23,771.78,774.14,776.35,782.76,
-782.97,787.11,792.90,799.05,795.37,801.18,810.12,807.23,815.82,818.24,
-822.39,831.70,832.17,837.30,841.19,840.52,847.96,848.97,851.81,861.44,
-860.97,862.26,865.78,874.39,873.95,879.75,880.34,883.96,892.03,889.23,
-890.95,899.81,906.29,910.87,910.04,918.19,923.65,924.97,923.25,933.68,
-933.73,937.78,945.01,942.28,941.26,952.85,956.42,964.57,968.73,966.49,
-969.21,974.40,978.78,984.00,980.10,988.00,994.46,997.38,1002.28,1007.80,
-1009.07,1012.72,1018.68,1022.15,1021.53,1027.70,1032.83,1032.50,1037.87,1033.88,
-1055.31,1051.58,1052.74,1054.85,1062.41,1066.44,1064.66,1068.11,1074.39,1080.48,
-1082.14,1091.96,1094.26,1096.37,1101.49,1099.82,1103.65,1110.01,1114.10,1118.57,
-34.92,38.51,41.03,44.91,49.80,52.11,54.85,59.58,62.15,65.28,
-68.14,72.61,76.15,78.84,80.93,86.28,89.10,91.16,93.59,98.43,
-103.22,105.00,107.65,113.24,115.08,120.07,123.57,125.25,127.70,131.18,
-136.34,137.67,142.64,146.33,148.97,149.83,155.78,159.30,162.97,165.64,
-170.87,169.39,174.56,179.90,181.28,184.96,188.64,191.11,195.92,199.25,
-202.41,204.56,206.88,213.21,217.81,219.83,223.97,225.28,231.29,234.73,
-236.03,240.39,241.08,244.48,247.29,254.45,255.65,260.60,261.31,266.42,
-271.13,272.06,274.67,279.17,280.27,284.17,286.65,291.88,295.29,296.18,
-300.46,305.01,309.66,312.63,316.52,317.56,320.95,328.64,328.33,330.84,
-335.73,339.78,342.95,344.92,348.75,352.62,355.89,357.96,366.19,368.10,
-368.50,371.48,375.19,376.94,379.82,390.99,392.12,391.91,395.67,397.07,
-404.12,404.85,408.97,412.33,416.96,421.83,424.82,426.24,429.77,430.27,
-436.48,438.14,445.32,448.65,447.48,455.50,454.95,462.09,462.02,464.10,
-471.76,468.31,478.03,481.57,481.91,481.50,491.57,496.70,499.40,498.71,
-502.48,504.12,507.94,511.10,515.03,520.30,522.48,531.16,526.47,538.23,
-532.85,542.97,540.55,544.38,554.29,557.96,550.11,554.42,565.55,566.59,
-569.30,570.23,580.33,582.49,583.03,585.26,587.76,591.85,594.47,599.63,
-599.00,606.29,611.14,613.48,618.61,621.76,618.30,627.64,632.61,634.15,
-635.59,632.97,645.91,646.07,652.62,653.25,657.95,659.00,664.54,665.88,
-667.92,672.71,677.03,684.76,689.99,685.08,693.62,692.47,691.95,698.46,
-701.04,708.10,709.98,712.12,713.54,722.53,724.67,732.57,728.11,732.99,
-737.89,737.74,744.13,748.57,746.95,754.29,752.08,761.73,769.11,766.37,
-771.12,770.31,778.26,775.64,787.00,787.94,790.22,792.72,799.95,801.06,
-809.20,806.41,811.76,812.81,819.03,822.16,827.10,825.86,832.15,830.61,
-833.37,843.35,846.54,854.58,853.35,853.70,855.80,859.30,865.83,868.96,
-872.66,870.90,872.79,878.84,881.70,886.79,895.73,887.54,898.74,899.67,
-902.68,912.19,912.10,911.51,919.11,921.81,926.06,934.84,933.40,928.62,
-936.55,946.03,943.93,943.32,951.26,952.30,952.04,961.84,967.84,966.37,
-967.20,975.35,982.97,985.04,988.02,988.34,991.24,989.80,991.97,1003.13,
-31.28,34.44,37.22,41.14,44.69,48.49,48.68,53.22,55.84,58.21,
-61.56,64.50,68.08,71.61,75.19,76.83,78.03,81.95,85.53,90.41,
-90.12,92.69,97.28,98.31,102.92,106.88,109.81,111.50,115.33,117.40,
-118.98,125.40,125.20,130.08,132.09,136.06,137.87,140.43,145.50,147.03,
-152.24,156.65,157.42,157.76,163.21,167.45,169.55,171.66,172.50,177.36,
-181.50,181.47,187.49,190.18,194.00,193.45,200.33,200.25,204.63,208.80,
-208.65,212.90,215.02,217.86,223.20,226.22,227.82,232.71,234.22,239.42,
-243.27,243.99,244.12,248.81,250.14,255.28,262.75,261.30,265.83,267.65,
-265.83,274.86,276.80,283.20,279.91,284.58,284.27,294.60,296.03,298.03,
-302.26,304.26,302.24,311.43,314.89,318.43,313.59,319.71,323.81,325.10,
-328.76,335.14,333.43,336.07,346.05,343.63,348.83,354.50,358.79,355.60,
-362.55,362.97,367.74,369.79,364.50,377.43,378.07,378.39,383.55,387.59,
-387.63,394.25,393.71,398.77,402.24,404.33,404.02,413.45,410.35,415.05,
-418.52,422.52,423.95,429.07,426.95,434.38,435.29,438.33,444.37,447.73,
-445.64,455.36,455.32,459.93,461.31,464.58,469.06,467.73,473.61,476.32,
-482.74,484.33,487.40,491.09,494.23,494.00,496.86,495.51,507.70,506.64,
-508.79,512.78,516.86,515.74,519.82,522.11,525.98,526.02,535.80,536.15,
-539.35,539.80,547.61,549.26,551.12,556.64,557.61,559.17,562.16,569.77,
-566.93,570.36,575.69,581.75,579.39,587.58,587.61,587.62,589.42,596.37,
-594.57,602.05,600.75,606.68,612.86,615.62,621.46,623.54,622.02,621.03,
-630.89,630.86,631.62,636.83,642.03,643.34,649.27,648.75,653.34,655.51,
-656.69,665.13,660.35,664.97,671.82,669.42,675.95,683.76,678.48,680.54,
-688.20,686.84,693.04,696.27,698.33,700.27,699.46,706.35,713.06,710.42,
-720.14,718.30,723.60,723.73,725.50,728.80,733.78,740.49,744.37,737.81,
-749.53,752.30,751.78,751.07,759.79,762.19,764.12,765.07,770.23,775.12,
-778.96,781.71,780.99,792.00,785.55,791.79,791.21,798.34,802.29,802.27,
-803.93,811.84,813.59,824.20,818.93,815.41,824.70,836.06,825.50,835.40,
-841.38,838.90,843.08,846.54,854.00,856.20,857.41,853.41,860.25,859.53,
-864.41,868.38,868.90,876.95,872.79,886.25,886.94,888.91,890.60,897.39,
-27.91,31.91,33.84,37.21,39.01,40.71,42.61,46.60,50.65,51.91,
-54.53,57.35,58.69,63.89,65.66,67.12,70.25,74.22,76.80,78.40,
-81.89,82.77,87.07,89.34,91.91,93.74,95.44,98.10,103.44,105.63,
-108.63,112.76,113.61,116.09,119.96,119.86,124.33,126.00,127.07,131.90,
-135.38,139.81,139.70,143.65,141.78,148.07,152.69,153.51,155.86,162.42,
-156.69,163.01,165.05,168.69,172.73,172.42,176.96,179.74,182.66,185.22,
-186.07,188.22,194.68,195.40,198.61,201.54,202.15,203.16,208.08,213.53,
-214.45,214.88,217.65,224.60,226.34,225.94,232.42,234.20,236.71,234.60,
-244.15,244.41,248.61,246.89,250.95,252.94,256.71,259.65,260.82,264.40,
-267.87,268.43,276.22,275.15,280.51,277.56,285.25,286.31,291.99,293.76,
-291.98,297.60,302.32,305.18,302.80,306.78,310.10,315.72,316.55,319.58,
-321.90,322.65,325.20,328.74,330.76,334.79,334.70,339.57,349.47,345.10,
-349.17,347.83,353.18,359.17,359.80,357.25,365.27,364.56,369.17,368.55,
-370.74,376.40,378.82,381.55,386.04,386.55,391.60,393.35,398.02,397.41,
-399.90,404.10,405.49,409.46,413.02,413.02,413.35,418.48,420.38,425.24,
-426.00,428.73,428.30,437.61,437.18,440.35,444.85,445.16,447.47,450.65,
-453.62,459.57,462.78,463.15,465.71,464.90,473.14,474.02,475.60,476.65,
-479.76,482.69,480.23,484.69,487.33,493.41,496.48,498.28,497.18,509.89,
-505.96,510.90,511.03,512.66,516.87,516.66,522.00,521.92,527.92,532.11,
-531.52,538.20,538.83,537.40,546.20,545.34,546.94,550.05,555.75,558.51,
-554.72,560.63,563.63,569.03,572.63,573.11,575.25,578.69,576.56,574.62,
-588.30,587.55,586.44,596.22,596.02,599.84,600.01,606.35,606.92,615.18,
-617.24,614.61,621.40,619.74,618.24,630.09,625.00,633.92,629.79,631.73,
-644.04,640.42,647.24,653.41,656.25,649.72,651.96,655.59,661.59,664.49,
-663.96,668.39,673.13,672.64,672.29,675.82,677.31,682.64,687.01,692.64,
-685.97,696.59,698.73,699.75,704.90,709.67,706.59,709.97,712.50,721.47,
-717.68,715.99,725.48,726.14,731.59,734.58,734.61,734.06,741.26,745.11,
-745.64,744.96,752.38,751.16,758.63,761.96,766.17,766.52,765.06,759.59,
-772.10,775.07,778.42,778.29,787.53,779.76,788.29,792.78,792.36,797.35,
-25.39,28.43,29.67,31.15,34.51,37.36,39.64,41.79,45.09,46.27,
-48.30,50.45,54.24,54.55,58.79,59.10,60.74,64.37,67.19,69.81,
-71.67,75.13,76.81,80.04,79.57,86.71,87.11,88.06,91.52,93.98,
-95.61,97.81,100.56,101.96,102.89,106.31,109.93,113.24,111.07,115.98,
-119.91,121.66,124.39,126.73,127.61,132.87,132.08,137.71,137.45,141.25,
-142.88,145.22,148.24,150.82,152.35,154.00,157.63,161.27,165.60,166.68,
-164.82,168.79,172.41,176.00,175.33,181.86,178.79,185.34,186.80,185.88,
-192.33,189.62,194.15,197.25,197.09,198.10,203.87,210.18,208.20,209.25,
-213.45,213.96,214.87,219.07,225.25,227.31,227.69,229.59,231.17,235.29,
-240.89,240.52,243.02,245.82,250.82,251.69,249.89,257.41,258.02,260.68,
-262.50,263.10,264.68,266.79,273.95,269.85,275.24,278.23,281.48,280.24,
-285.25,288.69,290.19,292.00,293.23,297.66,296.83,301.18,309.77,302.42,
-310.86,311.90,317.18,315.35,318.99,320.20,323.49,326.52,328.67,331.10,
-332.43,334.79,338.83,338.18,339.27,350.28,347.75,344.06,348.37,353.61,
-356.12,358.15,364.11,362.56,364.33,366.81,370.72,373.53,374.22,375.07,
-377.51,377.63,385.40,387.62,385.45,392.19,393.62,393.30,398.30,397.52,
-404.46,406.04,411.13,410.59,413.65,415.74,416.86,423.27,419.48,423.72,
-427.33,431.22,427.13,434.89,436.79,440.52,440.23,448.35,447.03,449.95,
-449.45,453.84,457.37,456.75,463.13,462.15,465.17,470.66,468.88,471.19,
-473.42,475.67,476.60,482.27,480.05,482.96,484.21,492.65,495.29,495.31,
-501.07,502.06,504.17,503.57,509.21,510.97,515.50,515.05,521.64,520.18,
-515.77,521.92,527.06,520.89,527.84,537.00,536.98,540.75,541.15,545.20,
-546.61,548.14,546.21,557.39,562.87,559.77,559.99,564.62,558.55,568.49,
-566.85,577.93,572.80,577.59,572.60,577.79,586.70,583.77,589.21,591.91,
-594.08,599.49,595.15,605.47,601.87,607.26,605.43,606.80,605.76,615.98,
-618.24,612.54,619.47,623.39,621.26,629.78,630.90,635.39,633.13,638.01,
-641.20,641.29,647.11,647.60,646.45,652.65,651.61,656.21,661.95,661.59,
-660.91,669.00,668.18,670.22,672.99,676.55,677.18,676.43,681.24,683.53,
-689.25,687.43,693.85,695.77,695.31,695.45,705.40,703.87,706.98,712.72,
-22.12,24.44,26.56,28.96,29.86,33.01,35.86,37.96,38.64,41.55,
-42.66,44.43,47.64,49.25,51.30,55.02,55.16,58.26,60.17,62.14,
-65.62,65.71,69.29,73.10,72.27,74.35,76.20,76.93,82.49,82.83,
-85.83,84.96,89.40,90.55,94.07,94.99,97.37,98.69,101.72,103.15,
-106.93,107.52,109.01,114.08,114.82,117.25,120.09,119.55,123.82,123.32,
-127.92,130.38,129.66,135.28,136.47,137.56,138.17,140.54,144.08,147.57,
-146.47,147.86,150.76,155.10,156.63,156.14,163.10,165.38,170.54,166.24,
-165.87,169.70,172.42,174.68,174.90,178.21,179.71,185.64,188.72,190.77,
-188.78,192.41,194.90,194.96,198.68,197.86,202.68,201.92,208.93,208.96,
-209.15,210.29,215.63,216.07,218.33,222.97,222.82,226.63,228.69,227.67,
-231.29,230.61,233.28,239.34,237.48,242.42,243.86,245.65,248.49,253.60,
-255.11,252.44,257.09,260.84,260.84,262.50,261.37,267.82,271.55,276.45,
-272.17,275.04,280.57,279.52,282.05,287.91,287.52,289.55,289.86,293.99,
-292.35,297.77,299.73,300.93,306.45,306.20,305.31,310.16,315.66,311.06,
-317.19,315.75,321.27,320.52,324.56,327.24,328.74,334.97,332.98,341.98,
-333.58,339.08,342.78,344.65,345.88,344.89,351.74,352.81,356.33,353.24,
-354.98,361.46,361.59,362.47,365.16,372.19,374.25,369.20,373.63,376.23,
-377.10,378.36,381.69,385.37,384.90,389.71,391.67,394.74,391.68,392.17,
-398.79,401.27,402.59,400.07,407.68,408.51,413.22,412.65,414.06,419.10,
-421.74,424.20,420.97,425.18,425.85,434.76,438.09,434.21,441.97,441.42,
-445.80,445.30,446.66,446.87,455.13,454.11,454.57,454.92,452.33,464.42,
-460.93,468.77,472.01,468.46,471.55,476.49,473.32,477.41,481.85,486.59,
-485.74,489.16,486.26,491.21,489.59,496.43,491.16,504.57,499.79,506.39,
-508.12,510.67,506.69,515.15,513.71,513.14,513.36,520.58,522.57,519.27,
-525.72,527.53,526.51,529.92,528.15,539.44,544.26,542.71,541.71,544.47,
-543.47,549.81,551.66,555.74,551.83,555.32,562.75,563.20,568.28,563.65,
-567.15,571.06,570.17,575.98,575.72,576.74,578.93,584.12,582.80,585.48,
-584.66,593.61,591.09,596.66,600.91,599.57,603.49,601.91,601.31,607.70,
-612.83,615.68,605.65,622.65,620.98,618.72,621.51,626.92,625.04,628.37,
-20.00,21.69,22.92,23.21,26.80,28.01,30.09,31.39,34.49,36.84,
-38.88,39.90,41.41,45.18,46.87,49.11,49.04,50.61,52.57,52.63,
-56.74,59.41,59.50,62.51,63.18,64.60,68.06,68.35,71.88,75.84,
-76.13,78.30,77.72,80.65,84.37,83.43,86.47,89.37,90.09,92.74,
-96.62,96.67,97.87,102.59,101.61,102.57,105.56,107.88,106.54,109.61,
-112.49,114.18,117.06,117.21,120.10,121.43,125.37,125.71,128.80,129.11,
-132.58,133.95,132.68,136.54,141.09,144.67,143.18,145.05,143.22,149.79,
-151.02,154.95,155.06,154.92,156.37,161.44,162.12,165.29,164.03,164.69,
-168.49,170.00,171.21,171.43,173.82,177.26,181.25,182.33,181.13,187.15,
-184.62,185.85,191.19,193.05,196.25,200.18,196.65,197.60,203.08,200.67,
-208.32,208.06,208.35,211.38,216.07,214.13,213.58,219.78,224.31,221.45,
-223.00,229.17,229.11,229.57,231.95,232.29,235.15,235.89,235.77,238.99,
-246.19,241.88,243.83,249.16,249.78,251.94,251.74,252.93,258.49,256.17,
-258.94,259.81,261.71,267.80,269.85,272.04,272.15,278.68,280.35,276.74,
-276.55,282.77,282.57,285.87,289.89,288.66,291.87,292.70,293.83,300.03,
-298.61,301.04,303.79,303.54,304.28,309.95,310.11,311.86,310.07,317.11,
-315.14,316.62,322.95,322.19,327.32,325.50,329.45,331.29,330.73,331.10,
-336.59,334.69,336.71,341.90,337.05,347.58,346.68,344.76,352.19,351.62,
-357.16,354.28,363.04,361.69,355.62,363.88,367.61,366.85,368.94,372.38,
-369.99,374.52,379.79,375.75,383.75,381.80,382.18,389.25,389.01,388.57,
-388.40,390.18,392.05,396.21,394.24,402.34,400.59,406.08,403.41,407.93,
-406.87,414.89,409.48,412.75,416.34,419.27,420.28,421.47,424.08,429.76,
-418.61,432.14,434.56,429.42,438.94,433.99,440.38,439.39,443.87,443.85,
-450.55,445.61,452.41,459.61,451.39,451.73,455.54,459.63,464.48,468.98,
-463.21,471.00,469.24,470.67,472.47,470.97,481.52,479.36,479.07,482.93,
-485.88,483.39,485.03,484.95,487.59,494.79,502.06,500.34,501.03,502.50,
-500.38,509.17,512.03,503.27,514.82,511.31,511.74,514.30,519.80,526.50,
-519.57,524.31,525.68,526.53,523.00,532.61,533.01,536.40,539.28,538.18,
-541.88,544.55,549.63,547.41,550.22,549.45,549.69,547.96,551.98,554.99,
-16.94,18.50,21.08,22.65,25.15,24.87,26.63,28.76,30.38,32.38,
-34.86,35.30,36.45,37.26,42.43,40.70,43.80,46.64,45.39,49.41,
-51.15,53.03,52.91,55.05,59.26,59.01,61.02,60.55,63.20,64.20,
-65.80,68.99,70.26,72.24,71.56,76.86,76.41,79.60,80.18,81.20,
-83.86,84.72,84.40,89.45,88.62,88.62,91.54,94.05,94.44,98.50,
-97.22,99.22,102.44,102.27,105.54,107.62,110.85,110.68,113.11,114.97,
-114.32,116.13,121.62,122.12,120.27,123.38,126.27,124.05,124.24,132.18,
-133.54,133.41,134.81,139.11,138.71,140.38,143.61,146.93,146.39,149.49,
-148.07,151.08,153.37,153.39,155.30,157.42,158.07,155.07,162.47,165.87,
-162.18,166.99,168.55,169.83,169.17,176.53,176.60,174.18,178.22,184.00,
-182.12,182.72,182.00,188.04,184.64,191.00,193.84,189.70,195.73,194.38,
-198.59,200.06,198.60,203.44,206.04,207.09,206.06,210.52,211.12,213.44,
-218.68,213.30,214.13,221.93,218.63,219.38,226.78,230.10,226.37,228.97,
-233.40,233.82,228.92,235.31,238.41,243.86,236.74,245.64,245.64,242.97,
-247.31,249.69,252.61,251.49,250.14,250.86,258.11,261.26,261.04,261.51,
-262.71,267.94,267.63,266.94,271.24,273.07,271.55,275.87,277.74,278.74,
-275.68,282.14,282.29,285.75,288.95,289.68,289.00,291.26,295.00,296.21,
-298.53,294.04,301.20,303.18,301.30,307.14,314.06,306.41,309.32,314.03,
-314.07,311.99,316.94,320.55,322.82,325.10,323.29,327.12,324.79,334.21,
-326.50,330.17,325.90,333.40,340.82,338.94,338.79,343.18,343.90,345.05,
-341.07,346.32,347.26,352.59,352.51,352.69,354.55,354.89,359.90,363.39,
-365.81,365.21,363.27,365.41,368.16,373.29,372.63,373.43,373.86,371.28,
-382.52,379.29,383.45,383.07,385.73,384.51,389.79,392.94,388.06,393.62,
-395.63,398.94,400.52,400.26,402.72,404.79,405.17,408.55,404.42,414.14,
-411.16,410.59,412.43,416.72,421.24,411.90,425.97,421.78,421.25,429.30,
-432.16,428.94,428.99,433.44,437.05,439.71,440.12,441.47,441.43,441.40,
-442.45,446.13,446.12,451.16,456.02,447.29,454.93,459.09,456.13,462.89,
-459.87,466.04,463.15,472.34,465.56,480.19,473.83,470.86,471.74,477.09,
-475.94,476.02,477.39,486.19,487.99,490.82,487.57,488.88,495.13,492.26,
-17.06,17.37,18.55,19.69,20.60,21.95,24.19,25.72,27.93,29.48,
-31.52,30.52,34.24,34.06,37.73,36.44,38.58,39.49,39.79,42.86,
-45.30,45.95,47.84,49.22,49.91,53.65,52.87,54.26,56.35,57.72,
-60.83,61.89,60.07,62.77,64.90,66.55,66.81,67.86,70.94,72.88,
-74.26,76.12,76.14,78.77,81.26,82.42,82.14,84.58,86.62,85.89,
-90.19,88.41,90.18,93.16,92.76,96.34,96.99,100.82,100.80,101.77,
-104.34,106.41,104.63,106.58,105.92,111.10,112.48,110.25,112.89,118.26,
-119.14,117.87,120.40,120.84,121.15,125.52,127.96,126.49,129.42,127.30,
-132.41,134.55,135.52,136.22,139.43,138.20,137.50,139.26,142.24,147.71,
-145.67,147.15,147.57,148.23,147.78,153.13,156.33,155.90,155.62,160.17,
-160.76,162.87,161.18,168.70,166.49,170.03,167.02,169.82,170.43,174.76,
-175.64,177.27,179.74,180.88,179.37,178.42,185.25,182.86,187.59,188.81,
-187.67,190.51,192.28,194.91,196.79,195.38,199.86,201.60,202.12,202.67,
-202.21,201.72,207.84,205.94,209.04,212.91,212.19,211.95,214.96,215.98,
-218.48,220.00,224.04,224.91,223.56,223.94,224.89,227.85,229.77,235.08,
-232.29,232.17,239.71,237.13,239.10,241.10,243.09,242.16,245.41,248.17,
-248.21,247.44,248.93,250.92,253.74,256.44,257.37,254.01,257.95,261.32,
-262.92,258.08,265.72,263.27,270.02,269.70,269.41,270.82,274.10,277.35,
-280.15,274.28,281.49,277.99,286.91,279.55,288.91,284.79,291.39,291.65,
-291.31,300.89,294.94,294.21,297.94,300.95,296.39,301.10,308.20,305.39,
-304.61,308.02,307.16,309.08,310.75,316.79,311.37,316.86,318.79,318.67,
-326.79,323.11,322.24,326.57,324.61,330.15,331.03,330.15,327.87,336.09,
-334.67,334.36,339.99,343.62,339.05,340.72,344.60,338.31,353.43,342.94,
-352.34,353.06,358.69,354.77,356.55,358.10,359.00,365.87,355.50,361.23,
-367.25,364.44,368.62,367.43,368.83,368.97,373.79,372.20,376.30,372.43,
-379.17,376.33,379.46,382.78,383.87,381.52,389.39,389.27,394.29,396.62,
-393.80,390.82,397.60,399.19,395.63,402.59,400.73,402.75,409.73,405.00,
-403.84,412.36,414.92,413.36,415.24,419.36,413.85,417.96,416.08,418.63,
-425.12,423.91,422.38,424.28,428.29,433.41,433.01,431.16,432.64,435.12,
-13.62,15.11,15.06,18.56,17.99,19.92,20.62,24.16,23.66,25.89,
-25.62,26.49,28.40,30.11,31.03,33.40,35.16,33.90,36.62,37.07,
-39.16,39.56,41.68,43.77,44.48,44.14,45.93,47.50,48.41,51.86,
-52.28,54.04,55.88,55.63,58.14,59.63,61.39,61.17,64.84,63.89,
-64.20,65.39,69.22,68.22,67.42,71.92,73.98,72.21,76.30,77.70,
-77.09,78.78,78.89,81.71,83.71,82.42,86.79,84.84,86.80,88.79,
-90.33,93.64,93.64,95.77,95.42,96.76,98.70,99.46,99.71,101.81,
-100.93,106.24,106.87,106.82,106.88,106.19,110.26,114.79,116.79,113.44,
-114.24,116.83,115.00,120.48,121.25,123.07,124.90,127.79,128.36,124.92,
-126.14,125.53,129.10,131.91,133.14,136.19,138.08,136.51,138.70,142.18,
-143.65,139.89,143.84,143.49,144.39,150.16,150.52,148.78,154.05,153.93,
-155.87,158.67,156.07,156.91,158.70,157.51,161.27,164.11,162.57,166.12,
-171.03,166.81,169.61,171.61,172.36,171.85,171.82,177.36,176.15,176.41,
-179.41,180.96,184.97,185.06,185.21,187.83,187.69,188.30,191.70,190.99,
-194.23,193.31,196.37,196.67,199.56,201.00,203.43,200.59,200.21,203.82,
-206.59,208.09,206.84,209.74,209.91,212.12,211.84,214.14,214.57,214.95,
-212.77,218.63,220.66,220.84,223.96,224.16,226.29,224.94,226.44,227.51,
-227.91,235.84,231.50,232.97,236.28,237.23,238.16,242.55,245.13,242.47,
-240.38,244.52,247.05,248.37,248.90,252.59,251.40,253.33,253.38,258.48,
-253.69,260.06,256.25,263.77,262.89,264.63,261.94,266.54,265.62,269.71,
-270.39,269.91,276.51,272.48,272.15,275.48,284.90,276.55,279.75,286.30,
-283.50,284.56,285.33,286.95,287.90,288.58,288.68,288.95,291.54,294.90,
-295.41,295.40,292.06,299.27,302.77,300.15,304.20,304.36,303.06,307.33,
-305.49,308.37,307.46,312.38,311.73,311.38,317.40,314.84,314.31,319.05,
-318.86,322.82,325.72,326.22,325.38,325.39,328.39,329.26,332.54,327.63,
-334.51,337.91,337.77,340.03,341.88,341.03,343.04,338.85,343.01,346.68,
-342.97,345.96,349.41,350.62,350.95,349.34,350.91,358.46,355.15,360.22,
-359.31,361.29,362.05,362.14,364.68,360.02,363.80,372.43,373.53,366.34,
-371.58,374.48,375.82,372.96,371.92,375.55,377.94,384.53,385.67,382.36,
-10.60,13.89,14.05,15.27,16.49,17.26,18.64,20.26,19.86,22.47,
-24.14,24.27,27.00,25.57,26.56,28.89,29.92,30.41,31.59,32.72,
-33.07,35.11,36.79,37.89,38.73,40.17,41.95,42.98,42.01,43.66,
-45.06,46.22,46.67,47.90,51.33,50.36,51.84,54.65,53.68,55.77,
-55.99,56.34,58.94,60.32,59.60,64.81,64.80,65.03,65.48,68.40,
-68.37,70.47,72.63,72.70,71.93,72.90,75.57,76.74,78.84,77.91,
-78.30,78.41,80.93,83.75,82.63,84.77,87.16,90.50,86.38,90.31,
-90.47,92.17,92.66,94.70,97.31,94.39,98.06,97.62,99.74,99.20,
-101.61,105.09,101.65,107.35,108.73,105.12,108.78,107.42,111.31,115.09,
-113.68,118.47,112.25,116.15,119.96,120.77,120.84,119.94,123.20,124.12,
-123.68,123.76,128.61,129.36,128.62,132.71,130.84,133.50,131.15,133.53,
-135.11,136.21,134.59,136.73,139.17,141.80,143.73,145.93,142.73,147.98,
-146.89,149.44,150.20,156.96,149.12,155.15,153.42,156.05,156.93,157.49,
-161.39,158.86,158.89,164.03,163.05,163.16,164.15,169.47,165.79,167.65,
-169.49,169.31,170.41,172.70,175.69,172.24,173.01,177.31,176.15,179.45,
-184.40,178.46,181.65,184.79,185.60,189.23,189.07,189.51,191.81,191.53,
-188.96,191.39,196.89,193.88,198.19,195.94,198.46,197.80,202.85,200.95,
-200.54,203.96,206.84,206.44,211.01,210.64,214.07,211.22,214.55,210.35,
-213.87,215.52,215.51,217.41,222.49,222.35,221.82,227.22,222.27,220.73,
-226.48,225.55,227.29,231.70,230.17,229.56,235.37,232.41,236.91,236.60,
-236.96,239.55,238.86,239.12,240.97,240.62,242.82,244.40,248.36,246.45,
-249.93,251.35,249.76,250.25,253.10,253.46,254.30,253.13,249.55,257.65,
-259.01,261.36,260.04,264.47,267.15,262.56,262.29,266.19,270.54,269.18,
-267.86,269.32,275.58,277.30,280.15,279.62,281.95,279.48,280.14,281.23,
-284.13,285.75,280.84,281.38,288.36,285.59,294.94,291.53,292.56,290.35,
-290.51,293.41,298.89,295.86,297.41,299.71,301.04,300.87,301.76,302.10,
-307.59,312.14,303.84,310.87,306.29,311.30,315.08,310.61,313.80,314.56,
-314.91,318.67,314.18,321.76,324.33,319.65,324.83,323.03,327.56,323.63,
-325.01,322.88,329.95,329.07,331.30,333.80,332.08,337.36,337.93,341.59,
-10.05,11.53,11.80,14.18,13.81,14.86,15.79,16.74,18.60,19.12,
-19.66,20.38,22.74,24.59,24.84,24.82,28.26,26.68,27.61,29.02,
-29.82,31.37,33.10,34.15,34.90,36.21,36.42,36.24,38.28,39.86,
-38.45,40.55,43.39,42.58,42.70,43.70,47.62,48.78,45.50,49.01,
-52.57,49.59,52.50,53.04,53.21,55.80,57.51,58.10,56.33,59.13,
-60.52,60.14,63.47,63.35,64.01,66.60,64.47,68.61,67.16,66.62,
-69.87,70.27,72.16,75.39,73.15,74.43,76.69,77.16,76.19,79.50,
-77.36,80.15,84.40,80.73,82.28,84.66,85.30,84.26,89.55,88.85,
-88.67,90.36,92.55,94.35,96.30,95.16,96.75,96.55,95.06,99.00,
-97.98,99.05,102.76,103.15,105.38,108.06,105.93,107.36,110.65,108.95,
-112.41,107.90,111.14,112.30,116.42,115.19,114.93,119.59,118.91,117.35,
-119.47,117.57,125.49,122.12,123.98,127.10,124.17,124.99,126.84,128.70,
-130.04,129.95,130.88,132.78,133.06,133.25,135.75,136.87,140.87,138.65,
-140.09,140.85,140.87,140.37,142.45,147.69,143.64,144.68,148.72,147.02,
-150.29,149.71,149.22,153.71,149.45,150.48,154.37,157.85,157.49,157.67,
-159.36,159.71,162.58,162.87,162.85,162.84,167.03,167.82,166.51,168.65,
-169.21,171.54,167.16,174.34,176.06,172.60,174.83,175.09,178.33,180.34,
-174.20,179.09,182.54,181.61,182.39,186.94,187.05,187.04,192.27,187.83,
-189.07,192.84,187.67,193.69,195.46,191.88,195.66,195.06,195.06,197.22,
-199.95,199.47,204.90,200.25,199.32,203.92,208.69,204.32,207.46,207.55,
-208.95,209.30,209.37,213.44,213.88,218.55,214.37,215.63,217.96,217.26,
-221.77,218.00,220.64,221.03,222.68,222.59,226.18,224.88,231.05,228.32,
-230.43,232.68,236.11,230.19,236.24,234.46,231.61,238.23,234.65,237.53,
-242.46,237.28,240.10,239.75,243.62,244.93,246.47,248.59,244.18,248.85,
-247.12,251.35,250.57,252.27,243.99,251.54,253.94,255.17,254.51,256.50,
-262.59,259.56,260.16,261.19,262.07,260.33,263.14,261.50,264.26,267.96,
-269.03,271.11,270.02,271.90,274.00,276.75,275.27,275.86,270.63,276.48,
-280.54,276.23,282.94,280.70,285.37,281.91,283.17,283.37,289.55,288.89,
-287.97,291.42,290.43,290.99,290.62,293.19,294.18,295.59,287.14,297.40,
-58.60,64.20,69.76,74.73,81.15,86.43,91.23,96.86,102.20,109.48,
-113.66,119.76,124.70,130.36,136.35,140.68,145.83,150.29,157.12,162.19,
-167.69,174.20,179.79,184.99,191.13,196.01,203.40,206.29,211.45,218.04,
-223.77,229.51,231.30,242.63,244.85,250.30,254.64,261.66,269.24,273.42,
-276.62,284.79,288.75,295.99,299.64,307.53,312.25,317.13,324.44,329.27,
-332.06,339.32,345.90,348.85,355.99,360.79,366.74,372.42,376.81,381.82,
-388.31,393.68,400.80,405.38,412.03,417.54,418.09,428.39,433.24,437.88,
-444.16,448.80,454.28,461.85,464.67,473.93,477.74,482.36,489.11,492.67,
-498.42,505.17,512.11,512.01,520.77,522.66,532.75,539.07,543.40,548.05,
-553.20,559.14,564.54,569.12,574.86,581.07,588.53,592.46,595.27,602.36,
-609.48,612.71,619.68,624.43,630.43,637.09,641.74,647.47,651.73,658.83,
-663.90,670.12,676.13,681.58,685.80,691.05,693.16,702.85,709.78,715.10,
-718.33,722.75,729.89,737.70,738.08,747.52,750.75,756.45,763.30,766.98,
-775.67,782.80,785.24,789.23,796.88,798.96,807.56,809.25,816.64,820.36,
-827.50,831.50,839.07,845.84,854.56,859.31,858.38,867.45,871.19,878.48,
-880.95,884.75,891.78,899.30,906.09,908.52,914.64,919.44,929.21,932.05,
-939.34,944.75,947.86,954.99,959.96,963.28,973.34,974.62,981.40,987.59,
-995.78,1000.46,1003.48,1007.27,1013.42,1019.66,1027.00,1032.75,1038.06,1043.43,
-1047.07,1051.21,1059.96,1067.02,1070.17,1075.35,1079.09,1085.67,1094.63,1096.16,
-1100.06,1107.22,1116.44,1120.91,1126.42,1128.66,1136.09,1144.84,1141.29,1151.67,
-1156.06,1164.02,1168.24,1172.96,1176.30,1186.87,1187.56,1195.18,1202.33,1211.91,
-1217.70,1217.13,1223.94,1231.02,1236.30,1243.52,1245.06,1251.52,1258.16,1263.37,
-1268.43,1274.02,1280.21,1285.64,1291.64,1299.53,1300.87,1308.75,1312.91,1315.38,
-1321.06,1327.86,1331.20,1337.96,1344.79,1349.75,1360.27,1368.88,1364.88,1370.31,
-1379.02,1382.58,1383.49,1396.20,1401.80,1407.04,1416.63,1416.87,1423.33,1428.71,
-1433.64,1435.70,1442.74,1449.21,1450.58,1458.27,1469.70,1473.12,1477.54,1486.20,
-1488.78,1493.46,1496.52,1509.64,1514.73,1511.17,1522.26,1523.82,1533.40,1537.80,
-1546.82,1554.38,1552.95,1557.58,1563.92,1571.63,1580.46,1586.37,1588.48,1590.60,
-1597.61,1606.54,1610.87,1616.63,1624.76,1627.22,1635.47,1645.06,1642.60,1650.43,
-53.49,58.40,62.54,69.03,73.61,77.94,83.48,89.29,94.54,99.10,
-103.01,108.56,112.73,118.76,124.05,126.64,132.58,139.08,143.88,150.34,
-154.89,158.45,164.51,168.75,173.50,178.35,184.64,187.29,193.56,199.63,
-203.98,208.08,214.36,219.51,224.31,230.26,232.34,238.05,242.27,250.96,
-255.83,258.42,263.90,268.80,272.91,280.33,284.62,287.65,297.57,298.05,
-305.20,310.36,313.67,319.76,323.24,329.88,333.12,340.69,345.25,349.08,
-356.05,357.48,365.82,368.51,376.17,377.85,384.35,386.60,395.02,396.89,
-403.52,407.82,415.82,421.05,424.28,429.88,435.64,439.12,445.14,447.87,
-455.66,459.96,465.93,469.82,475.56,477.21,486.44,490.21,492.83,497.47,
-504.81,512.70,520.16,520.39,524.94,530.57,534.01,545.84,547.41,548.79,
-553.18,563.13,565.79,571.32,577.41,580.05,587.50,592.95,595.07,599.50,
-607.36,610.60,615.95,621.07,627.38,631.73,638.53,641.48,645.41,651.74,
-659.01,664.38,666.11,672.72,676.30,682.45,687.32,694.79,699.92,702.61,
-709.12,712.07,713.70,718.77,726.37,733.93,740.27,739.74,741.27,756.52,
-758.64,762.82,769.82,770.70,777.01,778.58,783.56,792.39,801.32,801.62,
-807.49,811.18,818.20,821.23,825.50,833.59,835.31,844.48,849.06,852.49,
-858.47,861.45,868.64,873.47,879.77,880.84,887.09,892.58,896.32,900.45,
-907.05,909.96,915.92,924.20,928.17,931.99,938.62,944.21,947.41,957.69,
-955.15,957.52,969.88,969.31,978.61,979.91,988.13,990.24,998.89,1002.81,
-1008.80,1016.60,1016.95,1022.60,1025.01,1032.48,1037.80,1048.44,1051.07,1052.04,
-1059.30,1060.64,1066.90,1069.16,1076.73,1085.91,1087.71,1092.71,1099.95,1105.37,
-1107.89,1110.08,1117.50,1124.39,1129.92,1136.01,1136.84,1144.90,1150.82,1151.70,
-1157.72,1162.60,1166.04,1170.30,1176.04,1180.62,1185.19,1194.79,1196.68,1204.82,
-1210.20,1215.00,1218.11,1225.74,1227.04,1236.64,1235.98,1246.01,1249.72,1253.46,
-1259.77,1262.88,1271.85,1269.80,1279.09,1286.50,1295.68,1294.40,1299.35,1310.30,
-1308.76,1315.82,1318.20,1321.97,1327.59,1335.13,1339.26,1346.98,1354.10,1357.88,
-1356.27,1364.44,1367.28,1377.41,1382.82,1387.27,1389.43,1397.09,1401.12,1398.67,
-1413.84,1415.42,1415.38,1428.59,1431.38,1430.46,1439.33,1444.42,1456.80,1457.60,
-1459.40,1462.51,1472.14,1475.46,1475.34,1486.50,1491.07,1492.87,1502.15,1502.75,
-48.48,52.46,57.47,61.56,66.11,71.82,75.90,80.55,84.72,89.66,
-93.55,100.50,103.71,109.27,111.86,118.09,122.16,127.45,132.59,135.13,
-137.92,145.10,148.43,155.19,158.57,164.66,165.64,172.60,177.06,180.81,
-184.48,189.27,193.67,200.31,203.58,209.74,213.88,219.10,222.07,226.98,
-226.85,235.94,239.95,248.10,252.31,255.41,260.58,264.20,264.92,271.35,
-277.51,280.80,284.39,292.21,296.55,297.36,305.22,305.65,313.34,316.07,
-323.77,328.55,333.06,335.97,338.89,344.29,352.83,356.24,360.09,363.12,
-366.78,373.31,377.57,383.89,388.06,390.58,396.17,402.75,404.87,409.32,
-413.58,418.17,421.91,429.58,431.70,436.87,440.82,447.20,450.52,456.86,
-461.50,464.03,466.75,473.63,479.18,483.54,487.21,493.75,499.28,502.79,
-505.86,511.66,513.48,517.75,525.07,531.16,533.97,538.89,540.38,549.33,
-550.75,553.32,559.33,563.38,569.31,577.67,579.08,583.96,583.89,593.70,
-597.73,602.62,606.39,614.60,614.09,618.83,624.06,630.22,630.50,639.77,
-636.32,643.80,653.26,656.85,659.91,668.22,669.51,674.20,679.71,685.38,
-692.11,692.91,697.86,704.64,710.02,706.60,720.69,724.75,729.23,731.89,
-731.88,737.12,751.39,745.88,753.27,761.71,763.76,771.43,769.90,771.83,
-783.59,782.94,786.27,792.75,796.87,805.18,809.99,817.54,817.83,824.84,
-827.88,832.66,833.10,839.74,845.61,852.43,849.26,855.58,860.18,868.48,
-870.48,878.20,879.51,886.63,892.96,897.72,896.23,904.58,912.63,916.35,
-918.70,923.68,924.40,926.84,932.37,933.49,940.74,950.63,956.24,957.18,
-961.72,966.28,973.69,978.68,976.77,982.12,990.83,998.69,997.40,1010.07,
-1008.80,1011.60,1015.74,1022.93,1023.05,1026.52,1036.82,1041.97,1044.41,1050.35,
-1058.85,1061.67,1062.86,1063.11,1073.68,1081.76,1080.48,1087.66,1094.43,1098.32,
-1096.45,1107.35,1107.84,1113.39,1114.96,1114.78,1128.75,1130.57,1142.38,1135.29,
-1149.89,1150.40,1152.37,1161.85,1161.11,1167.08,1170.28,1177.76,1185.42,1188.80,
-1196.05,1194.96,1198.26,1202.81,1213.05,1213.50,1219.33,1229.43,1229.63,1229.45,
-1232.33,1240.51,1244.70,1254.51,1252.52,1259.36,1266.50,1268.81,1279.44,1283.67,
-1279.88,1288.18,1293.60,1294.29,1305.28,1307.77,1308.79,1313.21,1314.51,1327.97,
-1334.07,1332.62,1333.38,1339.67,1347.41,1353.48,1351.85,1361.97,1368.87,1370.15,
-44.52,48.46,52.70,56.75,61.19,64.36,70.42,72.81,76.41,79.63,
-86.56,89.64,94.33,96.22,102.56,106.41,109.72,115.09,119.69,123.12,
-127.98,131.54,135.28,138.52,142.04,147.18,152.00,157.52,159.73,163.65,
-165.39,172.98,177.56,180.75,184.37,187.29,192.88,197.06,199.40,204.51,
-208.75,213.25,217.33,222.70,227.73,232.34,235.88,239.26,245.49,246.72,
-251.65,254.51,260.75,264.17,266.82,274.15,277.32,280.37,287.40,287.16,
-293.87,297.01,301.12,306.43,309.99,314.39,319.50,323.49,328.17,328.83,
-334.01,341.56,341.19,350.41,349.51,355.24,358.86,364.05,370.34,371.79,
-371.37,380.91,384.16,391.07,392.90,400.99,404.98,403.19,409.76,414.36,
-413.83,421.25,428.05,429.11,436.25,437.45,439.82,445.84,450.90,452.84,
-457.34,463.18,471.09,470.07,475.95,478.72,483.19,491.13,489.55,494.36,
-501.93,499.99,506.49,512.89,514.86,520.12,522.93,526.56,534.81,536.85,
-542.67,546.61,550.23,554.46,559.80,561.75,567.85,571.64,574.36,576.39,
-587.23,587.29,589.65,599.89,592.69,603.47,606.87,612.50,616.48,624.06,
-625.42,632.94,634.41,637.07,641.48,648.77,654.20,652.02,657.61,661.63,
-668.19,673.44,673.32,674.32,685.88,687.37,691.24,694.08,701.56,704.63,
-703.06,712.97,716.78,720.15,726.98,728.69,732.39,734.64,734.95,746.75,
-749.28,754.48,754.31,762.74,769.46,770.98,776.41,777.17,780.70,790.46,
-791.50,799.16,799.67,803.16,808.20,806.97,819.85,822.17,822.01,825.29,
-832.88,838.40,844.09,844.20,849.63,852.75,852.57,855.70,865.37,877.13,
-874.87,877.99,885.08,885.91,892.19,895.58,897.85,904.47,916.21,918.08,
-911.90,917.20,921.63,923.20,929.95,931.17,939.41,947.88,948.27,951.72,
-951.50,956.58,963.19,967.31,975.69,974.11,978.98,984.70,992.70,993.37,
-996.84,1000.54,1007.93,1009.43,1020.01,1016.64,1024.98,1026.39,1028.37,1038.08,
-1037.76,1044.24,1048.61,1053.88,1055.95,1057.81,1068.39,1066.50,1066.15,1079.61,
-1081.56,1079.80,1087.80,1091.93,1095.85,1104.32,1105.47,1114.70,1113.54,1114.73,
-1120.20,1122.63,1134.40,1141.39,1139.92,1146.07,1147.09,1151.08,1158.12,1158.81,
-1163.22,1173.35,1165.72,1175.03,1183.26,1188.82,1187.64,1194.88,1195.30,1197.30,
-1206.47,1212.79,1215.02,1218.98,1219.02,1226.70,1231.32,1236.64,1241.69,1246.63,
-40.77,45.10,47.42,51.71,54.23,57.21,63.62,65.67,69.86,74.23,
-78.95,81.28,84.28,88.30,92.28,96.09,101.20,103.30,106.76,111.93,
-114.05,119.49,122.75,126.18,127.74,136.20,138.45,144.47,147.29,150.15,
-153.62,155.97,158.71,164.90,166.66,171.43,174.31,180.11,182.51,187.64,
-189.85,193.52,198.83,202.53,206.24,209.06,213.37,219.08,218.63,223.11,
-229.62,233.20,236.96,238.29,242.61,244.74,250.31,252.63,259.24,261.58,
-265.60,266.46,273.38,278.68,281.10,284.92,287.06,291.74,298.19,299.09,
-303.58,308.56,311.84,315.35,317.96,322.88,320.78,328.98,335.58,338.82,
-339.45,343.07,350.19,350.61,358.89,360.34,361.80,364.57,369.68,372.82,
-380.83,378.72,383.41,389.85,393.78,393.70,398.99,401.26,408.67,409.30,
-418.42,416.18,425.26,426.73,425.93,432.46,439.99,437.77,442.19,446.61,
-456.07,458.08,460.21,463.69,467.93,475.77,474.84,478.81,481.11,487.16,
-490.55,495.59,496.94,505.22,509.30,510.34,509.99,519.32,524.13,526.31,
-527.25,532.35,535.65,540.00,544.55,542.87,550.04,554.04,556.60,562.42,
-562.96,568.55,575.85,575.61,580.14,588.62,589.27,587.70,596.87,596.68,
-601.55,609.05,609.93,617.40,618.83,623.69,627.77,630.77,631.32,636.66,
-641.32,644.40,650.58,653.43,654.12,658.94,664.13,669.32,671.39,673.82,
-675.83,684.51,684.72,692.77,693.46,695.17,704.75,703.58,709.07,719.05,
-718.10,718.31,719.51,728.66,731.21,734.78,733.20,741.18,744.87,751.02,
-754.17,755.77,756.82,765.27,768.83,774.03,777.04,779.52,786.26,790.56,
-786.15,791.38,799.92,802.06,808.40,809.80,809.55,816.65,817.40,823.90,
-823.64,831.06,834.08,843.90,849.45,851.07,851.32,860.96,857.52,863.59,
-865.34,862.60,877.81,878.20,879.83,888.77,887.95,894.92,896.78,897.90,
-903.74,910.90,908.09,917.00,913.38,924.06,931.85,925.17,935.39,942.69,
-936.14,949.96,949.13,955.02,956.88,959.67,961.36,970.38,967.03,974.75,
-978.58,984.44,983.78,986.50,991.38,994.47,1004.59,1005.00,1013.76,1009.43,
-1014.68,1016.18,1023.02,1026.87,1028.15,1033.77,1035.72,1042.38,1050.70,1048.67,
-1058.68,1055.81,1061.08,1065.25,1064.23,1070.78,1068.33,1082.07,1078.88,1081.52,
-1089.78,1097.67,1105.40,1101.47,1105.74,1104.40,1111.59,1116.13,1117.64,1124.94,
-37.03,39.44,43.60,46.52,48.55,52.60,55.16,60.72,62.22,66.02,
-68.78,71.32,76.52,79.89,83.66,86.42,90.20,93.18,96.96,102.34,
-103.32,106.75,107.98,115.18,114.94,120.96,124.60,125.62,131.87,134.45,
-137.42,141.43,145.18,146.82,151.93,153.88,157.77,160.66,166.35,169.35,
-173.30,175.99,178.35,184.14,185.41,190.04,190.52,193.58,198.30,205.26,
-204.64,206.22,213.12,214.70,219.26,219.83,227.16,228.89,233.11,236.88,
-243.24,244.46,246.31,246.98,255.46,254.07,260.20,261.24,266.79,268.46,
-271.01,272.07,277.36,283.45,288.87,289.61,294.69,300.02,298.20,299.70,
-305.01,308.90,312.51,316.84,320.57,328.85,326.24,332.62,334.38,339.33,
-340.89,342.16,346.76,351.90,358.17,360.21,360.99,359.85,363.48,370.68,
-377.66,377.85,380.42,383.74,390.55,393.69,395.67,394.86,400.97,407.85,
-412.11,416.85,417.07,421.14,423.66,425.42,429.74,435.31,433.64,440.97,
-441.51,444.03,452.24,454.69,455.99,458.02,463.30,466.03,469.31,472.92,
-480.27,480.15,482.11,490.17,486.63,494.88,499.48,499.42,503.54,503.82,
-509.97,509.54,520.79,523.75,522.01,525.96,534.18,529.69,541.05,542.87,
-541.82,549.10,554.41,556.33,557.11,564.00,566.47,568.80,570.53,576.42,
-576.57,583.35,584.61,591.61,589.36,596.57,603.90,600.55,606.66,605.66,
-614.68,619.68,617.07,622.79,628.56,630.42,635.86,633.70,639.93,642.26,
-648.78,652.23,651.65,657.66,660.05,667.82,665.70,669.32,671.59,672.87,
-684.41,683.91,684.66,689.36,693.55,698.19,700.00,702.42,706.17,708.58,
-710.87,716.67,715.11,725.88,723.66,727.30,728.03,739.12,736.18,740.70,
-749.56,754.62,751.06,759.98,764.93,768.37,765.37,773.87,779.01,777.43,
-782.61,779.00,787.61,790.17,793.54,799.33,799.80,805.82,809.42,805.64,
-822.11,823.93,821.38,825.10,824.02,829.49,839.15,842.60,842.31,852.12,
-854.67,857.10,850.79,858.76,864.42,864.23,869.67,876.50,875.88,878.24,
-884.37,886.52,887.25,893.53,899.34,903.75,905.79,910.83,917.03,906.41,
-917.45,916.01,917.49,924.18,938.94,933.74,938.50,943.31,949.47,947.95,
-947.04,958.63,957.11,963.33,966.26,971.49,975.61,974.14,975.36,981.62,
-980.76,992.43,994.78,999.89,991.91,998.14,1001.37,1009.43,1015.13,1014.81,
-32.63,35.01,38.52,41.45,43.30,47.66,50.35,55.39,56.44,58.34,
-62.70,65.42,69.08,71.95,76.10,77.80,79.78,84.86,87.88,88.69,
-94.27,96.43,101.17,103.31,105.78,108.54,111.65,114.65,118.86,120.80,
-125.89,127.90,127.86,132.34,137.63,140.41,144.58,143.74,148.12,150.02,
-152.44,158.15,161.31,162.41,167.86,170.50,172.75,174.32,178.70,184.79,
-188.07,187.38,192.31,193.72,198.59,200.94,206.05,208.83,211.14,210.40,
-216.10,218.97,221.35,227.26,226.22,229.98,234.75,235.87,237.10,244.36,
-247.85,249.27,248.99,255.18,255.45,262.04,265.97,270.44,268.90,273.40,
-274.65,281.76,283.88,285.61,287.39,291.14,297.22,297.05,297.54,300.73,
-303.79,309.02,312.72,317.27,321.12,317.86,328.05,329.24,335.18,339.24,
-335.89,339.39,343.66,347.73,347.85,355.95,352.86,361.42,360.45,366.11,
-369.91,372.36,376.14,374.80,385.20,382.82,386.38,386.06,390.58,394.62,
-397.66,402.08,403.25,405.09,409.49,412.80,414.92,420.29,420.56,426.48,
-428.23,428.99,435.08,439.68,437.75,443.65,445.51,447.87,453.83,456.19,
-463.44,460.11,462.85,470.59,473.45,472.39,482.50,482.34,488.57,488.81,
-491.52,489.58,495.45,497.57,500.05,509.81,503.73,514.76,515.40,518.04,
-519.69,519.43,529.56,532.88,534.35,537.68,540.84,547.27,544.30,549.69,
-550.10,552.03,558.06,560.79,564.60,568.26,567.81,570.32,576.48,574.52,
-582.94,584.57,587.73,586.76,594.20,600.23,598.52,604.36,606.35,609.28,
-613.18,625.27,618.04,620.77,628.01,626.69,636.98,634.66,638.53,641.00,
-640.77,640.14,653.81,657.82,654.05,658.14,654.81,660.20,668.96,670.74,
-669.64,670.56,684.77,681.90,687.07,686.39,691.86,696.55,692.12,699.19,
-700.99,711.04,709.32,712.84,707.08,715.87,721.76,723.82,729.20,731.04,
-736.69,740.52,741.26,743.86,747.58,752.50,751.33,753.69,760.11,761.71,
-758.13,766.81,766.74,776.49,776.56,776.61,779.18,784.50,789.70,789.75,
-795.86,802.68,801.50,801.24,810.87,804.85,807.90,823.27,814.38,820.32,
-825.94,825.75,832.30,843.38,838.04,841.11,845.87,844.26,846.72,853.39,
-858.00,856.90,859.60,864.75,864.83,872.94,872.62,882.14,879.70,889.09,
-884.56,885.71,886.05,895.61,903.26,912.28,904.88,908.81,909.16,918.73,
-29.72,32.17,34.69,38.24,40.51,43.28,44.35,49.66,49.96,54.48,
-56.27,59.75,62.24,63.99,66.87,69.16,72.62,76.06,78.64,80.58,
-81.81,86.33,92.24,92.25,94.60,97.06,99.27,103.96,108.76,108.58,
-109.72,113.61,115.43,117.91,123.53,124.43,127.00,132.38,132.70,135.54,
-138.58,143.08,144.73,149.66,151.69,155.18,155.05,159.63,160.53,163.10,
-166.00,167.50,173.32,176.27,176.40,181.13,182.94,182.22,189.54,189.52,
-194.67,194.68,198.87,202.93,202.52,210.75,212.53,213.74,218.62,216.08,
-219.65,225.59,229.52,228.21,233.78,236.79,233.67,240.07,245.43,244.99,
-247.68,252.82,251.19,257.18,258.91,262.79,263.99,266.93,266.02,271.05,
-274.51,280.79,280.91,285.15,284.39,288.92,293.25,297.73,298.94,300.88,
-304.07,303.41,307.53,313.46,312.72,315.54,320.47,322.90,327.25,329.13,
-330.02,334.69,335.43,337.61,338.38,348.63,350.27,354.83,352.19,356.58,
-356.41,360.04,365.20,368.44,370.18,371.78,373.15,379.52,380.76,377.20,
-386.18,391.75,394.05,396.08,401.76,399.10,400.69,405.76,410.26,411.99,
-415.50,418.57,417.38,419.07,427.45,428.75,434.17,433.26,433.41,441.58,
-439.96,441.06,445.87,451.99,452.69,451.46,454.78,461.56,459.21,464.58,
-469.61,465.96,472.01,471.94,477.72,477.83,485.26,486.64,492.08,493.11,
-495.35,499.07,501.48,500.76,506.75,506.65,517.70,512.69,516.83,525.59,
-519.40,526.64,529.50,529.15,533.76,539.30,538.53,551.78,543.71,546.63,
-555.39,555.51,554.65,559.57,562.71,563.97,568.41,573.10,573.91,571.36,
-580.44,579.20,582.12,590.19,586.70,589.89,596.75,593.90,598.42,599.19,
-604.98,602.28,615.47,608.37,618.78,619.42,619.49,618.90,623.70,633.31,
-634.12,640.09,636.55,638.98,646.14,648.01,643.35,649.40,658.00,659.08,
-660.18,658.25,660.69,663.40,673.66,678.53,678.51,679.90,684.29,686.91,
-691.07,681.78,695.45,700.64,701.81,701.21,702.27,708.25,710.19,714.29,
-713.06,718.36,716.49,722.21,734.18,731.34,732.51,728.43,738.07,740.11,
-740.81,745.52,745.03,750.15,752.90,757.42,758.26,760.74,769.38,773.19,
-767.26,771.34,781.63,770.17,778.26,790.92,789.27,789.12,792.45,795.38,
-799.39,802.67,800.01,805.49,810.58,806.84,816.14,816.53,818.50,822.84,
-27.41,27.25,31.35,34.17,34.28,37.91,40.38,42.25,46.63,47.07,
-51.43,52.70,55.97,58.02,59.33,62.41,65.73,67.38,70.93,72.73,
-76.36,76.77,79.11,82.36,85.94,87.45,89.32,92.16,94.44,97.91,
-98.04,101.75,104.34,109.04,111.98,112.77,112.94,116.66,118.42,122.89,
-124.78,126.65,129.63,131.79,131.66,135.95,139.81,143.66,141.56,148.86,
-148.48,152.83,155.60,155.93,158.43,160.16,163.99,166.49,168.91,172.51,
-174.45,178.08,178.86,180.37,183.37,184.28,189.29,190.24,192.07,198.67,
-199.51,200.72,200.78,204.42,210.19,212.22,215.17,217.57,217.63,221.27,
-227.87,223.22,227.75,228.05,235.43,235.86,236.69,242.64,243.76,241.95,
-248.35,250.47,251.37,256.09,260.95,254.99,262.05,266.34,268.71,274.23,
-270.27,276.14,275.64,279.41,284.14,286.66,282.79,292.83,292.67,293.79,
-298.82,301.01,303.83,302.63,303.89,307.50,309.24,316.07,314.27,321.01,
-325.43,322.59,328.08,329.64,328.02,336.94,338.91,336.12,342.47,338.52,
-345.99,346.05,349.60,349.30,353.90,354.41,359.66,357.76,357.94,370.03,
-371.35,373.56,377.45,380.33,381.64,380.04,387.08,389.94,387.72,393.18,
-394.76,397.11,397.40,405.68,406.65,411.44,411.25,409.95,418.20,419.93,
-417.46,424.15,428.28,418.42,424.04,429.58,438.06,432.44,443.94,443.04,
-443.18,449.46,448.52,453.29,454.43,460.06,460.94,463.99,460.71,467.00,
-469.62,470.13,475.03,480.03,479.97,479.96,484.24,486.57,493.92,489.92,
-492.65,497.05,499.99,500.84,504.33,501.06,501.51,508.31,507.21,515.14,
-511.69,521.84,521.98,525.84,522.53,529.38,536.64,537.61,539.69,543.44,
-543.61,543.55,546.32,553.27,553.59,558.00,558.15,559.92,563.69,565.76,
-562.66,568.56,574.07,582.27,581.01,583.01,583.20,582.89,582.08,592.94,
-592.50,592.51,600.33,600.64,599.03,610.49,612.56,609.57,612.75,612.36,
-623.14,613.72,622.17,619.53,623.74,626.60,635.61,634.99,636.52,640.71,
-639.22,645.38,643.84,648.67,651.58,655.88,653.39,656.34,661.75,663.07,
-669.80,668.03,673.38,668.40,677.20,680.03,685.50,684.66,683.12,690.89,
-690.38,692.70,700.84,702.25,699.61,702.82,706.10,704.64,711.92,708.71,
-717.00,724.38,721.69,722.39,723.58,724.81,721.75,723.39,739.92,743.24,
-23.05,26.54,27.36,31.28,33.21,33.83,35.92,39.18,41.33,43.98,
-46.98,46.26,49.73,53.25,53.42,56.20,58.42,60.53,62.68,65.67,
-68.98,69.42,73.50,74.85,75.94,78.56,80.58,81.16,87.32,85.72,
-88.51,89.18,94.14,94.02,100.90,101.12,103.38,103.37,106.38,108.49,
-112.65,110.34,115.61,116.51,118.07,121.44,124.25,127.39,129.73,130.83,
-134.01,137.47,137.61,140.21,142.84,146.92,147.06,147.63,150.79,154.94,
-157.10,156.55,159.22,161.22,167.72,165.23,172.46,167.35,173.56,174.15,
-178.10,178.26,182.82,189.23,191.06,188.41,190.29,194.25,192.42,200.28,
-203.40,204.08,205.78,205.49,211.94,213.72,214.15,216.32,218.68,223.33,
-221.34,223.02,224.51,224.76,229.87,236.26,234.84,234.91,237.33,236.44,
-244.07,243.02,248.76,251.82,252.36,254.68,256.48,259.11,258.12,264.73,
-265.49,266.07,270.29,271.30,276.00,279.01,284.85,283.09,278.90,285.96,
-286.17,291.35,291.52,298.20,295.81,301.69,300.31,302.09,306.61,303.38,
-309.46,313.28,315.69,312.45,314.04,324.01,323.71,327.33,329.36,329.40,
-331.61,333.79,339.45,341.10,338.21,342.92,341.84,347.45,350.10,353.64,
-349.48,356.81,356.40,356.93,360.58,362.09,368.58,371.41,367.55,375.76,
-374.63,374.66,382.04,382.82,388.33,386.45,390.00,396.61,394.60,393.56,
-404.45,398.23,403.25,405.56,404.25,405.78,411.51,413.48,416.96,422.49,
-420.96,418.19,418.97,426.10,427.45,433.11,434.72,438.13,435.73,441.25,
-441.33,443.02,443.10,445.54,447.91,452.93,458.96,462.20,457.86,461.26,
-462.98,466.09,466.50,466.78,478.22,472.32,473.87,480.30,485.77,484.45,
-484.39,486.44,491.50,499.87,493.83,499.04,498.18,500.66,504.37,504.24,
-510.44,510.75,509.17,513.07,517.79,517.80,527.29,521.84,528.17,529.90,
-534.16,533.63,532.76,534.22,540.06,536.53,545.06,545.03,545.19,552.74,
-555.25,552.28,556.93,560.66,553.68,559.32,571.43,569.67,576.79,577.82,
-571.73,573.65,582.27,584.01,578.69,586.00,582.82,591.35,596.66,595.34,
-593.65,595.57,606.00,605.25,601.14,601.56,612.41,605.48,610.76,617.19,
-617.67,619.27,624.56,620.39,629.63,636.90,631.21,633.62,637.08,636.70,
-648.38,647.41,647.33,646.98,656.75,655.43,655.95,649.54,662.57,656.04,
-21.51,21.69,23.67,27.67,28.48,30.25,32.97,33.97,35.41,38.87,
-41.50,42.81,44.02,45.85,47.22,51.06,51.94,54.09,56.61,57.14,
-61.20,63.22,63.92,66.97,66.64,69.42,71.14,75.10,75.33,76.22,
-79.77,81.48,81.79,86.39,88.22,91.57,93.06,94.27,95.26,96.78,
-97.39,102.87,103.60,106.57,108.19,113.25,110.05,115.96,118.71,116.96,
-118.85,122.38,123.42,124.12,128.93,127.49,132.45,132.67,134.11,136.64,
-138.98,138.03,142.06,144.47,147.30,149.32,151.30,150.80,156.66,158.13,
-156.47,157.73,165.65,165.78,166.79,170.45,170.06,173.20,172.76,176.29,
-176.71,182.57,184.24,185.75,186.61,187.61,190.94,197.02,191.52,196.22,
-197.20,199.59,202.03,205.87,207.75,207.30,209.63,214.04,214.72,214.31,
-219.43,223.82,219.92,222.95,227.01,228.93,228.58,236.20,234.54,239.97,
-239.26,239.48,244.71,247.73,242.92,247.83,249.32,252.69,253.56,256.41,
-258.15,260.66,261.90,267.29,268.74,264.53,271.09,274.80,275.31,277.63,
-278.21,277.56,283.20,286.56,287.10,284.58,293.83,290.59,290.13,293.62,
-299.53,297.62,298.48,301.79,305.67,311.37,305.96,310.38,314.62,309.52,
-320.20,319.97,322.12,324.57,322.88,328.31,331.39,332.48,333.01,334.30,
-337.31,337.67,342.64,344.09,345.20,345.63,344.37,351.95,352.96,356.19,
-352.95,361.67,358.81,361.51,364.82,364.58,370.38,370.29,368.48,375.61,
-376.31,376.10,374.45,380.02,382.88,381.34,390.33,391.80,393.22,389.61,
-399.76,396.00,402.38,400.72,404.03,407.49,404.24,411.57,411.21,412.05,
-411.91,413.68,415.50,423.36,416.97,427.92,429.68,428.38,428.52,430.00,
-434.89,436.85,440.52,436.63,440.51,448.08,442.09,453.41,451.23,451.60,
-455.40,451.80,452.65,461.27,462.36,465.48,468.01,467.94,475.98,474.88,
-475.46,474.69,475.73,480.71,485.55,482.12,488.86,491.75,489.30,494.68,
-490.93,495.79,498.56,501.26,503.57,500.05,508.34,509.52,506.40,511.72,
-514.67,516.34,521.68,519.50,520.94,526.17,532.04,524.01,535.21,537.40,
-530.18,535.08,535.29,539.10,546.94,545.88,542.38,547.29,551.32,552.75,
-550.37,556.72,558.86,556.00,560.28,561.99,564.70,565.20,570.24,569.02,
-570.91,573.03,576.53,579.21,583.71,579.57,589.11,582.74,582.67,592.25,
-18.67,20.05,21.14,24.18,26.25,27.12,30.01,32.08,33.61,34.33,
-36.13,39.84,39.70,40.08,43.49,45.64,46.84,49.14,50.02,53.59,
-52.41,54.61,58.04,60.32,61.82,63.89,65.53,62.85,66.10,68.79,
-69.33,74.18,75.04,76.97,77.96,80.27,82.16,85.20,86.72,86.99,
-87.41,91.99,90.74,96.69,94.11,97.76,99.70,103.93,102.78,105.54,
-106.78,105.20,107.55,111.67,110.19,114.84,113.11,120.02,118.98,120.92,
-127.02,128.75,127.99,129.62,132.45,133.93,132.32,134.76,138.17,144.08,
-141.74,143.52,147.32,144.47,152.45,152.16,151.36,155.00,155.88,157.87,
-157.67,161.54,165.11,165.73,170.98,170.96,173.04,170.59,172.57,175.46,
-178.25,177.98,181.31,181.54,188.16,188.46,189.58,188.96,191.13,195.30,
-198.83,194.36,197.78,200.63,201.46,208.20,204.20,207.27,206.98,211.04,
-213.40,209.83,217.80,216.30,222.93,221.51,221.02,224.95,224.77,227.12,
-225.51,228.36,233.11,237.09,236.58,238.27,240.04,243.50,244.12,249.94,
-244.07,249.51,254.65,252.54,253.95,257.67,257.93,258.26,261.37,261.72,
-264.40,264.22,266.39,271.92,272.61,280.50,275.71,277.06,282.56,278.42,
-278.51,281.85,288.21,289.20,289.43,290.85,291.47,295.43,298.05,295.94,
-298.56,297.70,303.80,309.11,310.90,306.53,309.95,312.56,313.78,315.03,
-320.68,316.74,319.60,324.16,324.53,327.52,329.60,330.11,329.42,332.38,
-333.26,338.43,335.47,344.08,337.40,341.29,348.86,347.04,353.14,345.19,
-354.67,359.55,355.56,360.65,360.21,364.56,357.86,366.08,370.34,369.07,
-373.20,367.38,371.24,373.61,376.40,381.03,378.05,386.09,382.98,390.31,
-386.32,393.92,391.27,393.25,392.79,398.07,399.00,400.78,400.00,401.09,
-404.40,409.63,412.34,414.10,417.03,408.40,417.99,422.04,418.60,420.39,
-427.18,422.42,428.47,430.47,432.20,432.52,434.31,431.27,436.64,441.70,
-434.58,443.44,440.93,452.52,448.36,447.74,455.61,457.38,452.50,455.59,
-452.14,458.27,463.50,467.85,466.01,471.69,469.67,468.38,472.85,474.16,
-475.68,480.44,477.45,480.08,480.95,483.54,487.83,493.88,493.30,496.37,
-491.62,496.28,492.75,492.18,500.54,500.58,501.53,504.42,511.83,511.14,
-513.21,514.03,511.69,510.55,517.70,517.14,520.31,522.26,529.49,524.79,
-16.82,19.22,19.37,21.20,21.90,24.31,25.88,26.41,29.44,29.71,
-31.48,34.83,35.22,35.93,38.44,39.69,42.09,45.03,45.46,46.90,
-46.44,47.81,49.70,53.12,55.16,55.41,59.49,58.04,60.52,60.51,
-64.71,66.82,67.87,68.97,70.72,71.03,72.08,73.56,76.69,79.24,
-80.64,82.46,83.31,84.41,86.25,85.65,88.61,90.72,92.83,91.83,
-94.19,96.49,99.15,100.15,104.27,102.41,100.18,104.86,110.70,108.17,
-110.07,112.75,118.36,115.38,117.05,118.42,118.90,121.34,122.40,124.76,
-126.82,128.61,129.79,130.09,133.45,134.09,132.55,135.56,141.14,142.14,
-141.83,140.37,146.07,148.47,146.86,149.18,150.93,150.32,155.55,156.36,
-159.21,158.54,161.13,159.54,163.29,163.24,168.73,165.72,167.93,170.13,
-172.81,171.13,179.20,175.24,180.14,180.14,187.27,187.15,188.40,189.62,
-190.88,192.87,194.99,195.76,194.65,199.66,201.67,199.65,201.65,203.05,
-204.28,203.19,207.45,209.34,209.78,210.30,212.53,216.06,215.75,220.45,
-222.63,225.41,223.17,223.34,231.16,227.77,229.49,237.15,231.56,235.91,
-233.75,238.34,241.96,239.04,241.67,240.77,244.46,245.52,247.38,250.87,
-247.65,257.55,251.48,252.14,261.60,263.03,259.85,264.50,266.74,269.76,
-270.42,267.29,273.24,276.76,274.43,272.78,277.66,275.94,285.34,279.98,
-282.08,280.95,288.54,292.12,289.58,293.51,293.24,297.84,298.32,294.14,
-301.50,304.62,301.56,297.17,311.65,308.17,308.89,306.77,313.25,315.36,
-313.12,315.43,321.43,320.85,321.99,323.78,323.44,330.04,325.29,324.64,
-328.89,333.33,336.58,341.26,340.23,335.21,339.15,347.06,339.76,345.73,
-348.32,351.25,350.42,355.78,349.87,354.44,351.15,355.97,360.42,359.82,
-363.06,358.34,362.89,367.06,368.95,372.62,376.49,371.24,377.18,378.29,
-372.90,383.74,382.45,382.65,386.86,382.15,388.29,385.69,391.50,395.22,
-396.22,389.28,399.07,394.63,395.02,403.61,411.43,407.23,404.10,406.14,
-406.53,413.73,417.12,412.03,410.79,414.43,415.45,424.07,423.33,421.05,
-424.76,431.98,432.32,430.64,426.09,435.69,428.61,434.56,436.80,439.82,
-443.98,446.31,445.17,445.43,444.69,451.90,455.04,455.68,448.40,456.61,
-458.51,461.58,456.26,461.46,457.00,463.55,463.24,463.63,471.04,465.79,
-14.33,16.90,17.40,19.49,21.66,20.80,23.66,23.84,26.10,27.91,
-29.29,31.19,30.96,32.63,34.12,34.82,38.24,38.75,39.05,42.30,
-42.59,43.89,45.78,46.80,45.75,48.90,51.21,52.76,53.51,54.29,
-55.55,58.70,60.43,63.05,59.51,63.98,63.92,66.72,66.05,69.61,
-71.67,71.24,75.79,75.33,75.72,78.14,78.92,78.89,81.12,83.47,
-86.28,85.75,89.50,90.14,89.76,90.76,93.72,94.29,96.86,95.76,
-100.00,98.53,101.25,102.01,106.16,105.63,106.81,106.26,111.88,110.77,
-110.87,112.89,115.11,117.13,119.79,119.65,117.81,124.53,124.56,125.54,
-125.55,128.56,127.26,132.10,134.16,132.94,136.78,137.19,133.78,139.26,
-142.14,139.60,142.62,144.47,146.97,149.54,146.83,148.40,151.38,153.22,
-156.51,155.90,155.16,159.70,156.63,159.80,163.66,166.13,167.04,169.85,
-166.10,170.36,176.87,171.80,175.54,176.05,172.35,179.06,179.93,179.28,
-186.77,182.36,186.48,186.90,191.18,189.96,195.58,188.97,191.42,194.61,
-194.28,196.51,195.11,203.83,200.12,202.49,205.62,207.17,207.84,206.90,
-211.81,210.72,213.47,216.96,213.55,219.31,219.32,221.01,218.31,224.46,
-226.72,227.00,227.69,229.19,226.55,231.50,231.39,228.84,233.74,230.61,
-241.37,237.81,244.41,242.28,240.99,243.92,247.17,248.78,250.08,254.22,
-252.80,257.94,261.29,255.65,260.10,258.25,260.47,259.15,264.37,262.45,
-266.26,266.80,271.61,268.56,271.27,272.66,274.65,276.36,279.59,278.94,
-275.17,284.68,287.25,283.73,284.03,287.11,289.39,292.53,294.34,290.18,
-292.11,296.87,293.05,300.32,302.34,298.31,303.17,304.56,304.74,304.32,
-307.54,308.17,310.91,308.73,312.06,312.66,321.21,319.76,318.22,320.37,
-317.08,324.38,325.17,327.71,328.00,330.67,334.05,333.39,330.85,332.04,
-339.51,334.35,342.46,343.99,340.95,343.95,345.86,345.02,345.34,346.79,
-352.31,349.93,350.00,354.29,353.88,360.18,359.24,363.62,364.79,359.39,
-368.69,365.41,364.18,358.94,370.46,374.40,368.67,374.44,371.84,378.90,
-380.49,383.50,382.03,381.32,378.72,385.69,387.79,390.24,391.12,386.70,
-393.43,392.43,394.20,393.69,401.05,392.70,403.57,404.91,405.42,409.92,
-400.43,406.68,410.54,415.67,413.35,413.35,412.95,415.21,412.44,423.57,
-13.09,14.34,16.05,17.25,18.93,20.11,19.08,20.75,22.94,24.27,
-24.65,26.58,28.56,30.35,32.30,32.70,33.11,33.21,34.43,37.55,
-37.70,39.69,42.17,42.12,41.49,45.25,46.06,47.48,48.47,48.71,
-51.73,53.59,50.12,54.82,55.40,58.56,58.37,59.86,59.96,62.48,
-61.65,64.10,65.29,66.52,69.04,69.74,69.69,71.80,74.45,71.72,
-72.35,77.54,75.74,77.54,80.56,80.47,83.14,84.30,86.94,87.47,
-85.54,89.38,90.77,90.91,92.13,92.82,95.77,96.33,97.62,100.66,
-100.56,100.92,103.58,105.88,103.67,106.60,109.48,109.39,110.45,112.09,
-112.86,115.38,113.88,114.90,116.06,121.06,118.96,124.68,121.91,126.73,
-125.99,125.11,127.54,127.61,130.84,129.45,129.92,131.68,135.58,132.72,
-139.12,140.79,140.09,142.81,141.31,144.04,147.64,145.12,145.20,144.55,
-150.78,152.93,153.54,153.18,152.88,155.46,154.39,155.14,161.63,162.86,
-163.65,165.37,165.61,165.42,170.71,165.58,169.40,171.57,169.15,175.33,
-174.55,175.81,176.24,182.59,184.90,182.76,183.55,183.61,185.00,185.41,
-185.38,187.87,189.47,187.60,192.79,195.14,193.10,199.55,196.40,196.44,
-198.08,200.57,202.29,203.76,200.66,204.07,207.90,211.29,210.19,210.61,
-213.07,212.00,216.65,213.57,220.30,216.25,220.35,224.58,224.33,224.33,
-226.66,229.28,224.17,227.77,228.92,229.49,233.63,230.58,235.12,235.15,
-235.70,239.02,236.41,237.05,246.31,242.51,244.14,248.60,244.30,250.38,
-244.44,250.19,249.19,253.92,251.85,253.91,256.54,257.72,262.83,262.42,
-260.00,263.99,263.75,263.92,265.42,267.36,269.14,268.43,274.40,276.98,
-271.01,276.59,278.07,277.30,282.02,280.19,284.13,281.67,284.84,283.61,
-289.36,285.82,286.56,292.73,291.48,291.73,287.48,295.24,298.15,303.31,
-300.09,300.78,305.75,300.65,304.72,303.44,303.18,313.87,308.17,310.33,
-313.39,313.75,313.18,321.78,316.44,323.23,321.25,316.20,322.60,323.16,
-318.39,328.89,325.61,331.61,331.21,330.23,332.51,333.70,330.38,339.94,
-331.06,334.27,340.89,337.67,344.84,341.97,342.95,347.85,345.64,346.76,
-349.32,351.06,350.98,355.62,360.02,349.06,355.03,353.06,357.20,358.99,
-359.97,366.70,365.31,365.18,369.14,371.24,368.32,362.76,372.97,371.58,
-63.36,68.91,75.70,81.08,87.13,93.45,96.61,103.74,110.85,115.83,
-122.78,126.88,134.91,140.23,146.47,151.24,158.64,163.73,169.79,174.81,
-180.37,187.26,191.60,198.60,205.28,211.17,217.61,221.93,228.74,236.09,
-240.71,247.68,252.94,257.62,264.90,269.46,276.10,280.55,285.12,293.24,
-301.72,306.52,311.51,315.84,321.08,329.31,335.77,342.32,347.22,353.32,
-357.28,365.31,370.78,377.45,382.04,388.87,393.32,401.60,406.74,412.25,
-417.41,422.12,428.52,437.59,440.89,445.56,451.40,458.79,466.40,471.51,
-475.77,481.63,489.12,493.03,501.86,505.57,513.11,519.63,524.09,530.45,
-538.39,540.08,548.98,553.81,557.41,565.26,571.06,574.20,582.43,590.18,
-591.91,601.58,606.87,615.79,620.84,625.41,627.42,637.39,643.52,650.45,
-651.58,660.24,668.56,674.29,677.10,684.51,690.98,696.00,705.01,708.58,
-711.51,719.76,726.05,729.87,739.01,746.54,749.08,755.22,761.15,768.97,
-773.36,778.20,786.10,788.28,796.25,802.16,805.44,812.60,818.31,826.88,
-834.11,838.02,843.26,846.89,852.41,862.83,867.21,872.45,881.94,883.93,
-888.52,897.84,903.18,912.09,914.35,918.72,927.95,930.75,934.74,942.77,
-950.89,957.78,963.73,967.67,975.68,981.22,986.39,995.39,1000.83,1002.11,
-1008.32,1019.35,1020.52,1029.34,1033.96,1038.72,1047.11,1050.55,1056.59,1061.24,
-1066.43,1075.68,1081.30,1084.61,1093.77,1104.01,1100.73,1107.82,1115.57,1119.58,
-1125.26,1130.19,1134.28,1145.76,1150.58,1154.88,1160.22,1173.69,1175.16,1183.14,
-1190.66,1193.81,1200.64,1202.31,1209.04,1218.40,1218.48,1227.42,1230.20,1235.20,
-1242.20,1251.41,1259.07,1263.58,1273.83,1272.78,1279.27,1287.53,1291.37,1293.63,
-1305.55,1309.17,1316.93,1327.80,1327.95,1328.35,1342.69,1347.35,1346.78,1355.69,
-1358.95,1372.14,1380.41,1379.60,1389.73,1392.46,1401.07,1405.38,1410.22,1417.79,
-1425.12,1427.98,1432.71,1440.30,1448.23,1451.93,1460.59,1462.88,1471.25,1473.33,
-1483.77,1490.31,1491.87,1499.37,1511.60,1510.74,1517.38,1522.06,1532.93,1538.93,
-1538.73,1548.38,1551.99,1558.94,1572.71,1570.32,1579.60,1581.91,1588.71,1598.55,
-1596.98,1605.32,1614.88,1615.10,1629.21,1631.59,1640.79,1641.49,1647.74,1656.79,
-1662.80,1667.04,1671.05,1678.42,1687.12,1688.41,1688.82,1701.80,1705.35,1713.28,
-1717.03,1722.64,1726.53,1737.79,1738.76,1748.87,1759.17,1756.98,1764.33,1774.03,
-58.09,63.86,69.85,75.56,79.28,85.14,89.30,96.44,102.19,107.39,
-112.45,118.42,123.88,129.59,133.49,138.53,146.20,150.32,155.50,160.80,
-167.82,173.74,178.80,183.99,191.04,194.51,199.22,205.06,210.55,218.00,
-222.31,226.06,232.51,237.23,243.33,248.64,254.09,259.11,266.06,270.50,
-274.05,281.38,287.24,293.76,297.54,303.07,310.24,313.45,318.87,325.98,
-332.08,335.62,343.54,345.91,351.82,356.41,359.71,368.69,372.88,381.05,
-386.18,391.25,398.58,402.06,404.95,409.88,418.99,425.59,429.00,435.38,
-439.19,443.64,450.38,456.91,462.55,466.40,469.77,477.02,484.28,489.62,
-492.12,501.27,505.14,510.69,515.23,521.58,527.58,532.57,536.40,545.59,
-547.74,553.25,560.33,565.18,571.25,574.70,580.89,590.02,593.80,598.20,
-604.17,608.89,613.78,619.21,624.00,627.67,636.26,638.26,647.65,652.20,
-657.50,661.44,667.73,669.62,679.58,684.91,692.73,697.69,703.77,704.41,
-711.87,716.78,726.41,729.35,738.70,742.59,747.93,750.10,757.33,761.68,
-765.21,772.72,778.61,782.27,787.80,793.99,801.18,806.33,809.42,814.32,
-821.70,827.43,832.42,839.70,845.51,850.32,856.31,860.51,866.88,867.28,
-875.00,882.20,887.67,888.67,899.87,902.75,908.13,915.87,915.65,926.16,
-934.39,933.45,940.07,946.22,950.47,955.96,965.07,972.42,974.94,979.80,
-987.22,990.67,998.10,1000.25,1006.90,1014.00,1016.78,1025.40,1029.83,1034.83,
-1039.47,1042.50,1050.48,1055.76,1061.22,1065.66,1071.08,1077.37,1084.87,1087.58,
-1096.07,1098.63,1106.28,1106.77,1116.98,1120.30,1125.88,1130.27,1137.99,1145.11,
-1146.87,1153.50,1159.11,1162.64,1172.60,1178.31,1181.65,1188.12,1192.15,1196.77,
-1205.77,1204.58,1218.30,1221.78,1225.55,1231.03,1236.81,1239.33,1250.55,1248.17,
-1255.52,1266.66,1264.26,1269.90,1281.83,1286.14,1287.09,1296.98,1300.19,1311.36,
-1312.92,1318.89,1324.21,1324.66,1334.99,1332.06,1348.18,1347.56,1352.31,1358.75,
-1365.42,1375.03,1377.97,1385.04,1387.29,1392.21,1401.23,1407.33,1413.37,1420.38,
-1424.01,1425.59,1433.27,1436.76,1444.17,1451.72,1451.43,1464.99,1466.05,1471.86,
-1479.35,1480.36,1490.68,1492.84,1500.77,1502.78,1509.15,1514.56,1520.24,1524.68,
-1527.90,1533.97,1535.68,1544.58,1551.11,1557.68,1561.45,1566.07,1570.79,1577.92,
-1589.84,1595.18,1594.53,1597.86,1612.20,1609.45,1621.12,1621.37,1633.57,1634.97,
-55.82,59.30,63.25,69.32,74.32,79.30,82.98,88.51,95.02,98.35,
-103.52,106.89,113.89,116.97,122.79,127.75,131.87,137.76,142.67,148.24,
-153.75,157.57,165.15,167.56,174.03,177.50,182.70,188.59,194.10,199.17,
-202.95,210.88,214.21,217.82,223.93,227.42,234.83,240.96,244.23,249.65,
-253.44,258.27,266.11,268.34,272.39,280.21,286.97,289.42,294.91,294.90,
-305.22,307.39,313.44,317.52,325.81,329.04,335.19,342.61,343.62,350.70,
-352.97,359.06,361.41,369.67,375.99,379.34,382.03,388.43,393.81,398.77,
-403.73,409.77,414.58,418.33,424.39,428.91,434.94,439.41,445.99,446.46,
-454.37,461.36,464.54,470.96,471.64,476.79,486.69,490.13,495.16,496.33,
-505.95,510.82,515.33,521.46,526.68,529.59,532.92,538.80,545.38,550.28,
-552.84,559.13,562.70,569.93,573.38,579.40,582.11,586.01,596.30,600.18,
-606.48,609.45,608.08,621.55,626.77,633.06,631.54,644.83,646.74,651.34,
-655.92,662.67,662.32,672.99,678.32,681.21,686.24,691.10,692.88,700.79,
-704.80,713.97,718.30,722.76,724.59,729.13,734.67,738.67,746.78,746.51,
-756.07,760.47,764.53,769.53,776.90,781.44,786.70,788.65,794.57,802.93,
-810.26,814.35,812.91,820.44,822.79,830.82,838.53,837.52,843.07,847.08,
-857.76,855.94,864.10,872.43,879.56,876.82,879.19,892.29,899.10,897.50,
-904.27,907.20,913.89,921.48,925.30,926.08,938.39,937.11,947.72,945.91,
-953.92,962.08,961.94,970.78,973.46,979.53,983.84,992.24,992.70,1005.92,
-1008.32,1015.27,1012.01,1022.48,1027.42,1033.98,1036.68,1039.18,1041.08,1047.88,
-1054.28,1061.68,1060.58,1073.02,1072.82,1079.52,1085.23,1092.16,1096.48,1100.73,
-1106.04,1109.14,1114.34,1128.34,1126.15,1129.22,1137.35,1139.22,1141.87,1152.48,
-1155.02,1159.27,1164.58,1173.49,1172.99,1183.78,1186.66,1192.41,1198.90,1203.53,
-1201.57,1211.43,1218.97,1223.93,1222.85,1230.25,1236.57,1239.65,1244.79,1258.33,
-1258.80,1259.09,1264.02,1268.83,1276.52,1284.79,1283.56,1291.37,1298.23,1303.06,
-1302.71,1310.40,1312.99,1321.01,1329.04,1332.38,1336.62,1345.13,1349.37,1349.40,
-1358.92,1362.28,1368.35,1373.78,1379.32,1383.48,1383.64,1389.33,1400.41,1399.12,
-1409.96,1417.14,1414.47,1424.88,1426.15,1433.84,1434.85,1441.58,1449.49,1451.69,
-1460.49,1462.04,1466.40,1471.43,1484.26,1477.92,1487.96,1485.52,1491.90,1502.39,
-49.81,53.73,58.69,62.79,67.85,70.86,78.78,80.96,86.21,89.37,
-94.35,100.12,103.29,109.64,113.29,116.99,123.16,127.28,132.41,137.44,
-141.60,148.35,151.08,155.41,160.41,167.33,168.16,172.53,178.77,180.78,
-185.23,190.30,196.13,198.71,204.09,210.63,214.07,217.46,222.15,227.09,
-232.01,237.44,241.96,247.73,249.92,254.58,260.49,264.99,269.38,275.10,
-280.20,281.88,289.30,293.06,297.22,301.35,305.69,311.60,315.49,320.56,
-324.51,332.31,334.92,337.58,344.14,346.46,356.69,358.03,364.11,364.23,
-368.77,375.10,379.29,381.55,391.65,392.07,397.66,402.69,405.73,413.27,
-417.85,422.67,426.81,430.74,436.10,437.75,445.84,451.21,454.16,453.18,
-462.04,467.13,474.16,477.98,483.02,482.03,489.96,494.93,500.04,507.11,
-507.17,512.34,518.74,521.69,525.15,531.87,533.14,543.26,544.29,550.08,
-553.48,557.09,564.61,570.17,577.03,577.02,580.34,586.77,591.23,595.90,
-601.85,607.30,604.17,614.80,619.98,620.28,626.38,632.24,639.55,642.25,
-649.68,650.81,654.64,662.74,664.77,668.13,675.61,677.12,683.97,686.00,
-691.47,694.86,700.88,706.40,712.11,718.14,721.15,727.89,730.48,732.47,
-737.43,745.69,748.49,754.22,757.24,759.29,767.54,773.25,774.60,779.84,
-784.06,788.80,787.95,795.66,800.02,805.42,812.08,813.42,824.93,824.16,
-831.06,831.48,839.23,847.36,848.11,851.72,855.25,860.72,864.69,876.08,
-871.49,881.31,885.50,891.53,896.43,903.58,901.96,909.69,915.32,919.07,
-923.11,925.19,931.64,937.61,940.48,940.87,944.61,953.05,957.08,965.93,
-969.55,973.12,973.80,979.75,986.02,992.62,998.56,997.28,1003.59,1010.57,
-1016.70,1017.45,1025.89,1023.42,1027.49,1035.10,1039.14,1042.06,1056.30,1051.45,
-1056.09,1065.89,1062.92,1070.22,1079.92,1084.04,1081.93,1087.60,1095.12,1106.33,
-1104.80,1106.28,1111.96,1119.45,1125.54,1124.44,1130.90,1133.27,1141.19,1146.34,
-1147.93,1157.34,1160.57,1162.89,1172.75,1175.49,1180.60,1179.46,1190.20,1192.43,
-1194.83,1203.25,1205.29,1210.11,1215.85,1219.69,1225.08,1226.18,1235.26,1237.09,
-1243.31,1243.25,1249.47,1256.28,1262.88,1270.45,1272.28,1273.72,1282.57,1283.97,
-1287.13,1294.93,1295.90,1309.56,1306.47,1312.09,1320.62,1313.80,1327.15,1327.13,
-1335.13,1337.04,1350.33,1342.46,1355.69,1361.45,1357.89,1370.74,1372.21,1374.40,
-44.98,49.93,52.60,57.94,61.84,64.94,69.82,73.43,77.26,83.62,
-85.43,90.68,96.00,99.16,105.04,108.45,113.30,114.97,120.84,124.23,
-131.75,134.36,135.09,142.39,144.94,148.55,153.07,157.13,161.90,166.59,
-170.45,177.30,178.81,183.22,186.17,193.03,194.48,198.77,204.74,209.43,
-213.13,214.52,221.40,227.69,229.29,235.27,238.79,241.10,245.43,249.97,
-256.86,261.40,260.07,268.34,270.91,274.17,279.54,283.59,288.88,292.47,
-296.11,302.39,304.48,309.38,311.71,316.84,323.87,326.27,330.65,336.95,
-338.92,344.62,348.33,346.52,359.02,362.97,362.81,370.15,376.21,375.69,
-378.99,384.47,392.63,389.53,396.45,404.29,406.68,408.14,418.11,420.19,
-418.78,429.55,432.23,430.36,441.60,441.89,449.11,451.21,459.40,459.02,
-464.17,468.79,473.22,479.96,482.10,485.64,490.77,491.73,499.01,504.57,
-505.01,511.32,515.86,520.51,524.23,526.79,535.14,536.74,539.11,545.16,
-547.46,554.08,553.78,564.43,563.07,571.80,571.14,574.56,581.47,587.70,
-590.14,595.63,599.17,606.59,605.13,614.25,616.70,617.84,624.21,631.53,
-632.25,634.29,644.80,646.36,650.68,650.13,659.52,663.95,670.46,674.17,
-674.27,677.46,682.45,685.10,692.24,696.18,702.56,704.97,710.86,715.22,
-716.83,724.14,722.97,727.57,731.47,735.82,741.83,751.81,747.86,752.98,
-759.47,760.03,769.83,774.98,772.99,780.10,790.55,784.92,791.93,799.20,
-791.55,803.96,808.13,808.25,817.45,822.92,822.59,832.38,836.82,840.28,
-844.58,844.27,854.58,855.53,858.09,868.24,865.55,871.65,875.60,881.60,
-883.89,886.87,893.90,896.74,900.14,906.78,908.42,918.67,920.71,923.80,
-926.95,931.63,936.00,942.01,946.83,952.80,947.81,950.63,963.30,967.29,
-968.45,976.80,973.92,977.72,987.33,986.92,995.69,999.53,1001.15,1010.48,
-1008.34,1016.98,1016.95,1024.31,1029.17,1032.66,1040.15,1034.62,1043.96,1047.44,
-1051.64,1061.97,1058.14,1063.03,1072.60,1072.61,1078.44,1088.77,1091.71,1092.23,
-1093.61,1100.53,1098.89,1108.09,1116.13,1118.57,1117.81,1117.79,1128.53,1133.25,
-1136.07,1144.85,1143.94,1151.66,1155.30,1150.58,1159.06,1165.43,1167.45,1176.96,
-1176.92,1181.98,1188.94,1189.40,1201.05,1195.86,1208.84,1205.86,1210.69,1213.82,
-1219.10,1220.67,1225.66,1235.07,1237.12,1245.36,1248.68,1249.13,1255.08,1259.69,
-41.21,45.06,49.25,52.97,54.66,60.01,64.66,67.08,70.86,73.72,
-78.80,82.22,86.61,91.13,96.79,98.64,103.16,107.06,107.45,115.44,
-118.73,121.16,123.60,129.56,133.01,137.06,140.52,145.54,148.40,151.90,
-156.21,161.33,162.93,168.37,170.82,174.24,177.02,183.32,187.35,187.06,
-195.31,201.22,201.51,203.70,209.63,214.49,214.28,219.81,226.40,228.83,
-233.00,235.12,240.03,241.94,247.86,251.95,256.77,260.67,264.89,266.12,
-270.02,274.54,276.83,280.43,284.20,291.78,291.58,295.05,301.48,303.37,
-308.47,312.29,315.55,321.83,325.04,331.15,329.39,334.86,338.90,346.91,
-346.95,350.76,353.72,358.85,362.35,366.45,368.88,375.69,376.01,383.25,
-384.22,386.97,392.06,395.45,396.67,405.76,409.63,412.71,411.96,419.14,
-419.83,424.27,432.33,434.10,437.68,441.92,448.94,451.07,455.68,460.02,
-461.11,469.73,468.34,470.31,476.89,481.69,487.43,488.70,491.68,495.86,
-501.14,504.13,510.09,513.02,516.75,520.74,525.74,527.01,534.08,534.86,
-539.33,543.78,549.33,548.61,556.15,559.85,562.74,565.46,568.90,576.11,
-578.14,582.16,586.51,589.93,591.75,600.75,597.64,604.96,608.65,616.84,
-615.12,619.19,622.97,624.80,630.90,631.59,637.32,642.41,645.19,651.48,
-656.46,659.69,658.03,662.29,666.10,670.09,678.96,682.76,683.22,683.69,
-695.35,689.85,702.38,704.49,703.34,709.78,713.48,713.89,721.99,727.12,
-733.54,731.02,734.93,743.46,741.82,749.83,751.77,763.24,758.72,764.43,
-765.65,773.89,779.33,782.58,786.51,790.99,788.67,799.32,793.68,808.23,
-804.46,808.66,817.69,818.23,821.42,825.43,827.73,838.98,840.28,841.94,
-847.69,847.84,853.47,856.47,862.57,868.11,863.56,872.88,882.15,876.67,
-884.61,886.91,889.07,895.35,895.70,906.50,907.08,909.70,910.04,920.08,
-923.75,925.02,935.41,930.94,938.32,937.55,937.21,952.48,947.96,959.38,
-962.07,966.56,967.65,972.05,975.60,975.72,982.19,990.12,994.48,997.42,
-1001.41,1010.03,1006.68,1020.39,1012.39,1020.21,1017.35,1029.61,1032.32,1030.15,
-1040.52,1040.78,1041.16,1049.99,1054.92,1052.95,1062.13,1059.91,1065.18,1074.22,
-1078.12,1081.86,1084.69,1081.46,1086.33,1089.04,1098.29,1095.03,1100.95,1111.72,
-1112.77,1115.51,1118.24,1127.29,1123.56,1130.23,1134.58,1130.24,1141.79,1149.82,
-37.92,41.77,43.91,47.08,50.77,55.87,57.88,61.98,64.75,68.10,
-71.81,76.70,78.47,82.56,86.30,88.31,94.91,95.66,100.69,104.53,
-106.14,109.42,114.44,117.12,120.84,126.33,126.30,133.88,133.57,139.04,
-140.62,145.14,149.64,152.57,159.74,159.17,162.24,168.17,173.24,172.39,
-176.79,177.95,185.24,187.66,189.82,196.27,197.70,205.04,205.91,205.51,
-213.76,216.46,218.87,220.69,227.81,227.02,231.21,238.28,240.44,244.29,
-247.62,247.15,253.00,258.14,261.54,268.61,267.72,274.94,275.20,282.45,
-280.06,282.64,289.27,292.05,293.74,299.34,298.82,303.21,306.41,312.64,
-319.28,319.51,322.22,324.35,330.34,333.27,336.37,343.02,344.01,346.91,
-352.20,353.44,358.44,366.31,365.25,369.89,370.96,374.41,384.08,383.69,
-386.29,391.50,392.12,394.72,397.93,400.88,406.40,408.50,410.20,416.01,
-420.27,425.96,426.01,429.02,437.68,439.08,444.54,448.24,452.06,452.37,
-452.56,459.17,461.71,466.75,463.62,474.19,479.58,482.94,483.60,485.41,
-488.28,494.84,496.73,496.15,504.74,508.57,508.71,509.09,521.95,521.14,
-524.10,530.40,531.41,535.09,539.43,538.75,545.60,547.61,555.43,564.22,
-560.27,565.58,571.97,569.47,571.07,577.69,581.79,581.82,590.60,593.08,
-594.79,596.92,603.29,605.77,610.03,611.40,616.10,618.99,622.43,625.46,
-630.30,633.26,639.65,644.63,642.07,646.27,654.75,650.69,656.20,656.75,
-663.91,665.72,670.44,672.96,676.48,680.28,684.00,688.51,690.76,698.70,
-693.76,702.11,709.08,711.20,712.48,721.07,724.22,722.96,729.60,725.26,
-731.10,741.04,742.48,743.60,752.40,753.70,756.25,756.73,761.08,766.64,
-766.45,774.57,779.29,779.60,780.32,787.69,788.20,793.27,793.43,797.77,
-801.22,811.02,816.97,822.95,812.08,825.15,818.68,825.77,828.37,837.64,
-838.77,839.58,845.07,849.46,853.21,856.56,860.87,863.00,863.40,874.17,
-869.95,883.15,876.43,883.91,894.73,890.98,894.73,897.24,900.32,906.20,
-911.45,910.91,917.05,915.53,922.73,918.65,924.56,932.41,937.78,942.38,
-943.45,946.30,953.44,954.70,956.78,964.47,966.60,965.41,970.52,976.93,
-977.93,982.91,984.60,985.95,985.01,994.88,1001.42,1002.36,1007.05,1010.56,
-1011.79,1018.10,1020.31,1025.41,1019.43,1031.42,1032.83,1037.97,1037.39,1045.73,
-34.62,36.55,40.14,41.59,46.87,49.34,52.30,55.21,58.78,62.06,
-64.80,69.72,70.76,73.72,78.78,81.91,84.45,88.16,92.22,92.87,
-95.54,100.11,102.40,106.62,111.21,113.61,113.11,119.75,121.28,126.32,
-129.44,131.67,135.09,138.50,140.76,145.26,149.38,152.69,154.01,156.21,
-161.32,167.77,169.20,168.65,174.27,174.30,179.15,181.46,183.19,189.25,
-192.42,195.79,195.90,201.56,205.34,206.30,212.84,211.75,216.60,220.49,
-224.32,226.12,231.09,234.96,236.12,238.08,241.93,248.12,246.29,251.73,
-258.80,258.41,263.75,263.19,269.37,274.00,275.61,276.84,281.40,281.12,
-285.75,287.24,293.66,297.71,299.61,301.18,304.72,309.11,311.83,315.53,
-324.07,320.31,327.38,327.94,333.47,332.95,339.97,338.85,343.04,348.00,
-347.17,357.34,356.12,360.39,364.58,363.16,370.90,374.70,375.20,379.09,
-382.88,383.23,386.63,395.87,391.03,399.67,399.42,408.90,404.20,410.83,
-411.54,411.90,420.42,420.03,425.90,429.83,429.92,432.89,438.08,442.12,
-447.25,447.37,451.85,458.41,461.24,460.91,460.81,472.30,469.11,469.62,
-476.63,478.64,485.19,483.28,489.25,488.99,497.62,496.93,502.72,509.76,
-509.87,514.02,515.36,521.81,519.83,524.63,528.23,527.41,533.95,536.88,
-537.93,543.75,542.75,548.08,555.92,557.87,558.80,562.50,566.36,576.53,
-569.83,576.25,583.18,577.20,580.56,585.25,593.75,598.59,593.45,596.42,
-605.08,608.20,611.75,615.41,614.96,621.46,619.86,626.43,624.14,632.07,
-637.35,633.73,640.46,649.29,644.07,654.22,651.34,656.55,658.98,663.15,
-665.37,675.21,673.27,683.96,675.66,686.59,686.57,687.05,688.80,704.42,
-699.67,700.48,700.65,709.06,715.60,721.22,718.05,725.49,721.52,730.28,
-731.08,727.30,734.89,738.31,741.36,747.17,752.23,751.47,756.99,759.74,
-764.03,765.56,769.20,773.89,773.88,777.77,778.76,784.83,784.28,787.42,
-793.62,798.18,794.80,800.81,805.16,809.48,808.51,818.13,820.56,821.85,
-824.58,831.80,827.99,832.34,841.00,843.14,847.16,847.53,855.39,856.06,
-856.13,859.69,862.88,862.31,867.42,873.65,876.63,884.47,882.58,881.38,
-894.40,893.66,892.62,902.39,902.47,907.07,902.29,908.93,911.62,922.48,
-916.74,916.86,922.97,923.45,932.76,938.22,932.31,939.78,941.63,949.62,
-30.77,33.23,36.12,38.20,42.24,45.12,46.81,49.84,53.61,57.05,
-58.81,61.36,63.96,68.05,71.28,74.84,76.64,78.20,81.42,84.30,
-88.87,89.87,94.48,95.20,99.49,102.31,105.58,109.43,111.26,115.58,
-116.08,119.66,120.37,125.23,125.82,131.10,136.94,137.50,139.80,146.04,
-146.18,149.00,152.25,152.96,156.94,159.77,159.15,163.54,169.97,170.63,
-175.36,174.74,178.47,182.74,183.94,188.80,191.57,192.54,195.52,199.13,
-202.61,202.98,208.78,211.11,214.49,220.60,223.65,224.06,223.63,230.30,
-232.04,235.25,237.24,242.40,244.57,246.60,246.37,256.73,257.82,259.60,
-260.20,261.87,267.84,270.31,272.20,277.64,277.99,280.75,281.16,287.30,
-291.51,294.41,294.72,295.72,298.84,305.17,309.97,311.77,315.60,315.42,
-315.74,320.61,320.67,325.34,328.98,330.73,333.49,337.87,340.35,344.38,
-347.05,343.64,355.59,356.29,360.86,356.17,364.96,365.86,369.30,369.20,
-373.29,377.30,378.08,382.14,392.43,388.37,387.91,394.86,401.16,398.98,
-402.87,408.43,407.97,408.69,413.81,418.06,419.20,419.90,426.41,425.71,
-430.25,434.67,437.06,440.60,442.75,446.85,451.08,453.49,454.69,457.89,
-463.00,468.84,470.24,470.78,475.82,476.75,478.97,477.71,483.38,488.86,
-487.97,492.69,498.95,500.76,501.40,507.86,506.52,510.04,512.50,518.38,
-522.55,524.71,521.07,527.07,529.52,536.70,534.25,534.30,537.77,544.31,
-550.06,551.87,557.29,556.42,559.65,561.42,565.27,569.87,573.18,571.96,
-570.63,579.56,580.31,582.96,586.55,590.25,598.90,597.43,593.80,604.45,
-606.68,603.68,613.17,608.28,613.88,617.25,622.33,628.04,631.13,624.83,
-635.63,638.28,639.25,646.16,649.61,652.55,648.90,649.27,655.70,653.85,
-659.60,667.48,669.74,669.35,674.56,676.78,680.58,681.36,686.89,692.71,
-689.97,700.70,695.37,701.10,701.67,701.93,712.43,708.40,718.46,715.36,
-716.36,726.69,721.11,723.19,736.58,727.02,738.01,738.48,742.98,747.05,
-745.12,752.60,753.53,752.92,753.31,763.75,762.30,768.49,766.91,775.15,
-773.54,780.34,777.08,778.99,790.22,797.52,792.98,801.43,803.04,797.70,
-801.82,809.46,810.63,816.32,819.10,814.58,821.39,827.31,826.82,829.40,
-834.63,839.55,841.99,840.62,847.35,850.11,853.80,853.03,852.38,859.82,
-28.01,30.59,33.89,35.93,38.54,39.49,43.50,46.21,50.18,51.73,
-53.10,56.55,59.08,62.92,64.46,64.00,67.64,71.82,73.23,75.85,
-78.66,82.20,85.65,87.42,92.19,93.80,94.80,96.84,99.97,104.30,
-106.68,108.54,111.94,110.61,117.33,118.63,119.23,123.44,123.02,129.70,
-133.18,131.80,136.26,142.11,143.32,143.12,146.62,151.39,155.33,153.14,
-156.62,161.97,161.12,163.44,165.53,169.02,171.97,176.67,177.60,182.74,
-184.22,186.20,186.20,190.42,194.80,195.29,194.84,200.94,204.32,207.23,
-207.10,209.85,213.44,219.33,220.05,223.93,227.20,229.37,225.92,235.48,
-235.78,237.71,240.36,242.66,249.90,247.80,248.11,252.81,253.77,256.42,
-259.43,265.89,265.25,267.11,268.86,275.97,275.17,280.17,283.19,284.36,
-287.50,291.45,289.36,297.20,296.01,301.47,305.01,307.85,307.66,311.69,
-317.07,315.40,322.20,321.41,325.76,325.04,328.48,332.76,332.98,336.37,
-339.65,338.36,349.14,344.77,357.07,351.63,357.68,359.63,362.47,364.70,
-367.79,366.17,369.56,376.38,378.05,377.80,382.20,382.81,385.00,390.70,
-392.67,395.30,393.70,400.45,401.10,402.73,409.08,420.09,412.93,413.23,
-422.81,420.68,423.84,426.68,427.96,430.08,430.83,435.11,431.53,438.60,
-446.80,447.24,448.37,461.50,457.91,456.27,456.46,460.11,465.43,469.35,
-465.31,469.06,474.20,474.51,478.57,483.63,482.57,492.83,493.24,490.03,
-498.78,497.41,502.45,499.02,505.08,512.77,515.19,511.15,516.80,514.23,
-519.17,524.10,525.67,533.83,534.78,531.31,530.70,540.85,536.98,545.18,
-549.97,554.84,556.39,562.85,556.15,556.12,558.93,563.95,567.03,573.28,
-575.34,572.91,575.34,579.76,584.05,586.21,588.59,589.11,598.16,596.02,
-599.89,605.11,606.13,609.99,613.09,611.57,614.95,612.92,621.55,622.88,
-626.51,628.19,633.19,635.27,635.50,633.42,636.88,647.70,642.98,649.31,
-640.83,655.51,655.46,660.99,663.75,666.05,664.08,667.68,675.23,671.48,
-670.88,686.86,679.54,692.17,684.52,687.75,691.69,693.75,697.70,704.64,
-707.14,714.23,708.57,707.48,716.21,717.08,716.15,722.65,723.69,728.08,
-729.52,732.00,737.94,737.99,740.78,747.23,744.54,742.94,747.62,744.89,
-758.81,754.43,765.74,764.20,753.44,766.00,770.25,773.75,772.63,775.65,
-26.90,27.79,29.46,30.85,35.24,37.55,38.75,42.25,42.47,45.71,
-48.55,51.05,54.44,55.57,58.11,61.06,63.30,67.61,67.31,70.56,
-71.65,73.75,76.49,79.99,80.51,85.76,88.50,89.72,92.68,94.88,
-95.94,95.49,102.03,102.66,104.14,107.13,110.38,111.22,114.68,117.42,
-120.55,123.16,125.06,122.87,127.95,132.79,131.30,135.45,136.88,141.25,
-139.98,143.02,145.62,152.83,151.77,153.30,154.10,158.28,161.45,164.03,
-166.04,167.85,169.26,172.25,175.54,177.20,176.99,182.09,185.44,187.04,
-189.14,191.42,192.25,198.93,196.75,199.54,199.66,206.12,205.50,209.66,
-213.22,214.16,216.90,222.60,221.87,222.55,223.82,228.87,231.62,235.07,
-236.09,237.09,240.23,243.23,242.94,249.90,251.25,252.55,255.19,259.57,
-261.55,259.01,263.35,265.30,272.04,272.58,270.85,280.40,284.68,276.94,
-277.69,287.56,290.74,285.21,292.93,289.91,296.75,293.72,300.34,306.12,
-305.63,305.98,312.03,309.56,317.53,318.99,322.66,320.00,317.30,325.00,
-329.30,330.62,337.49,339.11,338.52,340.65,344.42,350.33,352.50,352.32,
-351.38,351.31,355.50,360.36,363.56,366.35,368.50,370.84,373.94,371.41,
-379.15,381.37,384.02,389.60,389.16,388.96,386.18,393.04,397.57,394.42,
-400.30,403.45,403.75,407.32,408.68,414.02,409.32,415.49,418.26,419.47,
-421.56,427.24,425.89,433.25,432.99,437.50,440.58,440.72,446.85,452.41,
-448.52,449.01,449.82,451.51,456.19,456.07,461.12,467.94,463.12,471.75,
-466.62,470.76,480.13,478.67,486.90,484.38,486.33,486.72,490.39,488.57,
-498.14,496.88,499.17,502.04,501.38,508.30,508.75,513.10,516.31,514.20,
-518.90,514.66,518.90,524.71,523.92,534.08,530.98,528.94,538.99,537.86,
-538.94,548.34,538.87,556.14,547.14,553.82,560.18,560.90,554.37,560.61,
-565.04,564.41,564.77,580.56,574.61,574.38,576.01,576.25,588.67,589.76,
-589.71,588.31,593.73,592.10,598.03,600.12,603.07,608.65,609.49,609.46,
-611.62,616.12,621.95,625.30,620.73,629.64,624.43,633.88,626.90,634.04,
-634.67,635.24,647.16,643.63,644.42,644.21,652.91,654.87,650.75,651.28,
-659.72,655.46,665.89,664.97,664.52,672.01,672.83,675.09,678.55,675.99,
-683.18,683.67,690.33,692.10,686.14,694.05,704.96,700.42,699.48,703.70,
-22.52,25.16,26.15,28.93,30.55,32.94,35.70,37.74,40.89,42.12,
-44.52,47.36,48.35,50.61,52.59,56.67,56.72,58.24,61.80,63.25,
-65.41,65.53,71.51,71.18,73.29,75.53,79.01,80.08,82.30,83.37,
-84.08,89.23,88.81,92.68,93.43,98.37,98.63,101.80,101.72,104.45,
-108.05,107.70,112.11,113.63,115.59,117.55,124.32,120.94,123.36,127.99,
-131.78,130.83,133.28,137.10,133.58,139.75,137.94,144.21,144.84,150.65,
-150.74,152.65,153.09,152.75,161.03,160.52,163.92,166.35,166.80,168.64,
-170.72,171.60,172.03,180.54,180.23,179.21,183.50,187.36,186.45,188.03,
-192.42,196.09,197.26,199.03,201.05,203.25,202.93,211.27,208.05,211.56,
-215.75,215.25,216.54,219.99,221.70,223.60,228.45,230.16,231.17,236.04,
-237.44,239.17,235.15,241.93,242.97,243.66,245.65,248.54,249.83,253.11,
-253.39,254.51,261.81,260.60,263.51,262.22,269.09,265.73,269.46,275.22,
-281.18,272.94,279.99,285.29,287.60,286.83,288.54,289.71,289.93,296.79,
-301.26,303.70,303.16,304.77,304.30,306.67,309.40,309.40,312.89,317.16,
-316.88,324.77,321.15,325.56,331.48,331.00,332.70,338.06,337.13,338.12,
-341.77,338.71,350.08,346.65,349.68,351.57,352.82,356.23,352.91,354.68,
-366.61,360.03,368.07,371.09,364.63,373.52,377.05,372.23,377.02,379.99,
-383.52,383.11,389.04,386.17,390.49,394.41,396.03,400.18,399.79,403.01,
-405.46,407.16,408.66,407.79,418.29,416.38,417.61,416.26,422.80,424.80,
-422.00,426.06,426.91,427.80,434.00,435.34,434.01,441.14,440.91,446.24,
-444.29,446.18,448.10,452.62,457.88,457.21,453.04,464.96,463.57,465.70,
-467.16,468.55,472.50,469.25,482.55,478.80,482.53,485.52,491.75,489.33,
-488.53,488.04,493.24,498.16,496.48,499.10,506.90,502.68,504.67,508.52,
-504.19,505.31,515.06,519.18,515.28,516.65,530.20,520.89,528.10,524.77,
-532.49,526.80,532.96,536.69,538.18,540.14,541.73,543.37,548.26,552.28,
-550.12,554.41,554.84,560.50,563.77,567.86,560.76,570.90,567.25,570.13,
-571.36,574.31,575.99,579.79,581.36,585.65,584.20,591.24,586.06,595.99,
-597.92,589.38,601.31,603.47,601.49,603.50,603.64,613.71,614.00,608.17,
-620.52,621.05,618.79,622.74,620.89,624.55,629.99,637.58,633.76,630.42,
-21.02,21.89,24.88,27.21,26.54,30.11,32.32,34.10,35.09,37.42,
-41.82,41.39,43.79,45.97,47.04,46.87,49.97,52.71,53.98,56.62,
-59.51,58.57,62.69,64.49,66.70,68.88,69.10,72.95,73.59,76.09,
-78.01,79.88,80.43,84.88,84.80,86.73,90.73,90.42,92.97,96.25,
-98.42,97.37,101.51,102.45,106.36,105.51,104.80,109.96,113.71,113.18,
-117.97,117.99,118.69,124.59,124.19,127.62,128.29,128.82,129.72,135.45,
-133.61,137.33,137.14,142.41,141.46,144.95,145.23,147.98,148.51,153.62,
-155.46,155.54,154.47,158.81,159.74,161.83,165.69,168.96,168.40,174.26,
-169.27,172.15,177.87,181.45,181.31,181.08,186.09,186.64,189.26,187.04,
-194.50,194.27,195.02,198.14,199.19,204.21,201.10,207.41,208.37,206.67,
-210.73,215.54,217.03,216.04,218.09,221.81,226.41,226.08,226.35,230.37,
-232.15,232.67,237.86,235.15,241.12,239.75,242.51,246.79,246.91,246.18,
-249.44,250.81,256.02,253.66,255.91,257.81,256.42,262.13,262.44,270.05,
-269.74,269.32,273.62,272.20,277.63,275.98,278.97,279.32,289.98,284.00,
-289.10,290.05,294.94,290.12,299.17,298.82,297.08,303.29,299.55,301.25,
-308.62,311.59,312.17,316.65,317.95,318.40,318.11,320.48,324.59,325.41,
-324.07,328.94,327.19,331.23,335.78,332.28,338.58,335.98,341.63,343.58,
-337.88,352.50,349.55,350.59,349.33,353.56,355.80,356.83,357.03,359.04,
-364.75,366.53,369.35,369.16,372.33,373.36,375.42,377.34,375.27,379.44,
-382.56,386.78,392.19,391.48,389.61,394.44,393.65,399.56,400.29,405.03,
-400.74,399.67,407.75,409.76,407.91,418.36,416.50,418.86,415.04,422.47,
-421.01,421.54,422.71,423.77,429.90,433.58,429.81,436.90,441.19,446.62,
-441.15,440.57,445.31,439.84,442.15,449.82,451.29,455.81,457.76,457.15,
-453.81,460.83,466.91,465.47,472.85,472.38,473.36,468.63,475.95,477.49,
-476.81,486.97,486.92,478.30,488.07,487.05,486.56,499.58,495.33,499.27,
-497.98,500.94,503.28,507.81,505.14,510.86,511.31,510.81,513.36,518.07,
-518.31,514.27,515.16,530.67,525.04,528.06,522.04,528.89,533.04,537.61,
-537.47,534.93,543.47,544.75,547.14,547.90,548.39,551.67,550.33,551.45,
-553.98,556.99,563.39,556.30,561.47,564.31,562.56,565.99,566.25,573.95,
-19.13,18.82,20.85,24.28,26.14,27.10,28.74,31.36,33.18,33.50,
-34.37,37.69,39.09,40.78,44.90,43.60,46.13,47.54,49.14,51.05,
-52.85,55.75,55.33,56.33,60.44,62.65,60.56,63.71,66.30,67.53,
-69.62,72.86,73.71,77.02,75.88,81.01,80.35,82.85,85.69,85.24,
-87.74,85.97,87.99,92.83,93.20,96.59,98.22,98.56,102.18,103.20,
-105.10,103.95,105.24,107.07,110.26,110.58,112.09,118.76,115.75,119.57,
-122.61,123.69,124.30,130.66,130.01,132.61,128.34,133.69,133.19,136.75,
-141.33,144.77,143.17,144.23,146.61,146.80,150.05,148.18,149.74,152.08,
-157.50,158.08,163.89,161.68,163.99,167.82,163.16,166.97,171.34,172.66,
-175.78,174.96,175.91,174.29,183.67,182.91,186.50,183.65,185.42,187.78,
-191.00,192.57,193.76,199.01,196.47,202.75,200.12,202.50,203.73,204.31,
-207.96,210.17,213.16,208.15,215.60,215.71,223.98,217.08,218.37,222.11,
-225.17,226.17,225.94,232.02,235.53,234.76,235.37,241.02,240.32,242.10,
-245.17,240.08,244.03,241.02,249.92,247.83,250.96,251.66,257.94,261.39,
-257.62,259.54,261.64,262.81,262.78,263.08,264.76,274.44,276.65,274.15,
-278.44,277.95,281.60,282.29,282.04,282.03,289.90,290.85,293.29,289.58,
-291.12,295.42,296.53,302.19,299.89,300.56,304.20,309.07,308.96,305.25,
-311.76,309.61,314.04,312.53,319.91,318.51,322.36,326.39,324.17,327.19,
-332.14,329.60,327.46,332.79,337.89,336.38,334.95,333.29,339.07,344.10,
-348.96,347.90,344.23,351.21,350.13,355.44,353.01,356.93,363.64,363.47,
-360.66,365.97,365.72,370.95,370.07,372.77,374.16,377.13,371.96,375.73,
-378.76,385.82,378.47,382.23,388.56,386.56,388.80,395.33,398.39,396.17,
-397.24,395.65,402.33,401.38,402.16,403.89,407.45,406.05,415.43,418.94,
-416.56,421.07,420.68,417.31,421.09,431.56,417.39,423.25,423.61,433.29,
-429.48,432.34,433.63,435.82,440.31,440.83,443.86,443.03,446.96,444.99,
-447.26,452.53,451.41,452.19,455.92,456.80,454.17,460.30,461.31,461.69,
-473.15,468.64,467.08,468.30,470.23,473.38,477.88,474.36,483.55,480.52,
-484.45,488.00,484.44,485.95,491.53,488.48,495.84,498.16,495.25,496.66,
-496.27,504.32,502.67,501.72,508.97,513.84,506.63,516.50,507.17,509.12,
-16.26,18.68,20.70,21.11,23.40,24.72,24.69,28.61,30.35,29.80,
-32.58,33.77,33.24,37.63,39.60,39.82,40.94,44.02,45.48,47.22,
-47.84,49.70,50.61,51.99,55.27,55.03,58.07,59.09,59.09,61.23,
-62.19,64.57,68.63,67.08,69.11,70.88,73.48,73.01,74.94,75.59,
-80.97,80.31,81.81,83.81,82.77,87.08,86.64,88.88,93.14,93.64,
-94.80,95.28,97.34,100.01,100.86,102.29,102.42,102.53,104.80,108.34,
-110.81,110.29,112.57,116.54,118.50,116.66,120.85,118.75,121.81,122.94,
-122.57,128.33,129.44,129.33,130.86,131.03,135.16,136.58,139.43,139.70,
-138.37,140.13,143.98,145.79,145.64,148.60,148.11,151.62,155.26,152.41,
-152.56,157.50,156.69,158.41,160.45,166.60,164.81,165.37,168.38,167.99,
-170.31,171.69,171.19,176.33,176.53,180.79,176.82,178.89,182.93,183.38,
-182.85,187.11,192.14,191.26,194.16,199.01,195.25,197.02,198.78,202.28,
-203.78,204.47,209.01,210.93,206.67,206.54,213.06,209.64,211.12,213.62,
-216.73,218.71,220.05,219.99,224.03,224.31,226.29,229.77,230.75,232.84,
-233.39,238.16,238.71,243.16,242.98,243.75,242.96,241.77,247.76,245.83,
-250.40,246.86,254.97,253.57,254.56,257.16,255.04,257.71,257.68,261.73,
-262.03,265.36,267.42,271.52,272.02,271.40,277.40,278.55,276.81,277.46,
-279.65,281.63,283.09,286.47,285.32,287.58,288.65,295.85,295.19,294.01,
-294.05,297.10,295.74,306.32,301.22,303.56,305.02,308.58,305.86,313.49,
-307.41,313.30,313.28,315.87,316.70,320.94,316.75,321.93,320.49,323.72,
-325.06,329.47,332.25,332.71,334.30,335.54,334.27,330.72,333.53,347.65,
-345.58,340.83,341.12,348.97,343.63,349.98,350.51,349.53,348.69,352.30,
-356.37,362.03,360.86,366.23,369.47,358.93,368.17,362.47,369.87,369.90,
-373.06,376.01,369.57,375.78,380.48,377.95,382.44,383.01,380.56,384.99,
-387.48,388.96,386.93,391.79,391.12,387.82,401.00,403.71,400.41,409.96,
-403.85,406.14,403.92,418.09,405.24,408.57,409.81,413.40,423.43,416.12,
-420.80,416.11,420.44,423.58,418.38,428.14,427.68,430.46,429.60,436.84,
-438.16,436.59,431.18,440.33,440.45,439.36,446.93,444.85,450.53,447.01,
-454.60,455.65,454.79,456.10,458.51,455.05,453.26,459.66,459.95,460.33,
-68.20,73.80,81.22,86.37,93.21,100.04,104.81,112.76,118.16,124.14,
-130.69,137.18,143.40,150.32,156.23,161.70,168.22,176.02,181.78,187.32,
-196.05,201.28,207.71,212.42,220.99,226.24,232.45,239.66,243.76,252.82,
-258.76,264.38,271.54,276.34,285.37,287.23,296.29,300.27,307.67,314.95,
-320.60,325.92,332.70,338.78,344.82,354.98,357.15,366.86,370.90,377.94,
-384.68,390.45,395.90,402.71,408.19,419.79,422.68,428.35,435.71,441.75,
-448.35,451.83,461.64,465.54,474.59,477.63,486.65,491.23,498.54,503.61,
-510.17,518.96,522.66,529.92,536.07,542.17,549.70,555.06,561.68,568.97,
-572.63,582.47,588.17,591.10,600.14,609.60,611.83,616.90,626.05,631.13,
-638.00,644.77,651.88,655.09,661.76,667.73,673.13,679.72,687.88,693.43,
-699.63,709.21,714.34,718.09,724.79,733.11,739.26,744.79,752.67,757.07,
-763.91,770.26,775.47,781.40,793.13,795.91,802.44,811.40,815.12,819.50,
-828.79,835.36,839.85,845.72,853.09,856.28,865.72,875.92,877.96,885.07,
-887.21,896.98,907.46,906.98,919.05,923.99,928.17,933.10,942.38,946.27,
-952.63,960.47,968.73,972.28,981.63,986.69,989.27,997.59,1003.97,1011.88,
-1018.55,1025.31,1030.01,1038.08,1037.57,1051.25,1055.93,1061.21,1065.54,1076.38,
-1082.82,1087.86,1095.78,1100.67,1106.85,1113.54,1123.23,1126.14,1133.08,1136.71,
-1143.93,1151.66,1154.97,1166.71,1169.29,1175.56,1185.76,1190.47,1196.94,1204.42,
-1207.40,1212.24,1220.60,1227.54,1234.00,1236.42,1241.81,1254.10,1260.48,1263.63,
-1266.24,1275.11,1280.98,1286.58,1293.26,1300.26,1310.19,1310.50,1317.49,1329.16,
-1333.90,1336.62,1343.10,1354.62,1357.97,1365.41,1375.85,1375.23,1387.62,1393.05,
-1397.60,1402.57,1408.81,1416.60,1422.96,1424.25,1432.26,1439.91,1453.04,1455.25,
-1463.37,1471.06,1474.58,1477.63,1482.82,1489.86,1499.10,1508.21,1512.72,1513.94,
-1527.37,1526.56,1538.09,1544.90,1550.38,1557.40,1562.86,1572.46,1574.52,1577.72,
-1587.01,1591.62,1602.59,1610.45,1609.94,1623.17,1626.26,1625.44,1634.16,1644.90,
-1651.43,1653.38,1659.16,1669.52,1679.12,1679.01,1686.26,1698.06,1698.09,1707.73,
-1712.72,1722.37,1728.35,1734.38,1738.08,1748.16,1747.09,1756.05,1763.11,1766.24,
-1778.62,1781.05,1791.25,1795.24,1804.73,1806.89,1818.64,1820.39,1830.90,1832.22,
-1841.03,1845.07,1850.43,1859.49,1866.99,1873.80,1881.81,1879.16,1888.49,1895.08,
-63.40,68.34,76.45,81.30,86.03,92.47,98.57,104.31,110.06,116.17,
-122.28,128.33,134.33,139.87,145.87,152.66,156.14,164.07,167.68,174.53,
-179.80,185.68,192.53,198.77,205.32,210.43,215.33,223.68,228.20,233.31,
-238.93,246.48,252.19,258.77,265.64,269.20,275.37,280.67,286.34,292.03,
-298.48,304.17,312.31,316.30,324.02,329.13,334.79,343.67,345.69,350.80,
-358.64,366.39,371.08,374.86,382.41,387.75,390.02,399.23,408.40,412.88,
-416.25,423.25,426.98,434.97,441.18,447.52,451.90,460.08,463.39,467.98,
-474.05,480.89,487.94,492.54,498.87,506.49,508.45,517.82,525.38,529.31,
-534.45,539.66,548.36,554.95,558.31,562.55,569.42,574.01,583.45,590.38,
-593.81,596.61,606.17,610.75,616.88,620.68,627.92,634.38,641.78,647.15,
-654.01,657.23,664.35,671.98,676.18,681.04,685.88,691.93,698.96,708.18,
-712.74,716.05,720.23,732.49,736.80,741.75,747.07,753.48,757.49,767.05,
-772.86,775.63,782.47,789.43,795.40,799.18,804.87,810.05,816.59,823.28,
-828.58,835.80,838.32,847.24,853.00,859.21,864.84,868.62,874.38,881.25,
-888.52,893.47,898.27,902.36,910.43,915.79,922.97,932.26,940.47,940.92,
-951.10,952.43,958.62,964.70,971.84,977.14,983.70,991.85,992.02,1001.57,
-1003.48,1013.22,1017.48,1025.73,1029.09,1036.51,1042.19,1047.28,1050.74,1060.30,
-1068.16,1071.09,1076.18,1088.45,1089.88,1093.54,1103.06,1109.62,1108.56,1121.34,
-1126.47,1128.11,1134.95,1141.50,1144.11,1150.39,1158.21,1159.88,1173.37,1180.33,
-1181.76,1188.30,1194.63,1200.83,1205.33,1211.57,1218.31,1225.66,1225.36,1233.09,
-1244.73,1247.79,1252.83,1258.41,1264.47,1269.78,1277.02,1282.00,1287.21,1296.68,
-1301.21,1303.91,1312.93,1320.09,1324.47,1331.34,1337.12,1343.85,1348.20,1351.64,
-1359.49,1365.18,1373.68,1378.86,1388.86,1384.85,1399.72,1400.55,1402.60,1417.05,
-1417.93,1427.05,1429.26,1435.21,1438.97,1447.59,1455.78,1465.00,1466.98,1465.89,
-1481.04,1485.01,1493.14,1496.58,1498.24,1508.57,1516.54,1516.03,1524.74,1526.46,
-1535.16,1543.14,1551.38,1555.95,1559.07,1564.09,1573.46,1579.26,1582.07,1588.75,
-1597.78,1604.51,1605.64,1610.72,1622.88,1624.90,1629.17,1639.45,1646.49,1646.93,
-1653.82,1662.62,1665.62,1669.88,1679.14,1687.83,1687.84,1695.76,1704.94,1712.81,
-1711.47,1718.95,1727.60,1731.49,1736.52,1744.28,1754.62,1747.30,1759.73,1767.34,
-59.20,64.55,69.68,76.17,80.83,85.26,91.77,96.83,101.66,109.66,
-113.41,118.76,124.67,129.14,135.52,139.97,147.42,150.89,158.52,163.46,
-168.36,174.28,179.75,184.10,191.51,197.19,200.35,206.50,212.43,216.59,
-222.58,226.53,235.03,240.50,243.81,248.69,257.05,260.28,268.17,273.08,
-276.39,283.79,287.94,293.92,297.81,304.64,312.01,314.10,322.37,324.27,
-333.08,337.35,343.59,347.87,353.50,360.23,364.64,371.36,377.27,380.59,
-386.94,394.35,401.79,400.54,407.24,415.32,419.58,423.54,431.00,435.38,
-441.17,447.19,453.61,459.73,463.25,466.30,475.43,482.80,482.98,490.48,
-492.76,499.43,504.56,513.28,518.74,522.28,531.36,536.13,541.07,544.58,
-549.79,558.00,562.33,565.87,572.89,579.52,587.62,591.46,595.76,597.16,
-607.73,608.29,615.03,622.20,627.63,632.60,637.11,645.17,649.94,651.34,
-659.93,669.84,671.84,675.97,679.34,689.38,692.50,698.77,703.49,710.50,
-718.34,720.23,724.94,733.38,739.49,739.95,750.64,752.95,754.84,766.38,
-769.82,775.42,780.86,783.12,789.85,791.90,803.66,809.74,810.64,817.40,
-824.43,832.14,838.35,844.18,850.64,848.44,857.09,863.00,869.44,872.27,
-877.19,885.21,888.62,894.70,900.96,903.28,914.57,916.12,925.99,928.10,
-933.59,938.12,945.29,950.92,954.01,957.73,967.41,973.42,977.21,981.91,
-989.11,993.92,997.96,1003.20,1015.07,1014.47,1020.54,1028.14,1037.56,1038.74,
-1044.39,1049.05,1057.42,1057.77,1068.66,1068.53,1071.22,1082.96,1088.07,1097.54,
-1091.78,1102.13,1108.41,1110.27,1127.41,1129.09,1132.75,1136.67,1144.34,1145.40,
-1152.75,1160.20,1166.73,1166.97,1173.52,1183.55,1181.82,1192.56,1194.04,1201.75,
-1205.44,1209.81,1212.94,1222.65,1236.15,1237.21,1239.05,1248.04,1253.30,1256.41,
-1263.04,1267.74,1270.94,1276.51,1283.11,1291.10,1289.58,1301.71,1312.50,1312.70,
-1316.43,1322.75,1327.66,1334.15,1338.51,1343.13,1346.50,1354.14,1357.71,1362.69,
-1367.73,1369.84,1381.07,1387.30,1399.40,1405.05,1402.32,1413.45,1416.91,1418.12,
-1423.40,1429.91,1437.72,1441.89,1444.23,1449.06,1459.90,1466.07,1466.95,1470.79,
-1482.60,1486.54,1486.78,1492.43,1507.37,1510.14,1510.63,1520.01,1524.06,1529.64,
-1531.67,1540.04,1550.15,1547.45,1560.48,1566.01,1565.20,1569.80,1577.92,1588.03,
-1590.43,1596.78,1604.62,1608.79,1613.33,1618.47,1621.12,1629.68,1634.03,1637.42,
-54.12,58.78,63.54,70.90,75.70,80.22,83.06,89.20,95.18,99.90,
-104.67,109.27,115.06,120.95,125.49,130.62,135.48,139.07,144.91,150.26,
-156.99,160.79,165.89,170.97,176.97,180.10,186.97,190.95,195.02,199.08,
-203.79,210.86,217.63,222.62,228.84,231.51,235.46,242.32,248.87,251.99,
-257.08,261.34,265.94,272.61,275.85,283.14,289.32,292.38,297.98,302.85,
-310.00,312.86,317.21,323.43,329.62,333.88,339.04,345.08,351.30,355.27,
-357.95,363.22,368.26,371.61,375.63,384.00,389.65,393.32,398.39,402.59,
-408.19,413.39,423.45,424.34,428.45,431.92,437.91,444.62,445.20,455.51,
-456.76,463.44,470.17,474.05,479.64,487.36,490.73,498.35,502.71,501.30,
-509.11,516.15,518.66,527.21,534.18,535.55,542.85,545.68,548.51,555.69,
-559.85,566.79,567.65,576.50,579.35,582.52,588.45,591.98,601.67,609.54,
-610.15,613.62,621.27,629.65,631.74,635.64,641.98,645.99,651.98,657.23,
-664.22,665.22,669.37,676.88,683.07,692.55,695.84,697.62,703.70,703.29,
-715.66,722.56,719.45,726.14,737.09,738.10,740.00,750.84,753.12,757.63,
-767.34,766.42,774.66,771.57,785.38,787.94,794.16,799.46,802.09,810.58,
-809.43,814.80,822.29,827.11,831.13,839.23,846.65,849.66,852.45,863.63,
-865.74,869.43,873.84,878.40,885.44,883.50,899.57,894.31,906.30,910.77,
-915.01,918.43,928.13,929.97,934.50,937.50,945.79,952.57,955.06,961.33,
-961.45,972.04,972.56,981.21,983.24,991.25,995.38,1000.85,1000.56,1011.15,
-1021.08,1020.32,1023.24,1030.06,1036.13,1041.52,1037.86,1046.54,1056.50,1060.03,
-1067.37,1069.81,1076.02,1087.62,1087.33,1093.15,1095.06,1100.81,1109.03,1114.61,
-1119.62,1123.88,1129.54,1132.47,1136.45,1138.34,1149.65,1149.67,1156.89,1167.09,
-1170.98,1175.46,1175.95,1179.46,1189.40,1190.07,1197.18,1206.28,1207.97,1220.31,
-1221.43,1228.57,1224.80,1238.58,1235.28,1243.65,1246.32,1257.99,1254.22,1262.07,
-1259.90,1279.11,1274.93,1288.64,1286.67,1292.41,1297.75,1307.03,1308.40,1314.25,
-1314.36,1323.27,1324.28,1339.72,1338.69,1348.15,1349.00,1350.21,1362.17,1364.97,
-1376.03,1375.86,1378.77,1388.24,1392.68,1395.67,1395.19,1402.41,1408.65,1420.01,
-1420.10,1423.06,1440.67,1434.08,1440.53,1441.11,1449.96,1458.03,1460.97,1464.78,
-1472.15,1476.73,1478.45,1493.91,1486.63,1499.19,1508.65,1505.93,1513.08,1520.15,
-51.35,56.18,59.49,64.29,69.39,72.89,78.05,81.09,85.75,92.62,
-97.50,101.77,106.05,109.31,116.16,120.08,125.15,130.91,134.49,138.52,
-143.26,150.00,151.18,160.11,161.14,166.77,170.13,175.11,181.79,187.07,
-191.33,192.95,199.84,203.69,210.21,214.74,219.76,223.19,226.72,230.34,
-234.05,241.89,249.18,249.87,256.75,258.59,264.26,269.07,272.89,280.36,
-281.62,287.93,292.24,296.03,304.17,304.51,312.23,317.04,319.44,328.81,
-328.75,333.48,337.17,344.08,350.81,354.87,357.58,362.87,368.13,374.63,
-377.89,380.52,388.79,395.13,395.92,403.14,405.15,412.57,413.50,420.15,
-426.62,428.98,433.86,440.46,443.32,449.27,452.73,455.15,460.03,466.72,
-465.63,476.63,481.46,480.86,493.00,493.52,499.60,504.73,510.25,511.10,
-516.28,522.18,527.87,529.30,533.14,546.14,544.55,553.01,553.52,559.09,
-567.46,567.78,575.41,577.34,583.43,591.03,590.44,598.32,600.28,606.86,
-610.39,613.73,619.44,624.39,630.03,634.65,636.47,643.62,646.09,651.98,
-654.57,664.12,663.39,670.22,678.15,680.88,684.79,691.57,690.73,699.08,
-702.20,703.45,714.35,718.68,725.77,727.38,733.54,733.48,745.27,747.00,
-750.90,755.34,761.05,764.82,771.59,772.53,779.39,781.38,790.46,794.45,
-801.40,804.11,809.28,812.72,815.74,827.87,826.01,832.93,836.19,835.49,
-844.31,855.25,854.37,856.81,874.96,871.52,873.45,874.50,882.14,889.96,
-891.26,900.83,898.85,903.75,905.91,913.54,918.06,921.88,929.84,933.26,
-937.37,940.45,944.84,956.14,951.78,963.15,969.35,963.17,977.10,980.20,
-988.04,988.69,992.35,995.24,998.97,1008.94,1014.70,1016.61,1024.15,1024.20,
-1029.98,1038.57,1043.61,1045.86,1050.20,1060.59,1058.15,1068.62,1068.74,1071.98,
-1082.84,1080.63,1088.39,1096.16,1094.19,1097.83,1110.92,1108.78,1109.35,1124.21,
-1120.18,1127.33,1131.40,1139.68,1144.93,1150.39,1151.88,1157.79,1162.89,1165.31,
-1173.97,1179.12,1181.16,1180.63,1191.18,1194.14,1197.99,1207.59,1208.27,1217.49,
-1213.32,1221.80,1232.96,1234.91,1234.61,1241.98,1246.02,1253.32,1256.05,1269.76,
-1263.68,1271.84,1277.36,1283.32,1283.62,1289.81,1288.83,1295.02,1308.26,1304.01,
-1309.52,1318.21,1317.72,1327.24,1331.79,1337.73,1335.48,1347.79,1351.01,1353.18,
-1363.42,1362.83,1372.91,1377.63,1376.15,1385.44,1389.79,1388.04,1400.13,1405.85,
-46.65,50.04,54.80,60.04,64.08,66.44,73.04,76.54,79.41,84.73,
-90.20,94.11,96.95,103.22,107.18,111.32,115.10,118.98,125.51,126.50,
-133.31,137.87,140.01,144.72,150.22,154.01,157.06,162.21,168.94,171.78,
-175.26,179.75,184.80,189.73,194.30,195.93,198.47,207.02,212.17,213.46,
-218.14,221.16,226.42,231.51,234.26,240.48,247.10,247.26,252.29,256.13,
-262.04,268.16,273.73,273.64,280.84,282.09,285.98,289.80,296.67,300.37,
-301.54,307.79,315.51,316.19,322.24,325.52,328.70,330.30,337.28,342.64,
-349.25,350.94,356.42,361.43,365.40,369.54,373.25,379.73,382.86,388.41,
-389.30,395.38,399.23,402.07,409.15,409.86,417.41,422.03,425.69,427.89,
-430.57,435.11,442.21,447.94,450.44,457.80,459.30,462.63,468.70,476.39,
-478.42,478.92,485.89,490.74,495.10,494.12,506.40,509.51,513.06,514.33,
-520.03,524.03,529.60,533.60,542.45,538.12,544.23,548.05,550.53,558.20,
-563.92,565.58,572.19,575.13,579.29,588.80,588.70,595.40,593.19,600.55,
-602.41,611.95,617.53,619.26,626.02,630.52,632.73,639.51,647.12,648.58,
-649.70,654.47,658.41,661.93,665.95,665.83,675.92,681.49,685.92,692.26,
-695.34,694.34,705.30,706.24,710.71,718.58,716.06,717.77,727.10,729.10,
-732.64,742.38,738.70,748.62,750.72,758.81,762.30,767.27,767.82,775.30,
-777.04,782.30,786.46,788.84,796.27,804.18,805.35,808.69,809.06,817.88,
-821.07,821.64,829.40,834.54,843.79,847.28,845.26,845.39,859.38,861.14,
-864.44,867.35,875.20,876.40,878.35,888.73,889.30,890.98,899.41,908.83,
-909.86,909.71,915.33,920.95,925.78,929.70,931.02,937.65,938.51,949.89,
-950.07,949.72,961.52,964.03,969.14,973.94,974.96,983.47,977.78,990.44,
-992.61,997.80,998.69,1007.10,1009.02,1017.26,1020.52,1020.11,1027.19,1031.91,
-1033.33,1039.92,1048.84,1053.40,1055.33,1060.72,1066.59,1064.34,1071.99,1073.44,
-1082.54,1094.39,1088.47,1096.60,1095.61,1101.65,1099.10,1107.39,1119.14,1114.98,
-1124.51,1131.21,1131.76,1138.80,1133.64,1138.78,1143.83,1148.82,1160.73,1164.43,
-1162.40,1167.32,1166.10,1176.81,1179.96,1184.74,1189.14,1197.73,1201.03,1202.10,
-1206.02,1213.97,1217.12,1219.04,1229.00,1227.60,1232.39,1235.52,1245.44,1244.87,
-1254.87,1256.58,1258.04,1261.92,1275.04,1274.81,1276.36,1289.68,1290.23,1282.00,
-41.34,46.65,51.32,55.04,58.26,62.19,64.98,71.34,74.13,76.53,
-81.30,87.26,89.92,92.52,97.61,101.92,105.25,110.96,115.05,117.85,
-121.97,124.88,131.10,134.69,134.95,140.75,146.09,147.44,155.00,156.97,
-160.81,164.38,171.55,172.93,178.15,178.51,187.06,189.86,191.52,199.23,
-201.64,206.71,208.54,213.44,217.85,220.86,223.78,227.96,230.20,233.97,
-243.48,243.05,249.48,252.03,254.70,264.92,264.69,269.57,271.89,274.25,
-280.64,284.64,289.81,289.93,298.34,297.27,304.39,307.76,313.35,314.63,
-317.86,324.02,333.55,329.41,335.02,339.14,343.70,348.03,349.07,353.95,
-357.70,362.39,364.23,371.08,373.25,377.96,379.75,388.31,391.09,394.03,
-396.57,403.68,404.89,411.57,416.25,418.65,424.12,426.89,431.32,433.14,
-440.06,444.56,446.91,449.90,452.82,457.31,460.37,464.88,471.39,469.56,
-476.73,482.63,488.68,495.10,492.61,495.53,502.57,504.54,510.56,512.51,
-517.72,524.52,522.00,527.78,533.06,538.23,544.83,542.70,551.57,555.40,
-555.80,560.12,566.81,571.25,574.65,580.21,583.48,588.59,590.22,593.72,
-595.72,602.70,600.18,606.86,618.43,614.47,617.90,623.56,626.97,633.51,
-630.91,641.42,643.32,646.55,654.37,657.50,660.76,665.00,668.72,674.63,
-676.73,680.66,684.18,686.93,687.17,694.57,702.54,703.55,710.62,710.54,
-721.36,721.18,723.61,725.91,732.84,733.40,739.62,737.85,750.10,753.77,
-751.65,757.56,761.45,762.31,766.61,773.65,776.55,782.31,788.86,785.72,
-790.43,796.44,802.35,810.44,811.56,815.84,817.49,823.78,830.54,826.51,
-832.89,837.89,845.28,845.31,848.42,851.64,855.32,863.08,866.45,868.57,
-869.98,876.47,882.62,889.50,879.39,892.68,898.37,901.72,903.55,909.13,
-913.54,918.76,921.08,926.41,928.59,934.04,941.60,939.15,943.16,949.48,
-953.53,950.23,959.14,967.30,967.90,972.45,972.36,983.67,981.10,986.73,
-989.31,993.82,999.34,1006.00,1006.94,1012.13,1021.18,1020.01,1028.59,1028.28,
-1036.69,1031.41,1037.69,1037.44,1046.92,1044.14,1059.41,1056.82,1066.92,1070.15,
-1070.65,1074.57,1073.57,1085.08,1085.52,1089.45,1099.45,1096.21,1104.03,1101.54,
-1111.34,1116.21,1117.07,1117.59,1130.82,1134.28,1135.30,1133.00,1140.14,1141.35,
-1152.42,1152.33,1156.80,1161.99,1175.74,1175.14,1168.38,1182.09,1185.03,1188.55,
-38.79,43.03,47.12,49.15,53.90,57.72,61.78,65.98,69.45,72.19,
-75.37,78.53,81.36,86.39,91.57,93.97,97.47,101.60,104.77,107.81,
-111.49,112.98,118.90,124.35,126.46,129.77,132.93,138.45,140.06,145.12,
-148.49,150.14,153.97,159.88,162.67,166.05,168.01,171.46,176.62,177.89,
-184.13,188.72,192.57,193.65,199.69,199.65,208.75,211.60,213.28,218.81,
-221.31,221.21,225.77,231.26,234.13,238.80,243.76,246.97,246.86,256.14,
-255.55,257.52,262.27,264.05,268.25,277.78,276.20,281.63,287.75,289.81,
-291.46,297.38,298.08,305.62,308.41,314.40,318.93,320.27,321.37,326.68,
-331.76,336.22,333.91,341.89,340.08,347.94,352.92,352.08,359.00,361.74,
-366.46,370.69,373.38,375.04,381.38,383.72,390.21,395.48,396.10,400.18,
-405.83,406.85,410.69,411.31,413.64,421.72,421.62,429.88,430.99,431.98,
-436.74,438.57,445.22,448.83,452.64,457.04,461.53,465.40,468.14,469.92,
-475.93,476.43,483.36,478.13,495.76,490.77,497.90,506.45,506.38,508.99,
-510.51,510.53,515.98,519.15,524.68,530.29,531.58,531.95,539.16,547.79,
-549.89,550.42,550.68,559.21,559.37,566.45,569.10,573.55,574.77,576.36,
-578.38,589.33,594.89,594.36,600.69,603.79,606.47,606.97,614.02,620.07,
-621.66,623.25,623.84,633.14,636.99,638.28,639.12,648.90,647.06,653.75,
-657.77,657.95,664.25,664.15,670.21,670.14,677.31,685.08,684.73,691.65,
-696.46,693.59,697.31,702.74,705.76,709.74,708.25,720.91,720.99,726.20,
-730.54,733.09,732.37,743.98,740.06,748.68,752.93,751.51,764.34,764.83,
-770.11,770.45,770.20,773.88,777.76,781.09,785.82,784.44,792.14,795.03,
-797.32,801.78,811.61,811.37,819.63,822.56,823.25,825.26,829.46,834.00,
-838.96,841.87,842.00,845.85,850.91,850.78,861.72,860.05,866.24,868.52,
-872.88,878.26,884.83,887.11,885.49,890.13,893.94,898.86,900.83,906.11,
-914.46,922.19,917.16,919.77,928.94,924.00,932.59,941.00,937.70,941.76,
-946.78,948.55,956.78,958.83,962.31,972.37,976.54,964.53,977.34,976.94,
-984.69,985.99,986.62,997.01,998.34,1004.74,1007.79,1018.55,1012.91,1019.18,
-1020.63,1023.69,1022.74,1029.52,1031.40,1041.76,1031.78,1042.51,1050.03,1051.13,
-1055.56,1060.46,1059.53,1074.68,1070.40,1079.03,1078.94,1080.96,1076.20,1089.06,
-34.87,38.74,43.81,45.48,49.09,52.91,56.04,58.79,62.96,65.16,
-69.64,72.65,76.27,78.54,84.01,84.91,87.68,91.26,94.17,97.30,
-102.29,105.79,107.88,111.92,113.46,119.55,121.31,124.02,128.50,131.53,
-133.95,139.70,143.16,146.18,149.34,150.69,156.14,157.71,162.94,165.54,
-169.25,172.30,173.18,176.50,184.61,184.25,189.81,193.13,193.69,197.12,
-203.28,202.92,206.55,211.68,217.31,218.33,220.86,226.27,226.28,230.19,
-232.85,241.68,242.16,246.55,247.30,251.30,255.17,256.52,261.43,266.79,
-266.98,275.75,278.56,278.61,286.32,282.48,285.11,291.40,294.11,302.31,
-299.61,307.04,308.48,313.17,313.27,316.21,314.85,323.17,329.02,330.20,
-336.56,340.82,341.78,346.62,348.47,348.68,354.68,357.00,362.77,364.12,
-365.64,373.43,375.75,381.18,381.10,382.79,387.03,390.52,393.06,398.78,
-402.32,406.70,408.74,413.53,414.93,414.48,422.05,425.25,429.93,429.02,
-439.77,439.73,442.78,441.89,446.17,452.50,454.97,457.16,463.59,465.08,
-466.27,470.30,474.02,477.62,479.98,481.20,488.64,490.67,497.15,500.09,
-499.55,505.75,503.43,509.32,516.25,521.02,517.20,523.12,527.36,531.35,
-537.46,536.40,542.29,547.00,552.59,553.69,553.65,559.79,564.16,566.96,
-569.27,570.60,577.45,578.20,583.49,588.28,585.59,590.49,596.97,593.68,
-604.57,604.85,607.19,610.70,612.75,620.00,624.50,628.38,628.38,631.76,
-635.86,637.10,641.43,639.46,650.81,653.82,656.46,652.82,658.97,663.36,
-666.63,672.08,671.42,676.06,677.77,679.12,691.42,690.38,697.78,693.52,
-701.41,703.26,712.53,709.15,715.30,717.77,714.74,721.63,734.69,730.75,
-730.90,733.93,739.67,740.75,748.54,752.12,755.28,757.21,763.90,764.91,
-770.88,763.69,773.44,780.96,778.65,783.89,791.12,788.77,799.92,796.87,
-801.04,801.41,801.67,814.69,808.79,817.96,822.22,823.23,827.86,827.26,
-834.06,839.84,836.32,842.67,845.87,850.50,854.29,859.74,859.62,864.73,
-865.90,879.87,875.56,876.26,884.66,879.99,885.96,893.54,895.01,891.18,
-897.61,895.54,898.14,910.16,914.24,919.92,923.97,922.40,927.42,936.20,
-939.25,936.14,939.58,942.83,945.24,955.45,958.70,958.16,960.03,961.30,
-973.42,973.44,968.12,984.80,984.04,988.38,987.73,988.01,1000.59,995.36,
-32.10,35.92,38.32,41.13,43.80,47.64,48.80,55.04,56.28,60.10,
-61.44,66.23,70.06,70.10,76.18,79.71,80.94,84.21,88.77,90.04,
-93.83,97.33,99.14,100.33,104.31,109.53,113.72,115.91,116.81,121.59,
-125.82,127.81,129.36,132.83,134.25,138.80,142.36,146.80,146.68,151.38,
-155.10,158.20,158.80,163.03,164.09,170.26,173.55,180.61,180.41,181.16,
-184.75,186.66,192.71,197.05,198.69,199.51,203.43,206.12,208.46,210.71,
-217.78,219.48,222.31,222.21,228.89,230.80,235.44,235.93,241.62,243.12,
-247.11,247.85,249.60,252.89,255.10,261.24,267.55,268.77,270.91,277.82,
-277.51,282.52,282.63,284.41,288.65,289.12,295.78,298.94,300.22,301.96,
-309.30,308.54,313.82,314.33,315.88,321.39,324.81,328.51,335.06,336.47,
-334.81,336.52,343.75,346.95,345.71,348.97,357.17,358.76,364.79,363.34,
-365.40,371.04,372.81,376.81,376.80,384.00,385.74,387.60,391.05,392.66,
-397.99,402.96,406.35,404.12,410.87,413.24,412.97,422.85,416.67,422.85,
-428.11,430.05,436.18,440.25,440.68,441.13,445.30,448.15,454.51,453.64,
-454.97,463.42,461.23,469.22,475.40,470.71,479.07,478.31,480.75,484.43,
-489.06,489.38,496.08,499.35,502.48,505.05,507.05,512.47,511.62,518.75,
-519.78,520.10,524.51,528.48,526.96,536.71,538.06,541.03,540.77,551.06,
-550.98,555.51,550.32,562.34,563.48,568.30,569.66,570.13,575.30,579.47,
-586.32,585.43,587.52,595.29,597.45,597.46,595.18,607.57,603.91,605.08,
-609.45,616.01,618.70,618.67,618.64,626.80,632.14,632.23,630.68,642.72,
-641.45,646.73,646.04,651.85,652.75,656.69,661.55,660.53,660.66,671.56,
-668.02,682.40,675.50,682.24,677.92,688.74,690.08,689.55,697.20,692.43,
-702.64,708.05,707.03,709.55,709.24,716.13,721.26,723.86,725.52,729.10,
-728.29,733.57,739.87,739.10,745.92,751.35,748.25,753.42,750.19,761.87,
-765.64,772.25,768.99,772.22,774.38,773.45,778.50,779.85,789.37,790.72,
-801.13,802.34,796.76,800.19,808.62,806.24,815.36,816.74,820.99,822.29,
-821.84,829.02,835.24,830.22,834.10,835.41,841.89,845.02,848.16,858.35,
-847.37,855.43,860.97,869.61,864.10,865.00,875.67,874.28,875.47,885.87,
-880.53,882.26,884.49,894.98,900.02,892.99,905.93,904.03,914.20,915.02,
-31.21,32.06,35.17,38.09,41.87,43.40,46.45,49.98,51.36,54.30,
-59.03,60.55,62.82,66.19,69.41,73.94,74.64,77.68,78.91,82.94,
-84.21,88.55,91.11,94.05,95.33,99.92,103.33,105.45,109.38,110.80,
-113.45,115.82,117.91,121.22,123.18,126.67,129.17,132.99,135.42,137.74,
-141.66,143.26,149.42,151.00,150.11,156.39,156.55,159.28,161.18,167.11,
-166.99,170.35,173.18,175.09,179.36,183.91,185.03,187.59,190.67,193.39,
-194.55,201.02,199.91,203.16,205.90,211.02,211.89,218.30,219.71,220.96,
-227.01,226.73,225.25,231.96,232.07,238.13,239.76,243.92,246.25,250.91,
-251.52,251.16,257.95,258.26,264.68,264.71,269.04,269.90,275.16,274.92,
-283.71,281.46,289.42,287.10,287.00,291.85,296.35,295.76,306.63,305.17,
-307.21,309.43,314.66,318.46,320.62,321.92,326.23,327.26,327.33,337.41,
-330.95,337.94,340.77,341.81,347.10,350.98,352.57,355.50,364.72,355.27,
-362.53,372.00,372.89,371.61,375.15,380.43,375.96,386.31,384.46,395.46,
-388.73,392.44,396.45,400.21,408.02,406.94,409.03,406.46,408.55,412.42,
-416.78,421.04,425.87,431.64,432.02,435.14,434.19,438.95,443.76,441.92,
-447.59,448.31,455.74,456.41,459.94,459.21,461.72,467.92,472.01,468.34,
-477.86,476.02,480.35,486.15,486.18,485.72,495.24,493.70,494.26,497.43,
-503.90,506.92,507.02,512.66,518.99,518.30,515.83,522.44,527.52,523.86,
-530.31,532.73,531.64,539.41,539.60,547.32,548.25,549.07,550.30,556.09,
-559.05,558.52,570.71,561.10,566.24,571.32,575.30,578.57,576.38,577.63,
-586.32,590.33,587.66,592.22,595.93,598.86,603.78,608.15,608.86,612.54,
-616.55,615.49,611.74,621.99,620.06,620.95,632.83,628.96,637.75,632.83,
-644.81,642.32,646.39,649.68,655.63,653.46,655.11,659.28,662.08,668.03,
-665.44,675.67,683.16,678.97,678.58,686.19,688.29,692.40,694.21,699.67,
-693.62,703.70,709.53,699.51,706.43,715.75,713.98,720.38,716.75,725.87,
-723.39,727.80,732.31,731.31,732.76,738.77,742.13,744.72,738.69,751.34,
-752.01,753.90,757.44,756.57,759.74,768.88,763.25,769.70,775.04,781.39,
-783.68,782.31,782.58,787.60,796.03,793.55,795.78,799.46,802.66,808.17,
-806.78,821.77,813.85,817.38,820.62,819.82,821.18,823.96,828.63,842.92,
-26.85,30.66,32.85,33.81,37.23,41.17,41.88,44.59,46.77,49.62,
-52.69,54.69,56.71,58.58,63.05,65.11,68.54,68.54,73.09,75.09,
-79.22,80.16,81.41,87.53,88.22,90.84,92.43,93.31,96.90,99.57,
-102.56,107.63,109.80,113.09,112.21,118.73,117.82,120.73,124.33,127.87,
-130.47,130.90,133.05,138.64,138.13,141.20,144.91,146.98,150.55,152.04,
-152.02,155.67,161.90,163.03,165.13,165.98,171.62,174.03,175.99,177.11,
-180.64,182.46,188.20,186.99,190.36,191.84,196.70,199.24,200.31,202.37,
-203.13,206.18,208.03,212.09,213.72,214.74,217.17,221.15,225.92,227.58,
-224.98,231.69,236.60,234.81,237.98,241.32,247.47,247.37,248.41,248.88,
-254.94,259.22,263.30,259.75,266.16,265.00,269.22,268.91,273.21,276.32,
-280.94,286.24,289.46,291.08,289.59,292.11,295.79,299.20,302.56,307.79,
-305.62,306.48,312.57,318.37,314.10,318.07,320.17,323.97,327.69,328.53,
-330.65,339.92,330.54,342.66,345.28,345.41,350.19,351.79,349.34,348.72,
-359.32,364.28,364.93,366.77,368.14,367.80,375.23,373.31,370.36,379.15,
-381.74,383.72,384.66,390.96,388.60,394.93,399.16,400.64,402.29,405.09,
-409.08,414.18,415.16,412.43,420.11,421.40,416.22,426.35,426.63,431.58,
-434.90,435.58,441.29,440.98,440.88,443.24,448.40,454.20,452.90,452.36,
-456.75,459.53,463.62,468.41,470.30,475.13,479.78,473.60,477.66,480.25,
-483.09,481.41,481.59,494.15,490.37,497.15,495.77,496.57,510.92,505.87,
-505.86,509.70,513.51,515.36,520.11,526.50,526.90,522.77,536.19,529.73,
-535.02,534.13,542.15,534.23,544.07,548.23,545.97,554.78,560.17,558.95,
-554.41,563.04,561.87,564.95,571.59,570.94,579.34,571.91,581.41,582.47,
-584.81,589.85,589.79,599.37,591.65,593.17,598.33,605.95,602.32,612.95,
-609.83,612.38,609.35,617.47,617.46,615.84,626.80,629.51,632.42,635.65,
-636.76,639.14,640.70,642.99,644.78,649.34,648.40,647.45,654.84,662.81,
-663.03,660.85,672.90,673.29,678.11,677.80,678.31,681.66,674.69,684.74,
-683.92,689.99,694.42,689.21,700.83,700.63,695.25,705.93,708.20,712.91,
-716.92,720.27,715.73,714.52,726.26,724.24,724.74,733.08,736.28,734.72,
-737.53,740.18,741.41,746.39,750.67,757.24,758.33,756.42,758.67,762.26,
-25.89,28.21,29.70,31.70,34.63,36.73,37.38,40.71,44.53,46.91,
-46.30,51.07,52.59,54.77,57.79,59.76,60.94,63.40,66.48,67.87,
-71.24,77.26,75.25,77.10,78.92,82.58,82.78,86.30,88.97,91.50,
-93.65,98.67,98.03,99.55,101.22,105.96,108.45,111.65,112.01,113.82,
-118.82,119.91,121.40,123.03,124.44,133.02,130.79,134.81,134.45,138.28,
-139.00,141.47,143.72,150.09,154.58,151.00,157.54,158.49,156.17,161.27,
-163.90,165.03,166.61,170.76,172.94,176.81,176.29,180.30,185.41,182.15,
-184.39,189.23,194.01,192.65,198.21,197.49,199.86,201.61,204.11,209.26,
-208.86,211.82,215.93,220.89,221.30,222.27,221.50,228.23,229.68,231.50,
-237.01,236.66,236.01,236.05,241.84,246.46,248.40,250.51,252.81,254.31,
-259.05,256.98,262.00,263.62,271.11,266.45,270.50,269.40,273.45,271.94,
-277.73,278.73,283.11,283.45,288.99,291.23,293.78,293.29,294.62,300.22,
-300.57,304.93,306.52,309.90,309.61,310.46,316.14,318.99,318.30,319.86,
-322.34,329.31,328.72,330.66,335.29,340.49,338.65,342.14,345.68,348.91,
-351.58,351.90,353.33,358.29,353.47,360.03,364.50,359.71,362.86,372.70,
-371.59,375.29,374.66,374.69,378.56,381.18,386.99,385.80,388.03,390.19,
-391.98,396.89,399.36,403.46,407.62,404.82,410.68,404.43,412.02,416.24,
-422.53,420.42,423.78,427.35,426.43,430.53,433.68,438.35,436.64,439.14,
-440.90,442.35,449.16,450.80,446.76,455.13,456.49,456.85,459.61,458.69,
-468.59,469.73,469.68,469.83,472.43,476.60,481.86,473.51,488.16,484.65,
-483.19,487.98,494.97,495.93,492.18,495.34,497.06,503.02,504.21,509.30,
-511.64,515.90,516.13,525.41,518.90,523.62,523.57,522.48,525.01,536.70,
-526.77,529.60,535.81,541.80,546.48,546.65,547.02,549.23,551.18,552.84,
-555.69,562.68,557.62,567.62,559.88,567.96,568.52,572.73,569.01,576.71,
-579.37,578.82,586.65,588.20,587.50,588.25,589.44,595.35,601.96,595.45,
-600.22,606.37,606.84,607.98,616.28,608.36,614.84,619.27,619.70,629.52,
-625.46,624.98,629.66,636.04,635.72,638.53,646.98,644.03,647.15,647.30,
-645.02,658.04,656.08,655.76,657.32,657.27,659.44,664.50,667.29,663.09,
-670.79,664.31,677.52,676.75,681.12,686.14,683.71,685.61,686.05,692.51,
-21.81,24.42,27.30,29.30,30.28,33.49,34.28,37.43,38.17,39.91,
-44.41,44.69,46.01,48.95,52.28,54.87,57.08,59.68,60.91,64.79,
-64.38,68.64,69.02,71.97,71.54,74.07,77.08,79.03,81.51,85.75,
-83.79,87.21,91.08,92.92,93.30,96.00,97.05,102.50,102.93,103.08,
-105.92,109.68,113.80,112.50,115.52,114.80,118.12,123.00,127.26,121.12,
-129.79,130.22,132.81,134.11,134.64,137.87,141.70,142.19,142.80,143.24,
-150.96,152.26,152.08,154.24,159.22,157.06,160.20,163.24,164.27,166.56,
-170.83,174.34,173.95,174.65,177.68,177.74,178.63,184.03,185.59,190.75,
-194.66,193.21,195.38,197.75,198.99,202.10,202.19,207.77,209.21,214.54,
-213.16,211.59,217.66,216.46,222.23,219.29,228.40,225.97,229.05,230.47,
-232.89,237.60,237.76,239.38,241.13,246.39,242.09,246.66,254.88,248.49,
-254.88,256.18,258.09,261.22,256.58,263.70,265.74,268.64,275.18,274.37,
-276.52,279.24,278.69,281.23,282.81,282.68,290.26,288.32,290.82,293.37,
-296.56,298.24,302.70,305.62,310.31,307.48,309.20,309.31,312.73,309.49,
-313.77,318.25,324.69,325.37,329.70,323.20,330.98,327.88,333.16,339.65,
-331.83,335.33,345.63,341.51,346.32,350.79,352.89,356.63,354.81,357.20,
-360.38,364.37,368.60,363.76,368.76,371.51,367.02,373.09,373.63,376.00,
-378.47,381.14,383.38,383.31,393.38,388.90,387.19,397.49,399.17,397.40,
-397.08,402.21,407.44,406.73,410.23,414.83,411.65,411.80,422.77,413.87,
-414.16,421.61,427.63,424.34,424.22,427.84,435.44,435.63,437.55,443.28,
-443.83,442.30,446.63,450.07,452.57,455.64,462.02,456.38,454.08,463.81,
-461.79,461.08,469.40,474.84,469.56,473.30,474.98,479.93,479.40,486.66,
-485.72,487.72,487.03,491.94,496.58,491.50,496.88,501.12,500.39,505.37,
-508.10,501.06,513.97,510.42,517.23,514.88,517.30,520.82,520.04,528.30,
-530.98,530.22,526.78,533.07,536.75,536.30,539.84,542.25,541.90,542.73,
-545.53,551.09,549.32,554.25,559.05,554.87,557.40,565.65,565.66,564.17,
-570.02,570.80,572.16,572.35,580.50,580.19,583.64,588.98,590.22,584.53,
-590.70,595.65,598.40,594.59,598.45,601.37,610.13,613.10,600.64,612.20,
-613.45,610.37,618.53,615.61,616.43,623.47,621.23,629.71,622.46,633.51,
-18.78,22.44,24.74,26.98,27.84,30.98,32.80,34.40,35.33,38.40,
-38.94,41.64,45.89,44.82,46.38,50.17,52.22,54.49,54.48,56.80,
-61.56,61.31,63.60,63.46,66.19,70.42,69.74,72.79,73.22,75.93,
-79.26,78.33,81.09,83.81,86.26,89.56,87.92,92.22,94.56,95.10,
-97.56,97.12,99.26,104.07,102.92,107.23,110.85,109.61,113.56,114.22,
-115.18,120.37,119.50,121.82,124.93,127.08,131.95,128.54,130.93,133.66,
-136.60,140.60,139.26,143.88,142.29,141.77,142.56,148.02,149.44,154.11,
-158.08,154.66,157.56,158.23,160.40,163.99,167.67,165.55,171.20,169.74,
-170.15,173.82,176.29,181.76,180.12,183.99,182.92,185.59,189.68,187.46,
-190.51,198.59,192.18,196.25,203.01,200.37,202.11,203.34,209.74,210.57,
-214.29,214.06,217.06,215.66,219.84,218.06,223.51,221.26,231.69,227.45,
-232.30,238.40,239.97,242.12,236.86,244.47,241.43,244.12,248.90,250.75,
-256.15,251.19,253.45,254.32,255.60,260.04,262.51,265.71,263.79,268.78,
-269.11,272.85,272.18,273.52,283.21,273.30,280.28,285.20,282.43,282.04,
-289.26,289.08,290.45,289.87,298.00,301.60,297.81,301.73,301.51,300.19,
-304.70,304.25,311.97,312.20,313.99,319.67,322.19,321.54,324.32,321.82,
-325.46,329.75,335.20,331.22,333.84,330.27,333.27,338.08,345.57,344.70,
-350.26,347.19,347.87,351.97,353.21,354.87,354.20,363.55,354.33,364.06,
-372.19,366.17,366.33,366.30,370.43,378.84,377.38,374.89,382.94,381.57,
-387.68,382.46,384.38,388.27,389.96,393.86,398.65,400.25,399.45,404.45,
-399.67,404.00,405.64,409.96,415.50,416.18,412.93,423.83,418.72,423.11,
-420.87,418.92,425.01,432.36,425.58,431.80,432.16,432.42,440.43,447.61,
-438.41,446.63,444.49,449.39,451.09,450.24,452.41,451.11,454.21,454.21,
-458.53,464.74,463.35,468.60,463.15,471.43,467.67,473.04,477.17,473.74,
-482.36,479.78,482.48,484.85,487.86,489.65,490.27,492.59,493.67,497.93,
-500.81,503.66,496.35,507.01,502.15,503.32,508.74,508.30,510.48,510.32,
-514.60,517.25,523.40,530.32,526.51,529.11,531.83,533.04,534.17,534.39,
-537.07,538.70,542.44,538.90,545.21,546.72,543.90,545.92,547.06,557.04,
-557.00,555.95,559.00,563.87,561.57,562.80,570.75,566.38,573.80,577.06,
-71.79,80.38,87.09,91.81,100.47,107.70,113.92,121.07,126.33,133.87,
-140.81,147.64,153.61,161.16,168.35,173.07,181.78,187.91,193.25,199.26,
-207.50,215.00,220.69,226.51,235.55,242.96,249.02,255.52,261.45,267.38,
-274.26,282.38,288.59,294.64,301.73,310.40,315.16,322.68,327.96,337.07,
-341.02,349.33,356.73,362.46,369.82,376.59,384.92,392.05,396.95,403.26,
-410.17,416.62,424.62,431.71,436.77,444.28,449.97,457.52,464.87,470.72,
-478.32,486.24,492.74,499.47,506.96,513.40,518.62,523.96,531.65,539.31,
-545.87,553.20,562.60,565.52,572.18,581.45,584.39,593.92,597.42,607.98,
-612.43,618.66,627.14,634.59,639.81,646.96,655.04,658.98,668.83,676.16,
-680.89,687.88,692.86,702.58,703.83,712.85,723.86,727.25,734.18,745.17,
-746.57,755.34,762.69,769.54,774.41,779.39,791.01,796.26,800.39,806.53,
-815.40,821.60,829.85,834.45,843.89,850.42,857.95,864.43,867.92,874.11,
-883.38,887.29,893.79,904.94,913.71,920.35,922.40,930.52,940.01,942.17,
-955.03,959.97,962.97,972.16,979.07,986.73,988.50,998.85,1006.35,1013.19,
-1019.18,1027.82,1033.58,1038.52,1041.82,1054.06,1060.63,1061.25,1071.97,1081.11,
-1086.31,1092.27,1100.43,1106.89,1112.86,1122.25,1127.19,1131.34,1142.58,1142.71,
-1155.69,1159.43,1167.17,1168.91,1178.85,1190.67,1194.54,1201.85,1205.26,1211.36,
-1221.62,1230.42,1236.43,1241.08,1246.65,1249.89,1258.16,1265.54,1276.18,1279.63,
-1292.09,1295.57,1302.03,1307.33,1312.78,1321.79,1333.76,1336.66,1341.65,1349.54,
-1355.49,1364.72,1370.03,1373.00,1383.56,1393.87,1396.73,1407.18,1413.32,1417.17,
-1420.35,1430.58,1438.15,1443.50,1450.69,1454.96,1463.24,1467.99,1475.60,1487.24,
-1492.94,1498.75,1505.05,1511.39,1520.40,1524.25,1530.51,1542.36,1548.82,1556.45,
-1560.12,1564.37,1573.22,1582.52,1584.46,1587.78,1602.10,1606.40,1612.72,1621.00,
-1627.79,1635.45,1636.84,1643.97,1655.41,1662.27,1664.27,1669.33,1681.61,1689.76,
-1693.81,1701.63,1706.72,1718.77,1720.17,1728.27,1731.95,1740.94,1746.92,1758.09,
-1762.06,1771.17,1775.40,1785.41,1791.75,1796.17,1800.69,1810.90,1817.23,1822.84,
-1826.30,1835.04,1839.74,1850.03,1858.80,1861.70,1868.21,1872.25,1883.85,1890.89,
-1893.05,1900.88,1914.40,1915.96,1930.07,1928.15,1936.85,1938.36,1950.66,1958.27,
-1963.70,1967.65,1972.96,1977.70,1988.87,1999.96,2004.18,2013.40,2016.92,2025.61,
-68.55,74.69,80.64,87.85,93.10,100.51,106.20,112.89,119.50,125.46,
-133.88,138.14,144.74,153.08,158.24,164.28,168.76,177.69,181.65,191.23,
-195.90,202.80,208.14,213.65,222.50,226.56,235.30,239.76,244.97,251.00,
-260.95,264.45,271.70,278.89,286.23,289.30,295.52,300.38,310.36,315.46,
-321.64,331.15,335.83,342.72,345.27,354.34,360.93,366.50,375.27,379.74,
-387.62,393.15,399.13,403.19,409.93,415.70,424.39,429.58,437.26,442.68,
-448.19,455.62,460.78,469.72,475.43,480.91,487.65,494.60,502.18,505.06,
-514.03,517.63,528.00,528.52,539.52,545.12,548.88,556.46,559.07,570.14,
-577.57,582.38,589.45,595.11,599.83,609.01,614.15,620.45,626.12,632.29,
-637.43,645.46,651.96,657.12,664.30,670.80,678.54,683.60,692.22,696.11,
-705.21,711.38,717.76,720.01,724.86,732.51,737.56,748.35,751.70,759.38,
-763.78,776.20,778.64,786.33,792.26,794.66,805.10,815.00,817.14,821.75,
-829.75,839.37,843.95,847.77,852.23,860.15,865.11,873.18,880.61,890.53,
-893.60,898.55,904.69,909.34,920.72,925.53,927.26,942.62,944.73,948.00,
-955.06,963.43,969.12,974.56,985.48,988.11,993.46,1001.91,1009.12,1008.14,
-1023.71,1024.30,1026.70,1038.88,1043.89,1051.34,1054.75,1067.60,1073.71,1074.83,
-1084.54,1092.07,1098.26,1099.99,1108.27,1113.58,1121.06,1124.99,1133.69,1142.34,
-1147.46,1154.82,1158.29,1165.97,1168.81,1179.74,1183.44,1190.59,1200.53,1199.15,
-1212.52,1215.16,1221.74,1229.71,1236.44,1246.01,1251.02,1254.94,1259.88,1266.21,
-1273.29,1282.16,1287.70,1294.40,1301.07,1303.98,1310.85,1321.23,1324.06,1330.62,
-1341.13,1345.12,1350.17,1355.81,1363.13,1363.29,1376.61,1374.87,1390.26,1391.90,
-1398.95,1405.88,1413.96,1422.43,1425.63,1427.06,1441.75,1444.22,1452.29,1462.39,
-1464.41,1470.93,1482.30,1482.37,1490.14,1497.25,1500.34,1506.68,1516.47,1519.09,
-1529.37,1538.01,1539.80,1543.07,1551.07,1558.32,1566.92,1567.94,1575.62,1585.32,
-1592.23,1601.80,1606.91,1605.79,1616.10,1622.80,1630.68,1635.19,1644.88,1649.79,
-1656.62,1660.15,1669.08,1678.73,1675.10,1686.58,1687.85,1701.26,1705.33,1709.68,
-1719.38,1722.70,1737.09,1737.47,1737.26,1752.63,1758.77,1763.48,1766.08,1775.43,
-1782.48,1787.88,1796.22,1800.38,1808.41,1813.33,1816.06,1819.56,1839.83,1841.54,
-1839.85,1847.39,1859.32,1864.64,1870.20,1875.90,1882.00,1891.15,1895.23,1897.82,
-64.25,70.70,75.54,81.42,88.61,93.40,99.69,105.48,112.08,117.69,
-124.14,130.93,137.03,140.74,147.26,151.53,160.14,164.20,170.59,178.06,
-182.89,187.90,194.54,202.04,207.83,213.21,215.97,223.45,230.80,238.09,
-242.71,249.78,254.63,259.17,265.16,272.59,276.63,282.62,286.56,296.03,
-304.32,308.84,315.36,321.28,326.96,331.25,335.46,345.12,348.35,354.86,
-361.92,368.46,371.82,377.03,383.39,392.67,398.54,404.58,408.43,415.15,
-422.66,427.19,430.06,439.06,445.83,453.46,454.81,460.07,468.11,475.18,
-480.62,485.06,494.06,496.36,506.17,509.37,517.66,521.18,526.96,535.01,
-539.21,541.30,548.43,560.13,561.14,569.83,574.23,584.22,584.47,593.86,
-598.42,602.89,612.40,615.05,621.34,627.68,634.98,641.19,647.21,651.39,
-659.86,663.22,670.45,675.44,683.08,689.07,696.43,700.78,707.58,708.25,
-716.97,722.31,730.35,735.52,742.55,746.37,752.45,761.10,765.96,769.98,
-775.86,784.09,793.00,794.35,803.10,809.34,812.16,816.54,821.36,831.24,
-835.48,840.07,849.92,857.85,859.61,868.35,872.40,878.42,884.93,890.60,
-894.94,901.68,907.70,915.96,920.11,919.54,927.70,937.41,943.23,950.78,
-953.05,961.15,967.16,975.26,979.64,985.40,989.76,994.87,1002.88,1006.38,
-1014.68,1019.96,1022.65,1033.05,1040.23,1041.15,1055.75,1056.15,1060.79,1067.22,
-1073.40,1079.13,1090.91,1090.63,1099.45,1102.07,1113.56,1116.00,1119.43,1126.53,
-1131.49,1137.44,1147.66,1152.52,1159.28,1161.40,1170.87,1179.90,1177.24,1189.43,
-1190.94,1202.51,1204.49,1205.93,1221.53,1222.66,1228.91,1239.65,1239.47,1245.88,
-1251.82,1259.85,1266.16,1271.49,1274.69,1281.32,1289.96,1299.38,1297.38,1306.93,
-1311.58,1313.92,1322.02,1322.47,1336.38,1343.10,1346.18,1352.07,1357.53,1366.88,
-1372.69,1372.98,1389.27,1387.39,1395.43,1403.01,1406.61,1409.26,1418.69,1425.39,
-1430.41,1436.73,1444.34,1446.03,1455.01,1460.66,1464.30,1469.23,1477.75,1485.94,
-1486.44,1496.98,1500.78,1510.71,1509.39,1519.22,1525.87,1536.72,1535.70,1543.17,
-1549.33,1556.45,1560.18,1561.47,1573.39,1578.07,1580.29,1594.11,1594.42,1603.58,
-1609.16,1613.98,1616.73,1625.27,1628.02,1637.15,1645.10,1649.44,1650.86,1663.54,
-1668.53,1680.13,1679.56,1683.68,1693.01,1694.78,1705.94,1709.10,1714.87,1720.55,
-1726.70,1730.21,1743.99,1750.02,1746.37,1754.26,1760.57,1773.21,1777.10,1784.61,
-59.68,65.03,71.92,77.06,82.32,87.37,92.94,99.35,104.68,110.03,
-114.25,120.59,128.04,132.14,138.67,141.86,148.89,154.57,161.08,164.57,
-170.82,176.25,181.95,188.67,192.07,198.89,205.21,207.25,215.07,219.29,
-225.94,232.22,236.95,242.75,249.09,253.14,260.51,266.53,271.56,276.81,
-282.19,289.33,291.83,298.67,304.01,306.83,316.86,322.56,328.63,332.37,
-335.59,342.57,347.00,353.35,361.35,365.55,370.59,376.92,382.95,388.03,
-392.61,398.05,404.14,405.78,412.64,420.98,424.36,433.88,438.94,442.00,
-449.29,454.60,462.59,464.82,470.89,476.19,481.97,486.46,492.11,498.27,
-506.95,507.46,515.72,517.60,525.79,531.75,535.64,544.93,548.98,554.49,
-562.27,566.35,573.24,579.54,582.82,586.43,591.00,599.52,604.50,604.17,
-615.52,619.93,625.67,632.38,638.89,641.58,649.50,654.15,659.41,666.51,
-673.20,672.58,685.09,686.29,696.68,696.50,709.25,708.20,716.10,721.24,
-728.18,730.49,736.97,741.84,746.34,759.09,760.56,768.20,769.30,775.45,
-781.02,784.33,791.88,800.62,805.09,807.15,810.52,816.18,828.31,829.85,
-839.05,843.37,847.43,854.25,858.32,864.49,870.78,872.94,878.10,888.28,
-893.07,896.39,904.87,910.81,916.34,919.99,927.68,933.17,939.91,945.80,
-948.07,954.41,959.31,964.48,974.53,975.15,979.08,990.86,998.21,997.97,
-1005.07,1007.68,1012.32,1021.90,1022.79,1033.19,1037.35,1045.29,1046.03,1050.43,
-1059.12,1063.15,1070.16,1075.17,1077.47,1089.53,1091.89,1093.11,1102.89,1105.90,
-1112.29,1119.69,1122.93,1126.86,1138.08,1139.11,1148.90,1152.87,1162.89,1169.38,
-1171.79,1171.00,1179.96,1192.55,1197.61,1200.10,1205.06,1206.60,1217.66,1219.07,
-1226.41,1225.18,1239.59,1237.36,1251.33,1253.25,1261.48,1260.02,1266.89,1280.83,
-1276.45,1289.05,1291.04,1294.38,1303.93,1304.11,1315.18,1325.11,1323.35,1330.34,
-1340.47,1342.17,1349.27,1351.24,1354.91,1364.08,1369.48,1378.00,1386.11,1385.06,
-1386.09,1399.17,1403.38,1406.30,1419.61,1425.27,1425.15,1431.50,1435.05,1436.36,
-1449.46,1455.31,1455.86,1464.21,1466.49,1475.95,1477.01,1485.57,1498.41,1498.30,
-1501.35,1510.22,1507.48,1522.44,1526.61,1526.51,1537.00,1545.00,1548.09,1554.55,
-1549.60,1566.79,1567.50,1581.25,1582.66,1585.07,1596.31,1593.68,1603.52,1608.61,
-1612.78,1617.95,1628.40,1625.83,1637.66,1643.70,1650.46,1661.99,1660.50,1661.91,
-56.80,60.60,67.06,71.83,76.96,80.70,87.79,91.64,94.32,103.74,
-107.86,112.44,117.80,124.37,130.19,133.88,139.07,143.83,149.88,154.25,
-159.78,162.65,168.66,173.96,181.11,184.12,190.68,193.94,200.80,203.01,
-212.69,215.77,222.94,227.71,234.31,236.29,242.49,245.09,254.16,259.57,
-262.48,267.08,272.47,278.26,283.75,288.21,294.88,299.84,304.42,310.35,
-316.77,317.34,326.38,328.37,335.41,338.66,346.23,352.03,355.52,361.64,
-368.09,372.71,374.04,382.55,388.46,394.01,397.27,402.34,408.55,413.88,
-414.54,422.58,427.78,437.37,437.16,442.02,452.45,455.82,457.16,465.63,
-467.99,477.07,481.98,484.13,490.77,496.05,500.89,502.80,509.86,520.08,
-517.86,525.85,530.03,533.64,540.98,550.06,554.75,554.90,560.87,567.03,
-573.21,580.98,582.06,589.85,592.59,602.55,606.24,609.73,616.23,623.33,
-623.07,630.90,634.26,641.43,645.64,653.16,655.84,663.33,666.42,673.23,
-676.47,679.73,688.57,693.42,699.06,705.58,709.76,711.67,719.96,725.89,
-730.64,732.31,738.95,743.57,748.74,751.99,757.37,760.83,770.85,775.71,
-780.31,786.12,788.95,795.86,798.03,806.87,810.78,809.45,823.41,822.76,
-833.95,837.48,842.14,845.91,849.76,857.32,864.24,871.80,869.82,876.90,
-887.48,889.37,890.60,900.22,901.67,912.44,916.67,917.83,922.69,927.34,
-936.73,941.85,943.40,951.24,958.53,959.29,966.61,970.71,974.04,979.80,
-987.79,991.78,998.98,1004.74,1007.43,1014.82,1022.15,1021.48,1028.73,1037.50,
-1041.97,1043.89,1052.32,1053.33,1057.66,1062.43,1067.48,1073.84,1073.28,1088.86,
-1087.72,1091.21,1095.42,1103.46,1114.94,1120.98,1119.09,1125.29,1134.86,1135.80,
-1144.55,1142.71,1153.63,1153.43,1163.41,1167.48,1171.86,1181.62,1181.79,1191.14,
-1187.50,1197.86,1203.48,1207.53,1213.84,1217.61,1223.00,1234.04,1234.17,1241.35,
-1243.75,1255.36,1251.56,1260.85,1265.31,1271.00,1273.97,1277.14,1286.70,1294.74,
-1298.45,1300.54,1310.65,1314.38,1315.15,1324.05,1320.24,1334.70,1338.79,1339.50,
-1352.17,1347.86,1356.08,1364.39,1364.84,1377.75,1376.89,1392.10,1395.32,1396.72,
-1400.73,1409.12,1414.89,1421.16,1422.21,1427.87,1428.28,1442.60,1432.69,1449.63,
-1452.18,1457.20,1463.70,1469.02,1474.91,1478.99,1480.44,1494.80,1489.93,1499.52,
-1510.35,1512.17,1516.24,1527.30,1514.79,1529.48,1532.90,1545.59,1551.14,1549.90,
-52.31,56.55,63.50,66.08,69.92,75.88,82.11,86.94,91.26,96.18,
-100.40,105.48,111.53,115.18,118.16,124.34,130.65,133.14,138.93,143.55,
-149.92,154.26,159.18,164.59,167.75,171.97,178.58,180.46,184.43,190.52,
-197.91,199.79,208.25,211.38,216.30,219.84,228.65,229.93,234.19,240.50,
-244.22,248.98,252.92,260.85,263.54,269.97,275.50,278.47,281.52,288.47,
-293.52,297.15,301.80,310.37,310.32,317.34,323.88,327.57,331.87,337.16,
-342.29,343.66,352.43,351.32,360.34,364.96,370.56,373.20,380.82,382.45,
-392.29,393.20,399.89,402.18,409.07,413.32,418.47,422.73,424.47,429.62,
-441.79,441.38,448.82,455.10,457.04,462.50,463.25,471.93,474.06,479.63,
-485.61,495.08,494.79,500.71,505.19,506.26,513.18,518.33,521.86,533.75,
-532.42,540.24,541.17,550.09,554.18,557.15,565.06,566.28,571.14,572.94,
-578.03,582.29,589.57,594.21,601.98,603.38,613.72,615.35,619.44,625.02,
-626.08,634.33,634.68,637.20,645.56,653.55,658.34,657.21,667.43,676.39,
-672.21,684.50,685.37,689.19,693.41,698.96,703.39,710.74,719.11,722.23,
-725.22,734.71,735.35,742.37,740.07,748.26,755.19,764.37,763.51,767.49,
-774.85,774.98,789.16,788.74,791.24,796.37,804.58,808.63,814.51,812.00,
-825.96,826.96,831.63,836.81,844.19,848.49,850.12,857.43,854.32,867.59,
-868.43,871.96,880.82,891.06,889.55,892.20,902.98,903.71,908.12,915.60,
-917.76,924.51,925.71,932.42,937.47,942.83,950.62,951.41,955.95,967.03,
-966.40,972.60,968.40,984.98,986.51,992.57,993.46,999.24,1003.88,1011.36,
-1019.53,1015.70,1025.09,1024.62,1034.46,1039.91,1037.96,1045.85,1047.82,1054.87,
-1063.42,1067.10,1068.37,1072.85,1086.27,1085.33,1097.30,1098.92,1101.87,1107.41,
-1107.39,1113.91,1114.05,1127.30,1131.60,1136.44,1139.76,1141.71,1152.43,1153.73,
-1158.22,1167.66,1170.18,1177.46,1178.48,1185.76,1189.10,1189.93,1197.52,1200.91,
-1205.35,1216.56,1217.39,1218.56,1230.72,1231.45,1234.21,1244.06,1241.93,1251.51,
-1252.12,1257.99,1266.12,1270.41,1270.52,1282.03,1285.45,1286.00,1291.13,1294.12,
-1302.53,1309.91,1314.51,1324.34,1318.79,1325.65,1329.15,1341.02,1341.98,1342.47,
-1354.56,1352.77,1363.91,1367.49,1375.25,1376.61,1371.18,1380.02,1393.77,1396.24,
-1400.32,1402.16,1404.93,1416.09,1412.72,1426.47,1433.84,1435.62,1434.94,1443.69,
-48.70,53.05,57.23,63.60,65.57,69.65,75.83,80.46,82.73,89.04,
-93.41,97.56,103.25,105.56,111.52,113.64,121.32,126.94,128.83,134.36,
-138.12,142.44,146.86,149.28,156.00,160.69,163.84,166.70,174.67,177.89,
-181.51,187.06,192.28,192.56,202.13,205.87,210.81,212.36,217.05,220.82,
-224.35,231.82,234.07,241.53,246.65,249.88,253.96,260.17,262.22,268.39,
-271.07,276.86,278.06,286.88,290.25,295.66,295.80,304.36,307.16,310.12,
-315.60,319.35,324.84,327.73,331.37,339.46,343.72,348.30,351.91,356.16,
-358.75,368.42,370.52,373.13,378.69,382.14,389.28,390.14,396.16,403.87,
-404.39,410.12,414.45,420.37,427.43,429.95,434.11,435.46,443.02,448.10,
-450.25,458.25,456.30,469.09,464.31,470.88,479.87,480.93,485.24,490.52,
-495.69,497.43,503.27,507.75,512.09,517.99,523.33,526.29,528.56,535.61,
-539.69,548.04,549.64,556.57,559.58,561.98,568.01,573.03,574.17,575.72,
-585.98,586.08,598.59,595.76,601.63,608.13,613.28,619.00,622.28,624.76,
-631.11,632.03,640.46,647.72,652.46,652.46,652.78,657.70,659.74,670.02,
-676.53,684.06,683.72,687.34,690.46,700.27,701.06,707.37,714.10,714.83,
-717.75,720.22,726.93,729.54,736.94,744.52,744.54,748.97,754.49,759.65,
-766.37,766.30,774.49,777.51,779.90,783.84,787.43,796.99,794.76,798.98,
-809.32,813.61,817.99,821.83,827.69,829.37,832.53,840.84,841.47,847.12,
-854.49,860.81,861.16,862.59,871.50,878.12,876.70,886.27,883.99,891.85,
-896.03,901.85,908.55,912.31,912.86,918.21,929.21,933.55,931.69,933.33,
-939.98,947.15,945.54,958.23,957.35,967.92,972.93,974.16,974.56,978.91,
-986.70,988.79,995.38,999.82,993.28,1005.58,1008.14,1012.11,1026.06,1021.28,
-1025.23,1032.44,1043.44,1051.56,1048.71,1052.64,1054.79,1067.16,1057.14,1072.03,
-1078.26,1077.98,1087.95,1091.51,1090.48,1102.84,1105.92,1114.20,1108.96,1120.74,
-1117.05,1120.17,1133.31,1128.36,1141.10,1142.94,1143.89,1150.19,1160.49,1158.58,
-1166.43,1175.49,1176.15,1176.50,1184.37,1190.36,1194.14,1197.40,1199.08,1207.77,
-1206.67,1213.25,1222.82,1221.06,1231.31,1237.31,1236.12,1241.43,1248.11,1248.84,
-1257.88,1266.21,1254.98,1263.71,1272.51,1284.70,1281.66,1287.37,1298.87,1290.84,
-1305.82,1301.30,1311.55,1314.11,1319.17,1318.79,1327.22,1334.43,1336.79,1335.92,
-44.56,47.74,54.25,56.48,61.10,64.17,67.83,74.69,77.62,81.32,
-86.88,90.67,93.18,100.57,101.37,107.65,109.92,115.01,121.72,121.69,
-127.31,130.74,137.38,141.11,143.63,149.38,153.78,157.65,159.40,162.97,
-169.47,172.62,179.14,178.30,187.62,187.70,195.91,198.20,202.06,205.25,
-212.00,214.71,219.30,221.87,227.48,233.07,236.31,240.25,242.51,247.47,
-252.25,254.94,259.39,260.16,269.83,272.16,273.26,284.57,286.30,289.16,
-293.39,294.01,299.63,306.13,310.28,310.63,315.26,323.57,327.88,330.36,
-333.82,342.28,345.29,340.98,354.23,356.68,357.45,363.05,367.97,368.69,
-377.06,379.67,379.75,389.18,392.76,395.33,399.69,405.68,405.82,413.02,
-417.13,420.32,427.77,429.87,435.02,438.48,443.64,450.20,448.92,455.90,
-461.64,462.48,467.35,474.69,478.54,483.17,486.79,487.58,493.14,496.98,
-501.18,506.54,509.70,514.94,520.53,515.51,520.03,527.00,530.68,533.02,
-536.08,545.32,548.57,554.16,558.97,561.65,571.48,567.99,576.07,582.63,
-582.68,588.94,595.57,594.42,603.14,605.52,609.84,613.38,612.17,620.32,
-628.46,628.71,630.56,634.51,642.90,646.45,650.21,650.89,656.79,657.28,
-666.89,672.57,672.34,679.79,681.83,681.38,688.91,698.28,697.58,702.81,
-709.28,709.26,714.46,719.39,724.35,730.28,731.31,731.56,739.64,743.55,
-752.04,751.56,758.84,757.63,766.82,769.07,776.76,781.80,783.30,789.12,
-791.41,796.41,798.99,803.09,803.15,813.67,822.24,819.83,820.06,827.06,
-831.78,841.63,839.85,841.78,845.70,854.06,854.26,860.80,863.26,870.94,
-874.20,881.35,884.50,890.30,887.93,893.74,899.42,902.81,908.33,912.12,
-918.36,919.76,926.34,930.63,934.51,934.18,944.31,941.38,945.74,949.66,
-963.96,961.66,967.09,974.02,968.68,980.72,981.57,978.52,989.71,993.85,
-994.26,1001.43,1006.55,1008.46,1008.84,1015.12,1025.53,1023.98,1030.84,1037.78,
-1039.31,1045.11,1049.81,1053.84,1053.70,1059.46,1056.62,1064.98,1075.88,1072.45,
-1080.99,1079.66,1083.86,1094.90,1095.41,1105.29,1107.68,1111.38,1115.93,1119.98,
-1125.97,1128.08,1129.61,1139.77,1140.55,1137.26,1154.34,1151.63,1155.99,1160.83,
-1164.39,1170.54,1166.45,1173.71,1180.16,1181.80,1185.56,1193.26,1192.77,1206.37,
-1208.72,1210.35,1218.06,1218.78,1220.87,1231.40,1224.72,1232.42,1237.87,1238.28,
-41.35,45.29,48.26,53.02,55.19,60.47,64.99,69.31,70.09,75.29,
-78.77,83.56,86.38,91.54,94.45,99.77,104.02,108.93,109.45,115.48,
-118.73,119.19,124.31,130.61,133.58,136.70,141.14,145.59,148.30,151.59,
-156.24,162.99,160.17,169.22,169.76,176.91,180.03,181.88,185.06,192.42,
-195.34,199.72,203.73,204.84,209.64,217.71,217.90,221.63,224.06,231.02,
-233.55,237.26,242.10,245.36,247.29,252.19,255.53,258.49,267.29,269.13,
-273.53,277.31,282.06,282.93,287.76,290.05,295.79,298.28,305.69,305.23,
-309.20,319.30,317.44,319.12,327.02,330.55,336.19,336.94,336.58,347.78,
-349.16,354.40,354.20,359.60,362.38,372.46,369.07,379.27,379.54,384.21,
-384.57,392.33,398.05,394.98,402.66,403.92,410.33,418.53,415.08,420.65,
-427.21,432.07,433.18,433.91,442.35,439.69,446.07,450.33,454.86,463.37,
-464.84,470.23,467.04,476.09,481.02,484.53,489.71,488.83,494.40,495.03,
-505.37,505.86,508.95,510.74,521.01,519.37,528.20,528.55,532.66,537.61,
-539.59,540.38,547.09,555.45,556.85,560.79,562.39,563.62,564.04,577.78,
-581.37,578.80,587.55,592.55,595.67,594.20,598.96,609.41,609.74,609.29,
-617.02,620.18,619.10,625.62,629.32,633.56,636.96,639.39,647.10,651.36,
-655.14,662.56,659.59,665.48,670.38,674.60,681.07,679.36,683.23,689.57,
-691.73,698.75,698.62,706.95,705.76,705.73,713.50,721.25,732.76,724.52,
-731.06,741.77,739.61,738.68,744.20,753.05,755.92,761.11,759.62,763.59,
-778.89,770.58,782.78,783.64,785.98,792.10,797.33,795.06,801.89,806.38,
-812.98,811.22,813.93,821.24,819.39,827.77,833.49,836.10,837.47,834.70,
-849.48,850.05,858.27,855.00,857.91,860.68,871.04,878.51,874.57,883.17,
-885.27,895.60,889.53,897.68,902.93,901.30,908.06,908.19,914.07,919.70,
-924.10,928.31,934.37,929.41,935.38,946.27,946.74,952.05,959.75,960.06,
-959.65,962.55,967.01,971.87,978.24,978.60,982.26,994.12,996.36,993.60,
-994.65,998.76,1007.68,1016.92,1013.21,1021.25,1026.75,1031.02,1034.59,1042.85,
-1039.54,1037.19,1048.16,1044.62,1058.07,1063.11,1063.19,1064.48,1057.85,1078.77,
-1079.93,1082.79,1083.13,1087.51,1091.33,1096.27,1095.66,1101.84,1107.10,1110.44,
-1110.68,1122.08,1123.07,1131.03,1128.15,1131.42,1134.53,1139.00,1139.94,1148.13,
-37.87,41.54,44.68,48.93,53.44,54.86,60.28,59.84,67.82,71.61,
-75.80,77.93,80.92,85.54,88.47,90.62,94.32,96.48,102.98,106.94,
-109.38,113.08,118.04,119.67,124.30,126.30,131.99,133.02,138.39,142.31,
-144.35,149.13,152.82,155.58,158.20,164.99,168.57,171.45,172.55,174.50,
-178.36,185.36,189.10,192.88,194.89,194.92,200.35,207.03,212.94,210.99,
-211.15,220.82,220.11,227.23,231.99,231.90,235.89,237.10,244.67,249.79,
-251.06,254.80,258.28,266.23,263.86,266.68,273.08,272.40,277.36,280.45,
-287.86,292.46,292.81,296.20,300.14,302.96,304.78,311.12,314.00,318.85,
-320.29,324.28,329.80,334.72,337.71,341.67,343.32,348.64,348.23,352.26,
-356.41,359.56,361.25,364.37,371.31,372.54,383.17,380.91,388.48,390.72,
-387.60,394.17,398.70,408.46,406.66,408.92,411.70,419.79,420.79,426.89,
-434.31,433.44,435.23,437.16,440.85,444.25,450.71,452.25,454.18,459.05,
-465.38,466.01,470.08,474.04,473.21,483.68,489.27,487.52,489.07,496.80,
-499.73,501.46,508.51,510.87,511.14,514.88,523.22,523.38,524.41,536.66,
-536.91,536.78,541.09,544.56,544.39,556.50,559.99,561.10,560.62,563.45,
-568.88,570.97,579.71,577.97,585.80,586.86,591.55,595.18,597.92,601.05,
-605.04,610.66,609.57,611.94,626.46,620.13,623.64,627.99,637.21,641.83,
-637.14,639.82,644.16,653.97,651.15,650.64,664.61,664.16,669.76,669.61,
-674.51,682.26,684.55,686.99,691.47,694.40,697.58,698.76,702.96,714.10,
-709.00,711.36,713.49,721.48,727.78,736.22,736.80,741.24,738.25,739.58,
-749.92,746.76,750.79,756.80,762.36,760.34,764.34,774.89,779.38,775.35,
-781.32,783.71,792.09,798.26,792.66,808.21,804.04,803.38,808.94,816.60,
-819.99,821.73,828.90,826.50,836.13,836.95,838.54,845.24,845.92,848.66,
-854.74,854.80,857.16,858.20,863.76,870.17,871.29,874.92,875.40,885.51,
-885.82,891.48,897.72,898.03,898.46,902.50,910.00,916.63,918.52,923.51,
-921.64,935.01,931.04,936.71,934.01,939.08,939.87,951.52,958.50,951.93,
-960.07,961.50,968.35,971.12,974.39,981.58,981.68,979.27,988.22,988.29,
-992.93,993.43,998.37,1003.54,1002.76,1017.13,1015.55,1012.57,1021.30,1019.68,
-1028.55,1031.11,1033.31,1044.51,1039.83,1048.01,1046.71,1051.94,1063.80,1063.37,
-34.59,40.47,41.43,44.12,50.04,50.85,55.08,58.29,61.91,63.80,
-67.68,70.96,74.69,77.24,81.04,84.09,87.46,89.59,95.12,98.00,
-100.42,106.24,108.14,108.20,111.31,118.02,116.67,123.25,126.69,129.83,
-131.02,136.74,141.15,141.26,146.75,150.19,150.51,154.52,162.04,159.74,
-166.57,168.80,172.33,174.15,179.40,185.61,183.25,189.35,194.81,195.48,
-197.48,202.48,203.42,207.04,214.28,213.69,215.21,221.43,225.10,223.03,
-231.20,237.41,234.78,240.48,242.39,251.09,253.58,257.95,255.68,258.65,
-263.91,266.14,271.55,273.55,281.51,281.73,284.03,288.92,289.78,293.48,
-292.59,299.37,303.24,306.81,314.45,310.43,315.32,320.95,324.69,328.82,
-330.46,335.70,331.28,340.52,340.45,349.17,346.60,354.12,355.20,359.51,
-360.90,369.70,371.68,371.44,378.40,379.27,388.61,383.83,387.13,393.20,
-392.87,397.24,404.08,404.72,407.30,412.73,416.70,419.67,424.35,424.04,
-429.34,430.92,437.34,438.19,443.41,444.54,450.71,450.04,455.97,456.99,
-456.35,465.14,469.50,468.67,474.04,474.43,479.75,482.85,489.32,491.83,
-493.06,492.02,496.82,502.65,502.12,507.76,513.02,521.98,517.41,520.41,
-524.62,531.38,531.64,536.92,537.83,540.24,545.10,547.94,550.49,555.63,
-555.76,559.06,564.89,569.53,573.06,578.37,578.88,586.65,588.55,590.25,
-590.15,590.57,591.91,600.39,604.88,604.97,612.69,607.56,617.66,621.48,
-625.42,621.08,632.52,632.46,635.05,636.30,641.38,645.38,649.38,655.29,
-655.78,660.91,663.05,672.45,674.27,674.43,672.16,680.08,683.23,680.78,
-687.48,696.98,700.03,702.58,700.17,705.55,709.08,709.04,706.49,723.04,
-722.16,725.17,723.98,736.61,733.25,739.80,752.26,747.38,747.40,752.49,
-756.87,758.86,754.64,762.83,774.47,772.64,774.28,774.26,781.18,781.39,
-788.07,786.25,793.83,799.86,805.61,798.26,806.03,803.91,812.59,824.49,
-827.39,825.70,823.37,831.52,826.85,834.79,844.19,842.03,847.88,844.88,
-851.55,857.25,858.03,861.10,867.71,869.24,877.00,873.83,879.05,880.29,
-887.96,888.81,889.86,893.72,895.40,904.29,907.01,908.73,901.11,921.24,
-919.11,921.53,925.01,931.62,932.61,933.29,941.38,938.20,939.17,952.17,
-952.35,957.38,968.68,960.34,962.39,963.91,970.83,966.86,975.48,980.12,
-33.26,35.76,40.46,40.10,45.84,46.58,51.67,53.23,55.61,59.08,
-62.62,66.62,68.04,72.50,73.52,77.55,78.16,85.58,89.09,88.77,
-91.84,95.44,98.70,101.68,105.52,104.46,112.49,114.47,116.25,120.14,
-119.86,126.03,128.72,131.59,131.52,140.13,142.03,145.11,143.67,150.61,
-153.31,155.72,159.99,162.04,165.61,166.40,173.44,174.64,179.30,177.38,
-181.94,185.87,188.35,189.53,193.14,198.24,202.19,203.46,210.34,209.56,
-211.49,218.61,218.70,222.46,229.77,229.10,229.24,236.09,236.24,239.94,
-243.24,248.14,248.49,252.78,254.77,259.14,261.40,264.58,272.68,270.37,
-272.95,275.92,279.55,283.23,289.26,283.88,289.01,291.03,300.37,295.56,
-308.54,309.35,304.92,315.11,317.90,319.02,319.28,322.41,323.19,331.71,
-332.96,336.57,340.84,340.26,347.41,350.45,351.72,355.47,355.44,360.42,
-363.13,367.26,366.14,373.45,375.94,375.33,381.12,387.42,385.24,397.67,
-394.75,398.71,399.13,399.94,405.09,413.30,412.92,418.67,419.29,419.13,
-430.72,428.79,431.56,432.79,432.62,438.17,445.97,445.88,448.81,451.53,
-451.81,456.14,463.12,465.63,466.78,467.37,475.24,472.34,476.14,487.25,
-479.33,486.24,488.91,491.32,498.58,498.01,504.30,506.89,507.24,516.62,
-520.08,520.08,522.53,521.78,522.21,534.11,532.90,541.10,543.05,542.80,
-547.86,542.99,551.66,556.57,558.64,557.00,562.66,567.90,566.65,576.95,
-574.04,578.24,585.65,580.33,584.72,592.51,593.90,600.97,600.10,599.97,
-602.66,614.30,611.23,612.59,619.27,621.27,622.02,620.63,631.98,636.29,
-633.98,644.79,645.13,649.45,649.74,656.98,660.12,659.27,650.10,667.60,
-662.59,667.76,672.35,675.39,678.23,675.98,687.48,686.06,684.95,690.12,
-695.35,699.51,702.11,702.46,702.10,711.65,712.38,715.09,724.30,720.77,
-722.50,729.45,729.17,729.94,738.73,734.72,748.49,750.47,747.61,756.00,
-755.03,757.74,767.19,765.11,766.65,772.71,773.64,779.25,780.28,785.46,
-789.60,785.56,794.97,794.53,797.02,798.23,811.38,807.05,810.72,810.65,
-813.66,820.36,823.79,827.23,824.66,831.73,836.17,834.62,839.50,843.94,
-848.98,845.91,854.65,859.40,858.26,864.11,856.41,864.60,872.83,876.45,
-876.11,875.23,885.65,880.13,891.38,893.22,890.19,896.09,908.24,902.36,
-30.59,32.38,35.44,37.35,42.23,42.95,44.87,49.62,50.10,55.16,
-60.52,59.06,62.68,64.29,67.55,69.12,75.36,76.87,79.64,81.23,
-85.82,89.59,89.28,93.68,93.08,97.59,101.96,107.02,107.55,111.27,
-112.91,118.71,117.83,119.33,124.00,129.08,133.84,135.52,133.74,137.14,
-140.95,145.47,145.84,151.57,154.09,155.43,159.50,160.52,164.51,165.35,
-168.90,172.94,176.24,176.12,180.63,184.31,188.88,187.75,188.37,193.34,
-194.87,197.37,200.89,204.07,206.22,209.85,212.05,214.63,220.71,220.42,
-223.55,227.55,231.21,232.54,233.27,240.32,240.60,244.61,247.12,244.71,
-252.76,255.31,258.44,262.93,262.54,262.67,268.33,274.54,275.19,272.45,
-277.27,281.08,283.12,288.35,288.22,294.85,298.17,295.76,303.29,305.38,
-306.95,312.43,310.55,311.27,315.51,323.94,324.60,324.24,331.67,333.87,
-332.38,337.01,342.28,344.60,340.55,351.50,350.03,355.06,362.94,360.32,
-364.28,364.10,369.32,367.42,373.80,374.98,378.30,384.71,384.76,382.76,
-389.70,394.03,397.07,393.21,405.42,408.39,411.48,407.11,409.15,414.22,
-421.13,423.32,423.74,420.60,424.65,432.47,435.44,435.69,441.35,446.91,
-445.49,442.40,454.23,457.93,460.87,455.96,462.63,458.66,470.85,473.22,
-473.28,477.10,481.27,480.77,486.01,486.05,495.44,495.73,497.41,493.41,
-508.48,502.64,509.83,507.21,508.33,518.82,516.99,520.18,524.35,527.73,
-527.88,536.64,525.37,540.76,539.12,539.81,541.78,548.98,553.72,556.92,
-559.57,563.04,562.17,568.47,567.94,566.63,576.99,578.63,583.69,584.33,
-584.56,585.97,591.99,595.82,599.27,595.69,600.09,602.97,610.97,608.64,
-613.99,615.68,619.38,617.98,624.32,624.44,628.27,634.64,639.60,637.44,
-638.97,641.23,647.65,651.84,645.79,660.01,656.09,658.61,657.72,662.57,
-670.38,664.64,673.13,678.36,683.07,682.31,684.89,687.16,689.61,695.35,
-696.33,700.26,695.56,701.37,703.48,710.77,713.03,718.33,715.34,726.19,
-722.20,720.15,732.59,736.11,734.20,739.54,734.06,742.02,742.33,747.47,
-756.51,751.85,755.69,767.05,763.77,765.18,769.38,768.06,770.03,771.75,
-777.43,777.52,788.04,784.31,786.67,789.97,802.69,795.01,803.59,807.51,
-804.66,809.59,812.27,813.56,814.04,826.67,826.44,824.33,828.87,828.70,
-27.85,30.29,32.72,35.26,36.95,40.91,43.29,45.73,48.55,51.66,
-53.73,56.30,58.78,62.15,62.32,65.25,69.81,71.29,71.43,76.88,
-78.31,80.95,84.08,84.68,89.41,93.81,97.73,95.68,99.19,102.39,
-102.75,105.35,107.39,113.88,115.43,116.91,118.65,121.18,126.42,129.10,
-130.47,134.38,134.96,139.06,137.78,140.47,146.52,144.49,152.13,153.60,
-155.17,155.49,161.93,160.97,165.53,166.70,169.93,175.13,175.08,174.53,
-182.94,181.02,183.34,185.35,194.91,194.98,198.52,199.13,200.57,204.25,
-208.11,211.31,215.91,213.42,215.77,218.02,220.38,226.00,225.10,228.60,
-236.31,234.58,231.68,236.11,238.84,242.51,250.36,247.07,253.31,256.62,
-257.62,259.01,264.39,264.56,272.31,272.25,272.67,274.38,279.01,280.10,
-280.05,282.28,290.53,285.05,290.89,294.81,298.06,300.50,306.78,301.96,
-311.96,305.53,313.64,314.56,320.83,322.69,324.75,330.31,330.67,334.65,
-333.51,338.66,338.98,340.64,343.05,349.33,349.99,353.03,355.30,359.01,
-355.12,362.06,365.07,368.07,372.04,367.16,374.23,377.16,387.02,385.14,
-380.05,387.01,389.78,398.45,395.21,393.68,400.84,400.09,403.58,404.76,
-409.67,408.93,412.72,415.58,422.88,418.58,424.31,425.63,437.34,429.14,
-440.18,438.15,445.63,445.03,445.36,444.06,451.22,450.96,453.01,459.48,
-467.26,465.55,465.13,464.75,473.77,478.14,476.54,485.61,476.00,482.30,
-479.81,489.09,488.86,486.62,493.85,497.75,499.82,507.90,503.37,510.87,
-512.73,519.81,515.26,515.33,520.57,524.06,527.26,537.79,541.62,537.23,
-539.59,540.84,540.08,543.75,547.28,549.31,553.93,558.60,556.36,563.75,
-560.70,564.99,572.26,576.74,575.67,571.57,584.31,579.66,579.48,580.64,
-585.13,593.25,592.42,593.58,603.79,603.52,601.28,608.85,608.59,605.68,
-612.91,616.43,619.25,621.59,630.83,630.37,628.26,632.96,641.25,635.56,
-645.67,638.43,644.92,648.73,653.08,653.89,656.57,664.85,657.72,666.22,
-663.81,670.99,667.12,673.71,677.38,680.95,678.14,682.03,696.14,690.78,
-686.47,691.62,693.44,696.48,705.80,706.85,709.16,704.93,709.79,705.55,
-719.56,716.52,726.00,720.94,734.51,734.70,731.74,727.89,738.88,737.49,
-743.51,745.69,744.54,753.93,750.39,752.50,748.50,757.33,759.48,770.15,
-26.51,26.78,30.07,32.57,36.19,36.53,38.82,39.98,45.60,46.89,
-48.03,51.89,54.43,56.46,59.51,59.47,63.88,63.04,66.94,68.97,
-71.31,72.58,78.59,81.10,84.34,84.81,87.51,86.31,90.91,93.17,
-95.94,98.35,101.92,101.79,104.24,106.70,107.83,114.26,112.59,118.29,
-118.74,119.77,125.45,127.33,128.25,130.16,133.47,136.04,137.17,140.52,
-143.48,145.50,145.57,148.85,150.16,151.20,154.46,159.95,160.81,162.26,
-167.78,169.68,169.81,176.75,177.42,177.14,183.23,184.60,183.11,185.93,
-187.75,188.97,191.88,196.12,198.87,200.55,204.34,208.24,211.78,215.13,
-211.65,212.37,220.66,219.72,221.76,220.68,227.41,227.89,229.94,233.87,
-237.03,239.07,237.02,246.44,245.80,242.57,250.41,253.92,256.56,256.08,
-257.40,260.16,269.20,267.81,269.17,270.37,274.06,274.43,278.08,286.28,
-285.06,285.24,288.83,290.44,293.72,292.08,298.59,297.58,300.52,306.37,
-303.84,308.12,316.29,317.36,317.98,319.01,314.05,324.20,319.20,329.27,
-332.38,331.49,333.44,335.34,342.74,339.96,339.27,350.93,347.03,347.81,
-350.61,356.41,358.46,364.19,359.51,363.70,364.31,371.10,374.95,377.70,
-371.47,372.25,382.34,387.72,386.52,388.10,387.63,390.97,395.73,396.16,
-399.74,402.59,403.93,402.29,404.08,413.59,412.09,415.18,416.08,424.64,
-420.38,428.91,428.33,430.81,433.03,438.44,437.52,440.36,444.62,440.25,
-448.21,450.49,448.37,454.02,459.53,459.02,462.69,462.04,465.76,466.56,
-467.27,472.78,478.06,476.28,481.12,487.94,480.56,478.50,490.42,491.90,
-493.13,497.40,501.96,498.33,501.20,501.85,505.44,517.90,512.73,517.84,
-521.99,521.99,520.52,517.71,526.59,529.74,530.58,538.22,533.06,539.33,
-544.48,542.72,537.99,540.45,557.93,550.45,558.14,553.08,558.22,557.19,
-564.40,563.16,564.77,571.92,574.42,577.56,579.86,580.10,583.82,582.44,
-590.63,590.95,587.66,600.41,602.14,599.51,607.46,609.68,604.22,612.15,
-613.23,614.12,613.51,610.51,617.94,620.82,622.52,627.65,638.43,644.83,
-638.51,635.67,644.74,644.05,646.78,649.15,653.13,652.66,656.84,665.56,
-656.82,659.68,660.26,667.36,671.85,668.33,674.91,674.20,680.41,673.96,
-682.53,694.45,685.68,689.57,687.98,695.58,698.43,695.13,700.78,701.43,
-78.42,85.14,93.60,99.61,106.02,114.24,121.08,129.62,135.60,142.55,
-150.28,157.06,164.62,171.38,177.94,185.46,192.92,199.47,208.89,215.28,
-222.14,228.35,236.63,242.42,249.47,258.91,265.31,273.55,278.98,285.98,
-294.63,299.57,306.96,317.70,322.33,329.19,337.18,343.23,349.21,358.50,
-363.37,372.41,378.73,388.16,395.04,401.44,408.79,418.52,419.56,430.19,
-436.70,444.65,453.01,456.44,464.53,473.24,478.45,485.20,496.76,502.25,
-509.15,515.57,522.49,531.80,537.38,545.83,551.37,559.38,567.23,570.24,
-579.55,588.34,597.09,602.07,611.12,616.59,624.95,629.88,637.88,644.12,
-650.68,657.76,665.63,672.73,681.20,693.46,694.45,704.36,708.84,715.80,
-725.84,733.31,739.70,745.84,751.66,760.00,767.85,773.51,781.01,789.48,
-797.21,799.40,809.83,814.87,824.38,831.61,838.28,845.02,856.37,861.61,
-868.94,875.00,883.78,889.60,899.38,902.88,909.02,915.32,926.63,930.65,
-939.48,944.26,955.79,960.07,967.03,973.21,982.77,992.04,996.91,1001.62,
-1013.31,1018.00,1028.85,1031.34,1038.44,1046.03,1052.56,1062.56,1067.55,1075.44,
-1078.59,1087.54,1096.68,1103.90,1111.82,1115.21,1125.07,1134.20,1138.46,1145.18,
-1150.11,1158.92,1166.98,1172.60,1182.50,1191.67,1198.42,1205.77,1212.86,1217.87,
-1226.01,1235.61,1239.12,1247.48,1253.17,1263.58,1266.07,1276.51,1283.11,1294.05,
-1295.64,1307.33,1314.35,1315.38,1328.41,1329.45,1347.15,1346.84,1353.43,1360.69,
-1373.26,1377.80,1385.10,1392.98,1396.53,1403.74,1411.81,1420.42,1423.68,1433.82,
-1443.61,1452.23,1459.14,1465.15,1469.58,1477.29,1481.66,1494.35,1502.62,1507.63,
-1516.27,1515.17,1531.57,1533.70,1536.92,1546.88,1556.97,1564.63,1567.12,1576.30,
-1582.71,1589.42,1597.92,1604.59,1611.86,1619.77,1626.62,1638.57,1644.33,1650.65,
-1658.31,1666.26,1671.66,1676.25,1681.10,1691.33,1695.42,1706.74,1714.78,1725.73,
-1729.46,1734.14,1744.22,1751.46,1758.95,1765.53,1769.70,1781.08,1785.88,1795.12,
-1801.21,1807.18,1812.02,1826.21,1830.58,1832.17,1841.97,1847.90,1862.65,1866.21,
-1874.56,1879.06,1884.74,1891.24,1898.40,1906.97,1915.71,1921.24,1928.54,1933.92,
-1941.88,1952.54,1956.67,1966.48,1970.45,1977.05,1990.32,1996.06,2000.16,2013.47,
-2019.39,2026.98,2027.29,2037.80,2039.69,2051.92,2060.34,2064.76,2069.60,2080.53,
-2089.77,2091.76,2096.34,2107.63,2116.99,2124.19,2126.99,2135.43,2145.76,2152.63,
-74.62,81.95,87.39,94.44,100.64,109.02,115.24,122.90,128.07,134.29,
-142.76,148.55,155.41,162.54,169.55,176.53,181.49,190.30,196.03,203.61,
-209.90,214.81,221.54,231.11,238.24,243.29,249.42,257.87,264.24,269.63,
-277.94,285.67,290.49,297.43,305.69,314.16,319.14,324.67,330.54,337.99,
-345.16,353.02,359.78,369.12,372.16,380.12,389.12,392.57,400.65,406.14,
-415.90,420.72,429.46,435.73,441.87,447.09,455.14,461.23,466.35,475.14,
-482.48,487.51,494.23,502.23,509.93,517.78,522.63,530.56,534.92,544.17,
-548.30,558.24,564.57,570.22,577.52,582.84,591.63,598.43,603.70,610.00,
-621.16,623.70,632.15,638.02,646.76,651.51,658.36,664.46,672.48,678.80,
-689.16,692.82,700.71,702.67,711.93,719.49,727.28,733.62,741.07,747.82,
-756.16,761.24,771.58,774.31,779.50,790.58,793.70,801.36,807.84,809.35,
-820.22,826.38,836.08,847.78,853.01,854.82,863.24,868.69,878.47,879.18,
-887.73,894.11,903.11,909.36,916.60,926.21,929.07,939.54,945.06,953.42,
-959.65,965.87,968.05,976.88,985.68,993.80,1000.83,1005.72,1011.44,1024.01,
-1027.25,1033.09,1036.67,1041.25,1049.93,1057.31,1066.70,1073.85,1080.32,1091.03,
-1095.08,1099.02,1104.83,1118.55,1121.52,1128.32,1134.38,1138.09,1151.13,1154.80,
-1164.46,1170.08,1176.58,1181.27,1184.10,1193.19,1204.65,1206.80,1216.53,1221.03,
-1229.97,1236.91,1238.79,1249.68,1258.51,1262.93,1270.98,1275.97,1284.60,1289.56,
-1295.35,1306.64,1315.11,1321.68,1322.63,1331.05,1338.13,1345.35,1351.96,1356.42,
-1364.65,1371.61,1378.55,1385.36,1392.81,1399.06,1403.77,1413.14,1415.56,1425.76,
-1430.34,1441.24,1454.53,1452.26,1457.86,1466.19,1475.69,1486.52,1490.89,1496.25,
-1501.05,1507.44,1513.37,1521.86,1529.25,1537.47,1541.85,1548.27,1557.43,1566.97,
-1571.21,1577.57,1579.50,1586.91,1597.34,1598.78,1611.10,1619.41,1625.63,1626.26,
-1639.38,1647.08,1647.14,1655.22,1664.99,1673.80,1680.46,1681.52,1690.53,1691.67,
-1706.23,1708.39,1723.34,1724.72,1730.66,1740.01,1746.44,1754.39,1762.34,1769.62,
-1774.85,1780.01,1783.61,1788.15,1795.68,1810.32,1815.80,1824.27,1828.20,1837.10,
-1840.62,1848.68,1852.25,1861.14,1868.62,1874.87,1881.41,1888.09,1897.43,1904.81,
-1910.42,1920.36,1921.67,1936.83,1937.89,1947.99,1947.44,1961.24,1960.41,1969.45,
-1980.22,1986.54,1990.98,2002.20,2002.37,2012.74,2019.20,2024.10,2033.41,2036.57,
-70.57,77.52,83.76,89.57,95.55,101.89,108.87,115.30,121.70,128.11,
-133.48,140.58,146.34,153.27,158.98,166.39,172.11,176.32,186.02,190.09,
-198.21,205.28,212.17,217.97,222.96,230.19,238.09,241.58,249.61,256.78,
-262.25,268.71,274.87,281.60,286.19,296.14,300.92,306.52,311.51,319.72,
-326.79,335.28,338.48,345.95,350.96,361.20,367.70,370.48,379.67,384.39,
-389.86,396.42,402.91,411.40,418.74,422.55,429.89,438.31,443.24,448.91,
-454.00,462.69,468.77,473.80,481.76,490.15,494.98,502.16,507.01,512.79,
-522.50,525.91,532.82,540.48,545.21,551.53,557.28,562.60,571.64,577.08,
-583.98,589.74,598.92,603.86,610.84,613.07,621.31,629.91,635.53,642.60,
-648.74,655.42,659.32,669.88,675.72,682.25,683.95,690.54,701.41,706.72,
-709.45,720.41,725.09,733.53,737.71,741.34,751.02,757.29,763.50,769.57,
-777.22,784.24,786.66,796.19,805.18,806.17,812.42,821.24,828.84,837.06,
-840.68,846.84,853.65,862.65,867.44,870.66,876.73,887.13,896.52,896.02,
-906.34,911.66,917.43,924.13,931.31,933.32,944.26,949.20,956.32,963.63,
-965.01,973.80,982.08,990.91,996.92,999.23,1007.17,1016.68,1016.44,1030.52,
-1031.80,1038.23,1045.41,1051.10,1059.77,1067.09,1074.73,1078.58,1083.50,1093.84,
-1097.51,1102.06,1113.01,1119.36,1120.67,1132.86,1134.48,1142.16,1144.76,1157.85,
-1160.61,1167.54,1172.64,1183.19,1187.48,1194.16,1203.59,1206.90,1214.66,1222.68,
-1227.43,1229.48,1242.60,1243.79,1253.26,1255.93,1265.27,1271.69,1281.22,1282.63,
-1295.79,1294.22,1303.94,1312.96,1312.22,1325.83,1326.20,1335.95,1344.75,1346.72,
-1352.21,1362.45,1363.48,1373.09,1385.71,1387.52,1392.30,1399.42,1408.44,1411.05,
-1418.33,1424.59,1432.64,1438.32,1443.57,1456.10,1453.57,1466.13,1473.10,1478.40,
-1487.63,1485.54,1494.97,1504.88,1507.38,1516.28,1519.74,1528.86,1533.38,1539.94,
-1549.64,1555.67,1554.32,1566.01,1570.40,1577.63,1590.18,1592.47,1596.20,1609.78,
-1612.39,1613.14,1620.27,1634.71,1637.76,1644.36,1648.93,1658.99,1664.59,1671.90,
-1675.59,1678.91,1688.87,1692.92,1699.60,1707.86,1713.89,1720.38,1725.77,1730.45,
-1738.95,1742.91,1747.13,1760.15,1761.51,1769.05,1779.92,1779.27,1791.03,1793.11,
-1803.73,1808.00,1814.99,1820.61,1831.65,1832.48,1846.12,1843.92,1858.55,1861.96,
-1869.25,1877.09,1884.64,1887.65,1895.49,1902.80,1901.84,1913.23,1920.35,1926.03,
-66.25,72.61,78.16,85.35,88.85,96.83,102.83,108.56,114.25,120.35,
-126.49,133.45,139.53,144.91,151.67,157.17,162.84,168.76,175.32,180.97,
-186.90,191.44,197.43,203.29,210.30,217.73,222.37,228.02,235.90,240.82,
-246.99,255.66,260.25,266.27,271.99,280.70,283.25,288.70,296.23,303.39,
-307.55,314.16,320.12,327.34,332.30,336.93,345.93,351.16,357.60,359.70,
-367.63,374.99,381.37,386.40,392.20,400.75,403.79,413.39,416.06,423.08,
-430.76,434.88,440.89,449.17,454.66,459.06,463.67,469.34,475.87,478.34,
-488.41,493.43,502.66,508.79,516.01,521.57,528.24,532.12,540.51,543.64,
-548.90,559.57,563.74,570.15,576.14,577.93,584.18,594.94,599.53,606.67,
-610.16,620.25,620.76,625.65,630.44,642.36,646.27,652.92,661.77,665.62,
-673.59,677.97,685.01,692.99,692.45,702.57,709.16,711.55,720.26,722.51,
-731.38,737.96,746.42,749.54,758.71,759.85,767.58,775.02,780.72,785.97,
-792.68,800.06,804.34,809.96,815.80,824.06,828.09,834.93,841.12,844.89,
-854.98,861.21,864.63,871.84,873.92,882.50,890.69,895.48,900.50,906.27,
-916.15,918.33,925.26,929.09,941.86,947.00,953.63,957.93,965.82,968.47,
-970.32,981.36,986.46,996.19,1000.14,1007.84,1014.42,1016.11,1021.86,1033.66,
-1036.45,1041.51,1048.07,1053.43,1056.32,1059.37,1068.59,1079.50,1083.95,1087.74,
-1094.72,1099.48,1105.36,1113.96,1119.66,1126.41,1130.93,1138.54,1142.81,1153.47,
-1158.76,1165.06,1169.19,1168.97,1180.49,1190.87,1195.31,1201.89,1205.34,1212.76,
-1214.90,1222.78,1230.39,1231.98,1239.22,1247.20,1250.95,1260.04,1263.58,1270.31,
-1274.92,1283.42,1288.05,1290.73,1300.71,1307.66,1310.11,1319.64,1325.01,1327.41,
-1335.10,1347.01,1351.41,1357.68,1367.48,1367.91,1378.91,1380.52,1385.06,1394.43,
-1396.80,1404.13,1416.24,1417.92,1418.45,1431.54,1435.00,1441.31,1444.91,1453.00,
-1462.25,1465.68,1465.59,1478.40,1485.86,1484.89,1495.22,1496.51,1504.11,1518.06,
-1519.52,1529.75,1535.72,1535.00,1542.20,1548.98,1556.22,1565.48,1568.97,1570.80,
-1583.49,1586.11,1591.12,1600.03,1603.38,1610.30,1619.85,1622.30,1625.63,1641.76,
-1641.60,1645.05,1652.24,1657.89,1664.87,1669.08,1675.95,1683.53,1685.70,1693.19,
-1701.00,1708.85,1713.88,1717.39,1729.29,1735.21,1737.61,1745.40,1748.87,1752.62,
-1760.76,1766.76,1773.33,1779.62,1789.19,1795.07,1796.87,1810.64,1808.12,1817.59,
-63.42,68.49,72.82,78.83,85.38,90.65,97.27,99.55,108.00,114.09,
-119.78,124.92,129.50,135.92,142.22,144.40,152.77,161.75,164.54,170.59,
-175.68,181.12,186.85,194.54,198.44,203.82,210.02,214.59,219.84,225.43,
-233.02,237.06,242.16,250.59,257.28,263.91,268.74,274.02,276.97,284.66,
-291.90,297.08,300.91,305.07,311.16,319.81,323.50,327.73,334.59,337.57,
-347.04,354.95,357.49,363.30,368.07,378.69,385.34,384.38,394.33,394.09,
-403.90,411.12,412.81,420.19,424.10,433.41,434.99,446.69,449.57,459.36,
-459.37,462.02,469.28,475.98,483.76,490.89,496.65,496.79,506.75,513.60,
-519.56,523.80,531.92,533.56,537.90,545.01,550.57,557.17,564.61,569.45,
-572.75,579.28,584.80,594.28,596.19,605.81,609.38,617.09,619.72,623.17,
-628.42,635.55,643.50,649.62,653.55,659.28,668.30,672.41,675.92,682.69,
-685.16,688.40,697.06,705.73,712.62,716.96,725.67,728.67,734.97,738.23,
-746.60,755.19,757.10,764.81,769.20,772.10,779.36,785.02,795.77,803.54,
-805.16,808.50,812.58,819.20,826.30,830.66,834.43,843.29,848.65,854.64,
-859.90,859.68,869.98,878.80,882.33,885.87,891.31,893.86,907.12,913.48,
-915.51,925.41,929.09,933.06,937.28,947.74,949.44,949.22,965.11,969.25,
-973.86,977.95,987.65,990.34,998.34,1001.75,1010.01,1011.75,1018.32,1023.26,
-1026.08,1040.17,1045.14,1044.93,1052.63,1058.18,1065.62,1071.71,1077.39,1086.43,
-1087.14,1094.34,1098.28,1103.57,1111.25,1116.58,1124.94,1129.01,1132.01,1138.88,
-1143.88,1150.31,1156.17,1161.93,1165.24,1176.36,1183.10,1180.79,1192.32,1196.67,
-1202.48,1203.52,1216.12,1217.03,1227.72,1231.22,1233.36,1241.51,1247.25,1255.34,
-1258.64,1271.05,1268.09,1279.02,1284.64,1286.56,1295.68,1300.73,1306.07,1315.73,
-1313.31,1321.22,1327.58,1336.55,1337.27,1340.04,1351.89,1349.06,1354.18,1367.19,
-1373.96,1382.36,1384.24,1386.01,1393.35,1401.54,1408.91,1411.62,1417.88,1421.41,
-1430.03,1438.05,1438.05,1448.61,1450.09,1454.91,1466.85,1463.60,1472.70,1477.43,
-1490.46,1494.64,1499.59,1503.78,1507.29,1518.49,1519.79,1527.22,1532.61,1536.92,
-1541.74,1550.12,1558.13,1559.49,1569.43,1574.01,1578.44,1588.32,1595.78,1592.07,
-1596.90,1603.66,1613.62,1617.56,1620.01,1630.07,1625.95,1644.21,1645.68,1648.38,
-1661.42,1663.54,1664.45,1670.05,1678.96,1682.63,1694.81,1691.84,1703.69,1708.21,
-59.24,63.67,68.33,74.11,80.50,84.29,89.34,96.37,102.55,106.40,
-112.38,116.88,122.63,126.55,134.01,138.43,143.25,150.96,154.53,160.57,
-166.55,170.53,174.29,180.97,185.67,190.97,199.13,204.13,209.87,212.48,
-217.50,224.60,228.99,234.84,239.68,244.86,248.39,256.36,260.60,268.10,
-273.51,277.71,282.93,287.23,293.36,300.59,304.59,308.61,316.92,321.58,
-328.93,332.82,335.19,341.33,346.07,355.12,360.33,361.97,369.77,374.98,
-377.78,385.44,389.73,392.83,405.60,407.66,409.92,413.01,420.12,427.23,
-434.35,437.45,443.49,447.24,452.23,457.29,465.06,469.77,476.19,481.27,
-487.12,491.05,494.34,508.40,507.25,512.74,520.87,524.10,529.88,538.40,
-545.11,542.26,551.07,555.86,559.33,565.22,572.81,577.65,586.08,588.43,
-591.80,598.24,605.10,610.53,616.92,620.91,627.21,633.44,638.85,643.10,
-645.35,652.73,655.76,659.23,671.15,677.84,682.02,684.19,690.00,692.03,
-700.62,707.25,710.47,719.59,724.08,723.92,735.83,734.95,742.60,746.81,
-753.05,751.48,767.92,769.53,771.80,782.50,786.08,793.06,799.31,801.49,
-804.89,815.01,816.97,823.04,824.78,835.99,841.16,842.21,850.30,856.40,
-860.15,864.50,874.75,877.69,881.99,888.23,894.28,899.38,903.83,908.96,
-914.83,916.77,926.23,930.40,938.21,938.43,948.93,951.83,955.02,969.09,
-970.62,972.06,977.25,984.71,989.01,991.73,1001.93,1006.54,1012.78,1019.67,
-1019.63,1030.66,1028.61,1038.83,1052.02,1050.22,1051.48,1059.82,1066.94,1065.72,
-1071.66,1080.06,1083.77,1085.75,1091.89,1103.04,1108.59,1114.36,1118.48,1122.95,
-1129.27,1134.09,1142.12,1140.87,1147.78,1151.57,1161.40,1167.77,1171.87,1176.97,
-1182.83,1181.31,1190.25,1203.80,1202.65,1204.92,1215.60,1223.59,1225.83,1230.77,
-1239.71,1238.22,1245.18,1253.29,1253.19,1260.54,1269.65,1279.07,1275.18,1280.66,
-1291.04,1295.38,1297.99,1303.96,1310.79,1316.29,1317.03,1328.47,1331.28,1344.04,
-1342.04,1342.96,1349.97,1362.55,1356.27,1365.84,1376.64,1378.07,1384.39,1394.23,
-1396.46,1407.44,1409.25,1410.26,1417.46,1415.71,1430.70,1438.41,1442.24,1447.25,
-1448.63,1452.83,1456.85,1467.28,1473.15,1476.21,1486.87,1486.87,1494.93,1497.40,
-1500.75,1508.54,1510.90,1518.34,1525.84,1531.93,1533.00,1535.65,1543.06,1545.31,
-1559.73,1561.91,1566.99,1566.57,1575.95,1581.91,1586.21,1592.86,1592.40,1599.78,
-53.82,59.06,65.90,68.94,75.61,79.22,85.22,88.85,95.42,99.75,
-103.37,108.02,115.68,120.14,124.32,130.78,134.19,140.14,144.56,152.20,
-154.18,162.21,167.04,171.84,175.31,180.70,186.01,190.19,196.02,200.70,
-204.83,208.89,215.09,220.72,226.16,233.56,234.90,239.00,245.19,248.65,
-256.67,263.74,267.31,270.89,274.47,280.88,284.07,293.97,294.62,298.32,
-307.43,309.15,316.08,318.79,325.87,330.72,336.15,340.41,343.51,353.64,
-355.39,362.19,366.35,370.36,376.49,381.75,387.54,391.48,397.50,401.00,
-406.25,409.59,414.46,418.52,423.36,432.97,436.39,440.99,442.63,450.89,
-455.49,460.98,464.59,471.31,473.25,483.31,490.35,491.89,494.83,502.18,
-502.96,512.95,514.43,521.13,527.56,528.53,536.45,541.78,547.81,549.34,
-554.29,562.15,567.84,573.38,576.57,581.38,588.49,590.47,599.79,600.33,
-600.25,610.78,619.81,622.93,629.08,630.80,638.17,640.55,645.72,654.48,
-658.63,658.55,665.47,671.43,674.26,681.50,685.95,691.73,696.80,700.53,
-704.15,714.36,717.60,723.36,726.90,729.74,741.34,744.38,743.55,756.20,
-757.62,763.14,766.38,773.60,781.71,779.84,786.00,792.25,797.62,805.78,
-809.18,815.26,816.78,823.70,824.42,831.95,840.09,845.53,848.14,851.27,
-856.93,866.07,869.38,876.57,877.36,880.72,887.14,891.75,896.61,902.17,
-910.72,915.38,911.55,922.05,933.44,931.72,934.76,942.11,949.85,952.80,
-960.33,961.31,969.70,978.19,977.57,984.85,988.62,990.26,1001.14,1003.54,
-1007.80,1010.26,1019.37,1032.90,1025.95,1037.70,1041.70,1047.69,1046.80,1052.79,
-1055.77,1062.75,1066.74,1073.66,1076.34,1082.92,1088.05,1094.86,1104.67,1098.41,
-1110.56,1111.10,1120.17,1123.11,1134.65,1132.39,1132.35,1139.62,1151.82,1149.45,
-1152.75,1165.18,1165.50,1174.47,1177.98,1180.86,1188.98,1192.72,1196.61,1201.31,
-1210.26,1213.53,1217.86,1227.20,1228.59,1229.27,1241.41,1249.55,1251.84,1259.30,
-1254.81,1263.91,1269.20,1272.84,1280.61,1276.39,1287.18,1294.78,1295.93,1309.64,
-1312.19,1313.05,1317.56,1325.86,1327.59,1336.43,1341.35,1337.19,1347.01,1351.32,
-1362.97,1366.21,1364.04,1377.16,1379.68,1385.54,1388.86,1391.86,1403.49,1404.28,
-1404.68,1419.40,1412.31,1418.00,1424.94,1427.43,1439.16,1445.17,1456.08,1451.54,
-1463.25,1457.62,1469.26,1477.56,1478.54,1487.84,1481.87,1491.97,1498.26,1495.32,
-52.94,56.44,60.28,64.05,70.24,75.98,79.63,83.77,87.43,94.73,
-98.87,101.08,108.93,111.79,119.28,122.57,126.53,130.81,138.17,139.82,
-145.85,149.05,154.10,159.35,163.72,166.87,171.64,177.57,181.36,189.86,
-190.29,197.18,200.82,202.80,209.56,216.39,218.41,225.16,231.26,233.65,
-237.63,246.01,250.52,254.81,261.15,263.40,266.23,273.15,277.69,282.42,
-284.42,289.38,294.88,302.39,304.23,309.02,313.43,319.04,327.34,331.74,
-334.44,340.81,341.66,343.21,355.10,356.31,360.06,370.09,373.64,374.30,
-379.07,384.61,387.98,388.63,399.51,402.78,407.10,414.08,421.47,424.17,
-425.78,432.81,435.93,441.13,444.33,451.91,455.02,460.06,464.83,466.96,
-473.18,476.41,485.48,488.86,488.96,499.57,499.90,503.53,514.35,515.94,
-520.54,525.98,528.87,534.78,539.29,545.66,549.24,554.67,555.29,563.26,
-568.72,574.63,577.77,582.35,584.62,590.94,598.54,605.32,604.43,613.86,
-611.31,615.36,624.17,628.74,633.74,645.04,645.14,653.59,649.76,656.82,
-660.17,668.87,669.91,678.57,685.59,692.10,690.17,694.60,692.42,699.92,
-705.65,719.25,722.51,726.79,726.62,730.33,735.18,741.10,745.29,751.60,
-759.14,762.87,765.61,767.95,774.49,781.82,782.82,786.32,792.33,796.92,
-801.87,804.04,811.35,813.13,821.76,828.15,825.76,833.54,838.29,844.11,
-848.96,859.94,867.66,859.81,871.89,870.97,877.57,887.23,886.09,889.48,
-902.32,903.39,910.69,917.44,912.72,921.82,918.47,925.89,939.28,934.16,
-947.36,945.90,951.49,958.48,961.52,967.78,972.61,974.74,977.62,982.63,
-981.11,988.41,1000.74,1004.74,1014.34,1016.48,1013.94,1026.75,1024.82,1034.14,
-1035.38,1040.49,1041.88,1050.44,1054.95,1062.82,1068.19,1070.06,1070.22,1082.94,
-1080.22,1090.66,1098.56,1097.56,1102.56,1108.68,1106.53,1115.65,1122.74,1126.67,
-1137.19,1137.43,1138.62,1147.85,1151.15,1159.63,1162.63,1169.84,1169.28,1183.35,
-1179.79,1189.95,1188.61,1187.42,1191.46,1200.11,1202.89,1204.15,1217.08,1219.50,
-1225.34,1227.78,1239.08,1245.33,1242.18,1250.62,1254.38,1258.96,1256.92,1265.62,
-1277.12,1278.13,1279.41,1284.75,1287.00,1293.07,1302.12,1304.80,1308.28,1317.65,
-1327.13,1325.41,1332.97,1334.11,1334.63,1340.93,1351.69,1351.59,1355.44,1359.00,
-1368.26,1368.03,1377.96,1380.63,1387.36,1393.50,1382.98,1395.36,1403.95,1402.44,
-48.56,51.11,54.57,60.44,65.36,69.72,74.87,77.90,82.74,87.75,
-90.96,96.73,97.46,106.68,109.21,112.35,122.08,122.00,128.66,130.71,
-132.32,138.88,145.63,150.66,151.39,158.22,159.53,166.22,170.68,175.14,
-179.34,181.33,188.99,189.87,198.70,200.13,208.20,212.72,214.52,217.04,
-226.34,228.29,232.77,233.35,239.19,247.73,249.60,252.79,258.07,265.50,
-273.63,271.01,274.23,281.44,284.35,288.65,296.86,297.55,303.17,301.12,
-310.16,316.73,321.33,324.25,329.06,329.94,339.72,343.28,343.45,351.85,
-353.29,361.18,361.82,368.91,371.98,377.53,381.01,386.21,387.98,394.14,
-402.69,403.49,405.01,410.29,416.04,420.19,424.91,427.72,436.75,440.82,
-439.93,451.45,449.50,453.12,456.91,469.16,471.39,470.08,475.98,480.46,
-483.48,494.03,496.45,500.50,507.12,508.64,511.07,511.46,526.25,527.21,
-526.69,536.13,537.93,544.32,545.81,552.00,554.49,559.89,569.10,571.77,
-571.47,578.94,586.15,587.83,590.34,595.92,601.95,601.98,613.53,611.78,
-616.80,624.04,626.76,630.98,637.16,640.71,643.63,643.79,650.01,656.98,
-661.78,666.61,668.22,671.44,674.96,685.75,683.30,693.03,693.93,705.29,
-706.92,711.31,717.28,719.75,723.36,733.37,736.74,735.97,743.85,749.69,
-748.31,760.01,754.96,761.86,760.58,771.07,780.94,778.53,784.88,786.93,
-793.98,795.49,798.42,805.96,812.88,814.57,821.36,823.80,826.38,838.28,
-840.83,837.62,841.82,847.40,860.41,862.21,864.97,874.73,871.18,880.90,
-883.28,884.11,892.42,891.02,893.88,903.60,907.99,912.74,915.85,919.90,
-927.60,932.79,935.61,941.32,946.62,942.99,946.40,957.21,965.37,956.28,
-974.92,975.77,981.60,985.10,987.63,985.31,991.27,1002.34,1007.40,1003.10,
-1011.67,1015.08,1020.58,1017.80,1031.78,1032.51,1047.05,1051.17,1048.74,1060.50,
-1059.55,1068.25,1063.18,1077.60,1080.97,1076.95,1080.66,1086.00,1089.23,1096.42,
-1097.95,1106.77,1106.11,1111.69,1117.38,1120.55,1128.06,1134.21,1137.74,1144.54,
-1141.86,1154.88,1157.40,1155.96,1160.26,1163.48,1172.98,1173.73,1168.87,1184.62,
-1187.23,1192.52,1199.39,1200.04,1211.10,1211.78,1213.09,1214.07,1218.69,1229.34,
-1223.83,1238.68,1239.95,1237.86,1259.32,1256.64,1263.39,1267.09,1268.43,1272.13,
-1279.70,1275.86,1291.09,1287.11,1290.02,1296.21,1300.41,1305.22,1311.15,1321.17,
-45.59,49.05,52.52,57.71,60.48,66.09,68.32,74.15,77.11,81.78,
-85.21,88.44,92.19,99.03,101.89,106.98,109.02,114.32,119.06,122.38,
-127.48,129.44,132.87,139.90,140.60,146.43,149.22,157.00,156.48,164.00,
-167.19,170.22,174.08,178.80,183.67,187.25,192.81,192.43,198.02,203.95,
-210.40,209.81,213.98,218.66,227.85,231.79,237.08,236.05,243.15,245.42,
-253.28,256.13,260.24,263.61,268.79,271.50,275.72,277.95,281.05,285.14,
-289.58,293.57,298.16,301.48,305.81,311.46,316.07,321.55,325.39,330.45,
-332.67,336.25,341.13,343.47,345.81,349.67,354.07,363.05,363.61,368.49,
-371.62,376.27,383.02,380.82,386.83,394.98,398.12,398.03,405.61,404.24,
-411.11,416.75,417.41,425.69,433.35,433.65,439.65,441.13,446.91,448.50,
-458.95,457.39,461.19,466.74,473.80,473.03,479.63,484.56,486.46,488.88,
-490.72,502.99,507.44,508.18,513.66,516.55,519.17,528.41,530.10,533.79,
-533.65,541.38,544.40,542.74,552.20,555.57,558.73,568.45,567.48,570.08,
-573.42,581.61,582.54,588.75,592.30,598.44,602.58,603.90,610.24,609.48,
-618.79,620.95,626.07,630.56,636.02,632.64,642.68,650.74,652.62,650.39,
-663.58,665.71,665.67,670.24,673.28,678.16,685.95,687.88,694.05,693.60,
-698.18,700.30,712.17,713.72,716.67,727.69,731.07,721.54,730.60,734.15,
-740.78,745.02,749.39,750.90,753.84,756.19,764.80,765.83,768.59,778.12,
-780.42,785.79,793.08,801.08,802.16,804.86,806.49,805.38,813.91,816.74,
-825.27,824.71,830.44,830.99,837.34,845.65,846.87,850.85,853.20,860.71,
-870.74,872.16,871.04,877.46,880.79,874.37,883.08,890.13,893.50,895.50,
-901.34,911.64,915.35,916.43,922.00,925.06,925.96,927.95,935.03,942.52,
-950.46,952.11,948.41,954.11,966.21,961.15,972.34,980.61,979.77,990.22,
-989.19,989.59,988.99,1002.57,1001.21,1001.53,1010.69,1018.42,1019.57,1026.77,
-1026.93,1027.99,1036.46,1032.46,1048.41,1045.83,1049.10,1051.93,1067.69,1056.12,
-1064.86,1069.77,1080.33,1085.96,1085.11,1091.25,1094.80,1101.85,1104.25,1108.35,
-1107.27,1115.45,1114.77,1123.21,1125.63,1134.75,1129.20,1138.81,1151.88,1141.48,
-1159.01,1159.84,1159.43,1160.11,1164.28,1165.27,1176.36,1183.12,1187.63,1182.95,
-1191.48,1203.86,1200.74,1201.57,1212.03,1207.11,1213.87,1225.92,1222.42,1231.95,
-41.41,43.59,48.44,53.28,58.26,62.16,63.60,67.14,71.93,76.45,
-79.72,85.26,88.63,92.06,93.09,96.27,104.89,107.00,109.63,115.20,
-117.29,122.90,124.86,127.99,131.28,138.64,143.69,145.85,150.67,150.36,
-156.66,157.39,165.07,167.11,172.10,176.34,178.22,185.52,186.43,190.17,
-192.91,198.37,198.84,207.69,211.34,212.63,218.99,220.04,224.70,226.03,
-234.26,237.96,239.82,241.40,248.26,252.21,256.93,260.08,260.15,265.61,
-272.16,274.31,277.90,282.89,286.44,290.10,295.65,297.34,304.87,307.11,
-305.15,311.05,318.30,315.14,319.69,331.08,330.42,330.43,340.31,345.54,
-347.72,352.76,352.24,360.12,360.90,370.10,375.28,371.61,374.24,384.05,
-387.04,387.64,392.15,398.95,402.09,404.50,406.74,410.97,418.66,423.58,
-424.65,426.15,433.51,434.65,439.86,441.42,448.17,447.91,453.64,456.78,
-461.03,468.54,466.65,470.13,477.09,483.81,484.42,482.27,492.40,497.82,
-499.89,500.59,511.86,509.76,515.17,516.42,521.35,528.75,534.05,532.34,
-542.05,545.30,544.76,544.52,557.61,558.66,567.69,563.55,571.30,574.62,
-575.35,579.91,588.18,590.85,592.78,591.22,600.05,606.79,610.51,612.77,
-611.38,615.53,616.34,623.44,624.05,634.76,638.80,647.43,641.44,651.40,
-649.60,654.47,656.78,663.43,669.07,670.59,674.38,678.83,688.01,691.18,
-693.83,697.36,693.66,702.21,704.17,714.12,713.56,719.35,723.02,722.01,
-729.39,731.84,739.90,739.72,743.79,751.80,753.59,757.62,761.57,762.97,
-763.78,770.91,771.80,782.99,779.58,785.03,789.34,789.95,795.43,806.84,
-805.85,802.12,812.25,822.52,824.06,822.05,823.93,827.33,840.43,840.66,
-843.34,840.05,843.76,849.62,862.28,861.52,863.14,867.46,869.97,877.51,
-881.97,882.62,882.25,886.13,891.77,902.22,905.50,899.47,909.26,912.19,
-922.25,917.96,929.32,928.12,938.34,940.11,943.97,950.03,945.21,958.05,
-970.08,957.16,966.67,962.97,978.11,980.84,980.21,983.73,987.07,988.73,
-996.04,1006.76,1002.01,1007.89,1013.13,1013.24,1020.96,1027.03,1033.47,1032.11,
-1031.84,1036.98,1041.14,1047.85,1053.15,1053.67,1059.11,1058.18,1075.91,1069.05,
-1072.88,1070.11,1083.62,1082.95,1087.25,1094.68,1094.41,1100.16,1100.27,1109.14,
-1108.13,1113.97,1117.67,1113.20,1124.42,1131.12,1131.84,1138.19,1141.53,1153.11,
-38.72,41.76,46.19,49.80,53.13,58.78,61.08,63.86,69.62,71.32,
-73.24,79.62,81.56,85.60,89.27,92.29,99.59,100.23,104.40,106.73,
-108.19,114.54,116.66,122.46,124.91,127.75,132.43,135.36,139.83,142.51,
-145.66,149.04,150.21,154.96,159.53,161.98,166.83,170.56,173.51,182.96,
-178.69,184.19,187.16,193.38,197.46,197.26,202.49,203.03,209.70,211.25,
-217.75,221.90,225.34,227.68,233.09,236.34,236.19,239.62,243.87,249.13,
-257.70,255.88,256.28,264.28,270.08,271.72,269.36,278.60,278.54,281.54,
-286.86,288.82,294.58,295.21,302.41,303.72,308.90,312.18,318.22,317.41,
-322.15,324.24,330.12,332.83,337.75,343.85,343.47,346.53,352.91,352.70,
-356.78,361.15,369.00,372.56,372.38,376.03,383.57,382.11,386.54,387.67,
-391.92,402.61,400.43,402.69,406.34,411.30,415.55,417.65,426.26,428.34,
-427.49,435.33,436.42,440.76,441.29,446.76,449.03,451.88,458.65,461.37,
-464.01,466.81,473.70,479.18,478.88,483.37,483.89,490.70,488.11,497.46,
-498.94,503.63,507.87,512.84,517.88,517.49,519.40,522.64,529.87,535.39,
-538.74,536.48,547.83,544.02,554.72,556.27,559.00,561.19,563.86,567.26,
-573.05,578.02,582.44,588.16,584.20,586.99,586.14,592.63,606.34,606.45,
-601.26,610.19,615.16,621.99,617.28,623.02,626.51,631.02,635.26,633.49,
-640.78,650.19,651.13,653.87,657.11,662.44,660.72,660.65,669.45,674.35,
-678.45,679.84,687.97,690.01,691.07,691.81,700.45,703.31,707.52,705.43,
-711.67,720.31,721.12,730.89,732.55,730.76,730.65,738.19,741.22,741.92,
-752.44,759.04,759.41,754.46,759.50,762.69,770.11,781.83,779.55,780.01,
-787.09,791.03,792.34,796.86,799.78,804.90,805.56,808.79,818.71,818.35,
-831.71,829.04,828.75,838.22,835.85,842.22,842.23,840.13,844.53,853.96,
-854.81,860.00,860.75,867.84,872.18,877.85,880.57,880.94,882.92,887.40,
-899.11,899.38,899.59,904.10,904.45,904.02,916.44,912.46,918.80,921.63,
-931.10,929.44,932.20,940.34,940.55,948.00,950.05,952.85,952.99,955.14,
-962.77,969.03,963.84,977.20,973.80,973.64,983.26,990.92,993.81,998.79,
-1005.68,1008.17,1009.35,1008.90,1012.95,1023.61,1023.20,1032.35,1022.34,1036.73,
-1038.95,1036.73,1041.20,1046.69,1044.36,1047.00,1060.18,1066.11,1056.78,1059.03,
-36.63,39.76,43.32,45.85,49.02,53.67,54.96,58.47,61.96,64.21,
-69.13,73.17,73.87,79.03,84.00,87.48,88.89,92.44,96.07,97.84,
-104.48,106.01,111.72,112.56,116.54,117.72,119.89,127.73,126.60,130.69,
-133.62,138.75,141.27,141.31,149.48,153.97,154.34,156.62,161.61,164.30,
-170.02,170.89,177.42,180.72,181.07,185.18,185.74,190.12,194.94,196.55,
-199.13,203.36,205.92,210.10,214.69,216.30,222.80,224.71,229.59,230.36,
-234.21,237.80,240.67,244.80,246.97,252.44,253.01,258.94,262.00,264.34,
-269.89,270.01,274.66,274.65,280.44,287.54,288.80,292.32,290.98,297.69,
-301.35,300.53,307.27,308.65,313.63,312.87,318.90,324.60,328.51,328.65,
-333.44,335.55,336.25,341.08,344.93,346.29,353.67,358.21,359.07,367.32,
-370.90,368.91,371.99,373.23,375.32,378.77,383.72,390.93,392.87,395.19,
-399.46,402.79,403.79,412.12,412.19,414.50,417.89,423.71,425.55,434.84,
-432.89,434.34,439.87,442.59,441.00,450.81,451.01,456.95,463.08,464.41,
-464.95,464.89,472.26,477.00,483.70,479.19,484.51,490.44,494.95,493.90,
-496.67,505.75,510.03,509.35,511.60,514.56,517.88,520.98,522.00,529.22,
-532.70,539.87,539.12,534.63,541.35,546.95,548.99,556.20,557.94,560.25,
-564.10,566.26,568.55,575.15,580.11,580.24,588.18,588.69,592.88,592.09,
-596.45,597.07,605.81,603.07,614.47,610.73,620.23,624.27,618.39,629.85,
-629.58,638.88,640.80,640.41,640.69,646.30,647.04,654.84,657.32,661.04,
-666.51,669.60,671.74,673.60,678.46,678.29,682.15,691.29,688.75,694.47,
-696.64,697.68,699.24,707.18,707.41,714.21,719.05,721.16,731.15,723.56,
-731.84,738.88,732.34,736.40,744.06,748.84,749.65,750.61,756.14,757.19,
-767.30,762.61,766.38,768.24,776.41,776.81,783.97,779.42,791.07,795.16,
-796.52,800.97,802.93,812.98,813.72,811.20,812.23,815.69,827.49,829.16,
-824.26,834.65,837.95,841.53,838.47,846.46,853.19,851.44,853.51,859.17,
-869.38,868.29,871.03,871.17,878.87,877.74,883.56,881.54,886.40,901.30,
-892.73,897.85,900.31,901.18,905.83,914.91,916.99,919.77,917.59,916.67,
-933.76,931.15,934.89,936.31,948.24,955.83,950.13,952.44,950.26,959.58,
-965.00,960.88,973.57,968.81,970.78,983.99,979.41,987.11,982.60,991.37,
-32.57,36.54,41.04,44.06,46.73,48.82,50.84,54.95,56.51,62.33,
-63.05,67.34,70.82,74.44,76.50,79.46,82.23,86.03,89.54,91.44,
-93.71,100.56,100.63,104.45,108.17,109.35,113.09,113.78,117.75,121.30,
-123.78,128.10,130.10,132.87,140.32,143.82,142.98,146.53,150.95,153.47,
-155.34,160.43,164.05,163.59,170.69,173.06,179.81,177.07,180.70,185.51,
-187.39,190.89,190.90,197.89,202.01,201.06,203.76,210.79,209.12,214.13,
-218.83,221.39,225.87,226.41,229.41,232.83,236.10,243.07,240.10,246.28,
-246.45,253.44,253.97,252.72,257.85,262.90,264.10,274.33,270.62,275.28,
-280.43,284.81,283.94,287.31,292.21,293.93,299.98,298.00,304.61,305.68,
-310.65,311.59,317.10,317.76,327.54,327.49,328.96,331.59,334.32,337.22,
-339.99,343.79,344.54,352.33,352.14,353.75,360.43,359.31,364.64,373.84,
-370.03,373.55,377.16,386.86,383.18,388.28,392.34,393.47,394.89,397.46,
-405.06,405.40,407.26,413.10,415.26,417.77,417.37,419.08,427.09,430.63,
-432.20,431.98,437.96,440.24,444.94,445.55,449.35,458.84,454.72,463.16,
-465.79,468.83,472.41,470.64,478.39,472.97,479.21,482.80,483.78,495.18,
-496.45,495.21,495.87,506.29,510.77,513.67,516.76,511.50,521.06,523.64,
-521.64,528.36,536.01,531.20,535.32,539.22,543.00,541.60,546.36,553.82,
-557.61,558.32,555.87,565.48,560.32,572.12,575.65,579.48,578.96,587.27,
-586.34,590.03,595.70,592.84,597.13,605.43,602.44,611.50,607.74,617.85,
-615.76,616.42,623.70,623.97,637.92,633.41,635.92,635.36,645.49,653.13,
-646.82,651.98,650.04,654.87,660.30,656.88,667.05,677.04,675.05,676.24,
-680.64,677.64,686.34,687.12,692.21,690.21,695.40,702.49,698.73,704.02,
-709.28,717.57,707.95,716.68,722.76,728.29,730.28,734.20,728.94,738.27,
-742.86,741.95,756.76,750.84,752.00,753.46,756.30,760.60,761.92,768.87,
-767.89,774.63,775.47,780.95,779.89,785.93,791.69,792.09,797.10,794.50,
-800.16,802.36,811.31,813.45,809.04,818.72,817.21,823.53,823.21,825.04,
-832.63,833.74,842.79,838.94,843.39,854.10,849.95,855.60,858.39,868.09,
-865.35,868.50,875.42,870.14,880.28,879.00,891.40,884.88,881.45,888.22,
-895.72,899.31,899.39,904.56,909.13,917.60,914.21,925.32,919.80,924.79,
-29.80,32.97,36.98,39.19,43.41,44.21,46.23,50.62,56.27,55.20,
-58.15,63.67,65.56,70.65,71.53,74.66,76.02,79.01,83.71,84.06,
-89.00,90.56,93.99,95.00,98.90,104.95,103.25,108.44,109.11,113.32,
-116.92,118.96,123.55,125.75,126.78,132.35,135.62,137.22,137.69,140.00,
-145.07,148.75,149.20,154.90,156.03,161.71,162.33,165.24,166.01,168.78,
-175.80,173.43,180.70,184.29,180.07,188.95,193.80,194.02,194.69,196.84,
-200.90,203.53,208.53,210.66,213.23,218.52,215.07,221.68,229.59,226.10,
-230.04,234.91,236.62,239.69,242.97,243.56,247.03,250.43,254.66,258.73,
-255.75,262.11,266.03,268.09,272.50,274.41,278.67,281.05,282.46,283.52,
-283.52,290.42,292.40,295.78,298.19,302.08,299.58,307.43,313.01,314.65,
-312.80,317.20,325.38,324.12,325.65,328.25,331.46,331.83,341.78,342.45,
-346.56,346.36,352.87,354.05,355.87,364.30,363.05,364.93,370.48,366.19,
-376.74,380.44,381.65,376.74,381.54,394.09,392.53,397.38,396.73,402.91,
-401.73,404.15,411.98,415.47,412.27,415.65,423.11,426.61,418.40,423.79,
-422.37,430.47,437.01,438.82,438.27,441.30,451.07,444.49,455.80,458.25,
-457.32,465.24,464.26,463.30,466.98,471.15,472.48,470.28,485.04,484.86,
-488.83,485.14,488.78,499.32,493.90,505.47,499.68,510.22,510.36,512.84,
-519.61,519.72,523.21,524.31,530.14,529.28,530.24,542.70,539.18,542.40,
-546.06,547.75,552.14,553.11,550.53,558.92,561.31,565.24,566.46,573.68,
-573.32,578.41,577.07,588.62,587.55,582.66,590.55,597.50,590.83,594.55,
-601.09,603.55,608.00,606.90,618.10,619.49,616.46,623.18,622.12,627.50,
-626.36,632.14,632.02,639.00,641.64,648.76,652.04,648.13,650.82,652.36,
-655.60,656.40,666.52,664.52,662.33,678.85,674.01,675.69,678.32,692.17,
-681.40,693.51,690.94,688.67,696.22,698.37,700.97,705.31,705.03,714.52,
-720.05,715.04,715.80,726.43,726.50,730.00,728.35,740.20,734.74,747.74,
-741.88,742.09,745.55,752.89,757.40,756.73,754.75,763.89,769.04,764.94,
-772.13,771.40,778.67,787.33,787.28,796.23,787.38,796.22,792.76,800.63,
-804.47,801.07,802.16,804.27,813.70,811.70,819.12,814.07,821.65,826.68,
-832.36,830.13,829.49,839.97,845.81,838.97,843.62,853.35,853.59,855.06,
-83.90,91.66,98.51,106.71,114.77,121.79,129.61,136.50,145.12,152.05,
-159.76,167.11,176.43,181.18,188.75,198.64,204.80,212.75,221.50,227.14,
-235.10,243.86,250.61,257.47,266.55,272.67,281.50,288.56,297.28,303.77,
-313.61,318.61,327.33,335.25,341.73,349.46,356.55,364.32,369.26,378.47,
-386.70,396.36,402.31,408.78,418.33,424.80,432.55,439.54,447.66,455.98,
-462.59,472.57,479.60,486.70,492.23,501.37,508.35,516.86,522.56,533.35,
-540.82,545.01,553.30,562.49,569.26,576.57,585.94,593.13,597.19,606.92,
-614.34,622.32,628.08,637.54,643.96,654.64,661.55,668.44,675.47,681.83,
-690.36,698.63,706.42,713.78,722.74,726.04,737.95,741.67,750.78,759.47,
-767.86,773.30,781.57,790.29,798.29,804.75,813.12,818.45,827.71,832.73,
-842.47,851.43,856.98,867.03,873.32,879.71,889.71,894.41,905.00,910.16,
-920.16,927.78,934.39,942.20,949.38,955.76,963.49,972.34,980.72,989.54,
-993.83,998.96,1010.47,1017.53,1023.47,1030.93,1040.41,1048.33,1056.85,1061.10,
-1065.57,1075.95,1085.21,1092.25,1100.56,1106.71,1116.75,1123.99,1131.30,1141.14,
-1146.62,1151.97,1162.91,1169.02,1177.85,1183.09,1191.63,1198.56,1208.16,1213.32,
-1223.98,1229.20,1236.13,1243.96,1250.98,1257.08,1268.40,1273.84,1286.65,1287.72,
-1299.57,1307.35,1315.77,1319.48,1327.10,1335.60,1342.67,1353.63,1357.86,1366.32,
-1379.43,1379.02,1393.08,1395.29,1404.92,1411.00,1418.57,1429.08,1436.75,1443.07,
-1451.56,1457.04,1466.38,1474.99,1477.42,1486.72,1497.22,1499.55,1511.51,1516.34,
-1523.40,1534.74,1541.81,1549.50,1555.87,1564.49,1571.32,1578.41,1583.82,1596.17,
-1600.42,1606.69,1616.66,1624.47,1631.07,1640.86,1649.56,1654.07,1661.82,1664.83,
-1676.07,1683.25,1692.96,1701.56,1708.61,1719.47,1721.40,1731.97,1735.98,1744.66,
-1750.24,1761.52,1766.65,1777.90,1781.46,1786.51,1801.41,1809.47,1815.91,1820.49,
-1828.10,1837.55,1846.58,1851.67,1862.57,1866.11,1874.13,1881.25,1891.24,1898.84,
-1907.01,1910.64,1923.34,1929.82,1936.40,1945.08,1951.96,1962.34,1960.79,1971.43,
-1982.14,1989.01,1991.82,2006.79,2012.01,2019.15,2029.33,2033.13,2045.03,2046.55,
-2059.22,2063.58,2076.62,2081.47,2088.21,2095.96,2101.26,2109.32,2114.14,2125.26,
-2131.94,2139.14,2153.92,2155.84,2164.62,2169.48,2177.67,2184.89,2193.75,2201.45,
-2206.34,2217.41,2227.72,2231.36,2237.63,2245.70,2254.58,2258.51,2269.56,2274.51,
-80.06,87.21,95.16,100.94,109.18,117.42,123.12,131.03,139.10,144.79,
-152.87,159.32,167.12,173.59,181.96,187.49,195.56,202.16,210.25,217.85,
-225.61,231.82,239.55,247.12,254.41,259.84,266.82,277.51,283.10,288.56,
-296.56,303.31,314.36,320.22,327.40,334.38,342.59,350.28,354.58,362.99,
-368.88,375.25,383.48,390.11,398.52,406.20,413.99,419.06,427.83,435.88,
-441.92,452.51,457.36,462.29,472.17,475.34,487.28,494.92,499.42,507.85,
-514.90,521.15,530.45,535.61,542.30,548.53,558.90,564.21,573.25,580.20,
-588.02,594.98,602.35,609.65,616.70,624.76,631.31,636.89,646.26,650.07,
-659.49,666.70,673.52,681.48,686.77,697.12,704.79,708.58,716.67,723.34,
-733.21,739.74,746.90,753.56,760.39,771.64,776.67,784.95,789.73,795.97,
-806.20,810.88,822.32,826.63,834.51,840.03,848.21,858.04,863.56,872.74,
-880.76,886.89,894.58,898.01,905.18,912.63,919.01,928.49,937.52,938.52,
-950.71,957.15,964.89,971.86,980.78,988.19,994.41,1000.17,1007.84,1012.29,
-1022.69,1030.58,1039.71,1043.95,1050.33,1060.24,1066.35,1073.53,1082.08,1084.60,
-1097.26,1100.59,1109.25,1116.81,1124.70,1131.09,1136.03,1145.26,1151.10,1161.65,
-1167.80,1173.35,1179.64,1187.17,1193.88,1203.31,1209.93,1215.70,1224.46,1235.44,
-1243.05,1244.74,1251.94,1259.31,1269.28,1277.16,1284.70,1292.73,1295.16,1305.82,
-1314.71,1317.29,1325.78,1331.45,1339.86,1349.59,1355.38,1362.54,1370.12,1375.54,
-1386.04,1393.10,1399.54,1405.20,1413.26,1418.39,1425.54,1436.94,1445.09,1451.27,
-1457.48,1464.85,1472.05,1477.60,1488.29,1495.01,1498.57,1506.91,1515.69,1525.98,
-1528.71,1539.28,1546.55,1552.45,1558.88,1569.41,1575.89,1581.40,1588.58,1592.60,
-1601.78,1609.69,1613.81,1621.81,1632.01,1638.74,1644.05,1647.59,1662.32,1668.34,
-1676.67,1686.46,1690.07,1698.15,1701.30,1710.57,1718.21,1727.76,1735.46,1739.40,
-1745.49,1749.74,1763.99,1770.68,1775.33,1781.42,1792.27,1792.95,1808.98,1814.29,
-1822.96,1826.55,1835.89,1841.82,1849.62,1856.96,1865.47,1875.39,1876.11,1883.73,
-1894.18,1900.08,1905.76,1910.27,1922.45,1931.48,1936.42,1945.07,1946.10,1957.29,
-1963.33,1973.67,1979.47,1987.42,1991.95,2002.26,2009.75,2013.24,2027.63,2032.59,
-2035.42,2039.45,2055.64,2055.65,2063.98,2072.21,2081.71,2091.70,2091.22,2106.80,
-2113.23,2115.22,2122.78,2134.49,2136.30,2147.56,2153.66,2159.46,2164.57,2178.56,
-77.14,82.23,90.44,95.78,104.65,109.71,116.21,124.47,131.98,136.43,
-143.68,152.09,158.26,165.99,172.09,178.15,186.99,194.62,201.02,207.98,
-215.14,221.54,227.08,235.00,241.82,247.93,256.30,262.79,268.39,277.83,
-283.78,290.66,297.16,304.72,311.48,319.04,323.24,331.35,339.16,346.48,
-353.23,358.90,365.61,374.82,380.78,385.09,394.34,401.15,408.41,415.24,
-421.16,430.08,434.14,444.86,449.97,455.14,461.70,467.24,478.33,482.02,
-490.58,497.04,504.38,511.85,519.85,524.80,533.36,540.44,545.53,551.62,
-559.05,564.83,575.95,580.48,584.54,595.07,602.02,608.88,615.87,620.28,
-627.83,637.49,641.79,649.72,656.85,661.92,670.06,676.12,682.80,690.26,
-697.15,705.36,707.63,719.15,727.16,733.55,740.12,746.99,753.03,761.67,
-769.44,776.08,781.08,788.89,794.40,799.42,807.50,811.56,823.44,829.35,
-837.62,843.77,851.99,856.11,863.07,872.25,875.56,882.39,892.31,899.53,
-904.83,913.02,921.57,927.30,932.27,939.86,942.18,955.56,961.82,967.51,
-977.99,982.72,985.32,991.99,1003.40,1007.84,1016.31,1021.90,1034.95,1039.56,
-1042.89,1051.55,1057.98,1065.94,1069.08,1079.21,1085.16,1092.46,1100.41,1104.33,
-1111.55,1117.82,1126.24,1134.11,1142.21,1147.58,1155.57,1160.02,1168.17,1172.88,
-1181.91,1187.26,1193.72,1206.54,1208.20,1214.83,1215.01,1230.66,1235.53,1241.85,
-1250.92,1258.26,1265.66,1269.14,1279.13,1284.97,1290.57,1298.80,1305.88,1313.89,
-1319.95,1330.10,1333.69,1337.09,1349.44,1354.37,1364.55,1367.22,1374.33,1381.74,
-1390.78,1395.08,1402.90,1409.66,1420.03,1425.53,1431.92,1433.79,1443.89,1451.23,
-1462.18,1463.09,1471.80,1480.74,1486.03,1490.78,1499.30,1504.25,1513.97,1523.22,
-1529.95,1533.73,1539.06,1548.53,1557.62,1565.38,1567.78,1571.33,1583.64,1594.05,
-1598.02,1600.34,1606.42,1618.40,1629.74,1631.33,1635.16,1642.99,1652.39,1652.21,
-1665.85,1672.20,1676.75,1686.12,1693.55,1700.57,1705.44,1707.20,1717.58,1728.38,
-1733.49,1744.16,1749.02,1756.93,1765.85,1768.06,1782.15,1784.44,1787.15,1793.82,
-1800.64,1813.11,1819.81,1827.82,1836.47,1835.61,1851.46,1852.23,1863.26,1865.62,
-1869.82,1879.15,1887.56,1895.45,1902.37,1911.78,1910.90,1917.85,1935.62,1931.27,
-1941.12,1949.11,1951.83,1962.82,1971.15,1974.27,1986.83,1988.48,1994.78,2002.83,
-2007.67,2018.58,2025.65,2028.69,2038.99,2047.84,2050.61,2059.11,2066.59,2074.15,
-72.77,80.70,85.16,91.58,98.49,105.49,111.02,118.41,124.41,131.34,
-137.93,144.02,152.91,158.05,165.26,171.15,175.97,184.08,190.19,197.35,
-204.68,212.29,215.76,222.06,226.99,235.79,244.13,247.81,256.70,263.83,
-270.31,276.16,284.69,287.93,293.82,301.15,308.28,316.25,322.77,328.44,
-335.28,342.44,349.88,356.29,359.80,369.09,373.46,380.41,386.85,394.59,
-399.60,407.41,416.04,422.97,428.02,434.55,441.48,447.64,449.76,459.98,
-465.71,473.21,479.03,486.02,494.04,498.01,507.80,512.87,517.40,528.05,
-531.71,536.96,547.24,551.94,561.20,563.37,569.71,575.20,585.88,589.98,
-598.63,600.17,614.57,618.91,623.77,630.13,637.17,644.59,652.67,653.86,
-663.19,670.34,674.80,683.27,688.15,696.65,704.89,709.80,717.21,723.12,
-730.97,738.34,742.65,751.20,753.02,761.22,773.21,775.08,778.32,786.05,
-795.68,798.74,808.12,814.76,822.43,826.37,837.24,838.61,852.30,852.99,
-863.81,868.43,872.77,881.95,886.58,890.41,897.94,906.12,912.04,920.62,
-927.11,930.96,939.37,949.15,954.61,960.28,967.20,973.16,981.47,987.68,
-991.33,998.64,1002.51,1011.56,1016.39,1026.50,1029.92,1037.92,1042.28,1052.79,
-1059.25,1065.33,1071.20,1079.58,1083.43,1089.02,1097.06,1106.97,1110.90,1120.74,
-1121.65,1132.56,1138.92,1139.52,1150.12,1157.55,1168.37,1164.93,1170.18,1184.02,
-1189.65,1193.84,1201.99,1214.30,1213.95,1221.97,1231.62,1235.40,1243.56,1248.75,
-1258.26,1263.38,1266.27,1274.29,1281.58,1288.68,1294.08,1305.11,1308.27,1312.63,
-1319.15,1326.30,1329.29,1346.40,1349.14,1354.18,1359.13,1368.63,1372.43,1378.93,
-1390.86,1388.77,1396.58,1407.38,1417.79,1419.51,1421.39,1431.89,1442.74,1445.89,
-1447.45,1457.22,1464.42,1471.08,1480.77,1485.31,1494.40,1501.63,1507.29,1515.79,
-1517.31,1524.69,1533.53,1538.67,1546.37,1550.11,1558.43,1565.56,1568.85,1581.49,
-1583.99,1591.11,1596.35,1604.59,1611.96,1622.45,1624.53,1628.23,1636.53,1644.55,
-1645.60,1654.98,1662.11,1670.53,1675.26,1677.42,1688.32,1696.79,1705.70,1704.64,
-1716.42,1723.81,1729.35,1738.52,1743.25,1748.56,1757.56,1759.29,1764.09,1775.15,
-1774.02,1789.07,1792.77,1801.38,1809.92,1810.42,1824.37,1822.51,1841.55,1838.61,
-1847.38,1852.94,1864.97,1867.24,1879.55,1881.39,1881.73,1891.77,1907.06,1906.79,
-1914.29,1918.89,1924.29,1936.41,1942.53,1946.54,1951.69,1957.34,1961.81,1975.93,
-68.81,76.11,80.44,88.42,92.61,101.70,104.24,112.22,118.23,125.68,
-132.89,138.31,143.73,149.21,156.27,159.63,168.33,173.78,180.44,184.88,
-194.56,200.95,206.31,211.77,219.03,227.34,232.19,238.02,241.27,249.12,
-254.75,262.27,270.38,276.64,281.34,287.14,292.62,298.07,305.03,312.73,
-317.49,322.77,330.38,336.84,342.31,347.18,355.54,361.93,368.35,374.89,
-378.94,388.80,392.44,398.36,407.83,410.95,416.32,420.13,428.38,438.33,
-441.74,449.96,460.66,459.75,467.60,474.35,482.43,483.74,492.93,499.57,
-506.05,510.14,518.66,526.76,530.26,534.85,542.83,547.47,555.33,559.04,
-566.56,575.49,581.46,586.86,587.55,600.25,600.83,612.39,618.55,623.11,
-627.08,633.60,641.83,648.99,655.57,659.17,670.75,675.48,682.55,688.67,
-687.53,696.31,703.12,710.63,721.29,726.52,728.06,732.83,741.48,747.23,
-755.54,761.43,766.32,771.30,778.93,781.77,792.84,801.58,806.30,811.35,
-813.33,822.66,827.06,837.66,842.79,854.27,857.00,860.25,870.12,877.07,
-875.67,884.18,890.22,899.58,908.02,908.44,914.46,923.57,928.73,936.64,
-942.79,949.94,950.45,960.66,966.87,972.32,981.37,988.41,992.39,1000.76,
-1001.79,1012.39,1018.82,1026.45,1029.37,1041.62,1043.61,1046.11,1052.25,1063.02,
-1065.11,1072.22,1083.77,1082.37,1094.15,1096.37,1107.43,1112.90,1115.82,1120.93,
-1129.23,1134.84,1143.33,1151.21,1151.66,1159.10,1163.30,1180.00,1181.47,1186.65,
-1191.47,1202.14,1208.01,1209.63,1219.15,1224.87,1233.78,1235.98,1242.64,1247.18,
-1249.24,1260.02,1265.29,1273.40,1280.79,1287.25,1294.27,1301.71,1299.17,1314.28,
-1320.91,1317.31,1331.15,1332.14,1341.36,1343.34,1352.42,1360.92,1366.53,1372.44,
-1377.81,1381.79,1388.85,1398.22,1399.64,1408.09,1414.29,1425.50,1430.10,1434.85,
-1442.14,1446.11,1457.75,1460.35,1466.24,1474.15,1481.33,1491.91,1489.71,1495.83,
-1499.30,1509.99,1517.62,1523.87,1526.55,1537.63,1538.87,1543.19,1549.06,1556.75,
-1564.82,1574.81,1575.36,1583.17,1588.73,1597.57,1605.36,1606.46,1614.18,1629.51,
-1630.34,1633.64,1640.19,1648.55,1657.31,1654.42,1671.05,1678.31,1674.91,1681.06,
-1690.79,1698.86,1701.93,1712.23,1713.26,1721.04,1724.60,1737.53,1740.56,1752.76,
-1765.90,1760.12,1765.17,1776.18,1775.09,1787.01,1789.94,1798.54,1808.18,1808.67,
-1820.67,1821.51,1825.74,1836.98,1839.98,1848.33,1850.12,1862.42,1868.57,1868.82,
-65.32,71.07,75.80,84.10,90.09,95.15,101.84,104.81,112.40,117.74,
-125.15,130.58,136.56,141.78,148.37,154.15,158.67,165.11,171.51,177.91,
-183.77,190.27,195.58,201.27,208.12,209.76,219.50,225.30,228.73,235.63,
-240.66,248.86,255.42,259.81,267.85,273.01,276.87,285.48,289.81,294.88,
-301.90,308.35,316.76,320.01,324.57,329.80,336.40,342.90,349.12,354.35,
-361.38,367.97,373.23,377.80,382.74,389.96,397.72,401.68,408.98,415.04,
-418.84,427.13,429.22,437.26,446.67,447.61,454.26,463.20,466.78,472.15,
-473.70,483.96,492.63,493.33,503.82,506.52,514.98,519.96,525.74,535.62,
-540.69,542.82,549.01,556.08,561.76,566.21,573.76,576.50,580.85,593.61,
-596.18,606.60,605.10,611.94,622.83,629.78,633.61,639.33,645.29,653.27,
-657.51,662.04,668.12,675.26,679.97,689.01,697.37,696.15,703.87,713.49,
-714.19,721.96,726.73,736.27,741.23,744.76,748.81,757.72,764.91,768.76,
-773.13,779.16,786.42,793.91,799.37,803.43,810.99,814.41,824.19,833.12,
-835.23,841.19,848.61,853.20,856.79,862.28,868.68,877.04,882.29,891.15,
-895.19,901.27,909.91,910.14,916.26,925.17,928.10,936.24,940.83,947.26,
-950.97,960.92,962.39,968.85,973.64,979.32,992.47,992.87,1000.12,1004.25,
-1009.51,1021.15,1025.62,1032.35,1037.71,1044.35,1044.59,1051.18,1058.56,1070.23,
-1073.24,1072.67,1079.63,1084.86,1095.43,1102.44,1105.21,1110.50,1111.17,1123.70,
-1130.99,1136.02,1142.32,1146.97,1151.90,1166.94,1163.31,1178.22,1177.74,1185.49,
-1192.53,1189.95,1199.73,1202.02,1212.96,1220.08,1226.88,1227.96,1240.53,1241.18,
-1247.59,1251.68,1258.50,1265.73,1268.06,1272.98,1287.76,1286.78,1296.52,1302.60,
-1305.83,1311.32,1315.20,1322.56,1330.09,1340.04,1339.59,1348.93,1351.14,1358.12,
-1364.42,1376.59,1375.57,1385.89,1388.95,1394.35,1406.49,1404.14,1410.07,1420.52,
-1430.17,1435.77,1437.10,1447.26,1447.17,1458.45,1457.99,1462.98,1475.80,1480.04,
-1484.75,1495.97,1495.35,1500.97,1504.47,1512.62,1516.61,1524.53,1532.77,1539.63,
-1548.42,1552.76,1558.44,1556.61,1567.98,1580.19,1577.42,1592.56,1588.89,1595.68,
-1603.92,1610.27,1617.97,1626.74,1624.07,1632.81,1641.67,1646.76,1648.70,1660.05,
-1666.95,1669.46,1673.98,1679.39,1682.49,1691.74,1692.81,1702.36,1706.46,1716.18,
-1720.79,1723.77,1731.92,1732.44,1739.04,1750.66,1757.93,1762.50,1769.96,1778.40,
-62.00,67.32,73.18,78.91,84.47,90.37,95.05,101.26,105.23,111.21,
-117.64,124.10,128.60,134.51,138.24,145.24,150.29,156.11,161.85,167.44,
-170.96,178.67,183.59,189.73,193.21,201.96,207.54,212.27,220.58,225.11,
-229.88,233.53,239.53,245.41,253.28,260.85,265.35,267.65,276.96,279.56,
-285.58,290.13,296.88,304.01,306.79,312.79,317.71,322.11,331.61,334.61,
-342.67,345.68,354.44,358.77,363.26,371.22,374.58,379.93,385.67,393.21,
-394.32,401.29,410.51,414.79,418.59,426.80,429.76,438.66,442.29,449.44,
-455.14,456.93,464.37,472.04,476.48,480.30,488.27,494.04,497.18,502.30,
-508.73,513.96,523.82,527.15,530.55,537.97,540.54,551.63,554.98,557.82,
-561.69,571.22,579.80,583.39,588.29,591.60,601.43,605.12,611.74,616.33,
-620.28,627.06,631.51,636.38,641.16,648.91,659.44,661.75,669.11,666.46,
-674.88,681.46,685.53,693.52,701.35,705.58,709.35,718.65,723.52,734.91,
-733.90,738.79,744.22,750.29,756.07,762.31,766.26,769.84,777.16,786.14,
-787.87,791.84,802.41,806.65,807.74,814.17,823.12,829.34,828.71,839.43,
-846.39,850.95,857.10,866.60,868.27,869.86,877.20,882.92,891.48,892.94,
-897.29,908.59,911.23,922.61,923.37,928.40,934.50,942.29,941.15,949.52,
-956.63,960.02,969.75,971.45,982.17,983.67,995.08,995.04,1001.53,1009.84,
-1016.22,1020.83,1026.75,1032.46,1033.66,1040.03,1048.78,1052.63,1058.05,1068.42,
-1072.15,1073.91,1083.87,1084.30,1092.20,1097.39,1101.28,1108.94,1113.37,1114.60,
-1129.75,1128.96,1131.71,1146.69,1140.71,1153.77,1160.80,1163.25,1171.27,1174.28,
-1185.41,1187.77,1188.84,1197.44,1199.80,1206.15,1218.22,1224.58,1225.57,1232.70,
-1231.13,1241.57,1250.07,1250.71,1264.53,1264.26,1270.58,1274.29,1279.90,1288.66,
-1305.19,1300.64,1306.65,1312.89,1308.85,1324.41,1324.22,1333.94,1334.20,1342.19,
-1347.94,1356.75,1360.17,1362.23,1371.59,1381.00,1384.41,1388.45,1392.46,1398.02,
-1403.59,1409.83,1420.80,1421.84,1425.75,1433.50,1434.34,1440.69,1450.57,1456.67,
-1466.70,1465.98,1466.17,1477.07,1482.97,1483.71,1494.63,1497.40,1503.30,1502.86,
-1523.52,1522.64,1524.71,1529.89,1543.48,1546.79,1549.65,1556.07,1564.17,1565.70,
-1572.66,1580.62,1589.56,1590.63,1599.04,1601.08,1608.40,1615.62,1613.36,1622.05,
-1633.05,1631.13,1638.40,1639.13,1652.86,1657.90,1662.62,1676.10,1676.77,1674.35,
-57.42,63.03,69.12,74.77,81.37,84.34,88.83,94.10,100.79,105.75,
-111.48,117.07,123.08,126.24,132.92,137.49,141.59,147.60,153.78,159.20,
-164.47,171.18,175.84,179.96,185.60,188.25,195.27,204.58,205.72,211.01,
-218.24,222.46,226.76,229.62,239.74,242.39,250.54,256.33,260.78,264.05,
-269.75,273.65,280.20,285.23,290.70,295.45,300.43,308.67,309.71,318.92,
-323.03,326.54,335.53,339.40,343.31,348.31,353.05,357.80,365.11,367.87,
-373.53,380.27,384.62,392.72,395.56,402.54,402.97,411.48,415.77,427.18,
-427.78,433.05,439.93,443.63,444.02,457.67,459.95,466.68,470.29,473.10,
-480.25,490.48,489.30,497.50,500.18,510.48,508.78,517.44,521.50,525.01,
-536.70,538.62,538.76,547.24,553.51,562.94,570.90,570.36,573.68,583.06,
-589.04,592.24,598.40,601.36,606.81,611.30,620.47,627.97,629.64,635.30,
-639.23,646.21,647.59,653.53,660.74,666.11,669.57,681.12,678.76,689.00,
-692.73,695.44,697.06,707.17,715.45,720.79,723.69,727.39,734.30,744.36,
-745.12,748.17,756.28,760.39,764.54,773.25,776.03,780.20,790.98,792.32,
-800.47,803.08,812.88,816.90,816.91,825.55,834.04,836.28,838.81,848.55,
-853.30,859.54,863.10,867.25,871.94,874.45,885.93,889.09,898.51,898.52,
-902.43,909.26,914.51,913.59,920.11,932.33,935.90,940.45,947.97,955.07,
-957.72,965.00,967.79,978.81,982.64,986.37,994.73,994.07,999.39,1008.33,
-1006.44,1013.76,1021.01,1030.88,1037.42,1043.71,1039.34,1045.14,1051.77,1054.79,
-1067.03,1068.48,1079.62,1079.18,1085.39,1089.15,1097.41,1097.44,1104.47,1109.30,
-1118.81,1118.94,1127.63,1130.37,1135.61,1139.26,1143.28,1153.31,1159.09,1167.73,
-1165.37,1179.68,1189.24,1185.85,1190.49,1194.38,1203.10,1206.69,1210.80,1215.82,
-1222.25,1226.20,1229.81,1233.73,1246.34,1244.98,1254.98,1255.19,1264.41,1265.53,
-1270.92,1281.68,1290.75,1290.86,1292.02,1297.91,1306.11,1306.91,1317.55,1313.86,
-1330.89,1333.19,1334.95,1344.47,1349.96,1354.73,1356.62,1366.49,1366.79,1372.08,
-1378.31,1387.15,1383.60,1400.08,1399.12,1406.70,1415.32,1416.32,1420.81,1427.44,
-1430.92,1440.25,1450.76,1448.92,1449.94,1464.85,1461.92,1466.44,1475.94,1481.17,
-1492.56,1496.28,1498.17,1498.46,1505.85,1512.04,1518.99,1519.27,1528.23,1533.88,
-1542.06,1541.61,1552.18,1555.08,1554.30,1565.42,1572.67,1575.19,1583.97,1580.08,
-54.80,58.40,65.93,71.26,74.04,79.69,84.51,89.13,95.45,101.00,
-105.31,108.94,115.36,119.46,124.13,132.12,133.64,141.06,143.42,151.08,
-156.72,160.63,163.66,168.73,176.35,179.18,185.49,190.50,195.94,198.57,
-204.96,210.24,215.71,218.53,224.25,226.94,234.72,239.25,245.17,248.06,
-254.22,259.45,260.80,268.25,275.25,278.37,283.81,286.46,295.82,299.89,
-304.14,310.61,314.46,319.46,324.94,327.83,334.70,340.37,345.31,347.33,
-354.80,362.30,365.80,367.95,374.38,378.28,380.75,389.17,393.99,398.34,
-406.21,410.51,417.28,419.50,424.29,432.01,437.10,440.33,441.83,445.51,
-456.31,460.44,462.21,465.53,471.58,478.85,483.05,485.12,490.10,498.70,
-504.10,511.48,515.72,524.40,523.54,528.31,533.45,540.08,540.45,548.02,
-552.71,556.04,562.40,566.93,575.96,579.38,583.81,592.18,594.83,599.17,
-606.82,609.57,610.49,619.16,621.10,629.63,635.67,642.61,648.74,643.70,
-651.43,660.29,665.12,666.11,675.73,676.25,685.56,685.54,700.14,698.18,
-702.30,707.00,709.37,719.77,716.17,729.43,731.10,736.98,741.50,752.99,
-750.59,756.15,763.75,766.28,773.41,778.43,778.89,786.54,790.21,799.50,
-805.52,810.19,816.10,813.80,827.29,825.49,836.47,833.41,842.23,855.11,
-852.46,852.93,865.08,862.26,875.16,877.64,886.82,886.00,886.55,900.38,
-903.73,902.90,918.47,917.58,918.66,928.14,932.21,932.31,947.08,945.32,
-951.95,955.15,959.83,975.65,973.32,979.82,974.40,986.15,991.98,994.43,
-1002.71,1005.23,1013.35,1012.62,1018.43,1029.85,1037.63,1037.91,1046.11,1043.49,
-1053.82,1060.46,1065.11,1066.43,1077.45,1077.27,1074.08,1086.97,1093.74,1097.77,
-1104.68,1103.51,1113.06,1114.44,1122.19,1125.96,1135.15,1135.92,1147.44,1149.71,
-1151.78,1149.14,1166.67,1167.19,1176.84,1177.35,1184.75,1180.47,1191.18,1192.11,
-1210.35,1209.20,1219.54,1216.68,1224.51,1227.92,1223.38,1237.78,1242.35,1241.41,
-1251.34,1255.40,1259.13,1266.79,1265.75,1276.49,1285.06,1287.86,1295.54,1301.49,
-1304.93,1310.81,1310.44,1319.69,1317.38,1319.45,1338.44,1330.83,1340.15,1347.84,
-1353.88,1357.24,1360.89,1367.89,1370.21,1378.72,1386.85,1388.72,1390.94,1395.04,
-1402.47,1405.88,1419.52,1423.49,1421.99,1429.72,1426.75,1432.81,1442.54,1446.11,
-1451.82,1463.28,1465.06,1465.72,1469.80,1479.39,1480.70,1487.66,1485.26,1496.34,
-52.36,58.70,60.19,66.30,71.28,75.10,81.01,84.37,87.25,93.43,
-99.40,101.69,109.25,113.86,117.06,122.72,127.49,133.76,135.56,142.57,
-145.71,151.17,155.36,162.37,163.47,166.60,174.39,179.29,185.85,188.58,
-193.26,199.10,201.73,207.54,210.56,218.38,218.44,221.76,230.46,234.10,
-239.47,246.28,249.98,252.88,259.95,262.49,266.59,273.48,276.16,283.94,
-287.06,293.35,299.56,299.06,306.08,309.36,315.58,319.53,322.98,324.32,
-329.94,340.11,338.81,349.55,353.91,356.22,364.00,369.14,368.45,375.00,
-381.16,385.93,389.59,391.50,398.04,405.85,407.37,417.35,414.78,424.81,
-425.15,436.02,440.01,438.00,442.38,450.90,455.55,459.10,462.98,470.06,
-477.73,478.13,481.08,488.36,496.37,494.31,501.13,505.91,513.26,513.36,
-521.13,528.69,531.32,537.88,543.20,543.27,554.60,553.34,563.75,564.95,
-569.14,571.67,574.16,575.02,589.27,595.35,596.95,604.30,603.94,612.98,
-615.29,620.77,629.88,626.51,634.50,640.29,647.53,647.98,653.17,654.80,
-657.94,671.16,672.99,673.71,679.91,686.27,694.33,696.78,690.45,699.96,
-713.40,716.77,715.53,717.57,721.82,730.33,734.60,746.38,752.36,749.48,
-761.09,760.61,766.99,773.59,773.27,781.74,785.39,790.74,793.62,794.39,
-801.68,805.01,810.80,821.38,816.37,826.52,833.20,838.37,842.86,852.20,
-850.84,856.18,858.72,867.05,873.47,877.57,875.16,883.04,889.12,896.00,
-899.21,900.23,906.91,904.34,918.89,927.30,927.86,928.93,939.04,942.46,
-943.46,950.31,956.16,959.79,966.69,970.59,974.82,976.35,987.33,987.21,
-993.39,998.29,1003.61,1009.40,1009.90,1012.15,1022.42,1019.94,1031.73,1034.10,
-1037.73,1038.29,1047.52,1055.66,1058.62,1062.56,1066.61,1070.57,1076.21,1083.94,
-1082.41,1091.77,1089.12,1095.66,1096.58,1105.38,1113.90,1121.22,1120.54,1124.59,
-1131.83,1138.85,1139.99,1145.52,1153.79,1156.72,1159.16,1154.13,1171.92,1170.96,
-1177.97,1189.14,1189.28,1194.67,1203.76,1204.34,1204.80,1210.53,1217.89,1221.96,
-1220.80,1226.85,1239.63,1239.88,1250.31,1240.70,1264.77,1264.32,1263.77,1274.56,
-1275.27,1285.94,1286.56,1286.55,1287.99,1300.48,1309.49,1303.50,1310.53,1321.18,
-1322.56,1328.80,1332.45,1336.53,1338.49,1345.50,1347.02,1355.78,1362.19,1362.46,
-1369.03,1374.58,1380.53,1381.99,1388.01,1397.21,1402.94,1404.92,1405.10,1408.12,
-48.23,53.92,57.20,62.66,67.91,72.91,75.05,80.42,84.26,88.56,
-92.91,96.51,100.30,104.96,109.59,113.48,120.06,122.10,132.28,134.99,
-137.50,142.11,146.22,152.47,151.97,159.91,165.98,168.96,172.00,175.89,
-180.58,184.67,191.18,194.94,200.77,201.96,207.94,212.80,215.01,220.40,
-223.39,232.28,232.91,237.21,243.24,248.44,248.74,259.96,262.00,262.56,
-271.41,275.34,278.38,280.94,286.77,294.03,294.85,300.75,304.76,310.71,
-315.95,320.71,320.90,329.22,329.98,336.29,344.40,343.14,349.38,352.87,
-360.51,361.39,367.04,371.76,374.48,383.12,385.96,386.89,396.39,400.87,
-404.76,411.14,413.74,416.05,426.87,428.08,431.14,433.39,432.15,441.18,
-445.88,454.53,457.06,458.85,462.37,465.49,478.36,478.62,481.50,490.68,
-496.66,499.12,502.07,509.81,504.86,514.04,518.91,525.76,531.20,534.13,
-532.86,539.78,544.41,544.38,553.25,558.61,563.44,563.11,566.63,571.62,
-577.64,584.21,591.45,590.25,596.33,604.87,607.00,611.90,614.75,620.28,
-623.55,624.74,629.56,638.55,637.79,642.55,651.23,653.96,660.04,661.11,
-668.23,669.55,678.62,681.35,694.15,693.50,703.73,698.87,696.81,703.22,
-712.99,712.45,721.62,734.74,726.85,734.12,742.16,743.09,748.82,745.95,
-761.43,762.86,768.79,771.83,776.66,785.36,782.34,783.73,790.80,799.82,
-799.65,814.89,806.95,814.18,814.83,821.74,831.69,830.67,839.84,840.96,
-850.26,849.58,854.67,861.46,863.16,865.75,865.45,876.19,881.92,885.26,
-888.42,897.26,893.10,902.54,911.60,907.52,917.79,919.93,917.32,931.91,
-930.59,934.56,936.01,949.58,957.69,954.24,964.82,969.25,969.91,976.02,
-977.41,983.52,985.82,991.54,991.41,1001.80,1007.57,1011.54,1009.59,1018.53,
-1023.34,1023.83,1034.22,1040.97,1039.39,1049.42,1047.85,1050.75,1055.35,1062.84,
-1065.91,1075.67,1074.52,1077.23,1086.95,1088.98,1085.47,1096.02,1097.02,1111.49,
-1111.15,1113.21,1129.67,1127.38,1136.60,1129.21,1139.68,1154.27,1148.00,1154.95,
-1150.46,1157.60,1167.21,1167.81,1173.07,1173.75,1186.73,1186.73,1192.53,1188.99,
-1200.67,1200.31,1206.94,1211.49,1215.04,1224.19,1220.92,1226.96,1236.93,1241.21,
-1242.07,1250.59,1251.57,1253.17,1257.01,1261.07,1262.05,1266.53,1276.65,1284.21,
-1293.35,1289.33,1295.85,1297.26,1300.10,1311.61,1318.21,1320.32,1317.86,1325.01,
-44.50,50.29,54.49,59.82,63.78,64.53,71.00,72.73,79.42,84.86,
-88.14,90.17,95.72,102.56,101.65,106.65,113.94,115.55,121.12,124.85,
-127.75,132.73,139.02,141.69,144.95,148.49,152.23,156.24,164.14,166.08,
-172.68,175.56,178.65,188.15,188.93,193.69,196.32,199.43,204.56,207.64,
-209.72,216.44,218.93,225.38,228.58,230.38,237.66,243.18,245.27,248.88,
-254.48,260.65,259.20,264.87,273.18,271.93,278.96,285.25,284.51,291.22,
-293.37,301.98,302.04,308.12,311.73,316.51,319.59,323.64,327.65,330.69,
-335.75,342.09,350.16,349.49,356.91,358.57,357.20,368.49,371.07,373.48,
-377.26,379.04,385.94,392.36,394.61,394.75,403.29,407.61,410.91,415.48,
-424.68,422.25,431.20,432.09,437.18,442.46,440.93,442.60,449.13,458.22,
-461.03,461.85,469.68,472.91,483.18,482.45,489.86,488.85,493.93,498.62,
-503.91,509.06,508.64,517.94,514.69,522.62,531.72,537.14,540.45,543.04,
-541.92,550.59,551.71,558.95,564.04,564.24,568.98,574.93,577.79,583.71,
-583.40,591.49,594.13,600.03,601.16,612.90,614.16,618.66,620.02,626.23,
-620.11,633.72,633.98,640.72,648.55,651.89,652.87,660.77,666.89,672.15,
-675.77,678.16,678.87,682.35,687.66,693.08,697.87,699.43,703.97,712.54,
-713.83,712.26,722.59,724.46,732.10,731.83,735.52,737.27,747.87,753.28,
-751.51,757.91,759.80,765.83,772.52,773.07,777.71,784.00,785.12,788.66,
-790.46,797.91,802.03,807.48,817.25,816.69,816.07,831.52,829.07,831.86,
-833.22,837.85,843.08,841.58,860.88,857.13,858.73,864.55,862.75,872.08,
-877.95,880.94,881.99,884.03,892.61,899.91,903.04,904.97,909.67,914.93,
-919.65,926.54,924.44,941.14,938.48,940.92,942.32,945.22,953.59,957.33,
-958.15,964.17,966.81,974.85,981.27,983.68,989.68,990.60,997.36,1000.65,
-1000.93,1010.07,1016.89,1023.93,1020.05,1024.66,1032.02,1029.40,1033.16,1029.23,
-1038.71,1047.86,1050.88,1051.41,1059.62,1062.65,1070.03,1067.45,1077.86,1075.21,
-1084.22,1085.95,1093.07,1102.72,1101.46,1101.19,1109.95,1112.46,1120.27,1131.98,
-1123.17,1135.54,1136.27,1142.13,1142.30,1149.66,1152.21,1162.10,1154.78,1168.88,
-1168.47,1179.04,1166.73,1183.19,1181.99,1186.91,1193.53,1194.66,1207.14,1210.01,
-1213.77,1216.89,1219.85,1226.21,1222.51,1231.37,1239.48,1239.00,1252.49,1249.71,
-42.69,46.11,51.06,54.30,57.79,63.60,68.06,72.40,75.50,77.71,
-83.11,86.99,89.71,92.02,97.00,102.28,103.82,107.62,112.87,117.96,
-119.92,124.16,128.44,132.79,137.45,141.07,142.01,148.42,149.19,159.07,
-159.23,166.17,170.10,174.37,174.04,181.69,184.34,185.54,190.43,190.56,
-199.38,206.53,205.90,209.45,216.93,221.36,223.30,228.38,230.94,234.17,
-235.72,241.37,246.51,251.01,251.61,259.84,263.21,260.65,268.65,274.73,
-279.92,279.61,282.89,291.09,293.24,295.56,301.65,306.76,310.18,311.43,
-316.51,319.44,326.25,326.76,334.87,334.33,339.31,346.41,348.63,354.36,
-355.70,362.16,361.49,367.08,367.30,374.50,378.93,381.10,391.60,390.80,
-396.16,400.60,405.38,406.92,413.30,416.75,414.86,422.61,427.34,428.03,
-437.65,435.98,442.66,447.21,453.00,458.58,461.81,457.20,462.55,466.92,
-470.31,476.55,480.52,484.47,487.90,497.93,495.34,501.05,504.14,508.94,
-510.17,514.74,518.90,527.21,526.32,531.73,542.75,537.78,541.48,548.82,
-549.30,560.13,563.93,564.36,571.25,567.24,573.03,579.93,576.71,584.69,
-590.65,594.88,595.55,594.78,607.63,608.80,610.90,617.90,620.69,627.56,
-625.67,635.35,635.68,640.92,639.36,647.05,657.49,654.88,662.29,658.81,
-665.68,671.62,675.00,678.07,684.17,686.96,688.70,692.66,697.68,699.57,
-710.03,713.10,713.90,723.87,720.99,727.57,733.16,732.16,739.17,746.23,
-747.06,749.55,751.63,761.47,763.84,769.39,769.83,773.67,777.32,777.39,
-788.09,790.78,797.19,795.76,798.45,803.09,809.35,808.80,813.80,821.58,
-832.59,832.78,827.35,835.26,845.16,843.75,847.95,859.66,851.78,861.26,
-862.12,870.50,877.37,876.00,874.81,888.02,889.00,890.96,897.78,907.38,
-896.66,902.43,908.94,916.06,926.22,924.45,920.47,929.68,931.35,932.38,
-942.93,946.57,946.06,954.26,963.05,967.90,966.59,967.65,973.29,971.42,
-981.71,975.79,996.50,990.70,997.36,1003.77,1002.06,1010.01,1013.98,1015.25,
-1024.59,1022.59,1025.87,1033.79,1036.05,1041.93,1048.64,1047.99,1053.48,1047.83,
-1060.51,1066.45,1073.49,1071.61,1066.99,1082.88,1076.98,1092.53,1091.69,1094.69,
-1094.83,1098.26,1110.80,1103.23,1110.03,1110.08,1122.04,1121.42,1126.32,1133.02,
-1133.65,1143.05,1148.78,1147.83,1149.09,1156.07,1162.66,1162.90,1173.08,1177.02,
-39.71,45.15,48.29,52.58,55.05,58.25,63.92,66.55,69.12,73.16,
-77.79,81.76,85.14,86.94,92.87,93.54,100.30,101.63,104.51,109.17,
-114.94,117.74,121.40,123.68,129.81,130.12,137.42,142.78,142.69,143.44,
-150.25,156.55,156.16,161.02,162.11,168.33,174.90,173.93,179.90,186.06,
-188.10,190.64,198.55,200.73,201.76,200.53,210.27,214.12,212.79,222.16,
-226.60,228.13,231.88,233.14,239.07,242.72,247.87,251.35,250.81,255.78,
-258.64,262.31,269.81,271.05,275.05,283.63,279.86,284.03,291.14,294.13,
-295.30,301.98,305.53,304.39,312.23,316.13,314.61,323.29,325.84,331.25,
-334.98,338.24,341.72,347.76,351.80,353.02,355.06,355.42,361.14,365.12,
-374.53,376.58,380.65,379.83,389.19,385.58,389.26,395.20,401.08,402.68,
-403.83,405.89,415.32,423.09,421.71,425.15,425.74,438.64,435.56,439.76,
-443.20,448.86,449.50,453.79,459.58,464.62,467.78,472.53,474.11,479.03,
-482.02,480.86,492.25,493.87,494.27,506.08,500.39,506.17,511.34,513.66,
-517.51,519.30,522.01,529.43,533.76,536.47,546.19,539.81,547.63,551.64,
-553.56,555.00,563.13,568.52,563.26,573.12,574.50,580.16,584.58,586.45,
-590.80,599.32,598.68,606.33,601.20,612.59,611.98,616.98,619.93,620.23,
-625.33,630.83,629.95,636.89,645.99,645.27,650.33,652.49,664.02,656.09,
-664.91,666.08,673.50,674.97,677.82,682.59,683.70,693.95,696.02,702.74,
-699.23,708.66,705.59,709.74,721.33,717.59,715.04,725.96,728.88,728.97,
-732.26,746.11,742.35,746.61,748.65,759.23,754.55,764.91,764.73,766.55,
-775.28,774.23,781.01,785.68,787.80,787.62,800.64,793.54,802.00,806.92,
-811.01,815.64,814.23,823.71,823.89,828.65,829.04,840.42,842.64,851.11,
-846.23,853.11,858.79,863.60,864.01,865.38,874.74,872.03,879.80,878.89,
-886.11,884.25,883.69,899.49,901.68,892.64,913.14,913.99,912.72,918.73,
-919.99,926.72,928.94,928.15,936.39,936.95,938.21,951.72,956.05,957.59,
-956.12,962.96,964.47,971.26,970.80,978.17,978.95,985.89,981.94,994.52,
-994.26,1001.67,999.16,1012.81,1014.25,1011.37,1014.42,1020.97,1023.55,1031.43,
-1023.39,1035.63,1035.12,1041.41,1047.22,1051.21,1048.51,1053.97,1058.37,1058.14,
-1068.97,1067.17,1075.89,1076.04,1076.72,1084.26,1080.79,1090.04,1090.34,1103.81,
-38.39,41.17,45.09,46.95,49.66,54.85,56.53,63.51,65.06,67.55,
-72.12,74.36,80.42,83.83,84.75,89.42,92.56,96.81,100.41,102.58,
-105.70,109.53,113.51,116.99,120.43,121.65,125.11,127.46,132.15,137.99,
-141.95,144.35,145.79,150.16,155.56,156.69,161.77,164.52,169.41,173.34,
-174.58,179.28,183.09,187.64,186.78,191.61,193.14,199.60,208.72,208.75,
-206.91,210.58,214.25,219.95,223.08,226.80,230.09,235.26,236.07,242.79,
-246.67,249.81,253.45,253.15,257.19,263.39,263.18,267.87,270.25,272.03,
-274.60,283.35,282.85,292.80,291.61,292.01,296.41,301.79,307.03,309.93,
-311.87,315.06,318.30,321.11,324.23,331.75,331.89,341.54,344.86,344.74,
-347.20,355.41,353.33,360.74,361.39,363.17,372.14,369.16,372.52,378.63,
-382.32,380.35,388.94,393.32,398.93,405.77,400.48,406.95,408.43,411.06,
-414.10,421.37,422.60,432.23,430.26,431.25,436.16,440.37,444.60,436.96,
-449.51,457.40,455.56,456.72,469.26,470.03,469.68,471.97,479.92,476.81,
-476.97,488.04,488.08,496.14,499.06,506.34,506.75,507.62,512.87,518.69,
-518.89,522.61,524.96,529.93,531.22,539.52,539.61,545.41,547.16,550.71,
-551.87,558.51,561.96,563.98,566.72,568.39,571.06,573.54,581.90,583.86,
-590.23,593.57,594.57,600.79,603.14,603.03,609.27,613.68,618.94,620.73,
-621.09,631.60,626.79,632.34,635.48,637.21,643.04,647.01,651.76,651.51,
-660.67,659.75,663.34,665.49,671.38,676.59,673.98,678.69,680.10,683.52,
-688.57,694.97,698.94,701.16,701.57,703.57,713.67,721.12,718.55,722.69,
-720.38,732.91,730.15,733.09,737.72,737.70,743.33,751.23,754.20,749.75,
-760.54,767.11,766.15,769.08,769.26,785.84,776.96,782.28,785.03,796.13,
-791.07,793.61,807.33,804.04,810.68,820.57,820.97,814.61,823.98,822.24,
-833.35,835.06,838.13,834.83,841.54,843.99,845.85,849.92,860.17,866.18,
-857.34,874.05,870.44,869.32,877.03,880.94,889.72,885.60,882.84,895.11,
-895.88,907.47,897.38,907.77,905.75,909.83,915.53,914.23,921.69,936.81,
-932.06,935.39,936.73,946.20,945.09,944.46,949.34,963.81,958.10,966.72,
-960.80,981.89,966.02,967.98,985.24,988.46,990.03,987.45,991.35,989.58,
-1009.85,1005.10,1008.76,1009.59,1008.11,1019.53,1013.67,1027.63,1033.90,1027.23,
-89.56,97.78,105.24,112.76,120.78,129.73,138.14,145.61,153.91,160.70,
-169.26,177.05,183.57,192.76,202.54,208.68,217.66,225.15,233.22,241.24,
-248.24,257.75,266.27,273.86,281.04,289.34,296.03,303.91,312.37,320.57,
-327.29,336.96,345.18,353.77,360.69,368.31,378.20,385.22,394.67,399.46,
-410.41,418.13,423.28,434.43,441.29,449.01,456.91,465.57,471.18,479.52,
-491.28,497.75,505.31,513.11,519.63,528.63,537.54,544.63,553.13,559.41,
-568.93,576.42,585.28,593.30,600.16,609.62,617.69,625.81,634.06,640.99,
-647.41,656.34,665.18,671.14,679.74,689.19,697.59,705.31,713.25,722.70,
-727.88,736.62,743.60,752.64,763.94,768.42,777.00,781.22,793.20,801.75,
-808.98,815.50,824.03,832.09,841.40,848.14,856.19,863.37,870.80,882.38,
-888.39,896.88,904.77,914.07,916.43,928.08,935.64,945.26,950.85,962.35,
-972.63,976.71,985.45,993.22,999.13,1009.74,1017.90,1024.03,1034.45,1041.12,
-1047.59,1058.77,1063.21,1070.59,1082.28,1088.31,1097.29,1104.49,1113.96,1120.02,
-1127.81,1135.79,1145.41,1152.48,1162.25,1167.15,1174.99,1183.23,1189.67,1198.26,
-1205.56,1217.56,1223.96,1235.53,1240.16,1246.26,1258.17,1264.08,1274.10,1275.43,
-1289.80,1295.90,1304.74,1315.90,1319.64,1326.58,1338.16,1344.98,1353.14,1357.56,
-1369.35,1373.43,1382.89,1393.18,1400.51,1408.36,1417.47,1425.38,1432.79,1439.46,
-1446.01,1456.66,1466.51,1470.80,1479.06,1487.46,1496.71,1505.24,1511.35,1522.26,
-1528.80,1538.33,1542.43,1552.65,1562.03,1569.06,1575.20,1578.58,1595.28,1600.91,
-1608.19,1618.79,1621.90,1631.29,1638.53,1647.82,1653.44,1665.42,1669.89,1679.75,
-1686.35,1696.21,1701.79,1712.07,1722.16,1726.18,1735.37,1743.90,1751.45,1760.33,
-1765.44,1777.30,1781.87,1788.21,1800.34,1811.41,1815.66,1827.12,1833.89,1838.64,
-1849.46,1852.01,1861.22,1872.79,1878.84,1890.32,1898.66,1906.10,1912.73,1922.59,
-1929.64,1934.53,1946.41,1955.31,1959.78,1967.19,1975.16,1985.84,1990.99,1998.95,
-2006.64,2014.52,2022.07,2030.66,2039.26,2047.14,2054.11,2060.25,2070.46,2081.14,
-2089.12,2091.20,2106.29,2113.02,2119.65,2132.09,2137.37,2141.86,2154.07,2159.73,
-2166.58,2173.40,2187.82,2193.54,2197.19,2203.84,2213.58,2224.66,2228.00,2242.65,
-2246.30,2255.42,2261.80,2269.74,2280.62,2289.14,2293.84,2305.18,2310.47,2319.64,
-2327.27,2336.51,2338.18,2350.86,2355.75,2369.83,2375.16,2382.94,2390.75,2399.39,
-87.15,94.49,100.99,109.15,116.34,124.61,131.78,137.98,146.37,154.24,
-162.54,170.70,178.65,186.38,193.36,201.09,208.43,215.79,224.06,232.11,
-239.59,247.11,255.09,263.07,272.10,277.94,286.11,293.75,301.45,310.69,
-315.93,324.99,332.88,340.10,345.20,356.42,362.44,369.90,379.37,386.63,
-395.50,401.95,409.59,415.57,424.47,431.24,440.43,447.55,453.99,463.46,
-470.25,478.92,485.78,494.31,500.84,508.01,516.49,524.70,532.86,539.48,
-546.98,554.20,562.55,570.58,578.01,585.92,594.42,601.50,610.47,616.71,
-624.85,634.57,640.94,645.22,653.65,662.38,669.81,677.30,685.78,693.20,
-701.14,711.14,717.00,723.82,734.28,743.93,746.80,755.33,764.53,770.53,
-779.35,786.62,795.42,803.52,808.33,819.33,824.78,836.00,838.60,848.20,
-854.55,866.15,869.67,877.68,885.38,893.03,903.63,910.89,917.98,923.56,
-930.22,940.59,945.12,956.21,963.94,971.11,977.77,987.58,996.32,1000.61,
-1010.83,1019.64,1024.93,1036.27,1042.34,1045.12,1056.61,1064.18,1072.74,1077.65,
-1086.57,1093.58,1100.60,1108.03,1117.04,1126.19,1134.61,1142.09,1145.85,1156.69,
-1165.51,1172.60,1175.24,1188.07,1193.02,1198.85,1213.17,1217.06,1226.41,1230.73,
-1238.92,1243.56,1258.22,1266.54,1272.40,1278.61,1286.30,1293.93,1303.53,1312.24,
-1317.37,1323.93,1333.81,1340.03,1348.61,1352.48,1362.76,1371.74,1378.80,1390.77,
-1394.66,1401.48,1408.15,1417.23,1424.51,1431.87,1438.84,1446.96,1458.29,1466.54,
-1470.06,1479.82,1486.23,1493.57,1502.25,1505.64,1518.31,1522.42,1531.36,1542.05,
-1546.92,1554.25,1562.56,1571.21,1580.66,1585.29,1595.38,1604.05,1609.03,1621.70,
-1628.83,1631.09,1640.59,1650.20,1655.61,1668.71,1671.45,1682.55,1687.66,1694.50,
-1702.95,1710.69,1715.85,1728.08,1734.22,1740.83,1750.39,1754.85,1765.97,1774.52,
-1779.58,1786.83,1797.77,1801.40,1811.15,1817.72,1825.90,1829.22,1840.64,1849.46,
-1862.08,1862.62,1871.00,1879.32,1886.99,1894.86,1898.32,1907.04,1919.39,1927.61,
-1935.63,1942.00,1947.46,1958.39,1963.40,1972.28,1976.31,1989.64,1992.43,2002.64,
-2011.40,2017.08,2022.71,2034.03,2042.32,2045.84,2054.59,2065.42,2068.58,2079.23,
-2084.63,2094.07,2106.77,2110.89,2116.01,2122.98,2132.65,2142.26,2153.12,2155.55,
-2159.38,2170.36,2181.48,2192.59,2193.96,2204.68,2211.46,2217.68,2227.51,2235.09,
-2240.91,2247.51,2257.39,2263.03,2273.90,2283.91,2282.84,2293.93,2304.58,2311.15,
-81.41,90.77,97.35,104.89,110.75,118.83,127.04,134.04,140.95,148.87,
-156.17,163.24,170.01,179.18,186.58,193.43,200.33,207.99,215.82,223.69,
-230.17,239.22,246.37,253.16,259.87,267.33,273.31,282.94,287.50,295.99,
-305.43,311.16,318.43,328.28,335.56,341.42,347.46,356.37,362.55,371.51,
-381.36,387.46,393.75,398.50,407.97,416.63,419.52,429.86,437.75,443.79,
-453.61,458.59,466.17,476.27,480.64,488.76,499.70,503.27,509.31,519.76,
-525.19,532.58,541.18,546.00,558.27,565.76,570.98,577.67,586.64,592.21,
-596.83,609.82,613.76,622.79,629.52,636.98,645.29,653.90,657.35,665.66,
-675.27,682.49,690.98,695.80,701.64,712.02,717.22,727.63,734.84,739.25,
-745.23,754.25,761.00,771.63,777.37,785.21,796.38,800.26,805.24,814.01,
-823.02,831.79,833.59,844.58,850.54,858.60,863.77,875.79,880.37,893.09,
-895.38,902.32,909.40,917.09,922.74,933.72,937.79,948.17,951.55,961.59,
-972.87,979.14,984.59,991.69,1000.47,1009.22,1014.09,1023.09,1029.09,1034.90,
-1043.36,1052.00,1058.39,1065.32,1076.84,1083.38,1091.07,1095.50,1102.32,1112.27,
-1119.47,1124.07,1130.65,1139.81,1144.33,1153.83,1162.90,1169.18,1175.70,1185.78,
-1188.76,1195.77,1205.22,1216.04,1219.30,1224.65,1239.53,1239.96,1250.90,1260.37,
-1265.90,1272.92,1278.22,1289.45,1292.27,1304.45,1308.08,1315.75,1323.00,1333.63,
-1341.90,1345.15,1356.05,1363.63,1370.08,1378.50,1385.90,1392.96,1399.36,1406.86,
-1415.00,1421.17,1431.32,1440.49,1440.97,1446.37,1458.48,1466.74,1472.26,1477.87,
-1487.83,1491.69,1501.93,1511.70,1519.15,1523.58,1533.29,1536.69,1545.09,1554.16,
-1560.46,1569.34,1574.44,1584.63,1591.49,1596.06,1605.96,1613.36,1620.95,1633.83,
-1632.64,1642.66,1648.77,1656.71,1666.31,1669.90,1682.91,1686.03,1698.13,1701.08,
-1713.44,1717.31,1723.65,1734.00,1739.41,1747.31,1755.82,1763.22,1770.11,1779.46,
-1785.03,1788.27,1800.92,1807.64,1809.88,1817.77,1826.71,1841.82,1843.40,1855.05,
-1852.25,1870.39,1865.73,1879.41,1887.71,1889.68,1901.29,1912.50,1911.59,1921.12,
-1929.21,1933.63,1948.74,1954.76,1963.58,1969.59,1981.10,1984.79,1990.92,1998.89,
-2008.49,2010.28,2018.44,2029.65,2034.37,2046.76,2048.01,2054.17,2064.77,2074.87,
-2078.21,2082.70,2096.12,2103.02,2108.40,2114.92,2124.87,2123.97,2137.26,2146.29,
-2154.44,2157.87,2169.17,2177.51,2185.86,2187.14,2199.18,2197.57,2217.61,2216.38,
-80.39,85.75,94.34,100.62,107.78,113.96,120.66,129.59,136.14,142.54,
-149.93,157.15,163.92,170.52,178.29,185.56,192.29,201.83,206.91,213.93,
-220.03,226.13,235.64,241.68,249.65,257.25,263.48,271.61,277.65,285.62,
-291.12,298.51,306.80,312.11,322.73,327.65,337.07,343.03,348.66,355.35,
-364.25,369.09,377.07,385.37,389.81,395.56,405.19,413.51,417.65,426.96,
-432.00,441.23,446.07,455.34,463.07,469.58,478.47,484.20,490.12,498.19,
-503.45,512.29,521.21,527.32,532.02,539.21,549.73,555.45,559.84,569.39,
-579.97,582.02,592.26,596.64,605.79,608.82,617.28,626.38,629.14,637.50,
-647.66,652.29,659.38,668.15,673.96,681.95,689.21,696.88,700.04,707.13,
-718.31,723.21,731.21,743.11,748.60,752.57,759.54,770.35,777.39,784.76,
-788.88,795.33,801.48,810.32,816.91,823.04,831.18,835.89,843.61,854.04,
-862.51,866.42,873.03,878.62,888.65,895.91,902.91,905.25,918.79,924.29,
-928.94,938.94,946.54,950.14,959.98,967.62,970.32,979.74,985.85,993.23,
-1002.29,1009.69,1016.20,1022.50,1027.59,1037.64,1043.22,1049.81,1053.42,1064.86,
-1073.43,1080.23,1084.61,1093.79,1101.76,1109.11,1114.46,1123.49,1128.29,1138.77,
-1143.67,1146.47,1159.64,1164.14,1173.31,1177.51,1189.49,1199.62,1201.58,1204.41,
-1212.97,1222.16,1229.33,1238.70,1242.47,1251.76,1254.79,1261.08,1271.26,1279.22,
-1278.31,1291.08,1302.55,1310.50,1307.44,1316.40,1326.06,1335.03,1342.81,1343.60,
-1354.99,1360.34,1369.28,1376.86,1383.48,1391.22,1397.32,1406.73,1413.08,1418.43,
-1428.67,1435.42,1439.08,1449.56,1455.49,1462.45,1468.76,1474.10,1483.53,1491.68,
-1497.25,1502.99,1516.25,1519.45,1529.73,1529.99,1537.06,1546.14,1559.20,1564.04,
-1569.62,1576.99,1581.40,1586.48,1602.82,1606.22,1609.07,1624.15,1624.76,1630.95,
-1641.14,1645.22,1656.02,1661.87,1669.24,1678.61,1680.52,1690.43,1699.61,1704.58,
-1713.52,1720.14,1730.06,1734.15,1737.65,1746.27,1757.90,1760.74,1767.11,1774.84,
-1780.13,1790.61,1794.92,1802.11,1811.83,1820.18,1823.04,1834.30,1840.37,1849.57,
-1853.95,1863.14,1863.80,1873.94,1876.82,1893.13,1894.12,1903.80,1909.91,1919.60,
-1921.66,1934.77,1937.45,1944.11,1951.25,1958.13,1961.69,1978.84,1976.33,1988.41,
-1994.57,1998.88,2007.35,2013.50,2027.88,2028.28,2039.45,2047.18,2056.13,2057.84,
-2068.18,2068.04,2083.88,2092.12,2092.54,2098.52,2105.90,2111.27,2122.06,2136.28,
-75.78,83.16,88.77,96.98,103.07,110.23,117.06,123.93,128.38,136.54,
-143.78,150.27,156.78,164.05,170.13,179.33,183.26,191.77,198.07,205.43,
-210.58,218.13,226.71,231.28,238.72,246.52,251.26,259.75,266.13,271.75,
-278.81,285.32,293.61,298.54,308.09,313.27,320.41,325.30,334.18,341.54,
-348.00,353.18,361.10,366.89,371.50,381.64,387.05,396.71,400.52,408.93,
-413.73,424.89,429.36,434.84,441.14,447.13,456.35,461.20,466.80,476.50,
-485.17,487.77,495.33,501.27,510.28,517.72,522.44,529.75,536.07,545.92,
-550.37,556.79,563.77,570.04,578.75,584.99,596.19,599.18,608.49,609.37,
-616.90,626.85,629.01,639.39,646.10,652.37,660.44,668.85,672.50,682.12,
-688.09,693.18,700.05,707.08,718.28,719.98,727.26,735.59,740.62,746.87,
-755.59,758.87,772.35,775.48,781.99,788.01,793.93,804.39,809.31,816.62,
-823.84,831.34,837.09,843.05,850.69,856.33,863.40,876.73,876.46,884.27,
-890.07,900.44,902.09,911.98,917.92,923.75,931.28,941.12,942.10,950.65,
-953.46,970.93,971.28,980.20,986.59,989.55,998.01,1003.36,1014.01,1025.27,
-1025.18,1037.69,1038.37,1046.26,1055.18,1061.51,1066.57,1072.01,1083.18,1090.03,
-1091.99,1099.18,1108.93,1110.48,1121.00,1129.52,1138.31,1140.67,1149.94,1157.38,
-1165.94,1174.16,1173.69,1181.39,1189.02,1201.63,1200.14,1210.57,1214.33,1226.78,
-1232.19,1239.30,1245.23,1253.24,1259.86,1268.54,1266.82,1274.94,1286.09,1290.09,
-1299.77,1307.17,1311.47,1319.14,1331.11,1332.30,1343.08,1340.20,1352.26,1356.14,
-1366.93,1378.52,1377.73,1385.14,1395.75,1398.79,1404.82,1416.02,1422.62,1426.69,
-1435.20,1439.05,1450.50,1453.45,1462.43,1469.00,1472.11,1485.85,1485.73,1496.96,
-1504.57,1510.14,1516.21,1521.00,1527.73,1537.55,1545.94,1551.07,1556.55,1562.74,
-1573.05,1575.53,1587.13,1588.27,1599.09,1610.14,1609.41,1617.80,1630.12,1632.45,
-1639.59,1644.14,1655.58,1660.88,1666.07,1671.24,1677.44,1682.48,1689.50,1700.38,
-1706.28,1710.12,1718.74,1722.77,1739.58,1736.82,1745.91,1747.59,1762.42,1760.62,
-1779.10,1771.68,1783.95,1790.34,1800.77,1808.01,1812.97,1825.77,1829.94,1835.88,
-1843.01,1851.38,1847.18,1864.07,1868.76,1874.91,1887.54,1888.81,1893.18,1902.59,
-1912.61,1915.77,1923.54,1931.46,1938.06,1942.54,1955.05,1951.37,1966.72,1978.60,
-1972.88,1990.03,1992.23,1992.45,2004.92,2017.13,2021.62,2024.61,2035.01,2039.01,
-71.37,78.09,84.44,91.59,99.37,105.29,111.44,116.17,126.08,130.54,
-137.45,143.02,151.73,156.88,161.83,169.88,178.47,184.11,188.79,196.14,
-202.96,207.90,213.77,222.32,227.41,234.40,242.29,249.00,254.47,259.95,
-268.36,274.82,280.48,285.57,293.32,298.50,307.07,310.15,320.05,326.31,
-333.84,338.22,346.94,349.65,358.18,359.97,371.96,377.44,383.95,391.65,
-399.66,406.15,410.00,418.67,417.80,428.02,436.13,444.82,447.48,454.24,
-457.60,468.36,476.06,481.87,487.30,496.99,500.12,502.82,512.25,522.38,
-524.71,532.77,541.86,551.39,549.34,559.83,564.62,569.19,578.90,587.09,
-587.54,598.89,605.51,611.08,621.98,625.61,630.66,636.56,643.02,650.31,
-657.61,664.98,671.51,678.43,682.65,691.99,695.31,702.91,706.87,713.15,
-724.55,727.03,735.68,735.81,749.07,754.62,763.20,770.42,774.93,780.43,
-788.18,795.79,799.81,808.32,810.51,818.45,823.40,830.67,840.90,848.33,
-856.49,861.18,867.33,871.21,876.34,884.85,886.66,891.94,907.22,909.77,
-916.75,923.12,933.23,942.29,946.43,949.95,952.74,960.53,969.09,972.30,
-981.49,989.22,993.23,1000.59,1008.06,1015.20,1020.19,1029.58,1035.43,1040.75,
-1047.74,1054.51,1056.13,1064.03,1071.28,1075.60,1089.98,1092.07,1097.62,1109.30,
-1117.61,1120.73,1122.90,1130.18,1136.14,1147.24,1151.01,1158.40,1164.88,1164.31,
-1170.49,1184.02,1188.21,1196.08,1203.32,1208.59,1212.31,1221.44,1228.21,1233.55,
-1240.93,1242.40,1250.48,1262.48,1265.53,1278.82,1284.64,1284.22,1290.32,1306.22,
-1309.17,1313.84,1320.60,1327.30,1335.73,1336.96,1344.67,1351.03,1359.14,1368.97,
-1374.64,1382.37,1387.82,1389.23,1395.45,1404.41,1408.29,1415.96,1423.60,1430.79,
-1435.70,1444.78,1453.13,1452.59,1457.10,1468.21,1470.82,1484.13,1484.99,1494.90,
-1500.75,1510.69,1517.30,1520.62,1527.72,1534.64,1540.93,1552.27,1548.40,1564.58,
-1569.41,1568.66,1575.07,1583.41,1589.91,1592.81,1605.18,1615.81,1616.02,1629.56,
-1628.66,1636.88,1649.02,1648.16,1651.61,1663.09,1672.35,1674.25,1687.87,1691.24,
-1693.47,1704.67,1707.59,1715.22,1721.30,1727.21,1737.52,1744.16,1747.97,1751.95,
-1762.09,1763.60,1777.64,1782.07,1786.59,1799.68,1800.55,1803.90,1816.97,1824.53,
-1824.38,1835.82,1838.71,1844.48,1850.47,1855.71,1866.47,1875.35,1877.26,1883.68,
-1890.71,1900.32,1903.82,1905.53,1919.46,1920.38,1930.56,1938.77,1945.05,1946.76,
-68.18,74.23,82.05,86.97,93.47,100.58,104.41,112.67,118.30,124.63,
-131.50,137.37,143.57,151.32,153.68,161.44,168.47,174.32,182.13,186.57,
-194.16,198.84,204.49,211.90,217.69,221.27,230.88,236.41,241.87,248.06,
-254.89,263.35,266.30,274.45,279.38,286.27,289.76,298.13,306.23,311.91,
-318.36,325.19,328.97,335.00,342.28,348.69,355.29,362.24,365.18,374.93,
-378.80,384.39,392.44,396.87,406.56,410.24,418.68,422.90,428.66,435.76,
-440.81,448.68,452.95,457.37,466.24,473.93,477.64,486.62,489.50,498.08,
-503.01,512.02,515.03,521.55,527.16,535.88,534.42,546.68,549.02,560.35,
-565.53,569.49,576.00,583.88,587.41,601.00,604.76,607.27,617.43,619.93,
-628.00,637.27,644.02,647.77,652.50,659.29,665.74,670.13,679.03,681.72,
-690.73,698.59,702.11,704.12,716.03,723.15,727.09,730.67,738.83,748.34,
-756.50,758.51,766.37,768.37,775.06,787.80,787.03,792.27,803.30,806.12,
-814.03,820.98,827.52,833.10,838.08,846.23,856.70,857.06,865.71,870.62,
-874.09,881.87,889.82,891.88,902.43,905.14,912.89,918.65,924.23,928.94,
-936.11,945.56,948.01,953.68,958.41,969.53,968.56,981.53,988.33,994.40,
-999.79,1004.40,1013.54,1019.01,1028.40,1026.73,1038.54,1044.45,1049.72,1056.07,
-1060.84,1070.15,1079.14,1073.53,1083.88,1097.53,1098.71,1106.08,1106.06,1118.58,
-1127.65,1127.67,1134.48,1141.65,1149.18,1154.94,1158.01,1166.27,1168.88,1176.30,
-1187.87,1198.41,1197.22,1206.15,1211.07,1212.94,1218.39,1229.11,1237.24,1239.95,
-1245.58,1249.21,1256.68,1270.57,1275.24,1273.72,1279.48,1288.37,1297.30,1299.21,
-1312.83,1315.85,1320.63,1321.75,1329.65,1342.00,1350.97,1353.19,1356.40,1358.63,
-1368.23,1381.63,1388.03,1389.56,1389.44,1404.45,1409.95,1415.99,1424.21,1426.78,
-1431.23,1444.88,1444.67,1446.77,1460.00,1459.44,1471.61,1476.43,1484.86,1489.17,
-1494.66,1499.29,1511.16,1516.99,1523.66,1529.24,1535.75,1536.98,1544.65,1550.29,
-1556.51,1563.73,1567.32,1576.15,1578.97,1588.48,1594.65,1598.15,1601.50,1614.42,
-1626.61,1625.57,1635.27,1632.93,1647.42,1647.61,1655.04,1659.72,1671.94,1672.23,
-1678.58,1692.00,1698.17,1700.55,1703.86,1705.61,1719.38,1722.36,1732.39,1739.15,
-1745.55,1752.58,1760.93,1763.49,1765.89,1773.03,1782.59,1788.86,1793.54,1798.22,
-1804.15,1814.31,1821.71,1818.86,1828.64,1835.85,1844.36,1851.23,1858.69,1856.82,
-66.64,70.24,77.58,81.49,88.75,95.59,100.50,106.34,113.04,118.04,
-125.21,132.23,137.20,141.05,147.84,154.56,158.76,167.25,173.09,178.88,
-185.05,190.93,195.52,202.35,209.69,214.99,222.13,227.07,233.06,237.26,
-244.28,248.30,255.05,260.87,269.60,276.29,279.18,282.54,293.42,296.78,
-301.42,309.15,314.47,319.77,324.88,333.09,340.36,343.38,351.30,358.89,
-361.25,371.12,375.34,375.36,384.19,389.07,398.19,400.77,410.85,414.29,
-422.20,428.30,432.49,436.88,445.88,446.71,458.86,462.56,467.32,474.81,
-480.42,487.33,490.13,497.91,506.42,508.58,510.88,520.87,526.91,529.81,
-537.79,546.55,546.71,557.21,561.06,570.58,578.10,578.39,585.81,591.11,
-601.96,604.56,609.81,613.74,622.32,626.53,627.37,639.10,644.76,654.50,
-657.94,662.02,669.23,673.99,682.34,689.10,694.58,699.02,700.35,708.67,
-718.81,722.98,726.12,736.26,737.32,744.30,752.91,758.00,765.60,773.35,
-773.18,779.20,788.08,791.17,794.64,803.77,816.95,819.16,819.13,825.35,
-834.89,839.72,847.95,852.43,860.72,863.22,871.11,874.59,885.64,885.23,
-894.98,896.29,907.48,908.45,919.29,925.47,931.26,933.56,938.49,948.70,
-949.49,962.16,967.39,969.34,973.36,989.26,989.21,991.02,995.67,1010.26,
-1011.62,1016.88,1025.18,1026.77,1037.25,1037.27,1049.61,1056.11,1060.83,1064.60,
-1072.48,1077.85,1083.43,1086.55,1093.41,1097.62,1105.84,1112.04,1119.37,1119.49,
-1125.15,1140.10,1150.18,1145.41,1153.68,1164.37,1167.14,1168.34,1177.42,1180.88,
-1187.89,1194.33,1200.69,1200.61,1207.66,1215.76,1225.86,1233.37,1237.89,1247.84,
-1249.71,1251.14,1262.24,1260.29,1272.03,1281.10,1284.95,1287.44,1292.71,1304.98,
-1310.28,1313.69,1328.97,1328.10,1332.26,1341.24,1345.30,1347.99,1349.11,1358.66,
-1361.63,1368.81,1377.25,1387.26,1399.04,1400.72,1401.50,1409.57,1410.31,1412.71,
-1427.88,1425.21,1435.04,1446.02,1448.43,1449.66,1456.90,1466.93,1473.58,1471.02,
-1484.65,1487.53,1506.12,1506.95,1505.65,1517.82,1519.13,1536.39,1530.14,1542.02,
-1541.46,1558.12,1551.12,1564.87,1567.83,1574.57,1578.40,1582.61,1593.81,1597.00,
-1608.45,1611.36,1623.38,1619.19,1621.03,1629.63,1641.22,1643.90,1652.79,1656.34,
-1660.32,1672.76,1676.03,1678.99,1690.15,1694.02,1693.05,1705.18,1711.32,1717.44,
-1730.92,1727.49,1728.51,1740.83,1743.72,1746.56,1763.14,1757.64,1768.65,1770.07,
-62.26,68.25,72.80,79.81,84.58,92.09,95.56,103.62,109.07,112.75,
-118.00,126.13,129.40,137.51,142.14,145.64,151.69,158.99,164.22,170.03,
-174.10,181.18,187.48,190.95,196.44,202.96,210.69,214.20,221.29,226.56,
-230.97,236.75,241.85,250.07,252.85,259.55,266.65,273.42,275.37,282.66,
-287.14,292.04,300.54,302.77,309.84,311.54,320.81,326.80,334.16,335.67,
-341.76,351.63,352.05,359.62,364.89,375.84,377.32,385.86,390.57,398.01,
-401.97,407.26,414.40,415.49,419.26,427.37,436.90,439.70,445.28,450.81,
-457.54,462.67,466.18,471.92,479.37,488.99,493.15,496.47,500.28,507.40,
-513.28,517.91,527.69,531.56,535.71,537.83,545.56,558.05,554.65,567.68,
-570.27,572.38,580.85,590.50,588.73,596.65,603.84,601.91,616.93,619.17,
-628.76,633.96,634.59,642.11,651.13,659.97,659.89,662.27,674.08,678.34,
-680.90,686.85,694.20,699.64,706.01,713.70,713.21,719.02,726.50,733.57,
-735.25,744.75,746.97,752.41,761.10,772.24,775.49,780.87,785.10,790.57,
-797.97,803.70,808.26,815.26,817.12,821.74,832.18,833.53,836.08,852.27,
-851.54,856.04,862.51,870.01,877.39,881.77,885.91,890.17,898.11,904.10,
-904.84,909.14,917.49,928.51,935.14,933.56,943.09,942.85,957.69,960.62,
-963.27,966.84,974.84,977.46,991.36,993.86,999.11,998.09,1007.78,1012.87,
-1013.86,1028.09,1029.62,1038.10,1042.58,1046.83,1053.35,1064.80,1065.70,1070.34,
-1073.52,1080.28,1084.64,1090.25,1099.35,1105.53,1111.55,1115.21,1117.09,1122.83,
-1131.29,1139.75,1145.82,1150.07,1156.19,1156.20,1169.33,1168.73,1171.26,1181.52,
-1188.76,1201.55,1202.55,1202.40,1207.20,1219.45,1220.10,1218.82,1236.98,1231.26,
-1247.15,1248.39,1257.64,1263.51,1268.14,1271.41,1283.57,1284.79,1291.04,1295.49,
-1306.65,1306.37,1310.13,1312.18,1328.73,1321.22,1336.61,1336.97,1345.62,1346.60,
-1358.20,1362.35,1375.45,1371.87,1375.96,1389.64,1390.38,1397.50,1404.53,1410.26,
-1408.71,1421.54,1425.06,1432.21,1435.47,1436.87,1448.93,1450.37,1457.65,1468.13,
-1471.56,1475.28,1482.52,1490.50,1489.81,1494.23,1506.90,1513.46,1516.58,1521.36,
-1524.13,1533.86,1531.96,1543.03,1548.12,1545.68,1555.07,1571.37,1566.45,1569.94,
-1580.13,1590.89,1595.26,1606.73,1610.37,1609.79,1617.31,1623.98,1624.99,1630.45,
-1635.75,1641.72,1645.53,1651.60,1664.03,1663.74,1672.77,1675.17,1679.04,1694.03,
-59.53,63.77,70.16,75.03,78.37,86.23,92.03,98.20,104.73,106.20,
-113.85,119.01,122.83,130.64,135.36,140.28,144.45,150.86,156.91,160.83,
-168.61,173.86,177.29,184.42,190.21,193.53,196.89,205.03,211.69,214.46,
-220.72,225.49,231.77,235.03,240.09,244.16,253.54,257.25,261.15,266.81,
-275.34,280.63,283.99,287.19,294.44,301.17,307.66,310.84,316.31,321.15,
-328.24,332.49,339.08,342.88,350.51,357.06,361.74,366.93,370.50,374.83,
-380.58,384.78,389.84,400.89,399.98,405.48,414.12,420.01,421.08,429.72,
-433.91,439.94,448.47,452.13,456.79,458.73,469.62,469.12,478.05,479.53,
-492.63,494.97,502.32,506.59,507.14,515.20,521.95,526.86,531.98,535.95,
-541.01,549.12,557.32,557.17,564.09,569.43,569.68,584.68,583.04,592.89,
-596.05,598.43,607.39,611.43,614.24,620.87,630.05,630.67,639.89,642.21,
-653.39,649.81,655.25,661.74,671.23,672.46,681.47,683.77,691.33,692.54,
-698.01,708.18,715.41,717.18,722.21,731.31,731.72,738.34,741.05,747.37,
-753.01,753.02,765.93,773.12,773.43,780.20,790.30,796.37,794.98,804.14,
-808.57,816.93,823.70,820.88,831.87,838.19,842.69,847.33,848.06,856.57,
-860.42,870.82,876.08,873.86,882.23,892.44,897.18,904.20,907.90,913.99,
-916.30,918.33,931.18,927.99,938.71,939.28,948.76,952.62,957.57,960.44,
-970.25,975.59,974.29,988.49,990.62,996.93,1001.33,1008.70,1013.64,1024.93,
-1017.72,1029.87,1025.09,1039.43,1039.43,1048.86,1055.75,1062.78,1072.84,1075.40,
-1080.30,1083.33,1087.66,1097.74,1096.59,1105.31,1109.76,1113.92,1121.46,1119.91,
-1134.36,1133.44,1146.56,1146.12,1149.70,1151.40,1163.89,1173.75,1172.43,1179.46,
-1181.41,1186.98,1200.05,1201.81,1206.47,1207.73,1213.93,1222.44,1227.56,1231.70,
-1240.98,1246.67,1256.30,1252.12,1255.45,1262.04,1270.18,1275.50,1283.99,1292.03,
-1293.74,1301.70,1299.65,1313.18,1317.70,1318.10,1327.76,1333.16,1333.88,1334.91,
-1349.17,1354.16,1356.12,1360.26,1363.52,1374.28,1378.37,1393.65,1391.08,1388.36,
-1395.40,1411.96,1410.81,1418.99,1421.13,1418.39,1430.03,1440.44,1442.44,1449.35,
-1452.59,1458.28,1472.00,1467.12,1475.44,1483.61,1481.21,1493.06,1498.61,1503.85,
-1504.27,1505.55,1515.28,1511.96,1534.03,1534.68,1539.44,1539.52,1551.94,1554.89,
-1558.02,1571.28,1570.59,1579.71,1577.44,1582.38,1589.83,1600.53,1604.01,1603.70,
-56.61,60.68,67.17,71.91,78.35,81.94,86.56,91.95,94.97,102.76,
-104.84,113.89,116.64,123.61,127.52,132.43,137.67,142.69,149.29,151.27,
-156.75,163.53,170.00,173.47,179.99,183.83,190.39,193.40,201.65,203.44,
-210.79,215.04,217.88,224.69,227.09,235.42,242.60,245.23,248.78,254.07,
-258.07,264.82,271.17,274.50,282.32,283.84,287.99,292.61,301.93,303.14,
-312.37,315.85,320.22,325.95,329.15,336.20,341.11,343.87,349.93,354.70,
-363.97,369.20,371.39,376.74,379.88,386.79,393.46,396.99,408.67,406.00,
-412.95,419.38,426.73,431.70,434.24,438.56,442.63,447.94,455.43,459.17,
-463.14,469.67,475.19,481.19,486.15,494.97,491.76,502.72,504.98,510.91,
-515.21,522.67,523.10,528.15,535.54,537.73,547.63,550.58,558.08,563.78,
-563.96,567.82,575.80,580.78,586.17,595.12,598.95,598.39,606.11,612.43,
-613.82,621.86,625.00,633.93,629.99,640.99,643.95,652.33,657.90,659.08,
-665.97,667.95,677.15,682.22,686.60,694.87,702.40,698.57,707.53,715.55,
-716.09,723.75,728.96,730.80,733.88,746.09,747.58,754.53,759.08,762.55,
-770.52,770.67,779.03,782.14,791.60,789.76,799.00,806.25,807.10,816.43,
-824.10,827.47,830.06,838.22,843.03,846.84,849.00,856.92,856.12,866.19,
-872.44,877.73,881.10,887.28,887.78,896.71,904.53,911.80,917.17,923.39,
-917.45,924.41,932.51,939.36,938.88,950.31,954.01,961.70,959.79,965.34,
-964.91,976.31,982.08,987.39,990.04,1000.88,1004.66,1007.67,1016.79,1015.32,
-1026.19,1025.07,1037.94,1036.76,1040.79,1045.63,1050.53,1061.95,1062.45,1066.68,
-1077.68,1087.61,1083.94,1088.37,1092.11,1103.10,1105.33,1110.29,1115.33,1117.00,
-1127.31,1131.64,1133.86,1134.16,1148.18,1150.72,1154.54,1163.45,1170.42,1172.27,
-1178.40,1180.87,1183.27,1195.22,1195.65,1201.47,1210.56,1212.68,1212.81,1230.26,
-1226.09,1229.70,1239.69,1236.89,1245.71,1250.91,1257.78,1260.87,1266.01,1271.88,
-1277.13,1274.93,1291.56,1289.37,1300.57,1300.44,1315.80,1315.05,1319.97,1329.52,
-1328.84,1333.53,1342.55,1345.92,1357.72,1352.27,1362.53,1362.46,1364.98,1374.91,
-1377.58,1375.88,1388.63,1390.09,1406.99,1406.78,1411.48,1415.00,1418.92,1434.48,
-1429.33,1434.32,1438.83,1443.02,1455.21,1454.97,1460.73,1458.90,1474.50,1475.41,
-1478.21,1486.11,1485.65,1492.25,1507.08,1511.21,1506.83,1512.76,1517.22,1527.55,
-54.09,59.82,64.09,67.48,71.52,74.54,83.50,89.44,91.36,96.20,
-102.37,107.63,112.80,115.86,119.85,125.74,131.19,135.10,140.24,145.50,
-150.45,154.85,158.01,164.73,170.43,173.59,177.41,184.13,190.76,194.75,
-199.44,204.13,209.86,210.14,214.11,221.73,228.46,233.97,235.70,241.75,
-247.72,253.19,254.81,261.69,267.85,272.60,274.96,281.09,288.13,291.59,
-299.94,301.55,305.63,307.70,312.73,321.36,323.24,331.18,328.43,337.02,
-345.45,349.07,353.44,361.34,361.37,368.77,375.73,378.10,383.01,387.10,
-389.12,399.23,403.05,406.33,415.28,420.05,417.87,426.98,431.34,439.78,
-441.04,443.22,450.95,457.21,456.06,467.27,469.12,474.90,477.06,481.42,
-483.89,490.96,498.88,502.83,506.22,514.17,516.43,523.56,527.54,534.32,
-538.11,539.62,546.64,553.17,555.10,561.01,566.52,571.69,573.66,583.67,
-587.92,588.38,595.26,598.59,605.48,610.79,611.27,619.59,623.78,627.69,
-634.32,635.94,643.84,655.53,654.34,658.94,667.25,667.79,674.05,677.81,
-683.90,686.61,691.87,692.11,696.16,706.11,710.27,718.14,720.33,725.41,
-730.54,733.74,738.06,740.45,748.68,755.80,762.57,769.93,769.33,775.33,
-780.40,780.62,786.13,793.40,802.07,803.11,809.47,809.27,822.54,821.12,
-826.79,833.08,838.04,843.03,841.89,846.82,863.30,854.72,866.89,871.55,
-875.83,878.03,881.58,888.47,895.56,897.00,906.01,910.35,915.86,914.96,
-926.78,930.33,932.95,942.36,936.47,945.56,949.53,958.13,961.73,968.47,
-968.87,978.99,982.03,978.70,989.49,994.57,998.51,1005.56,1012.95,1019.72,
-1021.93,1026.41,1027.30,1030.39,1043.35,1040.75,1050.05,1052.37,1055.44,1061.29,
-1067.20,1075.07,1074.39,1083.58,1090.47,1092.85,1094.54,1101.40,1109.48,1113.01,
-1118.73,1121.27,1130.65,1129.87,1138.51,1143.10,1146.48,1150.04,1161.27,1162.12,
-1165.80,1172.45,1169.38,1176.17,1183.74,1185.26,1194.61,1199.10,1199.99,1204.59,
-1211.85,1215.20,1221.15,1227.47,1227.21,1239.28,1240.96,1245.36,1252.11,1258.69,
-1252.66,1265.45,1269.18,1276.36,1281.08,1289.42,1286.35,1295.33,1298.90,1301.64,
-1310.23,1320.61,1319.78,1328.56,1329.73,1333.65,1337.83,1344.07,1348.75,1356.85,
-1356.95,1365.64,1370.18,1382.72,1382.72,1381.08,1390.34,1395.13,1396.81,1403.38,
-1404.60,1408.16,1419.08,1419.88,1428.34,1435.59,1429.16,1437.33,1445.19,1448.39,
-52.50,54.92,61.04,64.93,67.83,74.34,77.50,82.89,87.01,91.30,
-96.38,101.43,106.41,108.66,114.22,119.99,125.29,130.65,133.24,137.44,
-144.04,145.83,153.09,156.61,161.84,163.35,169.76,173.95,182.46,185.49,
-184.49,194.08,199.84,198.85,207.75,210.77,215.32,219.28,223.72,229.07,
-236.97,236.31,243.30,247.32,250.37,257.66,262.06,265.55,272.38,278.66,
-278.70,284.49,289.20,293.58,296.43,305.43,306.83,316.35,319.52,321.51,
-323.80,329.67,333.00,339.74,344.19,343.63,354.04,356.78,362.10,366.35,
-371.08,379.92,381.91,387.48,390.53,391.65,395.58,404.33,412.23,415.07,
-416.87,419.53,422.89,431.06,436.63,442.49,448.38,453.34,447.80,454.62,
-459.82,465.58,470.99,475.66,481.47,484.12,494.82,494.08,498.32,507.73,
-507.72,511.83,515.99,521.71,527.00,531.75,536.42,543.03,554.07,549.31,
-554.42,559.15,563.02,568.49,571.01,576.70,580.00,588.49,591.38,596.94,
-600.68,605.84,604.20,616.13,619.28,622.17,633.90,626.93,635.67,639.38,
-647.14,653.13,655.92,656.23,664.05,674.44,668.05,677.57,685.41,687.06,
-691.88,695.57,694.40,708.51,708.15,712.25,722.37,725.67,725.62,727.81,
-739.80,742.33,745.32,751.69,757.28,763.81,766.32,772.73,778.39,775.45,
-780.20,785.99,787.83,796.46,796.68,804.36,810.57,813.75,825.83,822.12,
-825.30,832.92,833.26,839.78,845.60,848.51,857.10,863.61,868.57,876.70,
-871.53,875.36,881.71,894.93,894.61,901.61,897.88,904.43,911.41,923.62,
-919.81,923.81,938.53,930.20,943.56,945.18,943.33,955.47,963.35,961.54,
-963.76,978.95,977.88,989.84,985.01,983.90,996.97,997.37,1007.46,1003.97,
-1016.91,1018.57,1025.27,1023.48,1033.97,1038.15,1041.10,1042.44,1050.26,1055.19,
-1061.70,1067.53,1068.51,1070.28,1081.18,1074.23,1091.52,1083.77,1093.65,1098.53,
-1105.94,1105.83,1117.51,1117.87,1129.54,1131.96,1129.10,1142.31,1136.87,1146.16,
-1151.15,1152.92,1161.68,1169.35,1173.53,1171.62,1186.80,1180.82,1182.47,1190.15,
-1201.35,1205.13,1203.03,1210.66,1214.06,1216.57,1223.18,1232.65,1232.93,1231.82,
-1245.78,1246.02,1250.36,1250.99,1261.96,1265.03,1267.37,1274.96,1281.82,1280.84,
-1294.96,1287.72,1302.53,1294.67,1309.53,1299.56,1315.68,1316.63,1326.26,1327.77,
-1331.19,1335.88,1349.78,1344.73,1341.85,1354.23,1361.46,1371.05,1362.17,1379.08,
-49.41,53.82,55.86,60.31,67.77,69.48,74.41,78.68,82.13,85.88,
-92.37,95.45,100.50,105.40,110.75,113.41,117.63,120.24,128.55,131.52,
-134.75,139.77,142.44,149.03,154.25,159.57,162.96,163.65,168.82,173.71,
-176.84,181.09,185.35,190.66,197.14,198.21,204.43,212.40,215.44,221.29,
-220.35,222.80,230.01,234.85,237.87,239.52,242.39,251.80,254.58,260.38,
-259.16,273.08,270.36,276.32,282.29,285.23,289.80,298.07,296.12,304.70,
-312.24,311.49,321.17,322.20,329.38,328.42,338.01,340.15,342.48,352.14,
-347.91,354.15,358.80,366.06,367.25,370.74,377.89,382.32,388.54,391.12,
-395.15,403.36,407.09,409.10,410.32,414.00,420.57,427.55,430.02,429.53,
-439.64,442.09,443.61,456.01,457.07,465.22,464.30,465.94,470.53,473.56,
-479.20,486.00,488.93,493.16,497.32,503.19,508.62,516.31,516.54,522.21,
-528.94,530.68,534.40,541.29,543.89,548.23,548.98,554.63,559.07,563.71,
-569.28,574.03,576.31,578.19,583.01,594.31,593.00,600.57,602.19,604.17,
-610.53,621.58,620.70,627.34,626.82,634.27,636.96,645.51,649.78,649.92,
-648.67,655.59,662.01,667.17,671.64,675.22,686.37,690.08,692.22,695.40,
-694.41,701.53,704.87,714.39,725.45,725.61,722.70,723.53,733.55,742.10,
-742.88,745.49,753.19,756.61,755.98,768.46,772.17,775.46,781.30,780.12,
-781.70,786.62,799.02,800.47,803.07,810.69,811.88,812.52,819.50,824.30,
-829.00,832.58,835.02,835.15,841.32,855.72,855.30,859.68,859.44,862.67,
-876.35,882.61,887.74,879.92,887.97,897.70,897.98,901.96,906.16,909.40,
-919.49,914.62,927.18,918.10,936.32,937.64,942.84,947.46,955.10,959.08,
-957.75,959.68,962.25,976.33,984.38,981.02,983.64,988.19,985.86,996.13,
-1010.84,1009.16,1008.70,1016.64,1021.74,1024.57,1029.21,1035.49,1029.51,1050.36,
-1043.09,1049.22,1051.65,1057.87,1060.82,1075.47,1075.13,1074.24,1081.92,1085.41,
-1084.51,1103.43,1094.55,1098.16,1109.50,1114.85,1113.88,1113.07,1130.03,1126.88,
-1134.74,1137.63,1144.63,1147.60,1149.37,1156.85,1154.76,1156.74,1165.58,1170.73,
-1170.73,1170.43,1182.76,1194.31,1193.97,1195.49,1208.28,1209.13,1214.37,1209.11,
-1215.28,1221.46,1234.82,1235.79,1238.68,1240.33,1257.58,1255.50,1258.84,1257.29,
-1269.12,1263.15,1271.44,1280.43,1285.61,1282.84,1282.16,1290.87,1301.69,1301.64,
-46.59,50.45,54.87,59.28,63.62,66.65,70.80,76.70,78.34,79.96,
-85.79,91.21,93.43,99.25,103.27,106.35,112.18,117.12,120.81,123.24,
-127.38,132.53,135.28,137.83,144.93,148.12,149.80,156.82,161.38,166.69,
-170.34,171.53,178.44,179.66,188.54,187.98,193.50,200.44,199.81,208.18,
-210.46,216.30,222.51,219.69,228.80,227.59,234.38,237.64,240.63,245.09,
-249.45,257.91,264.98,262.19,265.64,274.44,274.99,276.63,283.89,289.50,
-291.70,295.23,301.73,307.89,307.78,314.54,316.50,324.53,325.11,327.12,
-335.17,339.82,341.12,343.30,349.67,355.13,360.44,363.44,366.55,369.47,
-373.03,378.95,378.80,386.56,386.58,396.49,398.51,400.40,408.99,410.02,
-414.94,419.52,418.64,428.14,433.16,433.92,436.49,448.18,450.98,452.82,
-457.58,457.72,467.52,471.21,466.65,479.17,483.09,489.91,495.31,495.14,
-498.50,496.86,507.67,512.92,513.89,516.12,522.32,525.34,534.00,535.53,
-539.41,544.25,548.09,555.30,552.10,563.15,561.57,568.26,572.86,578.41,
-578.74,586.57,583.23,589.39,599.91,599.73,605.83,603.78,614.84,616.13,
-624.14,623.19,632.91,628.47,644.31,636.63,653.49,648.06,656.78,660.83,
-660.77,669.29,670.76,673.40,679.05,681.88,683.77,688.07,693.85,695.08,
-701.19,709.88,711.59,717.10,723.24,723.58,728.45,733.47,732.84,746.25,
-741.03,744.72,758.06,763.19,762.51,769.46,770.04,774.63,776.02,786.76,
-785.71,793.92,797.39,793.50,802.81,799.82,805.50,811.12,816.86,817.56,
-821.22,833.74,834.37,840.48,844.73,841.78,853.83,857.69,866.18,863.63,
-858.38,868.95,874.47,879.41,881.17,894.06,893.96,898.35,906.74,899.09,
-910.15,913.44,919.55,917.01,921.46,930.91,933.35,933.30,939.89,947.63,
-942.86,963.89,955.63,961.93,961.37,966.93,970.33,973.41,977.48,987.25,
-983.55,998.79,1000.80,1012.76,1014.13,1005.98,1011.26,1010.30,1015.20,1029.87,
-1036.94,1040.47,1044.23,1054.65,1040.32,1054.93,1056.24,1057.92,1070.99,1066.82,
-1078.33,1079.69,1083.88,1080.76,1090.46,1101.08,1099.92,1101.85,1100.61,1113.68,
-1106.24,1116.70,1123.82,1125.49,1130.50,1142.43,1143.61,1147.63,1149.71,1158.20,
-1149.85,1155.65,1163.87,1164.01,1165.60,1174.26,1177.09,1180.94,1188.04,1188.87,
-1198.67,1200.97,1202.68,1200.95,1204.72,1220.67,1222.73,1226.56,1225.28,1228.61,
-95.81,102.89,112.36,119.76,129.09,135.86,145.12,153.65,163.28,169.63,
-180.39,187.05,196.26,203.75,211.62,221.38,228.97,237.51,245.53,254.18,
-262.41,270.52,280.62,289.19,296.70,305.17,312.87,321.74,329.77,337.58,
-345.21,354.77,366.04,372.06,380.98,389.29,396.55,405.30,413.87,422.02,
-431.05,436.47,444.89,454.55,465.68,473.97,481.77,489.62,498.24,504.76,
-512.19,522.28,530.88,542.22,546.63,555.79,566.34,573.45,579.90,588.11,
-599.32,607.16,615.02,623.12,631.78,640.98,644.74,656.60,666.06,673.94,
-681.76,690.29,696.67,707.25,716.41,724.60,731.82,740.21,750.61,758.09,
-765.88,771.95,782.64,788.22,798.67,809.30,814.31,826.00,832.46,843.65,
-850.98,858.45,865.56,873.67,882.23,891.26,899.19,907.77,915.51,925.46,
-935.10,943.03,949.71,956.99,967.18,976.82,984.61,993.35,1001.87,1007.71,
-1015.49,1026.21,1033.91,1041.27,1049.80,1061.06,1069.90,1073.59,1083.67,1091.90,
-1099.71,1107.33,1117.82,1126.49,1135.75,1141.72,1149.87,1158.86,1170.44,1178.03,
-1182.11,1193.47,1201.97,1207.70,1221.40,1224.66,1236.31,1244.46,1246.62,1262.79,
-1270.64,1275.00,1285.86,1291.16,1303.88,1311.46,1319.20,1328.05,1334.02,1345.41,
-1350.35,1359.65,1371.13,1378.02,1385.17,1398.16,1404.54,1407.93,1419.46,1427.57,
-1439.80,1444.13,1453.10,1463.13,1465.90,1478.12,1488.59,1494.76,1502.85,1511.17,
-1520.86,1526.34,1537.64,1544.03,1553.89,1559.83,1572.69,1577.63,1587.81,1593.61,
-1603.90,1611.76,1619.26,1629.14,1637.93,1645.09,1655.20,1660.56,1672.12,1675.84,
-1687.85,1695.34,1705.89,1714.34,1723.12,1730.18,1738.21,1749.01,1753.40,1762.81,
-1773.05,1778.22,1788.63,1796.93,1806.13,1813.85,1820.82,1830.97,1836.91,1844.95,
-1855.27,1865.37,1875.70,1879.39,1887.85,1898.07,1905.61,1917.97,1927.02,1932.05,
-1940.34,1942.90,1955.19,1964.95,1970.88,1981.73,1988.52,1999.09,2008.89,2014.99,
-2022.31,2030.18,2041.47,2049.55,2056.30,2066.47,2070.79,2081.25,2092.47,2099.40,
-2106.24,2116.40,2124.38,2132.99,2142.09,2148.44,2158.79,2168.17,2172.61,2180.72,
-2195.06,2201.07,2207.84,2218.08,2223.87,2232.17,2241.47,2247.56,2259.68,2267.48,
-2275.68,2284.16,2295.55,2302.62,2306.39,2318.56,2326.19,2332.74,2343.40,2349.11,
-2359.16,2365.33,2373.43,2382.61,2394.79,2400.16,2408.47,2415.09,2421.55,2433.79,
-2443.95,2445.79,2458.41,2467.98,2475.97,2484.43,2493.18,2501.33,2508.02,2518.63,
-93.34,99.96,108.08,115.77,124.15,132.06,139.74,148.14,156.73,166.56,
-172.68,182.07,189.38,196.64,205.50,213.86,222.30,230.09,239.55,246.29,
-254.18,262.07,270.67,279.02,287.61,294.49,303.96,311.78,320.90,328.55,
-336.85,343.61,351.76,357.93,370.53,376.68,384.61,391.48,402.93,407.81,
-416.90,426.06,433.65,441.41,448.66,455.24,466.37,473.76,482.04,489.13,
-497.07,506.59,514.51,523.71,531.85,537.00,545.77,557.27,563.33,573.83,
-580.68,587.81,596.16,604.15,613.01,621.77,629.64,634.73,645.06,651.62,
-660.93,670.40,676.99,686.50,692.78,703.84,709.92,718.93,727.09,734.48,
-744.48,752.98,759.42,766.18,777.13,782.71,791.06,799.54,807.60,817.91,
-820.96,832.61,840.64,847.82,857.15,866.02,874.37,879.87,888.42,896.85,
-905.19,914.51,920.29,930.26,935.57,948.97,954.68,961.50,969.97,979.01,
-987.10,995.28,1004.30,1010.29,1020.80,1024.83,1036.67,1041.21,1051.08,1063.86,
-1066.48,1077.83,1085.33,1095.17,1101.20,1106.98,1114.38,1124.22,1131.54,1143.82,
-1149.82,1157.23,1164.67,1172.02,1182.98,1191.14,1198.09,1208.34,1216.73,1224.78,
-1229.90,1240.21,1245.58,1254.42,1261.24,1269.17,1277.58,1286.91,1296.48,1303.48,
-1313.30,1321.21,1329.66,1335.81,1344.49,1352.23,1362.32,1369.51,1376.11,1384.64,
-1393.38,1401.64,1408.35,1417.68,1426.21,1433.37,1444.40,1451.46,1455.98,1464.57,
-1474.75,1484.36,1488.43,1502.12,1501.91,1513.66,1525.93,1533.56,1539.18,1548.22,
-1554.15,1563.01,1570.85,1580.35,1586.91,1598.81,1605.91,1615.26,1618.70,1629.79,
-1639.94,1646.57,1652.11,1659.63,1671.60,1676.13,1685.34,1692.39,1708.06,1704.42,
-1718.40,1727.77,1736.64,1745.64,1753.23,1759.56,1765.30,1775.24,1784.16,1794.33,
-1802.36,1806.83,1816.03,1824.48,1832.01,1842.40,1850.74,1857.42,1863.92,1874.43,
-1881.39,1890.03,1898.49,1905.36,1907.98,1921.84,1929.11,1935.76,1948.21,1955.62,
-1959.78,1968.21,1976.95,1985.64,1995.70,1999.84,2010.36,2019.39,2027.05,2034.30,
-2042.74,2054.85,2061.06,2069.95,2080.52,2087.42,2089.43,2104.01,2105.60,2116.51,
-2122.76,2131.18,2141.91,2146.42,2163.93,2168.39,2175.49,2182.49,2191.71,2198.68,
-2207.20,2215.10,2225.02,2231.50,2235.44,2246.25,2253.74,2264.12,2275.05,2280.93,
-2292.93,2295.15,2302.30,2309.30,2323.23,2334.01,2337.85,2346.44,2354.50,2363.04,
-2368.57,2378.50,2387.41,2393.62,2397.68,2412.72,2420.01,2424.62,2435.21,2445.09,
-88.63,96.76,104.88,113.96,120.35,129.00,136.37,144.39,153.00,158.44,
-167.22,175.68,183.62,190.46,200.20,207.74,214.65,223.47,232.06,238.29,
-246.84,254.65,263.25,270.99,277.28,285.31,294.69,301.77,309.70,316.58,
-327.49,335.44,340.21,348.51,357.15,364.95,371.25,378.81,388.35,397.53,
-404.77,413.13,419.63,426.59,438.04,445.40,449.54,457.60,468.27,475.81,
-481.50,491.93,497.94,510.02,514.46,521.70,529.93,536.93,543.13,553.77,
-562.85,569.47,577.25,585.39,592.93,600.94,609.60,617.14,625.44,632.70,
-640.41,648.97,654.16,664.75,671.29,679.99,687.57,695.22,705.35,711.76,
-720.67,727.45,737.75,742.27,750.58,758.83,768.27,774.88,782.31,790.50,
-797.85,804.85,813.77,820.22,827.73,836.51,845.49,852.20,862.77,869.67,
-878.10,882.60,890.31,900.96,910.02,916.92,923.43,933.65,939.05,946.83,
-954.65,965.68,970.32,977.92,987.52,996.81,1003.67,1007.90,1018.30,1028.05,
-1032.68,1041.57,1050.33,1062.86,1062.04,1072.84,1080.69,1089.45,1097.33,1104.53,
-1114.78,1122.39,1129.85,1135.92,1141.43,1150.92,1161.64,1167.36,1176.54,1183.82,
-1189.78,1197.06,1207.77,1212.26,1223.71,1230.36,1241.07,1244.97,1254.13,1260.69,
-1269.52,1275.05,1285.54,1294.30,1304.49,1308.49,1319.82,1324.09,1335.30,1341.64,
-1349.91,1357.52,1366.42,1375.02,1381.03,1389.62,1395.06,1404.14,1412.13,1418.75,
-1428.52,1435.19,1443.17,1449.74,1460.85,1467.16,1472.13,1484.82,1491.91,1500.95,
-1505.88,1513.90,1521.40,1529.66,1535.19,1544.64,1555.51,1561.10,1568.53,1581.03,
-1585.67,1592.97,1602.12,1614.34,1619.34,1622.08,1631.56,1638.09,1648.40,1659.26,
-1662.57,1670.13,1679.27,1687.94,1695.54,1703.27,1711.81,1717.63,1728.60,1729.65,
-1743.00,1747.15,1758.77,1764.09,1774.05,1779.10,1791.24,1794.50,1806.94,1812.72,
-1822.11,1831.04,1836.57,1842.32,1853.46,1860.52,1865.89,1881.65,1884.94,1890.01,
-1899.72,1899.62,1910.90,1920.39,1934.50,1941.10,1943.64,1953.29,1964.44,1968.92,
-1978.95,1984.10,1989.94,2001.59,2009.20,2017.18,2034.05,2034.90,2043.50,2048.68,
-2055.70,2065.76,2071.84,2078.52,2088.57,2100.37,2103.22,2112.44,2117.26,2130.59,
-2134.08,2141.93,2153.94,2157.23,2167.86,2177.93,2180.77,2188.70,2197.59,2204.99,
-2210.37,2222.90,2233.07,2236.91,2246.10,2252.80,2262.07,2269.10,2282.74,2287.08,
-2293.10,2299.02,2308.61,2316.54,2322.65,2334.00,2342.45,2349.05,2356.54,2366.83,
-85.61,93.60,101.36,108.53,116.73,124.82,133.19,140.25,146.29,154.70,
-162.46,169.52,176.67,183.48,193.32,201.41,207.33,214.22,224.77,230.53,
-237.22,246.29,253.08,260.52,268.65,276.88,284.63,290.39,300.23,308.04,
-315.07,321.43,329.41,335.76,343.71,352.86,362.61,369.05,375.00,384.23,
-389.80,396.70,405.75,412.40,425.38,430.41,435.62,442.82,450.82,461.37,
-466.55,475.22,482.13,489.00,500.02,504.36,511.17,518.12,527.42,537.93,
-545.56,550.75,561.50,565.78,572.88,580.79,587.86,598.15,603.56,611.21,
-619.68,626.29,633.82,641.79,649.26,658.30,664.37,673.22,677.37,686.65,
-696.22,701.56,710.26,716.97,724.48,735.92,741.12,751.86,757.09,763.33,
-772.56,779.41,786.14,793.51,800.47,807.66,817.31,826.34,832.18,837.55,
-845.58,856.52,861.13,869.47,877.02,883.50,893.79,902.41,908.62,916.15,
-923.84,927.45,938.24,947.14,953.32,962.40,973.15,979.10,982.65,989.71,
-999.05,1009.77,1016.65,1022.80,1030.78,1036.66,1043.76,1055.03,1060.18,1067.69,
-1074.67,1081.43,1092.24,1099.40,1107.46,1117.13,1122.43,1126.97,1136.12,1144.48,
-1153.04,1160.74,1166.37,1176.81,1180.56,1191.64,1198.83,1202.34,1213.88,1220.93,
-1230.30,1240.68,1243.56,1252.60,1256.90,1265.34,1276.73,1280.98,1290.84,1299.73,
-1303.47,1308.74,1319.47,1325.18,1336.43,1341.89,1346.73,1356.54,1364.76,1373.52,
-1378.12,1382.25,1396.99,1399.86,1413.74,1423.31,1429.00,1433.32,1440.51,1445.63,
-1459.60,1463.10,1471.91,1481.19,1486.74,1493.40,1502.40,1506.89,1518.37,1522.37,
-1530.92,1546.64,1546.64,1556.32,1562.16,1572.11,1577.98,1585.87,1594.74,1599.13,
-1607.23,1619.89,1625.52,1632.50,1642.06,1647.98,1653.82,1660.84,1671.74,1678.85,
-1683.39,1688.72,1703.61,1707.97,1714.34,1718.50,1732.61,1734.77,1749.00,1753.95,
-1765.23,1767.16,1775.39,1784.52,1793.83,1800.19,1807.46,1814.80,1818.28,1827.19,
-1840.88,1843.75,1851.72,1857.79,1871.66,1877.32,1885.76,1892.75,1895.32,1907.60,
-1915.65,1920.81,1926.82,1936.65,1942.20,1950.09,1958.49,1960.90,1971.60,1985.06,
-1989.14,1992.83,2007.78,2012.65,2017.36,2028.84,2037.51,2039.21,2046.46,2056.41,
-2064.01,2073.76,2085.64,2086.07,2094.92,2105.57,2109.39,2113.31,2128.24,2136.08,
-2142.41,2147.91,2157.96,2165.89,2174.46,2179.74,2191.42,2197.20,2204.41,2212.69,
-2215.48,2223.79,2237.57,2238.34,2250.60,2257.04,2261.69,2268.43,2279.22,2286.82,
-85.65,89.69,97.40,105.21,113.39,120.65,127.23,134.25,141.98,149.51,
-155.25,162.77,170.84,179.47,186.30,193.31,201.82,208.98,216.48,221.66,
-229.79,235.69,244.88,250.96,258.37,266.75,273.45,282.87,290.28,295.82,
-302.92,313.48,318.65,324.50,334.55,341.62,346.81,357.01,364.65,371.31,
-374.49,384.24,392.29,400.09,407.81,413.18,422.35,427.23,436.72,443.91,
-453.02,457.77,466.38,476.05,477.79,486.40,492.16,503.51,509.50,519.50,
-523.46,528.08,538.75,546.65,552.92,562.34,568.16,574.55,582.86,589.00,
-596.66,604.36,613.17,619.23,627.32,630.99,641.06,648.57,657.80,663.12,
-673.49,678.92,684.65,691.43,701.68,706.71,711.46,725.01,730.57,739.43,
-743.31,753.38,759.99,767.34,776.26,780.92,789.18,796.38,799.01,812.38,
-816.46,826.12,835.85,838.93,850.13,855.65,862.24,867.06,875.72,879.75,
-890.71,898.75,902.58,913.62,918.43,931.07,936.61,939.63,952.92,958.06,
-968.41,973.26,978.82,987.97,992.94,1002.14,1006.12,1015.57,1025.20,1031.14,
-1039.75,1044.69,1052.15,1060.24,1069.36,1078.19,1082.92,1086.99,1095.61,1105.85,
-1111.02,1120.20,1131.03,1131.91,1141.92,1148.26,1157.20,1162.06,1169.48,1175.54,
-1185.89,1195.72,1204.51,1206.21,1215.84,1223.78,1226.00,1238.74,1240.96,1253.17,
-1261.12,1266.79,1275.74,1281.30,1283.46,1293.81,1301.59,1308.62,1319.78,1322.84,
-1337.94,1339.63,1343.44,1358.03,1362.94,1368.39,1377.13,1383.33,1393.07,1397.83,
-1405.39,1413.48,1415.73,1428.10,1436.06,1438.91,1451.17,1459.13,1464.29,1473.72,
-1477.16,1482.78,1493.94,1500.07,1511.11,1517.01,1519.10,1530.22,1538.33,1548.28,
-1554.23,1560.52,1567.22,1577.55,1585.52,1589.61,1601.61,1604.68,1615.38,1620.03,
-1627.32,1634.04,1637.10,1644.27,1655.73,1664.44,1669.47,1677.84,1684.66,1693.18,
-1701.48,1710.86,1715.61,1719.22,1730.48,1735.61,1743.56,1749.29,1758.52,1761.12,
-1769.43,1778.17,1792.27,1795.79,1802.14,1810.52,1814.65,1821.16,1835.02,1834.85,
-1841.12,1858.82,1860.01,1870.11,1877.59,1884.73,1887.48,1902.16,1904.92,1912.04,
-1922.03,1927.12,1932.24,1943.47,1950.93,1957.45,1969.83,1967.01,1977.92,1987.79,
-1997.29,2005.81,2009.20,2013.19,2027.11,2030.31,2035.80,2044.22,2053.05,2066.20,
-2067.18,2076.50,2081.11,2096.36,2097.59,2101.31,2114.07,2116.60,2126.10,2136.49,
-2140.69,2152.87,2153.61,2160.88,2171.95,2175.60,2188.54,2192.57,2194.36,2209.20,
-79.88,86.72,93.08,103.66,108.46,116.96,121.50,129.76,135.75,144.29,
-151.62,157.49,164.54,170.81,180.06,186.77,192.39,198.40,206.19,213.81,
-222.71,228.78,235.86,242.93,249.14,257.46,265.39,270.80,279.36,287.03,
-291.81,299.63,308.30,313.21,320.25,328.04,337.69,342.46,348.83,357.36,
-364.33,370.51,378.34,385.00,393.04,397.86,407.28,413.33,417.99,424.50,
-434.59,442.61,447.78,454.59,462.24,469.72,476.90,484.38,492.18,496.39,
-503.40,511.13,516.97,526.04,532.07,541.72,548.32,555.55,562.89,570.55,
-576.49,584.38,590.40,597.12,604.17,613.84,617.29,622.97,632.75,640.26,
-646.46,653.14,663.51,668.44,673.29,679.81,687.23,699.10,700.69,710.84,
-718.91,724.67,731.92,738.33,747.88,752.81,759.47,767.83,775.66,781.45,
-788.90,794.72,802.90,807.80,818.98,824.34,832.77,836.64,843.34,850.20,
-861.84,868.17,871.73,882.07,888.21,893.90,897.61,906.26,917.03,925.61,
-931.58,940.78,945.74,952.99,954.99,972.51,970.84,976.67,988.77,994.81,
-1000.41,1010.43,1012.86,1020.77,1030.50,1034.81,1045.17,1053.60,1058.49,1065.57,
-1072.09,1076.64,1085.62,1094.23,1098.55,1105.87,1114.36,1122.98,1130.17,1137.11,
-1142.71,1149.23,1157.51,1168.21,1172.32,1177.44,1186.69,1194.47,1195.64,1208.08,
-1214.25,1219.20,1226.59,1237.50,1241.54,1248.13,1255.84,1257.14,1271.72,1274.93,
-1285.72,1290.18,1302.61,1307.27,1310.85,1319.59,1327.40,1334.09,1341.20,1349.32,
-1356.22,1361.57,1366.34,1382.42,1379.35,1390.12,1400.36,1408.66,1409.79,1418.57,
-1423.45,1434.05,1439.54,1446.89,1448.13,1461.13,1465.97,1478.32,1482.31,1489.06,
-1497.08,1500.94,1513.99,1517.54,1527.79,1533.99,1542.11,1544.48,1559.30,1559.68,
-1566.80,1573.83,1581.96,1590.26,1597.04,1600.45,1606.44,1615.65,1621.39,1632.88,
-1637.70,1649.08,1658.21,1657.69,1667.95,1670.53,1678.13,1691.35,1694.93,1703.84,
-1712.03,1715.00,1724.28,1731.90,1736.50,1748.02,1754.07,1755.14,1764.25,1772.16,
-1777.21,1787.05,1787.85,1804.57,1810.40,1817.05,1818.17,1831.98,1840.52,1841.66,
-1856.98,1863.47,1864.51,1870.90,1879.26,1889.87,1897.25,1906.51,1908.99,1909.24,
-1926.24,1926.66,1934.76,1942.50,1954.43,1956.96,1966.86,1973.66,1978.46,1987.74,
-1992.63,1999.70,2010.71,2015.99,2021.81,2029.48,2034.82,2038.34,2048.90,2059.60,
-2065.06,2074.02,2077.42,2088.20,2093.61,2099.56,2104.60,2112.52,2124.63,2128.69,
-77.41,82.33,91.56,98.49,103.91,110.70,117.05,126.56,132.75,137.75,
-145.19,151.78,157.88,168.23,171.53,180.86,188.63,191.94,199.01,205.76,
-214.85,219.92,226.59,235.47,240.92,247.84,255.09,263.25,269.31,277.24,
-282.46,288.53,296.68,305.61,307.53,315.74,321.92,332.31,335.99,340.76,
-347.06,357.05,361.31,371.56,375.49,382.22,390.35,398.56,403.01,412.16,
-417.98,425.97,430.36,439.10,444.42,452.79,459.65,466.94,471.92,481.21,
-489.36,491.14,499.02,509.42,516.06,519.88,528.04,534.00,539.55,545.95,
-556.72,563.17,564.45,571.72,582.76,590.23,597.90,601.33,611.77,617.20,
-622.69,627.29,636.52,639.85,649.41,658.74,662.61,672.88,676.24,686.02,
-689.37,701.19,704.26,710.68,719.55,724.57,735.91,738.77,743.62,752.43,
-760.20,766.51,774.57,776.44,790.01,793.58,800.25,809.03,815.19,821.20,
-822.78,832.54,837.33,847.16,849.00,863.91,864.96,874.68,882.48,885.91,
-895.28,899.86,911.45,918.63,921.19,926.33,935.75,941.30,948.72,958.26,
-969.85,970.04,978.15,984.77,986.49,997.77,1004.05,1014.25,1018.13,1024.41,
-1030.89,1040.11,1045.86,1046.23,1061.32,1067.77,1076.20,1081.09,1085.15,1093.48,
-1102.44,1108.47,1114.22,1122.81,1128.73,1138.03,1142.54,1151.12,1153.44,1165.22,
-1166.80,1177.98,1185.33,1189.71,1197.67,1199.37,1205.19,1219.93,1223.81,1228.99,
-1233.84,1241.55,1252.23,1253.78,1263.09,1267.85,1272.98,1283.56,1295.19,1300.51,
-1305.40,1309.95,1322.51,1325.14,1332.57,1337.33,1346.16,1352.57,1361.80,1370.01,
-1371.58,1385.42,1382.27,1394.82,1397.58,1403.35,1412.59,1420.06,1428.40,1431.10,
-1441.85,1445.34,1454.19,1461.58,1470.33,1475.62,1486.09,1493.77,1492.23,1503.57,
-1511.81,1516.42,1520.24,1527.99,1536.47,1547.79,1546.77,1555.80,1564.29,1570.79,
-1578.41,1585.06,1587.44,1596.18,1600.79,1609.34,1620.50,1628.04,1632.51,1640.53,
-1646.97,1651.26,1666.08,1667.21,1668.41,1681.53,1687.70,1699.02,1698.62,1707.41,
-1712.81,1722.43,1729.87,1735.63,1742.29,1746.59,1748.50,1763.39,1769.37,1778.56,
-1783.07,1789.72,1800.75,1796.28,1809.63,1816.34,1818.82,1828.02,1835.88,1842.84,
-1852.62,1861.89,1866.92,1869.32,1879.83,1887.18,1894.77,1900.50,1906.54,1908.05,
-1919.42,1927.39,1933.72,1939.55,1944.06,1950.57,1959.93,1965.55,1966.62,1977.73,
-1989.67,1994.01,2002.33,2010.63,2019.45,2019.94,2027.13,2031.96,2041.16,2048.58,
-76.16,81.26,87.62,93.36,101.64,107.21,112.96,119.62,126.79,135.05,
-140.42,146.81,153.78,160.38,166.04,173.40,178.64,182.96,193.15,198.40,
-205.19,215.42,218.54,224.85,235.20,236.53,245.11,253.51,256.82,264.51,
-269.66,276.99,283.57,291.93,297.74,303.40,311.13,319.14,321.65,329.88,
-339.00,341.32,350.75,355.97,365.67,371.19,376.29,382.87,389.39,392.10,
-405.01,410.12,416.93,421.09,429.55,437.00,441.95,448.81,457.64,460.87,
-468.90,474.48,479.56,488.52,495.65,499.54,507.35,516.76,521.06,525.06,
-530.88,544.54,543.58,551.02,558.23,566.67,573.68,580.04,585.88,592.93,
-600.22,607.12,612.66,620.80,630.88,631.48,639.09,647.65,649.15,658.27,
-668.66,674.82,678.19,682.75,685.77,698.96,705.96,710.10,716.62,725.23,
-729.05,730.55,744.15,751.64,755.89,762.71,767.61,778.28,781.91,795.48,
-793.34,802.20,816.30,817.70,817.66,826.98,834.37,844.52,847.73,856.14,
-863.92,869.89,878.78,886.49,887.26,894.97,904.19,906.64,913.72,921.55,
-924.16,936.12,947.36,950.20,954.45,957.23,968.16,972.64,979.36,985.76,
-993.45,996.24,1007.54,1009.29,1019.42,1028.11,1032.29,1044.05,1051.81,1049.70,
-1057.35,1064.59,1068.24,1078.82,1081.60,1089.66,1095.57,1100.61,1117.27,1116.79,
-1122.22,1128.89,1138.24,1141.55,1148.72,1157.97,1160.62,1173.99,1177.77,1179.46,
-1185.01,1201.40,1203.12,1214.86,1214.67,1221.94,1229.34,1233.89,1240.63,1250.29,
-1257.38,1259.60,1273.68,1279.96,1280.10,1285.54,1298.38,1302.72,1308.64,1312.81,
-1318.95,1328.25,1332.21,1335.87,1346.68,1354.74,1360.83,1365.79,1379.70,1374.96,
-1385.19,1390.97,1397.21,1410.91,1413.15,1420.96,1426.30,1433.53,1433.59,1449.14,
-1451.81,1463.86,1467.32,1477.90,1481.35,1487.80,1490.06,1496.83,1504.29,1509.79,
-1517.98,1524.11,1536.74,1535.92,1542.28,1552.50,1561.88,1560.66,1565.00,1580.25,
-1589.36,1592.43,1592.79,1602.46,1607.29,1613.92,1625.11,1634.45,1635.38,1644.03,
-1648.58,1651.59,1656.98,1668.44,1675.89,1679.11,1694.08,1694.18,1701.88,1712.79,
-1718.61,1722.57,1729.75,1731.53,1738.86,1743.60,1753.99,1761.40,1771.10,1776.23,
-1780.57,1783.81,1791.07,1811.10,1806.30,1811.51,1818.35,1831.48,1838.09,1839.46,
-1848.93,1851.92,1857.30,1871.32,1871.76,1882.04,1885.73,1888.41,1899.12,1903.34,
-1910.39,1918.49,1924.82,1934.56,1933.68,1938.83,1951.47,1954.62,1960.69,1970.57,
-70.48,78.42,83.65,90.94,96.89,105.22,109.55,115.48,120.34,128.70,
-134.20,141.87,146.72,153.46,160.00,165.73,171.70,178.79,185.42,191.60,
-196.61,203.72,210.25,215.24,224.42,229.27,234.69,240.04,248.67,253.20,
-260.24,266.12,273.74,280.30,286.11,292.54,299.64,304.12,309.69,317.57,
-321.73,327.21,333.72,345.09,347.88,353.76,359.59,367.64,371.78,378.83,
-386.93,391.33,401.08,405.90,411.31,418.65,423.10,431.46,436.78,442.83,
-446.64,454.91,462.98,468.78,477.72,479.59,487.81,494.06,499.55,508.43,
-510.81,521.37,523.27,528.15,536.07,541.03,550.86,554.80,563.55,569.43,
-574.81,585.97,590.34,594.98,604.19,610.58,613.85,616.73,625.94,632.32,
-635.19,643.10,652.85,659.88,666.54,671.46,675.43,687.65,691.56,697.33,
-703.50,706.83,717.46,716.27,728.59,734.20,736.03,741.50,749.98,760.86,
-767.37,768.18,777.92,781.74,788.26,797.29,804.01,809.80,814.84,822.65,
-826.27,834.52,841.44,844.17,850.22,856.56,867.52,869.36,877.31,884.56,
-893.07,894.54,902.55,914.14,914.49,923.82,927.55,932.67,938.86,945.69,
-956.24,960.55,966.50,967.26,981.25,988.25,993.13,993.39,1002.71,1012.31,
-1016.92,1020.54,1030.37,1034.49,1044.67,1051.29,1053.18,1059.39,1060.95,1071.47,
-1074.41,1089.45,1094.36,1103.34,1101.88,1108.77,1111.46,1123.07,1130.56,1138.43,
-1145.02,1152.66,1153.08,1161.15,1165.08,1181.63,1177.38,1187.50,1196.39,1201.45,
-1209.06,1211.84,1222.61,1222.31,1232.44,1241.12,1243.28,1249.69,1253.39,1260.51,
-1271.94,1277.65,1285.33,1285.92,1292.35,1304.79,1303.95,1310.89,1316.00,1324.69,
-1336.26,1337.09,1341.65,1354.40,1355.33,1365.05,1376.32,1375.17,1385.66,1383.03,
-1391.94,1399.38,1401.33,1415.04,1419.60,1429.41,1437.29,1430.72,1449.27,1450.19,
-1455.91,1467.61,1467.89,1476.61,1486.23,1492.35,1498.82,1508.92,1509.38,1517.17,
-1517.15,1529.28,1530.79,1538.29,1549.43,1556.82,1556.26,1557.81,1571.04,1575.24,
-1583.61,1589.53,1600.84,1603.91,1611.58,1621.72,1624.60,1620.68,1634.52,1652.29,
-1647.42,1660.59,1665.77,1664.29,1673.69,1678.63,1683.72,1687.96,1704.16,1698.53,
-1712.21,1714.01,1725.09,1727.62,1738.85,1734.23,1748.62,1746.92,1759.96,1765.49,
-1776.03,1775.20,1791.36,1792.60,1797.94,1807.13,1807.49,1813.28,1823.95,1837.40,
-1833.45,1838.34,1849.44,1856.02,1864.93,1863.17,1878.80,1876.19,1887.64,1889.26,
-68.03,74.60,81.23,86.19,93.96,99.75,104.97,113.08,116.90,122.38,
-130.05,135.14,141.56,147.53,152.09,159.17,164.14,172.13,179.12,182.07,
-189.59,195.46,202.86,209.47,213.64,219.69,226.93,232.26,238.43,243.41,
-248.12,258.41,260.07,266.74,276.82,277.43,286.65,290.17,296.64,305.76,
-311.08,318.05,325.63,329.45,334.51,344.05,346.76,351.38,358.47,363.96,
-370.13,375.25,386.29,388.83,393.66,402.60,407.04,412.79,419.33,426.09,
-431.17,438.06,442.37,447.68,457.30,465.72,468.30,476.49,477.45,481.48,
-494.32,498.92,508.81,508.67,513.20,522.35,528.34,535.77,536.19,546.31,
-548.35,557.32,564.05,568.07,573.98,583.22,591.50,596.61,604.17,604.20,
-611.39,620.11,621.25,633.62,631.55,640.33,647.90,653.99,666.17,662.29,
-674.87,672.86,689.86,692.73,700.73,706.09,707.43,718.54,720.80,729.02,
-731.65,738.01,742.54,752.74,760.77,769.84,772.35,777.16,781.95,785.97,
-793.59,801.02,806.56,809.77,816.79,824.27,831.62,839.56,848.35,844.29,
-859.63,856.31,867.20,875.60,885.24,885.75,893.25,901.25,904.90,908.29,
-916.18,924.15,934.93,940.38,939.93,941.91,950.27,958.20,958.89,970.39,
-977.40,981.71,987.80,997.94,1002.67,1003.74,1013.36,1014.07,1022.24,1030.91,
-1039.75,1046.27,1046.96,1053.79,1061.55,1062.75,1069.73,1077.50,1081.88,1091.05,
-1096.55,1103.45,1108.67,1110.87,1122.91,1126.72,1133.53,1135.50,1147.37,1145.95,
-1158.66,1167.99,1170.35,1176.39,1181.39,1189.12,1190.61,1198.91,1201.72,1215.11,
-1220.19,1218.44,1227.11,1237.34,1239.80,1245.29,1254.31,1262.20,1264.68,1266.68,
-1281.36,1287.36,1289.18,1298.39,1303.87,1309.35,1310.81,1321.28,1326.92,1339.22,
-1337.90,1347.90,1359.91,1355.19,1359.65,1372.14,1378.45,1381.46,1391.41,1388.86,
-1398.05,1398.54,1414.31,1412.98,1423.58,1422.93,1431.02,1445.91,1442.34,1454.05,
-1465.88,1468.68,1476.67,1481.01,1481.78,1492.12,1498.14,1506.29,1507.45,1511.00,
-1521.30,1526.37,1536.36,1544.49,1547.10,1550.17,1559.21,1569.49,1569.18,1579.54,
-1579.54,1591.65,1586.51,1596.25,1604.09,1612.55,1626.40,1622.46,1629.60,1632.35,
-1636.37,1643.81,1654.48,1662.88,1660.98,1672.32,1682.42,1687.91,1694.80,1693.18,
-1704.65,1708.57,1714.30,1719.19,1723.55,1731.50,1737.95,1744.08,1754.52,1751.06,
-1761.62,1771.80,1777.95,1783.88,1783.92,1794.52,1804.78,1801.91,1816.14,1815.33,
-65.21,72.66,77.25,81.58,90.78,95.71,100.97,105.10,113.04,121.58,
-126.56,128.96,134.61,138.70,146.00,153.74,157.90,165.66,170.43,177.23,
-183.71,185.78,191.33,200.60,204.07,209.90,215.81,222.02,229.72,234.45,
-241.00,243.76,251.60,257.73,262.59,269.65,272.63,281.36,284.93,293.95,
-295.95,303.08,308.75,314.82,319.96,327.95,333.08,338.58,343.26,347.84,
-356.52,358.95,363.26,374.26,377.68,385.05,389.89,397.23,402.10,408.42,
-413.04,421.41,425.35,435.98,438.00,441.64,444.94,455.99,460.98,467.13,
-473.12,481.65,482.36,489.67,493.16,501.75,506.75,512.27,523.05,525.04,
-529.03,534.71,539.25,548.90,557.54,558.49,561.48,570.31,576.21,582.21,
-587.33,591.67,600.05,605.29,609.57,620.12,616.63,625.52,632.86,642.66,
-645.51,650.12,660.04,660.96,669.72,673.66,678.98,684.47,691.70,700.26,
-701.60,710.83,713.65,718.25,722.72,730.88,739.07,748.18,752.63,759.47,
-757.38,770.46,771.74,782.25,780.71,788.81,799.20,801.65,807.52,819.19,
-818.09,828.83,830.44,840.64,847.48,849.94,849.52,855.75,870.54,872.70,
-875.54,883.32,888.91,892.68,898.40,908.49,910.95,917.25,924.09,933.17,
-939.64,943.59,944.61,946.37,956.78,963.06,970.41,974.65,983.03,987.07,
-994.43,999.83,1004.24,1005.97,1015.12,1022.20,1025.70,1041.96,1043.91,1045.90,
-1051.87,1053.16,1064.09,1065.40,1078.14,1084.21,1083.47,1095.81,1097.42,1106.42,
-1109.70,1111.27,1120.11,1127.43,1132.26,1143.44,1140.91,1139.14,1152.20,1159.81,
-1170.69,1171.49,1180.15,1187.43,1195.51,1199.12,1205.22,1204.92,1209.79,1215.97,
-1226.06,1233.96,1235.03,1244.24,1251.40,1250.91,1261.04,1265.86,1274.15,1278.38,
-1280.35,1290.87,1293.96,1304.44,1302.03,1310.32,1317.24,1327.97,1324.21,1331.49,
-1340.55,1346.82,1355.22,1358.99,1364.69,1365.52,1375.99,1382.42,1388.55,1388.69,
-1398.56,1407.97,1408.69,1427.26,1421.44,1443.36,1432.43,1438.42,1443.87,1454.39,
-1455.92,1461.05,1460.20,1477.00,1480.69,1490.56,1489.89,1498.31,1503.02,1507.45,
-1516.95,1521.53,1528.75,1534.50,1541.03,1542.35,1545.15,1557.76,1566.80,1565.12,
-1579.60,1578.04,1576.56,1592.95,1598.55,1596.54,1609.46,1608.76,1616.10,1622.06,
-1638.21,1635.20,1643.93,1652.90,1653.72,1663.94,1660.66,1679.55,1682.16,1688.71,
-1686.66,1692.50,1700.74,1701.61,1712.50,1724.11,1719.97,1735.35,1736.25,1739.38,
-63.40,68.64,75.66,78.88,84.85,90.99,95.30,102.59,106.93,113.22,
-118.56,124.89,131.36,134.79,141.81,147.02,153.36,159.01,164.16,169.76,
-174.21,180.81,186.17,194.15,198.83,201.25,205.90,212.99,219.79,224.29,
-229.98,232.06,241.62,247.18,253.02,256.36,260.99,264.64,274.42,277.00,
-285.47,289.38,299.21,305.64,304.25,312.37,318.62,318.31,328.55,336.95,
-337.70,347.69,351.99,358.50,363.21,369.33,373.67,378.19,382.06,389.77,
-396.07,403.79,408.39,410.07,420.09,424.43,427.63,435.91,439.11,446.99,
-450.91,455.98,468.54,470.62,475.60,484.07,487.80,485.97,493.62,501.96,
-506.26,513.96,522.59,524.82,530.26,533.37,542.93,544.95,554.20,559.29,
-566.16,570.05,571.02,577.69,587.68,588.76,593.64,601.92,607.68,613.34,
-614.60,624.56,627.15,634.03,643.45,649.08,651.57,656.17,664.23,666.21,
-673.86,676.50,688.53,692.09,698.88,702.85,705.89,708.86,718.61,726.24,
-724.13,734.11,741.14,742.89,751.89,759.61,766.42,771.62,773.95,776.77,
-783.77,791.50,795.35,804.16,810.77,812.26,821.20,820.70,829.62,832.12,
-846.82,848.04,850.75,853.30,859.32,870.41,875.73,874.72,885.84,887.22,
-896.03,903.00,909.16,911.09,914.82,926.04,928.59,937.99,940.73,951.01,
-952.56,956.60,964.72,972.49,979.43,980.47,987.97,989.54,994.03,997.54,
-1011.06,1008.15,1014.37,1027.50,1033.99,1032.25,1036.66,1051.23,1045.49,1049.67,
-1074.15,1062.76,1074.54,1077.91,1085.02,1090.74,1095.16,1098.97,1108.86,1113.05,
-1120.95,1119.99,1125.48,1137.18,1141.92,1148.97,1158.39,1155.62,1163.53,1169.35,
-1175.96,1182.15,1185.74,1189.23,1202.41,1195.52,1210.78,1220.82,1216.85,1226.77,
-1238.48,1232.08,1244.13,1243.03,1258.24,1261.67,1259.61,1262.93,1282.19,1281.74,
-1279.61,1289.31,1300.52,1300.67,1304.98,1303.71,1317.47,1320.49,1331.97,1332.57,
-1343.30,1345.77,1353.88,1359.08,1367.80,1367.12,1376.51,1380.66,1380.34,1391.70,
-1389.16,1400.60,1407.43,1419.83,1416.39,1426.12,1435.29,1445.51,1443.84,1443.53,
-1452.20,1452.92,1459.12,1470.05,1476.25,1473.53,1476.10,1491.30,1492.80,1508.35,
-1508.05,1512.99,1518.81,1517.73,1528.80,1530.93,1545.74,1544.49,1553.34,1561.46,
-1569.91,1574.32,1572.82,1581.79,1582.48,1602.67,1592.50,1601.87,1611.16,1610.32,
-1619.46,1624.16,1630.64,1635.73,1644.00,1645.95,1652.68,1659.95,1663.26,1669.33,
-58.03,64.38,70.15,74.47,81.31,86.78,89.88,97.15,101.81,105.87,
-114.36,116.10,122.61,131.43,135.57,139.83,147.08,151.13,157.15,160.93,
-170.21,172.46,174.94,183.21,188.87,191.09,196.15,204.60,207.83,215.62,
-219.67,225.33,231.83,235.53,240.75,246.23,252.72,255.89,263.93,267.99,
-271.78,278.25,285.81,288.54,294.36,299.87,304.33,310.41,316.60,321.82,
-325.90,331.63,335.28,341.74,348.11,348.32,357.19,362.08,366.71,373.48,
-379.40,382.73,390.29,394.42,401.59,405.68,414.12,415.56,422.02,426.83,
-432.60,436.79,443.09,449.18,456.92,460.16,467.29,469.47,477.94,480.25,
-488.31,490.18,494.61,503.45,507.89,510.43,513.11,524.11,525.90,532.29,
-538.53,544.69,555.00,554.40,560.55,559.51,575.30,577.94,580.76,586.68,
-591.83,594.18,603.83,606.03,613.92,619.71,622.75,628.36,638.99,637.35,
-644.63,646.91,653.59,655.88,667.40,669.79,677.79,684.01,684.90,692.71,
-698.78,703.93,705.81,712.30,722.25,722.24,728.89,738.30,742.80,744.72,
-749.93,755.36,767.96,769.57,771.68,778.04,784.34,788.11,790.92,797.65,
-803.11,808.46,816.85,815.87,828.49,830.97,836.58,840.56,843.44,846.40,
-855.35,861.76,869.09,873.72,876.11,886.83,885.08,888.50,901.03,906.22,
-907.89,912.98,925.05,929.33,930.07,934.82,940.73,953.75,950.71,963.26,
-962.63,971.31,975.77,982.63,983.81,996.62,1000.52,1000.57,1010.07,1012.45,
-1019.76,1021.58,1027.84,1029.07,1041.96,1043.31,1044.54,1055.99,1055.96,1068.29,
-1074.27,1077.19,1076.03,1081.67,1092.15,1097.41,1107.56,1104.06,1112.75,1117.12,
-1120.16,1132.36,1134.48,1145.07,1145.94,1144.70,1151.14,1159.01,1166.13,1169.96,
-1177.01,1184.48,1181.63,1188.79,1199.19,1194.88,1204.72,1208.13,1216.26,1226.67,
-1230.44,1236.47,1242.62,1250.09,1259.75,1246.70,1257.72,1266.86,1271.00,1278.39,
-1281.27,1294.92,1291.51,1302.34,1305.76,1311.02,1321.91,1323.24,1334.19,1326.81,
-1340.11,1338.59,1348.59,1347.77,1362.56,1367.90,1363.81,1373.49,1375.18,1387.46,
-1392.28,1397.58,1397.16,1401.71,1399.23,1422.80,1414.35,1429.10,1433.85,1441.97,
-1442.58,1452.18,1456.83,1457.77,1468.76,1467.75,1480.78,1475.27,1476.01,1486.12,
-1491.33,1505.40,1499.20,1518.10,1520.24,1525.02,1531.10,1540.03,1543.62,1546.40,
-1552.16,1556.72,1555.06,1565.63,1570.67,1575.72,1577.68,1589.22,1600.23,1599.26,
-58.06,64.40,67.81,71.95,80.37,83.86,88.44,94.04,97.57,103.27,
-107.77,112.77,116.93,120.95,127.75,131.76,139.22,145.14,148.04,152.64,
-159.41,164.47,166.32,173.71,180.03,184.11,188.39,196.30,202.90,203.93,
-210.27,210.56,221.97,223.74,229.16,234.44,239.67,247.81,253.59,258.63,
-259.54,265.70,271.81,275.50,280.96,288.44,292.48,298.68,297.75,308.59,
-313.90,314.53,322.96,329.29,334.11,334.43,342.97,349.27,352.80,356.34,
-362.59,367.30,373.41,376.26,380.53,390.20,393.60,397.62,407.52,405.07,
-411.77,415.90,423.70,428.08,436.13,438.86,445.09,447.25,453.22,459.06,
-462.21,470.19,473.69,478.24,487.25,488.56,492.63,502.12,502.60,512.01,
-517.06,524.10,528.13,528.67,532.59,536.01,545.81,548.59,554.85,562.17,
-565.18,574.23,570.93,579.73,588.95,591.14,593.36,602.88,609.66,614.12,
-620.43,619.22,627.97,632.11,638.03,640.20,644.92,651.97,654.55,663.27,
-673.00,678.46,674.88,679.80,688.88,689.05,699.40,698.85,706.87,714.14,
-718.57,726.69,726.24,731.84,743.55,744.88,748.40,752.63,760.00,766.39,
-765.75,774.82,776.17,779.02,789.90,792.91,798.14,801.10,814.06,822.64,
-822.95,822.31,830.87,834.80,839.48,847.08,850.70,858.85,862.41,860.11,
-876.28,881.79,882.61,891.26,896.35,899.12,898.16,904.64,910.56,914.55,
-924.28,928.22,927.85,932.84,943.23,945.82,945.75,944.77,962.58,972.91,
-970.52,978.94,983.36,985.00,993.53,1000.78,1004.58,1010.57,1008.78,1017.93,
-1018.90,1024.93,1034.42,1034.67,1052.87,1050.30,1057.68,1055.97,1060.24,1073.96,
-1075.91,1083.04,1080.48,1084.26,1098.57,1100.83,1102.07,1108.87,1111.13,1128.52,
-1119.63,1128.83,1131.12,1144.89,1147.42,1148.38,1156.67,1162.97,1167.30,1169.26,
-1180.88,1182.56,1186.63,1190.51,1193.71,1198.62,1210.93,1207.33,1211.30,1221.70,
-1225.35,1232.09,1239.86,1237.33,1250.41,1257.01,1258.52,1262.68,1263.80,1270.28,
-1282.57,1290.57,1288.60,1291.68,1303.20,1297.50,1311.14,1321.83,1317.71,1327.35,
-1327.39,1342.21,1334.19,1345.72,1349.48,1348.61,1356.54,1363.46,1372.88,1379.62,
-1384.14,1377.55,1388.42,1395.97,1390.79,1405.34,1407.90,1408.69,1426.36,1416.87,
-1440.88,1428.06,1446.25,1454.37,1449.78,1460.47,1463.63,1460.72,1473.24,1476.50,
-1489.10,1483.18,1497.61,1503.30,1508.95,1509.20,1509.75,1521.46,1522.43,1528.20,
-54.95,61.34,65.49,67.94,73.52,77.23,84.25,89.69,93.85,96.08,
-103.77,110.28,114.15,118.08,124.29,126.42,132.27,137.53,142.03,147.08,
-153.07,155.43,163.99,164.51,171.62,175.97,178.48,186.31,193.44,196.57,
-199.82,203.97,211.55,213.56,224.28,226.71,228.92,232.35,237.93,242.79,
-253.79,252.82,256.06,262.42,266.55,272.80,276.16,285.04,290.08,294.63,
-296.30,302.23,304.40,311.46,316.97,324.55,327.66,335.66,340.12,338.43,
-345.87,351.96,358.77,360.55,367.56,370.19,375.04,383.29,381.56,395.54,
-397.34,401.92,406.99,411.02,413.99,420.63,424.58,426.02,434.19,441.31,
-443.67,446.09,455.76,457.17,465.49,467.90,475.13,475.78,483.41,484.84,
-495.76,493.70,503.33,507.75,511.70,517.60,523.35,527.43,530.99,534.74,
-541.79,550.62,546.40,553.65,559.88,561.08,569.24,579.44,572.70,583.06,
-591.60,595.31,602.49,605.79,613.38,615.56,620.15,625.01,629.84,639.02,
-639.80,643.29,650.86,651.61,658.66,661.82,663.38,671.05,676.75,678.32,
-677.32,692.82,700.83,704.99,713.46,715.61,720.10,720.73,722.16,729.60,
-732.66,739.75,741.51,745.02,760.39,757.97,761.33,774.26,775.10,779.98,
-787.46,789.27,794.94,805.24,803.79,806.79,818.86,825.21,822.14,824.75,
-829.24,840.78,846.73,845.40,851.37,852.26,862.39,868.35,872.01,876.20,
-883.17,883.00,887.36,894.14,907.90,908.96,913.17,911.48,920.72,923.86,
-932.85,932.06,942.38,945.51,951.54,953.20,961.34,965.43,971.89,966.78,
-979.02,993.34,993.00,997.67,995.37,996.19,1010.84,1014.17,1013.20,1021.58,
-1026.33,1035.08,1039.62,1045.36,1041.95,1052.36,1051.39,1058.21,1064.11,1080.19,
-1077.06,1082.61,1082.77,1082.29,1092.75,1106.67,1110.46,1108.48,1108.84,1121.55,
-1121.65,1134.41,1135.52,1138.12,1136.91,1150.77,1158.04,1157.61,1165.83,1169.06,
-1174.24,1174.25,1174.00,1186.18,1191.72,1195.63,1195.95,1200.42,1213.39,1214.75,
-1223.15,1231.14,1231.29,1231.38,1238.54,1240.25,1246.13,1259.85,1266.06,1269.10,
-1270.80,1277.20,1277.97,1285.65,1290.32,1291.99,1303.59,1306.74,1312.89,1314.97,
-1320.44,1319.77,1331.04,1334.57,1343.13,1342.27,1349.54,1352.61,1358.23,1368.05,
-1373.67,1374.99,1379.99,1379.36,1387.13,1381.86,1396.34,1395.25,1403.72,1413.80,
-1420.93,1420.74,1428.10,1429.84,1428.35,1441.80,1454.55,1448.32,1453.14,1453.70,
-100.90,109.86,117.81,126.28,136.87,143.78,153.04,162.47,170.98,180.74,
-188.53,196.44,205.83,214.75,224.49,231.62,242.06,249.47,258.76,268.01,
-277.24,283.84,293.88,302.52,310.60,320.16,329.58,339.01,345.07,355.15,
-363.72,373.72,380.91,389.59,398.63,406.96,417.11,424.27,432.80,443.33,
-452.83,459.63,467.86,477.35,487.43,493.04,503.98,511.72,521.24,528.21,
-538.31,545.68,555.98,564.93,571.98,582.85,591.79,601.75,607.54,618.11,
-626.01,636.90,644.26,652.59,660.14,669.19,677.42,689.53,695.48,706.88,
-712.78,723.61,728.09,740.37,749.41,757.29,768.04,775.80,784.54,794.36,
-801.66,811.68,818.26,827.41,835.81,844.78,853.56,861.14,873.83,880.54,
-888.43,897.63,906.00,914.91,922.63,930.32,941.00,949.61,959.22,968.31,
-978.15,983.66,993.09,1001.85,1012.69,1020.67,1028.13,1036.41,1045.53,1054.67,
-1063.92,1073.19,1082.43,1088.59,1099.72,1107.61,1115.10,1125.41,1133.07,1145.15,
-1152.19,1161.37,1166.68,1178.34,1183.37,1195.11,1202.69,1212.02,1220.87,1230.93,
-1240.66,1245.94,1256.80,1265.15,1275.01,1281.60,1290.49,1302.24,1310.11,1317.95,
-1325.29,1332.29,1344.05,1352.70,1360.41,1370.39,1378.48,1388.95,1398.14,1405.83,
-1412.98,1421.84,1431.96,1438.21,1449.02,1459.95,1466.10,1477.28,1485.04,1487.66,
-1500.91,1509.97,1518.90,1528.05,1534.84,1546.55,1553.78,1564.49,1569.78,1580.66,
-1589.19,1596.35,1608.36,1615.06,1621.82,1633.84,1643.85,1649.16,1660.57,1667.16,
-1676.10,1684.90,1690.69,1704.24,1715.41,1720.98,1726.00,1742.01,1744.67,1754.66,
-1763.24,1771.77,1780.51,1790.72,1800.37,1807.16,1814.59,1826.46,1834.60,1842.51,
-1849.07,1857.31,1868.24,1877.39,1885.15,1896.19,1904.05,1911.74,1924.65,1930.26,
-1940.02,1947.38,1956.31,1968.22,1972.96,1983.70,1990.45,1996.75,2010.52,2017.88,
-2023.91,2034.29,2042.43,2052.61,2064.03,2068.52,2081.40,2089.50,2094.42,2106.92,
-2112.63,2122.39,2131.76,2141.04,2148.80,2160.83,2165.72,2170.79,2185.39,2191.41,
-2204.21,2207.59,2217.57,2226.94,2236.74,2245.27,2252.03,2259.08,2272.72,2280.20,
-2287.93,2301.93,2307.65,2316.89,2324.49,2333.52,2338.70,2349.27,2360.76,2367.04,
-2374.85,2384.15,2393.81,2404.51,2412.06,2420.38,2429.13,2434.44,2446.74,2454.68,
-2462.23,2471.42,2485.08,2491.39,2499.86,2506.50,2516.43,2526.48,2531.69,2538.41,
-2553.97,2560.11,2568.29,2576.51,2584.44,2595.53,2603.58,2613.40,2622.81,2634.11,
-99.45,107.46,115.64,123.06,133.84,142.01,149.55,158.95,165.95,175.65,
-185.27,192.74,200.53,212.51,218.88,228.03,235.91,243.56,253.57,261.11,
-267.96,278.62,288.00,294.68,303.73,310.71,320.61,328.94,337.04,345.85,
-354.57,364.49,371.18,380.98,388.12,398.37,406.94,415.19,422.68,433.32,
-440.50,449.86,459.41,466.36,474.82,484.93,492.38,499.73,507.75,518.06,
-526.74,534.02,543.67,551.67,561.41,568.44,577.22,584.29,595.20,602.62,
-611.17,621.12,630.58,636.22,646.23,656.06,662.40,671.90,678.32,688.75,
-696.78,707.66,715.67,723.20,733.90,739.43,747.77,756.66,767.30,771.56,
-782.63,790.46,798.28,807.68,815.77,825.24,834.71,844.23,850.50,860.92,
-866.31,875.49,886.96,896.58,902.30,912.36,918.29,924.47,935.63,944.03,
-954.02,962.92,970.82,979.36,988.16,995.89,1004.87,1015.51,1020.33,1028.81,
-1038.33,1048.47,1056.57,1064.56,1072.61,1081.70,1090.45,1100.08,1107.58,1115.85,
-1125.43,1131.01,1142.17,1148.52,1161.15,1166.38,1172.08,1182.65,1193.15,1200.60,
-1210.63,1217.60,1228.04,1235.17,1245.39,1249.42,1261.55,1272.13,1278.29,1286.56,
-1294.40,1306.45,1315.22,1318.11,1330.55,1336.14,1345.99,1354.68,1364.63,1371.65,
-1379.71,1389.18,1399.42,1406.68,1414.75,1424.99,1430.10,1436.20,1449.57,1457.17,
-1466.05,1477.01,1484.09,1494.38,1504.13,1509.90,1517.32,1523.15,1534.70,1543.52,
-1550.41,1560.11,1565.56,1578.60,1583.74,1594.30,1604.36,1613.47,1618.86,1628.42,
-1636.42,1646.09,1651.00,1662.05,1672.77,1681.57,1686.38,1698.23,1703.09,1713.98,
-1724.33,1731.50,1738.95,1745.86,1756.07,1765.93,1772.14,1782.31,1789.82,1798.59,
-1800.96,1811.85,1828.25,1831.47,1844.19,1848.40,1855.14,1868.95,1876.65,1886.38,
-1894.33,1900.85,1905.75,1919.11,1923.72,1936.47,1945.34,1952.15,1961.03,1972.87,
-1978.10,1987.98,1996.52,2003.75,2012.73,2024.31,2032.83,2036.43,2045.36,2057.97,
-2062.32,2076.27,2084.84,2090.60,2098.89,2106.06,2115.24,2125.41,2133.85,2140.73,
-2148.79,2158.63,2170.80,2176.11,2185.24,2191.69,2200.40,2209.46,2214.84,2223.63,
-2235.94,2245.08,2252.35,2262.68,2269.15,2276.19,2282.52,2293.54,2304.64,2313.32,
-2319.61,2329.42,2338.51,2347.70,2358.09,2363.87,2376.50,2381.32,2387.90,2399.03,
-2407.43,2415.19,2422.66,2436.66,2442.74,2449.69,2458.76,2467.03,2477.00,2481.46,
-2488.58,2499.57,2510.85,2518.27,2527.89,2537.69,2542.23,2551.28,2559.58,2569.15,
-95.97,105.74,112.08,122.58,130.06,138.40,146.94,155.73,162.91,171.73,
-180.49,187.99,196.30,205.37,213.13,222.56,228.50,238.64,245.28,255.97,
-262.99,271.12,279.09,289.62,296.75,305.90,312.51,320.33,328.53,338.69,
-345.98,354.60,363.93,370.73,379.43,388.14,395.39,404.04,413.58,420.94,
-429.37,437.97,447.32,455.73,462.26,470.77,477.42,488.56,496.58,507.08,
-513.62,523.22,528.33,537.75,546.40,555.74,562.65,569.86,579.75,587.23,
-595.68,603.91,613.79,623.72,629.46,639.40,647.83,653.33,662.46,674.58,
-681.00,686.75,694.62,704.18,711.99,719.96,731.20,737.56,745.79,752.95,
-763.61,769.58,776.09,788.09,798.34,803.16,813.68,822.02,832.02,836.56,
-846.43,854.42,862.71,870.66,880.09,887.16,896.01,903.54,917.47,921.55,
-930.40,936.39,946.92,954.79,963.46,971.58,980.62,988.78,995.54,1005.13,
-1014.44,1023.59,1029.35,1039.26,1044.86,1056.32,1062.74,1070.11,1082.07,1087.30,
-1098.25,1103.95,1112.04,1124.53,1129.38,1138.59,1148.20,1151.31,1160.25,1172.38,
-1181.54,1189.12,1195.73,1206.07,1213.66,1223.00,1228.38,1238.28,1245.18,1256.81,
-1263.19,1270.28,1277.87,1287.43,1294.93,1303.78,1311.98,1321.66,1327.86,1337.91,
-1346.68,1353.13,1363.08,1371.15,1380.72,1387.84,1395.91,1404.88,1412.31,1423.62,
-1429.92,1437.24,1446.53,1457.96,1460.35,1470.81,1479.61,1489.88,1497.61,1506.84,
-1509.61,1521.42,1533.10,1539.05,1545.32,1552.89,1565.29,1573.02,1582.84,1587.56,
-1592.96,1603.97,1612.15,1621.12,1629.62,1641.94,1649.33,1652.48,1664.27,1669.64,
-1679.79,1687.33,1696.88,1704.36,1712.08,1720.95,1729.95,1739.12,1746.04,1755.81,
-1764.46,1769.00,1778.42,1787.35,1795.24,1808.00,1812.00,1819.29,1833.57,1837.33,
-1841.57,1853.25,1864.71,1874.06,1877.58,1887.46,1897.14,1902.98,1915.23,1920.14,
-1932.89,1940.33,1947.23,1952.95,1961.39,1970.52,1977.38,1988.16,1997.86,2004.02,
-2014.24,2021.15,2032.21,2037.99,2047.33,2054.55,2063.25,2072.20,2080.02,2085.57,
-2100.82,2107.02,2114.40,2122.40,2129.81,2139.10,2150.53,2155.22,2159.69,2172.03,
-2181.82,2188.67,2192.58,2204.55,2209.07,2221.30,2234.35,2237.15,2249.14,2257.63,
-2265.41,2272.60,2285.48,2288.45,2290.79,2305.02,2312.73,2319.59,2329.70,2338.31,
-2345.71,2356.08,2362.89,2377.39,2376.63,2388.72,2393.32,2406.74,2413.26,2421.25,
-2427.82,2437.95,2446.85,2453.99,2463.17,2469.11,2481.60,2489.19,2496.27,2503.60,
-94.63,101.81,111.16,117.37,126.21,134.49,142.23,150.13,158.55,167.26,
-174.06,182.59,190.72,198.21,206.24,215.06,223.46,233.44,239.71,249.43,
-258.93,263.61,272.33,282.23,287.95,296.68,303.29,312.63,319.97,329.01,
-338.16,344.37,351.49,361.32,369.32,379.17,385.22,394.05,401.37,408.88,
-416.16,425.24,434.10,442.85,453.47,458.26,467.89,475.40,483.17,492.31,
-499.24,509.75,516.69,524.53,532.59,541.20,549.54,556.39,565.79,574.71,
-580.14,589.13,596.66,603.09,612.90,622.20,627.05,637.26,644.22,654.72,
-660.66,672.10,679.18,687.76,696.78,701.77,710.55,718.48,726.73,733.60,
-742.92,751.30,760.13,765.09,775.22,785.26,793.58,798.96,808.75,815.18,
-823.04,832.96,837.68,847.48,854.32,867.08,873.09,881.81,891.24,896.43,
-905.77,912.31,922.14,931.49,936.19,948.46,955.68,959.58,972.08,979.44,
-986.92,995.23,999.35,1010.86,1018.80,1029.47,1035.32,1041.99,1053.50,1056.94,
-1068.94,1076.07,1084.42,1092.31,1101.58,1108.12,1116.29,1124.86,1131.89,1139.97,
-1145.62,1156.36,1166.02,1173.28,1181.82,1188.09,1198.24,1205.23,1215.20,1222.12,
-1229.62,1236.28,1246.58,1254.85,1262.18,1270.34,1276.84,1289.04,1297.65,1305.63,
-1310.30,1317.80,1325.39,1335.81,1342.47,1351.87,1359.96,1363.83,1378.55,1390.90,
-1390.78,1404.13,1406.65,1415.23,1422.17,1432.85,1441.20,1451.62,1455.90,1468.86,
-1473.84,1483.58,1487.66,1500.28,1507.08,1512.31,1520.25,1530.73,1538.24,1548.95,
-1556.84,1564.23,1572.46,1579.37,1588.85,1591.41,1603.88,1613.26,1620.70,1630.37,
-1636.55,1643.85,1651.73,1664.60,1669.24,1675.14,1685.34,1690.95,1698.88,1708.85,
-1719.32,1727.48,1733.43,1741.37,1749.59,1759.47,1769.52,1771.07,1784.23,1792.42,
-1796.66,1806.50,1813.66,1822.19,1828.21,1840.07,1844.17,1857.32,1866.38,1873.60,
-1878.10,1885.46,1896.49,1904.54,1913.60,1920.43,1926.03,1935.35,1945.14,1951.01,
-1960.92,1967.55,1974.98,1985.10,1991.87,2000.06,2010.12,2015.66,2025.50,2034.07,
-2039.48,2048.66,2059.23,2067.78,2074.18,2083.64,2086.56,2098.47,2102.94,2115.66,
-2125.17,2132.82,2138.14,2151.47,2154.23,2167.95,2174.66,2187.36,2185.74,2196.51,
-2207.03,2215.01,2218.50,2225.45,2233.80,2243.67,2250.69,2259.97,2271.83,2272.56,
-2282.92,2291.84,2305.95,2308.88,2317.45,2325.05,2334.21,2339.35,2350.85,2358.53,
-2368.55,2380.66,2385.79,2391.22,2397.90,2407.03,2413.81,2417.46,2433.74,2441.32,
-90.14,100.29,108.34,115.88,123.60,131.47,138.41,145.68,153.87,161.83,
-171.39,177.82,185.14,194.66,203.74,210.95,216.02,225.75,233.57,242.51,
-248.47,256.79,267.03,271.91,281.25,286.58,296.52,304.46,313.53,320.00,
-329.06,336.26,345.75,350.17,359.12,368.24,375.82,383.05,391.29,399.62,
-408.94,413.98,423.18,431.67,438.21,447.67,455.19,461.36,469.89,479.44,
-483.89,491.64,501.16,510.18,516.30,525.61,535.63,540.21,550.15,558.09,
-565.53,571.77,582.13,588.28,599.30,605.50,611.82,619.09,628.77,635.80,
-644.72,653.24,659.43,668.09,676.11,682.86,691.04,698.37,706.94,716.84,
-724.56,732.25,736.90,745.96,755.57,763.16,772.50,776.56,786.60,792.07,
-798.19,810.19,818.37,822.60,835.57,840.75,849.08,856.34,864.84,873.42,
-880.21,889.54,898.76,902.92,913.50,920.38,928.24,935.37,943.15,948.52,
-961.43,967.76,973.95,983.76,992.09,1000.37,1009.51,1016.19,1024.67,1030.56,
-1036.65,1046.61,1057.18,1060.58,1068.64,1080.16,1088.07,1093.59,1097.05,1110.31,
-1119.40,1131.57,1130.65,1139.76,1146.55,1153.22,1163.25,1172.09,1177.49,1188.18,
-1198.36,1207.62,1213.92,1217.36,1231.05,1235.10,1245.76,1252.74,1261.34,1268.28,
-1275.86,1283.41,1294.47,1300.61,1306.42,1316.13,1325.33,1336.13,1337.68,1342.98,
-1356.69,1360.41,1373.86,1375.08,1386.58,1395.22,1402.46,1411.15,1417.10,1424.37,
-1432.40,1438.01,1449.06,1454.87,1463.07,1471.99,1479.10,1490.27,1494.61,1503.76,
-1510.65,1517.31,1527.11,1538.55,1544.74,1553.75,1560.79,1569.20,1578.96,1584.31,
-1589.84,1600.02,1607.50,1615.58,1620.76,1631.55,1640.41,1644.42,1652.22,1664.72,
-1669.47,1675.98,1684.45,1697.05,1704.28,1708.95,1721.06,1725.57,1732.97,1741.45,
-1753.39,1758.74,1768.24,1773.89,1782.66,1790.45,1792.09,1806.33,1812.15,1822.51,
-1826.55,1835.55,1844.24,1851.59,1860.63,1864.59,1876.36,1888.72,1890.00,1896.96,
-1906.41,1918.04,1920.99,1930.73,1938.68,1948.14,1958.58,1958.16,1966.92,1979.18,
-1986.96,1993.26,2005.34,2014.62,2016.76,2024.64,2029.13,2041.59,2047.96,2054.58,
-2066.32,2071.26,2083.58,2091.51,2097.25,2107.64,2118.80,2121.16,2129.80,2140.85,
-2145.64,2149.38,2158.59,2173.57,2179.08,2187.81,2190.40,2200.47,2208.91,2216.68,
-2228.24,2228.96,2239.91,2243.13,2253.89,2265.65,2270.18,2275.55,2285.22,2294.19,
-2306.62,2306.00,2312.81,2324.75,2333.72,2346.31,2346.92,2358.05,2366.69,2369.08,
-87.56,95.87,102.37,111.87,119.97,126.64,133.43,143.27,150.96,156.92,
-166.25,174.09,180.47,188.69,196.25,203.85,212.41,218.91,227.91,234.44,
-242.24,250.44,258.22,266.38,273.68,281.27,288.62,295.56,303.57,312.81,
-320.39,325.34,334.12,340.96,348.56,357.42,364.56,373.18,377.44,390.29,
-395.71,402.69,410.40,418.62,427.64,434.15,441.91,449.92,454.20,463.48,
-474.82,480.47,486.35,497.79,501.62,510.91,518.39,525.57,535.73,543.75,
-545.59,558.23,565.90,570.59,577.56,586.48,594.38,602.14,610.66,619.42,
-625.69,631.78,636.04,648.55,655.77,663.97,671.85,677.67,686.59,696.19,
-701.90,709.27,717.41,725.98,734.10,739.72,750.22,759.78,760.33,772.80,
-780.44,784.98,797.24,802.32,808.49,817.25,824.39,833.78,841.74,847.55,
-857.76,862.55,872.56,879.34,886.31,890.33,903.24,912.67,919.90,925.49,
-931.79,939.07,950.75,955.38,960.97,970.69,977.36,989.28,991.54,1002.52,
-1007.80,1014.51,1026.10,1032.59,1038.46,1046.13,1057.37,1063.20,1071.31,1081.30,
-1085.56,1093.75,1097.48,1109.60,1120.22,1127.02,1132.70,1136.66,1147.07,1152.37,
-1164.12,1169.91,1180.78,1184.29,1194.67,1199.05,1208.97,1215.40,1227.07,1230.32,
-1240.28,1246.00,1258.50,1263.20,1269.55,1282.48,1285.39,1295.46,1302.35,1308.58,
-1316.63,1321.82,1333.48,1338.07,1347.89,1350.80,1361.74,1369.75,1376.07,1389.28,
-1391.57,1401.86,1408.78,1413.28,1419.88,1433.53,1437.89,1446.22,1458.16,1462.77,
-1473.48,1477.92,1485.65,1490.67,1498.59,1509.30,1516.75,1523.40,1530.71,1538.15,
-1550.66,1553.58,1562.83,1569.46,1575.67,1582.38,1594.74,1600.07,1612.31,1609.72,
-1623.80,1628.76,1639.30,1644.98,1656.02,1656.70,1666.48,1674.98,1682.20,1692.98,
-1708.40,1707.27,1711.98,1723.42,1731.45,1736.09,1746.80,1756.05,1764.97,1767.85,
-1776.57,1785.33,1791.90,1798.75,1807.47,1811.45,1823.23,1827.76,1837.24,1846.04,
-1854.06,1858.04,1869.52,1868.88,1886.98,1892.18,1902.32,1907.19,1912.26,1922.51,
-1934.38,1936.33,1943.94,1956.78,1957.91,1966.40,1977.53,1982.01,1985.24,1997.47,
-2008.12,2012.88,2024.37,2027.57,2042.94,2047.30,2056.29,2059.17,2069.00,2074.68,
-2081.72,2084.51,2100.61,2110.54,2118.83,2121.21,2131.34,2138.20,2145.74,2157.16,
-2157.84,2167.90,2173.84,2182.29,2189.66,2198.60,2206.99,2218.36,2221.48,2230.31,
-2240.05,2245.30,2245.68,2257.68,2269.85,2277.76,2283.33,2291.59,2298.19,2299.08,
-85.42,93.89,100.70,109.17,115.77,122.66,132.88,138.53,145.47,154.76,
-160.62,166.86,175.14,184.45,191.11,197.07,203.44,211.47,220.89,227.09,
-236.18,243.09,250.74,256.54,266.80,271.41,279.92,287.38,295.24,302.21,
-310.23,318.55,323.95,335.46,336.51,346.34,353.41,361.17,369.67,379.36,
-385.17,391.27,399.86,404.59,415.25,422.91,425.91,434.84,443.75,451.60,
-460.59,466.63,473.11,481.85,488.92,496.82,503.20,512.38,517.78,526.15,
-535.21,537.07,547.62,556.45,561.65,567.76,578.57,584.73,594.24,598.08,
-607.73,614.06,624.17,631.76,640.23,644.03,653.08,661.47,666.57,674.20,
-682.65,689.75,695.57,702.38,711.46,720.03,724.14,733.96,742.18,747.99,
-759.03,763.07,770.16,779.97,787.04,793.55,803.57,812.38,813.87,822.65,
-827.95,835.11,845.87,851.37,860.92,866.27,873.21,886.11,888.53,895.44,
-901.22,907.87,921.46,925.56,931.16,942.71,950.77,958.61,963.74,975.05,
-982.84,990.12,991.60,1002.69,1010.23,1021.08,1022.97,1030.95,1040.42,1050.98,
-1055.48,1062.02,1069.74,1077.20,1083.01,1091.06,1099.91,1103.84,1112.25,1123.24,
-1129.18,1137.31,1139.78,1154.18,1160.14,1167.19,1170.78,1178.78,1188.79,1196.84,
-1203.90,1216.15,1221.67,1225.80,1231.57,1239.08,1247.56,1251.32,1261.80,1269.68,
-1280.24,1282.34,1290.68,1300.49,1307.45,1314.51,1321.30,1327.70,1335.73,1347.67,
-1349.39,1359.60,1374.10,1377.27,1377.49,1390.52,1398.95,1403.93,1408.97,1418.00,
-1425.80,1432.06,1441.16,1445.69,1459.62,1462.51,1468.21,1477.72,1483.81,1494.37,
-1502.68,1511.16,1514.51,1523.15,1524.26,1544.29,1549.07,1552.07,1559.04,1575.78,
-1571.14,1582.51,1589.55,1594.34,1609.11,1615.74,1619.31,1629.55,1634.60,1639.39,
-1650.51,1658.16,1667.19,1672.32,1681.33,1691.12,1695.88,1704.84,1707.73,1717.89,
-1725.29,1732.08,1737.52,1748.52,1754.44,1761.63,1771.66,1773.74,1783.63,1794.61,
-1801.08,1814.60,1813.09,1820.40,1829.56,1835.16,1844.78,1852.90,1863.78,1867.25,
-1875.65,1882.57,1893.28,1894.61,1900.24,1911.05,1918.09,1927.93,1936.07,1951.76,
-1953.73,1958.22,1962.73,1970.78,1978.50,1985.90,1992.94,1998.82,2002.54,2013.19,
-2025.86,2035.08,2039.13,2045.14,2049.59,2055.65,2072.35,2078.85,2084.37,2091.07,
-2097.18,2102.40,2114.87,2121.85,2125.07,2130.20,2142.77,2153.18,2153.98,2163.31,
-2173.56,2182.07,2191.01,2192.25,2205.72,2206.72,2207.65,2228.48,2229.26,2235.59,
-83.05,90.77,98.02,105.57,112.12,120.15,127.40,132.41,142.51,150.40,
-157.26,163.91,171.26,178.43,184.88,191.44,203.82,206.58,212.68,219.51,
-228.79,234.91,240.61,250.18,257.92,262.44,271.07,278.23,285.31,290.60,
-301.56,306.73,313.24,321.24,330.56,335.36,343.93,351.08,359.76,364.75,
-370.67,380.45,387.09,394.28,401.56,409.15,415.19,425.39,429.71,438.76,
-442.87,452.20,459.68,465.55,474.23,479.92,487.03,493.96,502.51,507.63,
-515.78,524.75,530.03,538.26,544.08,554.28,559.07,564.96,575.69,582.44,
-589.49,596.50,600.73,610.26,618.25,623.29,632.03,637.57,646.36,654.33,
-663.70,672.71,673.36,683.97,690.02,697.17,703.43,712.24,721.12,724.87,
-734.33,743.31,745.30,756.34,761.79,767.97,777.87,783.59,791.69,796.18,
-805.86,809.94,819.94,827.73,832.50,843.97,850.38,856.01,862.28,868.90,
-876.66,885.15,898.50,898.08,905.84,911.02,921.89,926.82,940.93,946.30,
-947.92,956.62,963.90,971.35,979.99,987.22,993.41,1001.32,1008.72,1016.01,
-1023.20,1027.78,1036.61,1042.33,1053.07,1056.86,1066.49,1073.25,1081.85,1089.57,
-1096.52,1102.78,1108.00,1113.42,1121.02,1131.85,1136.80,1145.52,1153.40,1162.12,
-1164.60,1174.16,1180.52,1186.93,1194.16,1201.69,1209.79,1216.58,1227.72,1231.45,
-1235.19,1242.80,1252.59,1263.55,1271.32,1275.70,1283.51,1288.50,1296.03,1304.50,
-1309.18,1317.08,1323.09,1332.39,1340.77,1342.86,1353.23,1361.86,1372.86,1379.66,
-1385.05,1389.39,1395.20,1406.83,1412.79,1418.62,1426.96,1439.03,1438.63,1449.60,
-1452.27,1462.85,1466.36,1474.32,1483.06,1490.27,1499.23,1508.56,1514.37,1519.80,
-1526.54,1536.38,1540.34,1544.79,1559.37,1568.81,1572.04,1581.17,1586.14,1591.87,
-1600.14,1605.52,1617.13,1622.51,1631.37,1636.52,1647.18,1651.50,1657.65,1665.15,
-1667.41,1679.78,1689.13,1696.23,1698.16,1712.83,1718.17,1723.20,1727.14,1739.40,
-1744.98,1751.00,1755.82,1764.22,1775.59,1777.46,1790.95,1795.60,1802.12,1809.75,
-1814.98,1825.18,1828.29,1835.01,1845.48,1852.07,1855.75,1864.25,1874.83,1876.00,
-1893.96,1893.98,1901.03,1916.63,1913.63,1923.53,1931.86,1939.21,1944.08,1951.24,
-1961.35,1975.78,1978.84,1988.63,1993.22,1999.01,2002.39,2014.81,2020.43,2026.46,
-2029.95,2037.78,2049.92,2056.78,2061.52,2067.26,2077.35,2084.22,2091.31,2093.04,
-2110.71,2109.83,2123.82,2128.10,2134.76,2140.93,2150.92,2153.88,2162.74,2169.23,
-80.57,88.39,94.37,102.47,107.92,115.07,124.30,131.55,136.87,144.40,
-149.73,159.70,165.80,172.32,181.71,186.32,194.93,201.06,205.90,213.37,
-218.14,229.62,233.49,242.18,248.35,254.85,263.62,267.61,274.78,282.96,
-291.62,297.39,305.49,313.02,322.30,324.36,332.51,342.16,346.53,353.82,
-362.11,370.43,376.41,381.52,387.36,395.81,400.27,410.74,416.51,422.45,
-429.64,437.77,443.57,449.82,459.71,466.38,472.12,481.17,488.65,495.72,
-501.09,510.73,514.84,520.29,529.38,537.02,540.15,548.03,558.22,563.67,
-571.29,580.83,584.22,589.24,602.67,603.99,613.92,619.28,625.82,638.32,
-638.88,644.90,654.58,662.28,668.02,676.16,680.91,693.63,698.77,703.02,
-708.35,716.37,729.30,728.38,735.90,743.46,754.92,757.98,766.95,771.82,
-779.04,785.57,793.51,801.92,807.90,813.08,823.07,833.66,837.93,842.62,
-848.35,860.79,866.03,874.67,874.97,891.97,892.16,898.24,904.79,915.40,
-919.62,932.62,939.03,938.51,944.13,954.00,961.87,973.74,977.26,983.75,
-988.88,998.35,1003.68,1012.31,1019.48,1023.85,1027.58,1042.10,1042.19,1055.19,
-1060.24,1067.38,1075.29,1083.60,1085.47,1091.47,1103.43,1106.08,1120.77,1126.88,
-1128.39,1136.59,1140.85,1146.39,1156.74,1171.00,1173.48,1182.40,1183.99,1193.70,
-1203.30,1209.58,1213.18,1224.73,1227.80,1230.03,1243.62,1251.16,1253.77,1262.49,
-1266.70,1282.01,1284.86,1292.24,1299.19,1306.97,1307.74,1320.20,1327.02,1330.16,
-1338.18,1347.69,1354.00,1367.08,1365.88,1376.10,1382.95,1388.23,1397.83,1405.94,
-1414.11,1420.96,1425.65,1429.00,1439.99,1449.34,1452.64,1457.24,1469.36,1473.05,
-1477.59,1481.07,1493.39,1503.09,1505.69,1515.60,1523.34,1528.11,1532.62,1543.42,
-1550.73,1553.25,1562.28,1571.16,1577.71,1582.35,1596.61,1603.73,1604.88,1615.12,
-1619.86,1627.29,1634.16,1641.62,1647.82,1650.96,1663.12,1671.28,1673.77,1681.68,
-1695.78,1699.57,1703.76,1709.06,1720.51,1724.28,1724.50,1737.58,1743.73,1756.75,
-1757.67,1764.59,1770.68,1782.92,1792.85,1788.43,1798.54,1808.69,1815.82,1826.04,
-1829.43,1839.45,1842.93,1849.22,1851.49,1864.58,1868.51,1877.61,1882.80,1894.37,
-1897.08,1907.12,1908.22,1922.33,1929.05,1934.67,1941.94,1951.37,1954.62,1960.57,
-1973.02,1974.76,1978.44,1994.47,1994.59,2007.58,2008.81,2014.95,2023.03,2029.23,
-2039.83,2044.18,2051.76,2061.72,2062.92,2074.95,2079.37,2094.01,2099.43,2103.72,
-79.08,85.56,91.25,97.85,105.15,111.59,119.65,125.85,131.87,139.55,
-145.22,153.25,159.45,166.75,172.31,178.69,188.62,194.37,198.88,205.18,
-214.31,220.53,226.41,235.49,241.82,246.24,255.28,258.91,267.27,274.51,
-281.10,287.92,294.22,299.95,310.11,313.26,319.81,330.08,335.02,341.59,
-351.48,355.44,362.67,370.57,378.99,384.86,390.74,394.87,402.75,409.26,
-420.59,425.42,429.28,438.66,441.59,451.53,457.91,462.86,472.19,479.16,
-480.90,489.89,497.16,506.64,510.19,517.57,524.53,532.85,535.74,545.41,
-553.83,556.11,567.43,573.76,583.17,585.89,590.40,598.17,605.88,611.74,
-617.29,625.92,632.85,640.65,649.31,653.56,658.96,668.70,673.97,677.27,
-687.03,697.19,693.61,707.48,714.15,721.82,731.45,738.60,742.79,747.81,
-749.14,764.59,769.12,774.37,781.52,791.14,801.73,801.45,811.19,818.28,
-818.88,829.54,835.32,846.23,850.16,857.74,864.68,871.11,876.94,882.50,
-890.18,901.22,905.29,919.11,923.41,925.52,932.25,937.44,944.51,952.11,
-957.78,963.70,973.46,984.55,988.52,990.41,1001.45,1009.99,1012.84,1019.64,
-1028.65,1028.41,1037.27,1047.72,1052.43,1058.82,1067.20,1072.85,1080.21,1087.74,
-1093.10,1108.69,1104.06,1111.16,1121.15,1121.40,1131.87,1143.39,1149.93,1154.86,
-1161.40,1169.08,1177.26,1181.05,1189.99,1194.07,1201.20,1211.00,1218.01,1221.90,
-1232.45,1241.05,1247.27,1252.74,1258.59,1264.43,1270.80,1277.92,1283.30,1292.43,
-1302.44,1300.28,1308.59,1317.02,1322.37,1332.99,1336.10,1346.57,1353.90,1356.69,
-1362.36,1371.01,1374.37,1381.81,1392.72,1405.65,1404.07,1408.82,1415.54,1424.33,
-1430.21,1439.99,1445.83,1453.94,1466.40,1463.50,1473.98,1475.40,1491.38,1495.25,
-1495.76,1503.82,1514.64,1519.40,1525.39,1533.33,1539.35,1550.25,1554.00,1560.51,
-1569.27,1572.91,1582.38,1593.41,1594.60,1599.41,1605.56,1615.82,1624.61,1631.61,
-1637.59,1644.13,1653.52,1653.33,1671.30,1671.86,1673.65,1683.12,1693.66,1701.25,
-1703.28,1713.66,1717.85,1720.22,1730.18,1742.67,1744.82,1744.10,1764.01,1761.61,
-1770.07,1779.88,1786.91,1792.93,1795.75,1804.49,1815.81,1824.71,1818.27,1834.29,
-1840.61,1845.51,1848.95,1870.39,1868.89,1873.26,1875.06,1889.85,1893.73,1897.05,
-1911.96,1915.31,1922.64,1931.26,1931.64,1940.21,1945.43,1954.18,1957.05,1963.35,
-1974.71,1985.09,1989.56,1994.90,1997.99,2004.12,2015.55,2016.75,2027.64,2033.85,
-76.82,82.09,87.58,96.30,100.18,106.58,115.73,121.79,128.10,133.20,
-141.62,148.50,153.55,161.41,167.48,174.12,180.84,186.40,193.19,201.06,
-204.87,210.69,220.36,227.90,234.19,238.41,247.52,249.91,259.19,264.44,
-272.35,277.82,285.32,290.95,300.05,305.85,312.19,319.12,326.68,332.69,
-336.89,344.28,350.51,357.68,364.82,369.33,374.99,382.06,393.05,396.91,
-406.39,409.43,414.98,422.92,430.48,437.26,438.77,448.65,453.37,462.73,
-468.06,475.65,484.05,486.19,492.54,502.98,507.50,512.86,525.46,528.51,
-536.02,541.44,546.97,557.33,562.18,563.29,571.16,579.09,582.11,590.67,
-603.21,608.00,611.19,617.76,628.09,631.57,635.85,644.59,653.34,658.21,
-659.27,672.15,677.66,685.07,693.66,696.34,707.87,710.12,715.20,724.54,
-731.30,737.61,747.38,753.04,754.29,762.52,767.37,777.62,786.57,790.46,
-798.95,801.66,807.38,817.83,820.48,829.42,838.73,838.18,847.04,852.25,
-863.73,865.58,874.84,879.33,887.95,891.66,906.24,904.35,909.88,924.12,
-924.83,934.00,937.58,944.29,957.45,963.68,966.61,980.38,978.43,988.73,
-990.27,1000.28,1003.35,1009.91,1020.87,1031.88,1035.45,1032.65,1048.58,1051.03,
-1061.16,1061.45,1067.42,1081.35,1085.09,1093.89,1097.22,1103.72,1118.51,1114.64,
-1124.63,1132.33,1137.23,1141.89,1152.77,1161.51,1163.05,1168.59,1176.04,1187.82,
-1190.10,1188.61,1205.99,1212.71,1215.69,1222.30,1230.23,1229.67,1241.43,1252.06,
-1252.10,1258.34,1274.30,1277.87,1282.65,1283.05,1297.57,1299.93,1310.01,1313.24,
-1321.21,1328.46,1328.18,1340.51,1346.09,1353.96,1356.64,1375.69,1373.83,1381.50,
-1379.50,1397.79,1398.92,1402.48,1416.40,1418.45,1424.10,1437.07,1434.95,1444.75,
-1450.66,1456.72,1470.99,1474.79,1473.51,1485.69,1488.84,1499.80,1500.51,1513.31,
-1515.77,1519.31,1527.25,1544.63,1547.13,1548.62,1556.38,1561.75,1559.26,1582.14,
-1583.17,1589.18,1593.62,1598.78,1612.49,1614.13,1627.78,1629.50,1632.28,1644.34,
-1661.36,1656.84,1655.98,1670.85,1674.44,1683.55,1690.48,1688.80,1703.16,1709.41,
-1712.33,1717.05,1725.21,1727.55,1736.22,1744.51,1749.34,1763.43,1765.19,1766.31,
-1780.94,1786.04,1789.05,1795.87,1803.93,1807.49,1820.25,1819.87,1831.31,1828.01,
-1850.67,1853.13,1858.83,1861.36,1868.25,1873.10,1887.63,1886.12,1896.44,1905.11,
-1906.23,1917.83,1923.96,1927.48,1936.48,1935.45,1955.60,1955.76,1967.76,1970.96,
-71.31,76.43,88.16,92.96,99.10,103.92,110.68,114.51,126.02,128.90,
-136.95,142.16,148.04,154.83,163.62,168.19,174.19,181.31,186.62,191.48,
-200.45,208.47,212.34,218.47,223.47,229.54,237.99,244.63,249.11,256.48,
-261.39,266.87,277.53,281.96,285.77,293.32,299.57,306.74,315.65,321.90,
-325.11,331.36,341.42,346.86,352.90,357.58,363.72,370.87,379.19,384.72,
-391.98,395.36,400.94,408.93,416.03,417.77,428.14,437.09,435.81,448.58,
-455.69,453.68,466.00,469.53,481.12,487.35,492.04,493.51,501.69,508.52,
-516.83,521.65,525.92,534.68,540.73,548.55,553.01,564.79,566.10,572.34,
-576.83,589.17,595.23,598.64,604.88,615.57,619.79,623.58,631.84,635.12,
-646.36,652.02,659.12,660.84,666.48,671.70,680.40,690.05,693.27,699.23,
-709.48,712.83,717.35,726.45,730.86,737.09,741.68,746.44,754.81,760.64,
-771.67,775.72,786.17,790.06,794.59,803.78,807.83,816.12,820.58,830.07,
-839.41,841.00,845.40,848.88,855.78,862.77,870.35,875.67,884.28,892.72,
-890.55,901.43,912.26,912.76,922.34,928.79,936.51,943.47,946.80,951.13,
-962.22,963.65,972.73,977.64,991.74,986.94,992.32,1002.43,1011.21,1013.16,
-1023.40,1033.93,1036.51,1047.99,1045.59,1057.64,1061.85,1071.14,1077.07,1075.87,
-1081.63,1096.65,1095.88,1103.77,1112.47,1114.78,1127.52,1131.90,1133.67,1143.35,
-1154.25,1159.34,1165.03,1164.55,1179.80,1179.01,1186.45,1192.27,1199.74,1204.30,
-1216.71,1217.00,1220.81,1231.55,1234.26,1243.72,1245.80,1258.29,1264.01,1266.33,
-1271.13,1279.07,1286.15,1298.47,1302.60,1309.56,1309.07,1314.46,1320.10,1331.74,
-1343.10,1345.05,1357.64,1359.19,1368.55,1379.45,1378.49,1383.57,1390.79,1395.74,
-1403.84,1408.70,1413.24,1420.67,1430.66,1435.91,1440.91,1450.55,1444.83,1460.31,
-1463.96,1472.53,1475.46,1490.31,1494.80,1497.37,1505.15,1512.07,1517.63,1521.97,
-1527.73,1531.84,1546.97,1540.45,1552.39,1558.80,1567.63,1576.24,1587.80,1586.48,
-1585.71,1604.35,1604.54,1602.42,1616.01,1622.26,1627.86,1633.68,1641.02,1655.65,
-1660.28,1669.80,1664.01,1670.10,1678.73,1682.58,1692.27,1698.04,1704.14,1708.65,
-1718.43,1726.39,1735.61,1744.19,1740.98,1752.31,1752.60,1762.02,1773.26,1779.07,
-1782.56,1783.39,1795.96,1807.25,1810.98,1813.40,1817.86,1829.29,1837.63,1838.79,
-1845.93,1856.59,1859.03,1863.06,1873.27,1875.34,1880.33,1893.52,1893.48,1900.32,
-70.78,77.62,83.81,89.42,95.68,101.77,107.72,113.13,120.58,125.27,
-131.48,136.86,141.03,151.59,157.63,161.44,168.30,176.23,178.56,186.51,
-192.46,201.22,205.16,210.17,217.51,226.62,229.34,236.35,240.75,250.11,
-253.61,261.01,268.24,275.42,278.98,285.91,288.99,296.97,304.61,307.93,
-316.18,319.43,328.65,334.89,339.88,345.32,352.98,355.68,365.88,368.57,
-376.33,382.39,389.45,397.35,399.86,404.72,411.82,420.29,427.33,431.60,
-441.01,446.49,451.10,457.06,461.28,467.25,475.91,478.73,484.28,490.66,
-497.70,504.83,508.81,517.49,528.31,530.43,534.66,542.03,550.64,554.76,
-558.25,567.18,569.78,577.10,581.45,592.49,600.48,600.43,610.37,614.62,
-619.80,633.05,631.21,636.71,644.73,653.63,659.03,667.97,667.23,676.98,
-683.69,693.64,696.91,699.69,708.30,712.26,717.97,726.78,731.22,739.24,
-739.50,745.84,755.38,758.43,772.55,769.76,775.97,787.77,793.51,799.09,
-803.05,809.49,813.64,826.87,832.02,832.99,841.56,842.22,851.34,861.58,
-864.93,873.85,878.16,883.43,889.98,893.69,901.95,908.92,919.15,921.26,
-930.03,931.45,938.30,947.12,952.73,953.31,965.18,971.06,974.24,983.79,
-985.03,992.83,994.84,1003.62,1011.01,1013.02,1026.41,1029.61,1042.70,1040.38,
-1048.73,1056.21,1059.71,1064.05,1077.68,1080.78,1083.42,1091.15,1100.99,1108.61,
-1111.93,1118.46,1116.47,1129.09,1125.82,1139.80,1145.91,1154.52,1163.96,1171.07,
-1174.08,1175.18,1184.86,1190.13,1199.67,1198.97,1206.22,1217.90,1221.03,1227.94,
-1229.18,1237.16,1242.45,1249.57,1256.94,1261.66,1271.27,1276.89,1277.07,1290.16,
-1289.96,1295.08,1306.44,1303.40,1315.71,1325.44,1327.68,1330.55,1337.71,1345.91,
-1353.59,1356.43,1367.56,1369.44,1379.82,1384.42,1393.68,1390.88,1402.94,1412.13,
-1417.51,1419.81,1427.88,1431.27,1438.45,1441.74,1446.65,1459.32,1464.81,1471.41,
-1474.76,1476.88,1492.71,1493.30,1498.66,1508.66,1514.53,1521.28,1524.16,1535.49,
-1536.17,1543.06,1549.29,1559.54,1569.28,1564.93,1573.30,1582.74,1582.75,1591.19,
-1596.31,1598.94,1613.01,1620.97,1625.65,1627.93,1637.37,1644.63,1641.96,1655.30,
-1651.65,1663.34,1668.77,1681.20,1682.16,1691.06,1691.88,1696.42,1711.35,1713.25,
-1722.62,1729.76,1731.94,1742.10,1752.78,1747.98,1764.70,1759.14,1768.48,1774.00,
-1789.16,1787.42,1797.24,1790.92,1803.02,1803.52,1816.68,1828.18,1823.55,1838.21,
-68.99,75.57,80.82,86.39,91.67,99.06,102.30,108.58,117.14,122.17,
-127.44,133.27,139.30,143.97,152.44,155.55,161.26,170.53,176.49,183.08,
-183.71,193.35,197.53,205.81,209.55,213.62,221.84,225.77,233.83,239.10,
-244.26,249.69,258.58,261.63,266.87,274.37,279.90,285.98,291.94,300.05,
-304.72,304.30,313.04,325.61,331.15,331.91,338.36,345.82,350.81,355.48,
-365.73,368.85,374.88,381.62,387.03,394.34,399.29,405.11,409.69,416.55,
-423.32,425.48,430.28,443.46,444.62,447.68,455.30,461.95,469.82,479.98,
-479.95,484.89,491.84,498.03,500.41,505.68,519.77,522.03,534.53,533.48,
-538.12,547.28,551.86,557.16,567.70,569.11,577.79,584.70,588.92,587.71,
-602.16,605.32,613.42,615.45,622.44,631.36,637.46,641.84,647.23,656.75,
-662.56,666.19,668.35,677.06,678.55,686.28,689.35,702.39,703.64,709.12,
-713.71,724.59,730.66,735.96,743.50,747.14,756.93,758.39,763.28,772.58,
-775.21,779.52,785.22,794.44,801.78,809.25,812.23,820.58,822.03,827.71,
-837.10,837.78,849.69,854.62,861.62,865.66,873.10,881.54,874.84,885.98,
-893.25,897.05,902.98,907.95,915.75,920.00,929.47,936.71,939.17,948.95,
-945.55,959.81,965.54,966.75,984.45,984.39,983.05,993.55,1001.31,1002.78,
-1012.24,1018.17,1020.99,1026.12,1035.86,1038.41,1045.79,1048.62,1060.47,1068.34,
-1074.84,1081.18,1082.22,1084.84,1093.66,1105.88,1100.95,1109.86,1122.07,1126.34,
-1125.95,1137.75,1141.15,1149.25,1141.95,1156.50,1163.11,1158.37,1172.70,1182.43,
-1195.40,1198.24,1199.93,1205.77,1218.15,1225.35,1223.14,1233.94,1236.52,1243.63,
-1249.65,1253.21,1262.41,1268.67,1272.06,1277.40,1281.37,1290.43,1292.42,1293.99,
-1308.36,1308.62,1317.03,1324.92,1324.75,1335.07,1343.75,1345.07,1359.97,1357.57,
-1371.87,1372.16,1379.59,1380.49,1395.82,1396.15,1398.93,1407.69,1414.57,1419.62,
-1425.56,1428.14,1430.42,1443.91,1450.36,1455.25,1455.42,1458.54,1472.66,1476.97,
-1485.09,1485.00,1497.87,1500.93,1507.19,1512.30,1514.73,1522.77,1531.75,1542.85,
-1546.05,1544.58,1561.06,1563.94,1568.85,1570.72,1577.80,1583.11,1586.49,1591.42,
-1601.22,1606.07,1616.84,1626.82,1627.35,1631.48,1635.82,1644.55,1652.59,1656.79,
-1656.38,1663.88,1676.16,1680.95,1683.76,1683.31,1693.91,1708.35,1711.41,1706.64,
-1720.50,1723.85,1730.71,1730.99,1744.97,1751.33,1759.00,1757.40,1768.76,1774.65,
-66.00,70.54,76.11,85.05,86.87,96.40,98.33,104.78,111.11,119.07,
-120.15,128.55,134.35,141.05,144.15,152.94,157.62,163.61,169.06,171.47,
-177.80,187.09,190.74,197.50,202.54,206.76,214.29,219.74,224.63,231.59,
-238.07,242.65,247.23,253.61,259.14,263.07,273.34,276.50,283.56,287.93,
-292.55,299.88,304.41,308.73,314.75,320.52,326.35,333.38,339.38,344.53,
-348.90,354.20,362.06,364.99,368.84,379.10,385.64,392.61,396.29,399.23,
-406.23,412.29,420.65,423.89,431.49,436.15,442.89,445.90,453.14,461.19,
-462.66,472.61,473.33,482.76,492.88,489.87,497.27,501.14,507.42,516.29,
-523.26,524.57,531.21,542.22,545.29,546.17,552.36,562.58,560.24,568.63,
-576.16,577.52,590.92,594.30,600.04,614.98,611.34,616.64,625.86,627.12,
-639.53,638.94,648.14,651.96,652.85,666.46,668.31,671.31,681.99,687.33,
-690.92,693.63,703.71,711.04,706.26,719.41,724.04,734.11,739.27,739.61,
-750.48,756.44,760.80,767.62,777.68,773.27,785.83,784.38,791.48,801.79,
-800.93,805.99,816.07,822.75,820.99,835.18,836.47,847.53,845.43,854.50,
-863.32,874.84,875.50,876.08,881.49,886.58,892.57,906.55,910.96,909.52,
-921.38,919.58,928.89,942.47,941.40,945.97,957.58,951.39,964.66,968.97,
-978.63,976.65,983.72,996.95,999.18,1005.76,1012.90,1015.21,1019.70,1035.65,
-1028.42,1037.27,1038.72,1048.43,1051.30,1059.47,1067.89,1070.06,1081.93,1089.63,
-1088.31,1097.71,1101.47,1107.32,1115.18,1115.37,1124.96,1133.60,1134.28,1140.71,
-1148.55,1155.00,1155.74,1162.02,1167.21,1171.55,1181.79,1176.55,1199.13,1198.18,
-1199.69,1211.15,1217.21,1211.54,1229.53,1231.73,1237.83,1243.45,1246.79,1253.45,
-1255.22,1266.87,1270.53,1272.34,1290.92,1295.04,1295.43,1298.63,1302.07,1307.07,
-1320.93,1326.69,1323.76,1331.58,1339.15,1339.72,1350.64,1359.56,1370.62,1370.72,
-1371.77,1375.06,1379.63,1391.66,1394.92,1402.73,1408.33,1415.74,1418.01,1421.34,
-1435.18,1443.03,1445.00,1439.17,1451.48,1458.72,1468.56,1470.58,1481.48,1478.91,
-1493.60,1493.41,1497.24,1504.36,1505.64,1520.55,1524.90,1531.80,1528.04,1533.72,
-1540.61,1550.32,1551.69,1561.01,1572.25,1579.08,1576.55,1584.57,1595.91,1594.76,
-1593.01,1604.16,1612.66,1614.56,1632.09,1626.81,1636.59,1640.22,1643.61,1653.83,
-1664.35,1663.02,1669.93,1675.42,1687.93,1689.50,1689.51,1694.24,1707.42,1709.69
-};
-
-static float sdNumAnchorBases[] = {
-10.47,11.01,11.78,12.26,12.43,13.04,13.75,14.08,14.11,14.49,
-14.74,15.81,15.99,15.62,16.58,17.02,16.57,17.20,18.15,17.63,
-18.48,19.41,18.70,19.14,19.41,20.03,20.56,20.43,20.46,21.47,
-21.07,21.28,21.95,22.04,21.45,21.87,21.85,22.52,23.14,22.68,
-24.44,24.88,25.07,24.79,24.77,24.21,24.11,25.63,24.57,25.71,
-26.63,25.26,25.82,26.59,27.08,27.18,26.79,27.40,27.87,28.39,
-28.63,28.69,28.37,28.13,29.13,28.40,28.26,28.58,30.29,29.36,
-29.27,30.63,30.50,30.40,30.47,31.36,31.66,32.16,30.65,31.06,
-31.33,33.04,31.60,31.30,32.57,32.25,33.19,34.46,33.39,33.76,
-35.66,35.45,34.05,33.60,34.05,33.54,35.39,33.48,33.98,35.37,
-35.47,35.37,34.47,34.45,35.48,37.37,36.96,35.51,35.45,36.88,
-36.00,37.86,37.11,36.21,36.95,37.47,37.76,36.66,36.94,39.30,
-38.64,40.25,37.89,39.25,39.20,39.72,38.75,38.20,39.80,38.60,
-39.18,39.95,39.50,40.05,39.19,39.39,39.75,40.84,41.96,40.90,
-41.09,41.94,42.65,42.19,42.44,41.95,43.42,40.38,41.79,42.58,
-42.63,43.22,41.99,44.15,43.54,42.93,42.62,44.10,43.52,45.30,
-44.53,43.04,43.82,41.83,44.01,45.10,43.07,43.83,44.61,44.22,
-45.09,44.35,43.61,45.44,44.24,45.08,46.18,46.11,44.42,46.81,
-47.87,46.86,47.20,46.83,47.57,47.77,46.85,48.27,47.12,45.91,
-47.64,46.51,46.94,46.54,47.73,46.77,47.58,48.01,49.24,48.48,
-49.64,50.33,47.30,49.43,49.17,49.16,49.40,49.20,50.15,50.35,
-50.16,50.48,50.41,52.25,49.77,51.13,49.52,51.88,49.93,49.93,
-51.53,51.99,50.03,52.41,52.12,52.67,51.51,52.13,53.48,51.00,
-55.47,53.08,54.04,52.05,54.49,53.65,54.21,52.09,54.54,52.10,
-53.39,52.05,53.08,52.88,53.47,54.10,55.17,53.77,53.75,52.87,
-54.31,51.63,54.04,51.98,52.86,52.60,53.18,53.72,55.21,53.85,
-55.10,55.41,55.97,54.85,57.14,55.80,54.56,54.35,57.05,55.40,
-54.66,56.53,57.00,56.78,56.06,57.99,56.74,57.98,56.36,57.59,
-57.44,56.94,58.87,58.33,59.83,56.46,59.84,58.13,60.17,58.25,
-9.56,10.26,11.00,11.51,11.35,11.61,12.45,12.73,13.85,13.28,
-13.99,13.89,14.51,14.99,15.52,15.43,15.91,16.43,16.34,16.38,
-17.26,17.17,18.18,17.89,17.91,18.79,18.28,18.89,19.11,19.44,
-19.34,20.24,19.36,20.00,20.52,21.07,21.31,21.57,20.92,21.12,
-21.64,22.34,23.25,22.31,22.61,23.07,22.42,23.03,24.49,23.28,
-23.62,24.21,23.22,24.50,25.41,23.47,25.75,25.26,26.43,25.67,
-25.17,26.18,26.84,26.07,26.25,26.91,26.77,26.50,26.73,27.25,
-27.76,28.47,28.64,28.50,28.44,27.56,28.56,28.85,29.96,29.16,
-29.70,29.35,29.16,30.31,30.32,29.47,30.77,31.91,30.42,31.73,
-31.24,31.25,32.16,30.70,29.87,32.96,31.23,32.38,31.45,32.33,
-33.01,32.50,33.86,33.05,34.16,34.10,33.54,32.66,34.69,32.55,
-33.77,32.95,34.95,35.38,34.65,33.64,33.58,35.00,35.10,35.93,
-35.53,35.73,36.55,36.10,35.79,38.67,36.78,35.08,37.44,36.84,
-36.39,35.96,37.65,37.51,36.47,36.38,37.70,37.51,37.72,38.30,
-38.36,37.93,38.11,37.37,39.07,37.42,39.56,37.40,38.95,37.25,
-39.43,39.32,38.83,37.60,39.77,39.52,39.34,39.11,42.60,40.24,
-40.91,40.61,39.90,40.65,40.49,41.66,39.34,40.09,42.12,41.02,
-41.20,41.84,42.77,42.42,43.18,42.32,42.25,42.62,42.26,43.06,
-44.71,44.38,43.06,41.01,42.74,43.44,45.33,40.56,43.72,42.62,
-44.02,44.73,43.79,41.65,43.55,43.57,44.97,43.39,43.64,45.97,
-43.90,43.80,44.26,45.03,46.56,44.30,45.31,47.23,46.31,44.83,
-44.93,46.23,46.43,45.11,46.11,46.02,46.77,46.56,46.11,44.88,
-46.49,44.97,46.18,46.67,47.59,46.20,45.87,47.94,47.13,47.84,
-47.02,47.81,47.10,49.44,47.11,47.08,48.83,47.29,49.14,49.03,
-48.90,48.86,48.03,47.36,49.04,48.95,49.14,48.17,48.15,50.56,
-50.42,47.08,49.83,50.17,50.29,50.88,51.74,51.25,51.04,51.66,
-49.98,51.01,49.78,51.07,50.31,52.12,52.07,50.89,51.93,52.22,
-50.90,49.80,51.78,51.46,51.85,52.67,51.15,53.96,53.38,53.17,
-51.70,53.75,52.70,53.35,54.86,52.85,53.49,53.79,55.73,53.41,
-8.69,9.29,9.82,10.40,10.37,10.74,10.97,12.08,12.15,12.39,
-12.49,13.37,12.76,13.16,13.99,14.71,14.19,14.55,14.92,14.75,
-15.45,14.99,16.85,15.16,16.58,16.37,16.64,17.00,17.21,17.92,
-17.36,17.82,17.82,18.42,19.03,18.92,19.18,19.72,19.80,19.52,
-20.78,20.42,20.34,20.73,21.22,20.80,21.00,20.59,21.84,20.55,
-22.01,21.36,21.84,21.27,22.67,22.46,22.23,22.35,23.01,23.21,
-23.70,23.97,23.89,23.05,24.39,24.13,23.86,24.10,25.42,26.32,
-24.67,25.54,25.76,26.04,25.12,25.55,26.16,25.96,26.15,26.44,
-27.04,26.08,26.38,27.94,27.95,27.48,28.91,28.04,26.95,28.03,
-28.06,28.15,27.83,28.55,28.90,29.44,28.93,29.26,29.03,29.20,
-29.47,30.00,28.76,31.08,29.00,29.51,30.36,29.94,30.07,29.81,
-30.77,31.59,31.37,31.80,32.17,32.31,33.49,32.86,32.30,32.92,
-32.15,33.49,33.59,32.62,33.99,33.24,31.62,34.42,33.03,33.84,
-32.10,34.86,32.33,32.96,34.94,32.93,34.62,34.88,33.83,35.01,
-34.46,35.90,34.49,33.69,34.40,35.77,35.23,35.97,35.11,36.22,
-35.81,35.74,36.77,35.59,36.07,35.45,36.83,35.85,37.41,35.37,
-35.89,36.75,35.54,36.98,35.41,38.07,36.69,36.67,39.06,38.60,
-37.77,38.04,38.13,37.74,37.76,39.67,37.92,38.63,37.85,39.22,
-38.83,38.73,38.44,38.46,38.85,39.29,38.90,40.86,37.43,39.20,
-38.83,39.62,40.43,41.14,39.82,39.52,39.78,40.80,41.11,40.18,
-39.97,40.05,40.96,41.72,40.55,41.80,40.45,40.50,40.48,40.82,
-41.87,41.41,43.18,42.56,41.71,43.47,41.45,42.56,41.75,41.98,
-41.38,42.93,41.69,43.82,41.82,44.09,42.65,43.07,44.55,44.37,
-43.73,43.09,42.87,42.68,44.39,44.78,44.53,43.78,43.71,43.75,
-44.69,44.83,45.66,45.52,44.70,42.64,46.14,45.22,44.08,45.28,
-46.20,46.36,46.60,45.22,45.23,46.88,45.12,45.55,45.94,45.77,
-45.08,47.70,47.10,45.16,46.24,46.30,48.71,44.74,46.16,46.23,
-49.22,48.37,49.13,46.88,47.71,46.29,49.22,47.38,47.71,47.29,
-46.92,48.50,49.40,47.63,47.81,47.61,49.05,47.33,49.09,48.72,
-8.02,9.03,8.96,9.19,9.76,10.10,10.52,10.25,10.66,11.13,
-11.88,11.55,11.99,11.76,12.80,12.32,12.18,13.14,13.76,13.83,
-14.01,14.37,14.77,14.15,15.29,15.29,15.88,14.86,15.89,17.12,
-16.18,16.06,15.60,16.65,16.74,17.46,17.49,17.53,17.67,18.14,
-18.54,18.00,18.25,18.11,19.00,18.33,19.43,18.97,19.80,18.99,
-19.29,19.50,20.15,20.15,20.47,20.81,20.83,20.53,20.31,20.75,
-21.63,21.19,21.30,22.40,22.34,22.76,22.49,22.53,23.64,22.75,
-21.91,23.19,22.61,22.27,23.28,22.80,23.82,24.02,24.65,24.39,
-24.57,24.14,25.94,24.98,24.92,24.56,25.23,24.95,24.63,24.85,
-26.19,25.60,26.20,25.71,27.19,25.00,27.19,26.25,26.55,25.75,
-27.27,27.36,27.38,26.79,26.66,28.48,27.73,27.38,27.59,27.52,
-27.48,28.11,29.52,29.32,28.55,27.46,28.02,29.49,29.03,28.86,
-28.01,29.29,29.70,29.49,29.57,28.89,30.14,30.05,29.55,29.46,
-30.51,30.64,29.75,30.29,31.83,31.25,30.85,30.20,30.58,30.41,
-32.38,31.78,32.15,32.48,32.08,32.22,31.49,31.54,31.31,32.19,
-31.45,32.27,33.73,32.72,33.20,31.46,32.63,32.15,32.84,32.11,
-33.79,34.11,33.85,32.58,34.70,33.39,33.26,33.73,32.08,36.08,
-34.24,34.35,34.55,35.32,33.89,33.98,33.69,35.67,33.21,33.27,
-34.18,36.49,34.81,35.64,35.40,35.15,35.07,35.48,35.97,35.60,
-34.97,36.79,38.13,36.25,36.20,37.01,34.80,35.88,35.97,36.29,
-36.45,36.39,37.32,38.23,38.10,37.44,37.20,37.77,36.99,37.42,
-38.40,36.59,35.61,39.24,38.46,37.78,37.20,37.93,38.11,38.18,
-39.07,39.71,38.84,37.75,40.45,39.63,39.36,39.70,39.06,38.06,
-40.69,38.95,40.75,39.81,38.19,39.11,39.41,39.81,39.71,38.80,
-39.59,40.75,41.73,40.73,40.05,40.37,41.04,40.51,38.26,39.18,
-39.82,39.30,41.84,42.37,42.42,40.89,41.78,41.47,41.65,41.37,
-41.39,39.79,42.37,43.24,43.60,42.35,43.18,43.15,40.88,41.83,
-41.43,40.46,42.80,42.29,41.16,42.19,45.37,42.82,43.56,43.49,
-42.83,42.40,42.81,43.31,42.89,42.77,45.01,43.54,43.29,43.03,
-7.17,7.75,7.57,8.13,8.50,8.79,9.66,9.41,10.40,10.53,
-10.47,10.40,11.07,10.76,11.46,11.11,11.78,11.60,12.30,12.34,
-12.56,12.34,13.27,13.45,13.95,12.46,14.63,14.36,15.16,14.39,
-14.05,15.01,14.95,14.83,15.99,15.05,15.71,15.84,15.62,16.59,
-16.16,16.09,16.28,16.59,16.51,16.46,16.88,16.72,17.33,17.86,
-18.51,17.84,18.35,17.94,18.16,18.70,18.17,18.91,18.96,19.79,
-18.48,19.07,18.77,19.56,19.74,19.37,19.95,20.16,20.22,19.72,
-20.61,19.42,20.95,20.23,20.97,21.26,21.91,21.77,20.79,21.41,
-21.89,21.12,21.93,21.48,22.16,22.78,22.26,22.62,23.02,22.49,
-22.84,23.51,21.86,23.52,23.43,23.54,23.02,23.02,23.65,23.17,
-23.90,23.76,24.33,24.40,23.56,23.38,24.03,24.49,24.95,25.30,
-24.64,24.65,25.43,26.15,25.29,25.67,25.32,26.21,26.49,26.82,
-26.09,25.34,25.30,26.62,26.97,26.65,25.77,26.39,26.78,27.78,
-26.80,26.38,27.70,27.13,27.38,28.22,27.56,27.20,27.90,27.38,
-28.45,27.78,27.91,29.54,28.74,28.19,29.41,28.91,27.81,29.47,
-29.29,29.49,29.29,28.76,29.34,29.47,30.14,29.63,29.84,28.77,
-30.25,30.68,29.88,30.42,31.51,30.33,29.94,29.50,29.37,31.81,
-31.10,30.23,30.83,29.52,31.06,30.30,30.69,31.49,30.16,30.65,
-31.66,31.65,32.29,30.79,31.49,32.81,32.28,31.97,31.71,31.67,
-32.29,32.08,32.02,35.00,31.76,33.24,32.68,33.99,33.14,33.47,
-34.35,33.60,33.68,32.16,33.21,32.60,34.88,33.61,34.83,34.29,
-35.01,33.32,32.48,33.52,32.10,33.06,33.51,33.77,33.73,34.48,
-34.34,33.58,33.71,36.69,34.62,33.81,34.22,34.72,33.63,35.19,
-34.41,34.80,35.47,35.96,34.78,36.28,35.74,36.38,34.90,37.63,
-36.98,36.05,36.95,37.96,36.57,36.56,37.94,36.97,37.06,37.10,
-37.14,36.52,36.25,37.03,37.86,35.31,37.49,36.85,37.41,39.25,
-36.79,38.41,37.12,38.33,37.49,38.34,36.96,37.71,37.45,39.72,
-39.04,37.70,37.31,38.21,38.50,37.04,36.96,38.55,39.00,40.08,
-38.83,39.36,38.54,39.31,38.83,41.77,39.01,38.49,38.57,41.40,
-6.18,6.59,6.85,7.42,7.20,7.97,8.11,8.39,8.35,9.47,
-9.40,9.12,9.03,9.79,10.07,10.65,10.20,10.69,10.76,11.07,
-11.09,11.60,11.33,11.54,11.64,12.22,12.29,12.18,12.01,12.83,
-12.63,13.00,12.87,14.51,13.70,14.27,13.63,13.74,14.52,13.79,
-14.24,14.19,14.73,14.16,14.72,15.24,15.40,14.71,15.52,14.70,
-15.62,15.96,16.25,16.24,15.85,16.01,16.72,17.01,17.13,16.98,
-16.90,17.35,17.52,17.99,17.08,17.01,18.64,18.58,17.46,18.23,
-18.38,17.82,18.52,18.15,19.42,19.37,18.37,18.98,18.06,19.38,
-19.63,19.21,20.00,18.89,19.74,19.97,20.33,20.92,19.78,20.80,
-20.61,20.36,21.14,21.29,20.56,21.98,21.10,20.59,21.49,21.35,
-21.71,21.26,21.47,21.74,22.09,21.38,21.72,23.71,22.43,21.07,
-21.86,21.54,21.95,22.84,23.04,22.79,21.34,22.58,23.05,22.78,
-22.88,23.76,24.33,24.16,23.73,23.48,23.36,23.62,24.09,24.58,
-24.54,24.75,24.25,25.46,25.99,24.75,24.35,25.42,25.09,24.53,
-24.52,25.22,25.59,26.26,25.29,26.37,25.45,24.68,25.95,26.27,
-26.00,25.37,25.82,25.92,26.09,26.73,26.49,25.32,25.54,25.83,
-26.17,28.32,26.39,27.60,26.78,26.38,27.64,27.57,28.21,27.98,
-26.34,27.21,26.69,26.57,27.62,26.68,28.06,27.91,27.86,28.49,
-28.15,28.37,28.42,27.88,28.58,28.31,29.04,28.32,27.93,29.52,
-28.71,29.28,28.92,29.70,29.02,28.96,29.12,29.38,28.51,29.52,
-29.51,29.33,29.29,30.80,29.98,28.84,30.84,30.09,29.60,30.13,
-30.71,30.71,30.45,31.67,30.42,29.60,31.27,30.58,31.42,30.33,
-31.04,31.02,31.09,30.07,32.20,31.27,30.53,31.96,31.35,32.16,
-31.42,32.19,31.58,30.05,30.80,31.05,31.65,31.94,32.05,30.87,
-32.83,32.37,31.21,32.71,32.19,31.77,31.36,32.83,32.18,32.65,
-31.91,33.01,32.28,32.45,34.65,32.32,32.38,31.68,32.94,34.11,
-33.57,32.93,32.96,33.12,34.33,35.06,33.69,34.05,34.57,32.64,
-34.35,34.42,34.32,32.94,35.26,33.53,35.25,35.38,34.48,35.29,
-35.38,34.15,34.58,35.72,35.26,35.44,33.46,35.70,35.23,36.74,
-5.22,6.39,6.40,6.96,6.62,6.71,7.25,7.59,7.82,7.97,
-7.96,8.20,8.59,8.87,9.12,8.60,9.12,9.71,9.46,9.85,
-9.74,9.88,10.56,10.19,10.51,10.63,9.92,11.47,10.31,11.48,
-10.66,11.65,12.54,11.77,11.57,12.32,12.58,12.79,12.74,11.87,
-12.40,12.80,12.86,13.79,13.04,13.58,13.62,14.16,13.70,14.00,
-13.90,13.36,14.65,13.83,14.95,15.33,14.55,15.00,15.31,14.89,
-15.87,15.13,15.13,15.52,15.07,15.47,15.42,16.10,15.58,16.04,
-16.06,16.41,16.26,16.13,16.10,15.71,16.78,16.69,16.71,16.68,
-17.04,17.62,17.16,16.60,17.60,17.52,18.01,17.50,17.93,16.58,
-18.09,18.84,17.94,17.27,18.38,18.63,18.51,18.57,18.97,17.24,
-19.59,19.84,18.74,19.10,19.83,20.01,19.85,19.19,20.48,19.59,
-20.22,20.24,19.51,19.97,20.66,20.02,20.81,19.83,21.33,20.92,
-20.87,20.46,20.97,20.50,20.34,21.05,20.94,20.81,22.20,20.32,
-21.85,20.61,21.86,21.76,21.14,21.84,22.34,21.79,22.34,22.56,
-21.92,22.50,22.59,22.15,22.66,21.91,22.48,22.42,23.38,22.05,
-23.32,23.63,22.83,22.36,24.30,23.38,23.40,23.79,23.91,23.48,
-22.98,22.97,23.97,23.76,24.40,24.06,23.40,24.84,24.05,25.33,
-23.40,24.17,24.76,24.56,24.45,25.31,24.87,25.23,24.45,25.11,
-24.68,25.32,24.29,25.24,25.35,24.51,26.24,25.98,24.52,24.42,
-26.49,25.94,26.97,24.54,26.61,26.67,25.79,25.81,25.39,27.24,
-26.18,26.67,27.60,25.53,26.31,26.64,26.96,27.71,26.44,28.82,
-27.30,26.88,27.89,27.42,27.16,28.12,27.22,27.44,27.59,28.29,
-27.32,28.55,28.44,26.85,27.79,27.09,29.37,27.13,29.35,27.90,
-27.90,27.82,27.35,28.23,27.65,27.53,28.66,29.33,28.55,28.26,
-29.01,28.85,29.56,28.44,28.59,28.46,28.33,29.86,30.67,27.71,
-29.19,29.03,30.43,28.83,31.05,29.56,28.77,30.31,29.60,29.02,
-29.69,29.31,28.25,30.07,29.45,29.51,29.96,28.95,30.24,29.08,
-30.04,30.54,29.78,29.76,31.07,29.91,30.24,30.54,29.55,31.02,
-31.52,32.30,29.75,29.41,29.59,31.46,30.65,31.48,31.64,32.84,
-4.86,5.47,5.14,5.76,6.03,6.68,6.88,6.17,6.58,7.33,
-8.23,8.24,6.82,7.81,7.71,7.84,8.59,7.98,8.76,8.89,
-9.22,9.21,9.16,9.37,9.53,9.59,9.08,9.69,10.16,9.78,
-10.93,9.39,10.31,10.55,9.75,11.26,10.95,10.60,10.97,11.18,
-11.11,11.99,12.03,11.45,11.06,12.30,12.79,12.20,12.50,12.21,
-12.57,12.51,12.45,12.83,13.22,13.52,13.42,13.53,13.64,12.72,
-13.43,13.97,13.92,13.27,13.88,13.34,14.38,14.73,14.26,13.56,
-14.57,14.52,13.81,14.71,13.89,15.72,15.30,14.43,15.06,15.16,
-15.24,15.40,15.42,14.98,15.91,15.34,16.00,15.47,15.75,16.14,
-15.91,15.96,15.93,16.54,16.46,15.88,16.94,16.55,16.66,16.09,
-17.05,17.16,16.91,17.16,17.02,16.40,17.23,18.53,18.66,17.88,
-17.61,17.59,17.75,18.34,17.20,18.46,18.19,18.28,17.68,17.97,
-18.82,18.16,18.01,19.00,19.26,18.45,18.43,20.44,17.79,19.05,
-19.43,18.95,18.83,19.73,19.73,19.54,19.06,19.64,20.31,20.62,
-18.95,19.82,19.01,18.85,20.49,20.31,19.03,19.28,19.78,20.34,
-20.00,19.78,20.98,21.25,19.51,20.18,21.44,20.65,20.77,20.35,
-21.45,20.93,21.31,20.58,21.08,20.53,22.21,21.88,20.66,22.32,
-21.32,22.31,21.32,21.93,22.18,22.15,22.38,21.28,20.99,22.64,
-21.86,21.65,20.83,21.97,22.65,23.66,22.77,23.25,22.90,22.84,
-22.08,22.83,22.39,22.39,24.37,23.12,23.03,22.45,23.93,23.47,
-23.04,23.88,23.41,23.04,23.13,23.94,22.64,23.27,23.98,23.43,
-23.23,24.66,23.52,23.79,24.36,24.69,23.94,24.22,25.92,24.51,
-24.77,24.77,24.88,24.26,23.50,25.33,24.58,24.64,23.89,23.79,
-24.70,24.17,25.62,24.99,24.88,24.93,26.32,24.90,25.20,25.50,
-25.52,25.47,25.57,25.53,25.05,26.17,25.44,25.03,25.55,26.04,
-25.66,26.40,25.72,24.61,25.62,26.82,26.52,26.96,25.66,25.85,
-25.90,27.28,25.56,27.30,26.49,26.23,26.75,27.19,25.81,26.16,
-26.45,26.64,27.76,26.06,27.72,27.25,27.62,27.12,27.74,26.97,
-27.12,27.80,28.38,28.67,27.91,29.03,27.97,28.02,27.86,28.42,
-4.36,4.42,5.27,4.94,5.70,5.91,6.17,5.40,5.95,6.60,
-5.98,6.24,6.57,6.57,7.25,6.80,7.70,7.16,6.98,7.93,
-8.06,7.46,7.93,8.41,9.19,8.27,8.08,8.18,8.43,8.66,
-9.07,9.28,9.59,8.88,9.39,9.29,9.42,10.05,10.06,9.72,
-9.68,10.58,10.13,10.81,10.92,10.01,11.44,10.93,10.82,11.20,
-10.75,10.70,11.46,11.26,11.04,10.54,10.87,11.34,11.45,11.69,
-12.19,11.69,11.60,12.09,11.77,11.88,12.35,12.90,12.75,12.46,
-12.80,13.34,12.87,12.35,12.55,13.36,13.53,13.18,13.41,13.44,
-13.81,13.38,13.51,13.26,12.85,14.35,14.39,13.77,14.16,13.95,
-13.57,15.08,14.63,14.70,14.80,14.73,13.95,14.21,14.26,15.44,
-14.67,15.18,14.84,14.79,14.81,15.00,16.24,15.69,16.00,15.29,
-14.86,15.11,15.66,14.87,15.46,15.17,16.60,15.79,16.28,15.71,
-16.92,16.76,15.52,16.63,16.44,16.70,15.38,17.05,17.15,16.49,
-16.68,16.48,16.25,17.21,17.46,17.34,16.37,16.71,17.78,17.46,
-18.23,17.36,17.19,17.75,17.39,17.40,18.05,16.86,17.31,17.88,
-18.12,17.70,18.10,17.20,17.84,18.01,19.00,19.24,18.98,17.76,
-18.22,18.45,18.42,18.99,18.87,19.23,18.89,19.63,19.49,19.78,
-18.63,19.44,19.53,19.83,18.19,19.88,20.02,19.31,19.37,19.25,
-19.15,19.98,19.09,20.56,19.17,20.56,18.72,19.04,18.59,19.36,
-19.47,19.91,19.63,20.34,20.36,20.09,20.85,21.36,20.83,21.17,
-21.03,20.31,20.93,21.29,20.49,20.42,19.28,20.61,20.83,21.25,
-21.15,22.09,20.30,20.36,20.17,21.22,21.52,21.19,21.27,20.10,
-21.63,21.25,22.09,21.27,21.01,21.04,20.36,20.83,22.80,22.12,
-22.78,21.32,21.49,21.94,21.81,22.42,21.75,22.03,21.97,22.33,
-22.28,23.73,22.35,21.44,22.29,22.13,23.27,23.03,23.09,22.27,
-22.14,23.57,22.56,22.79,22.16,22.33,23.01,23.47,23.49,22.94,
-23.87,24.15,23.08,23.14,23.58,23.67,23.51,23.61,23.73,24.58,
-23.75,23.72,23.11,24.45,24.49,24.17,23.90,23.76,25.05,24.17,
-23.06,24.63,24.65,24.36,25.37,25.40,24.22,23.42,24.55,24.13,
-3.93,4.53,4.29,4.28,4.67,4.96,5.16,4.93,4.55,5.01,
-5.39,6.02,6.04,5.15,5.87,5.33,6.22,6.12,6.42,7.03,
-7.56,6.92,6.90,7.91,8.13,7.29,7.63,7.74,8.29,8.21,
-8.18,7.72,7.78,8.17,8.49,8.78,8.46,8.36,8.60,8.63,
-8.62,9.04,9.08,9.36,9.71,8.95,9.52,9.51,8.72,9.21,
-9.28,10.01,10.43,9.81,10.35,9.71,9.57,10.15,11.15,9.81,
-9.74,10.87,11.35,10.91,10.58,11.31,10.36,10.54,12.06,10.65,
-11.76,11.42,10.94,11.27,10.79,11.67,11.79,11.77,11.23,11.34,
-12.47,11.98,12.41,12.36,12.77,11.66,12.58,11.92,11.88,12.80,
-12.85,12.88,12.51,12.43,12.81,12.99,12.97,13.12,12.62,13.13,
-13.48,13.03,12.63,12.50,13.95,13.52,13.35,13.03,13.60,13.04,
-12.92,13.98,12.71,13.38,13.62,14.30,14.69,13.76,13.82,13.98,
-14.56,14.50,13.54,14.21,14.17,15.11,14.78,14.76,13.77,14.32,
-14.25,15.05,13.96,14.58,15.03,15.00,15.33,14.95,14.78,15.01,
-15.46,15.48,16.09,14.46,15.60,15.96,15.26,15.68,15.40,14.66,
-16.37,15.89,16.01,15.48,15.62,15.80,16.05,15.55,15.39,15.81,
-16.03,17.22,16.39,16.32,16.47,17.11,16.59,16.90,16.47,16.03,
-17.80,16.44,15.78,15.95,16.38,16.44,17.41,16.90,17.75,17.46,
-16.59,16.93,17.21,17.48,17.86,17.10,17.06,17.44,17.81,16.88,
-17.13,16.80,18.04,17.37,17.30,17.51,17.09,17.66,18.67,18.37,
-17.78,18.24,18.74,18.40,18.55,17.91,18.17,18.92,18.48,18.67,
-19.68,18.89,18.32,18.19,18.01,18.15,18.33,18.98,18.66,18.44,
-17.83,18.60,17.96,18.98,19.27,19.16,19.06,19.06,19.34,20.04,
-18.50,19.07,19.26,19.45,19.72,18.68,19.44,19.44,20.86,18.65,
-20.16,19.69,20.17,19.78,19.49,18.95,20.21,19.82,20.67,19.57,
-19.40,20.25,19.89,19.83,19.99,20.09,20.51,20.47,20.29,20.32,
-19.36,19.70,19.91,19.99,20.50,20.94,21.15,19.67,21.09,21.11,
-21.43,20.83,20.67,21.27,22.02,20.90,20.12,21.85,21.47,20.55,
-21.51,21.51,20.86,21.87,22.27,21.97,20.71,21.57,21.96,21.55,
-3.33,4.25,3.45,3.87,4.18,3.70,4.56,4.42,5.05,5.31,
-5.10,4.66,5.64,5.01,5.38,5.27,5.28,6.23,5.98,5.23,
-5.87,6.14,6.14,6.70,5.74,6.61,6.15,6.75,6.66,6.52,
-7.07,7.41,6.94,7.10,7.29,6.97,7.04,7.39,7.37,7.63,
-8.01,7.42,7.99,8.94,9.06,8.07,7.50,8.57,8.96,8.85,
-8.15,9.27,8.32,8.94,9.49,8.36,8.68,8.46,9.03,8.41,
-8.94,8.97,9.07,9.71,9.61,9.75,9.23,8.73,9.42,10.47,
-9.59,9.75,9.56,10.27,9.43,10.45,11.14,10.33,10.23,10.42,
-10.63,10.97,10.62,10.70,10.31,10.46,9.70,10.82,11.32,10.37,
-11.28,11.09,10.73,10.44,10.31,10.97,11.37,10.83,10.94,11.48,
-10.84,11.55,11.47,11.32,11.97,11.61,12.36,11.83,11.74,11.53,
-11.74,11.85,11.92,11.75,12.04,12.67,11.79,12.29,12.15,12.08,
-12.92,13.06,12.52,12.23,12.10,12.91,12.71,12.79,12.94,12.74,
-12.83,12.35,13.02,13.27,12.76,12.90,13.19,12.65,14.06,13.15,
-12.58,14.00,13.13,14.07,13.50,13.98,14.74,14.80,13.75,14.18,
-13.57,13.57,13.80,13.64,13.80,13.61,14.41,14.55,13.19,14.51,
-14.26,13.58,14.56,13.77,14.89,13.84,14.97,14.02,14.30,15.54,
-15.07,14.97,14.56,15.39,15.29,14.79,15.20,14.87,15.60,15.67,
-15.12,15.28,14.45,15.66,14.97,14.93,15.10,15.27,15.09,15.82,
-15.89,15.41,15.00,16.40,15.70,14.69,15.56,16.33,15.82,15.63,
-16.27,15.66,15.40,15.77,15.89,16.37,16.20,16.22,16.94,16.57,
-16.96,16.04,15.73,15.86,16.82,16.47,16.18,16.65,16.82,15.66,
-16.57,17.01,16.89,16.07,16.15,15.87,16.50,17.04,16.57,16.29,
-16.96,17.21,17.22,17.96,16.52,16.19,16.26,17.67,17.10,16.69,
-16.59,16.65,17.38,17.41,16.75,17.91,17.46,17.31,17.61,17.69,
-17.83,17.48,17.19,18.74,17.50,17.67,17.17,17.68,17.86,17.93,
-19.10,18.62,17.29,18.19,18.17,18.35,17.69,17.57,18.45,16.86,
-17.55,17.31,18.99,19.07,17.39,17.43,18.35,17.34,18.38,18.14,
-18.98,18.66,20.02,19.51,18.44,17.94,19.26,18.70,18.78,18.63,
-2.87,3.74,2.86,3.85,3.72,3.98,4.01,4.11,4.45,4.21,
-4.97,4.49,4.23,4.44,5.35,4.52,4.32,4.82,4.99,4.66,
-5.68,5.15,5.22,4.84,5.52,6.02,6.71,5.60,5.04,5.32,
-5.48,5.96,6.10,6.47,6.20,6.57,7.14,6.87,6.72,6.46,
-6.48,6.88,6.81,7.14,7.05,6.98,6.87,7.86,7.24,7.34,
-7.28,7.57,7.81,7.20,7.06,7.72,7.67,7.75,7.95,7.67,
-7.92,8.56,7.95,8.41,8.19,8.13,8.19,8.30,8.02,8.22,
-8.63,8.57,9.29,8.84,8.67,9.04,9.04,8.92,9.20,9.25,
-9.34,8.78,9.37,9.27,9.28,9.48,9.46,9.08,9.76,9.19,
-9.80,9.62,10.07,9.73,9.43,9.31,9.82,9.41,9.41,9.87,
-10.13,10.06,9.90,10.64,10.38,9.99,10.79,10.24,10.58,10.22,
-10.46,10.63,10.56,10.38,10.92,10.88,10.66,10.32,10.90,10.95,
-10.66,11.42,10.97,10.83,10.89,10.65,10.85,10.73,11.91,11.57,
-11.23,11.85,10.71,11.40,10.61,11.02,11.35,10.96,11.67,11.66,
-11.31,11.19,11.33,11.40,11.90,11.75,11.06,12.63,11.72,12.00,
-12.20,12.42,12.14,12.84,12.89,12.91,11.58,12.00,11.75,12.45,
-12.42,12.48,12.97,12.32,12.47,13.08,13.18,13.62,13.45,13.29,
-12.64,12.61,12.86,12.51,12.35,12.38,13.10,13.59,12.33,13.25,
-13.12,13.22,13.67,12.38,12.98,13.23,13.39,12.52,13.38,13.36,
-13.10,13.78,13.24,13.78,14.87,13.31,13.22,12.91,14.16,13.45,
-13.70,13.37,13.65,13.47,13.53,14.27,13.81,13.86,14.31,13.92,
-13.02,14.69,15.24,14.27,13.96,14.26,13.92,14.23,14.72,13.99,
-14.79,15.14,14.46,14.05,14.72,14.81,14.74,14.64,14.11,14.94,
-14.74,14.48,15.28,14.48,13.90,15.00,14.36,14.75,16.35,15.84,
-15.94,14.57,14.28,14.86,15.22,15.56,15.68,15.35,16.17,14.57,
-15.21,14.72,15.53,16.41,16.76,16.45,15.96,15.46,15.38,15.31,
-16.02,16.09,15.90,15.46,16.12,15.71,14.75,16.23,15.79,15.66,
-15.37,16.24,14.86,15.50,16.00,15.89,16.13,15.14,16.04,16.12,
-16.40,17.24,16.60,15.84,16.61,16.11,16.04,16.48,16.34,16.15,
-3.40,2.98,2.72,2.75,3.11,3.59,2.23,3.60,3.60,3.70,
-3.36,3.44,4.42,3.96,3.88,4.90,4.00,4.23,4.68,3.64,
-4.94,5.32,5.33,4.87,4.91,5.32,5.35,6.64,5.23,5.47,
-4.78,6.06,5.58,5.22,5.22,5.69,5.59,5.82,6.36,5.55,
-6.53,6.28,6.89,6.45,6.46,5.15,6.56,6.79,5.83,6.35,
-5.97,7.64,6.53,6.54,6.68,7.06,7.03,7.83,7.06,7.76,
-6.57,6.86,7.41,7.11,6.60,6.68,6.73,6.91,7.48,7.27,
-7.36,7.56,6.85,7.46,6.93,8.19,8.37,7.04,6.59,7.73,
-7.57,7.37,8.57,7.43,8.26,8.57,8.34,7.91,7.76,8.25,
-8.57,7.93,8.63,7.83,9.19,8.69,8.41,8.21,9.13,8.58,
-8.77,8.53,8.65,8.61,9.04,8.50,9.00,8.73,8.71,8.93,
-8.73,8.36,9.23,9.75,8.93,9.33,8.99,8.73,9.33,9.17,
-10.25,9.23,9.88,9.52,10.31,9.39,9.54,9.57,10.22,9.73,
-10.17,9.99,9.26,10.14,10.86,10.24,10.05,9.54,9.35,10.28,
-10.43,10.00,10.25,10.08,10.14,10.58,10.71,9.88,10.82,11.08,
-10.50,10.81,10.47,10.09,10.33,10.37,10.60,10.54,10.68,11.04,
-11.64,10.52,10.70,10.73,11.47,11.78,12.13,11.28,10.97,11.29,
-11.67,11.22,11.54,11.26,11.98,11.24,11.27,11.31,12.05,11.69,
-11.40,11.50,10.69,11.30,11.36,11.83,11.02,12.38,12.40,11.57,
-12.34,11.75,12.00,12.09,12.88,12.48,11.85,11.88,11.59,11.52,
-11.77,12.60,11.69,11.75,12.01,12.57,12.04,12.04,13.01,11.96,
-12.30,13.01,13.07,12.22,12.93,12.75,13.39,12.69,13.10,13.30,
-12.41,12.82,12.16,13.10,13.17,13.61,12.63,13.03,13.55,13.34,
-12.73,13.03,13.68,13.33,13.00,12.63,13.84,13.63,13.47,12.32,
-14.28,13.50,12.44,13.17,12.68,12.49,12.86,12.99,12.92,14.69,
-13.03,14.82,12.94,13.83,13.49,13.20,13.42,13.27,13.62,13.02,
-13.04,13.62,13.94,12.70,14.43,14.36,14.18,14.55,14.39,14.10,
-13.77,14.30,14.68,13.81,14.05,14.61,13.54,14.04,15.14,15.06,
-14.78,14.77,13.75,14.60,13.69,13.77,15.45,14.88,14.05,14.87,
-2.34,2.31,3.20,2.32,2.63,2.85,2.24,2.77,3.10,2.72,
-3.87,3.19,2.48,2.96,3.36,4.14,4.06,4.28,3.77,3.70,
-3.90,4.73,4.55,4.24,4.45,4.28,4.85,4.78,4.15,4.53,
-4.86,4.54,5.24,4.96,4.73,4.03,5.50,4.80,5.88,3.88,
-5.08,5.26,4.90,5.59,4.97,5.40,5.20,5.70,5.42,6.13,
-4.72,5.73,6.79,6.27,6.16,5.74,5.25,5.59,6.50,6.11,
-6.36,5.85,7.11,6.32,6.04,5.67,6.22,6.17,6.54,6.91,
-7.03,5.74,6.82,7.11,7.40,7.13,6.51,7.17,6.87,6.28,
-7.28,8.13,6.51,7.13,6.82,6.68,7.55,6.78,6.79,6.88,
-7.82,7.22,7.88,6.79,7.23,7.57,7.72,7.24,7.28,6.92,
-7.08,7.96,7.36,7.72,8.06,8.69,7.38,8.10,7.61,7.42,
-8.20,7.97,7.70,7.81,8.86,7.94,8.42,8.21,7.78,8.64,
-7.79,8.32,7.70,8.55,8.96,8.20,8.21,8.48,8.43,8.97,
-9.27,8.64,7.92,8.61,8.50,9.29,9.44,8.24,8.59,9.04,
-9.00,8.74,9.24,9.18,8.67,9.35,8.57,8.68,8.31,8.70,
-9.10,9.20,9.69,8.67,9.14,9.15,9.91,10.14,9.01,9.20,
-9.61,9.12,9.35,9.53,9.51,10.11,9.07,9.41,9.78,10.50,
-9.98,9.90,8.75,10.01,10.24,9.49,10.06,10.26,10.80,10.01,
-10.32,10.50,9.71,10.27,9.90,10.32,10.59,10.88,11.21,10.34,
-10.97,10.20,10.61,10.38,10.56,10.20,9.82,10.59,9.58,10.74,
-10.71,10.27,10.53,10.31,10.47,11.24,10.66,10.31,10.88,10.61,
-11.01,9.92,11.60,10.89,10.84,9.95,11.08,10.71,11.44,11.22,
-10.75,11.39,11.21,11.22,11.47,11.62,11.61,10.89,10.93,11.03,
-11.34,12.05,11.38,11.08,10.70,12.32,10.73,10.81,12.03,11.25,
-10.84,11.22,10.90,12.21,12.45,11.78,11.27,12.06,11.78,12.08,
-11.47,11.87,11.36,11.55,12.25,12.27,11.90,11.75,11.22,11.46,
-11.58,11.44,11.40,12.18,12.33,12.36,12.02,11.03,12.81,12.12,
-12.15,12.82,11.34,12.02,11.04,12.79,11.46,13.21,11.85,11.83,
-12.09,12.43,12.42,12.30,12.86,11.88,12.27,13.02,11.91,12.87,
-1.39,2.60,1.96,1.37,2.50,2.63,2.37,2.74,2.66,3.13,
-2.72,2.69,2.55,2.71,3.02,2.48,3.80,3.32,3.44,2.94,
-3.61,3.90,3.31,3.36,2.78,4.79,3.19,3.60,3.76,3.60,
-2.78,4.63,3.89,3.86,4.36,5.10,4.32,4.56,5.44,4.27,
-4.80,4.44,4.45,4.46,4.63,4.26,4.24,5.15,5.12,5.11,
-4.79,4.20,5.09,4.67,4.76,5.07,4.97,5.24,4.86,4.92,
-5.06,5.37,5.17,5.92,6.33,5.53,5.05,5.36,5.64,5.89,
-5.48,5.83,5.76,6.10,5.43,5.42,6.11,5.55,6.03,6.53,
-5.65,4.82,6.24,5.94,5.92,6.07,5.97,6.36,6.05,6.19,
-5.95,6.56,5.96,6.94,6.18,5.87,6.80,6.30,6.08,6.64,
-6.78,6.98,7.00,6.23,6.75,6.60,7.39,7.02,7.17,6.33,
-6.58,6.53,7.94,7.11,6.71,6.65,7.04,7.11,7.07,7.45,
-7.17,7.23,6.78,8.04,7.38,7.06,6.92,8.59,6.97,7.36,
-6.56,8.37,7.52,7.55,7.92,7.65,7.90,7.52,7.94,7.46,
-7.62,7.82,7.66,8.24,7.58,7.39,8.11,7.84,7.42,7.72,
-7.72,8.16,8.19,8.34,7.77,7.91,8.68,8.76,7.38,8.06,
-8.97,8.61,8.06,8.21,9.00,8.38,7.74,8.25,8.97,8.91,
-8.52,8.46,8.31,8.64,8.47,8.76,8.46,9.05,8.12,8.11,
-8.23,9.23,8.75,9.73,9.15,7.79,9.32,9.35,9.03,9.33,
-9.71,8.29,8.68,8.51,9.05,8.41,8.44,8.51,9.78,9.27,
-9.01,8.77,9.70,9.63,9.66,9.23,9.28,9.93,9.11,9.88,
-9.07,9.76,8.45,9.25,9.06,8.79,9.18,9.27,8.83,9.09,
-9.37,9.73,9.38,9.11,9.31,9.38,8.77,9.27,9.83,10.29,
-10.25,9.20,9.37,10.64,9.01,10.35,9.99,10.26,9.83,9.44,
-9.87,9.78,9.19,8.84,9.64,10.67,9.56,10.33,9.81,9.77,
-10.04,10.08,9.47,10.03,10.11,10.07,9.86,10.70,9.86,9.73,
-10.03,10.58,10.95,10.49,10.66,10.71,10.28,10.44,11.18,10.73,
-10.35,11.35,11.17,10.85,10.06,10.31,10.67,10.21,10.68,10.08,
-9.85,11.73,11.02,10.69,11.52,12.02,11.07,10.65,10.99,11.15,
-11.59,11.94,12.79,12.91,14.02,13.88,14.33,14.60,15.58,15.39,
-15.81,16.09,15.80,16.81,17.61,18.07,17.96,17.62,19.20,19.01,
-19.59,19.76,20.73,20.57,21.09,21.70,21.82,21.72,21.39,21.96,
-22.74,22.89,22.44,23.62,24.18,23.63,24.61,25.84,25.55,25.69,
-25.61,24.03,26.28,25.78,25.79,26.84,27.03,26.82,27.36,27.46,
-26.99,27.70,27.67,28.68,28.40,29.09,28.92,28.98,29.27,28.80,
-29.58,29.71,31.60,30.18,30.13,30.01,30.41,33.14,30.82,32.28,
-31.85,31.69,30.90,33.58,31.48,32.87,32.94,34.42,32.69,32.90,
-32.61,32.70,34.71,34.13,34.23,35.51,34.23,33.28,34.70,34.35,
-35.26,34.55,35.44,37.96,35.87,36.69,35.55,36.21,36.44,36.52,
-35.52,37.17,37.83,39.77,37.50,37.39,37.31,40.45,36.76,38.50,
-38.76,37.76,40.92,39.42,40.60,40.38,38.65,38.80,40.60,41.66,
-40.39,40.12,40.76,41.71,39.78,42.97,41.54,40.81,42.84,41.47,
-41.00,42.87,41.76,42.99,43.98,42.08,43.44,41.85,43.54,42.93,
-42.72,43.30,44.23,45.50,44.57,44.94,43.82,44.59,44.10,44.85,
-45.81,45.73,43.96,45.05,45.38,47.02,46.09,47.03,47.35,46.21,
-45.71,48.44,46.30,50.69,47.45,45.79,49.21,46.22,46.00,47.57,
-47.89,47.73,46.70,49.02,48.08,47.15,45.78,48.03,49.45,47.42,
-50.69,50.82,48.91,49.90,50.27,52.25,48.09,49.59,53.87,47.59,
-50.63,49.23,50.20,51.71,51.04,52.23,49.78,50.76,48.25,53.07,
-51.75,51.09,52.10,51.19,51.30,51.82,51.24,51.59,53.32,52.88,
-51.40,51.24,51.79,54.37,53.02,52.41,55.97,54.83,54.29,53.56,
-53.07,53.59,53.16,55.38,54.31,54.41,54.72,56.10,53.46,55.58,
-54.99,54.92,55.17,55.57,53.69,55.94,55.87,55.79,56.46,56.30,
-53.94,54.02,55.44,57.70,57.86,55.02,56.95,56.70,60.57,58.14,
-57.98,57.21,57.58,56.41,58.57,59.38,56.19,57.42,56.74,57.66,
-60.30,57.80,58.66,57.46,60.00,59.16,59.68,56.48,59.70,59.05,
-60.13,60.87,58.96,58.73,60.26,59.09,60.85,58.22,61.76,61.16,
-59.24,61.96,59.79,60.07,59.05,61.02,61.64,62.81,62.21,59.43,
-10.51,11.49,11.52,11.77,12.67,12.77,12.84,13.75,14.44,14.21,
-15.08,14.69,15.47,15.40,15.44,16.33,16.32,16.87,17.78,18.58,
-17.88,18.51,18.15,19.02,19.10,19.75,20.53,20.41,20.51,20.31,
-20.94,21.35,21.23,22.36,21.99,22.81,22.31,22.44,23.11,23.09,
-22.75,24.00,23.40,23.18,24.38,24.42,23.82,25.14,24.90,25.40,
-24.52,23.97,26.63,26.72,25.39,26.21,27.76,27.77,27.29,25.77,
-28.42,27.78,28.29,27.89,27.65,28.49,30.34,28.89,30.09,28.73,
-29.67,29.72,30.00,30.19,30.54,28.71,29.35,30.79,30.03,30.55,
-31.17,31.74,31.54,32.43,32.69,31.70,32.35,32.39,33.47,33.71,
-31.92,32.86,33.63,34.23,34.13,34.16,33.79,34.05,34.75,34.72,
-35.48,34.28,34.57,35.66,35.73,35.83,34.71,36.75,36.83,36.16,
-37.04,36.42,37.34,36.01,38.43,37.00,36.58,37.15,37.52,37.66,
-36.65,38.20,38.94,39.94,38.55,38.44,38.25,39.32,37.46,38.38,
-38.62,38.65,39.13,38.94,40.28,39.14,38.55,41.48,40.37,38.95,
-41.03,40.54,39.79,40.52,41.08,41.87,39.90,41.21,42.16,42.00,
-40.64,42.89,41.53,41.13,42.71,42.76,43.48,44.40,42.90,42.85,
-43.01,43.76,42.91,44.35,44.73,42.78,43.61,43.46,43.98,44.29,
-44.21,43.82,43.95,44.08,44.64,45.66,45.59,43.63,46.11,47.03,
-46.55,45.34,46.36,46.44,45.47,44.94,45.26,46.03,46.68,48.18,
-45.88,46.96,49.56,48.50,47.35,48.94,47.35,48.86,46.46,47.54,
-47.32,46.87,47.77,47.17,47.22,47.59,48.18,50.58,50.59,49.98,
-48.49,49.09,49.42,49.26,51.12,49.34,50.88,48.45,49.92,51.74,
-50.46,50.37,50.81,50.91,49.78,51.65,50.07,51.52,51.83,49.92,
-51.81,50.35,49.49,51.82,51.19,51.79,51.60,52.17,54.62,51.81,
-52.42,55.27,55.31,52.47,52.59,52.05,51.13,54.79,51.83,56.06,
-53.38,53.24,51.56,55.45,53.30,55.02,54.33,52.58,53.52,53.98,
-53.97,54.89,54.40,54.48,55.48,52.44,53.92,56.31,53.62,56.22,
-54.15,55.38,55.55,54.79,54.48,54.94,56.52,55.31,56.92,56.63,
-54.81,57.35,56.90,54.91,57.43,55.96,56.42,57.71,55.02,57.16,
-10.58,10.36,11.02,11.13,11.89,12.03,12.72,12.87,13.33,12.87,
-13.38,14.05,14.25,14.81,14.50,15.17,15.87,16.08,17.47,16.53,
-16.73,17.07,17.72,17.74,17.75,17.35,18.44,18.22,18.46,19.12,
-19.72,19.60,19.73,19.53,20.24,19.85,20.79,20.53,20.47,21.43,
-21.55,21.41,21.69,21.77,23.03,21.40,22.84,23.08,23.47,22.19,
-23.24,22.84,24.24,23.11,23.78,24.89,24.41,24.06,25.23,24.37,
-25.47,26.06,26.49,26.20,26.06,26.47,26.81,26.47,27.17,27.63,
-27.62,26.31,27.36,27.32,27.49,28.34,28.59,28.78,27.45,28.06,
-28.77,30.13,28.77,28.76,29.30,29.93,29.59,29.81,30.61,29.13,
-29.85,30.99,31.55,30.86,31.26,31.39,32.34,31.31,30.97,32.46,
-32.17,31.82,32.05,31.91,32.52,32.09,33.87,32.58,34.14,34.36,
-33.62,32.99,32.22,32.49,34.27,33.32,32.97,34.09,34.22,34.26,
-33.35,35.64,34.29,34.84,34.85,34.86,34.95,34.62,35.92,35.83,
-36.58,36.37,36.07,37.47,36.45,36.16,36.97,36.72,36.65,37.32,
-39.12,36.95,36.58,36.45,37.46,39.35,37.99,37.30,37.68,37.40,
-38.15,40.49,38.88,38.63,38.39,38.89,38.44,40.68,38.91,39.26,
-41.15,38.26,39.01,39.40,41.46,40.73,39.94,41.81,40.76,40.47,
-40.77,41.17,40.23,39.37,40.85,42.46,43.02,42.35,41.01,40.95,
-42.38,43.20,41.44,42.28,41.28,41.72,41.09,42.40,44.96,43.69,
-41.35,43.29,41.16,44.26,42.44,42.80,42.20,44.41,45.35,43.01,
-42.54,45.15,43.93,43.31,43.94,42.79,44.91,45.32,46.75,43.52,
-46.38,44.69,45.59,46.02,46.47,46.52,46.87,46.37,45.65,45.98,
-46.58,45.67,46.77,46.83,45.29,46.45,48.45,46.92,48.28,48.31,
-47.43,46.55,46.52,47.09,46.38,49.53,48.86,48.95,45.30,47.68,
-48.31,47.23,50.96,47.92,48.12,47.12,49.54,47.54,47.84,49.96,
-49.37,50.11,49.33,50.03,49.40,48.90,49.71,49.62,50.22,50.66,
-49.24,49.58,51.55,49.84,49.25,49.78,49.09,49.77,49.95,50.73,
-49.21,51.04,49.99,50.46,49.63,49.55,53.75,52.09,51.45,52.15,
-50.64,53.07,50.55,49.54,51.73,54.11,53.98,54.14,51.86,52.34,
-8.61,9.69,10.03,9.49,10.38,10.99,11.76,11.11,11.29,12.49,
-12.82,12.83,12.22,13.13,13.39,13.81,13.82,13.85,15.05,15.62,
-15.45,15.95,15.87,15.50,16.21,16.55,16.93,16.99,16.70,17.39,
-17.41,17.29,18.29,18.05,18.93,18.73,19.29,18.46,17.77,19.71,
-19.28,20.53,19.58,19.69,20.19,20.85,21.53,20.80,21.56,21.46,
-21.05,20.95,21.16,22.09,23.12,22.34,21.78,23.16,22.82,23.66,
-22.83,23.74,23.30,24.39,22.93,23.37,23.31,23.61,23.61,26.03,
-24.42,25.57,24.57,25.04,26.19,25.54,25.80,25.95,25.86,26.35,
-25.84,26.29,26.13,26.54,26.59,27.55,27.01,25.97,28.10,27.58,
-28.17,26.87,27.85,28.63,27.71,28.64,28.64,30.00,28.07,29.09,
-28.72,29.21,29.27,28.58,29.65,29.77,29.74,30.50,30.57,30.73,
-29.83,30.36,30.13,31.28,30.83,30.09,30.59,31.07,32.93,30.56,
-31.55,32.17,31.62,31.86,31.79,32.20,33.23,32.09,32.62,33.78,
-33.40,32.57,32.65,32.64,33.76,33.09,33.16,34.44,33.97,33.66,
-33.96,34.17,34.67,33.30,33.82,33.80,34.87,34.77,35.34,35.36,
-34.87,33.21,33.83,33.95,35.02,36.02,34.64,36.80,35.56,35.88,
-34.51,36.13,35.63,36.19,37.10,35.68,37.15,36.13,36.33,36.50,
-37.32,37.40,35.04,37.76,37.86,38.28,38.20,39.04,38.05,39.24,
-38.32,39.00,38.13,36.62,41.25,38.92,38.24,38.47,39.19,38.16,
-39.28,38.65,38.17,40.25,39.84,38.89,40.06,41.24,40.17,38.66,
-40.64,39.75,40.36,39.02,42.02,42.40,41.92,39.90,41.85,41.84,
-41.25,42.28,41.51,40.78,41.26,41.08,42.32,41.95,40.64,41.77,
-40.99,41.85,42.72,41.80,41.37,42.31,42.58,41.63,42.20,42.75,
-44.06,41.83,44.12,42.55,43.91,45.14,45.58,43.98,43.78,42.88,
-44.53,43.03,43.68,43.63,43.35,44.03,45.14,44.58,44.02,44.57,
-44.05,43.94,44.43,43.52,45.12,45.04,45.41,44.43,44.34,43.98,
-44.64,44.70,45.07,47.83,47.32,45.56,47.39,47.28,46.55,48.91,
-44.53,47.25,47.94,46.63,43.88,46.21,47.44,47.33,48.35,46.90,
-45.44,46.64,46.75,45.71,47.43,46.60,48.67,46.98,47.26,46.18,
-7.63,8.01,8.71,8.70,9.72,9.18,9.81,10.93,10.25,11.58,
-11.69,11.10,11.89,12.09,12.06,12.41,13.10,13.14,13.05,12.97,
-14.65,14.21,14.45,14.55,15.10,14.44,15.93,15.26,15.70,15.90,
-16.59,15.85,16.25,16.51,16.66,16.66,17.22,16.50,17.14,17.59,
-17.83,17.84,17.97,19.16,18.31,19.21,19.78,18.89,19.25,19.00,
-19.88,20.69,19.19,19.82,20.25,20.26,19.91,19.98,20.64,21.14,
-21.29,21.11,20.65,21.51,21.24,21.57,22.96,22.12,21.31,22.42,
-22.39,23.93,22.34,22.51,22.96,24.46,22.77,24.24,22.76,23.18,
-23.26,24.28,24.56,23.56,23.82,24.91,24.49,25.03,24.91,24.54,
-25.93,26.02,26.07,24.73,26.36,25.74,24.89,26.09,26.44,26.51,
-26.61,25.55,25.74,26.80,27.34,27.62,27.21,26.44,27.58,28.06,
-27.81,28.02,27.71,28.29,27.81,27.42,26.56,27.74,27.51,29.07,
-29.04,30.01,27.74,29.47,29.37,29.52,28.84,29.80,31.07,29.04,
-30.53,30.08,29.76,30.87,30.20,29.39,29.41,30.03,29.74,29.93,
-30.33,31.24,29.97,31.57,31.64,31.87,31.92,31.67,31.94,31.29,
-32.01,32.38,32.82,31.89,32.25,32.33,31.54,31.47,32.98,31.09,
-31.75,31.56,32.60,33.23,32.51,32.88,33.60,32.97,33.57,34.54,
-34.69,33.14,34.45,34.90,34.04,34.34,33.38,35.53,33.01,35.08,
-33.51,35.71,33.96,33.88,33.29,35.78,35.14,34.34,34.59,35.60,
-34.51,36.79,36.17,34.76,36.86,35.29,36.19,36.68,36.31,36.32,
-36.37,35.56,35.62,34.94,36.77,36.00,36.84,36.93,35.74,36.25,
-36.27,39.37,38.91,37.86,40.27,37.02,38.55,39.08,37.37,39.75,
-35.34,38.38,37.50,38.26,39.12,38.46,36.66,39.52,38.72,38.08,
-39.07,39.46,37.97,40.20,39.47,38.88,38.19,39.40,40.45,39.16,
-37.89,39.13,39.14,38.90,38.77,41.80,39.64,39.34,40.11,38.50,
-40.28,39.20,39.91,40.97,39.81,41.19,39.88,40.14,40.91,41.10,
-39.91,41.20,38.65,39.67,41.40,40.08,42.47,40.99,42.13,42.16,
-41.37,41.89,42.64,40.80,42.72,41.79,43.11,41.15,42.39,43.25,
-41.45,43.33,42.43,42.25,41.93,41.77,42.87,44.02,43.84,43.67,
-6.78,7.62,7.72,8.34,8.48,9.00,8.57,9.35,9.48,9.61,
-9.88,9.75,10.22,10.83,11.34,11.49,12.27,11.82,12.27,12.02,
-12.34,13.22,12.71,13.25,13.15,13.23,13.32,13.63,13.94,14.51,
-13.71,14.21,14.92,14.88,15.00,16.53,14.98,16.12,14.70,16.23,
-16.00,16.64,16.17,16.25,16.24,15.99,16.96,17.50,16.99,17.48,
-17.58,17.28,16.79,17.52,18.16,18.02,18.42,19.28,18.18,17.81,
-19.54,19.55,19.45,18.59,19.25,19.58,19.35,19.81,19.10,20.75,
-20.60,20.02,19.98,19.55,20.01,20.42,21.04,20.24,20.75,21.58,
-21.07,21.16,21.28,21.18,22.47,22.21,21.59,22.63,21.85,22.78,
-22.70,21.46,23.22,22.51,22.59,22.56,23.35,23.46,23.11,23.54,
-24.13,23.74,22.73,23.87,24.18,24.34,24.84,24.11,23.91,23.96,
-24.30,25.27,26.02,24.96,24.46,24.76,25.29,25.73,25.39,25.83,
-25.79,26.03,24.67,27.04,26.80,24.73,25.59,27.06,27.19,27.33,
-26.94,25.25,26.53,27.35,28.24,27.71,28.28,27.65,27.31,27.98,
-28.18,26.61,27.93,28.66,27.52,27.97,28.68,28.40,28.88,28.00,
-28.34,29.22,28.63,29.25,29.10,30.09,28.50,28.70,28.63,29.62,
-28.80,28.86,30.51,30.36,29.11,29.21,29.58,29.36,30.21,30.25,
-29.51,30.69,30.61,30.54,31.57,31.07,29.65,30.93,31.17,32.77,
-32.00,30.95,30.71,32.02,33.02,30.89,31.51,31.22,30.10,30.07,
-30.65,33.44,31.77,32.03,33.01,31.85,33.38,32.51,31.72,31.77,
-31.82,34.82,32.33,32.63,32.60,32.68,33.82,33.90,34.66,32.21,
-32.44,33.29,33.42,33.61,33.56,32.08,34.96,33.85,34.10,33.68,
-33.80,34.54,34.92,34.69,34.40,34.72,35.49,34.56,35.13,35.51,
-35.24,34.92,35.45,36.56,34.75,35.79,35.47,35.27,36.80,36.41,
-35.08,36.34,35.15,36.84,35.99,36.66,35.73,35.90,34.59,35.44,
-35.77,36.01,36.66,36.56,37.19,36.89,37.35,36.65,37.11,38.06,
-37.41,36.40,36.88,38.07,37.59,38.32,38.59,38.62,38.43,36.80,
-36.98,38.17,38.04,37.56,37.33,38.78,36.75,38.82,39.55,38.97,
-39.57,36.75,38.93,39.15,36.91,39.91,39.19,38.07,39.49,39.06,
-6.27,6.39,6.68,7.28,7.49,7.74,8.09,8.38,8.63,8.71,
-8.77,9.36,9.58,9.74,10.10,10.39,10.44,10.97,11.05,10.48,
-11.33,11.00,11.74,12.15,11.38,12.72,11.63,12.71,12.46,12.66,
-13.17,13.24,13.76,13.27,13.36,14.01,13.33,14.38,14.01,13.64,
-13.83,14.39,14.05,14.98,14.92,15.15,15.23,14.75,15.82,14.88,
-15.59,16.24,15.18,16.03,15.70,16.67,16.72,16.67,16.54,17.46,
-16.43,17.19,16.54,16.66,16.53,18.31,17.51,18.28,18.22,17.93,
-18.13,18.62,18.76,19.80,18.87,17.90,18.09,19.66,19.16,19.32,
-19.35,18.82,20.40,19.62,20.50,18.86,20.18,19.85,19.94,20.40,
-19.63,19.60,19.45,20.30,19.99,20.07,21.09,20.71,21.50,20.40,
-20.66,20.24,22.22,21.22,22.23,21.29,21.56,22.02,21.52,21.29,
-20.63,22.31,21.86,22.53,22.46,22.26,23.52,23.37,23.63,22.70,
-22.78,23.29,23.93,23.73,24.12,23.57,23.70,23.46,24.09,23.15,
-24.07,23.51,24.56,24.16,24.50,24.21,24.09,24.30,23.38,24.83,
-24.58,24.24,24.04,25.66,24.96,24.86,25.56,24.75,26.43,26.59,
-25.47,25.72,26.00,26.04,26.18,25.50,26.35,26.16,24.35,25.46,
-24.83,26.45,26.38,26.82,26.44,27.70,27.00,27.08,27.19,27.02,
-28.31,26.79,28.41,27.86,26.63,27.12,27.43,28.43,27.89,28.50,
-28.72,27.95,27.54,26.64,29.03,27.45,28.36,28.44,28.59,28.84,
-28.74,28.62,28.22,28.40,28.96,28.46,27.73,28.67,29.22,28.28,
-30.33,30.94,29.75,29.10,29.50,30.63,29.90,30.55,30.17,30.18,
-30.55,30.41,29.98,29.26,29.91,29.30,29.94,30.27,30.72,30.42,
-29.94,32.31,30.26,29.93,28.89,31.42,30.52,31.08,31.35,30.84,
-31.46,32.79,31.88,32.37,31.73,33.03,32.21,30.82,32.47,31.56,
-31.70,31.96,31.98,31.67,32.43,31.05,32.17,31.83,32.71,32.52,
-33.60,31.82,32.79,33.33,33.37,32.88,31.73,33.71,32.95,32.50,
-32.16,34.28,33.10,31.72,34.27,32.30,33.89,34.25,33.71,33.26,
-34.36,35.48,34.90,33.62,33.56,32.45,33.12,34.04,34.22,34.15,
-34.67,35.17,34.74,33.99,34.03,34.73,35.66,34.85,34.10,33.93,
-4.91,5.35,6.24,5.90,7.36,7.47,7.25,7.53,8.01,7.19,
-8.45,8.54,8.76,8.68,8.83,8.85,9.03,9.37,8.94,9.89,
-10.80,9.89,9.85,10.73,10.86,11.45,10.70,10.47,11.13,11.14,
-11.93,11.70,11.50,11.37,11.88,11.08,11.22,12.73,12.81,11.93,
-12.54,12.61,12.81,12.89,13.17,13.47,13.26,13.87,13.75,14.29,
-14.58,13.89,14.08,14.60,13.89,13.98,14.86,15.24,14.40,15.25,
-15.23,14.29,15.68,16.20,15.44,15.65,15.57,14.85,15.93,15.47,
-15.56,16.03,16.18,15.57,16.55,15.99,16.66,16.47,16.85,16.59,
-16.72,17.73,17.50,18.09,17.41,16.51,17.29,18.27,18.31,18.33,
-17.51,17.06,17.43,17.61,17.58,17.96,18.87,18.64,17.90,19.49,
-18.73,19.44,19.00,19.92,19.17,19.18,20.42,18.91,19.53,20.07,
-20.25,19.71,20.17,19.63,20.44,19.58,20.07,20.02,20.06,20.84,
-21.64,20.84,20.96,21.02,22.56,20.48,20.48,20.78,21.09,21.26,
-21.33,20.88,21.52,20.50,21.71,22.12,22.12,22.12,22.22,21.52,
-22.07,21.98,21.62,21.85,22.67,22.71,23.40,22.46,23.23,21.52,
-23.29,22.92,22.77,23.20,23.17,22.71,23.58,23.43,24.08,22.96,
-23.62,24.63,23.98,23.84,23.75,24.18,22.52,23.34,24.26,23.81,
-24.55,23.49,23.70,24.45,23.84,24.12,24.36,23.96,24.47,25.12,
-24.12,24.14,24.83,25.78,25.85,24.89,24.81,24.98,25.59,25.41,
-24.32,25.38,25.57,26.47,25.99,24.91,25.83,26.01,26.14,25.71,
-25.47,25.52,25.49,25.88,26.85,25.62,26.02,27.24,26.90,24.50,
-27.17,26.47,26.46,26.60,27.49,27.04,26.56,27.90,26.81,26.49,
-26.68,27.69,27.79,28.44,27.27,27.29,28.26,27.29,28.12,27.56,
-27.94,28.81,27.32,28.29,28.65,28.71,27.12,28.63,27.89,28.53,
-28.03,29.06,28.83,28.87,28.49,28.01,29.44,29.51,27.24,28.79,
-29.11,28.39,28.77,29.09,28.89,30.26,30.02,28.59,28.74,30.04,
-28.76,30.09,28.36,30.05,29.81,29.33,28.85,30.10,30.05,30.34,
-30.07,30.29,31.13,29.73,31.10,29.53,30.21,29.90,30.25,30.11,
-31.19,31.70,29.86,30.15,30.85,30.04,31.11,30.85,30.91,31.17,
-5.59,5.00,5.80,5.69,6.37,6.62,6.56,6.97,6.35,6.78,
-7.82,6.84,7.21,7.40,7.68,7.90,7.94,8.30,8.29,8.88,
-8.70,9.42,9.56,9.23,9.57,10.06,9.49,9.71,9.38,10.23,
-9.50,10.57,9.71,10.32,11.36,10.79,10.76,10.60,11.02,11.01,
-12.00,11.14,11.08,12.02,11.93,11.54,12.04,13.06,13.05,12.30,
-12.19,12.22,13.05,13.01,13.17,12.53,13.41,13.82,12.62,13.01,
-14.11,13.40,13.19,13.69,14.41,14.63,14.24,14.44,13.94,15.20,
-14.94,14.00,14.97,14.75,14.71,14.84,15.19,14.45,15.40,14.09,
-14.70,15.07,15.15,14.87,15.84,15.99,16.62,16.22,17.31,15.62,
-15.73,16.52,16.18,16.25,15.52,15.97,15.80,16.71,17.05,17.42,
-16.51,16.37,16.15,15.97,16.61,16.84,15.91,18.08,16.74,16.56,
-16.98,17.45,17.51,18.45,17.59,18.25,17.90,17.90,18.09,17.13,
-18.07,18.21,17.47,18.07,18.38,17.98,18.68,19.14,18.76,17.24,
-17.81,19.03,18.59,18.98,19.81,18.94,18.82,20.20,19.36,19.40,
-19.59,19.69,20.56,20.17,19.67,19.43,19.20,18.88,19.75,19.85,
-19.51,20.03,19.31,19.71,20.46,20.41,20.64,20.20,19.90,20.87,
-21.27,21.02,20.09,20.77,20.95,19.90,21.22,21.23,21.62,21.88,
-21.45,22.30,21.05,20.08,20.98,21.33,21.80,22.12,21.71,21.91,
-22.05,22.48,22.93,21.99,21.28,22.10,23.25,21.73,22.32,21.58,
-21.01,22.61,22.32,23.10,22.08,23.21,22.81,23.84,24.00,22.08,
-23.57,24.13,23.36,22.89,24.79,23.82,23.05,22.73,24.08,23.42,
-23.52,24.32,23.76,24.36,24.40,23.08,23.73,24.01,25.08,24.59,
-23.64,23.90,24.55,23.50,24.96,24.48,24.32,25.63,25.70,25.38,
-23.16,24.24,24.67,25.34,24.37,25.38,24.60,25.40,25.34,25.14,
-25.21,25.68,25.05,25.16,24.59,25.17,24.82,25.87,25.00,26.10,
-25.90,25.53,25.28,25.24,26.19,25.12,26.23,26.09,27.03,26.70,
-26.50,27.08,27.40,26.98,26.01,25.90,26.81,26.22,27.33,26.52,
-27.47,27.15,26.70,26.70,26.98,26.91,26.09,27.99,27.02,28.47,
-26.60,27.09,26.46,27.07,27.69,26.89,27.11,27.73,27.94,26.87,
-4.65,3.99,5.09,5.20,6.22,5.62,5.69,6.04,6.71,6.44,
-6.28,6.63,6.22,6.86,6.89,7.71,7.02,7.40,7.55,7.70,
-7.25,8.22,8.42,8.30,7.78,7.20,8.31,8.94,8.42,8.86,
-8.37,9.55,8.95,8.82,9.57,9.69,9.79,9.75,10.18,10.24,
-9.85,10.35,10.37,10.79,10.56,11.15,11.12,11.01,10.60,10.63,
-11.25,11.81,11.19,11.29,11.70,11.39,11.42,12.32,12.31,11.44,
-12.00,11.54,12.21,12.09,12.74,12.54,12.13,13.23,11.84,12.72,
-12.25,12.72,13.39,12.74,13.31,12.52,12.98,13.13,13.66,13.06,
-12.40,12.89,14.14,13.34,14.27,13.73,13.09,13.59,14.60,13.29,
-14.72,14.23,14.89,14.78,13.24,14.71,14.73,13.98,14.66,14.81,
-15.02,15.94,15.06,15.20,15.15,15.11,15.13,15.17,15.17,15.98,
-14.86,15.86,16.21,16.01,15.19,14.82,15.63,15.28,15.74,15.91,
-15.55,15.68,15.64,15.66,15.89,17.04,16.42,17.29,16.41,16.72,
-16.24,16.61,16.89,17.32,16.54,17.38,18.03,17.23,17.23,17.42,
-16.80,17.82,17.63,17.30,16.23,17.25,17.74,17.81,18.38,18.80,
-16.74,17.62,18.27,17.83,18.00,18.14,18.10,18.05,18.36,19.02,
-18.69,18.52,18.64,18.98,18.79,18.44,19.53,18.84,18.55,19.39,
-18.44,19.76,18.23,19.82,19.25,19.23,19.13,19.68,19.48,19.78,
-19.48,19.46,20.14,19.44,19.70,20.02,20.18,20.17,19.82,20.55,
-18.83,19.96,21.06,21.28,20.10,19.87,20.53,20.42,20.38,20.54,
-19.54,20.76,21.33,21.89,20.40,21.11,21.25,22.43,20.53,21.59,
-21.24,21.40,22.32,21.16,22.20,22.59,20.70,21.03,22.00,21.53,
-21.74,22.34,20.62,21.58,20.87,22.34,21.88,20.89,20.75,22.40,
-21.61,21.54,23.74,21.76,21.89,22.90,22.29,22.13,23.61,22.52,
-22.03,22.69,23.25,22.21,23.17,23.30,22.44,22.95,22.66,23.22,
-23.52,23.18,22.79,22.90,23.53,22.68,22.80,22.76,23.30,22.54,
-24.18,24.03,22.24,22.75,22.41,22.92,22.66,22.91,22.88,23.75,
-23.17,23.45,23.12,22.33,22.86,23.48,24.42,24.49,23.39,23.54,
-23.82,25.48,24.57,23.93,23.95,23.50,24.17,24.45,23.99,24.99,
-4.60,4.24,5.08,4.30,5.33,5.11,5.42,4.77,6.05,5.60,
-6.46,6.29,5.55,6.04,6.17,6.17,6.51,6.36,7.01,7.41,
-6.93,7.12,7.39,6.83,7.35,6.97,7.44,8.44,8.42,8.02,
-7.77,8.31,8.02,7.71,8.07,8.53,8.94,8.96,9.18,9.36,
-8.97,9.20,8.22,9.34,10.04,9.63,9.40,10.14,9.76,9.24,
-9.54,10.95,10.34,9.63,10.19,9.96,10.14,10.89,10.14,11.46,
-10.69,10.31,11.48,10.35,10.46,10.61,10.76,11.92,11.17,11.09,
-11.63,11.13,12.07,11.37,11.53,11.28,11.16,11.54,11.06,11.67,
-11.84,12.08,11.73,11.98,11.68,12.32,12.36,12.07,12.33,12.66,
-12.49,12.63,13.60,12.45,11.90,13.17,12.31,12.77,12.96,13.00,
-13.26,13.25,12.81,13.79,14.04,13.57,13.94,13.59,12.98,13.30,
-12.93,14.29,13.25,13.96,14.34,14.18,13.66,14.08,13.83,14.21,
-14.40,14.32,13.95,14.19,14.84,14.19,14.20,16.18,14.95,15.20,
-15.39,15.02,14.39,14.83,16.02,14.71,15.01,15.22,15.35,16.04,
-15.41,15.47,15.22,15.19,15.77,15.64,14.74,15.75,15.34,15.89,
-16.52,16.20,15.37,15.88,14.99,16.49,16.30,15.82,17.00,15.64,
-16.17,16.63,16.41,16.22,15.01,16.56,16.05,16.82,15.86,16.38,
-16.51,17.06,17.07,17.24,17.83,16.56,16.30,16.84,17.61,17.63,
-17.43,17.37,17.14,16.68,17.25,17.65,18.00,18.11,17.33,16.84,
-17.84,17.40,17.26,18.65,17.48,17.66,17.33,17.28,17.92,17.51,
-18.40,19.04,18.34,18.19,18.72,18.36,18.37,19.66,17.90,18.20,
-18.17,18.77,19.01,17.92,19.10,18.84,19.47,18.04,18.42,19.33,
-19.07,18.96,19.13,19.04,18.46,19.33,19.00,19.34,20.32,19.20,
-19.68,20.77,19.19,19.39,18.01,19.72,19.40,18.92,20.30,19.93,
-19.24,19.93,19.10,21.04,19.85,19.74,19.71,19.87,19.54,20.01,
-19.82,20.25,20.33,20.73,20.67,21.63,21.68,20.15,21.01,20.02,
-20.76,20.91,20.27,18.67,20.06,20.29,21.57,20.85,20.52,20.08,
-20.49,21.21,20.53,21.34,20.96,21.99,20.88,22.40,22.47,20.09,
-21.18,20.86,21.19,21.78,20.97,21.14,21.26,21.03,20.39,21.89,
-3.52,3.82,3.93,3.87,4.80,4.42,4.88,4.99,4.78,4.45,
-5.19,5.16,4.90,5.42,5.67,5.65,4.95,5.60,5.54,5.85,
-5.56,5.80,6.03,6.74,5.97,6.50,6.28,6.96,6.72,6.90,
-7.74,7.13,8.01,7.10,7.51,7.11,8.12,7.42,7.66,7.63,
-7.92,7.29,7.78,7.89,8.46,7.96,7.90,8.07,7.47,7.86,
-7.96,9.34,8.81,8.55,8.57,9.26,8.96,8.96,9.40,9.46,
-9.59,9.32,8.54,9.80,8.95,9.43,10.16,9.21,10.30,9.42,
-9.27,9.60,10.23,9.96,10.89,10.29,10.15,9.04,10.13,10.09,
-10.74,10.72,10.87,10.91,10.65,10.90,11.19,11.20,10.91,11.21,
-10.76,10.84,11.37,11.18,11.51,11.22,11.35,11.73,11.05,12.22,
-11.34,12.20,11.56,12.43,11.69,11.85,12.62,12.05,12.43,11.90,
-11.59,12.23,11.94,11.88,11.77,11.87,12.51,12.32,12.56,12.66,
-12.57,12.55,12.83,13.39,12.46,11.90,12.70,12.54,13.71,13.05,
-13.02,12.64,13.90,12.88,13.23,12.88,13.95,14.22,13.38,13.93,
-13.74,12.78,13.17,13.83,13.73,13.47,12.85,14.40,14.32,13.56,
-13.93,14.12,13.86,13.33,13.67,14.66,14.51,14.46,14.72,14.52,
-14.69,14.17,15.44,13.63,14.68,14.50,14.19,14.84,15.59,15.36,
-15.11,15.44,14.47,15.62,15.04,15.42,14.71,15.59,15.98,14.79,
-14.92,15.72,15.62,14.99,15.47,14.83,14.75,14.85,15.28,16.07,
-14.87,15.14,16.27,16.55,15.52,15.98,15.28,15.78,15.66,16.20,
-16.39,16.29,15.74,15.27,15.84,16.06,15.35,15.94,16.11,16.55,
-16.49,16.92,15.15,16.97,17.87,16.41,16.39,16.37,16.61,16.26,
-16.74,17.85,16.71,16.33,16.67,16.79,16.56,17.47,17.52,17.45,
-17.52,17.18,17.62,17.18,16.59,17.04,17.46,17.67,17.57,17.97,
-18.09,17.78,18.30,17.51,17.97,16.86,18.06,17.40,17.39,17.19,
-18.04,17.69,18.64,18.36,17.15,17.68,17.94,17.55,17.35,17.42,
-18.56,18.42,18.36,17.64,18.00,18.09,18.74,17.96,16.53,18.69,
-18.55,18.80,19.00,17.54,18.99,17.57,18.05,19.04,19.24,17.69,
-18.52,19.19,18.19,18.64,18.89,18.31,19.31,19.18,19.57,20.12,
-2.77,4.04,3.84,3.94,3.98,3.69,3.91,3.88,4.33,4.31,
-4.36,4.83,3.97,4.54,4.72,4.56,4.94,5.84,4.90,5.18,
-5.58,5.16,5.91,4.91,5.89,6.15,5.71,5.97,6.01,6.60,
-6.12,5.93,6.83,6.47,7.05,5.34,7.27,6.22,7.28,6.35,
-6.36,7.69,7.18,6.94,7.94,6.92,7.63,6.77,7.06,6.97,
-8.34,7.96,7.35,7.60,8.10,7.75,8.01,8.21,8.02,8.64,
-7.74,7.86,8.94,8.44,8.29,7.94,8.10,8.75,8.40,9.18,
-9.41,8.50,8.36,8.95,8.60,8.96,9.52,8.42,9.12,9.30,
-9.22,9.77,8.62,10.09,9.68,8.90,9.33,10.17,10.70,9.46,
-10.23,9.84,9.30,9.80,10.63,9.53,9.98,9.39,10.31,9.58,
-9.84,10.14,9.61,10.14,10.38,10.55,10.79,9.71,9.78,10.49,
-10.88,10.49,10.74,10.07,10.68,10.75,11.33,10.34,11.06,10.27,
-11.26,11.36,11.00,11.26,11.15,11.44,11.61,11.06,11.26,10.72,
-11.16,11.28,11.45,11.20,11.37,11.56,11.90,10.63,11.56,12.29,
-11.59,12.02,12.02,11.54,12.13,11.20,11.97,12.32,12.40,12.95,
-12.00,12.09,12.54,12.01,12.87,12.20,12.76,12.06,12.54,11.89,
-12.16,13.27,12.36,13.08,13.08,13.50,13.12,13.35,12.96,13.03,
-13.94,12.42,13.00,12.41,12.90,12.92,12.88,13.08,13.14,12.87,
-12.61,14.00,13.67,13.79,13.13,13.16,12.88,14.42,13.33,13.26,
-13.76,14.06,14.03,12.69,13.39,13.25,14.75,14.49,13.33,13.88,
-13.75,14.50,13.47,14.43,13.70,13.26,14.14,13.66,14.12,13.67,
-15.10,14.83,13.96,13.91,15.12,14.87,14.71,14.52,14.35,15.41,
-14.89,14.42,14.50,14.99,14.73,15.43,14.31,16.04,14.72,15.48,
-14.65,15.19,15.36,15.07,15.60,14.83,15.48,15.15,15.93,15.95,
-14.67,15.16,15.56,15.48,15.79,14.77,15.51,15.58,15.33,14.96,
-15.11,14.69,16.92,15.58,15.35,15.90,16.41,14.38,15.13,15.12,
-16.61,15.45,15.85,16.47,15.22,15.84,16.64,16.74,16.55,16.76,
-15.86,16.98,15.31,16.56,15.96,17.12,15.87,16.93,16.60,15.99,
-16.64,16.73,15.96,16.90,16.50,16.54,16.11,16.31,16.23,17.10,
-3.02,2.74,2.97,3.31,2.72,3.80,3.04,3.00,3.12,3.60,
-3.72,4.09,3.94,3.84,3.44,3.83,3.92,4.90,4.72,4.42,
-4.99,4.56,4.46,5.94,4.94,4.54,5.59,4.97,5.04,5.57,
-5.74,5.39,5.71,5.83,5.31,5.50,5.72,5.92,5.21,6.05,
-5.75,6.14,5.77,5.58,6.35,5.81,6.75,6.63,5.45,6.69,
-6.22,7.58,6.77,6.77,6.57,6.46,7.24,7.30,7.08,6.42,
-6.92,7.12,7.38,7.28,7.30,7.86,7.62,7.61,7.40,7.92,
-7.47,7.32,7.99,7.04,7.56,8.17,7.36,8.25,8.19,7.98,
-7.87,8.18,8.03,7.50,8.83,7.86,8.54,8.33,7.81,8.75,
-8.37,8.52,8.09,8.24,9.15,8.90,8.96,8.24,8.67,8.32,
-9.26,8.93,9.01,9.47,8.86,9.28,9.08,8.51,7.87,8.94,
-8.92,9.48,9.27,9.00,9.34,9.68,9.61,9.50,9.54,10.12,
-9.27,9.87,10.45,10.15,10.62,10.18,10.56,9.03,10.08,10.14,
-10.51,10.26,9.39,10.47,9.43,9.96,9.71,10.12,10.79,10.18,
-10.63,10.56,9.99,10.05,10.51,10.18,10.69,10.63,11.01,9.97,
-10.86,10.32,10.28,10.61,10.51,10.90,10.56,10.82,11.39,11.12,
-11.23,11.43,11.24,11.68,11.28,11.39,11.39,12.07,11.37,11.39,
-10.58,11.43,11.17,12.45,12.25,11.01,12.31,11.03,11.99,12.34,
-11.76,11.36,11.20,12.65,11.14,11.68,11.80,12.44,11.97,12.83,
-11.52,11.25,12.36,12.47,11.86,11.96,11.96,12.03,12.11,12.23,
-12.36,11.62,11.96,12.72,12.77,12.41,12.15,13.07,12.33,12.37,
-12.43,13.14,12.41,12.68,13.02,12.95,12.70,13.21,13.49,12.08,
-12.32,12.42,12.79,12.84,13.13,12.13,13.12,11.77,13.14,11.62,
-13.11,12.23,13.43,12.96,13.69,13.72,14.75,13.25,12.99,12.78,
-13.49,12.41,13.33,13.30,12.70,13.57,13.80,13.64,13.47,14.26,
-14.11,12.58,13.39,14.77,14.20,13.81,14.83,12.65,14.92,14.31,
-14.47,14.57,13.33,14.27,13.53,13.13,13.79,15.10,13.28,14.89,
-14.42,14.10,13.38,14.49,14.96,14.95,13.77,14.00,13.63,13.66,
-14.75,14.60,13.79,14.75,14.87,14.57,14.64,14.04,14.62,15.04,
-1.99,2.46,3.04,2.71,2.45,3.10,3.98,3.22,2.83,3.93,
-3.24,3.17,2.80,2.72,3.68,3.38,3.62,4.12,4.39,4.09,
-4.31,3.55,3.28,3.98,5.35,4.80,3.88,4.52,4.49,4.81,
-4.58,3.98,4.24,4.81,4.99,4.85,5.08,5.34,5.48,5.44,
-5.16,4.74,5.51,5.38,5.63,4.83,5.80,5.19,5.85,6.03,
-5.92,5.18,5.61,6.08,6.28,5.54,6.10,5.61,6.42,5.38,
-6.02,5.79,6.01,7.07,6.59,6.81,6.33,6.29,5.90,6.07,
-7.10,6.92,7.01,7.36,7.40,6.71,6.45,6.63,6.80,7.43,
-6.74,6.45,7.52,6.95,7.64,6.96,6.79,7.14,7.62,6.46,
-7.48,7.09,7.50,7.74,7.86,8.14,7.66,7.44,8.03,7.71,
-7.53,8.47,7.91,7.81,7.39,7.98,7.51,8.25,8.20,8.34,
-8.73,7.66,8.75,8.74,8.94,8.97,7.81,7.59,8.00,8.11,
-8.53,7.24,8.84,8.28,8.44,8.19,9.06,9.52,8.25,9.44,
-9.51,8.09,9.47,9.64,9.33,9.84,9.34,9.45,8.67,9.20,
-9.49,9.29,8.55,10.16,9.66,9.22,8.43,10.13,9.54,9.59,
-9.72,9.82,9.16,9.31,8.46,9.63,9.37,9.72,8.71,9.54,
-9.42,9.42,9.46,9.80,9.66,9.89,9.19,9.62,10.40,9.52,
-9.58,10.26,9.64,11.70,10.08,10.32,9.64,10.18,10.78,10.29,
-10.14,10.72,10.87,10.61,9.43,9.86,10.36,10.49,10.35,10.65,
-10.11,10.84,10.63,10.24,10.95,11.13,11.09,11.32,10.26,10.90,
-11.73,10.91,11.04,10.88,10.61,10.59,11.62,11.03,10.70,11.69,
-11.56,11.03,9.96,10.65,11.91,11.32,10.87,11.56,10.73,12.35,
-11.93,10.78,11.98,11.52,11.65,11.74,11.62,11.61,11.53,12.04,
-11.18,11.47,11.77,11.59,11.76,11.18,11.67,11.66,11.34,11.48,
-11.77,11.66,11.60,11.50,11.94,11.97,11.85,11.81,12.50,12.05,
-11.11,11.46,11.87,12.07,11.53,12.06,12.30,11.18,12.72,11.18,
-13.18,11.77,12.26,12.02,13.23,12.38,12.57,13.12,12.42,11.99,
-12.57,12.39,13.13,13.00,12.85,12.64,13.35,12.09,13.10,12.71,
-12.82,12.96,12.69,12.77,12.32,12.43,13.22,13.59,12.73,12.84,
-11.98,12.14,12.46,14.29,14.45,14.29,14.72,15.31,16.07,16.49,
-16.40,17.58,18.04,18.48,18.45,19.10,19.09,18.87,19.53,20.41,
-19.39,21.39,21.44,22.36,21.13,21.80,21.83,23.05,22.95,24.18,
-24.29,24.66,23.80,24.32,24.15,25.74,24.51,25.80,25.53,26.35,
-26.39,27.16,26.82,27.34,27.55,28.52,27.56,28.41,28.67,28.80,
-30.14,28.69,29.46,28.93,30.01,28.64,30.46,30.52,31.43,31.73,
-31.84,30.88,30.64,31.27,32.16,32.99,31.92,33.10,32.76,33.86,
-33.72,34.15,34.39,34.35,34.00,34.48,34.61,34.37,35.54,35.99,
-36.92,34.84,34.29,36.16,36.75,37.73,37.36,37.21,36.98,36.06,
-39.12,39.07,37.87,37.51,37.69,39.43,37.04,39.25,39.06,39.96,
-39.42,38.03,39.64,39.88,39.91,40.65,40.74,42.64,39.88,40.70,
-39.56,41.06,41.00,41.28,43.48,43.87,43.42,42.22,41.47,41.98,
-43.64,43.54,43.94,43.65,42.19,43.65,45.00,44.01,42.98,42.82,
-42.82,44.05,44.95,45.30,45.64,45.36,44.01,45.66,45.18,46.30,
-45.79,45.58,48.93,46.18,46.77,46.45,47.69,48.06,48.37,47.50,
-47.56,46.92,49.40,48.60,48.24,48.46,47.58,48.11,47.82,49.09,
-50.28,49.62,48.01,50.40,49.42,49.20,52.51,50.93,50.07,49.08,
-51.14,49.12,49.14,49.44,50.38,50.18,51.76,52.52,50.57,52.46,
-50.60,50.61,52.27,51.64,53.33,53.57,55.31,52.40,51.32,54.09,
-53.18,52.90,52.86,54.24,51.96,53.27,53.98,53.69,53.51,56.06,
-53.85,53.13,54.89,56.00,54.40,54.13,53.34,55.20,56.25,55.28,
-57.85,54.64,56.35,54.96,56.86,56.13,56.90,55.59,56.42,55.79,
-56.85,56.14,54.69,54.92,56.72,56.51,60.54,56.78,57.12,55.32,
-59.89,54.78,58.06,57.52,58.89,59.85,56.37,58.54,59.27,58.32,
-58.49,59.64,59.22,59.31,61.60,58.58,60.12,59.11,59.19,60.36,
-59.17,60.62,61.11,62.85,59.47,60.61,62.47,62.29,59.48,60.23,
-61.97,60.35,59.80,64.15,61.39,61.28,63.47,59.62,61.16,60.34,
-60.66,63.22,62.96,64.51,66.46,64.59,62.52,60.67,63.84,65.82,
-64.22,62.48,62.65,64.16,64.41,63.04,65.37,64.90,65.17,66.11,
-10.72,12.31,12.51,13.38,13.74,13.38,14.15,14.46,15.37,15.50,
-15.86,16.11,16.14,16.56,16.99,17.76,17.86,19.21,18.49,18.87,
-18.53,20.32,19.86,20.54,20.44,21.21,21.73,21.43,21.31,22.19,
-21.47,22.50,23.43,23.94,23.65,23.84,24.51,24.26,24.08,24.15,
-24.44,24.17,25.52,25.56,25.62,26.74,26.21,27.18,26.90,27.34,
-29.46,27.97,27.59,27.85,28.67,26.73,28.86,29.07,28.03,29.71,
-29.28,28.78,29.81,30.58,31.15,31.99,30.12,30.80,31.05,31.44,
-30.88,31.53,30.62,32.06,33.21,33.55,32.53,31.85,32.84,32.76,
-34.62,34.41,34.29,34.27,34.51,33.60,34.50,34.37,35.91,34.78,
-34.70,36.03,35.57,36.16,36.46,34.65,37.46,36.52,36.15,35.90,
-37.01,35.85,36.13,35.73,36.96,38.12,38.20,36.54,38.52,38.01,
-38.28,38.92,39.02,38.79,37.65,40.89,38.80,42.14,41.00,40.06,
-39.51,40.41,41.13,39.77,40.46,41.23,41.52,40.49,42.35,42.84,
-41.63,41.54,41.10,41.40,43.03,43.66,43.34,44.10,44.01,43.39,
-42.65,41.65,43.26,43.44,42.38,44.31,42.41,44.10,45.86,46.08,
-41.63,45.22,44.25,44.52,43.19,46.87,44.66,45.57,44.39,47.80,
-47.57,46.07,47.82,47.27,48.16,46.95,46.60,47.01,46.64,47.10,
-46.91,45.41,48.93,48.59,47.61,47.86,46.58,47.22,46.08,48.21,
-48.42,47.49,50.02,47.90,48.73,49.32,49.93,50.74,50.27,49.36,
-49.81,49.38,48.61,51.82,49.66,52.30,53.46,52.32,48.57,48.82,
-49.83,50.65,51.33,50.53,53.18,53.22,49.67,52.88,51.21,54.61,
-51.81,52.18,53.03,52.55,52.31,52.52,51.71,52.78,53.76,54.00,
-55.41,53.33,55.59,52.47,56.08,54.00,56.22,53.54,55.65,53.51,
-55.58,54.01,54.10,57.56,54.92,54.13,54.38,52.19,55.36,55.97,
-53.09,54.61,55.70,57.24,55.33,56.22,55.72,57.68,55.82,56.12,
-55.51,57.40,59.82,57.84,56.94,59.40,57.23,58.13,57.06,56.91,
-56.99,59.00,57.50,55.82,61.17,58.84,59.39,57.88,58.62,58.31,
-59.19,57.97,60.65,57.93,57.71,58.57,59.42,61.58,59.30,60.53,
-58.53,59.62,59.91,60.00,60.15,59.54,58.41,60.00,61.04,62.98,
-10.29,11.46,11.37,11.72,12.27,12.83,13.63,13.81,13.93,13.87,
-14.51,15.61,14.89,15.62,15.74,15.48,16.49,16.35,17.51,17.70,
-17.74,18.49,18.56,19.51,18.32,19.78,18.88,19.24,20.39,20.26,
-21.13,21.70,21.63,22.05,20.69,21.76,22.20,22.57,22.46,22.75,
-23.89,23.08,23.54,24.16,24.13,24.72,23.78,23.82,24.94,24.44,
-25.17,25.70,26.82,25.85,27.11,27.49,26.45,26.85,27.43,27.52,
-27.06,28.58,28.03,27.69,27.28,27.59,28.69,29.85,28.82,28.43,
-28.41,30.35,29.29,29.78,29.63,31.36,30.34,30.09,30.11,31.02,
-30.70,30.24,30.93,30.84,31.83,32.63,31.26,32.50,31.81,32.99,
-32.46,33.02,32.51,33.86,32.80,32.82,34.84,34.14,33.35,33.91,
-34.15,35.73,34.43,34.24,35.47,34.60,33.87,35.68,35.52,36.66,
-38.56,36.65,36.94,36.85,36.84,37.27,37.41,36.21,38.22,36.79,
-37.08,37.51,37.02,37.50,38.64,39.38,37.01,38.40,38.48,37.33,
-38.48,37.93,38.45,38.84,39.58,38.76,38.85,38.62,40.13,40.54,
-38.98,40.01,41.36,41.59,40.25,39.20,40.56,41.35,41.60,42.06,
-40.48,42.47,42.36,40.85,40.30,42.66,40.66,41.62,41.65,40.56,
-42.12,41.93,42.89,44.32,41.91,44.03,41.84,44.33,42.00,44.77,
-43.06,43.30,44.99,44.96,45.21,44.33,42.94,44.82,44.21,45.57,
-45.92,44.96,45.03,44.50,44.52,46.29,44.69,46.53,46.84,46.55,
-46.14,47.30,46.19,45.11,45.71,46.14,47.09,46.80,47.11,46.46,
-46.59,47.40,46.84,48.35,46.26,48.21,47.51,47.82,47.73,48.11,
-49.21,46.91,48.85,48.27,48.32,50.71,50.23,48.41,49.75,48.85,
-47.69,48.52,49.71,49.48,50.33,49.93,50.18,50.69,50.24,51.63,
-49.19,52.75,52.63,49.73,47.83,50.11,51.89,52.46,50.51,50.23,
-50.49,52.56,51.83,52.09,51.52,52.96,52.69,52.96,51.84,52.70,
-55.18,51.92,53.01,52.33,53.33,54.24,51.45,55.05,52.06,55.92,
-53.60,54.60,52.95,53.97,55.27,52.69,55.29,54.27,55.62,54.82,
-53.53,55.37,53.63,57.56,55.90,55.02,55.95,55.01,54.07,54.54,
-54.87,53.22,56.26,58.64,57.37,55.82,56.43,58.05,57.03,58.11,
-9.54,10.41,10.43,10.87,11.43,12.59,12.17,12.97,13.03,13.50,
-14.12,13.60,13.52,13.47,14.29,15.07,15.25,16.24,16.33,15.93,
-16.51,16.87,16.45,16.98,18.51,17.91,18.05,17.56,18.57,18.40,
-20.25,18.71,19.20,19.58,19.38,19.52,20.26,20.93,20.74,21.33,
-20.59,22.02,21.28,21.54,21.27,21.93,22.36,23.01,22.76,22.81,
-23.27,24.02,23.86,23.03,23.85,24.04,25.27,24.55,24.70,24.17,
-24.75,26.95,25.79,25.88,26.72,26.09,26.26,27.48,26.31,25.91,
-25.90,26.62,27.74,27.32,27.63,27.23,27.37,27.80,27.87,27.70,
-28.20,27.88,28.97,28.58,29.56,28.99,28.68,28.54,29.98,31.32,
-31.02,30.17,29.39,30.76,31.08,30.40,32.33,31.02,31.38,31.01,
-31.30,31.88,30.98,30.92,31.73,32.67,31.95,33.16,32.64,32.76,
-34.20,32.42,30.59,34.23,33.17,33.44,34.46,34.44,34.66,34.03,
-34.01,35.29,35.20,34.80,36.39,35.59,35.74,35.21,35.28,35.04,
-37.06,35.75,36.14,36.54,36.17,36.20,36.84,36.73,37.13,36.21,
-37.72,35.50,37.88,34.94,37.28,38.26,38.31,37.91,37.18,37.08,
-39.08,39.77,39.43,40.02,39.26,38.60,40.28,39.18,38.65,40.26,
-39.16,38.97,39.50,40.02,40.30,40.48,40.18,39.57,38.65,40.86,
-39.79,40.52,41.13,41.24,41.99,41.48,41.10,40.72,42.50,40.30,
-41.10,41.94,43.61,41.99,42.61,42.37,40.95,43.36,44.02,42.16,
-42.30,42.39,42.05,40.55,42.13,41.93,43.21,44.26,42.30,41.95,
-42.56,44.25,43.56,42.22,44.80,44.11,43.34,42.23,44.21,44.59,
-44.28,44.58,44.18,45.81,46.13,43.73,45.91,45.33,45.38,44.63,
-44.71,45.81,46.32,45.40,44.71,45.71,44.65,45.33,46.20,47.82,
-45.56,45.33,47.00,44.20,47.71,45.89,46.60,46.71,49.30,48.17,
-46.95,47.73,48.09,48.63,47.41,46.81,48.58,46.87,48.12,46.92,
-47.35,48.17,47.41,47.27,48.70,49.48,47.03,49.40,50.23,48.94,
-50.36,49.12,49.51,52.33,50.20,49.78,49.86,50.66,50.20,48.82,
-48.67,51.59,48.56,52.25,50.20,51.17,51.86,51.14,50.62,50.78,
-51.68,51.12,50.50,50.46,51.71,51.83,51.94,52.50,50.20,53.50,
-9.08,9.21,9.04,10.57,10.56,11.13,10.16,11.39,11.39,12.39,
-12.80,12.49,13.09,13.22,13.45,14.29,14.05,14.11,14.77,15.18,
-14.83,15.52,15.89,15.16,16.28,16.16,16.46,16.87,17.24,16.95,
-17.36,17.29,18.35,18.00,18.37,18.73,18.68,18.38,18.88,18.59,
-18.68,19.86,19.38,19.48,20.08,20.27,20.47,20.62,21.52,20.66,
-21.58,21.60,21.45,22.43,22.46,22.06,21.98,22.12,22.42,21.70,
-22.76,22.80,23.25,23.81,23.29,23.40,24.80,23.64,23.34,23.90,
-24.27,25.05,25.17,25.73,25.23,24.69,25.40,24.35,25.88,25.34,
-26.30,27.42,25.54,26.45,26.19,25.54,26.09,26.48,26.81,27.97,
-27.38,27.63,25.91,27.03,28.91,28.05,29.25,28.77,28.74,27.60,
-29.04,27.61,29.12,28.26,28.98,27.57,29.56,29.85,29.39,30.43,
-29.42,29.74,30.00,31.12,28.99,30.38,29.98,30.45,31.82,30.60,
-30.92,30.87,31.71,31.37,30.79,32.41,31.32,32.55,32.57,33.43,
-32.02,31.34,33.05,31.92,32.85,31.08,32.98,34.18,32.73,32.13,
-32.96,34.54,34.29,34.03,32.98,33.89,35.20,32.80,34.69,33.71,
-33.58,35.18,35.88,34.40,36.73,35.07,33.47,35.56,35.15,34.89,
-35.42,33.94,36.47,36.04,34.24,35.68,36.98,35.95,37.18,36.94,
-37.30,36.94,37.03,36.77,38.20,35.60,38.12,36.82,37.01,37.41,
-36.24,36.15,37.44,38.44,39.42,38.83,38.88,37.69,39.60,39.98,
-39.37,38.69,39.51,37.98,39.43,38.81,37.67,39.46,39.15,38.33,
-38.68,39.92,39.52,39.48,39.58,40.04,40.04,42.01,38.34,40.97,
-41.47,39.76,41.05,42.48,42.38,40.40,40.23,41.00,40.98,42.33,
-40.82,40.51,42.30,39.93,44.64,40.73,42.10,41.95,43.76,42.59,
-42.07,42.76,43.22,42.14,42.47,43.53,42.70,42.61,43.88,42.27,
-43.07,42.49,42.30,42.35,43.62,42.65,44.99,43.83,44.06,42.69,
-43.72,44.16,43.70,44.30,44.62,45.44,43.48,43.82,44.26,43.86,
-44.23,43.40,45.77,44.64,45.62,42.79,46.16,43.86,45.18,44.74,
-45.97,46.26,44.57,47.00,46.85,45.83,47.44,45.95,48.07,46.93,
-46.59,47.17,46.58,45.17,45.40,46.95,47.00,48.47,47.48,48.74,
-8.32,7.80,8.16,9.25,9.99,9.93,10.04,10.97,10.37,11.29,
-11.29,11.55,11.65,11.88,12.03,12.47,12.46,12.90,13.25,13.29,
-14.66,14.34,13.66,14.40,14.15,15.58,14.85,15.24,15.13,16.08,
-16.15,16.10,16.33,15.96,16.74,16.91,16.58,17.66,17.34,16.98,
-17.44,18.14,16.95,18.50,18.80,18.17,18.94,18.88,18.85,20.08,
-19.11,19.03,19.11,20.33,19.57,20.54,19.95,20.49,20.55,21.50,
-19.27,20.47,22.14,20.84,22.72,20.85,21.99,22.07,20.91,21.95,
-22.21,22.36,22.09,22.42,22.33,22.32,23.27,23.55,23.75,21.66,
-24.57,25.43,24.88,23.35,23.65,24.78,24.78,24.78,23.93,23.66,
-25.81,25.05,25.36,25.29,24.95,24.21,25.16,25.17,26.20,25.86,
-26.14,26.15,26.80,28.11,26.03,26.29,26.03,28.07,28.20,26.95,
-27.71,27.01,26.15,27.98,29.02,27.54,28.77,27.58,29.25,27.29,
-28.60,28.10,28.77,29.80,28.78,29.22,29.15,28.74,29.73,30.70,
-29.88,30.60,29.29,29.48,30.00,29.77,29.75,29.22,30.07,31.49,
-29.55,30.53,31.08,31.46,31.06,30.63,30.39,31.39,31.81,31.23,
-31.38,31.79,32.24,32.12,31.74,31.86,32.88,32.64,31.19,33.38,
-31.35,32.42,32.78,32.06,32.09,32.98,32.31,32.17,33.03,33.33,
-33.43,33.84,32.31,35.42,33.49,33.70,32.64,32.19,34.73,34.33,
-33.99,33.96,35.08,34.64,34.51,35.35,33.88,34.61,35.70,35.27,
-35.85,34.82,36.74,35.06,36.06,35.73,36.84,35.98,36.40,35.84,
-36.49,37.23,36.40,36.51,35.91,36.43,37.96,35.81,36.59,37.02,
-36.82,36.72,36.94,37.24,36.69,35.71,37.17,37.84,37.23,37.14,
-38.43,37.36,37.95,36.54,38.62,39.38,37.95,37.86,37.69,38.50,
-38.41,38.95,37.74,37.80,37.60,38.28,38.02,40.27,38.93,38.92,
-39.85,40.19,38.87,40.78,40.65,40.97,36.61,39.34,39.29,39.77,
-40.36,40.03,40.31,39.99,39.20,40.53,41.26,40.60,39.82,41.38,
-41.20,39.92,42.59,41.25,40.60,40.39,40.30,41.86,43.18,42.05,
-41.70,40.44,41.99,39.70,42.79,41.01,41.71,42.03,42.48,41.72,
-42.51,43.04,41.79,42.26,42.41,40.21,43.80,43.64,42.92,42.87,
-7.32,7.84,8.11,8.22,8.36,8.77,8.76,9.41,9.62,9.97,
-9.49,10.32,10.49,10.60,10.52,11.10,11.45,11.70,12.01,11.33,
-12.05,12.27,13.07,12.63,13.17,13.57,13.49,13.32,14.23,13.55,
-14.88,14.41,14.76,14.52,13.96,15.45,15.70,15.48,16.53,15.67,
-16.13,16.33,16.80,15.68,16.21,16.16,16.42,16.65,17.63,18.09,
-16.82,17.06,17.55,17.59,17.48,17.82,18.43,18.38,19.89,18.39,
-19.26,18.96,19.26,19.76,19.00,18.92,19.12,19.87,19.52,19.69,
-20.07,20.36,19.89,20.48,21.19,20.37,21.27,21.92,20.89,20.78,
-21.54,21.19,21.41,21.04,22.31,21.78,22.15,22.31,22.22,21.27,
-21.79,21.55,22.93,22.19,21.83,23.76,23.80,23.49,22.81,22.47,
-22.94,23.56,24.16,25.19,23.82,23.79,24.10,24.64,24.15,24.55,
-24.52,24.60,24.69,24.47,25.22,26.39,25.59,24.95,25.67,25.90,
-25.75,27.21,25.82,25.75,25.47,25.85,26.04,25.55,26.16,26.22,
-25.89,27.25,26.46,26.78,26.80,26.21,27.29,27.25,27.51,29.00,
-28.18,27.36,26.74,27.31,28.88,29.61,28.02,27.80,28.08,27.82,
-29.14,28.13,28.83,29.39,28.23,28.42,29.36,29.97,30.09,29.02,
-29.04,30.16,29.47,29.86,28.93,30.97,29.87,29.00,29.56,29.83,
-31.78,30.82,30.32,30.13,31.11,30.23,32.30,31.07,30.06,31.58,
-30.40,31.48,31.65,32.65,31.61,32.19,32.54,32.23,32.75,31.04,
-30.33,33.27,31.37,31.16,32.81,31.86,33.77,31.80,31.94,31.40,
-32.30,32.36,32.70,32.53,32.99,32.36,32.48,32.83,32.62,32.77,
-33.62,33.36,33.75,33.66,34.38,34.17,33.36,34.63,35.52,34.03,
-33.19,35.22,33.78,35.44,36.15,34.01,35.32,34.59,35.59,34.39,
-34.95,35.54,37.03,34.25,36.15,35.50,33.75,34.94,35.66,35.96,
-36.67,33.95,34.26,35.13,34.78,35.95,35.39,37.19,37.05,36.27,
-37.43,35.55,36.12,35.83,35.92,36.02,35.92,37.60,36.07,36.51,
-37.12,37.28,36.33,35.77,37.13,35.86,37.50,37.43,37.49,38.07,
-37.13,38.43,38.35,37.86,35.86,38.14,38.62,38.07,38.82,39.65,
-37.79,37.69,39.09,39.76,37.39,40.68,38.67,37.43,39.04,37.04,
-6.53,6.72,7.35,8.01,7.53,8.28,8.43,8.06,9.44,8.91,
-9.27,9.00,10.16,9.65,9.79,11.10,9.82,9.97,10.55,10.43,
-11.21,10.77,10.98,11.44,11.53,12.49,12.05,12.83,12.66,12.22,
-12.71,13.54,12.94,12.79,13.51,13.67,14.10,13.32,14.13,13.79,
-13.42,14.71,13.99,14.65,14.84,14.20,15.95,15.03,15.35,15.21,
-15.16,16.04,15.50,15.31,16.07,15.63,17.29,16.69,16.47,16.66,
-16.72,16.77,17.14,16.28,16.69,17.21,17.80,17.14,18.62,17.30,
-17.60,17.58,18.68,18.54,18.97,18.41,18.19,18.41,19.68,17.69,
-19.38,18.38,19.10,19.35,19.63,19.76,19.55,19.29,19.89,19.84,
-21.27,20.36,19.84,20.82,20.72,21.06,19.82,20.90,20.77,21.00,
-21.59,21.12,20.97,21.28,21.03,22.13,21.71,21.47,21.31,21.69,
-22.06,21.64,22.45,23.49,22.99,22.64,22.71,22.58,23.12,22.62,
-23.19,22.36,22.81,21.74,22.64,24.21,23.42,23.79,22.82,23.61,
-24.52,22.69,23.94,24.07,23.43,24.40,23.58,24.19,24.56,24.26,
-23.75,24.08,24.27,26.13,23.71,24.24,25.39,24.91,24.56,26.12,
-25.15,26.02,26.51,24.99,25.72,25.56,25.13,26.42,26.38,25.45,
-26.36,26.17,27.51,25.78,25.56,27.27,27.73,26.46,26.51,27.78,
-26.90,25.83,26.71,27.28,27.94,27.23,26.98,27.46,27.64,27.74,
-26.91,27.76,27.12,28.02,28.38,28.71,28.00,29.50,28.83,28.57,
-28.41,29.68,29.06,28.86,29.36,29.18,28.63,29.45,28.18,29.27,
-28.94,26.84,30.02,28.78,30.58,30.34,30.31,30.58,30.41,29.49,
-29.69,29.95,29.89,31.11,29.43,30.40,30.46,30.64,30.75,30.28,
-31.02,32.84,31.75,31.92,29.71,31.92,31.65,29.67,31.16,31.81,
-31.09,30.29,32.04,31.69,31.00,32.00,32.63,31.46,31.81,31.63,
-31.38,32.26,32.63,32.74,32.34,32.35,32.99,31.64,33.23,31.60,
-31.52,34.17,32.55,32.35,34.18,32.30,33.11,32.86,33.62,32.68,
-32.97,34.53,33.26,34.24,34.87,32.64,32.93,33.67,33.98,33.20,
-33.77,33.82,34.76,33.35,33.22,33.47,34.29,35.60,34.89,34.18,
-33.48,35.03,34.95,35.65,34.01,33.49,34.92,33.31,34.43,34.79,
-5.78,5.85,5.93,6.13,7.71,6.21,7.61,6.97,7.51,8.47,
-8.26,8.18,8.22,8.45,9.06,8.71,9.27,9.25,9.67,9.74,
-9.74,10.03,10.44,10.75,10.53,10.34,10.34,11.06,10.94,11.69,
-11.74,11.01,11.34,12.12,11.95,12.44,12.25,11.95,12.07,12.86,
-12.43,12.95,12.37,12.82,12.99,13.93,13.30,13.85,13.22,13.81,
-14.22,14.06,13.41,14.73,14.67,15.07,15.20,15.08,14.46,15.39,
-15.14,15.72,14.68,15.99,14.62,15.09,14.90,15.80,16.60,15.70,
-15.59,16.18,16.03,16.82,17.15,16.02,16.59,17.13,17.23,17.14,
-16.63,17.20,18.02,16.64,16.55,17.62,18.43,17.60,17.34,18.69,
-17.54,18.41,18.75,18.39,18.01,17.80,18.89,18.82,19.45,19.97,
-18.96,19.59,19.02,18.99,19.17,18.98,20.50,19.35,19.05,19.37,
-20.03,17.63,19.24,19.45,20.32,20.63,19.89,20.40,19.78,20.77,
-20.61,20.13,20.81,20.00,20.61,21.14,22.07,20.02,21.04,21.77,
-20.81,21.11,20.84,20.78,22.27,20.25,21.86,21.19,22.45,21.49,
-22.52,21.57,21.73,21.93,21.90,22.46,23.39,22.02,22.18,22.94,
-24.21,23.27,23.22,22.83,22.42,24.73,23.90,21.89,23.48,23.89,
-23.26,22.97,22.08,23.48,23.19,23.80,23.42,23.97,23.73,23.47,
-24.41,23.86,23.35,25.08,24.21,24.39,24.24,25.16,24.12,24.91,
-24.43,24.69,24.65,24.17,25.08,25.74,24.97,25.92,25.68,24.53,
-25.41,25.68,26.31,26.36,25.42,26.65,25.77,25.13,25.16,24.01,
-26.96,26.26,25.67,25.99,25.72,25.39,26.73,27.25,26.60,26.62,
-27.22,26.76,26.61,27.30,27.19,27.76,26.12,26.62,27.66,26.99,
-27.95,26.75,27.08,27.60,26.82,28.97,28.44,27.59,29.63,26.91,
-26.93,29.36,27.61,27.75,27.45,27.83,27.93,29.91,27.64,28.63,
-28.72,28.16,28.68,28.57,29.01,27.92,28.57,30.08,28.78,29.47,
-29.63,29.09,27.80,29.00,29.86,29.80,29.05,28.96,30.50,29.46,
-30.13,31.62,28.84,31.61,29.81,30.01,30.50,30.26,28.86,30.03,
-30.48,30.71,29.81,31.13,29.66,29.19,30.83,30.72,28.24,29.13,
-30.50,32.34,30.33,30.87,30.77,30.89,30.82,32.22,30.46,30.87,
-5.22,5.59,5.80,6.62,5.56,6.46,6.06,6.90,7.19,7.15,
-7.26,7.63,7.73,6.76,8.20,8.69,8.91,8.39,7.79,8.82,
-8.69,9.33,9.37,9.05,9.43,9.70,9.23,9.89,10.01,10.23,
-9.98,9.98,10.22,10.52,10.72,11.18,10.87,11.48,11.09,11.42,
-10.43,11.56,11.65,11.77,11.75,12.34,11.67,11.86,12.33,13.02,
-12.55,11.71,13.72,12.73,13.28,13.02,13.27,13.78,13.50,13.57,
-13.56,14.28,13.12,13.59,13.92,14.13,13.80,14.30,13.70,14.03,
-13.95,14.84,14.83,14.71,14.86,15.59,13.67,14.87,15.24,15.65,
-15.11,16.07,15.25,15.54,16.37,15.17,16.10,15.76,17.09,16.04,
-16.57,16.42,16.10,16.15,17.29,16.92,17.38,15.92,17.44,16.97,
-16.76,17.33,17.08,17.43,18.02,16.60,16.99,16.57,17.39,16.85,
-16.99,17.48,17.82,17.84,17.77,18.52,18.23,18.49,17.74,19.44,
-17.69,17.78,17.93,17.97,18.96,19.25,18.21,18.82,19.87,19.60,
-18.97,19.22,19.48,19.17,19.68,19.41,19.26,19.42,19.52,19.73,
-19.29,20.12,19.08,19.32,19.40,19.36,19.42,19.63,19.46,21.08,
-20.13,20.53,21.06,20.36,20.22,19.98,20.72,19.04,21.34,21.06,
-21.52,21.40,20.92,21.62,21.28,21.86,21.22,21.60,21.83,21.86,
-21.70,21.49,21.76,22.22,21.81,22.25,22.00,21.42,21.18,23.06,
-22.30,22.62,21.66,22.78,23.13,22.89,21.93,23.12,22.06,22.44,
-23.42,21.12,23.37,23.09,22.78,22.63,23.83,23.13,23.40,22.41,
-23.81,24.60,23.58,23.22,23.41,23.14,24.23,23.69,22.89,24.51,
-24.39,23.89,24.28,23.65,22.91,24.51,24.27,23.92,23.39,23.82,
-23.70,25.70,25.18,24.24,24.57,25.23,24.47,25.22,24.21,25.19,
-24.74,24.94,25.77,25.22,25.40,25.08,25.60,25.01,25.06,25.26,
-25.11,24.96,25.81,24.29,26.25,24.34,25.50,25.76,25.41,26.28,
-26.57,26.35,27.47,26.59,28.38,27.28,26.83,25.93,27.26,26.32,
-26.29,25.87,25.78,27.08,25.99,25.81,27.70,25.96,27.75,26.60,
-26.69,28.75,26.32,27.31,27.16,28.11,27.89,27.25,26.96,25.90,
-27.93,28.71,28.32,27.24,27.88,28.37,27.08,28.17,27.64,28.90,
-4.76,4.64,4.99,5.29,5.35,5.82,5.61,5.36,6.50,5.45,
-6.72,6.82,5.91,7.04,7.22,6.70,7.07,7.54,7.29,7.43,
-7.92,7.74,8.33,7.74,8.86,8.47,8.47,8.40,8.90,9.02,
-9.76,9.20,9.13,9.21,10.97,9.59,9.96,9.04,9.83,10.36,
-10.59,10.23,10.46,10.35,10.52,9.63,11.50,9.86,11.14,11.09,
-11.22,10.85,10.61,11.92,11.18,12.07,11.63,11.25,11.61,11.20,
-11.60,11.78,11.70,12.56,11.92,12.73,12.63,12.89,11.96,12.49,
-12.08,12.00,12.93,12.62,12.77,11.96,13.20,12.77,14.25,13.27,
-13.24,13.81,14.28,13.87,14.50,13.85,13.93,13.46,14.47,12.98,
-13.40,13.72,14.31,14.24,14.70,15.00,14.29,15.64,14.82,15.34,
-15.19,14.98,14.74,16.17,14.26,15.65,14.84,15.66,16.23,15.74,
-16.14,15.91,16.35,15.98,16.00,15.58,16.33,17.13,15.79,16.23,
-15.87,16.24,16.21,16.82,17.30,16.18,17.03,16.73,16.80,16.91,
-16.39,17.36,17.32,16.86,17.24,16.87,16.78,17.25,17.49,17.19,
-17.79,16.71,18.28,17.51,17.44,16.76,18.40,18.29,19.65,17.38,
-18.17,18.73,17.79,18.47,17.97,18.49,18.63,17.64,18.62,18.17,
-18.75,17.71,17.83,18.85,18.99,19.69,18.34,19.03,19.67,19.26,
-18.97,19.50,19.28,19.22,19.86,18.71,18.83,18.96,19.34,20.25,
-19.49,19.28,18.96,20.24,20.25,20.25,20.25,20.13,19.83,20.94,
-20.02,20.23,21.61,19.53,21.73,20.58,19.92,20.51,20.87,21.86,
-19.41,20.84,21.69,19.82,21.15,20.88,20.72,21.08,19.80,20.33,
-21.34,21.22,20.89,22.41,21.21,22.57,20.76,21.60,21.54,22.27,
-22.24,21.86,21.66,21.28,21.95,21.43,21.65,21.64,20.61,23.08,
-22.56,21.30,21.61,21.49,22.86,21.37,22.56,22.05,22.19,23.80,
-21.50,22.16,22.00,21.91,22.48,23.17,23.33,23.65,22.63,22.33,
-23.10,22.38,23.89,23.98,23.27,22.39,23.33,24.22,24.68,24.75,
-23.76,23.95,23.60,23.91,23.35,23.01,23.63,24.07,23.32,22.78,
-24.46,23.48,23.48,25.08,24.31,23.35,24.77,24.39,24.09,24.54,
-24.36,23.22,24.51,25.06,24.80,24.99,23.99,23.67,24.64,25.05,
-3.40,2.98,3.87,4.26,5.09,5.85,4.99,5.19,5.32,6.07,
-4.81,5.65,5.75,5.81,6.31,6.53,6.99,6.19,6.18,6.27,
-7.07,7.14,7.16,7.45,7.45,7.30,7.62,7.80,8.11,8.31,
-8.14,7.57,8.34,7.90,8.50,7.61,8.38,8.26,8.45,8.17,
-9.55,9.34,9.68,8.96,9.09,8.89,9.52,8.97,9.58,10.09,
-9.63,9.56,10.13,10.17,9.37,10.13,10.11,10.54,10.48,9.94,
-10.81,10.30,10.61,10.86,11.76,11.05,10.52,10.42,10.88,11.77,
-11.33,10.85,12.00,12.15,11.47,11.90,11.23,12.08,12.19,11.16,
-12.21,12.22,12.50,12.44,12.10,12.54,11.89,12.43,12.13,12.55,
-12.79,12.85,12.53,12.68,12.91,12.77,14.00,14.31,13.06,13.34,
-13.16,12.84,13.42,13.10,14.23,13.22,14.53,14.37,13.89,14.35,
-13.29,14.14,14.36,14.70,14.86,14.12,14.99,14.00,14.86,14.99,
-14.49,13.62,14.99,14.70,14.23,15.46,15.35,15.19,14.34,15.68,
-15.69,14.95,15.06,15.08,14.63,15.45,14.33,15.60,15.55,15.26,
-16.24,14.96,14.77,16.11,15.36,15.30,15.32,15.19,15.33,15.86,
-16.69,15.79,15.35,17.08,16.17,16.41,15.36,16.41,16.54,15.90,
-16.58,16.83,16.49,16.55,16.32,16.39,16.14,16.36,16.33,18.25,
-17.07,18.03,17.34,16.77,17.27,16.65,17.40,16.88,17.44,18.04,
-17.56,17.25,17.61,18.69,17.30,17.85,17.59,18.14,18.03,18.22,
-17.93,18.23,18.87,18.05,18.59,19.04,18.39,19.41,19.23,18.76,
-17.83,18.93,18.51,18.19,18.55,19.45,19.20,19.31,19.38,18.13,
-18.41,19.24,18.70,19.78,18.69,18.42,18.76,17.85,18.88,18.65,
-17.75,19.58,19.79,18.91,18.59,19.71,18.94,19.70,19.52,19.85,
-20.85,20.48,20.92,19.87,19.48,19.81,20.12,19.53,19.09,19.94,
-21.05,20.20,19.98,20.92,21.45,20.92,20.18,20.38,20.01,20.82,
-19.83,20.93,20.90,22.14,20.63,21.04,21.21,20.22,20.25,20.95,
-21.80,20.79,20.17,20.73,21.56,20.98,20.76,21.60,21.51,21.02,
-21.31,21.33,20.29,21.55,20.50,21.52,22.00,21.81,23.27,21.41,
-21.81,21.28,20.85,22.34,21.10,22.47,20.62,21.77,22.46,22.42,
-3.95,3.60,4.48,3.94,4.54,5.03,4.95,4.89,5.34,4.55,
-5.03,5.27,4.49,5.54,4.95,5.56,5.14,6.12,5.49,6.29,
-6.80,5.88,6.72,6.97,6.46,6.77,7.37,7.15,7.63,6.76,
-7.26,7.57,7.12,7.54,7.71,8.15,8.22,8.09,7.56,7.63,
-7.64,8.44,8.71,8.52,7.50,8.64,7.97,8.13,8.40,8.63,
-8.40,9.09,8.22,9.17,8.60,9.75,9.44,10.02,9.74,8.92,
-8.74,9.88,9.47,9.98,9.37,9.88,10.50,9.63,11.18,9.76,
-9.62,9.95,10.20,10.45,9.71,9.75,10.15,10.81,11.25,10.83,
-10.20,10.47,10.19,9.74,10.72,11.25,10.31,10.46,11.21,12.07,
-11.25,11.54,10.79,11.93,11.66,11.38,12.20,11.64,10.02,11.84,
-11.18,11.90,11.51,11.77,12.01,13.01,11.73,11.73,12.24,12.32,
-12.39,12.07,12.57,11.78,12.69,11.94,12.23,12.48,12.98,13.22,
-12.01,11.95,13.29,14.24,13.66,12.36,12.60,13.62,14.06,13.86,
-13.17,13.47,13.89,12.66,13.47,13.87,14.32,13.65,14.43,13.49,
-13.02,14.18,13.69,13.79,14.00,13.84,13.36,13.88,13.69,13.80,
-14.49,13.80,14.34,14.14,14.70,14.61,14.97,14.17,14.33,14.30,
-14.90,14.28,14.92,14.89,15.27,14.99,14.92,14.33,14.88,15.16,
-14.88,15.25,15.27,15.51,15.88,15.58,15.26,15.25,15.36,15.07,
-14.99,15.73,14.86,16.84,15.86,15.92,16.42,14.94,14.72,14.30,
-16.69,15.57,16.18,15.99,16.48,16.30,16.94,15.07,15.98,15.15,
-17.15,16.76,15.91,16.53,17.30,16.45,16.53,17.11,15.69,16.81,
-16.10,17.31,16.45,17.18,17.58,17.21,16.72,17.46,16.78,17.44,
-16.82,17.39,16.67,17.04,17.46,17.73,17.95,17.45,16.70,17.78,
-17.12,17.76,17.70,17.09,17.29,17.28,17.28,18.67,17.00,18.05,
-18.21,17.83,17.71,17.56,17.61,17.71,19.13,18.15,18.67,17.91,
-18.14,17.41,17.96,18.41,17.17,17.51,18.72,17.28,17.48,18.21,
-17.48,19.65,18.94,18.10,18.97,18.63,18.86,18.24,18.11,18.63,
-18.94,18.52,19.16,19.08,19.37,18.69,18.69,19.63,18.25,18.69,
-19.49,19.13,19.06,18.57,18.93,20.23,19.49,19.90,20.96,20.10,
-2.37,3.02,3.22,3.45,3.58,4.48,3.47,3.00,5.32,4.40,
-4.35,5.22,4.23,4.88,4.63,4.87,5.70,5.66,4.69,5.32,
-5.40,5.72,5.60,6.40,6.14,5.22,6.44,5.85,6.45,6.34,
-5.97,6.44,7.04,7.18,6.72,6.52,6.66,7.03,6.73,5.88,
-6.98,7.52,7.19,6.80,7.25,7.03,7.35,7.07,7.06,7.34,
-7.86,8.23,7.49,6.81,7.96,7.72,8.65,7.59,8.53,8.69,
-8.35,8.00,8.62,8.27,8.62,8.68,8.36,9.31,8.25,8.95,
-8.45,9.11,8.94,9.53,9.46,9.33,9.19,9.39,9.85,9.63,
-10.83,9.25,8.63,10.03,9.68,10.18,9.78,9.68,9.57,9.62,
-10.22,9.82,10.60,9.75,9.96,9.84,10.33,10.77,10.70,10.47,
-9.83,10.32,11.40,10.22,10.41,10.24,10.56,11.23,10.80,11.55,
-11.30,11.06,10.84,10.95,11.99,11.42,10.90,10.64,10.97,11.80,
-11.70,11.15,11.81,12.10,11.42,11.64,11.76,11.41,11.58,11.90,
-11.79,12.67,11.82,12.08,12.21,12.72,12.03,12.47,13.19,11.99,
-12.08,11.75,12.41,12.97,12.66,12.86,11.90,13.21,12.21,12.24,
-12.20,12.51,12.48,13.39,12.53,12.02,13.72,13.30,11.72,12.45,
-12.46,13.66,13.35,13.39,13.13,13.28,13.03,13.38,12.92,13.09,
-12.79,14.24,13.01,13.55,13.46,13.69,13.44,13.30,14.27,12.99,
-13.24,13.86,13.44,13.34,14.15,13.73,14.02,14.03,13.53,15.00,
-13.65,12.29,14.30,14.36,13.79,14.58,15.44,13.75,14.36,13.91,
-14.68,14.58,14.11,14.30,14.10,15.13,13.88,15.51,14.99,14.87,
-15.33,14.27,14.72,15.39,15.60,15.65,15.26,15.40,15.16,15.05,
-14.91,15.26,15.65,15.18,14.54,15.45,15.42,15.16,15.87,15.15,
-15.35,14.62,15.64,15.55,15.45,15.75,15.34,16.07,15.94,15.56,
-15.33,16.20,16.12,16.20,15.51,15.61,14.95,15.87,14.85,16.25,
-15.82,16.26,16.04,15.27,16.45,15.41,16.65,16.51,15.45,15.64,
-16.29,15.63,15.87,16.31,16.12,16.80,17.46,16.31,15.41,16.61,
-16.46,16.38,17.35,16.88,16.78,17.10,16.65,16.52,17.53,17.79,
-17.34,16.00,17.34,17.30,17.51,17.08,16.46,15.91,17.15,16.31,
-2.44,3.32,3.05,3.41,2.88,2.41,3.71,3.83,3.64,3.30,
-3.95,3.38,4.38,3.78,4.04,3.82,4.48,4.31,3.97,4.57,
-4.67,5.18,5.40,5.58,5.06,5.30,5.69,4.96,5.11,6.62,
-5.62,5.47,4.95,5.92,6.18,5.41,5.77,5.64,6.04,6.19,
-5.69,7.35,6.25,6.98,6.52,5.92,6.11,6.66,7.15,6.76,
-7.05,7.06,7.40,6.55,7.61,7.33,6.28,7.05,7.97,7.59,
-6.67,7.69,7.06,7.15,8.37,7.98,8.18,8.94,8.11,7.51,
-7.54,7.93,7.73,7.90,8.21,7.71,7.73,8.27,7.80,7.50,
-9.03,8.58,7.55,9.01,8.71,9.18,7.81,8.22,8.83,8.24,
-8.65,8.47,8.44,8.89,8.42,8.01,9.53,8.55,9.07,8.87,
-9.76,9.36,8.60,9.05,9.40,9.32,9.88,9.71,9.51,9.92,
-9.38,9.72,9.52,9.81,10.05,9.46,9.55,9.70,9.33,10.70,
-10.47,9.50,9.88,10.48,10.18,10.53,10.09,9.68,10.45,10.41,
-10.43,10.67,10.52,10.15,10.51,10.64,9.84,11.16,11.11,10.39,
-11.42,11.03,10.96,9.90,11.38,10.79,11.29,11.33,11.01,12.70,
-10.84,11.12,10.74,11.42,12.25,11.14,11.13,11.68,11.19,11.92,
-11.03,10.52,11.57,12.27,11.57,11.23,12.16,11.23,11.55,11.60,
-11.41,12.34,12.12,11.72,11.67,10.87,12.75,12.17,11.90,11.54,
-11.77,12.31,12.07,12.54,12.35,12.43,11.63,12.01,12.56,13.28,
-11.94,11.68,12.21,13.63,12.29,12.32,12.27,12.70,12.75,11.76,
-13.13,12.54,13.23,13.20,13.60,13.00,13.04,13.15,12.49,12.36,
-12.91,13.01,13.22,13.82,12.45,12.75,12.00,13.44,13.26,13.04,
-13.02,12.79,12.96,13.21,12.45,12.42,13.62,14.29,13.74,14.39,
-13.18,13.52,13.88,14.04,13.79,14.83,12.56,12.90,13.61,14.24,
-14.35,13.85,13.48,14.77,14.55,14.95,14.20,13.25,13.74,12.91,
-13.73,13.32,14.28,14.23,14.26,14.47,15.97,14.85,14.42,14.89,
-15.24,14.16,14.76,13.82,14.64,14.52,14.67,14.68,14.75,15.08,
-16.01,14.45,14.18,14.89,15.09,14.26,15.08,14.54,15.30,15.33,
-14.49,15.14,15.42,14.69,15.53,14.91,14.80,14.27,14.85,14.78,
-12.99,13.54,14.53,14.42,15.43,16.24,16.55,16.48,17.10,17.42,
-18.82,19.34,17.80,19.49,19.00,20.27,20.17,20.41,20.12,21.09,
-21.22,21.61,21.84,22.66,22.73,23.46,24.10,24.98,24.28,25.28,
-24.68,25.25,25.34,26.34,26.49,26.97,26.66,28.47,28.93,27.32,
-28.10,27.82,28.86,28.95,29.54,29.32,30.44,30.89,28.91,30.02,
-30.77,30.62,32.06,31.77,33.40,31.26,32.00,33.02,33.53,32.79,
-32.75,33.18,32.42,34.41,34.91,32.97,34.51,34.72,34.99,36.06,
-35.33,35.53,35.32,35.60,35.32,35.78,36.34,35.37,37.50,38.66,
-37.05,38.61,37.02,36.95,37.92,38.59,38.42,38.70,39.63,41.14,
-37.98,38.75,39.94,40.60,40.20,39.45,41.76,39.99,41.97,41.41,
-40.58,41.38,41.19,42.59,41.89,44.20,41.45,43.66,42.39,42.40,
-44.26,42.57,43.17,45.28,45.38,44.83,44.37,44.83,43.50,44.13,
-45.68,45.30,45.19,44.19,46.34,46.19,47.33,47.08,45.29,44.08,
-45.10,49.06,48.15,48.42,48.60,47.65,48.93,49.50,48.46,47.57,
-48.51,48.56,48.17,50.99,49.63,48.86,49.52,51.14,48.81,49.47,
-49.50,49.57,49.55,48.60,51.56,50.13,50.68,53.07,49.32,49.15,
-50.10,52.58,53.34,53.86,49.84,51.47,53.86,53.41,53.26,51.97,
-53.11,52.56,52.65,53.49,52.62,51.30,53.52,53.45,52.34,55.28,
-55.03,55.65,52.61,53.07,53.44,56.25,56.20,55.76,55.92,53.59,
-56.28,56.82,57.10,56.99,56.22,57.65,55.74,58.57,56.42,59.04,
-58.04,58.63,59.98,57.38,56.91,59.22,56.68,58.54,58.87,58.53,
-58.64,59.41,58.75,61.02,60.91,59.57,58.29,60.06,59.32,59.08,
-59.77,57.72,60.97,58.75,59.74,60.10,62.02,60.04,60.58,62.77,
-56.83,63.03,60.29,60.95,61.61,64.43,61.14,63.94,61.90,61.79,
-64.08,64.06,62.22,65.08,64.59,61.69,64.61,62.70,64.76,66.22,
-63.28,63.76,63.89,65.16,65.31,65.80,62.34,63.72,63.38,63.39,
-65.30,63.06,66.83,64.04,67.38,65.55,65.99,67.08,67.47,66.87,
-66.86,63.38,66.34,66.86,64.45,68.61,64.39,67.23,66.03,68.55,
-67.01,67.36,68.55,66.69,68.00,66.31,70.08,69.23,67.69,68.63,
-11.62,12.39,13.49,13.84,13.87,14.44,14.83,15.60,16.14,16.86,
-16.68,17.43,17.96,18.43,18.30,18.70,18.73,19.57,20.56,20.66,
-20.60,20.66,20.57,21.06,21.66,22.07,22.47,22.83,23.19,24.23,
-22.70,23.51,24.39,24.44,25.35,25.65,24.43,26.47,27.49,26.82,
-25.95,25.39,27.51,26.85,27.19,27.85,28.38,27.30,28.43,27.96,
-28.80,29.06,29.61,29.21,30.24,30.54,30.46,29.76,31.22,31.63,
-31.55,32.75,32.02,31.86,32.00,33.25,32.08,32.98,34.73,32.76,
-32.64,34.65,33.00,34.42,34.99,33.44,34.53,35.95,34.80,35.68,
-35.67,34.46,34.37,35.80,35.64,36.14,36.72,37.47,38.63,37.12,
-37.64,36.65,38.64,37.58,38.02,37.90,38.76,37.47,38.87,39.71,
-38.71,40.33,39.07,38.91,39.60,40.59,40.86,40.93,40.35,40.82,
-40.66,40.65,42.41,42.12,40.95,43.80,42.99,41.88,43.64,42.99,
-43.29,40.63,43.55,42.78,45.04,42.60,42.44,43.36,44.14,43.38,
-43.57,44.03,44.07,43.53,46.36,43.83,43.66,45.36,46.93,46.90,
-46.26,43.96,45.99,45.30,46.25,44.85,45.73,46.60,47.08,47.75,
-48.91,48.76,46.61,48.69,47.45,49.18,47.07,46.99,49.41,48.42,
-49.95,50.07,48.09,51.70,51.10,48.93,49.40,50.99,48.25,49.12,
-49.38,50.02,51.40,48.62,52.07,52.14,51.43,51.96,50.44,52.02,
-51.95,50.47,48.86,51.66,51.53,51.88,53.35,53.08,52.56,53.95,
-54.51,51.92,54.95,51.77,54.42,50.91,54.36,53.61,56.57,54.48,
-54.78,53.08,55.53,54.61,56.36,55.15,56.03,54.50,55.43,55.85,
-56.42,54.76,55.32,55.03,56.87,55.40,55.49,55.66,56.67,55.67,
-59.31,55.47,55.26,55.94,56.49,56.88,61.07,56.68,58.36,57.64,
-58.21,57.58,58.29,57.67,60.49,57.96,60.97,57.69,58.56,57.72,
-58.07,59.49,58.95,60.54,58.76,59.43,61.76,59.34,61.34,57.38,
-62.31,60.87,61.86,61.54,62.28,61.57,62.05,61.02,60.54,60.27,
-60.95,60.34,60.98,60.84,62.59,63.75,60.48,63.25,61.89,61.38,
-63.62,63.24,64.04,60.06,62.57,63.59,61.61,64.19,64.17,62.60,
-64.90,62.65,62.39,63.67,64.16,62.92,66.17,63.48,65.72,65.46,
-11.12,12.61,11.76,12.68,13.40,13.47,13.99,13.86,15.30,15.61,
-15.82,15.96,16.15,16.96,17.15,17.90,18.32,18.21,19.18,18.86,
-19.94,19.68,20.13,20.10,20.89,21.44,21.57,20.60,21.49,21.95,
-22.72,22.23,22.48,23.35,23.63,23.85,23.56,24.21,23.66,23.69,
-25.19,24.80,25.23,25.72,26.30,25.20,26.31,26.83,26.90,26.76,
-28.30,26.81,27.93,27.74,28.50,27.35,28.54,28.61,28.48,28.48,
-30.56,29.91,29.77,29.71,30.15,29.73,30.37,29.48,32.14,29.89,
-31.30,32.27,32.32,31.87,32.25,32.30,33.03,32.03,31.62,33.74,
-34.23,32.44,35.13,32.86,33.72,33.00,34.25,33.24,35.46,34.69,
-34.22,34.75,36.05,34.83,36.26,35.56,36.03,36.24,36.67,35.75,
-37.03,36.56,36.59,37.72,37.83,39.16,39.89,39.31,37.79,39.63,
-37.78,37.36,37.56,39.16,38.08,38.67,39.67,39.89,39.08,40.23,
-40.23,40.40,40.56,39.28,40.75,40.90,40.39,41.71,41.36,41.44,
-41.61,40.90,42.47,41.36,42.61,41.73,43.09,39.73,42.33,43.27,
-42.36,42.57,42.04,42.75,44.34,43.41,43.68,43.30,43.31,43.10,
-43.72,44.19,46.46,45.25,45.08,45.35,44.90,45.06,46.07,46.82,
-45.87,45.44,44.29,45.91,47.14,44.51,45.58,46.55,46.59,45.89,
-48.06,46.18,48.20,47.76,49.09,47.00,50.32,48.50,48.09,46.91,
-49.07,48.10,50.18,50.23,49.10,52.37,48.74,50.13,49.18,49.26,
-48.49,50.78,48.38,50.14,51.48,50.71,52.09,50.01,50.50,51.39,
-50.57,52.26,49.65,51.57,51.37,51.40,51.67,54.42,50.93,50.35,
-51.44,52.67,52.38,52.07,53.67,50.94,52.09,51.81,53.35,53.84,
-53.24,52.18,51.78,52.57,52.39,55.22,56.12,56.38,54.70,54.19,
-55.28,54.42,55.74,54.40,52.43,54.76,55.01,55.26,54.85,53.71,
-56.20,54.27,54.38,56.37,55.19,57.18,56.99,55.86,55.59,57.32,
-56.98,55.75,59.59,57.22,55.66,55.94,56.80,56.98,56.38,58.78,
-59.58,56.00,55.45,57.27,58.23,57.36,59.01,59.74,58.98,58.37,
-60.07,57.78,58.70,58.19,58.08,58.32,58.42,59.18,56.30,59.80,
-60.54,60.95,60.15,59.66,61.48,58.54,61.95,56.22,62.52,59.25,
-9.99,11.02,11.51,11.57,12.75,12.65,13.03,13.68,13.60,14.38,
-14.69,15.44,15.47,16.27,15.83,16.18,17.01,17.06,16.97,17.50,
-18.32,17.68,18.83,18.51,18.82,19.13,19.57,20.22,20.19,20.84,
-20.65,20.64,20.65,22.00,20.62,21.46,22.42,22.94,22.41,22.90,
-21.90,23.08,23.60,23.87,22.73,23.85,23.76,23.90,24.65,24.99,
-25.48,24.68,24.59,25.31,26.33,26.11,27.20,26.55,26.33,26.90,
-27.63,27.66,25.99,28.97,27.04,28.65,27.90,29.75,28.74,29.70,
-29.43,29.71,31.01,29.63,30.39,29.08,29.66,31.60,30.98,30.47,
-30.23,31.25,31.94,31.86,31.00,32.91,31.81,32.29,30.32,33.47,
-32.64,32.90,32.02,32.91,32.56,34.25,32.75,32.72,32.91,32.83,
-33.87,34.03,35.22,34.21,33.74,33.96,35.21,35.15,35.48,35.39,
-34.94,35.65,35.28,36.01,36.48,36.98,35.70,36.55,34.83,35.91,
-36.94,37.43,36.85,38.27,38.16,39.29,37.88,37.82,38.12,36.44,
-38.84,38.85,38.40,38.29,40.32,39.54,37.76,41.79,38.22,39.09,
-40.74,41.13,40.12,39.30,40.89,39.70,40.92,39.25,40.95,41.63,
-43.17,42.22,40.14,42.17,41.07,42.58,40.95,42.89,42.67,44.00,
-42.47,41.60,42.32,43.04,44.59,43.52,43.64,42.85,41.51,42.98,
-43.04,43.64,42.98,43.86,43.73,44.07,43.28,43.15,44.52,44.96,
-45.66,45.22,47.27,43.92,44.58,44.42,46.46,46.03,45.41,45.87,
-47.22,46.40,44.45,47.14,49.49,48.34,47.16,47.94,45.66,46.77,
-47.40,46.18,47.24,48.03,48.03,47.81,47.96,45.93,47.16,47.42,
-47.83,47.86,49.68,47.18,48.46,49.92,48.46,48.97,49.50,47.56,
-48.14,49.69,47.07,49.17,49.86,49.85,50.39,51.45,52.08,49.23,
-50.05,49.14,50.52,49.97,48.90,49.58,52.69,51.53,51.68,50.56,
-50.67,52.98,51.49,52.26,53.03,51.64,51.53,53.04,53.03,54.38,
-52.11,52.19,52.74,54.56,55.20,51.81,53.40,52.49,51.14,53.34,
-52.50,52.50,52.26,52.40,56.43,52.06,53.80,55.56,53.43,53.59,
-52.69,55.49,53.68,52.24,53.04,55.71,55.46,54.85,54.55,55.42,
-56.16,54.39,56.54,56.70,56.82,54.01,57.18,54.20,56.64,57.50,
-9.57,10.31,10.58,10.67,11.55,12.59,12.82,12.28,12.91,13.32,
-13.53,13.78,14.09,14.31,14.70,14.54,15.39,15.09,16.27,15.85,
-16.52,16.58,16.20,17.59,17.66,18.06,18.72,18.29,18.34,19.31,
-18.90,18.64,18.93,19.76,19.54,19.66,20.66,19.97,20.62,21.99,
-21.33,21.78,21.32,21.14,22.11,21.47,22.11,22.58,22.83,22.68,
-22.99,23.46,24.41,23.36,24.35,23.32,24.20,24.56,24.67,25.53,
-23.96,26.16,24.13,25.93,25.87,25.72,25.67,26.35,25.97,29.52,
-26.43,26.44,26.72,27.10,27.11,26.49,27.35,27.87,28.18,28.36,
-27.05,28.59,30.43,28.79,30.11,29.22,28.63,28.71,29.80,30.16,
-29.42,31.55,31.21,31.47,30.51,31.04,29.94,31.56,31.98,31.32,
-31.24,30.44,31.60,32.99,32.38,32.24,30.91,32.35,30.36,32.87,
-33.64,33.33,33.27,33.17,34.17,33.02,32.78,33.99,33.62,33.64,
-34.08,35.13,34.23,33.61,35.95,34.92,34.50,35.18,35.35,35.11,
-35.51,35.00,34.45,35.89,36.38,35.93,35.45,36.71,36.08,36.99,
-37.34,34.31,37.03,37.48,36.05,35.97,36.75,38.09,38.43,36.88,
-37.15,38.50,38.11,37.83,37.83,36.70,37.73,37.76,39.63,37.10,
-39.51,39.73,38.79,39.24,37.84,40.47,40.08,40.42,40.69,38.98,
-39.39,40.26,40.89,39.46,39.35,39.94,40.83,40.59,40.34,41.24,
-39.49,41.44,41.17,40.73,40.52,40.13,41.34,44.24,43.45,41.52,
-42.43,43.20,41.78,41.89,40.50,41.64,44.54,43.48,43.92,45.89,
-42.32,43.87,42.81,42.37,42.92,42.52,42.02,43.58,44.20,43.86,
-42.57,45.62,45.65,44.47,46.93,44.10,44.42,45.78,44.20,44.67,
-45.99,45.07,45.62,45.55,45.27,46.27,46.22,48.14,46.26,47.33,
-46.96,47.60,47.68,46.89,45.68,47.84,46.52,48.14,45.85,46.63,
-49.64,47.32,46.00,50.07,46.95,47.00,47.23,49.11,50.06,48.52,
-47.86,48.64,48.22,49.12,49.10,49.02,48.57,49.10,48.38,49.59,
-49.31,49.83,46.82,48.73,48.02,48.60,48.46,50.99,50.93,49.22,
-50.01,49.23,48.45,51.21,50.86,51.05,49.28,51.36,48.00,51.80,
-49.28,50.06,50.50,50.94,51.61,50.63,51.89,51.10,53.10,50.93,
-8.90,9.03,8.81,10.01,10.06,10.88,10.93,11.17,11.55,11.18,
-12.07,12.92,12.76,13.76,13.49,14.27,14.09,14.09,14.49,14.52,
-14.97,15.57,15.59,15.60,16.26,16.27,16.70,16.56,17.34,17.17,
-17.22,17.81,18.34,18.03,17.96,18.62,19.20,18.36,18.89,19.60,
-19.41,19.88,20.42,19.72,20.54,20.94,20.49,20.14,19.96,21.28,
-21.48,21.92,21.29,21.51,21.31,22.66,21.81,22.59,22.34,22.60,
-22.79,22.22,23.86,22.77,24.05,23.91,24.22,23.94,24.05,24.95,
-24.38,23.79,23.68,25.52,24.45,25.30,25.36,25.82,25.54,25.79,
-25.92,26.35,26.21,26.89,27.49,25.93,25.42,27.10,26.17,27.25,
-27.26,28.20,27.40,27.42,28.28,27.30,28.50,28.90,28.41,28.57,
-28.80,28.34,29.44,29.59,28.88,30.20,28.51,31.07,30.35,30.77,
-30.21,30.37,30.69,29.64,29.93,30.10,29.66,30.32,30.57,30.50,
-29.85,31.22,31.04,31.71,31.21,31.56,31.63,31.01,33.80,32.15,
-32.87,31.59,33.51,31.61,33.22,32.85,33.18,31.83,32.23,33.92,
-31.67,33.69,32.65,33.37,32.99,34.06,33.79,33.11,35.48,35.52,
-34.24,35.12,34.33,33.49,35.14,36.16,35.65,33.96,33.67,34.25,
-34.36,34.83,36.56,36.11,34.99,35.87,36.15,35.99,36.94,36.44,
-36.71,35.98,36.10,39.29,36.91,36.76,36.88,37.76,36.48,37.60,
-38.61,37.17,37.45,38.40,36.45,38.04,37.66,38.63,38.57,39.44,
-38.27,38.15,39.95,38.76,38.63,38.65,37.13,38.22,39.69,39.10,
-39.40,41.02,38.76,40.80,38.17,41.46,41.50,40.82,40.27,40.87,
-40.92,41.28,41.56,42.18,40.13,42.46,39.72,41.14,42.33,41.38,
-42.97,42.14,41.69,42.09,42.00,41.82,40.74,41.97,42.44,42.78,
-43.98,43.25,42.55,42.85,41.24,42.09,41.75,41.66,44.21,42.04,
-41.49,43.02,41.80,42.76,44.79,45.30,43.65,43.39,43.54,45.14,
-42.98,46.55,43.67,43.94,44.12,45.41,42.52,45.34,44.45,45.43,
-45.68,44.92,42.83,45.57,45.81,43.61,45.30,44.65,44.26,45.56,
-44.63,45.73,46.23,46.72,45.74,46.71,46.51,44.98,45.94,47.51,
-46.74,44.86,47.70,47.09,46.40,46.12,47.38,47.04,49.14,47.38,
-7.75,8.35,8.83,9.02,9.02,9.87,10.28,9.92,11.13,10.59,
-11.28,11.94,12.08,12.77,12.05,12.76,13.28,13.09,13.43,13.41,
-14.23,14.54,13.71,14.37,14.32,14.43,15.04,14.72,15.27,14.72,
-15.31,15.36,17.08,16.07,16.84,16.85,16.22,16.98,17.59,18.23,
-18.26,17.25,18.52,17.91,18.50,18.08,18.39,18.71,18.61,18.87,
-19.36,20.58,19.85,19.57,19.62,19.95,20.25,20.41,19.81,22.03,
-21.56,21.13,21.38,20.54,21.11,21.56,22.70,21.47,21.96,21.35,
-22.45,21.58,21.69,22.94,22.53,21.68,24.09,23.55,23.49,23.77,
-23.54,23.20,24.12,25.74,23.44,24.64,24.46,24.37,24.16,24.67,
-26.07,25.61,24.87,25.17,26.18,25.45,25.42,25.40,25.53,25.39,
-26.44,25.99,26.31,25.49,26.46,26.92,25.69,27.63,26.31,27.56,
-26.51,28.04,27.99,27.45,27.34,27.53,28.55,27.88,28.85,28.35,
-27.82,28.59,28.78,27.46,28.64,29.53,29.66,29.71,29.79,27.88,
-29.59,29.67,29.29,29.67,31.06,30.61,29.25,30.25,31.19,30.85,
-29.68,30.92,28.49,30.74,31.19,30.09,30.58,30.68,31.78,30.55,
-30.84,32.58,30.38,32.64,31.35,31.28,33.42,32.92,33.36,33.20,
-32.92,32.64,32.42,33.45,32.82,33.39,32.55,34.14,32.08,34.26,
-34.03,34.55,32.83,33.62,33.21,34.00,33.14,33.11,34.23,35.30,
-33.28,34.56,34.64,33.35,33.41,34.13,35.49,33.96,35.00,34.96,
-34.63,35.45,37.06,35.51,37.19,34.01,35.88,36.04,35.88,36.64,
-35.13,36.15,35.78,34.92,35.86,37.77,36.14,34.67,34.92,36.08,
-38.03,37.43,36.29,37.70,36.37,37.34,37.13,36.58,38.84,38.74,
-38.22,36.23,38.71,38.50,38.04,38.93,37.98,37.50,36.63,37.85,
-37.12,38.98,38.29,39.04,38.62,38.87,37.94,37.84,40.49,39.59,
-38.82,39.58,41.23,39.27,39.86,39.05,40.15,40.15,38.89,40.30,
-40.67,41.57,40.52,40.60,39.21,38.60,39.41,40.70,41.07,40.32,
-39.85,41.45,40.85,42.87,42.51,41.57,40.25,40.13,40.80,42.28,
-40.91,41.42,41.19,42.38,41.60,42.32,41.30,42.46,42.82,41.92,
-42.80,43.23,42.20,42.57,42.44,42.34,42.04,42.91,44.83,43.08,
-7.29,7.33,7.88,8.23,8.54,9.17,8.90,9.18,9.17,10.05,
-10.19,10.40,10.03,10.69,11.11,11.49,11.52,11.25,11.13,12.64,
-12.79,12.23,12.67,13.29,12.75,13.41,13.58,14.48,14.19,13.67,
-14.28,14.27,14.96,14.90,14.68,14.67,15.40,15.37,15.08,16.23,
-15.71,15.98,16.13,17.14,17.08,16.34,16.76,18.06,17.27,17.80,
-18.11,17.13,18.76,18.12,18.62,18.22,18.81,17.59,18.55,18.76,
-19.24,18.93,20.06,19.31,19.77,19.51,18.94,19.66,20.74,20.88,
-20.18,20.40,20.20,19.98,21.28,19.67,20.50,20.39,21.64,22.02,
-21.92,21.86,20.89,21.28,23.08,22.32,21.53,21.74,22.97,22.03,
-22.98,22.81,22.75,21.65,22.74,23.65,23.17,23.42,23.49,24.33,
-23.77,23.01,24.85,23.38,23.91,23.79,24.01,25.37,24.40,25.03,
-24.86,25.72,24.84,25.64,25.64,25.79,24.21,25.43,25.13,25.99,
-26.25,25.98,25.95,25.41,25.65,24.89,26.28,25.50,27.52,26.53,
-27.06,25.81,27.00,27.94,27.15,27.55,27.98,26.39,27.37,28.35,
-26.55,29.13,26.27,27.28,28.51,28.09,28.50,27.51,28.59,27.26,
-28.48,28.06,28.66,28.42,28.92,29.24,28.20,29.64,30.41,29.43,
-29.97,29.41,30.43,29.25,29.01,30.58,29.50,30.60,29.34,28.44,
-29.48,30.02,30.69,29.66,31.09,31.57,29.76,30.77,30.42,30.83,
-31.79,31.56,32.28,30.07,32.25,30.06,31.46,31.06,33.08,32.44,
-31.14,31.14,33.92,31.28,33.32,31.51,32.71,33.13,31.11,32.46,
-31.67,33.29,30.80,32.85,31.91,32.07,31.65,31.70,32.83,33.98,
-32.21,32.79,33.92,33.86,33.52,34.57,33.81,32.77,33.65,32.90,
-34.11,34.19,32.75,33.98,35.53,34.88,34.30,35.32,33.72,35.32,
-34.95,34.04,35.55,35.62,35.34,35.91,36.05,36.58,36.12,34.99,
-36.06,33.52,36.02,33.55,36.84,35.87,35.36,37.06,35.08,36.47,
-36.54,35.49,36.26,35.99,35.22,37.04,36.24,35.28,36.00,36.93,
-37.84,36.50,36.28,37.78,35.66,37.91,36.58,35.52,38.29,37.27,
-38.23,38.04,38.08,36.46,37.71,37.83,37.46,39.76,39.13,37.31,
-37.32,37.76,38.91,39.75,38.64,37.86,40.15,38.82,38.35,37.08,
-6.26,6.94,6.76,7.77,7.43,7.82,7.80,8.30,8.10,9.31,
-9.10,9.77,9.21,10.22,10.01,10.62,10.68,10.22,11.20,10.68,
-11.32,11.08,11.91,12.18,11.30,12.23,12.33,11.75,12.73,12.34,
-12.75,12.62,13.74,13.31,13.31,13.52,13.22,14.12,14.21,13.90,
-14.58,14.23,14.68,15.15,14.53,15.15,15.39,15.72,15.73,15.75,
-15.63,15.00,16.47,16.50,15.82,16.90,16.49,16.55,17.04,17.44,
-17.50,17.17,17.74,17.22,17.03,17.82,17.37,18.34,19.08,18.05,
-17.86,18.52,18.19,18.24,18.97,19.20,18.98,18.76,19.18,19.37,
-18.53,19.44,19.24,20.00,19.69,19.56,19.32,20.38,19.43,20.91,
-20.15,20.40,20.36,19.74,19.94,20.80,21.46,21.24,21.90,20.46,
-21.72,21.38,21.53,20.68,21.35,21.81,22.08,23.08,22.09,22.43,
-22.02,21.21,22.86,24.11,22.46,22.15,22.69,23.20,21.63,22.47,
-23.09,23.98,23.20,22.77,24.07,23.49,24.32,23.77,23.71,23.51,
-24.05,23.42,24.02,23.86,25.00,25.02,25.60,24.37,25.21,23.85,
-25.73,24.85,24.73,25.18,24.25,24.27,25.52,25.93,25.05,26.40,
-25.41,25.71,24.72,26.89,26.13,25.65,25.97,27.33,25.66,26.17,
-27.34,26.77,28.22,25.33,26.46,27.56,26.10,27.34,27.91,27.04,
-27.30,26.50,27.64,27.24,28.80,26.99,26.53,29.04,26.98,29.00,
-27.42,27.49,28.31,27.99,27.50,28.06,28.55,30.01,28.50,30.43,
-28.30,29.70,28.68,29.16,28.03,28.86,29.63,28.77,27.91,29.87,
-30.21,29.28,28.19,31.09,30.18,30.03,28.54,30.48,28.81,29.89,
-29.80,29.81,30.02,31.00,30.03,30.80,29.35,30.03,32.40,30.76,
-30.30,30.66,29.98,29.19,30.80,30.28,31.93,30.01,30.49,30.77,
-31.39,30.89,30.63,32.09,32.88,31.14,31.91,31.83,32.12,32.30,
-32.09,32.41,31.48,31.98,32.95,32.18,32.37,32.23,32.38,33.82,
-33.00,32.23,33.09,32.81,32.64,32.04,32.15,31.95,33.82,32.76,
-33.21,34.10,32.57,34.87,33.54,34.52,34.97,33.57,33.27,33.63,
-32.61,33.91,33.95,33.87,35.56,34.12,33.64,33.70,35.41,33.67,
-33.67,34.63,36.80,34.97,34.15,34.03,34.67,35.15,34.23,35.42,
-5.47,6.26,6.39,6.72,6.32,6.97,7.00,7.06,7.95,7.82,
-8.18,8.05,8.35,8.70,9.58,9.63,9.49,9.15,10.35,8.93,
-9.21,9.71,10.30,10.13,10.15,11.30,9.90,11.27,11.73,11.73,
-11.65,11.92,11.83,12.48,12.07,11.84,12.62,12.96,12.55,12.87,
-12.96,12.54,13.15,13.39,13.74,13.34,13.69,12.82,13.88,14.53,
-14.30,13.75,14.47,14.25,14.26,14.67,14.98,14.76,14.32,16.06,
-14.99,15.09,15.79,15.21,15.56,15.01,15.73,15.60,16.21,16.55,
-15.87,16.14,16.40,17.17,17.02,17.26,17.08,16.67,16.25,17.16,
-18.02,17.17,18.00,17.90,16.81,17.96,18.73,16.97,18.46,17.80,
-17.64,17.68,19.33,18.48,17.85,18.30,18.56,19.13,18.10,19.42,
-19.21,18.85,19.57,20.47,19.11,19.45,20.42,20.56,19.95,20.01,
-19.36,19.15,20.09,20.47,20.91,18.78,20.66,20.41,21.30,21.38,
-19.99,21.26,21.22,20.76,21.27,20.34,20.60,20.33,20.26,21.54,
-21.07,20.38,22.37,22.39,21.73,21.50,21.92,21.67,22.19,22.37,
-21.69,22.06,22.71,22.63,22.39,22.56,23.62,23.32,22.38,23.23,
-24.10,23.04,22.88,23.56,23.38,22.95,23.65,23.75,23.63,23.19,
-24.06,24.16,24.61,23.76,23.79,23.36,24.28,25.24,23.29,23.90,
-25.31,23.59,23.74,24.42,26.18,24.61,25.32,25.16,24.75,24.98,
-24.55,24.14,25.85,26.14,25.53,25.30,24.65,25.85,25.54,26.05,
-24.87,26.32,25.58,25.35,26.83,25.54,25.80,27.36,26.52,27.10,
-26.40,25.78,27.80,26.65,26.89,26.99,26.54,27.27,27.16,27.52,
-25.35,27.16,27.62,26.70,28.51,28.07,27.55,27.25,27.47,27.42,
-26.43,27.16,28.12,27.59,28.17,27.27,29.28,28.07,27.48,28.67,
-28.70,28.41,28.40,28.39,29.32,29.03,28.65,28.39,28.48,28.65,
-29.86,29.58,29.44,29.29,29.53,30.49,28.73,27.63,28.53,29.68,
-28.95,29.67,29.05,29.09,28.55,29.03,29.75,29.43,29.99,29.68,
-29.93,31.54,29.48,28.93,30.12,29.33,29.74,28.76,30.25,30.46,
-31.00,30.53,30.76,30.95,31.20,29.94,31.25,30.08,30.44,31.66,
-31.19,30.86,29.98,30.58,31.04,30.23,31.98,31.25,30.43,32.80,
-5.10,5.84,5.42,5.62,6.10,6.39,7.12,7.13,6.14,6.82,
-6.86,7.59,7.00,8.05,8.35,8.46,8.66,8.62,9.11,8.97,
-9.03,9.47,10.13,8.94,9.50,9.51,9.85,9.49,11.06,9.87,
-10.68,10.07,10.91,11.10,10.43,10.70,11.02,11.22,11.50,10.68,
-11.14,12.12,11.22,11.82,11.10,11.88,12.14,12.27,12.95,12.49,
-12.37,13.40,13.51,12.68,12.21,14.01,13.59,13.23,12.92,13.65,
-14.26,13.69,13.12,13.63,13.41,13.67,14.78,14.50,14.89,13.72,
-15.09,14.25,14.33,14.56,14.81,14.50,14.81,15.41,15.57,15.58,
-15.32,16.48,14.75,16.05,16.34,15.45,16.98,15.68,16.11,15.78,
-16.36,17.45,16.29,15.77,16.05,17.05,16.74,17.35,18.04,16.82,
-17.57,17.23,17.81,17.74,17.00,16.81,17.67,17.30,17.72,17.42,
-17.94,18.36,18.44,18.63,18.16,17.83,18.45,17.73,18.94,18.34,
-20.09,18.78,18.96,18.84,19.52,19.18,18.82,19.76,19.91,19.73,
-19.61,19.69,19.98,19.19,19.06,19.79,21.46,19.25,20.80,19.16,
-20.57,20.05,20.08,19.93,19.84,19.81,20.84,19.36,20.84,21.42,
-20.31,20.52,20.50,19.96,20.98,21.38,20.87,20.45,20.48,22.59,
-22.39,20.72,21.44,22.35,21.32,21.99,22.03,20.91,21.05,21.56,
-22.45,22.23,21.85,21.49,21.54,23.09,21.73,21.89,22.44,21.72,
-23.65,22.55,21.18,23.66,22.79,22.55,22.07,23.60,23.32,23.40,
-23.15,23.54,22.89,23.07,23.48,22.66,23.85,23.91,22.17,23.80,
-23.74,23.59,24.23,24.23,24.22,23.65,24.44,23.87,23.64,24.48,
-23.60,24.52,24.30,23.54,24.47,25.62,25.15,24.26,24.32,23.91,
-24.14,24.93,24.19,24.82,25.62,24.12,27.44,24.80,25.15,25.19,
-26.00,23.68,25.87,25.05,25.58,26.21,25.21,26.04,25.37,25.36,
-25.62,26.79,25.53,25.98,26.13,25.89,25.71,26.75,26.20,27.58,
-25.81,25.41,26.65,25.68,26.99,27.12,25.83,27.81,26.88,26.27,
-25.71,26.13,26.32,26.25,26.27,26.17,26.08,27.02,26.33,28.45,
-26.71,26.21,26.77,26.42,28.72,28.54,27.56,28.46,27.19,27.34,
-27.21,27.55,29.06,27.71,28.11,27.88,28.82,27.53,28.33,27.61,
-4.67,4.42,5.92,4.88,5.78,5.64,6.00,5.27,5.17,6.73,
-6.45,7.12,6.73,7.22,6.67,7.99,6.88,8.15,7.75,8.47,
-8.35,8.23,8.38,7.88,8.26,9.24,9.14,8.58,8.93,8.85,
-9.15,9.81,9.12,9.72,8.90,10.02,9.66,9.54,9.52,9.54,
-9.76,10.40,10.37,10.37,10.78,10.91,10.72,11.26,11.79,10.99,
-10.50,11.69,11.27,10.73,11.68,11.96,11.89,11.15,12.18,12.73,
-12.02,12.34,12.66,12.15,12.48,13.00,12.30,12.45,12.71,12.90,
-12.86,12.92,13.65,14.37,13.09,13.23,13.44,14.30,13.82,14.17,
-12.72,13.98,13.56,14.52,13.57,14.38,14.75,13.81,14.01,15.00,
-14.26,14.64,14.77,14.94,16.37,14.94,15.12,15.31,15.52,16.37,
-14.45,15.23,15.34,15.45,15.12,15.58,15.46,15.39,16.30,16.34,
-15.09,16.35,15.26,16.12,15.69,15.93,16.81,15.77,16.41,15.53,
-15.45,16.66,16.95,16.44,17.28,16.67,17.67,18.04,17.50,16.35,
-16.58,17.81,17.04,16.26,16.98,16.94,17.96,17.93,18.45,17.82,
-16.87,18.37,18.33,17.79,17.46,19.06,17.61,18.05,19.11,18.86,
-18.50,18.78,17.58,17.15,19.20,18.65,18.11,18.77,19.35,19.01,
-19.01,18.85,19.19,19.34,19.44,18.03,18.76,19.39,18.81,19.94,
-19.93,19.82,20.13,19.88,19.86,19.09,20.19,20.60,19.39,20.10,
-20.84,19.78,20.14,19.85,20.32,20.50,19.88,20.37,22.23,20.65,
-19.65,20.68,20.29,20.31,20.40,21.16,21.20,20.86,20.98,20.56,
-19.95,20.67,22.02,21.41,21.13,21.80,22.47,21.64,21.50,21.93,
-21.44,23.19,20.71,22.67,22.94,21.11,21.28,21.99,21.47,22.13,
-22.20,21.74,22.46,21.90,22.36,21.93,21.72,21.04,22.89,22.07,
-22.83,22.76,21.17,22.44,23.45,22.93,22.41,21.62,22.72,22.70,
-21.65,22.39,23.10,23.23,23.83,22.30,23.61,23.18,24.15,22.62,
-23.01,23.90,24.54,24.51,22.73,24.34,24.21,22.78,23.21,23.23,
-24.03,24.23,23.70,24.09,24.52,24.28,24.44,23.36,24.21,23.34,
-24.03,24.30,24.69,25.78,25.16,24.45,24.87,24.88,25.82,23.87,
-24.30,25.73,25.84,24.68,24.65,25.34,24.50,25.16,25.11,25.62,
-4.71,3.90,4.59,4.00,4.68,4.52,5.24,4.98,5.49,5.43,
-6.03,5.72,6.41,6.64,5.92,6.74,6.25,6.81,6.40,6.96,
-6.44,6.67,7.52,7.41,7.10,6.94,7.70,8.02,8.60,8.80,
-8.10,8.40,7.98,8.56,8.04,8.25,8.71,9.77,9.15,9.51,
-9.08,9.32,8.15,9.17,8.58,8.74,9.40,10.08,9.98,9.57,
-9.93,9.92,10.28,10.31,10.71,10.10,10.95,10.59,10.46,11.50,
-10.12,11.17,11.38,11.02,11.05,11.25,11.62,11.65,11.56,11.31,
-12.15,11.48,11.79,11.77,11.18,12.26,11.99,12.02,12.82,12.68,
-13.73,11.98,12.38,12.66,12.20,13.02,12.13,12.09,12.91,13.14,
-12.80,13.26,13.14,13.22,12.65,13.64,13.68,12.77,14.74,13.58,
-13.56,13.79,13.81,13.64,14.13,14.75,13.82,13.39,13.59,13.89,
-13.91,13.85,13.72,14.33,14.57,14.47,14.18,14.55,14.24,15.42,
-15.16,14.99,15.00,14.38,14.48,15.14,15.48,15.38,15.29,15.29,
-15.03,16.65,14.71,16.20,15.19,15.23,15.22,16.37,15.45,14.76,
-16.23,16.76,16.49,16.43,15.93,15.74,15.67,16.81,16.35,17.04,
-16.60,16.81,15.80,17.60,16.72,16.23,17.44,16.52,17.35,17.00,
-17.67,17.51,17.88,16.43,17.18,16.38,16.61,17.78,17.56,18.40,
-16.97,17.72,18.02,17.05,16.89,17.22,17.45,17.33,17.18,18.44,
-17.16,18.09,18.67,18.60,17.63,17.72,18.08,18.47,19.17,19.01,
-18.15,18.71,18.61,18.40,19.31,18.23,18.60,17.63,18.95,19.36,
-19.20,18.79,19.55,19.04,19.20,18.30,18.73,18.62,20.37,18.62,
-19.54,20.20,19.13,18.75,19.64,18.55,20.81,20.06,19.50,19.48,
-19.33,18.89,19.80,19.56,18.59,19.99,19.83,19.49,20.65,19.58,
-19.53,21.38,21.06,20.15,20.73,19.40,20.89,20.35,20.74,19.90,
-21.27,20.58,20.61,21.57,20.31,20.87,21.00,20.05,20.17,21.11,
-20.87,20.45,21.48,21.79,20.64,21.43,20.12,20.89,21.05,21.15,
-21.06,21.99,21.78,22.59,21.38,21.14,21.42,21.45,21.80,22.89,
-21.82,22.56,21.30,20.54,21.62,21.62,22.59,22.05,22.15,22.14,
-21.75,22.31,21.24,22.45,23.92,22.45,22.48,21.82,22.49,21.90,
-2.78,3.96,3.96,4.56,4.32,4.14,4.16,5.04,5.36,4.18,
-5.41,5.16,5.60,5.83,6.33,4.66,6.08,5.89,6.34,5.72,
-6.30,6.68,7.00,7.18,6.81,6.78,7.12,7.50,6.18,7.67,
-7.64,7.10,7.46,6.90,7.55,7.40,8.00,7.89,8.31,7.47,
-8.22,8.40,7.99,8.08,8.83,7.65,8.49,8.64,8.70,8.47,
-8.75,8.77,9.25,9.22,9.20,8.52,9.12,9.43,10.29,9.40,
-9.24,9.81,10.76,9.80,9.82,10.04,10.85,10.35,10.22,10.51,
-9.65,9.85,10.22,10.55,11.08,10.14,10.68,10.26,10.39,10.73,
-11.36,10.73,10.93,11.28,10.84,11.31,11.20,10.57,11.16,11.82,
-10.97,11.67,10.98,12.09,11.74,11.49,12.73,12.66,11.99,12.48,
-12.33,12.90,12.32,13.01,13.05,12.26,12.10,12.38,11.96,12.68,
-12.43,11.86,11.72,12.46,12.59,14.02,13.19,12.15,12.99,12.85,
-12.30,12.33,12.55,13.60,13.14,13.43,13.97,14.49,13.18,13.91,
-13.63,13.49,13.94,13.64,14.07,13.66,14.27,14.05,14.22,14.78,
-14.96,13.99,14.64,14.04,13.25,14.08,14.76,14.65,15.18,14.53,
-14.66,14.86,14.17,14.53,15.95,15.22,15.09,15.69,14.89,15.25,
-15.49,15.66,15.24,14.89,14.98,15.06,14.73,14.62,14.89,15.73,
-14.84,14.89,16.00,15.57,15.42,15.46,16.23,14.81,15.83,16.86,
-15.03,15.51,15.15,17.17,16.63,15.77,15.35,16.88,17.19,16.77,
-15.87,17.25,16.01,16.81,17.52,16.78,15.45,16.37,16.09,17.20,
-16.38,16.68,16.52,17.69,17.23,16.02,17.16,17.43,17.71,16.81,
-17.35,18.00,17.05,16.93,17.00,18.42,17.04,18.22,17.13,18.04,
-17.84,16.84,18.10,18.45,17.81,17.06,18.65,17.15,18.29,17.99,
-17.61,16.91,17.60,16.83,17.73,18.09,18.11,16.81,17.02,18.57,
-18.24,18.22,18.23,18.57,19.17,18.17,17.69,18.25,18.75,18.65,
-18.07,18.54,19.15,18.30,19.61,17.79,18.63,18.53,19.42,18.92,
-19.00,18.04,18.99,19.12,18.00,18.79,19.22,19.26,19.10,18.94,
-19.08,19.32,19.55,20.87,19.92,19.74,18.42,20.32,18.91,19.57,
-19.02,20.00,19.38,20.63,19.27,19.84,20.49,19.24,19.69,20.41,
-2.92,3.47,2.77,3.53,4.07,4.34,4.47,4.36,4.35,5.17,
-5.11,5.27,4.85,4.04,4.78,5.49,4.99,5.54,5.67,5.56,
-5.39,5.72,4.96,5.68,5.59,6.01,7.11,6.09,6.33,6.27,
-6.75,6.88,6.85,6.50,6.73,6.61,6.65,6.66,6.86,7.68,
-6.67,6.77,7.71,6.74,7.25,8.10,7.83,7.86,7.50,7.77,
-7.75,8.33,7.91,8.44,7.96,7.60,7.52,8.91,8.02,8.16,
-8.50,8.48,8.88,7.93,9.43,8.66,8.42,8.98,8.18,10.20,
-10.02,8.14,8.64,9.80,9.38,9.56,7.92,8.69,9.59,9.17,
-10.01,10.20,9.62,9.67,10.34,10.42,10.24,9.84,9.99,10.32,
-9.80,11.34,10.30,9.67,10.36,9.80,9.56,9.67,10.63,10.78,
-10.09,10.24,11.67,10.69,10.64,11.14,10.67,11.13,10.89,10.03,
-11.69,10.55,12.09,11.95,11.68,11.17,11.54,11.78,12.47,11.49,
-11.65,12.31,11.31,12.64,11.41,11.86,11.45,12.23,11.31,12.32,
-12.39,12.00,12.42,12.89,12.24,11.97,13.60,12.07,12.64,12.94,
-11.81,12.07,11.87,12.50,12.72,12.94,12.61,13.48,12.78,12.92,
-13.46,13.75,13.58,13.73,12.93,13.31,13.42,13.90,14.43,12.52,
-12.89,13.37,13.83,13.37,13.79,13.17,13.21,13.15,13.98,13.33,
-13.26,12.96,14.16,14.30,13.34,14.82,14.24,14.04,14.30,13.94,
-13.51,13.84,13.66,13.97,14.25,14.51,14.44,14.94,14.61,14.65,
-13.41,14.12,14.95,15.43,15.89,15.28,14.82,14.28,15.14,14.76,
-14.75,14.61,15.76,16.05,14.09,15.25,14.66,15.42,15.57,14.72,
-15.44,15.84,16.58,15.40,14.60,15.70,16.34,15.11,15.85,14.62,
-15.21,15.37,16.12,16.72,15.75,15.67,15.16,15.12,16.04,15.71,
-15.89,16.52,14.85,16.43,16.22,16.01,16.63,16.34,16.18,17.14,
-14.79,16.24,16.22,16.46,16.32,15.58,17.38,16.00,15.27,16.41,
-16.78,16.04,17.14,16.33,15.98,16.46,16.27,16.67,17.89,17.06,
-17.84,17.28,16.70,16.81,16.92,17.06,16.12,17.27,16.98,16.45,
-18.14,17.51,16.04,16.85,17.73,16.53,17.80,18.14,17.05,17.05,
-17.70,17.74,17.12,17.75,17.18,17.79,17.79,17.77,17.69,18.39,
-13.77,14.11,14.38,15.05,16.32,16.79,16.23,17.30,17.41,18.21,
-19.11,18.80,19.88,20.53,21.24,20.79,21.39,22.65,22.23,23.06,
-22.76,23.03,23.07,24.09,25.23,23.87,25.22,26.03,25.99,26.19,
-26.18,26.76,26.79,27.29,27.11,28.09,27.10,29.31,28.75,28.32,
-30.50,29.55,28.97,29.88,30.40,31.95,31.20,31.66,32.56,33.15,
-32.33,33.28,32.59,33.77,33.20,34.08,33.61,33.10,34.69,35.09,
-34.51,33.65,36.05,36.32,35.78,35.57,36.76,36.17,36.71,36.63,
-38.20,35.49,38.19,38.60,37.66,37.96,38.73,38.23,40.21,39.07,
-40.58,39.31,38.76,39.46,40.40,40.55,41.18,42.32,41.58,41.48,
-41.81,40.63,42.69,41.75,43.94,40.67,41.56,43.42,43.13,45.45,
-44.74,43.39,43.77,46.05,43.84,44.60,44.80,46.06,43.59,44.97,
-45.28,45.02,46.53,46.18,46.48,45.14,47.26,47.72,47.10,45.57,
-45.21,46.13,49.29,46.42,48.57,46.99,47.97,47.53,47.08,49.05,
-47.64,50.72,50.36,49.54,49.18,49.23,49.42,50.09,53.02,49.60,
-50.60,49.80,50.50,50.48,51.93,51.88,52.84,51.64,52.58,55.88,
-52.53,52.18,54.48,54.26,53.10,53.63,54.06,52.62,53.89,53.29,
-54.92,53.04,52.67,54.18,53.99,57.19,53.66,57.14,53.88,55.73,
-56.84,55.98,55.17,55.36,57.60,56.81,56.90,58.63,54.75,58.17,
-57.37,57.50,54.48,56.62,57.34,56.62,58.69,58.00,58.87,59.52,
-58.15,56.07,57.48,59.46,57.91,58.28,58.50,61.66,60.06,58.59,
-57.87,61.69,58.81,62.91,59.17,60.11,61.94,63.60,61.69,60.14,
-63.46,62.24,63.49,60.93,62.33,65.05,63.66,62.68,60.68,61.39,
-63.69,62.58,60.82,61.47,61.24,64.35,63.65,62.76,63.80,63.87,
-63.90,64.18,62.47,65.26,63.17,67.08,64.53,64.52,66.92,64.00,
-66.19,64.91,65.58,66.11,65.38,65.84,66.16,66.74,67.44,67.22,
-68.84,67.41,67.43,64.33,66.42,67.69,69.24,67.48,68.18,68.81,
-66.82,68.56,68.62,69.72,69.59,68.63,70.29,67.46,69.03,70.86,
-67.93,73.78,69.56,70.53,68.56,69.98,74.48,70.02,71.02,70.17,
-70.18,70.58,69.76,73.51,73.63,68.26,72.07,72.70,69.34,73.82,
-13.06,12.72,13.37,14.29,15.00,15.62,16.52,17.78,16.34,17.36,
-18.00,17.82,18.79,19.48,20.00,19.96,21.00,21.47,21.79,20.82,
-22.63,22.34,22.41,22.42,23.42,23.77,23.66,25.31,24.54,25.48,
-26.05,25.22,25.11,27.04,25.67,27.36,26.64,27.91,27.03,27.94,
-28.76,28.81,28.18,29.17,29.11,30.72,30.70,30.88,30.59,31.33,
-30.19,31.35,31.73,31.83,31.29,31.91,32.70,32.98,31.65,33.49,
-33.30,33.93,34.93,33.07,34.74,34.05,34.44,34.93,36.44,36.89,
-35.60,34.62,35.67,35.83,37.07,37.83,37.12,38.08,36.45,37.28,
-37.70,38.91,39.13,40.17,38.02,38.32,39.16,38.05,40.55,38.37,
-40.32,41.33,40.34,41.51,41.06,41.13,41.17,40.53,41.86,40.21,
-41.23,42.31,39.52,43.16,42.05,42.35,43.23,41.84,43.11,45.11,
-45.38,44.42,42.45,44.08,45.23,43.30,44.72,43.05,44.90,46.27,
-45.64,45.56,44.88,47.08,44.59,46.37,46.12,47.61,47.78,47.26,
-47.05,48.56,47.84,46.87,47.46,48.38,47.54,47.64,48.21,48.89,
-48.21,48.77,50.87,49.57,48.33,49.04,51.04,46.33,48.41,49.40,
-50.09,49.21,50.73,48.23,51.07,51.89,51.17,51.64,54.48,51.89,
-52.90,51.94,49.37,49.90,51.52,54.65,50.79,52.91,53.02,51.92,
-52.06,54.54,53.66,53.56,51.75,54.49,52.44,55.30,54.37,54.59,
-55.19,53.85,54.72,54.21,53.00,54.12,58.51,55.17,55.46,56.04,
-57.66,55.37,57.35,55.93,58.87,55.32,57.53,56.19,57.47,55.59,
-57.48,56.68,60.37,57.39,58.62,57.82,59.59,57.36,58.70,59.05,
-58.85,58.77,59.40,60.65,58.83,60.73,60.34,61.23,59.20,59.73,
-62.37,61.36,57.97,59.66,59.97,60.00,63.45,60.30,61.38,59.49,
-62.01,61.25,62.00,61.07,61.06,62.77,64.24,61.02,62.94,64.19,
-63.97,65.63,61.34,63.37,62.87,62.54,64.31,63.11,62.89,65.54,
-62.19,64.07,64.05,65.19,64.34,61.04,66.38,63.67,67.85,63.49,
-67.25,67.53,64.13,65.75,65.46,65.19,66.72,65.30,64.17,67.67,
-65.98,66.36,65.34,64.22,64.82,65.78,68.15,68.91,66.38,66.66,
-64.46,66.17,67.99,66.61,68.66,65.49,68.05,67.02,67.56,67.10,
-12.05,12.86,13.11,13.86,14.10,14.41,14.30,15.50,16.77,16.30,
-17.49,16.91,18.12,16.97,18.57,18.98,18.89,19.20,19.63,20.15,
-20.68,20.80,21.38,21.87,21.54,21.97,22.70,22.96,22.54,23.55,
-23.71,23.66,25.98,24.81,24.68,24.40,25.36,25.56,26.02,25.57,
-26.64,27.24,26.65,27.71,27.08,26.28,27.56,28.52,28.82,28.62,
-29.27,29.72,28.92,29.61,29.88,30.25,30.60,30.36,30.67,31.74,
-32.04,31.53,31.27,32.78,32.68,33.00,33.58,33.39,33.47,32.74,
-32.67,33.70,33.65,35.13,33.92,34.44,35.67,33.56,35.44,36.52,
-35.38,35.09,37.42,35.68,36.94,36.74,36.31,36.88,38.92,37.20,
-38.26,35.99,37.19,37.76,36.43,38.41,38.98,37.74,38.42,39.06,
-39.35,39.60,39.89,39.20,39.79,38.54,40.64,42.63,40.81,41.78,
-42.24,41.05,41.20,40.55,41.75,39.80,39.28,41.57,39.97,42.28,
-40.67,42.03,42.87,42.95,43.09,43.76,44.04,44.94,43.68,45.33,
-43.32,44.29,44.80,43.79,44.47,46.28,44.33,45.42,45.19,45.45,
-46.55,46.36,45.76,47.70,47.01,45.45,45.68,47.91,46.34,47.29,
-47.58,47.92,46.29,47.11,50.91,49.93,50.60,48.20,47.93,48.55,
-50.03,48.26,48.87,50.34,51.46,49.49,49.61,50.45,48.84,49.70,
-48.98,50.57,47.85,50.60,52.57,50.75,50.43,50.84,51.44,55.53,
-52.05,51.70,52.89,51.35,51.81,52.22,54.23,51.72,50.84,53.65,
-54.64,53.80,53.90,53.19,53.59,54.93,54.58,53.31,53.38,54.17,
-53.65,54.61,53.71,54.13,54.73,54.49,52.96,53.93,54.04,55.74,
-55.50,56.81,53.52,55.10,54.79,57.14,57.35,57.45,57.93,56.30,
-56.31,58.37,58.77,57.51,55.39,56.76,58.16,55.38,59.23,56.92,
-57.82,57.19,57.10,58.92,59.05,58.86,59.86,59.49,58.68,59.40,
-57.16,59.87,59.46,58.98,61.35,62.00,59.91,59.19,60.55,58.81,
-60.26,59.64,60.94,60.55,60.35,60.65,59.91,61.99,59.97,61.19,
-61.48,60.34,61.63,64.90,60.89,61.18,63.03,61.20,65.55,65.22,
-62.44,63.51,63.76,63.33,60.94,60.45,62.25,63.99,65.15,62.29,
-63.43,64.47,63.79,64.32,64.03,62.87,64.31,63.43,65.27,66.69,
-11.28,11.84,12.25,13.36,13.89,14.29,14.30,14.74,14.92,15.79,
-15.64,15.69,16.89,16.08,16.79,17.49,17.54,18.54,18.57,19.12,
-19.50,19.57,20.25,20.50,20.65,20.81,21.58,21.60,21.49,22.06,
-21.09,23.03,22.35,23.01,23.66,23.65,24.12,23.63,24.48,24.66,
-24.61,24.25,24.98,26.80,26.38,25.19,26.98,27.63,26.35,28.39,
-27.65,27.36,26.95,27.96,27.22,28.42,29.79,29.11,28.65,29.90,
-29.92,29.23,29.10,29.64,29.97,29.67,30.68,30.43,30.65,30.45,
-31.21,31.99,31.55,32.14,31.47,30.94,33.25,32.96,32.47,32.47,
-33.52,33.37,33.39,34.08,35.44,32.88,34.69,33.95,33.56,34.29,
-36.31,34.80,35.06,34.58,35.80,37.01,35.60,38.04,37.03,34.20,
-36.62,37.54,37.20,37.30,37.78,37.43,38.02,39.12,38.37,37.33,
-39.15,39.76,38.61,38.33,39.36,38.32,38.44,40.50,39.12,39.58,
-38.91,41.24,39.01,38.93,40.55,42.55,40.05,41.11,39.83,42.42,
-40.04,41.28,41.27,41.74,41.61,42.96,42.64,43.72,42.20,42.98,
-43.17,44.69,44.91,42.51,43.02,43.59,44.70,43.42,43.90,45.66,
-44.80,43.11,46.23,45.42,44.83,45.63,45.61,44.48,45.20,44.20,
-45.89,45.60,45.76,47.69,45.97,46.22,46.16,47.85,47.05,47.23,
-46.58,49.31,48.18,48.17,45.86,45.83,47.10,48.56,48.05,47.96,
-49.45,49.06,47.07,47.46,51.86,49.51,50.00,49.76,50.42,48.88,
-50.39,51.52,50.76,48.89,47.87,51.06,49.56,48.59,48.58,50.70,
-51.11,51.09,51.38,51.58,53.64,52.64,49.33,51.93,52.66,50.12,
-53.10,50.50,50.66,51.15,51.24,52.82,51.13,52.03,52.08,52.42,
-53.33,52.85,52.28,54.93,53.54,57.27,54.80,52.64,53.93,55.22,
-55.23,53.77,53.59,55.60,57.19,54.97,56.88,56.33,54.93,55.17,
-53.26,54.90,55.58,54.36,55.53,59.05,56.25,57.47,58.85,57.28,
-58.12,56.75,57.80,56.93,57.10,56.82,57.47,57.37,57.22,56.58,
-56.90,56.97,57.41,55.70,55.84,56.58,57.00,59.30,57.83,58.09,
-58.17,57.83,57.89,58.01,58.81,59.37,60.92,59.98,57.35,58.67,
-60.65,59.18,59.53,62.24,57.48,61.14,60.94,63.59,61.45,59.47,
-10.23,10.99,11.62,11.71,12.86,12.50,13.16,13.73,13.58,14.38,
-15.16,15.41,15.15,15.69,16.21,16.46,16.91,17.34,16.85,18.72,
-17.68,17.67,18.04,19.28,19.15,18.90,19.44,20.96,21.22,19.78,
-20.51,21.84,21.02,21.08,20.75,21.46,21.31,23.07,22.08,22.42,
-23.09,24.14,23.70,24.29,24.28,22.69,24.70,24.27,25.05,25.29,
-23.86,24.59,25.08,25.28,26.17,26.75,26.69,25.50,26.79,27.66,
-27.31,27.75,27.77,27.69,28.68,27.08,27.95,28.75,29.44,27.85,
-28.53,29.60,28.57,30.51,29.91,29.63,31.42,31.46,30.80,31.36,
-30.35,31.63,29.62,30.42,31.43,32.56,32.55,31.00,31.61,32.23,
-32.12,31.29,32.27,33.44,33.73,33.08,33.20,32.87,34.12,34.32,
-35.05,34.87,34.40,36.26,35.62,34.50,36.01,35.16,35.33,36.50,
-35.01,35.66,37.30,36.48,38.25,36.89,36.50,36.80,36.44,36.93,
-36.76,37.91,37.44,36.79,37.64,38.99,39.41,38.15,38.54,38.61,
-37.00,38.78,38.40,38.58,38.66,39.64,40.28,39.87,39.97,39.79,
-40.36,39.47,39.30,40.01,39.40,41.17,39.54,41.22,41.60,40.79,
-42.52,42.05,41.60,40.29,43.16,43.06,43.22,42.09,42.36,40.77,
-42.93,43.37,42.98,42.80,41.24,44.07,44.17,42.27,43.76,43.49,
-44.64,42.44,44.40,43.11,43.78,43.56,44.93,42.62,45.30,43.12,
-44.38,47.31,45.50,45.44,45.90,46.61,47.05,45.44,47.43,46.21,
-44.92,44.54,45.33,49.41,47.25,45.52,49.85,46.07,46.66,46.32,
-45.76,46.39,46.89,47.18,46.18,48.63,48.24,48.16,48.93,46.14,
-47.66,51.91,49.05,45.11,49.97,49.33,49.15,48.50,50.43,49.01,
-50.62,50.88,50.59,48.36,51.52,51.64,49.32,50.47,49.10,50.80,
-52.51,50.96,49.43,52.49,51.61,51.71,52.12,51.45,50.73,50.63,
-51.12,51.36,52.06,54.15,50.57,51.50,53.17,50.38,51.25,50.66,
-51.65,51.90,54.19,54.31,53.42,52.25,50.61,54.89,53.04,52.53,
-51.52,52.65,50.00,52.59,54.24,54.72,52.19,54.00,55.01,54.46,
-51.52,56.07,55.93,54.56,54.93,56.37,55.50,54.98,56.75,55.04,
-58.15,56.33,56.46,57.10,55.54,55.33,56.23,55.38,51.93,56.97,
-9.65,9.83,10.41,10.93,11.44,11.92,12.77,12.36,13.02,13.03,
-14.16,13.89,13.38,14.34,14.17,15.15,15.57,15.70,14.97,15.71,
-16.23,17.37,18.12,16.75,17.48,17.42,17.54,18.34,18.13,18.75,
-18.82,18.26,18.43,19.64,20.36,20.35,20.40,20.15,20.83,20.81,
-21.65,21.63,21.92,21.89,21.29,22.04,22.15,21.62,22.49,21.94,
-22.67,22.12,22.66,24.80,24.55,24.56,24.41,23.81,25.27,24.35,
-26.54,25.89,25.69,25.22,25.10,26.56,27.13,26.20,26.23,26.60,
-26.95,27.12,26.87,27.93,28.73,27.33,27.89,29.00,27.69,29.89,
-28.12,28.71,28.49,29.97,29.02,29.73,30.37,29.22,29.54,29.28,
-29.64,29.49,30.11,30.46,30.69,29.07,31.94,30.96,29.99,29.69,
-31.34,30.20,31.44,30.92,32.07,32.79,32.27,30.97,32.63,32.34,
-31.44,32.14,33.46,33.37,33.70,33.36,34.38,34.93,33.75,32.21,
-34.93,34.95,33.62,35.08,34.81,35.73,35.06,33.76,35.50,34.73,
-36.14,36.25,37.07,35.36,35.31,37.16,35.53,36.91,37.64,36.29,
-37.15,35.87,37.84,37.12,37.31,36.70,37.03,36.96,37.78,37.46,
-36.95,37.41,38.26,39.87,39.20,38.54,37.79,37.32,39.96,39.27,
-40.13,38.46,38.95,39.50,38.15,39.44,38.85,39.87,38.23,39.74,
-41.06,39.96,39.97,39.82,39.95,40.03,39.82,40.49,41.20,42.00,
-39.30,40.66,39.89,42.15,40.75,42.99,41.55,40.40,43.83,39.50,
-43.31,44.59,40.67,42.14,43.87,44.80,41.95,41.56,43.64,43.25,
-44.53,44.82,44.02,42.38,43.50,43.88,43.52,45.00,44.33,45.98,
-44.39,44.48,44.83,44.25,44.29,46.28,44.55,45.23,44.32,44.54,
-45.55,44.76,46.34,48.63,46.46,46.99,44.98,47.52,47.95,45.29,
-44.60,46.92,43.28,45.64,46.94,48.21,46.54,47.71,47.40,47.40,
-47.97,46.69,51.23,46.11,46.49,48.49,47.94,47.30,49.33,47.55,
-46.35,48.82,46.84,50.47,50.34,47.97,48.75,49.88,50.08,49.00,
-50.30,49.31,48.06,50.96,49.72,47.31,51.36,49.78,52.08,49.44,
-49.28,48.41,50.88,51.07,49.08,51.95,50.12,48.56,51.24,50.63,
-49.85,51.45,51.12,51.18,50.23,53.25,50.13,50.56,53.55,49.96,
-8.98,9.28,9.66,10.60,9.75,10.81,11.40,11.73,11.98,11.87,
-11.96,12.93,13.07,12.12,13.11,13.39,14.01,14.50,15.66,14.16,
-14.91,14.99,15.21,16.34,16.15,16.29,16.96,16.99,17.04,17.26,
-16.89,17.85,18.38,18.00,17.45,18.42,18.74,19.04,18.93,19.01,
-19.06,19.53,19.93,20.27,20.22,20.52,20.36,21.53,21.91,21.37,
-20.54,21.64,22.27,21.97,21.81,23.06,21.09,22.56,23.51,23.02,
-22.63,23.10,23.72,22.30,24.66,24.41,23.96,24.16,24.76,24.76,
-24.72,25.28,24.14,24.43,25.71,24.62,25.05,25.14,25.42,26.53,
-26.66,25.70,26.97,25.87,27.41,25.38,27.11,27.06,27.09,27.85,
-27.26,27.89,28.16,28.91,27.52,28.52,28.29,28.23,29.21,28.63,
-27.72,29.11,28.18,28.84,30.90,28.58,29.91,29.57,29.71,29.91,
-29.76,29.15,28.95,30.50,30.86,29.92,31.53,30.30,32.38,30.75,
-31.05,32.84,32.19,30.70,31.25,31.47,32.54,31.76,32.50,31.90,
-32.13,32.88,33.00,32.02,32.04,33.16,32.63,32.04,34.65,32.87,
-32.90,32.36,33.61,34.51,32.54,32.66,34.63,35.38,33.49,35.60,
-34.01,36.53,34.15,35.94,35.45,34.73,35.04,34.82,34.91,35.67,
-35.13,36.41,35.85,37.03,36.15,37.11,36.06,35.58,37.14,36.94,
-34.73,36.36,36.28,35.68,38.84,36.56,38.08,38.01,37.99,37.49,
-37.81,37.30,38.40,37.78,37.85,38.96,38.75,38.54,37.72,39.33,
-37.89,40.61,39.89,39.83,41.45,38.90,39.01,40.71,40.45,40.11,
-37.91,39.57,40.60,38.80,39.97,38.37,39.36,39.68,40.71,40.65,
-40.05,41.26,40.84,41.23,41.82,41.41,42.26,42.60,40.15,40.39,
-42.79,43.16,42.50,41.24,41.83,42.85,43.77,42.24,42.73,40.98,
-43.46,42.25,41.25,43.15,41.75,43.97,41.76,42.91,44.32,41.69,
-42.41,44.37,43.95,43.84,43.99,43.64,42.98,44.60,42.86,44.92,
-43.32,44.06,45.16,43.16,44.20,44.84,44.28,45.62,45.64,45.04,
-44.90,46.68,45.49,45.70,45.48,44.70,45.46,45.45,46.49,46.04,
-45.83,46.12,44.32,45.71,44.77,48.25,44.90,45.50,46.94,47.44,
-46.72,47.94,47.40,46.62,47.87,47.28,47.26,45.51,46.78,47.77,
-8.19,8.62,8.93,9.60,8.87,10.15,9.70,10.79,10.82,10.46,
-11.25,11.19,11.90,11.68,11.74,12.27,12.97,13.41,13.51,13.22,
-13.64,14.27,13.58,13.62,14.20,15.13,14.70,15.30,14.95,15.31,
-16.04,16.40,16.41,16.80,16.28,16.37,17.27,17.99,17.85,17.33,
-18.14,18.46,18.48,18.07,18.54,17.59,18.71,19.48,19.10,19.37,
-18.99,19.39,19.71,20.19,21.19,20.40,19.97,21.55,21.29,20.88,
-20.76,21.38,20.90,21.44,21.44,20.82,21.62,21.74,20.35,21.55,
-22.40,22.73,22.91,22.92,22.86,23.44,23.11,22.71,22.89,23.78,
-23.79,22.77,24.17,25.19,24.31,24.18,25.21,24.28,25.91,25.03,
-25.02,24.90,25.31,25.11,25.02,25.76,25.86,25.21,26.42,26.67,
-26.33,25.93,26.03,25.52,26.80,26.09,27.63,28.44,26.26,25.73,
-27.19,26.64,26.72,26.74,27.79,27.47,28.51,28.31,27.52,28.44,
-28.84,27.20,28.06,29.37,28.99,28.40,28.93,28.10,28.33,29.15,
-28.92,29.72,29.38,29.51,29.60,31.42,30.76,30.96,30.81,31.34,
-28.74,30.19,30.24,30.36,29.72,30.52,30.75,31.03,29.93,30.57,
-31.52,30.41,31.65,32.68,31.73,32.31,32.21,31.64,32.91,33.84,
-33.66,32.34,32.13,31.83,32.79,33.52,31.82,33.63,33.84,32.70,
-32.96,33.52,33.81,34.51,32.73,34.11,34.57,33.16,32.89,32.97,
-34.40,34.76,35.26,35.52,34.56,34.69,35.01,33.53,35.18,34.65,
-35.26,33.79,34.61,34.52,35.74,35.98,35.36,36.38,36.58,35.92,
-35.63,36.46,36.49,36.58,37.86,37.32,37.17,36.50,37.87,35.76,
-37.07,36.77,36.96,36.42,37.19,38.64,36.55,37.18,37.28,37.32,
-38.46,38.97,37.62,38.49,38.22,37.77,40.00,39.46,37.18,38.14,
-38.29,40.12,39.73,39.25,39.93,38.59,37.52,39.12,38.81,38.40,
-40.27,40.32,41.13,39.05,39.26,39.39,40.81,39.37,40.56,40.18,
-40.68,40.64,40.50,39.06,38.89,39.95,41.06,40.27,40.73,42.23,
-41.18,39.59,40.71,40.95,40.30,41.64,41.33,41.92,42.08,41.77,
-41.98,41.15,42.59,42.40,39.95,40.35,41.43,43.24,42.57,43.19,
-44.33,42.43,43.05,42.25,41.63,41.43,42.85,42.64,44.05,43.41,
-7.20,7.73,8.01,8.18,8.49,9.15,9.02,9.57,9.96,9.21,
-10.37,10.21,10.94,10.13,10.48,11.54,12.05,12.06,12.07,12.11,
-12.81,13.09,12.86,13.15,13.34,13.84,13.71,14.22,13.65,13.68,
-14.57,14.95,14.77,14.41,14.27,15.47,15.43,15.58,16.01,15.76,
-16.16,15.84,17.27,17.56,16.47,17.37,16.91,17.24,17.41,17.31,
-17.05,17.44,17.01,18.01,18.10,18.29,18.49,18.81,18.97,18.62,
-18.46,19.00,18.45,19.75,19.98,19.05,19.84,20.66,19.56,19.59,
-19.63,19.55,20.70,20.61,20.14,21.18,22.16,20.83,20.91,21.23,
-21.79,21.76,22.69,21.94,22.24,22.03,22.76,21.02,23.59,22.60,
-22.48,22.74,23.83,22.76,23.20,23.84,22.68,23.15,23.72,21.08,
-23.43,24.27,25.09,24.28,23.84,24.21,24.76,25.17,24.98,24.90,
-24.48,25.51,25.59,26.78,26.08,25.83,26.75,25.63,26.53,27.24,
-25.19,25.58,26.06,27.65,25.96,26.32,25.35,24.15,26.14,27.08,
-26.92,27.18,26.72,27.84,28.07,27.61,27.21,25.33,27.73,27.58,
-27.82,28.77,28.14,28.70,27.88,27.53,28.51,27.91,29.29,28.70,
-28.17,27.25,28.44,28.89,29.15,29.31,27.86,29.55,28.03,29.57,
-28.49,29.30,30.49,31.16,30.02,30.44,30.12,30.10,29.71,30.93,
-29.13,29.99,31.29,30.07,30.45,32.84,30.96,31.61,31.72,30.68,
-31.39,31.73,31.75,32.41,33.33,32.79,31.22,32.09,31.37,32.89,
-33.09,32.05,32.50,32.82,32.74,31.85,33.76,33.08,32.63,32.24,
-31.98,34.32,34.19,32.70,33.30,34.29,33.82,32.23,32.06,33.30,
-32.49,33.66,34.65,33.31,33.65,32.29,34.34,34.26,33.18,34.69,
-34.58,35.12,33.86,35.20,35.35,35.99,35.42,35.50,33.84,34.27,
-35.53,34.29,34.82,34.70,34.60,38.13,36.10,35.77,36.05,35.51,
-35.02,36.09,37.10,36.59,34.84,34.33,34.61,37.64,36.18,37.04,
-35.60,36.40,37.96,36.42,36.56,35.60,36.94,36.00,38.66,37.06,
-36.30,38.80,37.72,37.71,38.61,37.03,37.89,36.86,35.77,36.59,
-36.61,37.23,38.54,40.54,38.53,40.51,37.49,38.65,37.85,38.24,
-38.58,37.25,37.10,39.93,38.78,39.33,40.16,38.72,38.61,40.24,
-6.39,7.18,7.53,6.17,7.43,8.16,8.21,8.51,8.38,9.31,
-9.54,8.99,9.54,10.38,9.90,10.67,10.56,11.07,11.16,10.88,
-11.10,11.36,11.62,11.45,11.81,12.43,12.27,12.43,13.11,13.73,
-13.89,13.26,13.35,13.41,13.47,14.26,13.95,14.00,14.68,13.87,
-14.58,14.41,14.96,15.38,16.00,15.60,14.95,15.32,14.95,15.15,
-15.78,16.34,16.03,15.39,16.07,16.30,16.03,16.39,16.49,17.80,
-17.85,17.24,17.23,17.81,17.11,17.60,17.93,18.13,18.20,17.90,
-18.89,18.41,19.89,18.68,18.73,18.16,19.45,19.31,20.05,19.23,
-20.45,18.70,20.26,19.77,19.70,19.04,20.52,19.72,20.86,20.32,
-20.23,20.85,21.63,21.29,21.03,20.93,20.80,21.74,21.23,20.63,
-21.37,22.57,21.60,21.83,22.77,21.96,22.02,22.12,22.78,22.87,
-22.93,23.75,22.79,22.27,23.56,22.84,21.44,23.76,22.91,23.77,
-24.49,23.29,23.63,24.52,24.55,23.98,24.25,25.04,22.64,24.66,
-24.61,23.14,24.57,24.45,24.07,25.29,24.80,23.65,24.15,24.88,
-25.53,25.63,25.27,24.41,25.84,26.55,24.20,25.56,26.66,25.53,
-25.45,26.35,26.81,25.69,25.91,28.20,26.53,27.44,25.43,26.77,
-27.41,25.90,27.46,26.55,26.44,28.12,27.87,26.87,27.04,27.86,
-27.91,27.44,26.27,28.24,28.75,27.71,28.72,28.38,28.51,27.38,
-28.45,27.95,26.24,28.22,29.84,29.60,28.75,27.78,28.84,29.11,
-28.95,29.39,28.84,27.49,29.29,28.67,29.07,29.97,30.29,29.70,
-29.46,30.00,30.51,29.83,30.83,30.69,30.08,29.30,31.32,30.32,
-29.75,30.15,30.42,32.01,29.32,29.94,30.50,30.34,31.74,28.91,
-30.38,32.31,31.99,32.70,31.44,30.51,32.18,30.53,31.21,30.95,
-32.93,31.50,33.14,31.84,32.33,31.37,33.22,32.81,33.06,33.07,
-32.04,31.98,33.54,33.33,32.48,32.78,31.94,32.93,32.97,32.94,
-33.79,33.69,33.19,33.32,33.18,32.83,33.50,33.24,32.78,33.25,
-32.82,33.41,33.75,32.99,34.49,33.61,33.85,33.36,33.20,34.70,
-34.83,34.13,34.94,36.18,32.95,35.48,34.86,34.07,33.84,35.83,
-35.29,34.50,35.29,34.80,35.03,35.83,34.66,35.14,35.75,35.89,
-5.70,5.69,6.82,6.76,7.19,7.06,7.55,7.74,7.61,8.51,
-8.33,8.70,8.59,9.24,9.29,9.81,9.02,9.55,9.85,10.40,
-10.04,10.21,10.18,10.60,10.43,11.58,10.49,11.54,11.33,11.54,
-10.86,11.78,12.09,12.76,11.94,12.51,12.73,12.79,13.14,12.82,
-13.13,13.68,13.08,12.87,14.12,13.18,13.51,13.71,13.73,13.92,
-13.30,15.19,15.43,14.91,14.08,14.93,15.87,15.38,15.79,15.43,
-15.72,15.85,15.85,15.88,16.08,15.85,16.36,16.10,16.39,16.97,
-17.40,16.43,16.82,16.70,17.18,17.41,17.26,16.86,16.72,17.58,
-17.29,17.61,17.80,17.85,17.89,16.77,17.94,18.05,18.63,19.10,
-18.17,18.73,19.31,19.89,19.72,20.67,19.76,18.40,19.11,19.52,
-21.15,19.58,19.58,19.56,19.42,18.95,20.04,19.51,19.82,19.69,
-21.95,20.17,19.51,19.68,19.92,20.93,20.50,20.88,21.45,19.42,
-20.42,21.42,22.66,20.29,20.98,21.92,21.45,23.12,21.12,21.31,
-22.58,21.65,20.50,22.69,21.92,22.95,22.13,22.26,22.62,22.45,
-23.46,22.32,23.29,22.79,23.47,22.65,23.35,23.72,23.19,23.25,
-23.13,23.73,24.25,23.05,24.47,23.66,24.25,25.12,23.69,23.62,
-23.14,24.07,23.96,25.46,23.42,24.58,25.25,24.31,24.59,24.32,
-24.84,25.22,24.65,25.74,26.12,25.50,25.18,24.45,25.22,25.53,
-24.03,25.58,25.90,26.17,26.31,24.58,26.73,25.33,26.10,24.79,
-25.29,27.19,26.75,27.39,28.70,26.19,27.86,27.50,26.33,27.78,
-26.53,25.83,27.64,26.11,26.47,26.76,27.07,26.83,27.83,27.67,
-26.53,26.38,27.77,27.66,28.49,28.56,27.17,27.28,28.47,26.84,
-28.76,29.26,28.38,26.92,28.21,28.58,28.22,27.19,28.34,28.06,
-28.04,28.86,27.25,27.79,28.60,29.30,30.74,30.87,28.98,29.76,
-28.90,28.69,29.71,28.98,29.12,28.37,30.33,30.41,30.75,30.13,
-28.79,29.45,30.94,31.72,29.54,30.21,30.77,31.43,29.78,29.11,
-30.23,31.24,30.31,30.45,31.41,30.61,31.09,30.73,32.19,31.15,
-29.58,30.78,31.59,30.88,30.77,30.96,29.61,31.77,32.59,30.62,
-32.76,31.22,32.22,31.32,32.26,32.36,31.00,32.08,31.81,33.14,
-4.98,6.22,6.49,5.70,6.80,6.33,6.20,6.48,7.36,7.52,
-7.44,7.59,8.09,8.27,8.07,7.99,8.49,9.31,9.32,9.03,
-9.14,9.08,9.58,10.07,9.33,10.39,10.22,9.57,10.57,11.19,
-10.44,11.14,10.79,11.02,10.95,11.77,11.53,11.65,11.81,12.51,
-12.40,11.31,11.56,12.64,11.71,11.97,11.88,11.79,12.88,13.33,
-12.50,13.09,13.65,12.50,12.93,13.71,13.31,13.71,13.26,14.30,
-14.28,14.15,13.60,14.46,14.18,14.18,14.77,14.55,13.92,14.98,
-15.29,14.96,15.64,15.57,15.29,15.02,15.65,15.35,15.97,15.97,
-16.01,16.22,15.40,16.00,16.60,16.61,16.73,15.12,16.65,16.12,
-16.03,15.88,17.24,16.35,18.29,17.11,17.52,17.01,17.26,17.78,
-17.31,16.17,17.71,17.85,18.28,17.42,18.54,18.10,17.67,17.67,
-17.96,17.65,18.46,17.73,19.15,19.34,18.76,19.11,18.14,19.30,
-19.39,19.89,18.47,19.68,18.69,19.82,19.12,19.93,20.01,19.91,
-21.27,19.17,20.09,19.60,18.90,19.12,19.94,20.30,21.38,20.94,
-21.65,19.86,19.89,20.79,20.76,21.59,21.38,19.47,21.52,22.04,
-20.19,21.84,20.08,21.25,21.84,19.77,22.30,22.12,22.20,20.88,
-21.09,21.43,21.05,21.01,21.54,22.81,21.75,21.60,20.88,22.12,
-22.43,23.08,22.13,23.03,22.36,22.99,22.61,23.21,22.89,21.99,
-23.92,22.75,23.06,22.64,23.74,23.19,23.01,24.47,23.22,24.52,
-23.02,23.30,23.51,24.98,23.81,24.32,24.35,23.93,23.88,24.48,
-23.69,23.62,23.98,24.27,23.79,23.40,24.20,24.47,24.46,25.37,
-24.23,24.72,24.47,24.64,24.64,24.70,24.85,24.89,24.15,25.22,
-24.66,25.59,25.57,25.93,25.47,26.13,25.84,25.68,24.95,26.75,
-26.89,25.07,26.37,26.56,25.29,25.95,25.44,26.39,25.96,26.88,
-26.66,27.15,26.41,26.54,26.33,26.55,26.14,26.18,26.61,25.78,
-26.85,26.15,27.76,26.11,27.13,26.48,26.49,28.01,26.89,27.64,
-27.74,27.65,27.52,28.29,27.12,29.29,27.32,26.16,27.81,27.46,
-26.20,28.05,27.55,26.83,27.48,28.27,27.03,27.21,29.74,28.02,
-28.75,27.61,30.38,27.23,28.04,28.28,27.69,29.04,28.94,27.79,
-4.58,5.66,5.34,5.85,5.68,6.22,5.83,6.68,5.76,6.54,
-6.55,7.50,7.60,7.25,6.77,7.07,7.76,8.00,7.92,8.37,
-7.72,8.14,8.48,9.42,8.74,8.69,8.89,8.83,10.28,9.52,
-9.46,9.92,9.15,10.20,9.74,10.07,9.76,10.00,10.08,10.98,
-10.58,11.69,10.89,9.62,10.35,10.97,10.79,11.34,11.08,11.17,
-11.35,11.68,11.83,12.17,12.01,11.87,12.31,12.19,12.99,11.91,
-12.19,12.89,12.73,13.33,13.36,12.55,13.62,13.23,12.99,13.56,
-12.88,13.79,12.38,13.68,14.32,13.40,14.21,13.50,13.33,13.97,
-13.05,14.02,14.06,13.67,14.30,14.18,14.83,15.38,14.57,15.82,
-15.21,15.10,15.63,14.62,14.19,15.36,15.49,16.69,15.63,14.40,
-15.62,16.06,15.53,15.67,16.59,15.95,16.09,16.41,16.99,16.45,
-15.43,16.20,16.18,16.88,17.20,16.83,17.20,17.16,17.68,16.15,
-16.31,17.29,17.24,17.91,18.94,17.14,16.95,17.88,17.75,16.93,
-17.81,18.68,17.88,17.36,18.56,17.14,17.46,19.27,18.28,18.93,
-18.62,18.42,18.26,18.49,18.67,18.29,18.59,19.09,19.33,19.03,
-19.07,18.09,18.08,18.56,19.04,19.52,18.99,18.80,19.93,20.33,
-20.42,20.14,19.62,19.47,20.10,19.48,20.78,19.44,18.77,19.86,
-20.59,19.90,19.93,20.52,20.88,20.41,20.52,20.76,19.83,20.73,
-20.20,20.10,21.28,21.59,20.53,20.94,21.18,19.70,22.13,20.30,
-20.78,20.92,20.35,21.50,21.18,21.27,21.16,21.87,21.11,20.16,
-22.27,22.23,21.87,21.15,23.18,22.15,21.29,22.37,22.34,21.89,
-21.87,22.30,23.57,21.45,21.54,21.56,21.80,22.13,22.06,22.51,
-21.77,21.57,23.08,23.58,23.11,23.41,23.90,23.45,23.16,22.91,
-23.51,24.59,23.28,22.78,24.19,23.45,23.17,25.40,23.51,23.65,
-22.17,23.78,24.18,23.45,23.33,24.16,24.56,23.70,24.30,22.74,
-23.71,24.19,24.48,24.89,24.00,25.71,24.12,23.76,24.17,25.36,
-24.61,24.27,25.74,24.43,24.79,24.16,23.99,23.84,24.91,24.61,
-25.34,24.20,25.33,26.57,24.81,25.13,25.07,25.74,25.63,24.93,
-26.38,26.66,25.33,26.19,25.81,26.35,25.04,25.32,25.43,25.85,
-4.40,4.71,4.71,5.47,5.14,5.24,5.67,5.17,6.41,5.44,
-6.11,5.91,6.66,6.25,7.05,6.20,5.88,6.81,6.82,7.32,
-7.38,7.99,7.51,7.78,7.85,8.29,7.99,8.46,8.61,8.88,
-8.24,8.97,8.77,9.69,8.29,8.86,8.49,8.76,8.73,9.21,
-9.78,9.39,9.56,9.70,9.94,9.11,10.12,10.36,10.27,10.16,
-10.11,10.38,10.23,11.28,10.75,11.64,11.34,11.26,10.92,10.49,
-11.36,11.20,10.96,12.19,11.83,12.16,11.71,11.95,10.90,11.47,
-12.06,11.45,11.73,12.66,11.50,11.99,12.87,12.36,12.51,12.89,
-13.72,13.28,13.06,13.35,13.86,11.84,13.15,12.38,13.91,12.73,
-13.20,13.67,12.36,12.39,13.78,13.44,13.82,13.72,13.64,13.40,
-13.77,13.34,13.58,14.38,14.46,14.56,15.15,14.23,14.50,15.42,
-14.83,15.31,15.32,15.18,14.62,14.31,15.34,14.54,14.51,15.00,
-15.08,14.50,15.24,15.52,15.46,16.05,15.51,15.54,15.63,16.15,
-16.32,16.14,15.91,15.70,15.80,15.05,15.64,15.52,16.13,16.69,
-16.02,16.93,16.42,16.64,16.48,15.89,16.19,17.08,18.06,16.63,
-17.58,17.04,17.35,17.16,17.47,17.18,17.10,17.67,18.09,16.17,
-16.98,18.43,17.97,16.61,19.07,16.84,17.87,19.55,17.97,17.49,
-17.42,18.92,18.49,17.78,18.45,17.83,18.57,18.95,18.31,18.47,
-17.58,18.30,18.26,18.91,17.77,19.31,19.07,18.73,18.02,17.76,
-18.54,19.12,20.02,18.70,18.20,19.09,18.56,19.46,19.93,18.58,
-18.35,19.41,19.14,19.04,19.16,19.41,20.64,18.06,19.61,19.87,
-19.36,19.16,20.81,19.37,20.35,20.63,20.28,19.83,20.66,20.37,
-19.09,20.25,20.48,20.39,20.58,20.43,21.15,21.29,20.07,21.58,
-21.45,20.35,21.77,21.88,20.72,21.61,21.41,20.29,22.36,20.77,
-21.53,21.48,21.80,21.45,20.91,21.28,21.79,20.81,21.36,20.89,
-20.34,22.09,21.51,21.58,20.85,22.14,22.06,22.04,21.68,21.88,
-21.16,21.14,22.11,22.28,22.34,20.69,21.99,22.44,21.18,21.44,
-22.74,22.60,22.82,22.39,21.09,21.55,22.41,22.21,22.38,23.91,
-23.42,22.27,23.05,23.15,24.22,22.96,23.31,22.89,23.03,22.96,
-3.96,3.46,3.87,3.62,4.99,4.79,4.25,5.64,5.11,5.03,
-5.14,5.39,6.00,4.91,5.12,6.45,5.94,6.70,6.56,6.38,
-6.77,6.35,6.90,7.39,6.69,6.11,6.68,7.47,8.25,7.60,
-8.24,7.78,7.56,7.47,6.96,7.96,8.39,7.79,8.99,8.65,
-7.97,7.69,8.20,9.20,9.08,8.62,9.41,8.51,8.93,8.73,
-9.49,9.94,8.65,9.98,8.31,8.86,9.43,10.16,9.78,9.91,
-10.11,9.69,10.64,10.25,10.74,10.10,10.16,9.11,9.56,11.61,
-11.25,11.27,11.35,12.04,10.91,11.06,11.95,11.66,11.10,11.40,
-10.92,11.23,11.14,11.22,11.95,11.43,11.50,11.44,12.04,11.75,
-11.95,11.89,12.21,11.41,11.48,12.97,11.94,11.09,12.24,13.88,
-11.58,12.33,12.22,11.81,13.44,12.62,13.04,11.97,13.57,12.69,
-13.09,13.26,13.85,13.01,13.44,12.94,13.24,13.90,13.14,13.65,
-13.63,13.27,14.44,13.28,14.10,12.88,13.43,13.87,13.88,14.20,
-13.08,13.23,14.80,14.08,14.48,13.95,14.66,14.51,14.46,13.65,
-15.01,15.09,14.76,14.00,14.18,15.77,14.76,15.01,15.53,15.25,
-14.73,15.35,14.20,15.56,15.35,14.73,16.51,15.79,15.45,16.84,
-15.50,15.86,15.57,15.83,14.77,15.53,16.01,16.20,15.65,15.89,
-16.56,15.33,15.92,16.02,16.21,16.21,17.24,16.48,15.33,16.47,
-17.05,16.90,16.42,16.55,16.78,15.83,16.12,16.23,17.22,17.38,
-17.47,16.75,17.02,17.19,17.91,17.23,16.35,16.73,16.82,17.55,
-16.75,17.25,17.31,17.76,17.98,18.20,18.58,18.43,17.86,17.38,
-18.36,17.89,17.27,17.47,17.11,18.48,18.37,18.24,18.42,17.88,
-18.50,18.27,18.36,17.97,18.16,18.91,18.89,17.56,20.40,18.73,
-19.10,17.66,17.78,17.94,18.24,18.29,18.12,18.52,19.60,18.68,
-19.33,18.54,19.76,19.44,18.99,18.42,18.90,19.69,19.32,18.41,
-20.29,19.46,18.93,19.26,18.82,19.49,19.74,20.14,19.10,19.37,
-19.91,18.66,19.26,18.40,20.07,20.93,20.23,19.06,18.72,20.64,
-20.66,20.52,19.31,19.92,19.02,20.03,21.00,20.88,20.73,19.50,
-20.29,19.63,19.52,20.06,20.27,20.76,21.25,20.67,20.59,20.81,
-14.07,14.39,15.23,16.30,16.57,16.87,17.38,18.42,18.87,19.67,
-19.53,20.27,20.72,21.48,21.66,22.11,21.91,22.32,22.76,24.44,
-23.98,23.80,24.36,26.46,25.75,25.17,25.78,26.47,26.31,28.05,
-27.35,28.69,28.53,28.29,28.54,29.36,31.16,27.98,30.35,31.07,
-31.36,30.55,30.13,31.36,32.87,31.68,31.89,33.04,32.76,32.17,
-34.50,34.95,34.49,34.22,35.21,34.78,34.35,36.27,36.61,36.12,
-36.86,35.84,36.95,37.80,39.22,37.46,38.04,38.35,39.52,39.70,
-38.97,38.94,41.20,38.07,41.03,40.44,40.76,39.51,41.04,41.05,
-40.69,41.72,40.96,40.78,41.59,41.36,43.15,44.46,42.98,42.84,
-44.02,44.66,43.24,44.08,45.77,45.18,45.19,44.63,43.67,44.65,
-46.55,45.56,47.23,45.95,46.63,46.59,46.91,47.40,47.47,46.38,
-47.35,46.74,46.69,48.27,49.74,48.90,49.04,49.08,49.91,49.77,
-48.49,50.37,50.45,51.64,51.56,52.18,51.34,49.57,52.84,52.21,
-52.11,49.54,52.89,54.27,52.45,53.13,52.08,53.64,52.42,54.70,
-53.69,55.61,54.54,53.68,55.02,54.54,55.47,53.52,55.24,52.82,
-54.56,54.68,55.41,53.47,56.09,55.26,56.26,56.59,54.37,58.75,
-53.57,56.27,59.25,56.79,57.19,57.73,55.17,57.50,56.82,56.85,
-60.09,59.90,59.02,59.68,59.41,60.30,59.16,60.37,60.92,60.38,
-59.18,58.76,60.49,59.65,60.19,60.73,61.85,59.82,58.96,60.18,
-63.13,60.41,61.22,63.70,63.74,62.14,61.70,66.66,62.47,64.87,
-64.78,65.47,61.76,62.08,63.15,62.22,64.48,66.56,65.31,65.14,
-63.47,62.73,63.25,68.80,64.62,63.98,66.65,69.04,65.71,65.61,
-68.25,67.71,67.62,65.62,66.43,66.81,67.86,66.00,67.07,71.37,
-68.78,64.31,70.46,66.93,66.73,68.00,67.47,67.28,68.61,65.85,
-69.58,67.44,68.19,67.20,69.49,72.72,70.22,72.50,68.48,72.02,
-70.55,69.68,67.62,69.67,73.29,71.25,69.00,70.90,73.90,71.92,
-71.49,73.88,71.77,71.57,72.13,71.50,71.98,70.37,72.20,74.72,
-70.35,71.51,71.11,74.54,75.28,72.30,76.16,75.39,73.06,74.77,
-71.02,76.57,72.90,76.08,76.81,73.25,73.79,74.56,76.82,74.87,
-13.23,14.15,15.53,15.66,16.46,16.25,17.55,17.21,17.72,18.33,
-18.65,19.11,20.47,20.48,20.38,20.54,21.26,22.67,21.89,22.53,
-23.03,23.02,23.22,23.36,24.76,24.60,25.47,24.64,26.14,25.69,
-27.43,27.59,27.93,27.47,28.11,29.93,27.41,28.83,29.49,29.46,
-30.02,28.72,30.81,29.77,31.08,31.60,32.16,31.72,33.11,32.18,
-32.82,33.07,33.13,33.14,33.92,34.88,35.02,31.97,32.99,34.97,
-34.39,35.48,34.27,35.42,34.98,36.88,36.84,38.20,38.45,37.13,
-37.15,37.48,37.16,36.33,37.88,38.79,40.29,40.00,38.15,39.26,
-40.24,41.20,38.93,40.14,41.68,41.28,40.23,41.34,42.45,43.34,
-40.85,43.94,42.80,42.14,43.19,44.04,43.58,44.66,41.93,43.19,
-44.08,41.86,43.47,43.35,45.97,45.13,45.44,47.25,45.93,45.81,
-44.78,47.06,46.98,44.30,46.39,47.20,45.99,46.24,47.44,47.18,
-47.43,49.77,48.97,48.72,49.37,49.37,50.47,47.51,49.62,49.32,
-49.27,50.04,48.23,50.26,50.66,50.55,51.44,49.78,52.96,51.69,
-52.33,51.82,52.77,51.05,51.00,51.55,50.76,52.50,52.80,51.96,
-53.57,52.99,53.23,51.83,52.87,54.84,54.07,52.60,52.87,52.48,
-54.52,54.65,54.00,55.37,53.58,54.54,55.67,54.10,56.39,56.24,
-59.11,56.70,56.41,55.83,58.32,56.55,57.76,59.29,56.77,57.25,
-56.96,57.48,57.41,58.69,57.82,58.20,60.30,59.65,58.49,59.14,
-60.95,56.99,58.54,60.12,62.79,61.41,60.19,61.35,61.44,61.75,
-60.53,59.74,60.85,62.16,61.47,62.87,63.14,61.67,60.52,61.01,
-60.94,61.49,61.08,63.65,63.82,64.29,63.10,62.12,63.27,64.97,
-62.69,64.08,62.54,63.82,62.63,62.37,65.37,67.79,64.20,62.49,
-62.76,66.02,65.67,63.34,64.84,65.46,65.48,66.18,66.36,67.58,
-67.85,65.63,65.13,66.62,68.44,67.07,66.66,66.53,70.43,68.74,
-67.44,65.76,68.59,70.64,67.34,68.79,66.11,69.09,68.27,67.36,
-70.05,69.38,71.77,70.31,69.96,69.25,66.84,70.02,70.70,72.75,
-69.07,72.88,69.93,70.05,69.69,69.88,70.58,73.20,73.32,72.81,
-70.84,71.59,72.68,73.25,70.46,73.67,70.46,71.45,70.57,70.08,
-13.13,13.47,13.98,14.83,14.93,15.18,15.49,16.63,17.85,17.59,
-18.22,18.50,19.30,19.47,19.66,19.92,20.07,21.05,20.86,21.82,
-22.27,22.13,22.97,22.81,23.02,24.09,23.11,24.69,25.66,25.40,
-25.65,25.40,26.24,27.33,26.99,26.31,26.61,27.10,27.14,27.43,
-28.54,28.21,29.33,28.51,29.17,29.13,30.43,29.89,31.54,30.45,
-31.85,31.57,30.65,33.17,31.58,31.74,33.31,32.44,31.99,33.57,
-33.06,34.75,34.11,34.21,33.94,34.94,35.12,35.10,34.78,35.90,
-35.80,35.17,38.82,36.64,34.72,36.97,37.37,35.75,38.22,37.10,
-37.83,36.26,37.42,38.21,37.71,40.01,40.52,40.34,40.11,38.71,
-40.36,41.07,39.84,41.05,40.87,43.57,40.09,43.16,41.62,41.68,
-41.33,40.90,42.19,40.72,42.54,44.62,44.83,43.62,42.96,42.38,
-42.53,42.78,44.13,43.26,45.35,44.61,44.37,45.34,44.60,45.50,
-44.75,45.64,48.25,46.18,46.92,46.48,48.53,47.59,46.17,45.49,
-46.29,45.50,46.96,47.30,49.49,48.41,47.84,47.04,51.17,47.72,
-46.96,48.43,50.28,49.38,49.57,48.94,50.72,51.15,50.21,49.25,
-49.44,50.44,52.97,52.12,50.06,53.06,49.34,50.18,49.96,51.78,
-52.73,49.05,50.46,52.76,50.45,51.09,52.67,52.29,52.79,53.62,
-54.54,55.46,53.17,54.43,54.85,54.91,53.70,56.59,56.44,55.38,
-56.60,54.29,56.81,54.62,55.45,54.28,56.71,56.20,56.16,58.14,
-56.27,54.87,54.60,54.68,56.68,57.38,56.91,57.72,58.31,59.12,
-56.34,56.53,55.76,56.28,58.66,57.59,59.72,59.79,55.48,60.07,
-59.87,59.28,58.86,59.85,59.98,60.49,60.62,58.83,59.90,61.84,
-60.45,59.60,64.97,59.64,60.53,62.02,58.78,59.62,62.43,60.19,
-62.36,61.64,61.43,59.98,62.48,62.15,64.89,64.26,63.88,61.90,
-62.84,62.50,63.27,62.48,64.92,64.61,64.30,63.32,65.86,65.95,
-68.02,63.54,64.54,65.54,65.55,66.49,65.17,64.49,64.36,65.89,
-65.93,68.40,66.98,65.31,67.01,63.45,66.23,64.98,68.69,68.70,
-65.99,66.75,67.58,65.68,67.56,64.87,67.45,65.80,66.60,68.58,
-69.35,71.46,64.70,66.30,67.25,67.25,70.04,69.97,68.56,70.22,
-12.07,12.81,13.46,13.15,13.72,15.15,15.50,15.50,15.69,16.35,
-17.02,17.28,17.85,17.19,18.75,19.94,18.91,19.69,20.05,20.62,
-21.10,21.70,20.96,21.94,22.15,23.06,22.76,23.36,22.91,23.72,
-23.33,24.72,24.58,25.26,24.70,24.86,25.76,26.35,25.74,26.08,
-26.20,27.16,27.15,28.01,27.40,29.32,27.51,29.54,28.47,28.73,
-29.18,29.62,29.65,31.03,30.10,30.62,31.32,31.86,31.07,32.08,
-31.59,31.24,32.54,32.76,33.03,33.40,34.11,33.05,33.79,34.67,
-33.81,33.61,33.79,34.57,34.55,35.44,36.27,35.86,36.35,34.75,
-35.09,36.22,35.89,37.29,36.01,37.12,36.91,37.44,37.43,37.55,
-37.67,38.16,38.18,38.68,38.37,37.65,38.27,37.76,39.84,39.82,
-39.38,38.78,39.97,39.83,40.12,39.81,40.58,40.56,40.84,43.04,
-40.97,43.03,41.89,40.34,41.35,42.40,41.36,42.52,41.92,41.96,
-42.84,43.52,41.97,42.72,42.62,42.89,43.32,43.56,45.79,46.24,
-46.39,45.84,44.99,45.10,44.01,44.39,45.86,45.17,45.55,46.44,
-47.11,46.70,46.66,47.28,44.46,45.52,45.82,45.28,48.46,46.17,
-46.13,46.40,48.28,45.76,48.17,48.89,48.84,46.10,48.29,50.08,
-48.73,51.44,51.09,49.53,48.31,50.38,49.40,49.81,49.87,50.64,
-49.43,50.97,48.24,51.33,52.01,51.52,51.01,51.71,51.16,51.54,
-51.27,53.39,53.90,51.88,50.80,50.32,51.87,53.38,54.01,54.48,
-55.44,52.48,54.44,56.09,51.67,53.35,55.61,55.20,53.39,54.69,
-56.33,57.61,54.12,56.41,54.50,55.56,54.90,56.85,54.89,54.76,
-55.86,54.91,54.36,56.78,54.82,55.37,58.57,55.69,55.99,56.15,
-58.58,58.35,58.48,61.00,57.49,59.64,55.72,60.23,60.07,58.23,
-54.87,56.34,59.65,57.47,56.10,60.72,58.66,58.26,59.12,58.87,
-62.42,61.07,58.69,61.15,60.55,59.35,61.97,61.70,57.47,60.91,
-60.69,62.64,64.53,60.22,57.70,62.86,62.81,62.39,60.35,61.96,
-61.48,60.68,62.56,61.49,60.79,60.40,63.90,63.13,62.10,61.34,
-63.93,62.80,64.15,66.08,63.87,63.50,64.34,63.38,64.35,64.23,
-62.42,62.70,65.95,65.20,65.12,62.67,64.49,62.63,65.13,67.08,
-11.40,11.66,11.81,13.01,13.95,13.83,13.58,14.47,14.86,15.84,
-15.49,16.36,16.79,16.86,17.44,17.70,17.80,18.31,18.57,19.22,
-19.31,19.77,20.73,20.68,19.83,21.30,20.94,21.66,22.28,21.14,
-22.03,22.77,22.64,23.15,23.45,23.95,23.43,24.38,24.64,25.76,
-25.43,25.72,26.16,25.84,26.91,26.28,27.53,26.71,26.61,27.34,
-27.97,27.77,27.51,29.10,28.55,27.27,28.29,29.18,28.88,30.25,
-28.64,28.72,30.67,30.38,30.74,29.74,31.32,29.50,30.44,31.82,
-31.51,31.29,32.88,31.76,33.48,33.11,31.57,33.19,32.46,33.88,
-32.75,33.75,33.23,34.65,32.92,33.73,34.95,35.21,35.60,34.53,
-35.33,35.57,36.37,35.48,37.78,35.29,36.74,36.66,37.49,35.71,
-36.10,37.09,37.83,36.44,37.74,38.86,39.91,37.52,38.37,39.21,
-38.17,37.93,38.10,40.13,38.82,38.93,39.10,40.01,39.77,41.43,
-40.23,41.20,40.25,40.31,40.75,39.48,40.43,41.46,41.97,41.97,
-42.41,42.05,42.24,41.03,38.76,41.78,42.00,43.65,40.16,43.51,
-43.41,43.50,44.10,43.98,43.70,45.01,44.13,44.90,42.80,45.11,
-43.48,43.68,45.30,45.11,42.80,45.00,43.72,43.13,44.61,46.88,
-43.67,44.29,42.94,46.30,47.50,46.82,45.49,46.39,46.79,44.77,
-48.45,44.99,45.67,47.35,48.26,47.35,46.65,49.48,48.22,45.80,
-48.27,48.59,50.21,48.65,47.96,48.72,49.20,48.63,49.42,49.75,
-50.48,48.62,50.07,49.52,50.63,51.83,52.92,51.86,50.50,52.19,
-50.59,51.15,52.93,52.22,50.34,51.92,51.53,50.60,52.45,50.47,
-51.77,50.61,52.12,50.26,52.08,51.41,51.92,52.06,52.65,52.90,
-53.78,53.99,54.36,53.68,55.16,51.45,56.85,55.82,53.20,54.87,
-55.56,52.51,54.87,54.28,56.31,55.39,56.45,54.26,54.24,55.99,
-56.62,53.28,55.67,57.07,55.22,58.06,56.51,55.85,55.28,54.21,
-58.55,56.74,55.10,58.87,57.51,56.65,56.00,58.36,57.11,60.66,
-58.14,55.78,56.59,59.42,58.83,57.20,58.29,60.03,58.94,58.73,
-59.32,57.69,56.94,60.15,58.58,58.56,59.60,59.52,58.57,59.89,
-57.90,59.09,56.44,60.74,59.56,60.71,60.60,61.40,61.37,64.61,
-10.38,11.27,11.61,11.71,12.00,13.11,13.70,13.32,13.55,14.56,
-14.91,15.24,15.37,15.69,15.89,16.21,15.65,17.36,17.14,17.98,
-17.91,18.24,18.60,19.26,19.75,19.37,19.63,19.60,19.40,20.85,
-21.28,21.83,21.16,21.80,21.65,22.44,22.07,21.90,22.39,22.71,
-23.45,23.59,23.08,23.73,23.39,23.65,25.04,25.17,24.22,25.24,
-25.50,25.86,26.40,25.69,26.64,26.87,26.85,25.44,27.43,26.93,
-27.19,27.99,27.43,29.48,29.22,28.14,28.00,29.63,29.41,28.28,
-27.93,27.86,29.17,28.54,30.33,30.89,29.56,31.01,30.36,30.76,
-31.59,30.55,31.18,30.69,31.05,31.04,31.56,31.25,31.05,32.24,
-32.98,31.74,32.25,33.17,32.61,32.98,32.75,34.25,32.68,34.08,
-33.87,34.35,34.01,35.33,35.43,34.99,34.37,35.14,35.09,35.81,
-35.70,35.78,37.07,36.42,35.84,36.19,37.20,36.52,36.91,37.23,
-37.48,37.44,37.84,37.26,38.35,37.95,37.16,36.67,36.62,38.27,
-38.25,39.20,38.96,38.93,38.72,40.00,39.50,39.37,40.66,40.33,
-39.31,41.66,40.89,41.03,41.47,40.24,40.42,39.75,41.75,41.45,
-39.86,41.16,39.68,41.11,42.65,42.12,41.90,40.69,42.39,43.83,
-40.76,41.39,43.87,41.38,43.97,41.83,43.30,42.27,43.90,44.69,
-42.10,44.27,43.85,44.38,44.70,44.90,44.17,45.25,44.60,45.73,
-45.26,44.87,46.75,44.61,46.43,46.65,46.48,45.36,45.15,46.99,
-45.92,46.89,47.57,45.23,45.08,46.48,46.57,48.40,47.20,45.73,
-47.23,47.64,48.28,47.28,49.30,46.00,46.92,47.86,49.45,49.68,
-48.48,48.68,50.12,49.05,48.28,49.45,49.27,50.64,49.62,47.94,
-50.02,50.85,49.38,49.29,50.90,49.96,50.18,51.08,50.28,50.44,
-52.36,51.66,51.42,52.21,48.05,49.83,49.93,53.71,52.18,52.67,
-53.27,51.46,52.53,52.58,52.19,50.20,51.63,52.55,52.87,52.21,
-53.18,51.25,54.61,53.75,52.74,55.16,52.97,52.64,53.47,53.64,
-52.95,53.63,55.79,54.95,54.08,55.52,53.84,53.46,54.77,52.69,
-53.85,52.83,53.40,56.00,54.73,54.29,54.11,57.40,53.62,52.39,
-54.03,57.55,54.58,57.03,55.98,55.39,58.13,55.90,57.86,54.00,
-9.32,9.77,10.99,10.88,12.04,12.13,11.66,13.13,12.70,13.20,
-13.36,13.89,13.56,14.37,15.14,14.61,15.21,15.88,15.87,16.31,
-15.89,17.37,17.24,15.92,18.26,18.14,18.59,18.48,18.82,19.17,
-18.95,19.17,20.21,18.75,19.29,20.04,20.54,21.53,20.82,20.15,
-21.56,22.19,20.70,22.43,21.51,22.11,22.70,23.10,21.77,22.54,
-23.23,22.85,25.22,25.05,24.07,24.49,25.16,24.91,25.87,24.03,
-25.84,24.11,26.21,25.35,26.76,25.94,26.48,26.13,26.41,27.00,
-26.65,28.04,26.82,26.83,27.72,27.34,28.54,29.25,28.20,29.42,
-28.72,27.82,29.40,29.10,29.79,29.26,30.10,30.90,29.22,29.95,
-30.34,29.93,30.85,30.09,30.24,30.32,30.43,30.43,30.95,31.74,
-31.86,31.24,31.42,31.38,32.25,33.49,32.41,34.19,31.79,32.90,
-32.85,34.12,34.74,34.32,33.19,34.41,32.89,34.51,35.56,33.59,
-35.86,34.62,34.89,34.81,35.07,34.39,34.25,34.52,35.27,36.11,
-35.75,36.42,36.83,36.63,36.15,37.57,35.40,37.32,36.63,36.66,
-35.95,37.18,37.70,37.21,37.67,36.81,37.49,37.26,37.25,40.29,
-38.85,40.56,37.59,38.45,40.31,38.65,39.66,39.22,40.20,36.95,
-39.96,41.02,39.52,39.17,39.71,39.86,40.02,40.37,39.83,40.20,
-39.80,39.21,39.91,40.63,41.00,40.82,40.90,43.02,41.84,39.64,
-41.06,40.05,41.23,41.22,42.73,40.39,42.30,43.34,41.17,42.27,
-42.10,40.97,44.33,44.93,42.62,42.50,43.21,42.61,42.27,42.92,
-43.51,43.96,42.61,43.92,45.88,43.47,44.43,45.59,40.96,42.34,
-46.08,43.31,42.94,45.88,44.25,44.99,45.56,45.04,44.59,45.21,
-47.36,44.93,47.21,45.46,45.58,47.15,45.51,46.01,44.85,48.58,
-45.83,47.11,46.68,46.96,46.88,46.47,46.56,47.00,47.58,47.40,
-47.39,50.07,48.63,46.27,48.34,47.43,47.48,48.32,48.92,49.55,
-48.37,48.84,48.50,49.09,48.38,49.57,49.24,47.79,50.20,50.65,
-49.10,49.73,48.91,48.85,49.95,50.06,49.23,48.82,49.74,50.15,
-52.42,50.56,50.93,51.04,50.07,48.63,50.73,50.04,50.05,53.44,
-50.32,53.02,52.34,50.38,52.36,51.33,50.81,52.68,50.79,52.10,
-9.33,9.15,10.17,9.67,10.11,11.02,11.22,11.46,11.77,11.96,
-13.25,13.30,12.42,13.01,13.47,14.25,14.56,15.02,14.92,15.28,
-15.53,15.81,16.04,15.92,15.58,16.79,15.87,16.32,16.92,17.56,
-18.08,17.21,18.56,18.01,17.45,17.82,17.71,19.42,18.37,19.63,
-19.78,20.73,20.86,19.83,19.94,20.20,20.91,21.06,20.92,20.35,
-21.94,21.12,20.94,22.03,21.78,22.67,22.83,22.96,22.72,23.85,
-22.62,22.86,23.08,23.07,23.49,24.86,24.40,23.54,24.07,25.14,
-23.95,24.87,24.56,26.08,24.25,25.89,25.34,25.58,26.03,26.48,
-26.61,26.28,26.23,27.71,25.93,28.33,26.54,27.12,26.81,25.76,
-27.78,27.32,27.86,28.65,27.88,26.93,27.36,28.36,28.41,28.87,
-28.32,28.44,27.89,30.92,30.25,29.38,30.03,29.13,30.38,30.28,
-30.20,30.15,31.50,30.98,31.65,30.65,31.01,31.78,31.42,30.89,
-31.42,31.66,31.13,30.14,30.99,32.28,31.91,32.96,34.09,33.04,
-34.13,33.82,33.51,32.86,32.57,34.85,34.36,33.32,33.11,32.41,
-34.14,35.03,33.55,34.76,33.51,33.43,35.24,33.25,33.83,34.80,
-34.76,35.18,33.90,35.49,36.51,35.90,35.67,36.37,36.77,35.47,
-35.89,35.31,36.07,36.55,37.35,38.35,35.46,35.87,37.06,35.90,
-36.98,38.44,36.92,36.93,37.38,37.97,36.70,38.02,37.87,37.94,
-38.26,38.79,39.35,39.42,39.33,40.37,39.94,41.49,38.57,39.58,
-38.49,38.66,38.75,39.10,39.80,38.75,38.92,39.74,38.98,39.92,
-40.12,41.26,40.28,40.61,39.96,40.77,40.09,38.58,40.77,41.90,
-40.96,39.75,40.36,41.53,41.13,41.92,40.64,42.73,41.53,40.86,
-40.34,42.28,42.07,41.46,43.08,42.81,43.40,41.69,42.95,43.42,
-42.06,44.70,42.55,44.24,44.81,44.08,43.08,42.26,42.18,43.65,
-43.34,43.17,42.89,46.87,43.86,43.18,44.12,44.16,45.98,43.13,
-45.20,44.32,44.76,45.91,44.98,43.48,43.28,44.49,44.04,43.78,
-45.46,45.22,48.23,44.88,46.66,45.24,44.40,44.25,47.06,45.90,
-43.54,44.34,47.70,46.19,46.88,47.62,46.11,47.12,46.70,47.36,
-46.71,46.88,47.49,49.20,46.42,48.11,47.25,48.14,47.64,49.43,
-8.16,8.68,8.84,9.71,9.86,9.99,10.91,10.57,11.46,10.99,
-11.08,11.68,12.16,12.34,12.24,12.89,13.08,13.55,13.49,13.95,
-14.09,15.44,14.61,13.90,14.21,15.61,14.68,14.99,16.01,15.88,
-16.65,16.02,15.92,16.76,17.07,16.46,16.84,16.93,16.18,17.64,
-17.47,18.71,18.17,18.27,20.20,17.05,19.28,18.69,20.06,20.14,
-19.22,19.94,20.90,20.57,19.36,20.28,20.48,19.88,20.44,21.17,
-20.77,21.63,20.98,21.10,21.32,22.43,22.01,22.24,22.09,22.33,
-22.73,22.49,23.42,22.78,22.57,23.36,23.27,22.78,24.12,23.58,
-24.67,24.07,25.37,25.20,24.72,25.15,24.93,25.79,25.08,24.37,
-25.75,25.38,24.66,25.02,25.69,26.66,26.69,25.76,24.69,27.06,
-25.84,26.60,27.25,27.47,27.24,26.24,26.00,27.18,27.30,25.88,
-27.05,27.24,28.27,28.54,29.37,28.81,27.70,28.75,28.56,27.09,
-28.47,28.14,30.36,30.15,28.05,29.47,30.09,30.05,29.65,30.43,
-29.24,30.06,30.21,29.12,30.44,31.33,30.24,30.32,31.59,30.97,
-30.74,31.70,30.81,31.45,30.51,32.14,31.79,32.50,33.04,32.77,
-32.76,31.68,31.67,32.88,32.55,33.06,33.01,31.99,33.96,32.03,
-32.11,32.62,33.34,33.28,33.88,34.31,33.54,32.17,35.46,34.53,
-33.13,34.39,35.29,33.78,34.68,34.17,34.79,34.66,35.62,34.13,
-35.46,35.05,35.45,34.36,36.41,34.36,34.35,33.96,36.11,36.18,
-36.29,34.12,35.25,34.62,37.31,36.56,34.77,39.63,36.62,36.05,
-35.81,37.95,37.25,36.88,39.15,36.41,39.41,36.97,38.39,38.44,
-37.62,38.85,37.15,37.21,37.80,37.58,37.43,38.45,37.07,37.57,
-37.77,39.52,39.04,38.70,39.39,39.30,38.66,38.98,38.48,39.02,
-39.58,39.31,40.69,40.64,41.03,40.65,40.43,39.73,39.36,38.82,
-41.36,38.89,41.00,40.76,39.44,41.60,41.22,39.83,38.56,40.79,
-41.79,40.57,40.93,42.55,41.65,42.79,41.24,41.08,42.97,43.22,
-41.44,41.10,41.90,41.30,42.75,42.25,43.01,42.15,42.21,41.27,
-44.07,42.08,42.27,42.42,41.64,41.96,44.13,42.52,42.93,42.93,
-43.04,42.79,43.18,43.02,42.63,43.87,43.42,41.65,41.15,44.26,
-6.97,7.80,8.38,8.52,8.28,8.77,9.45,9.34,9.98,10.88,
-10.63,10.82,10.21,11.25,11.90,11.91,12.39,11.85,12.45,12.55,
-12.98,12.64,13.46,13.16,13.45,13.11,13.03,14.40,14.32,13.80,
-15.15,15.24,14.82,16.02,15.93,15.56,16.26,15.40,16.14,15.68,
-16.62,16.23,16.01,17.13,16.87,16.34,17.23,17.67,17.27,18.29,
-18.93,18.50,17.18,18.56,17.87,18.86,18.79,19.26,19.24,18.94,
-18.85,19.97,19.13,19.88,19.94,20.56,19.11,19.97,20.58,20.11,
-20.47,21.32,21.19,21.19,21.26,20.83,21.08,21.87,21.92,21.48,
-20.77,22.36,23.05,22.07,22.13,22.57,22.17,22.48,22.81,22.48,
-22.85,23.80,23.21,23.85,23.77,24.05,23.91,24.07,25.00,24.86,
-25.07,24.41,23.73,24.80,25.40,25.96,25.13,24.67,23.63,25.85,
-25.26,25.83,25.56,24.84,25.75,25.34,25.21,26.60,27.14,26.23,
-26.43,25.62,24.96,27.26,25.66,25.49,26.80,26.95,27.05,26.29,
-27.12,27.71,27.35,27.86,27.79,27.08,27.77,27.83,29.07,27.72,
-28.76,28.81,27.52,29.45,29.38,29.58,30.14,29.21,29.09,28.07,
-29.70,30.09,28.29,29.70,28.33,29.86,30.13,30.46,29.92,31.00,
-29.09,30.65,31.37,30.64,31.54,31.39,30.45,30.36,30.09,31.07,
-31.69,31.83,31.24,32.12,30.94,31.43,30.97,32.29,30.83,31.42,
-31.82,31.88,33.10,31.41,33.37,32.97,31.28,31.56,32.93,30.36,
-33.06,31.38,32.10,33.05,32.68,33.06,32.56,33.40,34.42,34.49,
-33.07,32.46,32.64,34.40,34.37,32.76,33.34,34.36,35.93,34.29,
-33.51,33.09,33.94,33.34,33.90,33.86,33.47,34.01,37.25,34.47,
-34.22,35.85,34.92,35.53,36.48,35.26,34.98,35.10,35.16,35.06,
-35.68,36.14,35.39,36.71,36.73,36.46,35.43,36.85,35.22,37.84,
-36.77,36.35,36.35,36.82,36.77,36.00,37.85,37.88,38.18,37.83,
-36.22,36.62,37.45,38.56,37.38,37.69,37.32,38.57,38.38,38.49,
-38.61,40.50,38.96,37.94,38.38,37.30,36.72,37.32,38.18,36.91,
-39.16,38.72,39.09,39.04,38.81,41.15,38.87,37.35,38.26,39.85,
-38.37,39.42,39.21,40.79,39.50,38.85,38.88,39.53,39.51,40.03,
-6.49,6.92,7.18,7.94,7.94,8.24,8.83,8.36,8.68,9.65,
-9.67,9.57,10.15,9.89,9.85,10.63,10.52,11.17,10.43,12.42,
-12.20,11.42,11.80,11.94,11.28,12.60,11.96,13.10,12.75,12.71,
-12.94,12.83,13.51,13.04,13.79,14.70,15.38,13.75,14.65,14.72,
-14.29,14.18,14.97,14.45,15.86,14.17,15.60,16.20,15.86,15.68,
-15.56,16.04,16.88,17.35,17.67,16.22,17.39,16.78,17.09,16.73,
-18.41,17.07,17.00,18.47,17.49,17.79,18.05,18.75,18.62,19.09,
-19.67,19.05,19.53,18.75,19.86,19.62,19.68,19.50,19.88,19.26,
-20.38,19.69,19.59,19.60,20.92,20.14,19.85,21.33,20.90,20.67,
-21.13,21.68,21.64,20.93,20.92,21.54,21.29,21.62,20.86,22.49,
-21.23,21.42,23.28,21.90,22.95,23.72,21.79,23.38,23.28,22.95,
-23.59,23.62,24.74,22.82,24.40,23.76,24.67,24.12,23.96,23.75,
-23.89,23.93,23.70,24.00,23.95,25.07,24.05,24.71,24.27,24.29,
-24.03,25.97,24.80,25.39,25.00,24.72,24.40,26.01,25.90,26.47,
-24.93,26.00,25.32,26.31,26.74,25.38,24.72,26.28,26.15,25.81,
-26.74,26.38,27.05,25.98,26.74,27.55,26.72,25.48,27.31,26.41,
-28.09,28.62,27.19,27.24,28.44,27.54,28.14,29.11,28.77,28.11,
-27.02,28.51,29.18,28.89,27.41,27.50,27.70,27.92,28.14,28.39,
-28.03,28.69,28.30,27.51,28.15,29.10,29.06,28.13,29.25,30.02,
-29.68,29.22,30.38,28.55,30.55,29.93,31.25,31.96,31.31,30.36,
-30.79,30.62,30.63,31.73,31.41,30.33,31.36,30.75,30.99,32.40,
-32.19,30.63,32.00,31.15,31.11,32.34,31.97,31.27,31.80,31.90,
-30.57,32.80,31.46,31.23,32.10,30.76,32.36,31.92,32.43,32.57,
-32.45,32.56,32.93,32.76,33.04,33.17,33.49,33.89,34.02,34.41,
-32.31,32.64,32.81,32.54,33.07,33.22,33.06,33.36,33.99,34.42,
-34.21,33.20,33.39,34.42,33.36,33.53,35.90,32.48,35.13,34.97,
-34.48,34.07,35.27,33.89,35.15,34.70,34.36,34.50,35.42,33.23,
-35.38,34.35,35.18,34.81,35.08,36.46,36.17,35.14,35.04,34.56,
-35.78,33.66,36.39,37.28,34.12,36.96,35.70,36.68,35.43,36.25,
-6.67,5.88,6.42,7.08,7.47,7.04,7.35,8.05,8.10,9.00,
-8.24,8.39,8.80,9.06,8.82,9.71,9.32,9.71,9.79,10.42,
-10.30,10.64,11.39,11.06,10.89,11.09,11.24,10.99,11.18,11.95,
-11.55,12.38,12.33,13.10,13.45,13.13,12.21,13.06,12.56,12.69,
-12.28,13.89,13.32,13.42,14.02,14.94,13.33,14.04,13.74,14.43,
-14.36,14.10,15.02,15.63,15.85,15.61,15.60,16.09,16.04,15.73,
-16.51,15.56,16.25,16.56,16.09,15.37,15.98,16.14,16.62,17.53,
-17.17,18.03,18.18,17.68,17.89,17.73,17.04,17.95,17.28,18.21,
-18.52,17.84,18.08,19.57,18.05,18.27,18.05,18.70,19.18,18.28,
-18.85,18.71,20.10,19.32,19.18,20.25,19.46,19.43,20.59,19.68,
-20.63,19.70,20.37,20.13,20.52,22.21,20.38,21.11,20.86,20.06,
-20.28,21.79,22.09,20.57,21.65,20.77,22.09,20.77,20.89,21.43,
-22.91,21.37,21.89,21.94,22.06,21.32,22.32,22.97,22.95,22.05,
-22.37,21.93,21.68,22.82,21.94,23.17,23.19,23.96,24.02,21.97,
-22.75,23.65,23.80,22.19,23.70,23.48,23.70,22.96,22.71,23.99,
-24.14,23.39,23.44,23.46,25.23,23.41,23.72,22.71,24.90,24.27,
-24.43,25.31,25.91,25.40,25.21,23.86,25.10,24.08,25.27,25.65,
-24.99,26.00,24.42,24.58,26.65,25.59,25.74,25.49,26.01,26.75,
-26.79,26.69,25.66,27.15,26.87,27.23,26.90,27.61,26.59,26.44,
-28.27,27.10,25.97,26.92,27.04,27.80,27.21,27.35,26.96,27.77,
-27.90,27.46,27.74,27.62,27.38,28.21,28.24,28.93,29.30,27.64,
-27.22,30.16,28.55,27.89,28.07,28.51,28.45,29.62,28.04,28.10,
-27.15,28.43,28.53,28.80,29.06,28.95,29.50,29.18,29.83,30.18,
-29.87,30.54,28.65,30.39,27.86,30.73,29.73,29.29,29.78,30.48,
-30.41,29.30,31.41,29.98,29.50,30.57,30.38,30.42,30.64,30.72,
-30.47,30.71,32.93,31.22,30.70,30.35,30.13,30.69,30.62,31.57,
-31.21,29.23,31.67,30.26,31.60,33.18,31.75,32.78,31.72,31.41,
-32.04,30.98,33.01,31.42,31.36,32.20,31.61,32.30,32.79,31.23,
-32.54,32.19,32.75,31.79,32.81,32.30,32.60,32.46,32.79,32.41,
-5.42,5.71,6.55,5.67,6.20,7.19,7.54,6.81,6.05,7.88,
-7.35,8.58,8.19,8.01,9.06,8.39,8.09,9.63,9.30,10.25,
-10.13,9.59,9.93,8.97,9.18,9.97,10.38,11.33,10.01,10.46,
-10.43,10.48,11.65,11.16,11.84,12.50,11.48,10.82,11.59,11.24,
-11.16,11.69,12.45,12.30,12.47,13.32,13.46,12.45,13.87,12.90,
-12.80,13.97,13.28,12.51,13.54,13.38,14.80,13.33,14.26,15.00,
-15.01,13.94,13.83,15.12,15.58,14.88,14.22,15.93,15.97,16.21,
-16.19,14.35,15.21,15.09,15.72,16.20,15.18,16.25,15.89,15.85,
-16.23,15.63,16.40,16.70,17.26,17.35,17.07,16.36,17.43,15.96,
-17.81,17.72,17.05,18.57,16.67,16.79,18.58,17.38,16.80,18.16,
-17.92,17.96,17.72,18.33,18.53,18.95,17.96,17.23,18.05,19.19,
-18.11,19.47,18.85,18.55,18.71,18.71,19.50,18.46,19.67,19.82,
-19.01,20.14,19.74,21.49,20.22,20.05,19.60,18.70,21.04,19.41,
-20.31,20.06,19.75,21.06,20.20,20.50,21.26,19.81,20.23,20.21,
-19.93,20.91,21.44,20.95,21.17,21.59,21.36,21.81,21.42,21.90,
-22.46,21.63,22.39,21.52,21.36,22.56,23.02,22.02,22.46,22.05,
-21.84,21.98,22.18,23.22,22.87,22.94,22.45,23.06,22.63,23.58,
-23.14,22.43,23.15,23.41,22.10,23.65,23.11,23.35,23.27,23.93,
-23.56,23.06,24.36,24.46,24.21,23.65,23.40,24.16,25.08,25.01,
-22.98,23.09,24.13,24.10,22.91,23.47,24.22,25.26,26.29,23.95,
-25.15,24.26,25.99,25.22,25.80,25.35,25.07,25.36,24.98,25.08,
-25.47,25.86,26.02,26.20,25.85,25.80,26.45,26.47,26.39,24.99,
-26.00,26.51,26.95,26.37,26.51,27.48,26.01,27.18,26.33,25.44,
-26.71,27.47,26.41,27.85,26.15,27.93,26.64,26.47,26.16,26.65,
-26.60,27.84,26.01,27.58,25.72,27.80,28.12,27.88,27.34,26.73,
-27.29,28.93,28.35,27.13,28.42,27.52,28.39,27.04,28.05,28.78,
-28.25,28.33,28.17,27.67,28.14,28.50,29.97,29.72,27.99,28.32,
-29.30,27.99,29.61,28.04,28.95,29.20,28.20,29.85,28.23,28.13,
-29.20,30.10,28.67,29.57,28.64,28.83,29.45,29.48,30.30,31.02,
-4.50,4.89,5.44,5.74,6.05,6.03,7.39,6.47,6.27,7.06,
-6.85,7.35,8.02,7.80,6.84,8.05,7.47,8.56,8.02,7.91,
-9.09,9.21,9.64,9.00,8.54,9.02,9.13,9.83,9.14,9.99,
-9.87,9.80,9.79,9.89,10.30,9.75,10.84,11.04,10.54,11.14,
-10.97,10.26,10.14,11.06,12.12,11.77,11.72,12.29,13.28,12.36,
-12.32,12.46,11.96,12.09,12.21,13.13,12.47,13.24,13.62,13.28,
-13.34,12.78,12.73,13.13,12.79,13.38,13.97,13.80,12.89,13.22,
-13.84,13.73,14.22,13.43,14.47,13.28,14.97,14.38,14.21,14.09,
-14.48,14.72,13.68,15.53,14.36,15.93,15.02,15.80,16.14,15.36,
-15.93,14.81,15.49,16.35,15.76,16.28,16.22,15.72,15.78,16.41,
-16.84,15.88,15.95,16.63,16.08,15.74,16.54,16.64,16.40,16.51,
-17.58,16.78,16.83,16.50,17.55,16.38,16.73,16.61,17.01,17.13,
-17.75,17.92,18.53,18.32,17.62,18.69,17.84,17.53,18.77,18.26,
-18.09,19.12,19.07,18.54,18.56,19.22,19.38,18.80,19.35,19.14,
-18.25,18.22,19.10,18.81,18.88,19.42,18.96,19.62,18.77,19.34,
-19.23,19.80,20.30,19.06,19.94,20.25,21.20,19.74,20.58,20.99,
-20.28,20.27,19.30,20.15,20.32,21.36,19.58,20.48,19.58,21.57,
-20.27,20.28,21.61,21.12,20.69,20.53,21.72,21.15,21.50,21.40,
-21.33,20.82,21.17,22.51,21.86,20.76,21.99,21.28,21.91,21.70,
-22.00,22.04,22.58,21.36,21.18,21.65,21.91,22.00,22.39,22.96,
-20.88,21.99,22.63,23.80,23.10,21.68,22.38,22.68,23.03,23.29,
-23.83,23.54,22.54,22.01,23.41,23.69,23.43,21.90,23.56,23.79,
-23.52,23.28,22.95,23.49,24.10,24.23,23.48,24.08,23.76,22.08,
-23.33,24.40,23.55,24.06,23.49,24.50,25.50,24.74,24.27,24.59,
-25.95,24.75,24.93,24.34,25.89,24.92,24.61,24.35,25.15,25.25,
-25.35,24.72,25.71,25.89,25.32,26.04,25.23,25.21,24.20,25.20,
-26.09,25.74,25.22,25.03,24.97,26.34,25.48,25.57,25.56,25.09,
-26.03,26.36,25.10,26.89,26.18,26.76,27.04,26.04,26.19,26.71,
-27.21,27.76,27.17,26.69,27.00,26.75,26.64,26.78,26.97,27.58,
-4.68,4.49,5.06,4.84,5.87,6.40,5.92,6.57,6.07,6.83,
-5.91,5.62,7.03,6.49,7.22,7.04,7.06,7.16,7.18,7.21,
-7.17,7.09,7.56,7.65,8.67,9.11,8.68,8.36,8.13,8.30,
-8.92,9.14,9.71,8.98,9.41,8.75,9.38,9.74,9.77,9.86,
-9.40,10.20,10.47,10.32,10.02,10.66,10.66,10.07,11.54,11.17,
-10.36,10.80,11.45,10.34,11.76,11.29,12.05,11.47,11.55,11.57,
-11.03,11.82,11.63,11.81,11.75,12.27,12.95,12.78,12.17,12.82,
-11.89,13.04,11.98,12.74,12.41,12.56,12.79,12.98,13.91,13.21,
-12.72,14.38,13.11,13.19,13.70,13.12,14.30,14.00,13.15,13.87,
-13.20,13.90,13.55,12.80,14.17,15.28,14.31,14.85,14.52,15.00,
-15.40,14.72,14.16,13.41,14.09,14.43,15.30,15.34,15.15,16.11,
-15.68,15.67,14.44,15.45,15.33,15.95,15.44,15.91,15.12,15.10,
-16.47,16.48,15.99,15.55,16.39,16.60,17.81,15.50,16.27,16.00,
-15.86,16.26,16.72,16.38,16.98,16.33,17.29,16.99,16.71,16.98,
-17.29,16.73,17.57,17.10,17.55,18.07,17.74,17.07,17.65,17.64,
-18.19,17.38,17.35,18.71,17.21,17.99,17.22,17.49,18.12,17.48,
-18.63,19.76,17.93,18.55,18.49,19.33,18.83,17.55,18.35,18.74,
-16.79,19.43,19.34,18.57,19.35,19.23,19.55,18.82,19.63,19.60,
-19.39,19.38,18.65,19.72,19.71,19.63,20.71,19.99,20.42,19.62,
-20.95,20.00,20.33,20.03,20.14,20.64,20.52,20.26,20.15,21.07,
-20.71,19.23,20.37,19.91,21.55,20.43,20.26,21.13,20.20,19.98,
-20.77,20.01,20.28,21.63,22.69,20.42,20.53,20.65,20.58,21.16,
-20.90,22.39,22.64,21.63,21.37,21.78,20.56,21.11,21.50,21.79,
-21.71,21.40,22.35,21.41,21.60,21.85,21.25,21.07,22.29,22.17,
-22.24,21.86,22.02,22.55,20.93,23.18,23.42,21.84,22.18,22.61,
-22.30,21.73,23.35,22.44,21.16,23.46,21.90,22.48,23.68,22.23,
-23.39,23.19,22.01,23.70,23.50,23.86,23.91,24.55,24.43,23.24,
-23.35,22.91,23.59,22.99,23.37,23.24,24.22,23.24,23.19,23.20,
-22.95,24.68,24.50,22.79,24.64,22.84,23.46,23.83,24.86,24.10,
-14.53,15.33,16.66,16.88,17.68,17.93,18.59,18.30,19.21,20.24,
-20.17,20.76,22.35,22.05,22.72,22.13,23.47,24.90,24.38,24.38,
-25.11,25.36,26.02,26.20,27.07,26.62,25.97,27.19,28.19,29.34,
-28.81,29.61,29.45,29.05,30.72,31.18,31.65,31.50,31.48,31.92,
-31.67,32.51,31.68,32.31,34.43,33.08,35.18,34.13,33.84,35.44,
-34.83,35.28,36.96,35.96,36.65,36.14,39.50,34.96,36.92,37.39,
-38.51,38.72,39.33,40.02,39.13,39.40,39.10,39.06,39.61,40.96,
-40.04,39.78,39.99,42.44,39.92,40.72,41.57,42.28,41.62,42.54,
-43.71,43.72,44.55,44.69,43.08,44.04,43.99,45.32,45.36,43.76,
-44.38,46.30,45.14,45.10,46.91,47.43,46.37,46.75,47.05,44.65,
-47.56,46.72,47.14,48.15,50.20,48.05,50.40,48.38,49.27,48.35,
-49.37,50.26,49.61,51.12,51.53,49.40,51.26,52.88,51.59,51.22,
-49.62,49.62,52.56,51.82,53.54,52.02,51.88,51.92,53.06,54.65,
-53.42,52.23,54.58,53.08,54.44,55.41,55.71,56.57,55.05,54.98,
-53.17,55.39,55.63,55.94,57.49,57.86,57.12,56.02,55.83,56.02,
-55.78,57.33,58.16,57.43,57.92,58.49,57.47,58.68,59.94,61.09,
-61.16,60.34,57.41,60.25,60.14,60.88,60.72,57.12,59.15,61.96,
-64.47,62.44,61.51,58.97,63.10,61.50,63.58,62.12,62.44,60.91,
-62.92,62.82,63.14,62.18,62.03,62.72,62.62,61.29,68.98,65.91,
-62.44,66.66,62.66,64.17,63.96,61.98,63.50,64.67,66.08,60.08,
-66.35,65.46,67.09,70.46,65.93,65.84,66.53,65.75,65.19,67.59,
-67.87,68.48,67.08,69.63,66.56,69.00,69.61,69.02,67.48,68.71,
-68.02,66.60,70.21,69.20,68.71,67.53,71.22,69.87,72.94,71.23,
-69.53,71.15,68.87,73.60,71.86,69.85,68.93,74.40,69.87,69.14,
-70.74,72.10,71.54,69.51,74.33,73.96,71.56,69.70,75.32,72.95,
-69.98,72.35,73.16,75.08,74.04,75.59,76.28,75.07,75.53,72.59,
-72.41,75.10,71.98,72.45,77.08,76.22,73.33,71.75,74.45,75.21,
-73.57,75.13,75.26,77.19,76.25,75.26,75.55,78.91,78.02,74.58,
-73.54,77.97,77.42,75.94,77.04,77.53,76.05,78.70,79.28,81.11,
-14.05,14.90,15.54,16.33,16.99,17.54,17.79,18.21,19.46,19.40,
-20.40,21.04,21.23,20.31,21.79,22.60,23.01,23.48,23.44,24.39,
-24.25,24.46,25.73,25.36,26.07,26.42,26.47,26.24,27.59,28.19,
-27.92,28.36,28.52,30.25,29.49,30.27,30.52,30.16,30.85,31.23,
-30.79,29.79,31.48,32.75,31.88,32.46,31.90,32.88,33.84,34.01,
-33.47,34.51,35.46,34.42,34.51,35.67,36.69,35.32,37.87,34.94,
-37.38,37.06,38.50,36.81,37.03,37.58,38.03,39.65,38.35,39.11,
-39.24,40.24,39.54,39.93,40.48,42.55,42.17,41.12,44.11,41.93,
-40.77,43.58,41.15,42.53,41.08,42.98,42.18,43.24,41.10,43.26,
-41.85,44.01,45.12,45.85,43.83,45.56,45.27,46.10,44.04,47.03,
-47.22,46.33,47.23,48.68,46.37,47.64,48.05,50.61,50.41,47.19,
-47.36,47.97,47.28,48.26,49.70,48.49,49.42,50.17,49.90,49.99,
-51.35,52.35,51.66,51.10,51.42,49.69,54.50,51.12,50.49,51.69,
-51.26,52.70,51.67,52.70,52.56,51.92,53.33,53.63,53.50,54.05,
-51.86,55.73,52.74,53.16,53.23,53.99,56.10,54.14,57.21,58.82,
-58.66,55.64,56.65,55.79,56.43,55.71,56.10,57.90,57.27,58.49,
-58.63,57.28,55.36,60.20,56.85,54.99,59.04,60.01,57.43,57.93,
-60.86,59.88,58.12,59.82,61.07,58.42,62.45,62.71,61.56,60.33,
-61.88,59.86,60.92,60.66,62.10,61.38,61.74,62.13,64.58,63.72,
-61.54,62.74,63.32,63.01,62.62,62.90,62.52,61.67,60.07,64.65,
-65.26,65.05,62.53,66.16,63.51,65.96,65.37,68.30,64.36,65.08,
-64.23,65.69,65.30,68.19,64.70,65.42,67.46,67.89,65.67,67.64,
-69.62,69.31,66.48,68.37,67.84,68.83,70.24,67.92,66.82,66.53,
-70.21,68.10,69.93,70.31,69.62,68.14,67.11,70.85,72.17,71.80,
-67.53,70.27,71.12,71.41,71.56,73.77,70.10,68.75,69.61,74.52,
-72.80,68.87,69.53,68.66,72.32,72.20,70.77,70.81,72.50,73.42,
-73.58,75.00,71.76,72.01,72.20,73.17,72.08,73.68,75.20,72.29,
-73.02,71.49,74.41,74.71,76.76,76.13,75.65,72.19,74.81,74.18,
-73.86,76.05,73.80,75.40,77.86,76.82,74.68,77.10,74.38,77.01,
-13.22,14.41,14.15,15.31,16.79,16.76,17.49,16.77,17.44,18.99,
-18.86,19.72,20.96,20.21,20.13,20.52,21.71,21.94,22.29,23.23,
-22.27,24.05,23.85,24.47,25.67,25.37,25.26,25.99,26.31,26.37,
-26.50,27.64,29.23,28.73,28.52,28.37,28.02,28.64,29.30,29.45,
-28.98,30.53,30.02,30.74,31.44,31.17,31.40,31.53,32.36,32.52,
-32.82,32.07,34.50,34.37,33.89,35.33,35.23,34.73,36.52,34.18,
-34.36,36.94,36.94,35.13,36.10,36.18,38.63,37.04,37.36,37.74,
-37.16,39.09,38.42,39.11,38.55,39.00,38.45,40.63,39.87,36.28,
-41.61,41.34,38.56,39.94,41.62,40.91,41.01,39.94,42.26,42.37,
-43.76,41.61,44.13,43.66,42.74,43.11,42.89,44.07,44.90,44.71,
-45.71,44.98,44.37,43.87,45.82,44.86,44.88,45.52,43.67,47.15,
-47.56,44.74,47.43,46.10,45.45,46.30,46.42,48.15,48.18,47.40,
-48.94,48.90,48.98,47.37,49.49,48.81,50.64,50.68,49.47,50.62,
-50.32,49.15,50.75,50.33,51.55,49.65,51.00,52.58,50.33,54.16,
-50.11,52.28,50.39,51.40,52.17,52.77,53.23,50.58,51.76,55.02,
-53.23,52.58,53.07,53.09,56.28,55.66,55.08,56.85,54.84,54.61,
-54.15,55.04,56.73,56.34,56.16,57.54,56.01,55.53,57.43,55.94,
-58.52,55.38,55.59,57.42,57.67,56.10,56.04,58.30,57.40,59.05,
-59.50,59.46,58.93,58.96,60.89,61.23,60.14,61.69,59.02,60.26,
-57.96,61.14,60.95,61.14,59.60,59.87,62.32,61.84,59.49,59.92,
-60.68,63.15,63.05,60.63,63.46,64.33,62.06,62.76,61.51,62.06,
-60.78,66.11,62.55,64.46,62.31,63.83,66.51,65.28,61.83,65.15,
-62.62,62.94,63.31,63.71,66.15,66.44,65.31,64.75,64.20,66.59,
-66.36,67.04,64.44,66.84,64.05,65.67,61.71,63.86,65.55,67.81,
-67.07,66.93,66.83,69.33,68.86,67.89,69.50,65.63,69.85,69.69,
-68.30,69.27,70.98,66.90,69.37,68.12,67.80,67.72,67.41,69.88,
-71.26,69.95,68.74,69.25,72.22,69.44,71.61,69.68,71.63,70.10,
-70.12,70.29,73.18,70.74,73.60,69.19,73.99,72.60,71.37,73.16,
-75.04,72.85,71.89,71.34,70.28,73.33,69.73,72.85,70.93,72.64,
-13.30,13.71,14.07,14.02,15.68,15.50,16.37,16.62,16.82,17.31,
-17.71,19.04,19.20,19.70,19.51,20.34,20.39,21.14,20.81,22.58,
-22.68,23.60,22.66,23.02,23.43,23.91,23.52,25.18,24.64,26.16,
-24.61,25.47,26.66,26.65,25.90,26.42,26.61,26.94,27.54,28.05,
-28.75,28.08,29.79,28.58,29.12,29.23,29.71,30.56,29.79,30.85,
-31.59,31.86,32.53,31.01,32.38,33.23,33.37,33.32,33.87,31.74,
-33.39,33.89,33.65,34.38,35.17,36.79,36.02,35.18,35.91,36.17,
-34.46,35.98,36.64,36.41,36.49,37.40,35.32,37.85,37.55,37.53,
-36.97,38.79,37.97,39.43,39.33,39.94,38.93,39.76,39.48,40.63,
-39.05,41.91,40.77,41.72,40.67,39.46,40.55,41.92,41.76,42.09,
-40.91,42.33,43.09,42.70,41.57,43.47,42.69,43.72,44.45,44.73,
-43.56,43.99,42.94,45.00,43.29,43.63,45.16,44.05,45.71,46.55,
-43.47,46.41,45.90,45.43,49.31,48.56,46.87,47.26,48.41,47.01,
-47.89,47.87,46.83,46.93,48.04,47.21,47.33,47.94,47.20,49.19,
-48.63,48.45,50.22,50.86,48.76,49.84,50.71,48.67,50.38,50.97,
-50.50,51.56,50.74,51.65,50.22,50.77,53.05,50.46,51.04,53.43,
-51.70,52.45,51.45,49.92,52.27,53.20,54.16,52.77,53.51,54.72,
-56.33,54.04,53.38,54.80,55.03,55.75,55.50,53.59,56.00,56.70,
-53.50,53.26,55.25,56.66,56.07,56.60,57.51,57.64,57.18,57.39,
-55.50,56.20,57.57,57.01,58.17,58.27,56.65,57.50,55.78,55.79,
-59.83,55.67,58.43,59.70,59.91,57.61,60.18,58.99,60.00,58.41,
-60.93,58.77,58.85,62.53,58.64,61.28,57.74,60.64,59.50,64.01,
-58.48,60.13,62.97,64.37,62.01,61.75,63.13,61.98,60.56,62.85,
-62.13,62.39,61.56,63.50,61.97,62.49,64.22,64.18,62.56,64.70,
-62.89,64.59,60.42,67.32,62.28,63.24,64.17,64.11,64.86,62.90,
-62.79,65.91,66.27,66.72,66.02,64.33,65.18,63.41,64.08,65.46,
-63.68,64.22,69.05,67.56,65.02,68.36,67.77,67.34,66.93,66.12,
-69.25,68.61,67.48,65.96,67.37,66.52,67.78,67.38,69.22,66.61,
-67.70,69.93,72.07,66.64,68.99,69.38,68.75,70.17,73.36,68.72,
-11.87,12.84,13.35,13.99,14.26,14.93,14.99,15.59,17.27,17.25,
-16.13,18.47,17.90,17.79,18.65,18.75,19.07,19.70,19.70,20.15,
-20.75,21.00,20.79,21.14,23.51,24.15,22.49,23.70,23.38,23.85,
-22.81,24.08,25.57,25.38,25.37,26.05,25.57,26.16,26.02,26.96,
-27.75,27.69,26.67,26.98,27.24,27.52,27.73,29.35,29.44,29.25,
-29.38,29.63,30.24,29.57,30.95,31.80,30.32,31.05,32.27,31.23,
-32.97,32.43,33.31,31.44,34.10,33.71,32.44,34.10,32.69,34.23,
-33.17,33.85,34.69,33.73,35.55,35.85,34.81,35.81,36.53,37.25,
-34.27,33.87,37.39,35.52,37.73,38.97,37.72,38.60,36.57,38.33,
-37.71,38.75,37.95,37.48,39.56,39.11,39.02,38.87,39.11,39.31,
-38.55,39.26,39.83,40.25,40.42,40.36,41.15,39.84,41.29,43.24,
-42.19,41.44,41.13,42.27,40.77,42.02,43.37,43.11,43.16,41.54,
-43.42,43.51,41.34,45.66,44.92,43.44,43.68,44.26,45.47,45.51,
-44.98,43.89,45.44,48.53,46.56,48.25,46.52,46.36,44.44,47.14,
-46.19,45.90,45.87,47.68,45.13,45.84,45.57,47.62,48.05,49.11,
-46.63,46.32,47.11,50.23,48.53,49.34,49.29,48.34,49.17,50.97,
-48.12,50.18,49.99,49.40,48.15,48.08,51.27,49.85,51.30,50.99,
-52.01,49.62,51.64,51.49,53.24,52.69,51.24,51.64,52.76,53.71,
-54.09,53.82,52.88,50.61,52.19,52.85,53.84,52.51,55.18,52.32,
-51.30,52.12,56.50,56.03,52.98,55.35,53.38,54.82,53.95,54.15,
-54.34,54.43,55.74,54.44,55.26,55.74,55.84,56.98,56.02,57.23,
-55.42,54.02,57.55,58.00,55.14,57.31,56.92,58.30,53.76,56.25,
-58.32,57.81,56.82,55.84,58.58,56.99,57.36,58.42,61.36,59.63,
-57.37,60.88,59.28,57.81,59.16,60.73,57.44,61.72,58.62,59.64,
-61.33,59.99,61.60,62.31,61.25,58.75,60.52,58.01,63.49,59.28,
-60.22,60.67,64.14,59.29,63.10,59.87,62.25,61.00,60.99,60.19,
-59.44,61.12,62.97,62.34,61.94,64.62,62.30,63.91,63.03,64.85,
-63.72,65.34,63.91,61.57,63.94,64.35,64.87,63.65,61.72,61.74,
-63.85,64.47,65.78,63.46,66.69,63.06,63.58,63.80,63.74,64.78,
-11.46,11.44,12.63,13.28,14.14,14.32,14.62,14.82,15.50,16.25,
-16.01,16.32,17.11,17.51,17.45,18.85,18.59,19.17,19.96,19.69,
-18.83,20.20,20.56,21.29,20.50,20.56,21.37,20.95,22.00,21.76,
-22.49,23.39,22.12,23.00,23.59,24.11,24.33,23.09,25.05,24.82,
-25.01,25.50,24.93,26.80,25.81,26.91,27.68,27.70,26.93,27.81,
-27.55,27.99,27.40,27.27,27.90,28.51,28.17,28.61,29.33,29.77,
-30.13,30.79,29.94,29.47,30.70,30.52,30.84,30.13,30.31,32.14,
-32.36,32.44,31.51,32.25,32.11,32.94,32.99,32.99,34.15,33.73,
-33.32,33.33,33.13,34.28,35.32,33.48,35.32,34.76,33.75,35.62,
-36.61,35.72,36.05,36.50,35.94,36.24,36.05,35.93,38.44,36.84,
-38.28,38.01,36.37,37.57,37.60,38.35,38.57,40.33,38.10,37.23,
-39.93,38.64,39.72,40.34,38.64,41.29,39.14,42.00,38.65,40.22,
-41.41,41.00,42.08,38.66,40.48,40.19,41.29,42.48,40.49,41.14,
-43.54,40.87,43.84,41.50,42.45,42.81,42.65,43.87,42.12,43.47,
-41.84,44.14,43.26,42.80,43.12,43.88,45.96,44.67,43.92,45.37,
-44.46,45.30,44.71,45.41,45.51,44.99,45.82,46.69,45.49,46.45,
-46.75,46.08,47.45,47.27,45.60,48.37,46.72,46.54,46.91,47.05,
-47.99,47.49,47.43,46.06,49.28,49.07,50.88,47.36,49.27,47.87,
-49.51,49.02,49.44,47.66,51.13,51.21,49.25,50.19,48.90,49.93,
-48.67,51.39,50.70,51.15,51.56,51.25,50.72,53.20,48.42,51.06,
-52.00,52.89,51.67,53.27,51.34,51.07,52.15,51.20,51.42,51.30,
-52.25,51.30,53.23,53.49,54.77,51.59,56.08,54.67,56.74,51.98,
-55.50,53.35,55.31,53.10,54.67,52.75,51.93,54.77,55.15,55.91,
-56.13,53.58,55.12,56.71,54.31,56.29,55.45,56.56,55.21,53.85,
-55.03,55.93,56.76,56.20,57.22,54.94,57.17,57.01,57.20,57.50,
-57.16,58.40,56.10,56.88,58.91,58.63,59.25,57.42,60.09,58.18,
-59.33,59.64,56.19,56.90,59.22,62.49,58.83,61.21,58.72,58.96,
-57.16,59.96,59.45,60.17,59.96,58.63,60.37,60.46,61.84,59.73,
-60.61,58.26,60.58,60.75,62.50,61.13,61.45,64.33,64.49,62.57,
-11.37,11.29,11.49,12.04,11.95,13.27,13.27,13.65,13.94,15.11,
-14.84,14.78,16.19,15.47,16.37,15.88,17.15,17.70,17.66,17.85,
-18.55,17.85,18.86,19.24,19.44,19.00,19.52,20.37,21.22,20.93,
-20.69,20.69,22.07,21.55,21.00,21.38,21.97,21.97,21.35,23.12,
-23.87,23.73,24.45,24.17,24.45,23.69,25.07,25.76,26.22,24.88,
-25.65,25.54,25.18,25.69,26.99,26.80,26.91,27.24,27.73,27.59,
-27.96,28.27,28.73,27.39,27.97,27.54,29.98,29.36,29.56,29.74,
-29.11,30.28,29.05,30.79,29.69,30.18,30.29,30.86,30.49,30.55,
-30.83,30.84,31.15,31.34,32.11,32.50,32.07,31.31,31.56,32.88,
-33.47,34.86,32.99,32.67,32.90,34.19,33.82,34.31,34.39,35.70,
-33.36,35.95,34.68,35.12,35.15,36.94,33.89,37.20,35.22,35.93,
-37.59,36.84,36.84,35.41,35.48,36.80,36.89,36.64,37.23,37.65,
-37.18,36.48,37.47,38.15,35.98,38.84,36.84,38.34,38.30,39.11,
-39.63,39.18,39.76,39.57,37.55,38.72,39.50,39.75,39.09,39.64,
-41.31,40.41,41.22,41.31,41.15,40.81,38.47,41.90,42.63,42.27,
-41.44,41.66,42.24,42.42,43.54,44.19,41.09,44.70,43.05,43.20,
-41.72,42.55,43.73,45.19,43.34,44.59,43.79,43.17,41.74,43.32,
-43.73,43.92,45.15,43.78,46.01,45.18,44.02,44.45,46.90,46.46,
-47.07,45.07,45.09,46.95,44.58,44.65,46.16,43.96,48.36,46.49,
-45.79,46.58,44.23,47.74,45.40,45.99,45.59,45.70,46.52,48.19,
-48.75,48.01,48.84,48.59,49.49,47.73,47.68,49.26,49.18,47.89,
-47.30,47.73,48.34,50.21,49.04,50.42,51.42,50.57,48.62,48.83,
-49.48,49.17,50.23,50.28,49.94,48.61,51.34,52.77,48.57,50.44,
-51.78,51.62,50.82,52.01,53.09,48.48,49.97,51.07,52.77,53.01,
-51.86,52.01,54.73,52.93,54.67,52.33,54.37,52.75,53.30,53.93,
-51.26,54.36,53.12,53.86,54.45,51.32,53.70,57.32,53.77,54.34,
-56.06,52.82,54.05,57.67,53.82,55.95,53.79,54.87,55.53,55.36,
-55.54,54.64,54.00,58.66,54.80,53.40,56.76,55.11,56.18,53.99,
-55.58,59.16,56.42,56.04,54.28,55.15,58.12,55.64,57.50,58.78,
-9.99,10.50,11.15,11.97,11.51,11.70,13.08,12.11,12.63,13.28,
-14.04,13.98,13.93,14.42,14.38,15.35,15.51,15.49,16.30,16.85,
-16.88,17.72,17.07,17.68,18.27,17.07,18.65,18.26,19.96,18.93,
-18.96,20.12,19.56,20.38,19.70,21.63,20.55,20.99,21.03,21.31,
-21.32,22.11,22.10,23.55,22.26,22.32,23.22,23.52,23.39,22.53,
-23.56,24.07,23.58,24.66,23.54,25.08,24.67,25.48,26.93,25.98,
-26.59,25.01,26.81,26.54,25.66,26.85,26.17,25.78,26.46,26.64,
-27.51,29.01,28.20,26.87,28.04,28.07,27.64,27.95,28.25,28.25,
-28.79,29.05,29.48,28.95,27.64,30.29,30.24,30.75,31.29,29.15,
-29.48,30.03,30.46,31.93,30.63,31.94,31.09,29.99,32.42,32.54,
-30.43,31.96,31.83,31.24,32.69,31.67,31.95,33.16,32.56,33.64,
-33.80,33.70,33.47,33.52,33.76,35.79,32.96,34.92,35.27,36.53,
-34.87,34.93,35.43,35.27,36.19,36.54,35.10,35.47,35.07,34.81,
-37.36,35.91,36.31,35.30,36.41,36.85,35.89,35.14,37.60,37.36,
-38.12,36.88,37.52,38.05,37.93,38.33,39.14,38.41,37.74,37.61,
-37.84,37.39,38.69,38.49,37.71,36.51,39.09,39.07,40.39,40.05,
-40.15,39.38,39.13,38.00,39.67,41.57,39.76,39.44,41.18,39.30,
-41.27,40.04,42.19,40.44,41.10,41.54,42.02,42.26,41.97,41.45,
-41.67,43.00,42.17,42.51,43.92,42.06,42.62,43.93,43.34,44.41,
-45.02,42.93,43.64,42.47,44.56,43.24,43.30,43.78,44.31,45.12,
-43.84,43.45,44.79,45.50,43.85,44.67,43.04,47.24,45.12,43.78,
-45.08,45.18,45.14,45.87,46.88,46.44,46.86,47.48,45.83,47.92,
-46.89,45.65,45.39,45.78,46.97,46.06,46.26,46.19,47.07,46.80,
-47.30,49.80,48.26,47.96,46.36,47.90,47.36,47.82,46.54,46.59,
-48.50,48.37,46.96,49.38,47.48,50.11,49.28,50.35,48.56,49.11,
-47.78,50.33,50.33,47.99,48.43,49.76,49.93,50.33,50.23,48.50,
-49.95,48.14,49.80,50.52,50.02,50.75,52.41,48.97,52.34,52.60,
-52.72,50.51,51.13,52.42,51.12,50.32,51.92,51.83,52.51,53.69,
-51.81,52.56,51.85,52.58,53.08,52.19,51.14,54.55,51.98,54.21,
-9.38,9.31,9.39,9.74,10.66,11.07,11.25,11.82,12.44,12.60,
-12.51,13.31,13.61,13.36,14.05,13.88,14.54,14.61,15.09,14.83,
-15.78,15.53,16.17,16.34,17.44,16.76,16.28,17.96,17.27,17.42,
-18.13,18.35,18.33,19.15,19.28,18.89,19.90,20.22,19.46,19.60,
-20.28,20.93,18.44,21.19,21.16,20.54,20.40,21.29,21.45,22.97,
-21.68,23.15,21.39,23.21,23.01,22.88,21.80,23.53,22.82,23.27,
-24.10,24.32,23.87,22.92,23.86,24.88,24.52,24.29,25.74,25.12,
-26.34,25.68,26.20,25.77,25.67,27.19,26.02,25.80,25.28,26.97,
-26.66,25.88,26.11,27.89,27.15,26.54,26.82,28.07,28.28,27.57,
-27.29,27.38,27.97,27.67,28.74,29.07,28.80,29.35,30.37,30.15,
-29.99,30.07,30.16,30.89,30.45,30.12,30.55,29.25,31.82,31.63,
-31.05,31.36,30.98,30.66,32.93,31.01,30.88,31.22,31.75,31.68,
-31.96,32.27,32.30,32.28,32.70,33.24,32.97,33.33,33.27,32.02,
-32.32,33.80,32.45,33.17,33.29,34.61,33.48,34.35,33.56,34.25,
-32.83,33.63,34.44,34.35,36.59,34.68,36.91,35.72,35.91,35.63,
-34.76,34.38,36.87,36.55,36.46,36.70,35.41,35.66,36.12,36.22,
-36.74,36.17,35.74,37.99,36.17,35.97,36.76,36.67,36.61,37.57,
-36.62,37.49,38.01,38.83,38.43,37.27,38.55,39.23,38.74,40.21,
-39.77,38.68,38.32,38.36,38.71,38.51,39.56,40.86,40.06,39.37,
-39.49,40.52,37.24,39.71,39.79,39.52,40.35,40.51,42.08,40.06,
-41.04,40.65,41.55,43.04,40.77,38.56,40.47,39.34,41.96,41.11,
-41.27,43.33,41.70,41.04,42.55,42.58,40.04,43.00,42.27,40.73,
-43.18,41.05,43.15,43.04,43.29,42.71,43.86,42.62,43.56,43.75,
-44.56,44.54,43.60,43.85,45.22,42.59,44.45,43.37,43.52,44.39,
-42.62,46.61,44.62,44.73,45.82,45.33,43.38,44.38,45.06,46.31,
-45.94,46.32,44.64,44.18,44.86,46.20,46.05,48.64,45.12,45.91,
-47.94,46.76,47.38,47.38,44.94,46.87,46.73,47.71,46.15,46.72,
-47.22,47.36,46.59,47.58,48.23,47.68,47.01,47.25,48.39,48.01,
-49.46,45.92,45.21,48.05,48.61,46.78,50.03,46.47,50.15,49.01,
-7.87,8.78,8.76,9.91,9.68,10.41,9.72,10.17,10.95,12.19,
-12.43,11.67,11.82,12.83,12.88,13.62,13.16,14.04,14.29,14.40,
-13.89,15.27,14.73,15.25,14.46,15.64,15.47,16.19,15.67,16.28,
-17.17,16.33,16.36,17.71,17.07,17.37,17.82,17.49,17.57,18.58,
-17.90,19.21,18.46,18.55,18.94,18.82,19.16,20.13,19.77,20.30,
-20.49,20.69,21.12,20.24,19.73,20.05,20.99,21.04,21.93,21.56,
-20.74,22.69,22.21,22.89,21.88,22.66,22.90,22.31,23.00,23.86,
-23.35,23.39,22.67,23.43,24.45,23.44,24.30,24.18,24.76,24.59,
-24.08,25.21,25.10,25.97,26.58,24.94,25.81,25.25,26.31,25.98,
-25.25,25.83,26.35,26.05,27.14,25.54,27.19,26.24,27.34,27.17,
-27.57,26.41,27.46,27.59,28.10,27.37,26.84,27.54,26.74,27.33,
-28.39,28.37,27.47,28.65,27.18,30.39,29.13,29.85,28.65,28.79,
-30.57,30.44,29.61,29.20,29.94,28.12,30.33,29.24,30.13,30.99,
-30.33,30.18,31.12,31.04,29.35,31.84,32.43,29.82,31.63,30.46,
-31.66,32.57,31.52,31.59,32.90,30.78,32.12,33.65,32.26,32.30,
-32.74,33.82,32.03,31.31,33.92,32.18,33.16,33.91,33.00,32.49,
-33.98,32.72,33.95,33.63,33.91,34.06,34.35,33.17,34.17,34.83,
-34.95,33.71,34.40,37.03,35.41,35.18,34.68,36.66,35.11,36.08,
-37.67,36.97,37.75,34.10,35.12,35.54,35.70,36.46,36.32,36.59,
-34.93,35.77,36.14,37.23,36.68,34.66,38.17,37.72,36.41,36.79,
-37.66,38.33,39.40,37.88,39.18,37.23,38.79,36.90,38.11,37.31,
-37.47,38.42,35.93,38.88,38.58,37.57,40.15,39.98,38.85,40.27,
-38.44,39.73,40.22,38.28,38.45,37.64,40.56,40.92,39.40,40.81,
-39.12,38.58,40.59,40.35,40.64,39.98,39.85,40.25,40.94,39.16,
-40.93,41.42,39.88,39.50,41.80,41.53,40.35,41.02,43.24,42.96,
-41.18,40.01,41.07,42.12,42.07,41.96,42.60,40.51,40.95,42.16,
-41.07,43.68,41.28,42.56,40.39,42.43,43.86,41.80,43.26,42.02,
-42.65,42.46,43.71,43.50,44.30,45.31,44.60,41.54,43.38,42.43,
-43.66,43.15,44.46,43.50,45.34,43.53,43.03,45.41,43.80,45.76,
-7.41,8.46,7.87,8.73,8.89,9.37,9.90,10.16,10.46,10.87,
-11.04,11.39,11.36,11.75,11.89,11.29,12.09,12.54,12.90,12.57,
-13.60,14.23,14.21,13.49,14.09,14.62,14.19,13.68,13.97,14.76,
-14.79,14.60,15.46,15.74,15.19,16.65,15.88,16.32,16.63,16.24,
-16.66,16.42,16.66,17.44,17.10,17.95,17.48,17.52,18.11,18.80,
-18.43,19.57,18.87,18.62,18.74,18.61,19.36,19.62,19.08,20.02,
-19.57,19.89,19.14,19.73,20.31,20.55,20.28,20.22,21.12,21.89,
-20.49,21.46,20.95,21.57,20.18,22.66,22.37,20.85,22.52,22.09,
-22.76,22.73,22.55,23.01,23.05,23.02,22.59,23.67,22.64,22.80,
-24.35,23.81,23.50,24.44,23.74,24.79,25.31,24.43,25.00,25.10,
-24.74,24.89,25.26,25.15,26.72,25.72,26.12,25.57,25.77,25.89,
-25.12,25.60,25.80,25.84,26.26,25.06,26.95,26.75,26.24,26.83,
-27.12,26.92,26.58,26.48,28.67,27.69,28.23,27.22,27.91,27.57,
-27.46,28.48,27.93,29.59,28.46,28.78,27.96,27.89,29.14,28.52,
-29.06,29.68,29.99,28.57,29.83,29.33,29.11,28.54,28.92,29.83,
-29.25,30.53,30.55,28.91,29.03,31.48,31.27,31.39,30.64,30.27,
-30.07,30.77,31.24,30.79,31.08,33.12,31.98,30.61,31.12,30.40,
-30.72,30.44,32.32,32.61,31.55,33.24,31.39,33.81,33.23,32.28,
-31.29,33.18,34.19,32.15,34.67,33.64,32.63,33.60,33.43,34.12,
-33.38,34.30,34.89,34.38,33.15,33.47,33.39,34.29,35.30,33.83,
-35.62,34.02,33.39,35.97,35.42,36.02,32.88,34.48,36.66,34.75,
-35.13,34.45,37.16,35.16,35.05,37.22,37.31,33.68,35.54,33.39,
-34.91,35.49,35.06,36.50,35.81,36.85,36.15,36.22,36.72,36.95,
-37.31,36.38,36.43,37.92,36.62,36.42,38.03,37.03,36.57,37.09,
-39.21,36.48,37.03,36.23,37.58,36.85,38.47,37.17,38.19,40.35,
-37.40,39.24,36.49,37.27,38.75,37.94,39.02,39.40,38.72,37.15,
-38.14,38.64,39.15,39.98,38.02,39.15,37.58,38.47,38.83,40.69,
-39.75,38.42,39.03,40.36,40.68,41.23,39.37,39.27,40.40,39.98,
-39.47,40.88,40.17,39.43,42.76,40.77,39.55,41.89,40.09,40.17,
-6.95,7.11,6.95,7.92,8.02,8.20,8.52,9.33,8.86,9.52,
-10.34,9.93,9.74,11.00,9.75,10.51,11.07,11.51,11.37,12.23,
-11.09,12.35,12.63,11.81,12.29,13.02,12.70,13.18,13.39,13.33,
-13.45,13.76,13.20,13.54,13.84,14.71,15.38,15.59,14.63,14.82,
-15.31,15.15,16.28,15.24,14.75,16.22,15.56,15.60,16.28,16.56,
-17.12,17.02,16.82,17.10,17.00,18.38,17.38,17.28,18.18,18.62,
-19.34,18.94,17.62,18.26,19.41,19.07,18.94,18.85,19.40,19.04,
-19.31,19.07,19.64,20.17,21.75,20.93,18.53,20.88,19.56,20.42,
-21.37,20.73,21.15,21.62,21.17,22.86,19.81,21.42,22.04,21.84,
-21.90,22.12,21.42,21.48,20.89,22.59,22.42,23.04,22.72,23.20,
-23.12,22.67,23.01,23.67,23.90,22.14,23.47,23.02,23.02,22.95,
-24.26,22.76,23.10,23.72,24.63,24.05,24.08,24.34,25.17,24.39,
-24.63,25.41,24.97,25.30,25.09,25.55,24.60,25.16,24.64,26.60,
-25.94,25.46,26.03,26.80,26.14,27.43,26.29,26.28,26.56,27.25,
-25.11,26.38,27.77,27.77,27.24,27.34,26.21,27.59,26.51,26.72,
-26.93,27.01,27.24,27.59,28.13,27.45,26.57,28.51,28.13,27.10,
-27.06,28.69,28.66,29.03,29.29,29.21,27.45,29.79,29.03,29.03,
-28.26,29.07,27.76,29.15,29.42,30.37,29.05,28.80,28.26,29.90,
-29.48,29.86,29.13,29.60,31.52,29.07,31.90,30.15,31.86,29.50,
-30.35,30.17,30.83,32.17,31.15,29.73,31.32,31.33,29.97,30.56,
-31.95,31.12,30.92,31.45,31.86,31.55,33.09,31.83,31.72,32.47,
-31.58,31.41,31.79,32.52,32.79,32.34,31.98,32.27,31.96,31.78,
-33.11,32.13,33.45,32.51,33.57,32.87,33.08,35.18,31.86,33.50,
-33.27,35.30,34.70,33.14,33.72,33.44,33.97,33.71,33.57,34.03,
-33.56,35.33,35.28,35.06,34.73,34.39,34.87,35.85,35.10,34.70,
-33.82,34.83,33.68,34.13,33.80,34.53,34.57,35.10,35.50,34.91,
-34.88,34.52,33.44,35.00,35.42,35.68,35.11,36.34,34.40,35.54,
-36.57,36.48,36.56,37.63,36.26,35.30,35.22,36.53,37.76,35.10,
-36.94,37.41,34.87,36.71,36.68,38.44,37.54,36.61,38.75,37.50,
-6.25,7.11,6.37,7.54,7.13,8.03,7.52,8.27,8.58,8.62,
-9.28,8.68,10.00,9.86,9.33,9.50,10.38,9.98,12.19,11.09,
-10.35,11.10,11.01,11.73,11.87,12.34,11.94,13.11,11.85,12.14,
-12.22,13.43,13.02,12.78,13.52,12.86,13.17,13.02,13.79,13.95,
-14.44,14.34,14.49,14.87,14.75,14.47,14.55,14.83,15.02,14.67,
-14.91,15.46,15.50,16.05,14.92,16.74,15.71,16.07,16.21,16.16,
-16.39,16.82,16.82,15.91,16.00,17.40,17.16,16.87,16.77,17.58,
-17.02,17.13,17.17,17.35,17.36,17.18,18.59,18.41,18.77,19.18,
-18.90,18.22,19.14,18.63,18.80,18.99,19.40,18.57,19.62,19.74,
-19.92,19.39,19.40,20.53,19.38,19.93,20.93,21.78,20.95,20.21,
-20.40,21.88,20.35,20.74,21.03,21.97,21.77,22.13,20.27,21.13,
-21.62,21.96,21.72,22.04,22.46,22.08,22.87,21.55,22.42,22.39,
-22.06,22.71,22.68,22.23,22.22,23.82,22.72,22.41,23.05,23.78,
-24.47,23.77,23.20,24.02,23.25,24.06,22.87,23.23,23.59,24.83,
-23.56,24.45,24.25,26.30,24.18,23.76,23.56,24.38,24.05,24.48,
-24.26,25.43,24.60,25.42,25.37,25.31,25.66,24.24,27.13,24.54,
-26.33,26.00,26.41,25.73,26.35,26.60,25.52,25.91,27.33,26.80,
-25.64,26.64,25.32,26.01,26.17,26.30,26.39,25.72,27.41,27.29,
-26.25,26.21,27.32,26.73,27.28,27.86,26.63,28.55,26.45,27.65,
-28.84,28.18,28.41,28.15,27.34,27.64,28.89,27.17,28.54,28.24,
-27.26,27.00,28.74,28.41,30.74,28.58,28.63,28.84,27.92,27.81,
-28.84,29.80,29.48,29.99,29.52,28.99,29.28,30.39,29.06,29.86,
-28.84,28.89,30.00,29.94,30.63,30.15,29.61,30.70,29.76,29.35,
-30.78,31.10,30.88,30.33,30.13,31.18,31.08,31.01,31.47,32.01,
-30.44,31.02,32.17,30.55,31.90,30.37,31.87,30.66,31.87,31.10,
-30.91,32.71,32.65,31.94,30.80,30.94,32.31,33.18,32.04,33.09,
-33.04,31.68,33.39,31.92,33.83,32.36,31.30,31.29,33.36,33.30,
-32.43,31.56,32.95,32.97,33.82,33.48,31.99,33.95,33.55,32.67,
-33.78,32.43,34.16,33.18,32.98,34.52,33.68,33.66,34.89,34.54,
-5.91,5.87,6.26,6.73,6.49,7.10,6.63,7.49,7.19,8.15,
-8.66,8.61,8.41,8.41,7.75,9.09,8.84,9.67,9.17,9.16,
-9.17,9.65,10.16,9.35,10.35,9.87,10.84,11.03,10.28,10.67,
-11.44,11.56,11.41,12.35,11.95,11.73,12.06,11.74,12.57,12.86,
-12.67,11.78,13.01,12.93,12.81,13.55,13.05,13.01,13.99,14.18,
-14.61,14.42,13.46,14.59,14.67,15.14,14.35,14.84,15.40,14.37,
-14.45,15.39,15.42,14.99,15.25,15.24,14.69,15.22,15.27,16.53,
-15.54,16.73,15.75,15.84,16.34,17.70,16.29,16.74,16.99,17.10,
-17.59,17.65,17.24,16.74,17.65,17.71,18.74,18.05,17.57,18.74,
-17.17,17.61,17.90,17.74,19.15,18.39,18.73,17.41,19.33,18.06,
-17.74,18.64,20.29,19.00,17.88,19.35,18.45,19.47,19.57,19.51,
-19.25,19.14,20.13,20.68,19.32,20.90,19.84,19.50,21.23,20.11,
-20.26,19.76,19.42,20.62,19.87,20.39,21.57,21.59,22.18,21.79,
-21.22,21.03,20.56,21.83,21.55,21.09,21.65,22.34,21.57,20.97,
-22.06,21.82,22.95,22.29,23.02,22.43,22.47,22.03,23.34,22.80,
-22.72,22.34,22.50,24.48,23.29,22.94,23.71,23.05,23.86,23.43,
-24.67,23.08,22.64,23.72,24.55,23.89,23.41,24.22,22.97,24.76,
-23.22,25.25,23.72,23.74,23.76,23.83,24.07,24.90,23.58,24.80,
-25.05,25.41,25.34,25.85,24.84,25.33,24.86,25.11,25.02,24.23,
-24.95,24.70,24.61,25.79,25.08,25.32,26.75,26.08,25.22,24.69,
-25.90,26.82,24.83,26.66,25.97,24.93,26.51,26.95,25.67,25.36,
-26.02,25.85,25.53,27.59,27.09,26.91,26.65,25.88,27.28,27.16,
-26.88,26.25,28.65,26.68,26.43,26.79,26.81,26.89,27.58,26.56,
-27.57,27.85,27.27,28.86,27.60,27.06,28.40,28.22,28.19,28.76,
-29.46,28.26,28.07,27.39,29.37,28.14,28.74,28.09,29.01,28.86,
-29.49,28.54,29.02,28.77,27.75,29.09,29.12,29.78,27.47,28.72,
-29.34,29.09,29.46,29.15,28.84,30.71,29.01,28.77,28.98,30.17,
-30.99,29.88,31.07,29.22,30.00,30.03,30.86,29.80,29.08,29.95,
-30.09,31.60,30.15,29.93,30.79,30.65,30.25,31.38,29.98,31.93,
-5.12,5.46,6.01,5.13,6.12,5.91,6.47,6.81,6.87,7.27,
-7.27,7.21,7.80,7.43,7.80,7.79,7.75,9.40,8.11,9.03,
-8.93,9.23,9.05,9.39,9.24,9.54,10.30,10.74,9.85,9.52,
-10.51,9.14,10.08,10.75,10.53,10.98,10.66,11.68,11.78,11.76,
-10.61,11.76,11.93,11.35,12.40,12.01,11.02,12.47,12.30,12.58,
-12.10,11.94,12.63,12.80,12.46,13.09,13.43,13.22,14.13,12.45,
-12.03,14.50,13.40,12.97,14.04,13.82,14.89,14.85,13.92,14.30,
-14.30,14.65,14.93,14.41,14.03,14.90,15.00,14.15,14.79,16.05,
-15.76,15.00,14.82,15.42,14.82,16.27,15.93,16.13,15.38,16.16,
-15.50,15.55,15.16,16.93,16.00,15.79,16.37,16.41,17.82,16.59,
-16.56,17.64,16.98,17.42,17.79,16.96,18.19,17.13,16.13,17.18,
-17.97,18.52,17.40,17.34,18.28,17.85,18.40,18.64,18.63,17.47,
-17.33,20.45,18.49,18.14,17.21,18.08,18.74,18.79,18.95,17.55,
-19.35,19.98,18.27,19.68,19.55,18.39,19.60,19.82,19.54,19.42,
-18.88,19.76,21.17,19.85,20.11,19.50,20.71,19.42,20.61,19.48,
-21.39,19.79,20.46,21.13,21.51,20.82,21.36,20.91,21.01,21.10,
-21.86,20.83,20.71,21.31,20.77,21.26,21.86,22.65,21.29,21.52,
-22.12,22.19,21.51,22.99,21.58,22.33,21.62,22.82,23.08,22.65,
-21.71,23.15,22.23,22.05,21.87,23.46,23.32,24.20,22.67,22.94,
-22.40,22.16,23.12,23.75,22.56,23.04,23.73,25.11,22.96,24.79,
-21.74,22.24,23.55,23.17,22.92,23.14,25.67,24.20,23.91,24.75,
-24.80,23.56,25.25,23.50,23.85,22.72,24.72,24.18,23.84,25.62,
-24.50,25.70,24.73,24.55,25.15,24.74,24.81,24.32,25.87,25.82,
-24.14,25.94,24.31,25.89,25.01,25.13,25.26,24.53,26.18,25.72,
-26.31,26.57,25.21,25.22,25.43,26.44,27.34,25.86,26.19,25.83,
-27.74,26.54,27.42,25.85,26.83,26.20,25.41,25.61,26.13,26.19,
-26.89,25.76,26.60,27.01,26.64,26.59,26.97,27.10,27.28,27.94,
-27.41,28.12,25.94,27.18,26.68,26.07,27.55,26.82,27.54,26.10,
-27.13,26.74,27.28,27.17,27.67,28.56,26.84,27.89,28.37,27.85,
-15.05,15.98,16.71,17.57,17.89,18.79,19.32,19.80,19.22,20.50,
-21.36,21.40,22.23,22.60,22.95,24.06,24.96,24.22,25.91,26.07,
-25.67,27.46,27.88,26.93,26.86,27.35,27.76,28.60,29.77,29.97,
-30.44,30.83,30.15,30.34,32.39,31.85,31.93,32.88,32.33,33.32,
-33.91,33.26,33.73,34.49,35.34,34.25,35.05,35.28,35.34,36.04,
-35.22,36.63,37.43,38.20,37.27,38.16,38.53,38.12,39.05,38.04,
-39.22,39.54,40.25,39.26,40.62,41.29,40.87,40.65,39.16,42.28,
-42.40,43.27,42.75,44.31,41.72,42.69,43.10,44.39,44.62,43.54,
-43.40,44.01,47.60,44.78,45.15,46.10,46.63,47.65,46.32,46.55,
-47.79,47.49,48.27,50.13,47.34,48.25,50.47,47.67,49.36,49.67,
-49.95,48.98,50.12,48.27,51.11,50.52,49.59,50.60,50.95,51.68,
-50.12,51.21,52.87,51.92,51.68,54.40,53.42,53.28,52.71,54.34,
-53.06,55.12,55.50,54.64,55.95,53.50,53.46,55.63,54.20,54.47,
-57.41,53.84,56.07,56.82,55.41,56.90,56.64,57.25,56.49,58.29,
-57.51,56.23,56.96,60.38,57.65,56.09,58.60,61.03,57.44,59.88,
-59.26,60.20,61.95,59.84,60.99,59.34,62.81,62.33,60.73,60.37,
-61.38,60.44,59.87,60.92,60.77,62.04,60.76,61.23,61.92,62.62,
-64.60,64.27,64.91,63.14,63.30,65.53,62.51,62.60,65.14,64.86,
-65.52,65.63,64.40,65.69,65.08,67.54,67.59,67.81,66.50,66.38,
-66.56,67.18,65.24,68.10,68.21,65.32,68.87,66.50,68.00,70.79,
-71.26,69.53,68.03,68.50,68.44,69.74,67.89,70.99,67.50,68.68,
-69.23,70.64,68.18,70.04,71.21,70.22,69.21,69.95,71.31,72.64,
-68.25,69.07,75.22,73.57,70.31,73.43,71.89,72.16,73.94,72.97,
-74.03,72.85,71.61,73.93,74.52,72.59,76.51,74.42,72.76,74.20,
-75.25,76.28,77.76,73.50,75.86,75.70,76.26,72.32,78.20,76.53,
-76.68,75.88,75.45,75.67,78.29,76.97,74.84,76.29,77.54,76.86,
-74.77,76.52,75.18,78.98,75.21,76.92,81.31,76.63,78.52,81.30,
-76.31,78.07,80.17,79.49,80.88,78.39,80.00,76.27,80.22,78.70,
-82.71,81.88,79.42,80.32,79.06,78.99,81.98,83.66,82.24,83.05,
-14.39,15.87,15.83,17.43,17.05,18.47,18.99,19.16,19.73,20.64,
-21.64,21.84,21.44,21.50,22.47,23.16,23.65,23.71,24.61,25.15,
-25.49,26.07,26.37,26.86,27.78,27.21,27.98,27.81,28.29,28.43,
-29.20,30.59,30.33,30.56,30.06,29.70,31.98,30.86,31.23,32.41,
-31.75,33.07,33.98,32.86,33.75,34.47,34.86,35.92,34.79,35.47,
-37.23,37.09,37.84,35.11,38.09,35.74,36.61,37.58,37.34,37.94,
-37.12,39.53,39.37,39.80,40.88,42.56,41.08,40.79,41.16,41.51,
-40.63,42.38,42.59,43.53,41.26,41.55,40.95,43.56,44.52,42.06,
-43.73,43.26,43.74,44.54,46.14,44.25,46.32,46.95,46.53,49.24,
-45.19,46.13,47.39,45.61,46.58,47.55,48.02,48.50,48.10,48.08,
-48.24,48.37,47.06,48.60,48.66,50.23,49.46,50.58,49.28,51.02,
-50.05,53.06,50.71,51.14,53.25,50.68,52.35,52.71,53.05,51.19,
-50.81,53.66,52.38,53.31,53.14,53.96,53.91,53.87,52.03,55.06,
-55.52,52.89,56.55,55.94,54.24,53.45,55.87,56.95,54.42,54.12,
-57.81,57.43,59.64,55.91,58.14,58.56,56.46,57.44,59.86,55.95,
-57.29,61.32,57.12,57.51,58.82,62.18,58.67,59.37,59.92,57.42,
-61.39,59.90,59.98,59.47,62.99,62.39,60.79,61.74,59.10,64.98,
-61.07,63.80,62.51,59.18,62.59,62.64,62.01,62.67,59.63,63.06,
-63.48,64.32,66.71,66.31,63.30,63.06,63.57,64.08,65.71,64.34,
-66.04,66.05,67.17,65.87,63.31,66.12,65.36,68.53,67.39,66.85,
-65.83,65.42,68.48,67.51,68.60,70.61,68.76,68.86,67.61,67.80,
-70.04,70.24,68.60,72.14,67.32,68.61,68.98,67.44,69.51,68.96,
-69.86,69.44,69.37,69.32,72.06,68.87,70.30,70.41,69.82,73.25,
-71.42,70.33,71.48,72.53,74.34,70.03,71.47,73.79,72.52,70.06,
-73.58,72.26,73.86,72.81,74.29,73.60,74.47,73.30,74.79,72.67,
-74.23,77.33,76.22,75.13,75.74,77.89,76.30,75.55,76.85,77.14,
-76.37,76.25,74.85,75.16,75.69,77.87,76.52,76.38,76.79,76.70,
-79.95,81.29,74.87,78.10,77.90,76.07,78.65,76.02,77.96,79.71,
-79.55,76.59,78.38,81.56,77.90,80.89,78.61,81.11,81.43,78.03,
-15.00,14.76,15.35,16.59,16.75,17.77,18.52,18.25,19.51,19.20,
-20.79,20.75,21.12,21.76,22.77,23.32,22.63,23.64,24.21,25.03,
-24.56,24.62,25.76,25.91,27.13,25.84,27.32,26.81,28.19,27.85,
-29.04,28.93,29.25,29.09,29.54,30.02,29.46,30.29,30.53,30.99,
-32.27,32.38,33.06,31.71,33.48,33.38,33.88,34.22,35.23,33.82,
-35.21,35.31,34.74,36.32,36.18,37.26,36.12,35.24,35.03,38.41,
-35.74,38.41,37.34,38.45,37.79,38.84,38.71,37.53,41.06,39.06,
-41.08,40.77,39.84,41.56,40.22,42.54,42.13,41.73,41.57,42.03,
-42.60,42.13,42.69,43.37,44.96,43.91,41.98,43.59,43.89,43.13,
-43.91,44.83,46.03,45.22,44.30,45.33,45.23,45.90,46.23,46.76,
-46.71,49.32,48.53,48.70,47.63,45.64,48.24,47.40,47.56,48.49,
-48.19,48.47,49.95,48.98,50.89,47.65,51.95,48.93,48.64,50.34,
-51.40,50.79,52.50,50.46,51.81,51.10,51.78,53.11,51.57,51.88,
-53.11,52.82,54.30,53.68,52.32,52.80,53.70,51.33,54.95,53.23,
-54.72,55.03,56.40,53.44,55.57,55.25,56.90,55.47,55.05,56.99,
-55.77,55.85,57.77,56.56,57.79,56.95,55.34,58.15,56.75,58.78,
-57.40,59.95,58.94,57.11,57.90,58.67,60.92,59.57,61.12,58.30,
-59.40,61.76,61.11,58.52,60.29,62.38,60.78,61.43,60.09,61.11,
-60.30,61.18,62.58,61.42,64.17,62.13,62.94,62.02,62.22,60.27,
-64.76,64.62,64.19,63.95,63.63,62.41,64.51,64.79,66.40,64.74,
-64.54,64.46,68.64,61.98,66.22,64.07,67.61,66.44,67.79,68.40,
-68.11,68.56,67.50,64.90,66.85,66.69,66.93,68.21,66.24,70.81,
-68.61,67.19,71.17,69.18,65.94,67.67,71.59,68.70,73.50,67.56,
-68.29,67.98,72.29,70.77,69.88,71.12,69.01,70.94,70.06,69.12,
-69.69,70.31,68.39,71.62,71.65,72.92,72.60,72.45,72.03,73.21,
-74.05,74.55,71.49,71.28,75.30,72.23,74.45,74.52,74.60,71.96,
-72.14,73.43,72.88,75.87,70.55,73.93,70.83,72.67,72.88,73.75,
-74.30,75.96,74.47,75.00,77.12,77.50,76.90,78.66,74.17,76.42,
-74.40,76.90,76.19,77.67,75.32,77.83,77.66,76.31,78.02,76.44,
-14.20,14.99,15.17,15.05,15.95,16.47,17.02,18.15,18.09,18.08,
-19.28,20.13,20.08,19.83,20.89,21.71,21.73,21.84,22.54,22.66,
-23.99,23.37,24.12,24.87,25.12,25.59,25.98,27.50,26.68,26.21,
-27.25,27.17,28.32,28.67,28.81,29.53,28.43,29.73,30.63,29.72,
-30.24,29.72,31.15,30.11,30.50,32.85,30.77,33.12,32.36,33.62,
-34.13,31.84,34.72,34.83,34.74,35.74,33.45,33.84,33.82,34.57,
-35.69,36.52,36.92,35.48,36.84,37.81,38.81,39.17,38.00,38.90,
-38.57,38.74,38.29,39.29,40.85,38.83,40.23,40.15,41.46,39.46,
-40.75,40.16,40.98,40.16,41.10,42.66,41.01,43.00,41.31,42.58,
-42.51,43.76,43.04,41.74,45.64,43.58,44.17,45.26,44.87,42.70,
-44.82,44.60,44.71,45.18,45.82,46.20,44.74,45.30,46.10,47.02,
-47.11,47.13,47.91,48.22,48.74,49.39,48.60,47.52,48.78,47.60,
-48.46,47.94,49.72,49.35,49.22,49.71,48.69,49.46,49.36,48.85,
-51.44,50.43,51.95,51.89,49.45,52.89,51.42,53.74,52.13,53.04,
-51.55,53.81,54.13,53.21,52.40,54.36,51.90,52.19,55.29,52.85,
-55.99,54.00,53.50,57.09,54.84,55.81,53.87,54.51,55.39,57.76,
-53.43,56.92,56.81,53.27,55.52,56.68,55.92,57.00,56.07,58.27,
-57.29,59.26,60.05,56.10,58.99,57.81,58.37,59.09,58.13,57.33,
-59.31,56.57,58.27,60.48,58.97,59.84,62.66,60.26,60.95,60.99,
-59.74,60.69,58.85,60.44,61.11,62.06,60.02,60.42,61.86,59.78,
-61.13,63.89,61.96,62.07,64.53,61.73,61.05,62.98,61.40,63.54,
-63.41,65.52,64.64,60.88,65.92,64.47,65.84,65.36,63.22,64.24,
-68.37,64.12,66.84,63.05,66.54,65.72,63.19,66.82,66.30,63.73,
-65.28,66.07,66.82,66.96,65.91,68.54,67.56,68.74,69.33,69.32,
-68.54,66.51,70.22,69.94,67.38,70.20,68.78,71.43,67.51,72.35,
-68.22,72.36,70.69,67.99,70.27,69.54,69.05,71.54,69.15,72.33,
-68.65,70.73,71.40,70.52,71.63,70.74,73.23,72.40,70.22,68.67,
-71.54,72.58,69.20,72.75,70.38,72.46,69.94,72.56,70.27,73.80,
-73.09,71.87,76.10,74.93,73.42,71.50,74.03,73.33,73.90,75.29,
-13.50,13.87,14.92,14.79,15.64,16.05,16.14,17.22,17.45,18.07,
-19.15,18.81,19.00,19.64,19.87,20.30,21.14,21.96,21.51,22.46,
-23.00,22.87,22.56,24.63,24.47,25.03,24.07,24.95,25.96,26.34,
-25.51,26.23,25.44,26.38,28.47,28.18,27.69,27.90,29.07,28.91,
-28.02,27.97,29.10,30.81,29.36,30.48,31.18,29.37,31.94,30.38,
-32.26,33.03,33.22,31.82,30.93,32.07,33.16,33.31,33.20,34.55,
-33.58,34.89,34.85,35.07,33.75,36.55,36.04,35.72,36.14,36.38,
-37.16,37.35,36.69,36.63,38.06,37.88,38.22,37.70,38.17,38.25,
-38.86,40.33,38.94,38.50,39.74,39.75,39.54,38.77,38.31,41.01,
-41.32,41.39,40.46,42.00,41.12,42.21,42.58,43.01,40.32,41.05,
-43.77,42.56,42.72,42.68,45.69,44.74,44.19,44.02,45.56,45.07,
-43.69,45.03,44.07,46.00,45.45,45.45,45.47,45.21,46.33,47.71,
-45.86,46.55,46.21,44.54,47.05,47.50,46.21,47.17,45.35,48.37,
-49.25,48.98,48.57,46.84,48.98,48.96,48.66,47.41,50.35,52.18,
-49.06,49.63,51.52,51.03,50.32,50.76,49.77,50.13,51.34,53.59,
-50.43,51.95,51.21,51.92,53.10,50.94,52.21,53.22,54.79,51.24,
-53.88,54.75,52.28,55.19,55.17,55.23,54.12,53.35,54.09,54.69,
-54.21,54.37,54.89,54.30,56.18,55.11,57.85,57.14,55.21,56.86,
-54.78,57.13,57.29,57.20,56.85,56.69,55.17,57.92,56.06,57.77,
-58.60,59.08,57.43,57.01,59.79,54.38,55.87,58.12,58.86,59.37,
-60.14,60.87,59.84,58.39,58.55,60.16,57.69,61.30,59.97,58.09,
-59.96,59.24,58.88,59.81,61.06,57.56,60.43,60.82,60.69,61.31,
-60.38,62.41,61.39,60.34,61.00,61.02,62.04,62.61,63.95,58.98,
-63.06,64.80,62.20,63.90,66.41,66.22,63.53,63.53,64.21,65.92,
-65.35,66.14,63.01,64.36,64.07,65.87,66.07,65.76,63.80,66.23,
-65.54,66.80,65.62,63.17,66.97,65.12,67.10,65.41,67.01,65.00,
-69.01,69.54,67.09,69.14,67.61,63.80,67.23,68.97,67.09,68.06,
-70.94,67.07,69.81,69.98,67.57,67.23,65.55,66.72,70.39,68.65,
-67.37,68.68,68.28,75.61,69.01,70.81,70.02,69.26,69.83,67.85,
-13.18,12.89,13.28,14.74,13.84,15.26,15.50,16.32,15.78,17.08,
-16.51,18.64,18.58,19.08,18.65,19.30,19.22,19.59,20.32,21.07,
-22.48,20.85,21.66,23.02,22.78,22.32,23.83,23.51,23.67,23.98,
-24.29,24.77,24.81,25.28,25.66,26.49,25.72,26.35,26.56,27.07,
-26.49,26.56,27.88,28.89,29.35,29.43,30.27,29.01,28.36,29.64,
-29.97,30.12,30.33,30.72,30.21,30.09,32.45,30.51,31.92,31.39,
-31.71,31.85,33.36,32.95,32.20,32.89,32.87,33.26,33.76,32.96,
-34.40,34.71,35.23,36.62,35.49,35.37,35.26,36.83,36.45,35.94,
-35.66,36.93,37.32,37.82,37.53,37.98,36.93,37.59,39.07,37.73,
-38.51,38.46,38.88,40.42,40.24,39.97,36.82,37.89,39.28,41.07,
-40.11,40.02,41.54,40.16,40.74,39.85,41.69,41.98,40.22,42.06,
-41.83,42.55,41.57,40.11,41.23,42.13,42.42,44.07,43.85,43.78,
-43.99,42.82,45.17,43.81,44.06,45.12,45.43,45.37,46.93,46.49,
-45.86,44.72,45.00,44.63,45.94,47.50,46.13,47.67,46.83,46.16,
-48.31,47.10,46.54,48.83,46.48,49.13,47.27,49.87,49.86,49.50,
-48.12,49.59,50.54,49.04,48.27,48.68,48.06,49.52,49.79,48.96,
-49.36,49.32,49.90,48.83,49.46,51.62,50.28,51.33,52.78,51.07,
-51.57,51.29,53.08,53.27,50.55,52.09,50.35,51.48,52.47,53.43,
-54.07,51.70,51.58,54.74,53.50,52.98,54.91,53.25,54.01,52.83,
-54.32,54.94,56.11,54.00,54.55,55.04,53.39,56.19,54.83,56.65,
-55.32,55.36,57.00,55.34,57.65,55.56,56.00,57.53,58.46,55.98,
-58.02,57.27,57.00,57.45,55.45,57.58,58.02,58.14,58.51,56.16,
-56.83,59.45,60.12,57.44,58.80,56.42,59.29,58.40,61.22,58.32,
-61.03,59.45,58.74,58.17,60.20,58.63,60.44,61.58,59.57,60.24,
-61.25,60.33,62.42,63.11,63.10,59.98,62.27,63.01,60.52,60.77,
-61.67,62.14,60.98,62.03,61.56,63.77,62.20,63.21,62.51,64.44,
-61.80,61.94,64.40,63.16,62.45,65.01,63.35,61.82,63.60,65.68,
-62.24,65.87,64.79,64.19,61.77,63.48,61.47,63.35,66.55,66.17,
-63.88,65.68,65.57,65.96,66.75,64.81,67.24,66.62,65.87,65.86,
-11.22,11.79,12.96,12.57,13.47,14.32,14.67,14.92,15.31,16.02,
-16.44,16.25,16.70,18.23,17.64,18.75,18.17,18.61,19.49,19.35,
-20.69,19.52,19.63,21.26,21.73,21.71,21.80,21.17,21.78,22.87,
-22.96,23.26,24.79,24.50,25.13,22.59,23.79,24.57,24.98,25.77,
-25.32,25.41,27.28,27.51,27.31,26.69,26.96,26.43,28.26,26.93,
-27.92,27.52,28.74,26.79,29.14,29.19,29.44,28.06,28.98,29.52,
-27.97,31.00,28.53,31.44,31.44,31.16,32.51,32.03,31.80,31.88,
-32.79,31.00,32.40,33.38,31.75,32.70,33.71,34.92,32.67,35.49,
-34.50,35.40,33.76,33.25,34.53,34.77,33.34,35.42,36.44,34.97,
-35.25,36.35,35.86,36.36,36.68,38.79,36.53,36.15,38.10,37.10,
-36.51,38.24,36.67,37.65,37.36,38.57,39.25,40.30,39.55,38.65,
-38.91,38.69,38.73,39.48,40.20,40.34,40.13,41.39,41.28,40.81,
-41.46,42.18,41.45,40.58,42.84,43.22,40.94,41.84,42.11,41.93,
-42.29,43.74,42.55,42.89,43.39,45.70,42.45,43.49,44.76,43.29,
-41.82,43.43,44.45,44.39,43.44,44.08,43.13,46.59,46.99,46.70,
-45.80,46.99,47.37,45.57,46.71,46.86,48.60,45.78,47.36,48.91,
-46.87,46.92,47.70,48.91,46.57,47.87,46.32,46.71,48.87,49.46,
-47.08,48.95,47.51,48.06,49.97,50.10,49.73,48.99,49.47,49.00,
-51.12,49.00,50.12,48.28,50.21,47.92,48.72,50.30,52.17,50.55,
-51.58,50.07,51.39,52.85,53.15,51.49,50.04,52.41,51.36,50.49,
-51.68,52.92,51.58,52.22,54.17,52.58,51.61,54.90,53.80,56.70,
-55.48,55.04,53.53,55.73,53.87,53.19,55.70,54.02,55.34,53.59,
-54.82,52.83,55.06,55.34,56.52,56.21,56.14,56.14,57.84,53.70,
-53.76,56.44,54.69,55.68,56.35,57.46,56.78,56.11,55.88,54.85,
-57.96,55.67,56.56,53.80,57.24,59.60,55.46,57.82,58.79,57.82,
-53.60,59.95,58.23,57.83,59.06,61.19,61.83,58.76,55.07,59.38,
-57.54,57.71,60.54,60.98,59.62,58.13,58.02,59.52,63.58,62.53,
-58.73,60.89,59.04,61.36,58.33,60.63,60.71,61.80,58.31,61.46,
-62.09,62.81,61.55,59.04,61.55,62.95,62.61,61.25,63.83,63.36,
-10.90,11.32,12.03,12.51,13.43,13.70,13.84,13.69,14.36,15.45,
-16.15,16.06,15.87,16.35,16.78,17.35,16.82,17.74,17.58,17.52,
-17.87,18.00,19.46,19.62,19.85,21.69,19.48,20.51,21.06,21.39,
-20.54,20.89,22.30,21.88,21.66,22.29,22.96,23.47,24.08,24.61,
-24.23,24.57,23.81,25.35,24.87,25.61,24.96,25.62,26.47,25.35,
-26.50,26.13,25.26,27.68,27.89,26.80,27.12,28.42,27.94,27.99,
-28.45,27.91,29.73,28.02,28.69,29.62,31.21,30.25,30.57,30.94,
-30.34,29.28,29.82,30.48,31.54,30.28,31.22,30.70,31.09,30.46,
-31.30,30.85,32.33,34.60,34.21,32.96,32.35,33.33,33.12,32.79,
-34.77,34.20,33.64,33.42,35.58,34.55,36.28,35.99,35.22,35.15,
-35.30,35.57,35.37,36.22,37.13,34.72,36.92,37.27,36.43,37.72,
-37.40,37.27,36.50,37.21,36.36,36.74,37.99,36.87,38.17,39.54,
-37.59,39.58,37.88,37.01,39.06,38.84,39.35,39.62,39.59,38.07,
-40.38,39.12,39.92,41.37,41.27,41.24,40.53,40.00,40.46,40.31,
-39.85,41.50,40.76,40.95,43.45,41.83,40.93,41.74,41.72,43.21,
-42.97,43.61,43.24,42.69,43.11,44.65,42.30,43.69,43.72,43.14,
-44.76,42.00,42.86,43.22,44.69,44.66,45.62,44.12,45.54,44.45,
-44.09,46.22,45.16,45.20,45.20,45.08,44.00,46.92,45.72,45.44,
-46.04,46.84,46.15,46.63,44.96,46.01,47.44,48.49,46.38,46.29,
-47.48,49.42,49.70,48.90,45.82,46.68,48.20,49.02,46.65,45.19,
-50.10,48.68,47.52,48.87,51.42,47.78,49.63,48.82,49.39,50.87,
-48.45,51.06,49.22,49.37,49.96,50.02,51.63,49.54,50.74,50.19,
-51.10,52.41,49.42,51.63,52.53,53.69,49.91,51.34,54.20,52.83,
-51.60,51.99,51.61,49.73,52.24,51.65,52.42,51.33,54.81,54.62,
-52.81,52.88,54.76,51.51,55.63,53.58,52.47,55.96,52.98,54.32,
-54.16,54.24,55.89,53.70,55.56,55.76,54.71,54.92,53.08,56.11,
-55.22,53.82,55.25,56.38,57.59,55.21,55.85,55.95,56.30,55.32,
-53.15,57.07,55.65,56.60,55.39,57.64,59.12,57.04,55.62,55.07,
-58.46,60.17,57.46,57.46,57.62,58.70,59.01,57.80,58.76,57.36,
-9.63,9.82,10.52,11.37,11.57,12.24,12.58,13.39,12.87,14.10,
-14.08,15.11,14.62,15.45,15.32,15.55,15.85,16.59,16.60,16.37,
-17.73,17.57,17.55,17.62,18.41,18.65,19.98,18.81,19.49,18.60,
-20.44,19.26,20.29,21.24,20.49,20.79,21.50,22.22,22.47,22.79,
-21.79,22.21,22.57,23.12,23.23,23.15,23.22,24.78,23.19,24.65,
-23.52,24.83,25.11,25.12,24.48,25.05,25.08,24.31,25.75,24.69,
-26.08,26.49,26.20,27.23,27.10,26.47,27.00,27.21,27.57,27.71,
-29.02,27.33,28.82,29.43,29.38,28.22,29.06,28.16,29.28,29.21,
-29.82,29.56,30.43,30.23,30.62,31.72,29.80,30.81,31.29,30.94,
-31.83,30.58,30.95,33.11,32.64,33.47,32.03,31.61,33.26,33.22,
-32.76,34.63,33.96,33.02,33.48,33.37,34.19,35.11,32.05,33.75,
-33.28,33.49,36.89,34.60,34.43,35.32,33.80,34.28,35.74,34.86,
-34.96,36.43,36.47,35.10,37.01,35.95,36.57,35.65,36.74,35.43,
-36.47,37.70,35.71,37.57,37.99,37.02,37.16,38.50,38.35,37.14,
-38.00,37.11,37.87,39.28,39.27,38.34,39.24,40.17,38.66,39.62,
-40.03,40.07,39.94,38.22,40.08,40.93,41.74,42.21,40.49,42.72,
-41.69,40.95,42.55,42.06,40.31,40.40,40.24,41.35,40.39,40.80,
-40.80,41.33,42.09,44.11,40.67,42.25,42.06,42.45,42.33,43.35,
-43.52,42.93,42.98,44.46,42.15,43.62,42.71,43.74,43.67,42.86,
-43.83,44.60,44.00,45.47,45.36,45.26,45.59,45.31,45.46,45.57,
-46.98,43.67,44.91,46.93,46.22,43.33,46.02,45.37,45.47,47.38,
-45.77,47.03,46.07,47.07,45.30,48.15,47.15,46.26,46.89,46.97,
-48.09,47.70,49.48,48.16,48.94,46.58,47.71,49.35,48.37,49.63,
-48.26,49.12,48.32,47.47,47.46,47.77,49.04,48.32,49.51,47.12,
-50.78,48.30,50.17,47.83,47.73,49.89,51.24,48.09,50.79,48.64,
-51.65,50.70,50.20,50.12,51.25,48.72,51.92,50.56,51.36,51.74,
-53.82,54.80,49.47,51.29,53.10,51.53,51.02,52.83,52.89,51.65,
-52.67,53.14,52.54,51.61,53.20,53.29,50.51,52.72,52.86,54.82,
-53.59,51.74,53.44,51.79,53.54,52.19,53.25,56.70,53.67,54.33,
-8.86,10.07,9.96,11.08,10.64,11.15,11.29,11.40,12.20,12.56,
-12.57,13.48,13.54,13.90,14.69,14.95,15.21,14.78,15.32,15.70,
-16.70,15.84,16.27,16.86,16.52,16.09,16.58,18.05,17.72,17.51,
-17.61,18.28,18.89,18.15,19.20,19.07,20.03,20.09,20.40,20.04,
-20.62,21.20,21.26,21.20,22.34,21.95,20.99,21.08,22.18,21.10,
-23.24,22.29,23.46,22.86,23.34,23.26,22.47,23.96,23.35,23.85,
-22.58,23.99,24.50,24.87,24.86,25.71,26.12,26.35,24.94,26.86,
-25.47,25.75,26.16,25.85,25.90,26.43,25.91,26.28,26.92,26.35,
-27.10,28.13,27.50,28.32,28.16,27.88,27.59,27.94,28.75,29.62,
-28.79,28.63,26.43,29.58,29.34,29.66,29.35,30.94,29.08,29.29,
-30.76,30.11,31.10,30.81,30.93,29.83,30.90,32.86,31.58,31.40,
-30.89,31.91,31.05,32.15,32.46,31.43,32.78,31.17,34.05,34.93,
-31.70,34.01,33.66,32.31,33.49,33.17,32.95,34.74,34.39,33.09,
-33.04,33.88,34.38,34.12,35.41,35.01,35.15,34.90,36.03,34.67,
-36.68,35.74,35.58,35.39,36.56,36.79,35.50,35.15,37.90,36.50,
-35.22,36.68,37.22,35.87,36.00,36.14,36.94,37.09,37.26,38.03,
-38.12,37.70,37.54,38.58,40.57,37.49,38.08,39.11,38.14,39.31,
-37.50,38.38,39.02,37.78,39.51,40.09,39.11,39.05,40.33,39.97,
-38.64,38.89,38.73,40.91,40.97,39.09,40.35,40.21,40.79,39.86,
-40.32,42.22,40.48,39.60,39.93,39.99,40.81,40.43,40.87,40.60,
-42.06,43.27,43.89,40.86,41.33,41.79,42.50,45.21,42.90,41.98,
-42.24,44.78,43.01,41.64,40.68,41.40,43.74,43.02,43.41,42.06,
-43.90,43.82,44.56,42.97,44.11,44.03,43.77,45.82,45.39,43.75,
-44.42,44.23,45.45,44.29,44.22,44.11,45.57,43.97,46.47,46.36,
-45.61,46.43,44.95,45.17,45.59,45.63,46.68,43.57,44.59,47.29,
-46.71,46.58,47.89,45.84,46.35,46.14,49.11,47.84,46.49,47.12,
-48.42,46.66,47.52,49.49,48.96,46.99,50.02,47.17,46.17,47.24,
-46.83,46.98,47.46,48.73,47.66,48.85,49.90,49.76,50.32,47.08,
-48.44,48.41,48.76,48.48,48.84,48.63,50.59,50.64,49.52,50.07,
-8.48,9.15,9.40,10.24,10.34,10.36,10.65,11.68,11.41,12.05,
-12.32,11.61,12.95,13.46,13.55,12.59,14.43,15.07,14.70,14.44,
-14.71,14.77,14.96,15.82,15.92,16.12,15.55,17.25,16.39,16.01,
-16.20,15.91,17.62,17.23,17.19,19.02,17.00,18.53,18.61,18.11,
-18.65,19.90,19.32,19.68,20.04,20.93,19.98,19.56,19.13,20.32,
-19.75,21.29,20.68,21.19,20.76,22.25,21.12,21.68,21.06,21.29,
-21.92,23.17,22.02,22.67,22.32,23.08,23.22,24.23,23.89,24.10,
-23.88,24.24,25.76,23.91,23.22,23.35,24.72,24.66,24.15,25.98,
-25.52,26.36,25.25,25.65,25.85,26.42,25.93,25.66,26.92,27.21,
-25.53,26.52,27.58,26.98,27.24,28.22,27.68,27.80,28.48,28.75,
-28.01,29.43,28.99,28.89,30.00,27.79,28.58,29.59,28.76,29.15,
-27.74,28.17,29.26,29.34,28.02,29.87,29.11,31.36,30.79,30.99,
-30.24,30.84,30.76,30.31,29.53,31.67,31.38,28.97,30.97,31.24,
-30.63,30.27,32.88,32.08,31.49,32.72,31.45,32.79,32.33,31.88,
-32.81,33.46,33.36,34.58,34.65,32.53,34.07,33.55,33.17,33.71,
-33.33,33.18,33.49,32.98,34.17,33.99,33.91,33.93,34.78,33.93,
-34.40,34.87,35.05,33.97,35.06,35.86,34.32,36.02,36.12,35.68,
-35.07,35.41,35.54,36.26,35.13,36.36,35.03,36.40,35.39,37.25,
-36.33,37.13,36.47,37.73,36.77,37.56,37.02,38.21,37.86,36.64,
-38.48,37.52,38.78,38.21,36.81,38.69,37.88,38.67,37.22,36.80,
-38.59,40.29,38.50,38.02,38.27,39.44,37.81,39.08,39.34,39.25,
-39.58,41.31,39.16,40.07,40.12,38.28,40.03,38.78,38.71,40.44,
-38.70,41.61,40.94,40.96,40.58,40.98,39.97,40.68,40.46,40.76,
-40.83,40.63,41.93,43.14,41.11,40.91,43.07,43.66,42.85,41.54,
-42.10,42.02,42.60,43.60,43.47,43.24,44.10,41.91,41.63,45.50,
-42.62,42.48,43.58,42.14,43.77,44.01,44.20,43.15,45.46,42.76,
-46.64,41.08,43.23,43.24,45.62,45.60,42.62,45.03,43.80,43.17,
-44.05,45.35,44.80,44.83,46.74,44.65,44.45,44.33,42.50,46.36,
-45.88,44.59,47.07,44.62,45.54,46.38,46.81,46.66,45.62,46.48,
-8.57,7.86,8.67,8.59,9.78,10.15,10.08,9.76,9.97,11.17,
-11.19,11.17,11.68,12.26,12.33,12.12,12.17,13.44,13.07,13.96,
-12.24,13.21,14.12,13.82,15.42,14.67,13.84,15.00,15.20,15.50,
-15.51,15.82,16.09,16.14,15.99,16.37,16.89,16.31,15.94,17.44,
-17.20,16.83,17.95,17.12,17.74,17.45,18.54,18.96,19.39,18.88,
-19.31,19.11,18.38,20.21,19.20,20.14,19.40,20.49,20.35,20.12,
-20.91,20.55,20.90,20.45,21.78,20.92,20.49,21.73,20.85,21.99,
-20.94,22.83,22.73,22.29,22.62,22.55,22.45,23.38,21.31,23.22,
-23.32,23.00,24.53,23.82,23.29,24.02,22.87,23.75,24.22,24.43,
-23.70,25.08,24.07,24.61,25.12,27.21,24.74,25.16,25.64,24.91,
-25.49,26.36,25.33,25.59,25.23,26.08,26.76,26.15,26.02,27.83,
-26.56,26.08,26.38,27.24,27.59,27.19,27.77,26.66,26.89,27.34,
-28.54,28.57,28.33,28.30,28.58,28.55,27.67,29.39,29.11,29.82,
-27.89,29.29,28.19,29.17,29.50,30.08,28.88,28.56,29.22,30.56,
-31.16,30.27,29.65,29.41,29.27,31.43,30.65,31.67,30.79,28.52,
-31.10,33.16,31.20,30.12,31.90,30.48,31.75,30.68,33.10,32.32,
-30.95,33.17,31.53,30.51,32.47,30.50,32.34,32.31,34.33,31.59,
-32.91,33.74,32.17,31.67,32.65,34.25,33.57,33.98,34.39,32.86,
-34.23,33.85,33.18,34.12,33.64,35.75,34.23,34.23,34.68,34.07,
-35.34,35.60,34.13,37.20,34.01,34.73,33.92,35.61,34.84,35.29,
-35.95,37.06,35.56,36.14,36.23,35.10,36.38,35.95,36.80,36.47,
-36.04,38.18,35.37,36.89,36.09,38.21,36.82,37.79,36.20,35.02,
-37.45,37.64,35.67,37.53,39.12,37.32,37.90,37.29,36.50,37.93,
-37.56,37.22,38.56,36.94,38.35,37.54,38.36,38.02,38.92,38.17,
-38.45,38.91,40.24,39.69,36.90,38.80,38.91,37.34,39.20,39.47,
-40.53,40.43,40.29,40.33,41.85,40.21,38.86,39.63,39.34,39.00,
-40.34,40.09,40.55,39.12,40.33,40.25,39.54,40.91,40.60,40.05,
-40.62,40.70,41.36,40.32,41.58,39.42,41.73,41.34,41.73,42.50,
-42.28,42.94,42.71,39.82,40.05,43.52,40.61,42.17,42.92,42.29,
-7.10,7.23,7.21,7.99,7.62,8.37,9.73,9.24,9.83,9.65,
-10.36,10.28,10.96,10.70,11.64,11.14,12.46,12.45,11.98,11.70,
-12.53,11.97,12.58,13.85,13.41,13.33,14.10,13.67,13.33,13.38,
-14.85,14.37,13.90,15.44,15.34,14.69,14.55,15.02,15.49,15.49,
-16.36,16.27,16.09,15.33,15.86,16.20,18.04,16.80,16.97,17.56,
-16.52,17.54,17.75,18.58,17.30,17.09,18.75,18.19,19.13,19.22,
-18.43,19.11,18.68,19.19,18.42,19.73,18.74,18.54,18.97,18.77,
-19.62,20.66,21.27,20.17,21.03,20.91,20.84,21.98,21.16,20.89,
-21.43,21.46,21.40,21.95,21.72,20.65,21.38,22.25,21.98,21.60,
-22.06,22.13,22.76,23.07,22.84,23.01,23.85,22.71,23.04,22.76,
-23.27,23.56,22.79,24.18,23.90,24.07,23.44,23.75,25.11,24.70,
-24.43,24.86,24.99,26.43,24.63,25.19,24.75,25.79,25.76,25.95,
-25.93,26.55,24.84,26.76,26.26,26.60,27.34,27.36,26.46,26.95,
-25.90,28.23,27.78,27.19,27.67,26.79,26.16,26.97,27.56,27.23,
-28.63,26.91,27.47,28.61,29.34,28.06,28.86,28.63,27.49,26.65,
-27.37,29.43,27.60,29.75,28.98,29.07,28.50,27.66,30.05,28.64,
-29.77,30.02,31.21,29.56,29.62,30.48,29.25,29.75,32.34,31.14,
-30.05,29.95,30.78,30.69,30.39,29.84,29.87,29.87,30.43,31.32,
-31.94,28.95,30.36,31.37,31.40,30.37,31.45,31.80,31.89,30.92,
-33.63,32.12,32.81,32.17,31.73,31.82,32.01,32.13,33.96,33.44,
-33.08,33.00,31.74,33.52,32.25,32.97,33.53,33.59,34.11,34.37,
-33.18,33.80,33.37,33.05,33.37,33.02,33.58,35.20,33.97,33.04,
-33.71,34.40,34.34,35.26,34.34,35.33,33.40,34.31,35.35,33.07,
-33.94,33.38,34.64,34.31,36.10,34.65,35.17,35.19,34.38,34.21,
-35.75,35.55,35.06,34.66,35.12,35.32,36.59,36.37,36.48,35.89,
-35.70,35.67,36.85,36.73,37.42,36.81,35.83,36.68,37.21,36.82,
-36.89,36.63,36.76,37.92,36.78,36.36,38.29,35.88,38.97,37.27,
-37.63,38.28,37.94,38.83,36.89,38.23,37.85,38.09,38.63,37.57,
-37.49,40.16,37.71,38.43,39.16,39.11,39.13,39.64,36.70,40.13,
-6.63,7.19,7.56,7.33,7.35,7.98,7.63,7.82,8.29,9.29,
-8.75,9.92,9.07,9.83,10.71,10.91,9.44,10.74,11.17,10.55,
-11.74,12.14,11.62,12.10,11.91,13.07,11.77,12.17,12.78,12.18,
-11.96,13.41,13.77,13.78,13.59,13.17,14.00,14.48,14.23,14.46,
-14.68,15.07,14.52,14.72,15.28,16.06,15.21,15.00,15.86,15.99,
-15.85,15.61,16.08,17.01,16.34,16.89,16.67,17.07,17.05,17.21,
-17.79,17.52,17.84,16.82,17.72,17.53,17.19,18.46,17.48,18.86,
-17.34,18.85,18.95,18.65,18.40,19.49,19.89,19.75,19.16,19.49,
-19.89,19.34,19.24,19.82,20.16,20.07,19.27,19.41,20.40,21.42,
-21.25,20.94,21.00,21.90,20.42,20.53,21.83,20.93,21.43,22.74,
-21.66,21.54,21.66,22.06,21.90,22.38,21.69,22.54,22.11,22.33,
-22.21,22.49,22.95,21.42,21.63,23.25,23.99,24.91,22.89,23.54,
-23.34,22.36,23.03,23.21,23.30,23.23,24.68,24.80,23.65,24.13,
-23.95,24.65,22.98,25.21,24.73,24.68,24.65,24.62,26.06,26.10,
-24.20,24.84,23.91,25.98,25.82,24.56,25.47,26.10,26.03,25.90,
-26.80,27.23,26.30,26.36,26.57,26.35,25.21,26.43,26.19,26.03,
-27.31,27.17,27.03,26.67,27.01,27.66,28.22,27.89,26.82,28.43,
-26.68,26.81,27.94,27.35,27.73,28.40,27.92,27.22,27.91,27.99,
-28.99,27.18,29.29,27.94,28.57,28.45,28.64,28.88,28.83,29.03,
-28.43,30.15,29.63,28.14,29.24,27.73,28.28,30.64,29.93,29.63,
-29.81,30.55,29.54,30.40,29.75,29.93,30.19,30.85,30.65,29.89,
-29.41,28.88,31.80,31.40,29.67,31.62,31.09,31.61,31.28,30.46,
-30.50,31.43,30.62,30.69,31.98,30.95,30.93,30.31,31.33,33.48,
-31.48,31.32,32.78,33.18,33.26,32.96,31.33,32.86,31.62,32.16,
-31.26,31.65,31.33,32.10,31.73,32.82,30.65,33.59,33.55,32.68,
-32.38,32.58,33.66,32.70,33.23,34.16,32.69,34.04,30.99,33.24,
-31.58,33.75,33.52,35.43,33.22,34.43,33.59,33.33,33.53,34.86,
-34.11,32.65,34.81,34.63,33.06,34.12,32.10,32.82,32.77,33.61,
-33.52,32.95,34.99,35.43,33.25,35.20,35.26,35.29,36.63,35.68,
-5.95,6.87,6.73,6.88,7.30,6.67,7.50,7.55,7.92,8.29,
-8.10,8.45,8.81,8.70,9.27,9.52,8.84,10.31,10.07,9.63,
-9.44,10.20,11.55,11.26,10.78,10.52,10.92,11.87,12.10,11.00,
-10.99,11.13,12.68,12.17,12.39,12.79,13.35,12.18,12.54,12.48,
-13.50,14.51,13.67,13.81,13.68,13.95,13.99,14.38,14.85,14.07,
-14.39,14.67,14.86,14.13,14.27,15.37,14.93,14.36,15.74,16.26,
-15.71,16.34,15.98,15.49,16.70,16.09,16.87,16.00,17.18,17.07,
-17.49,15.27,16.84,16.98,17.51,17.14,17.23,17.80,16.76,18.18,
-17.48,17.57,17.85,17.06,18.57,17.85,18.24,18.79,19.08,19.05,
-18.14,18.87,19.87,19.61,18.38,19.13,19.03,18.83,19.60,19.00,
-19.82,18.94,20.61,20.65,20.98,20.32,20.34,20.36,20.43,18.94,
-19.60,19.91,21.11,20.75,20.90,20.67,21.50,22.25,21.82,21.63,
-21.48,20.39,22.04,21.11,20.59,22.93,20.83,22.09,21.92,22.28,
-21.89,22.39,22.01,22.52,22.41,22.47,23.26,22.39,22.64,23.01,
-23.12,22.72,22.90,22.36,24.03,23.28,23.68,22.77,23.23,23.01,
-23.89,23.96,23.89,24.52,23.93,23.67,23.16,24.71,24.55,23.50,
-23.54,24.44,24.41,24.59,25.09,23.87,24.54,24.47,24.32,26.18,
-24.59,24.48,25.32,24.30,25.36,25.28,25.75,24.53,25.37,24.82,
-25.23,25.50,26.95,25.93,26.77,26.44,27.79,24.90,25.66,26.19,
-25.58,26.02,26.27,26.91,26.47,27.77,26.54,26.08,25.84,28.47,
-27.78,27.00,26.81,26.03,28.55,27.13,26.56,26.64,27.99,27.92,
-28.50,28.24,28.88,28.35,27.98,29.95,26.42,28.84,28.00,27.77,
-27.30,27.70,28.44,27.64,28.96,28.75,27.79,29.31,29.96,30.10,
-27.39,29.37,29.43,29.15,28.98,28.94,29.55,29.21,30.82,27.40,
-29.62,28.81,30.69,30.54,29.72,29.89,30.68,29.53,30.66,30.56,
-29.85,29.46,29.25,30.40,29.94,29.52,29.36,29.93,30.64,29.88,
-30.10,29.39,30.88,31.01,31.74,30.27,30.70,32.02,30.18,31.38,
-30.65,29.78,31.29,30.76,30.78,30.97,32.28,31.38,31.95,32.74,
-31.47,33.10,31.81,32.26,32.00,32.93,32.52,30.77,32.33,33.63,
-16.48,16.48,17.86,18.04,18.79,19.50,19.74,21.08,20.65,21.36,
-22.00,22.77,23.65,23.73,24.51,24.96,25.37,26.04,26.34,26.63,
-25.91,28.00,28.13,28.14,29.60,29.41,29.26,29.89,30.48,30.33,
-31.70,30.98,30.73,33.08,33.96,33.69,32.78,32.59,32.82,34.10,
-34.52,35.76,35.73,36.18,36.47,36.43,38.18,35.91,37.24,36.63,
-37.88,37.44,39.11,39.29,39.22,39.62,40.77,39.64,39.68,41.19,
-40.15,43.57,41.35,41.45,41.70,42.31,42.91,43.35,41.57,44.23,
-45.26,45.56,45.82,44.41,43.42,45.77,45.82,43.49,46.16,47.64,
-45.26,47.20,45.90,46.25,46.40,46.42,46.58,47.55,45.88,50.18,
-49.74,47.87,49.42,50.11,49.90,50.69,51.45,51.18,48.11,50.47,
-50.38,49.95,49.87,52.29,51.34,52.93,51.05,51.28,54.43,53.54,
-52.36,54.51,54.51,55.80,55.46,56.75,54.36,54.35,55.20,53.34,
-53.90,54.75,53.03,55.75,55.34,56.33,56.03,57.31,57.62,57.95,
-57.03,56.61,55.82,58.93,58.45,58.20,60.50,58.29,60.95,59.91,
-57.80,58.33,59.77,60.02,59.82,62.09,60.59,63.05,59.15,60.69,
-60.50,62.42,62.58,60.46,63.25,62.08,62.04,62.99,64.64,64.44,
-63.08,63.54,64.17,62.18,63.32,62.92,66.93,63.71,63.54,63.45,
-66.77,66.56,64.30,65.45,65.04,66.32,65.85,66.84,66.89,69.66,
-67.22,68.64,68.70,66.18,68.32,68.60,67.96,68.61,66.47,68.39,
-69.74,69.78,67.76,70.11,70.38,72.37,65.73,66.19,70.40,68.66,
-70.16,72.22,71.71,70.63,72.08,69.25,72.89,72.07,73.32,70.05,
-72.80,72.86,69.80,73.79,70.97,75.68,73.04,72.36,74.33,73.44,
-74.94,73.70,72.43,72.44,75.33,75.61,77.05,74.60,72.92,74.52,
-76.60,76.01,76.41,74.35,76.83,75.31,75.37,74.52,76.77,74.84,
-77.01,80.26,75.49,76.93,78.50,76.46,79.10,77.28,77.19,75.81,
-79.55,79.24,76.18,76.63,78.17,75.32,78.05,79.65,79.39,80.11,
-78.45,79.14,81.73,81.27,80.21,82.81,79.79,75.55,81.81,83.48,
-79.89,80.84,84.86,82.06,83.55,80.21,81.43,80.57,81.97,85.07,
-83.66,84.56,83.90,83.92,86.10,83.77,84.31,81.66,81.88,80.81,
-15.42,16.44,15.87,16.88,18.18,18.92,19.41,20.66,20.36,21.59,
-21.52,22.62,22.17,24.19,23.62,24.86,24.92,25.50,26.63,26.17,
-26.23,27.54,27.83,27.70,28.53,27.71,29.43,30.10,29.97,32.02,
-30.05,30.59,33.44,31.90,32.05,32.78,31.79,32.72,32.30,34.94,
-34.04,33.19,36.34,35.74,34.77,36.42,36.25,37.27,38.00,37.67,
-37.80,37.31,38.28,38.41,38.57,37.74,39.14,40.18,40.09,38.62,
-40.51,40.70,40.56,39.91,41.59,42.36,41.29,42.90,42.09,42.45,
-43.15,43.31,41.23,43.53,45.41,43.06,44.95,46.01,44.08,46.71,
-47.34,44.22,46.30,45.70,45.56,47.14,47.34,46.95,49.31,48.11,
-46.93,49.46,49.29,49.05,47.17,49.33,48.84,49.19,52.34,49.43,
-50.53,50.60,53.19,51.94,51.62,52.51,51.50,49.55,51.86,52.96,
-53.89,51.85,53.01,53.65,52.91,53.89,54.45,53.87,54.48,55.76,
-56.38,54.40,55.17,54.62,56.32,53.80,54.64,55.83,58.43,56.59,
-56.76,59.04,55.96,58.91,58.27,58.52,56.43,58.14,57.90,59.80,
-59.17,60.99,58.87,57.01,58.89,59.45,60.15,62.16,57.66,59.96,
-61.88,62.54,58.92,62.73,61.70,61.98,62.15,63.44,63.21,62.44,
-61.89,62.85,63.51,65.30,62.62,66.58,61.78,63.12,62.94,64.35,
-64.41,64.19,64.80,64.32,62.97,64.79,68.39,65.07,64.29,65.25,
-64.22,68.30,68.57,67.96,68.17,66.43,70.90,65.64,64.91,68.79,
-67.06,70.78,70.22,64.93,68.89,70.63,71.62,70.41,68.62,70.58,
-68.98,68.14,69.75,70.99,70.77,71.09,70.51,70.63,72.33,71.30,
-71.24,69.73,71.76,73.22,72.16,69.61,71.71,71.39,71.78,71.28,
-73.33,72.03,70.38,71.84,74.66,74.30,75.18,78.16,71.09,73.89,
-73.37,73.96,77.09,73.11,76.35,76.82,74.84,75.83,78.71,76.71,
-77.08,77.30,77.53,73.87,73.74,75.10,76.97,72.55,79.60,75.84,
-81.14,76.62,74.86,77.42,76.73,76.08,78.85,77.90,79.02,77.75,
-80.21,79.60,82.32,78.51,81.62,80.19,80.95,83.64,80.15,80.05,
-80.48,79.04,79.47,83.67,83.46,82.41,80.84,78.47,83.62,80.89,
-82.11,83.54,82.54,82.92,82.19,81.80,81.34,82.70,84.61,85.16,
-15.50,15.56,16.43,17.66,17.58,18.52,19.51,19.65,19.98,20.67,
-22.08,22.92,22.69,23.44,23.14,24.78,24.29,24.10,24.88,25.95,
-26.66,26.17,27.42,27.42,28.58,28.91,28.53,28.46,27.88,29.44,
-29.36,29.31,30.28,32.55,31.82,31.33,32.99,33.16,33.14,32.16,
-33.06,33.79,33.06,33.52,34.33,34.42,35.41,35.40,36.10,36.17,
-36.80,37.93,37.51,37.71,38.04,37.62,39.19,39.47,38.69,38.99,
-39.07,40.06,39.56,41.24,38.62,40.19,40.78,42.91,42.03,40.87,
-43.25,43.63,42.22,44.15,42.38,43.28,43.63,43.75,44.10,44.14,
-43.12,43.64,43.42,44.17,46.54,46.72,45.46,47.79,47.04,47.47,
-49.04,47.15,47.68,48.18,47.95,46.32,47.24,49.06,49.06,48.43,
-50.09,51.83,49.72,47.52,49.63,50.64,51.63,51.75,52.72,50.40,
-50.87,51.28,50.27,52.94,53.56,51.46,50.27,51.45,52.94,52.86,
-53.18,53.28,57.39,52.40,57.35,55.30,55.39,53.95,55.96,57.09,
-56.26,55.89,56.17,56.52,55.46,56.17,57.46,57.59,54.62,55.55,
-57.79,57.72,56.61,59.04,58.27,58.54,57.93,58.02,60.24,57.90,
-61.58,60.41,60.52,59.99,59.07,60.00,60.90,61.43,60.86,59.80,
-61.59,59.77,59.58,64.37,60.98,59.96,63.02,62.57,62.21,60.68,
-61.98,60.57,62.88,64.71,65.35,66.19,63.81,63.12,64.32,64.17,
-64.87,67.69,64.59,66.59,68.35,65.02,65.89,67.13,66.98,66.14,
-67.97,64.45,65.56,67.20,68.22,71.38,70.11,67.87,67.60,66.45,
-69.27,65.93,68.50,65.91,67.98,67.46,69.91,68.52,69.40,68.39,
-71.08,68.99,69.35,72.15,71.04,69.83,74.63,73.03,71.28,69.71,
-73.54,72.43,71.32,73.57,74.73,70.45,74.25,71.87,73.29,74.28,
-70.74,72.51,75.22,71.41,73.76,72.33,75.51,74.03,72.45,74.72,
-74.25,74.00,78.66,75.93,76.04,74.57,74.57,74.36,73.36,78.29,
-76.55,76.10,74.30,74.33,76.67,76.53,77.33,78.27,73.86,79.62,
-79.42,74.58,77.03,75.35,77.24,77.38,76.97,75.63,77.55,78.49,
-76.15,81.26,79.53,80.44,80.17,79.77,80.97,77.65,80.01,78.22,
-79.93,78.71,81.16,78.59,80.93,79.98,84.33,81.24,82.78,83.71,
-14.84,15.33,16.14,16.93,18.41,17.74,18.41,19.27,19.49,20.29,
-20.56,20.80,21.41,21.77,22.70,23.55,22.86,23.99,25.19,24.67,
-24.99,25.92,26.08,26.16,26.97,26.35,27.84,26.87,27.18,29.92,
-28.61,28.73,28.36,30.11,30.29,30.20,30.12,31.72,31.71,31.42,
-32.78,32.43,32.91,33.07,33.49,33.61,33.77,33.74,35.24,33.28,
-36.04,35.43,34.60,34.57,37.68,38.29,37.07,36.39,36.61,37.54,
-36.55,38.51,39.96,38.85,38.72,39.44,39.74,40.02,40.55,40.95,
-41.07,41.87,39.97,40.84,40.81,40.93,42.81,41.69,42.35,42.19,
-43.12,43.03,43.09,43.69,47.41,44.22,45.18,45.85,44.53,44.90,
-45.78,45.47,46.30,44.03,46.51,45.17,47.57,47.50,47.55,46.91,
-48.78,48.32,48.53,48.44,49.81,49.51,50.16,49.82,46.95,48.33,
-50.24,49.49,49.04,49.38,49.18,50.38,49.40,52.71,52.73,53.49,
-50.73,50.93,51.53,52.55,52.90,53.63,55.22,55.08,53.15,52.62,
-54.53,53.38,54.95,54.54,55.18,54.65,53.67,56.67,55.14,56.55,
-56.19,53.74,54.22,56.22,58.48,55.34,57.65,57.25,58.80,57.50,
-58.08,56.34,56.17,55.89,56.38,60.28,57.40,58.19,58.14,59.72,
-59.91,59.72,57.58,60.15,58.66,62.65,59.56,60.47,60.61,63.65,
-61.62,59.67,61.11,62.09,63.29,62.15,60.03,60.76,63.52,63.42,
-63.67,63.46,63.62,64.62,63.84,63.09,61.53,61.60,66.65,65.88,
-65.01,65.19,65.73,64.46,63.63,64.58,64.46,67.22,66.20,65.75,
-63.84,65.29,68.75,64.88,64.76,67.12,64.47,66.03,67.85,69.39,
-66.46,67.71,68.25,69.95,69.41,68.47,70.47,67.91,68.39,68.12,
-68.49,68.67,71.25,68.28,68.14,71.19,68.59,71.33,67.07,69.52,
-72.10,71.22,73.04,68.56,68.63,70.62,69.65,68.81,71.71,71.54,
-69.17,71.71,70.58,73.31,71.62,74.20,73.03,72.10,71.88,74.73,
-72.33,76.06,72.62,73.87,71.41,69.98,73.27,74.79,73.98,74.12,
-75.77,75.43,73.79,76.51,75.20,74.72,76.00,77.00,77.14,77.11,
-76.44,78.74,77.77,78.81,79.47,74.18,76.34,76.80,76.65,77.19,
-77.41,82.39,78.87,79.33,73.31,78.50,77.22,79.64,83.14,80.64,
-13.78,14.61,15.44,16.50,16.43,17.66,17.38,18.98,18.73,18.47,
-18.90,19.89,20.81,21.52,21.15,21.55,23.27,22.99,22.92,23.96,
-24.02,24.61,24.99,25.41,24.55,27.33,25.33,26.03,27.17,26.20,
-28.39,28.53,27.90,29.27,29.65,28.76,29.03,30.82,29.82,30.50,
-30.30,30.16,31.09,31.33,32.65,33.13,33.00,33.10,33.38,33.17,
-33.55,33.67,34.80,36.37,35.36,34.20,35.48,36.07,35.03,35.29,
-35.30,36.30,37.90,36.72,37.74,37.78,36.96,39.39,38.08,38.76,
-39.07,38.34,40.05,39.01,42.61,40.33,40.64,40.22,40.90,41.50,
-41.12,40.68,41.18,41.91,41.61,44.89,42.35,42.73,42.02,43.97,
-45.63,43.17,44.77,44.37,44.10,42.71,44.03,45.66,46.46,43.44,
-45.02,47.44,47.15,45.70,46.01,47.11,45.91,45.16,48.83,47.81,
-47.15,48.33,48.21,48.40,49.41,48.31,51.36,52.05,49.99,47.04,
-52.93,49.26,51.23,50.75,50.96,49.87,52.13,50.97,50.72,51.87,
-51.14,54.34,51.99,51.81,52.73,53.76,53.09,52.14,53.77,51.33,
-54.64,52.16,54.58,53.89,51.55,54.03,53.33,51.46,54.22,55.81,
-53.60,56.48,56.19,56.09,54.18,57.99,56.15,57.49,57.58,54.88,
-58.79,58.27,57.05,55.98,58.71,58.08,54.67,56.24,58.69,60.32,
-59.09,59.97,59.37,59.45,59.62,55.64,60.44,59.99,59.30,60.67,
-59.13,59.00,58.38,59.60,61.63,60.41,61.05,63.26,59.15,63.14,
-61.91,61.98,61.73,61.42,61.98,63.04,61.51,63.96,63.99,61.25,
-62.83,63.84,61.57,62.13,64.21,65.62,64.98,63.84,64.24,66.78,
-65.34,67.64,66.24,63.23,63.67,68.08,66.34,64.72,66.60,67.02,
-66.47,66.30,66.01,66.42,65.80,66.91,66.76,69.24,67.94,66.44,
-70.64,66.26,64.58,66.63,66.81,68.61,67.34,69.40,69.41,69.69,
-67.63,68.03,68.12,68.54,70.24,68.46,67.77,71.78,71.36,69.75,
-75.65,72.89,73.07,68.54,74.49,69.59,72.92,69.87,72.09,72.39,
-71.60,72.90,70.72,70.43,70.99,71.77,74.84,73.83,72.36,75.32,
-72.09,71.77,73.46,73.07,71.96,72.35,74.73,72.16,74.33,75.11,
-74.85,74.78,75.29,75.42,74.21,74.77,73.76,74.79,75.30,80.79,
-13.90,13.85,14.17,15.19,16.14,15.73,16.71,17.33,17.90,18.82,
-19.98,18.95,19.51,20.63,20.52,20.66,21.08,21.71,22.38,22.07,
-23.67,22.81,23.68,23.86,24.68,24.61,25.21,25.76,26.17,25.13,
-25.12,26.83,27.09,28.16,27.69,27.10,28.17,27.87,28.25,28.76,
-29.46,29.43,28.66,30.99,30.89,30.93,30.88,33.04,32.41,30.60,
-32.54,32.45,32.84,32.98,33.21,33.11,34.07,33.43,34.43,33.83,
-33.68,35.33,35.21,34.81,34.37,35.46,37.41,35.64,38.26,36.73,
-36.86,36.34,37.73,38.63,36.44,38.54,40.08,39.44,39.38,39.75,
-39.21,39.10,39.76,38.38,41.24,40.53,40.39,40.82,41.45,41.13,
-40.28,42.15,42.06,43.87,42.71,42.01,41.45,43.06,43.71,44.88,
-44.59,44.51,43.61,42.70,44.57,44.22,45.84,44.03,43.91,45.81,
-45.55,46.64,47.94,44.49,46.20,46.94,44.62,46.41,47.87,45.84,
-47.34,49.19,45.29,47.28,48.34,49.89,48.79,48.44,47.20,50.38,
-48.97,51.31,49.01,50.90,48.07,48.36,50.65,51.19,50.68,48.62,
-52.55,51.40,52.96,52.81,51.64,53.23,51.72,51.54,50.71,53.11,
-52.70,52.58,53.42,52.86,51.99,53.62,52.96,50.87,54.67,54.38,
-52.89,53.12,56.67,53.42,54.19,54.45,56.02,55.02,57.06,54.76,
-53.13,55.42,56.53,56.63,57.87,57.75,56.67,56.98,58.40,56.22,
-56.92,59.08,57.08,57.30,58.61,59.33,58.04,58.64,60.06,58.30,
-59.54,56.94,60.93,61.35,61.09,58.88,61.87,59.37,61.07,62.58,
-60.06,60.49,59.99,59.18,60.57,59.59,61.43,60.74,62.47,61.52,
-62.50,61.81,61.39,61.57,62.10,62.21,63.20,61.13,61.83,65.30,
-62.69,61.20,63.33,63.72,61.70,62.67,66.71,66.58,65.93,63.40,
-63.59,64.73,66.12,64.88,66.77,66.44,62.68,66.40,65.87,68.08,
-62.29,65.53,63.30,66.11,64.40,67.80,67.46,67.02,65.83,67.92,
-68.89,67.84,65.75,64.92,66.07,64.10,67.80,68.85,64.92,66.61,
-66.77,68.54,67.67,69.18,66.45,68.73,69.58,67.66,67.99,72.53,
-71.96,68.99,70.06,69.90,72.10,71.07,68.34,70.19,68.78,69.80,
-70.78,69.87,72.91,74.63,69.62,70.77,70.81,70.14,72.75,71.40,
-12.87,13.26,14.01,14.79,14.85,14.75,15.47,15.21,16.57,17.24,
-18.10,18.28,18.38,18.72,19.54,19.87,20.60,20.58,20.67,21.35,
-21.81,21.96,22.35,23.37,23.97,22.86,23.38,23.79,24.68,23.20,
-24.62,25.19,25.31,26.35,26.56,26.08,25.98,26.11,28.46,27.44,
-28.85,28.26,27.58,28.94,29.70,29.60,28.68,29.60,29.18,29.49,
-30.87,30.79,31.33,30.39,30.92,31.77,32.32,32.66,33.43,34.17,
-34.18,32.57,32.68,34.14,33.06,33.12,34.16,35.20,35.55,34.93,
-34.51,34.56,37.00,34.58,36.13,35.31,35.96,35.73,37.87,36.24,
-37.55,37.10,37.70,39.08,38.34,38.35,36.71,38.33,37.92,39.93,
-39.58,38.10,38.75,39.98,39.44,39.50,40.00,41.40,39.39,40.17,
-40.16,41.14,40.82,41.42,41.56,41.35,42.15,42.08,42.26,42.04,
-42.91,43.25,43.13,44.85,45.45,43.30,43.77,43.08,42.74,45.35,
-44.51,45.27,45.16,44.75,46.80,45.34,45.11,44.69,44.67,48.03,
-47.25,45.29,46.38,46.32,44.99,47.75,45.65,45.98,45.60,46.79,
-47.01,50.29,47.83,48.13,49.20,48.12,48.61,48.74,50.68,48.80,
-50.88,50.36,48.07,48.91,51.44,49.24,50.09,49.87,49.58,49.37,
-53.57,50.92,51.79,51.40,52.96,52.35,51.72,52.93,50.93,51.48,
-53.83,52.97,52.82,53.37,53.25,53.49,52.35,53.74,54.84,54.08,
-52.04,56.66,51.79,54.94,53.68,57.00,55.70,56.91,55.07,54.85,
-53.99,54.71,53.92,58.29,57.15,57.30,53.60,57.44,55.10,56.87,
-55.98,56.83,55.44,56.51,58.08,58.83,58.17,56.23,56.76,57.89,
-56.92,57.61,58.84,58.84,58.51,60.66,60.35,60.38,59.62,58.28,
-60.10,59.30,59.56,62.46,58.40,60.10,58.93,60.84,60.24,60.30,
-61.54,60.03,61.90,59.96,60.22,59.96,61.92,62.26,63.20,62.76,
-63.86,60.80,62.83,62.99,61.60,61.33,63.19,62.25,61.79,62.64,
-63.09,62.81,63.52,65.28,63.53,64.52,65.47,62.35,64.14,66.50,
-66.10,65.59,65.28,63.61,66.33,62.90,65.61,66.84,64.74,64.12,
-65.88,66.07,68.35,66.64,62.19,65.06,66.80,67.10,66.31,66.09,
-63.73,66.20,65.22,68.57,65.88,68.50,65.67,65.92,68.74,68.10,
-11.05,11.99,12.65,13.88,14.47,14.79,15.01,15.24,15.86,17.07,
-16.95,17.06,16.89,17.80,17.83,18.95,19.78,18.99,20.02,19.10,
-21.10,19.88,20.89,22.03,21.08,21.47,22.37,23.46,22.80,22.91,
-24.01,23.52,24.00,23.60,24.22,24.45,25.64,26.15,24.20,25.09,
-27.49,26.35,26.00,27.17,28.04,28.27,27.15,29.00,30.17,28.46,
-29.04,27.18,28.94,27.61,29.73,29.59,30.66,30.24,30.22,31.10,
-32.08,30.84,31.01,31.81,30.60,31.88,31.77,32.35,31.73,32.42,
-33.52,33.81,34.91,33.55,34.35,34.49,34.84,32.68,34.95,35.84,
-34.68,36.43,33.86,35.34,34.95,35.54,37.40,37.33,36.33,36.26,
-37.68,36.02,37.10,37.81,37.41,37.94,37.43,38.75,38.36,37.41,
-36.73,39.13,40.32,39.05,39.49,39.76,40.01,39.35,41.17,39.87,
-39.63,40.91,41.24,40.46,42.25,42.14,42.04,42.26,41.73,42.30,
-40.99,40.15,41.87,41.73,44.04,45.53,42.68,43.70,43.91,45.63,
-44.56,44.29,45.46,43.12,43.31,45.91,44.74,45.41,45.15,44.79,
-44.64,44.84,44.75,46.27,45.15,43.95,45.35,47.11,47.47,46.63,
-45.58,45.89,46.68,44.82,46.46,47.70,45.36,47.01,48.90,46.53,
-48.38,48.69,50.27,48.81,47.53,47.80,48.45,49.39,49.75,48.60,
-50.00,49.74,49.54,49.43,51.96,50.20,51.18,48.85,51.14,49.93,
-49.74,48.22,51.54,49.17,50.32,53.02,50.87,53.63,48.84,52.10,
-53.84,51.73,51.66,52.86,51.07,53.62,51.09,53.06,52.03,51.33,
-55.99,53.15,54.69,53.93,51.92,54.47,53.35,55.11,54.85,55.18,
-54.85,55.91,55.21,53.27,55.20,54.45,55.27,55.09,55.84,54.91,
-55.56,59.29,54.73,56.22,55.85,54.82,57.09,54.54,56.20,55.83,
-58.50,55.60,56.29,60.18,58.71,54.92,58.20,55.99,59.18,56.03,
-57.25,61.55,57.49,58.42,56.17,59.27,60.11,58.57,59.18,59.98,
-61.80,59.51,58.92,59.29,58.90,59.90,61.20,59.31,59.73,58.61,
-58.43,59.67,59.95,61.47,62.41,63.65,64.10,60.52,61.41,62.46,
-62.30,62.06,61.11,60.69,62.81,62.38,60.99,61.58,62.51,63.66,
-63.33,61.63,62.03,61.67,63.15,62.97,63.20,64.33,62.59,66.85,
-10.80,11.48,11.57,12.73,13.71,13.53,13.57,14.20,14.87,15.19,
-15.51,15.66,15.63,16.57,16.64,17.59,17.17,18.97,17.44,18.75,
-18.63,18.61,19.37,19.73,19.09,21.11,20.79,20.99,21.39,21.86,
-22.26,22.56,23.03,23.47,22.39,23.27,22.98,23.67,24.40,23.90,
-22.98,24.91,24.63,24.26,24.67,26.03,25.39,25.22,26.32,26.14,
-25.98,27.78,27.66,28.02,28.21,27.15,27.26,27.38,27.95,29.31,
-29.67,28.52,28.71,28.68,29.67,28.72,29.94,29.69,29.83,29.91,
-30.45,31.30,29.49,32.19,31.33,32.74,31.10,32.95,31.63,32.84,
-32.28,31.07,34.05,34.85,33.42,32.52,33.64,36.89,34.15,33.23,
-35.17,33.64,35.49,33.60,35.79,36.25,35.98,34.91,34.60,36.22,
-33.51,35.84,37.88,36.99,36.81,36.91,38.23,37.24,36.36,35.78,
-37.38,38.48,38.44,38.33,38.18,39.16,38.00,38.60,38.12,39.67,
-38.35,38.95,39.65,38.50,40.64,41.92,41.07,41.52,41.68,41.53,
-42.42,40.99,40.71,41.76,42.46,41.73,41.95,40.68,40.82,40.61,
-40.96,42.01,43.26,43.85,42.13,42.21,40.70,43.71,42.08,42.90,
-42.31,43.96,42.23,42.99,44.14,44.34,44.60,42.78,44.34,44.88,
-45.02,43.44,44.27,45.27,45.50,44.35,44.89,46.67,44.71,46.24,
-45.72,46.86,43.95,46.09,45.77,46.09,45.81,46.38,49.86,48.04,
-46.46,49.88,45.86,47.16,47.44,49.22,48.46,48.99,49.99,49.27,
-49.51,47.58,47.66,49.00,47.63,49.99,49.81,50.68,50.40,49.13,
-50.64,48.51,50.61,48.70,50.84,51.51,49.94,50.04,52.21,49.98,
-50.58,51.78,51.98,53.15,52.00,50.73,50.96,52.29,51.65,50.04,
-49.52,51.98,51.47,52.47,54.09,51.46,50.03,53.33,52.77,54.41,
-55.47,52.01,53.86,52.45,52.92,53.21,51.79,51.13,53.79,52.43,
-52.78,55.47,54.66,53.62,55.27,55.03,54.09,55.46,54.77,57.93,
-55.48,55.26,56.05,58.06,56.55,55.37,57.19,55.49,56.74,57.46,
-56.85,57.01,56.60,56.93,53.50,57.44,57.31,55.96,56.48,58.65,
-56.58,54.03,59.96,59.04,56.90,59.05,57.33,57.20,59.63,57.76,
-57.59,59.64,60.29,61.40,59.91,60.18,60.22,56.44,59.17,60.28,
-10.50,10.47,11.05,12.01,11.95,13.04,12.57,13.17,14.32,13.43,
-14.05,14.52,15.21,16.16,15.92,15.82,16.59,16.80,17.01,16.58,
-17.67,16.96,17.92,18.31,19.28,19.02,19.50,19.62,20.55,19.02,
-20.62,20.31,19.62,21.23,22.11,22.38,21.28,22.68,22.42,21.60,
-22.89,23.35,23.39,22.07,23.23,23.20,23.73,24.56,24.61,24.06,
-24.30,25.64,27.04,24.99,25.33,25.61,26.01,26.35,26.05,26.87,
-27.05,28.08,26.62,28.10,30.34,28.18,28.08,27.06,28.66,28.14,
-28.30,28.47,29.01,28.73,29.08,29.75,29.16,30.81,30.12,30.44,
-31.48,30.67,32.18,30.26,32.29,31.48,31.73,32.24,32.16,31.56,
-31.11,31.62,32.16,33.19,32.80,32.17,32.48,33.64,34.77,33.15,
-31.59,33.11,34.19,32.72,33.45,34.00,33.30,33.61,35.00,32.65,
-35.78,36.34,34.37,35.20,35.72,34.85,35.35,35.81,35.50,35.11,
-37.49,37.27,36.47,35.98,37.56,38.63,38.39,38.56,37.93,35.95,
-38.08,36.79,38.07,40.02,36.83,38.99,37.61,35.95,38.73,38.32,
-38.29,39.96,39.24,38.53,40.48,40.33,37.84,40.19,39.47,40.50,
-40.95,41.25,40.71,39.49,41.77,40.12,42.46,40.10,40.74,42.35,
-40.79,43.84,42.59,43.51,41.89,42.39,42.37,42.29,43.82,43.18,
-43.85,41.55,43.14,43.45,44.13,44.72,43.47,44.06,45.02,45.11,
-44.21,44.36,43.97,46.43,44.71,45.60,44.39,44.23,46.81,44.38,
-44.23,44.03,46.61,45.49,45.00,45.95,46.23,45.53,48.23,45.76,
-48.28,47.02,45.98,47.34,44.59,47.89,46.82,46.27,47.51,48.12,
-46.67,47.25,46.81,45.60,48.35,47.35,46.64,48.14,47.87,47.29,
-48.22,48.95,48.74,48.77,49.41,47.55,49.82,48.28,49.92,47.43,
-48.47,48.92,50.71,48.37,50.38,50.00,50.70,49.90,52.58,49.43,
-49.00,50.74,51.84,51.12,51.82,49.66,50.71,51.98,51.87,51.29,
-49.90,51.57,50.83,52.23,50.45,52.65,52.57,52.44,50.97,53.21,
-52.56,55.29,54.23,52.11,51.34,52.42,53.62,52.50,51.82,53.65,
-51.72,52.59,52.43,52.09,53.68,55.00,54.87,54.65,56.53,55.93,
-53.25,53.02,54.60,55.99,56.68,55.31,53.88,52.56,54.42,54.73,
-8.97,10.75,10.49,11.26,10.75,12.07,11.47,12.38,11.97,12.96,
-14.20,14.99,14.36,14.55,13.84,14.82,15.75,15.25,16.37,16.49,
-17.01,16.46,16.49,17.27,16.93,17.10,18.30,18.46,19.42,17.61,
-19.53,19.38,18.81,20.33,18.95,20.62,20.60,20.78,21.83,20.58,
-19.80,21.43,20.75,21.43,21.56,22.41,23.03,23.76,22.28,23.07,
-23.26,21.90,23.85,23.77,24.13,24.63,25.18,24.62,24.26,24.99,
-25.72,25.80,25.53,25.42,26.05,26.62,27.44,25.08,26.00,26.14,
-26.74,26.66,27.35,28.19,27.95,28.29,27.09,28.39,27.48,28.12,
-29.24,29.03,28.58,29.49,29.01,29.89,27.51,29.09,28.61,29.86,
-30.39,29.06,30.43,29.52,29.98,29.76,29.97,32.20,32.00,31.58,
-31.11,30.11,31.76,31.86,31.21,32.07,31.07,32.20,31.75,31.50,
-32.79,31.38,33.28,33.09,32.30,35.31,34.01,33.78,33.08,32.96,
-33.67,34.56,32.81,33.95,34.06,34.80,34.93,35.97,35.40,35.54,
-36.43,35.85,34.52,33.03,35.02,35.79,36.53,35.99,36.06,36.21,
-37.40,34.94,35.44,38.36,37.32,38.05,38.08,38.24,38.35,36.35,
-36.85,37.85,39.06,37.14,39.40,36.26,37.69,39.27,38.15,39.28,
-37.91,39.32,38.63,39.03,41.04,37.78,40.11,40.08,37.66,40.15,
-39.00,40.38,39.37,40.55,41.34,39.31,39.42,40.34,39.51,39.81,
-40.55,39.19,40.58,41.64,42.30,41.24,42.76,41.59,40.12,42.00,
-41.49,43.06,43.88,41.43,42.11,43.56,43.46,40.48,41.92,43.08,
-42.71,42.87,42.65,41.43,42.96,43.44,43.13,45.74,44.67,45.10,
-44.36,45.80,43.04,45.35,46.33,45.11,44.54,44.26,45.76,42.26,
-45.06,45.06,44.37,46.92,43.67,46.08,44.51,44.48,46.31,45.56,
-47.16,44.77,45.76,45.76,46.62,46.57,45.26,46.02,46.64,46.88,
-45.35,47.15,47.63,47.60,45.91,47.07,47.11,49.11,48.38,48.84,
-47.56,47.79,46.98,48.75,48.60,47.22,48.78,47.70,48.86,48.87,
-49.05,51.62,46.57,49.13,50.29,50.79,50.34,48.44,49.63,49.77,
-49.89,50.80,49.15,51.10,49.00,49.51,48.31,52.51,47.70,49.87,
-50.70,51.59,51.18,50.79,50.14,49.60,49.48,50.47,51.96,52.22,
-8.01,9.73,9.64,10.32,10.62,10.68,10.76,10.37,12.12,11.73,
-12.31,12.42,13.53,13.31,12.91,13.98,13.61,14.98,14.77,14.95,
-15.08,14.78,14.85,16.09,17.03,16.41,16.52,16.67,16.43,16.88,
-16.62,17.82,17.77,18.43,18.85,17.51,18.86,18.47,19.31,19.75,
-18.94,20.05,19.74,18.74,19.50,20.99,21.58,21.26,20.54,21.32,
-20.62,20.95,21.93,21.76,22.08,21.21,22.60,22.93,22.49,23.81,
-23.76,22.90,24.46,23.28,23.25,24.66,24.21,25.09,24.70,24.74,
-24.30,24.80,24.84,24.37,24.66,25.57,24.97,24.91,27.02,27.47,
-26.82,27.01,26.73,26.30,26.14,26.88,26.85,27.57,26.30,25.86,
-27.25,27.14,29.60,28.83,26.74,26.41,27.50,28.99,27.85,29.14,
-29.06,28.51,28.22,29.41,29.50,29.20,29.43,28.08,29.36,30.43,
-30.99,30.96,30.62,31.26,31.38,29.78,31.38,30.73,30.79,31.94,
-30.69,30.96,31.32,32.76,31.07,31.38,31.23,33.24,31.51,32.29,
-31.21,32.70,33.06,33.43,34.14,32.05,33.74,33.87,32.54,32.69,
-33.85,34.74,35.07,32.79,33.83,33.81,34.29,35.98,35.56,33.71,
-35.54,33.67,36.11,33.63,35.57,35.72,36.40,36.28,35.45,36.81,
-35.16,36.94,37.19,37.58,37.67,36.84,35.47,34.96,36.92,37.06,
-37.17,36.03,35.61,37.92,38.09,36.35,37.58,37.20,38.05,38.92,
-37.03,37.92,38.68,39.42,38.56,37.56,39.86,38.74,38.02,37.72,
-38.90,38.90,40.04,39.37,38.86,39.18,39.88,40.14,39.46,41.23,
-41.34,38.85,40.70,41.31,40.71,42.43,39.92,40.65,39.30,40.05,
-40.32,40.76,42.27,39.11,40.66,41.42,41.20,41.79,41.56,41.03,
-40.53,41.93,43.07,41.60,41.16,41.04,41.85,42.99,40.50,41.13,
-42.70,42.58,43.21,43.28,43.71,44.58,41.90,42.08,42.60,42.94,
-45.11,42.30,44.02,44.48,42.73,45.19,43.78,44.07,43.23,43.05,
-44.17,43.93,44.57,43.36,46.42,44.45,45.24,44.12,43.47,44.78,
-45.43,43.95,43.18,47.05,45.31,44.30,45.43,46.95,44.32,46.02,
-45.65,44.41,46.87,47.01,44.43,46.60,48.23,45.62,47.08,44.84,
-47.07,46.32,47.19,47.08,48.98,47.43,48.12,48.31,49.45,44.97,
-8.02,7.90,9.41,9.39,9.50,9.79,10.09,10.93,10.93,11.37,
-11.84,12.48,12.08,12.72,12.57,12.32,13.46,12.86,13.68,13.65,
-14.38,14.58,15.51,14.72,14.87,15.00,15.90,15.06,15.17,16.16,
-16.18,15.88,14.95,16.81,16.40,16.89,17.58,16.36,18.10,17.93,
-17.72,18.12,18.21,18.74,19.83,19.37,19.41,19.44,19.04,20.22,
-19.58,20.60,19.82,19.73,21.09,20.61,20.88,21.27,20.48,19.84,
-21.10,21.37,23.00,21.95,21.34,21.27,21.28,22.81,23.20,22.30,
-23.35,21.94,22.40,23.75,23.10,23.52,23.80,23.25,24.14,25.67,
-23.40,24.90,24.53,25.50,25.39,24.65,24.23,24.95,24.40,24.82,
-26.02,25.24,25.62,25.22,26.21,25.52,26.38,26.08,25.62,26.63,
-25.64,25.95,28.24,26.74,27.42,27.95,26.51,28.21,27.60,28.94,
-27.93,27.78,28.03,29.22,27.26,27.81,28.01,28.46,29.27,28.87,
-28.15,28.68,29.72,30.84,28.76,29.96,30.24,29.10,30.50,27.97,
-30.46,31.44,29.50,29.94,29.89,30.26,32.00,30.19,32.05,31.65,
-32.06,31.22,30.85,31.49,31.53,31.74,31.78,31.67,32.38,31.43,
-31.59,32.28,31.42,32.82,32.69,31.37,32.83,32.00,31.65,32.70,
-32.35,32.14,33.22,34.54,33.20,32.87,34.34,33.19,34.04,33.82,
-33.53,33.07,34.63,33.60,34.80,36.08,34.85,34.40,34.37,35.56,
-36.18,37.09,34.92,35.06,36.31,35.67,35.20,35.14,34.88,34.99,
-35.36,35.78,34.90,35.88,35.76,35.88,36.85,36.19,36.20,36.32,
-36.25,35.67,36.41,37.25,36.00,37.11,38.21,37.52,37.38,37.33,
-37.30,36.96,37.68,37.22,38.39,39.29,37.45,38.72,38.29,37.74,
-37.93,37.73,37.14,38.79,41.36,36.59,38.99,38.25,38.32,39.41,
-41.29,38.78,39.38,38.58,39.95,40.01,41.20,40.71,39.31,40.78,
-39.77,40.24,40.92,40.80,39.92,40.63,39.13,40.95,39.94,40.40,
-41.82,41.22,39.43,41.99,41.95,39.66,42.26,40.32,40.03,41.09,
-42.62,41.76,40.46,42.41,41.46,41.84,42.19,42.09,41.89,42.67,
-42.93,43.34,43.65,42.79,43.45,43.79,42.97,43.43,44.64,42.10,
-42.44,42.96,41.75,44.62,43.39,42.25,44.07,45.10,44.35,44.24,
-7.50,8.59,8.51,8.44,8.40,9.10,9.22,9.93,10.63,9.79,
-10.79,10.83,11.00,11.06,11.67,11.27,11.80,12.50,13.12,12.14,
-13.17,11.35,13.09,13.53,13.37,13.97,13.19,14.82,14.21,15.11,
-15.76,15.80,14.67,15.89,15.74,16.37,15.69,16.01,15.82,16.51,
-16.84,16.82,16.37,17.04,17.06,16.89,17.90,17.93,18.31,17.78,
-17.37,18.29,18.18,17.82,18.29,17.10,18.89,20.01,19.61,17.96,
-19.52,19.88,20.46,20.27,19.61,19.95,20.46,20.18,20.93,21.95,
-20.57,20.62,21.96,21.11,21.06,20.40,21.48,21.56,21.98,21.89,
-21.49,22.30,22.79,22.24,20.86,22.59,23.29,22.79,23.18,24.05,
-24.40,24.53,23.48,23.88,24.49,23.16,24.70,22.93,24.03,24.00,
-24.36,24.27,24.19,25.63,25.57,24.15,26.11,24.99,25.56,26.22,
-25.29,25.95,24.09,26.61,26.27,26.72,28.21,25.99,24.62,27.16,
-27.51,26.75,26.85,26.90,26.06,27.44,27.56,26.57,28.48,28.19,
-27.94,27.11,28.76,27.75,27.85,27.55,27.33,28.93,28.41,29.08,
-29.09,29.32,29.19,28.93,28.02,28.00,28.47,28.99,30.99,28.66,
-29.12,31.21,30.58,29.46,30.24,30.13,30.32,29.92,28.72,30.49,
-30.09,31.58,30.49,30.14,30.74,30.72,30.36,32.62,32.29,31.51,
-31.34,31.27,31.36,33.41,30.54,31.37,31.64,31.31,32.28,31.89,
-32.64,32.54,33.01,32.61,33.41,31.89,32.95,31.67,34.52,32.32,
-32.29,35.00,32.81,33.07,34.88,32.41,34.47,33.94,33.24,33.07,
-35.30,33.80,34.48,33.78,34.80,33.11,34.80,34.41,34.49,35.25,
-34.04,34.17,35.36,34.28,35.72,34.01,34.84,35.84,34.66,34.13,
-36.07,36.40,35.09,35.95,35.32,37.72,36.21,34.56,38.35,35.85,
-36.72,36.50,35.18,35.14,36.76,36.85,37.21,37.59,38.63,38.61,
-36.33,36.92,35.26,38.63,36.85,37.56,37.99,38.24,38.44,35.85,
-37.47,37.76,36.95,37.58,39.18,39.11,40.71,39.88,38.03,39.09,
-38.60,37.79,37.94,39.00,38.80,37.17,37.91,38.42,38.94,38.91,
-36.00,40.74,40.92,39.50,39.49,40.01,40.35,40.60,38.63,40.26,
-39.30,40.90,39.71,40.77,41.59,38.43,41.17,40.07,39.67,40.99,
-6.45,7.31,7.37,7.81,8.46,8.58,8.35,8.01,9.19,9.00,
-9.40,9.79,11.06,11.34,11.20,11.05,11.09,11.30,11.41,10.73,
-12.68,11.21,13.01,11.82,12.96,13.19,13.66,12.16,12.90,13.04,
-13.90,13.26,13.33,13.28,13.74,14.70,14.57,15.09,14.06,14.94,
-15.53,14.63,14.82,16.64,16.29,16.90,16.80,16.11,15.90,16.22,
-17.35,17.54,16.32,17.45,18.07,17.58,17.85,17.41,17.37,17.89,
-17.08,18.42,17.00,18.55,18.75,18.50,18.95,19.18,19.71,17.69,
-19.25,19.10,19.86,19.51,20.70,19.73,20.52,19.26,20.59,20.50,
-20.09,20.39,19.69,20.40,19.98,22.43,20.98,21.64,21.46,20.91,
-21.28,22.85,22.54,21.60,21.58,21.98,22.17,22.10,22.51,22.79,
-22.55,23.48,21.78,23.00,22.79,23.80,23.00,23.78,22.62,22.91,
-25.01,23.97,24.07,23.56,23.68,24.96,24.92,23.51,23.18,23.18,
-25.05,24.58,24.61,24.26,24.39,24.22,24.51,25.43,24.47,25.98,
-26.07,26.84,25.60,25.75,26.25,26.46,25.61,26.35,26.93,26.53,
-26.75,26.18,27.12,27.05,27.12,26.51,27.15,27.59,25.43,27.40,
-28.17,26.66,27.71,27.50,28.61,27.33,28.82,27.40,29.02,27.07,
-27.73,28.48,27.69,28.66,29.88,29.35,28.26,28.70,28.80,28.45,
-29.02,29.76,29.52,28.54,28.36,30.16,31.06,29.33,29.29,28.76,
-29.98,29.02,29.18,30.19,31.46,30.75,30.63,31.18,29.78,30.55,
-29.07,29.65,30.75,30.45,31.82,31.69,30.02,30.12,30.53,30.10,
-30.59,31.05,30.69,30.64,31.73,32.17,31.74,32.28,31.74,31.34,
-31.41,32.26,31.62,31.71,32.13,33.33,32.22,32.13,31.65,33.97,
-32.35,34.92,31.64,32.51,33.32,32.62,33.30,33.27,32.06,31.96,
-32.33,33.75,32.79,32.84,35.13,33.69,34.18,33.92,32.84,34.31,
-34.48,34.60,34.09,33.06,34.58,34.72,35.24,33.99,34.02,35.81,
-35.69,34.85,33.59,35.34,35.80,34.86,33.81,33.65,37.26,34.80,
-35.08,35.99,35.97,37.39,35.37,36.19,35.71,35.46,35.51,35.01,
-35.29,34.34,36.75,34.73,36.36,36.51,36.88,37.11,36.06,35.93,
-36.37,36.17,37.70,37.50,37.52,37.27,36.58,37.80,36.49,37.25,
-16.46,17.16,17.76,19.41,18.78,20.20,20.57,21.10,21.11,22.74,
-22.50,22.54,23.86,24.49,24.37,24.40,25.97,27.10,26.76,26.82,
-27.90,27.79,28.03,28.55,29.95,30.13,29.72,30.14,31.04,31.42,
-32.92,32.10,32.75,33.71,33.35,33.50,33.62,34.86,32.93,35.10,
-36.26,36.03,36.16,36.57,37.29,36.16,38.60,38.25,37.52,38.53,
-37.61,38.32,39.69,40.38,38.67,41.45,40.15,42.21,40.49,41.80,
-42.53,42.97,42.70,44.21,45.22,43.07,42.34,43.81,45.03,45.22,
-44.86,44.37,44.56,44.04,45.04,46.58,46.62,46.99,49.06,48.11,
-48.56,48.73,46.37,49.67,48.08,50.17,49.06,51.38,50.43,50.22,
-49.51,50.68,49.16,50.79,51.89,52.42,54.15,52.24,52.46,48.78,
-49.85,54.91,51.51,51.38,53.04,53.26,53.51,55.19,54.95,57.14,
-54.80,56.49,59.75,56.20,54.15,58.00,54.41,58.51,56.60,57.09,
-56.85,58.80,56.98,57.94,58.78,57.87,59.46,58.76,59.96,60.24,
-57.91,60.77,57.63,61.61,59.35,60.47,59.22,60.84,62.82,62.35,
-59.76,58.96,62.23,60.56,62.79,62.04,61.41,62.98,64.35,60.90,
-63.53,60.52,60.69,63.09,64.08,65.32,64.80,65.97,66.44,65.45,
-63.34,66.26,67.97,66.53,67.85,66.98,65.04,65.24,65.20,70.01,
-66.37,67.31,68.26,64.97,68.13,68.14,67.86,66.68,65.60,69.44,
-67.88,67.87,68.47,67.49,68.97,72.81,67.90,67.70,71.29,69.92,
-73.68,71.70,71.35,73.38,71.10,73.43,68.42,75.46,73.79,71.88,
-73.89,70.25,71.52,73.94,75.95,74.78,72.55,72.36,74.19,77.05,
-74.56,74.16,75.42,74.41,74.64,74.94,72.35,74.39,74.88,77.82,
-75.69,75.21,75.57,76.72,77.01,78.36,75.24,79.49,77.76,75.78,
-76.52,77.31,78.29,76.68,80.13,79.90,79.09,80.36,78.60,79.31,
-84.20,80.24,79.37,81.28,81.71,79.75,81.03,79.30,80.19,80.04,
-82.29,84.02,79.39,80.16,83.64,80.05,81.37,82.92,79.24,82.32,
-79.85,85.93,80.19,84.95,82.72,79.93,83.05,84.33,81.10,82.24,
-83.46,84.02,83.37,85.35,81.04,81.99,83.68,83.32,88.08,87.30,
-86.95,91.38,88.14,83.43,88.05,85.43,86.83,87.97,90.06,88.66,
-16.28,16.66,17.62,18.54,19.71,19.65,21.52,21.15,22.30,22.55,
-21.78,24.16,23.49,24.37,24.95,24.80,25.70,25.01,26.26,26.00,
-26.83,27.14,28.76,29.78,28.89,30.37,30.75,31.17,31.74,31.05,
-32.91,32.36,31.58,32.43,34.44,34.30,34.03,33.77,34.82,35.92,
-36.91,36.76,35.77,36.20,37.50,38.67,36.43,40.44,38.32,39.04,
-38.24,39.42,38.98,39.01,39.57,41.09,39.66,40.90,40.93,42.45,
-41.45,42.53,42.63,42.72,43.89,42.83,43.39,44.23,44.39,45.05,
-45.41,45.60,45.68,46.13,44.85,46.37,46.94,47.07,47.01,48.89,
-47.32,47.93,47.37,46.68,49.58,49.60,48.22,48.54,48.25,48.82,
-49.31,52.06,49.61,53.14,51.47,50.39,51.48,52.07,51.24,52.67,
-52.11,52.33,54.24,53.77,54.37,54.34,54.70,53.40,54.88,53.55,
-53.67,56.28,54.75,55.74,52.70,55.20,57.50,55.22,59.48,57.00,
-54.56,57.24,58.49,56.54,58.64,56.00,58.44,56.98,59.71,60.81,
-58.07,59.23,57.53,58.31,60.26,59.60,60.26,62.16,62.88,62.38,
-60.17,61.05,63.23,62.14,66.25,62.88,61.51,62.83,62.26,63.96,
-61.41,63.34,62.41,64.90,62.21,67.32,66.46,62.20,64.97,67.15,
-64.74,63.42,66.43,62.55,63.83,69.00,65.75,66.62,68.42,65.23,
-65.68,64.42,65.23,65.12,69.07,70.76,70.14,68.10,71.09,70.27,
-70.92,67.66,69.73,69.81,71.48,71.17,69.88,69.07,70.14,71.21,
-73.80,69.19,72.05,69.47,71.71,70.81,70.68,71.22,70.39,70.34,
-73.39,70.96,75.78,70.61,74.75,70.82,72.45,76.53,72.39,76.50,
-71.69,72.62,72.83,76.58,76.29,72.62,74.33,73.39,72.86,74.75,
-74.52,75.61,76.32,79.55,79.75,76.95,76.77,76.63,76.31,77.38,
-76.73,78.51,75.91,76.78,77.57,81.88,78.66,80.21,80.82,78.10,
-79.41,80.37,79.91,79.43,79.11,80.87,80.59,80.17,78.95,81.20,
-78.83,81.66,76.40,80.80,76.72,78.52,82.74,79.81,82.27,82.87,
-82.40,79.09,81.38,85.36,81.75,84.09,81.91,82.72,82.19,83.38,
-86.39,84.55,84.69,84.24,83.82,86.81,85.12,83.71,84.54,82.01,
-84.03,87.88,86.38,85.34,84.97,86.58,84.16,85.81,85.64,86.49,
-16.91,16.80,16.77,18.14,18.95,18.93,20.90,21.27,21.67,21.85,
-22.83,23.63,23.10,23.41,24.87,25.12,25.09,26.29,26.25,27.94,
-27.35,27.26,28.39,28.57,29.55,29.94,30.42,30.96,30.07,31.17,
-32.16,31.51,32.42,32.31,33.12,32.94,33.73,33.98,35.28,34.70,
-35.64,35.32,35.58,35.89,36.52,37.10,36.43,37.39,39.87,37.96,
-39.34,38.68,38.79,38.84,40.42,39.70,39.10,41.43,39.56,40.78,
-41.27,43.33,42.54,40.76,41.31,42.44,43.71,42.16,42.65,42.56,
-45.93,44.18,45.73,44.49,47.04,45.91,46.89,45.71,43.94,47.29,
-46.89,45.10,48.54,47.49,48.30,47.04,47.20,48.04,50.03,49.54,
-50.11,49.73,50.31,51.19,48.71,50.35,51.26,50.95,51.23,52.66,
-51.98,52.68,52.62,55.24,52.38,53.23,56.29,53.95,54.02,57.24,
-54.79,53.49,56.50,54.56,54.74,55.04,55.58,57.36,56.74,56.31,
-56.24,55.62,54.92,57.24,58.44,55.29,59.62,57.74,56.61,60.44,
-60.68,59.10,59.52,57.40,58.50,58.44,62.48,59.41,58.57,59.94,
-59.95,62.42,63.63,60.26,62.19,59.46,60.96,62.70,63.56,61.75,
-62.13,63.27,63.16,62.74,62.99,60.38,66.33,63.53,62.10,65.40,
-62.12,66.28,64.50,64.22,63.05,65.59,66.17,64.95,67.16,63.81,
-68.73,65.62,63.24,67.11,66.34,67.53,64.45,69.34,68.40,67.45,
-68.71,66.93,68.02,70.24,68.00,67.21,70.31,67.93,70.20,69.87,
-69.09,69.13,72.10,73.35,68.34,68.89,69.46,70.80,70.52,70.88,
-74.63,73.03,72.23,70.77,72.84,74.70,72.40,72.05,71.90,72.04,
-74.12,74.14,70.47,71.22,71.46,74.09,73.65,72.12,72.90,71.91,
-76.95,75.48,75.69,75.65,73.68,75.54,74.49,76.29,79.03,74.19,
-74.45,74.89,76.01,75.25,78.56,76.12,76.72,74.01,76.34,77.75,
-79.55,79.76,79.04,77.97,81.07,78.16,77.71,81.05,79.48,81.18,
-82.02,79.72,81.08,80.66,77.26,80.43,79.33,81.22,78.67,78.13,
-83.69,81.62,79.98,79.52,80.48,85.38,83.28,80.45,82.09,83.00,
-83.42,78.68,81.67,84.72,83.74,85.50,82.48,81.52,85.02,79.12,
-83.98,86.23,82.04,81.54,85.11,86.32,84.74,84.18,82.40,82.44,
-15.69,16.36,17.15,17.68,17.70,18.68,19.05,20.01,21.46,20.91,
-21.89,22.45,22.77,22.99,23.92,24.24,24.13,24.90,26.46,25.94,
-27.18,26.60,27.40,28.03,28.26,29.26,28.68,29.13,29.45,30.67,
-30.69,31.26,30.96,32.29,31.93,32.26,33.10,33.64,32.29,33.54,
-34.31,35.35,33.56,33.39,35.68,36.08,36.12,35.80,36.84,37.04,
-37.75,36.57,37.93,38.76,37.89,37.77,37.70,39.58,40.78,40.13,
-40.05,40.25,41.17,41.49,42.70,40.91,42.61,43.36,41.82,43.67,
-44.67,44.10,43.71,44.53,43.25,45.14,45.83,44.66,44.18,43.91,
-45.99,44.41,45.33,45.77,46.91,46.98,47.82,48.30,48.50,47.47,
-48.71,48.61,49.11,50.15,46.92,47.30,49.33,51.06,47.14,51.40,
-51.30,49.95,50.13,50.48,49.89,49.60,51.40,52.04,53.72,52.43,
-51.52,53.16,51.95,49.83,54.72,55.89,54.02,55.30,54.74,54.21,
-55.44,54.64,54.86,54.33,56.79,58.17,59.06,54.71,57.54,55.32,
-57.32,56.63,59.53,58.16,56.58,58.34,58.31,60.32,58.68,58.16,
-58.32,58.44,61.12,61.57,59.74,60.43,58.02,59.51,63.46,59.20,
-60.05,61.33,61.78,60.33,60.23,62.23,61.38,60.02,61.77,59.97,
-62.05,63.98,63.86,63.84,61.73,65.34,62.06,64.55,67.21,64.05,
-64.71,63.94,63.98,65.68,63.06,65.73,65.41,65.67,68.83,67.04,
-66.29,67.80,65.34,68.78,65.68,68.64,67.50,67.35,69.81,69.81,
-69.01,67.58,70.15,67.97,68.86,69.56,69.91,68.11,71.13,69.00,
-69.82,70.17,68.21,69.97,71.51,68.92,69.18,69.76,70.79,73.02,
-71.35,69.17,72.15,72.90,72.42,69.93,74.02,73.08,71.84,73.40,
-74.17,74.64,72.98,72.35,72.89,71.88,73.39,69.88,71.99,75.15,
-71.91,75.93,74.55,75.23,76.40,72.94,75.26,73.61,77.82,72.90,
-76.30,77.76,78.42,78.50,74.17,76.94,76.03,76.24,75.21,76.76,
-78.03,77.68,79.43,76.87,78.96,78.45,77.42,79.97,75.85,80.98,
-80.31,79.45,79.36,82.79,80.45,81.64,80.86,80.35,78.04,77.93,
-79.43,81.11,80.89,78.75,83.27,79.77,79.99,80.08,81.64,81.79,
-82.51,81.05,81.31,82.89,80.85,80.28,81.85,81.67,82.76,84.36,
-15.48,15.59,15.28,17.19,17.34,17.46,18.87,19.06,20.10,20.54,
-20.19,22.05,22.56,22.16,23.17,24.47,23.49,23.93,24.04,25.23,
-25.49,25.82,26.17,26.75,28.64,27.85,28.47,27.97,30.11,29.03,
-29.93,29.71,30.43,30.96,32.10,31.77,31.94,31.74,32.45,31.93,
-32.23,32.69,33.05,35.04,33.70,33.19,35.84,36.10,35.92,35.57,
-36.93,37.54,36.56,37.10,37.02,37.91,38.33,37.85,38.31,37.95,
-38.69,40.23,37.93,39.50,40.03,39.74,40.07,42.00,41.51,40.03,
-40.20,40.89,43.18,42.21,42.11,43.16,42.61,41.85,42.64,44.80,
-45.26,45.39,44.66,43.87,45.70,45.31,46.20,46.43,44.94,47.26,
-46.65,47.26,48.88,48.15,48.44,47.11,49.21,46.38,47.50,45.93,
-47.63,49.57,50.76,49.94,50.49,51.09,49.64,50.66,49.04,50.83,
-49.97,51.60,50.91,51.12,50.33,53.64,52.38,52.59,52.46,54.51,
-52.00,52.19,51.97,55.31,53.35,52.61,55.95,55.94,52.68,55.33,
-53.60,56.03,55.57,55.61,55.45,54.54,56.57,56.37,56.77,55.84,
-56.28,58.19,56.30,55.83,58.72,59.00,58.73,60.17,60.25,56.81,
-58.92,57.42,58.39,59.77,59.06,61.87,57.34,58.04,60.12,60.39,
-59.51,61.70,60.56,61.33,60.81,61.92,59.64,61.96,60.96,61.72,
-64.75,63.98,62.91,62.88,63.42,63.80,61.04,64.22,61.34,63.62,
-64.61,64.19,67.73,63.55,68.19,64.90,64.27,64.46,64.50,64.71,
-65.46,63.38,66.23,65.19,69.80,63.50,67.57,66.31,64.93,68.64,
-67.72,66.76,67.36,64.72,68.48,68.93,69.89,68.45,67.08,66.54,
-67.34,68.27,71.44,69.90,67.99,72.93,68.80,72.23,69.26,68.58,
-70.68,74.75,72.49,71.29,71.32,72.35,72.20,70.92,70.38,73.28,
-71.13,71.48,69.88,70.49,70.10,72.53,72.44,72.65,74.40,73.78,
-71.08,71.18,73.28,73.94,74.91,75.06,73.05,76.60,76.12,73.22,
-72.03,73.12,73.20,75.94,75.36,74.18,77.68,77.67,75.49,76.64,
-74.75,76.00,75.04,77.77,77.03,77.60,76.40,75.09,79.48,76.99,
-76.65,77.09,78.61,74.94,79.21,79.70,78.23,81.44,79.76,77.52,
-81.39,80.05,76.99,80.08,80.07,76.95,80.05,82.54,77.56,79.47,
-14.29,15.18,15.66,16.40,16.37,17.25,17.72,18.86,19.28,19.57,
-20.35,20.70,20.89,22.10,22.21,22.32,23.75,23.27,23.22,23.68,
-24.81,25.74,24.58,26.60,26.48,25.85,26.34,27.09,26.14,28.06,
-28.08,28.49,29.34,29.53,30.45,29.88,31.10,30.36,32.18,30.89,
-31.26,32.00,31.81,31.78,33.19,33.04,32.91,32.86,32.90,33.03,
-33.95,34.17,34.74,36.38,36.64,37.00,35.73,37.59,37.61,37.43,
-37.79,38.33,38.27,38.89,38.56,40.22,38.62,39.04,38.34,39.44,
-39.12,40.79,38.76,41.76,41.15,39.00,41.92,40.48,43.51,42.84,
-42.11,42.17,42.86,42.99,42.33,41.12,44.39,43.22,43.11,41.86,
-44.68,45.01,43.70,45.56,42.93,46.29,44.91,46.24,45.95,48.79,
-46.70,47.50,48.41,47.73,46.94,47.57,47.68,49.12,47.03,49.90,
-48.15,50.44,49.11,48.97,50.57,50.50,49.58,51.08,50.25,50.24,
-50.77,50.98,49.88,51.02,51.85,51.80,54.10,52.13,54.30,51.75,
-54.05,54.16,53.91,52.63,53.73,53.80,52.32,52.40,54.58,56.47,
-54.96,54.89,54.11,53.82,53.81,55.34,56.89,56.66,55.64,57.75,
-56.83,59.11,57.52,58.61,56.86,57.97,57.37,58.57,57.98,58.39,
-56.40,57.00,56.75,60.45,57.95,59.11,58.17,58.45,59.74,60.11,
-59.12,58.80,60.78,59.75,62.06,59.48,59.66,61.04,61.46,59.90,
-62.05,62.00,62.72,62.23,57.92,61.35,60.32,63.31,59.95,60.98,
-61.22,60.44,63.00,64.13,62.74,64.21,65.87,63.85,63.27,64.29,
-64.62,64.60,66.28,65.11,65.57,65.66,62.85,65.34,63.95,66.36,
-66.96,67.21,65.51,66.26,64.28,68.38,67.20,65.77,67.67,66.58,
-69.49,66.07,66.49,69.03,68.00,66.74,65.75,69.62,68.29,70.84,
-69.95,69.11,70.07,70.27,70.01,70.26,68.17,69.54,70.11,68.05,
-67.50,70.59,72.34,70.91,69.01,70.93,68.00,69.78,70.70,71.73,
-71.06,71.43,74.64,72.27,74.45,72.67,70.62,72.22,71.53,73.99,
-73.89,73.15,73.59,71.98,70.74,71.93,74.58,71.73,77.13,73.11,
-73.72,77.21,74.35,72.28,77.94,77.09,75.61,76.39,74.80,76.94,
-75.81,78.51,74.96,76.15,74.94,79.96,77.07,73.81,77.16,76.80,
-14.18,14.05,14.70,15.19,16.16,17.06,17.18,17.22,17.72,18.64,
-18.92,19.85,20.17,20.59,21.32,21.08,21.47,21.91,22.35,22.57,
-24.66,23.35,25.65,24.18,25.07,24.42,26.56,26.10,25.65,25.83,
-26.41,27.12,27.97,29.62,27.00,28.91,29.03,29.27,29.76,30.39,
-29.89,29.44,30.16,30.21,30.60,30.79,31.98,31.48,32.02,32.88,
-33.99,33.01,33.04,33.68,34.41,34.28,32.94,34.54,35.50,33.95,
-34.15,35.55,35.58,36.88,37.53,35.93,36.08,38.44,38.22,38.17,
-38.70,38.43,39.24,37.96,38.97,39.32,40.35,40.25,40.20,38.49,
-40.69,39.74,40.67,40.49,38.16,41.63,42.03,41.24,42.12,41.49,
-42.22,42.50,41.62,43.88,44.15,44.22,43.49,41.87,44.94,44.34,
-42.04,45.86,44.03,45.25,44.55,43.45,45.53,45.29,44.62,44.30,
-45.81,47.23,47.35,46.19,47.00,47.68,46.59,47.04,46.16,47.08,
-48.27,47.83,49.74,49.22,50.67,49.00,50.34,48.28,49.72,51.19,
-49.78,50.36,50.52,50.63,50.83,52.25,50.56,51.45,51.60,53.41,
-50.80,50.41,51.32,52.44,51.97,52.64,52.25,52.50,52.42,54.27,
-54.35,53.01,53.56,54.78,56.01,54.84,54.30,55.86,53.58,53.98,
-56.54,54.07,54.95,55.18,55.99,53.17,56.99,56.18,57.27,57.53,
-57.48,60.20,57.19,56.66,58.08,58.31,57.88,55.20,57.71,58.29,
-59.17,57.18,57.12,58.71,57.99,59.83,58.58,61.47,60.34,60.47,
-61.81,60.20,60.90,59.51,58.99,59.29,60.19,61.79,61.03,63.55,
-60.43,63.39,65.85,61.37,60.99,61.94,62.19,60.67,63.63,61.52,
-62.34,63.48,65.00,62.96,61.57,63.70,65.41,63.63,62.73,63.54,
-63.17,65.76,62.52,66.02,64.00,64.46,64.27,65.55,64.66,65.26,
-66.20,66.39,66.16,65.24,65.72,67.53,66.44,67.37,66.36,67.57,
-66.36,67.68,67.77,67.70,68.51,69.49,66.11,70.61,66.44,69.81,
-69.54,65.74,66.49,71.30,66.66,70.16,64.88,66.82,71.91,68.39,
-72.11,69.12,69.80,71.24,71.32,71.97,72.65,73.06,69.20,69.27,
-68.32,68.09,69.96,70.36,69.40,70.22,69.07,73.00,70.84,72.25,
-70.26,70.10,72.97,73.61,71.59,73.84,71.87,72.85,69.93,72.41,
-13.12,13.52,14.67,15.53,16.00,15.18,15.71,16.78,17.38,18.24,
-17.71,18.48,18.74,19.75,20.52,18.96,21.29,21.03,21.66,22.65,
-22.16,22.75,22.21,23.04,23.10,24.96,24.60,24.12,24.84,25.18,
-25.74,25.55,26.81,25.68,26.65,28.23,27.00,27.61,28.04,27.14,
-29.29,28.53,28.45,28.63,29.89,29.51,30.44,30.14,32.07,29.79,
-31.33,31.05,32.17,31.39,31.78,31.31,32.02,33.74,32.71,33.64,
-33.40,34.73,34.07,34.97,34.98,34.79,35.38,35.56,35.19,35.39,
-36.05,35.39,37.71,35.72,35.50,36.66,37.06,38.13,35.97,37.46,
-38.99,39.28,37.19,37.98,38.87,40.02,39.96,38.10,38.58,40.56,
-39.80,39.87,41.66,41.56,38.72,39.97,42.34,40.75,40.27,41.92,
-43.54,43.77,41.57,42.49,43.55,42.31,42.34,42.00,44.74,45.40,
-44.15,44.49,44.73,43.50,45.14,46.70,45.67,45.49,45.16,44.78,
-43.79,45.55,45.45,46.48,45.52,46.03,46.00,45.13,47.88,46.78,
-49.40,47.03,47.09,46.51,47.95,49.29,45.95,48.85,47.99,49.80,
-47.85,50.82,50.35,49.89,50.19,49.74,48.35,50.79,49.13,52.24,
-48.85,50.26,51.28,52.73,50.98,51.83,51.62,51.91,53.23,52.58,
-54.93,52.96,53.13,52.83,52.04,52.97,50.79,53.24,51.22,52.14,
-53.00,53.22,55.38,54.27,53.02,54.43,53.81,55.13,55.30,54.92,
-56.80,53.72,53.83,54.81,56.50,55.78,56.29,57.73,56.85,57.35,
-56.64,55.72,56.57,58.95,59.31,59.39,57.58,57.55,57.85,58.12,
-59.03,56.47,57.16,57.29,58.83,57.96,60.59,61.34,59.42,60.36,
-59.25,58.41,60.10,59.77,61.65,60.17,60.95,58.72,61.16,60.81,
-59.99,61.47,59.99,61.12,59.11,61.62,62.18,62.33,62.40,62.76,
-60.40,61.72,61.56,63.80,60.58,58.60,65.72,62.93,62.67,62.89,
-61.27,62.79,63.57,64.68,63.49,61.97,67.23,62.12,64.29,64.29,
-67.21,63.76,63.31,64.60,66.06,64.63,66.23,62.57,66.68,63.91,
-65.22,66.13,63.77,64.93,69.32,68.48,67.92,65.20,67.46,69.46,
-65.87,65.84,68.48,65.59,64.66,65.07,67.17,69.56,67.20,68.39,
-69.52,68.92,68.45,68.04,68.29,67.68,67.71,66.36,69.64,65.68,
-12.37,13.13,13.84,13.79,14.69,14.83,14.66,15.61,16.48,17.05,
-16.76,18.13,17.98,18.77,18.29,18.36,19.35,20.29,20.00,21.00,
-21.28,20.34,21.20,21.87,21.07,21.98,23.68,22.94,24.37,23.38,
-25.11,24.70,24.17,24.81,25.38,25.34,25.59,26.26,25.98,27.24,
-27.12,26.58,26.86,26.99,27.44,28.30,29.33,29.52,28.09,28.85,
-30.26,29.29,29.77,30.41,29.52,31.65,29.88,31.12,31.90,30.56,
-30.68,33.14,33.58,31.80,31.68,32.35,33.44,34.11,33.64,33.58,
-33.90,33.39,34.89,33.77,32.60,33.84,36.74,35.67,33.70,34.77,
-34.78,37.53,37.26,37.20,36.43,38.64,37.43,37.18,38.06,37.90,
-36.66,37.71,38.55,38.83,37.80,38.46,40.12,37.07,39.65,39.90,
-39.25,40.27,39.52,41.07,41.31,39.85,39.96,40.27,41.65,40.95,
-41.44,40.14,43.63,41.61,42.74,41.74,43.23,43.35,43.33,43.08,
-42.87,43.31,41.59,42.56,43.51,43.99,43.76,45.74,44.89,45.62,
-44.85,45.24,44.41,47.43,46.58,47.21,44.04,46.88,44.99,45.44,
-47.32,47.75,45.44,44.75,47.59,45.54,49.10,46.12,46.50,47.74,
-48.66,48.29,46.95,49.89,50.56,49.03,46.98,49.22,52.03,48.05,
-49.47,50.33,49.82,48.59,50.81,48.27,51.45,49.09,50.72,50.97,
-53.17,49.28,51.52,51.89,49.34,49.16,50.67,51.63,52.09,52.50,
-54.47,50.60,51.67,53.89,52.80,52.31,53.16,54.96,52.65,51.28,
-56.35,55.81,54.29,53.35,55.10,53.69,55.06,52.02,54.16,54.82,
-56.49,56.22,55.28,55.77,54.39,55.40,54.46,56.30,56.90,57.17,
-56.72,54.68,55.17,56.82,56.20,58.79,57.50,56.92,56.02,57.60,
-54.95,57.13,57.45,59.32,57.72,58.25,58.52,56.78,62.17,57.44,
-57.09,57.98,56.87,59.09,59.90,58.48,59.79,60.62,58.98,60.36,
-60.35,58.67,58.85,59.45,61.02,60.69,63.11,62.65,63.85,60.38,
-60.68,62.64,60.87,59.42,60.27,61.49,62.25,60.99,62.46,62.81,
-60.94,63.30,62.08,61.42,61.99,62.05,65.71,60.80,62.21,64.37,
-63.09,60.78,64.60,63.54,60.90,64.07,62.60,63.92,65.51,63.40,
-62.61,65.13,63.56,66.16,64.86,65.72,66.01,66.09,62.69,68.32,
-12.02,12.32,12.68,13.45,13.70,14.21,14.23,14.09,15.20,15.68,
-16.98,16.89,16.64,18.70,17.18,18.13,17.63,18.78,18.86,18.82,
-19.18,19.50,19.82,20.92,21.67,20.42,20.94,21.53,22.86,22.85,
-22.34,23.62,23.01,23.25,22.27,23.45,24.51,23.63,24.57,24.62,
-24.99,24.41,25.59,26.00,26.18,25.83,27.03,27.60,26.84,28.26,
-26.63,28.04,28.66,27.98,28.28,29.75,29.19,27.83,29.78,30.00,
-29.94,30.15,30.35,28.94,30.29,30.83,30.96,31.61,30.66,32.14,
-32.31,32.17,31.56,33.57,32.50,33.38,32.61,34.48,33.99,33.24,
-33.81,35.17,34.45,34.22,36.01,34.88,34.00,34.97,34.99,35.27,
-35.60,35.89,35.83,37.34,36.67,34.87,37.03,35.28,35.88,36.76,
-38.46,37.35,36.88,38.41,38.30,38.47,38.83,39.57,38.89,38.05,
-38.26,39.85,40.25,38.80,39.18,39.10,40.14,41.24,41.07,39.63,
-40.12,40.24,40.34,40.77,40.27,40.37,41.63,40.16,42.58,43.09,
-41.33,42.01,41.80,42.53,42.45,44.63,44.31,44.84,43.27,43.57,
-43.42,44.66,42.82,43.00,44.31,43.39,43.88,45.13,43.41,45.27,
-45.23,46.08,46.98,46.46,44.59,44.82,46.82,45.21,44.48,46.29,
-46.07,47.73,47.08,45.79,46.09,46.29,44.70,47.72,46.82,49.01,
-47.23,47.83,45.20,48.84,49.86,50.70,48.02,47.48,50.02,48.41,
-50.63,48.46,47.20,46.30,51.50,48.33,50.23,51.82,51.18,49.95,
-49.71,50.33,51.40,50.32,50.63,50.68,48.61,51.33,51.20,50.25,
-52.37,51.12,49.89,52.99,50.58,51.62,53.44,52.63,49.50,52.92,
-55.36,53.44,50.84,53.15,53.85,53.65,53.87,53.07,53.09,55.48,
-52.89,52.76,55.64,51.64,54.16,53.75,55.34,53.47,54.24,55.62,
-56.28,53.86,54.40,53.73,56.60,54.81,55.48,55.84,55.87,56.33,
-56.14,54.30,55.82,56.51,55.92,58.17,54.75,57.57,57.02,56.74,
-58.26,55.84,59.39,56.31,57.37,57.56,56.42,56.79,57.98,58.86,
-60.22,59.82,59.42,58.75,59.19,58.99,57.74,59.86,57.83,58.53,
-59.62,59.93,60.92,59.43,63.31,60.21,60.28,62.05,59.86,59.01,
-60.53,62.84,60.49,59.12,60.85,62.03,60.21,59.80,62.85,59.76,
-10.91,11.72,11.62,12.02,12.38,12.32,13.06,13.89,14.56,14.38,
-15.59,15.42,15.57,15.62,15.56,17.41,17.66,16.64,17.53,17.12,
-18.66,19.29,18.48,19.84,19.21,20.26,19.05,20.41,20.81,21.49,
-20.78,22.65,21.01,21.72,21.89,22.45,21.87,23.08,22.84,23.18,
-23.60,24.85,23.71,25.27,24.34,24.24,25.43,24.57,24.65,25.41,
-25.42,25.46,25.63,24.89,26.36,25.64,28.29,26.73,28.90,28.09,
-26.90,27.32,28.45,27.20,28.34,29.49,30.05,28.84,30.28,30.06,
-30.02,29.76,30.08,30.25,29.28,30.63,30.75,29.71,30.96,30.54,
-31.24,31.11,31.87,31.49,32.20,31.67,33.28,34.05,32.82,31.95,
-32.18,32.68,33.08,32.28,33.32,34.60,34.94,33.13,34.16,34.92,
-33.13,35.49,33.58,35.19,36.64,35.17,35.89,35.71,35.80,36.66,
-37.61,37.75,37.12,37.67,38.93,36.69,36.79,36.26,39.82,38.59,
-38.18,35.71,38.06,38.04,39.76,40.02,38.94,37.79,39.59,39.36,
-39.09,41.68,39.26,40.64,39.50,40.51,40.41,42.17,41.37,39.43,
-40.20,40.62,41.00,42.14,39.59,39.92,40.13,42.68,41.06,41.47,
-41.99,42.95,40.30,43.85,43.59,43.76,42.57,43.65,43.16,43.79,
-41.17,43.51,43.66,44.13,43.73,43.70,42.64,42.93,44.35,43.99,
-44.98,42.85,43.97,44.16,45.22,46.07,46.37,44.80,45.80,45.68,
-45.52,44.98,47.04,46.02,46.78,46.03,46.22,46.00,49.36,45.26,
-47.11,45.79,47.33,46.42,46.81,48.92,47.55,49.86,48.05,48.14,
-47.08,47.28,46.92,49.01,50.29,50.31,49.04,47.72,48.01,49.49,
-48.82,48.25,51.61,50.31,49.49,50.06,49.43,49.40,48.56,49.88,
-49.20,49.41,50.56,50.61,52.38,48.54,50.93,49.45,53.34,52.03,
-52.46,51.50,48.87,52.38,52.66,52.28,52.92,50.79,51.37,52.19,
-50.59,52.93,51.38,52.13,54.04,52.16,52.90,51.65,52.42,54.53,
-52.02,54.25,55.21,53.39,54.93,53.19,54.62,54.84,56.21,54.66,
-54.01,53.97,54.21,55.28,54.29,54.10,55.41,55.60,56.71,56.34,
-55.46,56.59,53.87,56.19,54.44,57.44,56.13,56.84,57.07,56.37,
-56.61,54.68,56.56,55.68,57.90,59.23,57.56,57.91,55.79,56.47,
-10.26,11.11,11.30,11.53,11.41,12.47,12.71,12.91,13.55,13.28,
-15.15,14.79,14.21,15.26,15.39,15.07,14.96,16.98,16.67,17.00,
-16.47,17.57,18.17,17.44,17.98,18.95,18.47,19.55,19.42,20.31,
-19.56,19.82,20.37,20.21,20.48,20.68,20.85,21.75,21.53,22.29,
-22.82,22.30,22.39,22.77,23.83,23.33,22.89,23.69,23.66,23.45,
-23.19,23.60,24.22,23.93,24.38,24.89,25.04,24.99,26.46,24.90,
-26.22,26.38,25.78,26.19,26.10,26.71,27.32,27.91,27.11,28.20,
-27.66,28.47,28.82,28.46,27.25,29.87,29.82,29.08,29.98,29.44,
-30.28,28.63,30.19,28.52,29.30,30.69,30.80,29.39,29.99,30.87,
-31.19,31.13,31.63,32.23,32.30,31.06,30.71,32.78,30.79,31.91,
-31.97,34.30,33.21,33.12,33.38,32.67,33.00,33.13,32.73,34.05,
-33.42,33.59,35.27,33.27,34.91,33.44,34.59,32.62,35.32,35.42,
-34.99,35.59,35.03,35.46,36.22,36.31,37.22,35.89,35.74,36.84,
-36.33,37.76,36.41,36.35,36.40,37.21,36.80,37.65,36.93,38.57,
-38.98,37.53,39.71,36.19,38.52,38.66,38.19,39.10,39.40,39.01,
-38.90,39.00,39.82,40.43,39.45,40.30,39.80,40.63,39.07,40.81,
-39.29,40.79,40.68,40.52,40.21,39.71,42.04,40.93,42.12,41.61,
-42.24,38.41,42.24,42.22,41.15,39.81,41.09,40.57,42.54,42.48,
-43.07,41.99,42.82,43.46,43.13,42.36,43.93,43.87,42.89,44.52,
-43.05,44.64,43.46,42.41,45.21,43.21,43.77,42.41,46.50,46.14,
-45.45,45.32,44.17,45.66,43.78,44.22,45.30,45.54,45.94,45.55,
-48.17,46.59,45.80,44.38,45.38,45.91,45.82,46.25,45.52,47.20,
-45.83,46.79,47.07,45.58,47.30,46.77,46.43,47.94,47.62,47.22,
-47.86,47.14,49.05,48.34,49.90,48.87,47.93,46.50,47.90,49.60,
-49.84,49.32,49.78,48.32,47.84,49.26,49.27,48.54,49.15,48.21,
-51.80,50.74,49.17,50.40,52.92,50.72,47.48,50.44,49.41,51.68,
-48.99,51.54,51.37,49.59,52.86,52.41,50.19,52.38,49.75,50.46,
-50.82,51.35,51.61,50.66,53.44,53.00,54.17,54.26,53.61,52.08,
-52.57,50.72,53.63,53.56,51.47,52.87,55.35,50.28,51.51,53.92,
-8.47,10.21,10.68,11.55,10.34,10.88,11.13,11.69,12.36,13.26,
-12.18,13.13,14.19,13.79,14.07,14.97,14.46,14.70,15.71,16.36,
-15.75,15.54,16.33,16.85,16.54,17.16,16.91,17.95,18.62,17.91,
-18.67,19.47,18.48,19.25,19.89,19.15,19.67,20.11,20.11,20.38,
-20.35,19.90,20.42,21.29,22.66,21.35,20.55,21.64,23.62,20.70,
-21.68,22.53,22.46,22.10,24.41,23.08,22.58,23.76,22.94,22.95,
-23.15,25.85,25.06,24.54,24.59,24.98,24.80,24.56,25.90,25.25,
-26.11,26.13,26.85,27.89,26.99,26.44,28.08,26.71,26.55,27.71,
-25.94,26.73,27.86,27.50,28.21,29.09,27.06,28.22,28.46,29.17,
-29.06,28.28,27.93,27.61,28.96,28.71,29.36,30.41,30.15,31.06,
-30.51,30.00,30.28,30.48,30.96,29.40,31.94,29.04,30.95,30.78,
-32.81,32.84,31.30,30.48,30.73,32.50,33.08,32.63,31.80,32.91,
-32.70,31.87,33.86,34.47,34.59,33.51,34.39,33.11,33.10,34.43,
-32.40,35.34,34.23,33.78,33.93,33.91,34.72,33.24,35.38,34.64,
-35.56,35.22,35.38,34.67,36.62,33.52,37.10,35.98,36.39,36.01,
-37.42,37.78,36.75,37.14,36.12,37.70,37.18,37.68,37.48,37.58,
-38.42,39.01,38.82,37.43,36.74,36.50,38.58,37.33,39.40,37.63,
-37.31,38.09,39.39,38.07,39.75,39.26,39.61,40.06,39.69,38.01,
-39.58,41.60,39.43,39.26,39.96,40.86,39.79,40.32,39.66,41.33,
-41.24,40.84,41.62,40.96,41.08,42.52,41.74,41.24,40.80,41.18,
-41.66,41.11,40.97,41.01,41.79,42.13,40.91,41.79,43.38,41.46,
-42.80,43.17,44.08,42.29,43.96,42.97,42.25,44.40,44.61,44.12,
-43.49,43.84,42.14,42.88,44.10,45.16,44.79,43.77,43.85,45.51,
-44.10,45.33,44.46,44.06,45.29,47.08,45.12,46.34,44.13,45.51,
-46.22,45.79,45.21,46.67,46.12,46.93,44.33,44.35,44.57,45.94,
-47.15,44.40,46.41,46.59,48.19,45.66,47.71,46.10,46.52,46.14,
-45.73,46.55,46.83,46.27,47.59,46.13,48.96,46.55,48.28,46.86,
-48.81,49.60,48.05,48.44,47.38,50.14,47.51,46.22,49.17,49.67,
-50.61,48.47,48.51,47.99,50.56,50.54,49.58,51.24,50.58,50.80,
-8.31,8.45,9.70,10.13,10.20,10.23,10.79,10.17,10.90,11.71,
-11.97,12.45,12.95,13.78,13.74,13.16,14.93,13.62,13.65,14.76,
-15.22,14.76,15.15,15.09,15.35,16.85,15.96,16.35,15.26,16.70,
-16.76,18.17,18.06,16.22,18.08,18.19,18.63,18.27,17.91,18.06,
-19.03,20.00,19.27,20.06,20.41,18.93,19.48,20.45,19.53,20.32,
-21.16,21.50,21.60,20.21,21.99,22.37,22.10,22.86,22.94,22.55,
-22.03,22.02,22.34,23.10,23.14,22.18,24.12,23.42,23.28,23.58,
-23.31,23.13,24.41,24.40,25.03,24.02,24.32,24.71,25.34,25.25,
-24.85,26.39,26.04,26.25,25.45,25.26,26.91,25.19,26.55,25.94,
-27.68,27.32,26.36,27.59,27.21,28.68,27.17,27.66,27.57,28.01,
-27.02,28.07,28.21,28.48,28.19,26.51,28.70,29.30,29.32,28.97,
-28.55,28.54,28.49,30.61,30.39,29.64,28.00,30.60,31.89,31.88,
-29.11,31.41,30.54,30.87,31.80,31.46,31.28,30.29,32.19,32.54,
-33.07,31.52,32.84,31.39,32.53,31.32,32.35,31.81,32.31,32.64,
-32.34,32.09,31.25,31.78,33.02,32.15,33.81,35.05,32.45,33.47,
-34.57,31.99,33.89,34.69,32.41,36.31,34.68,34.54,33.58,34.19,
-34.86,34.77,34.59,34.30,35.56,35.19,35.19,37.06,35.14,36.53,
-35.84,35.74,36.44,37.18,36.50,36.13,36.10,35.16,36.51,37.24,
-37.95,37.68,37.23,37.62,35.77,36.12,36.73,37.99,37.32,38.49,
-35.09,39.65,38.43,36.44,38.99,36.55,39.07,38.93,36.98,38.56,
-39.11,38.67,38.82,39.49,38.37,40.98,39.45,39.86,39.32,40.97,
-38.23,39.45,38.64,39.35,38.41,39.29,40.42,39.40,41.06,41.69,
-39.22,42.03,41.04,41.58,40.11,41.72,40.25,39.96,40.54,40.65,
-40.86,40.73,40.37,41.51,41.84,41.38,42.19,41.59,42.68,40.92,
-41.53,43.52,40.42,41.65,44.01,42.41,40.45,41.05,43.42,43.85,
-43.40,42.32,42.54,43.12,43.27,44.22,45.27,43.26,42.47,43.78,
-45.82,43.17,43.03,43.93,42.62,44.97,44.09,43.22,44.57,42.95,
-42.75,43.39,45.98,43.62,46.04,43.14,44.24,45.24,45.76,43.47,
-45.96,46.06,46.18,46.63,48.33,46.23,42.82,44.24,47.12,46.03,
-7.90,8.36,8.26,9.75,9.15,10.35,9.75,10.44,10.84,10.56,
-11.64,11.95,11.75,11.26,12.69,12.11,12.22,13.02,12.83,13.17,
-12.99,13.27,14.17,13.92,13.70,14.63,14.95,14.54,14.99,15.20,
-15.05,16.43,15.91,15.69,16.72,16.94,17.92,16.57,17.61,17.41,
-16.49,17.32,18.95,18.64,18.39,18.42,19.36,18.71,18.68,18.47,
-19.47,19.63,19.41,19.90,20.54,19.93,20.96,20.55,20.42,20.87,
-21.09,22.03,21.74,21.22,21.32,22.05,21.20,22.09,21.84,22.72,
-22.40,21.92,22.10,21.84,23.26,23.29,22.41,22.47,22.47,24.92,
-23.16,24.36,24.19,23.68,22.20,24.06,24.45,23.77,24.86,24.43,
-24.36,24.43,23.66,25.53,24.43,25.64,25.52,26.07,24.40,24.54,
-25.44,26.38,27.15,25.85,26.63,25.65,26.79,27.22,27.14,25.74,
-25.86,25.97,27.67,27.75,27.44,26.36,26.39,27.62,29.91,27.51,
-28.27,28.77,27.47,29.31,28.71,29.69,28.94,29.23,29.01,28.40,
-29.58,29.77,29.77,30.62,29.40,30.43,30.78,29.77,30.02,31.21,
-30.81,30.60,30.79,31.02,29.05,29.50,29.46,31.57,31.03,29.88,
-31.36,31.21,31.20,30.63,31.22,31.00,32.26,34.17,32.17,31.36,
-32.28,31.49,32.36,32.01,32.59,32.62,32.17,32.40,32.21,33.82,
-32.79,32.86,33.21,32.56,34.11,33.55,35.18,34.24,34.39,32.23,
-34.09,33.72,34.41,35.02,33.44,34.64,34.19,33.64,34.22,35.62,
-34.02,33.50,33.80,36.13,34.87,36.33,35.06,34.35,36.22,35.88,
-34.96,35.58,35.45,35.24,36.12,35.55,34.97,35.91,36.81,36.43,
-38.67,38.03,36.26,36.01,39.36,37.80,35.78,36.88,36.70,37.14,
-36.91,38.08,37.55,37.29,38.89,38.43,37.13,37.89,37.30,38.04,
-39.71,38.90,39.88,37.72,38.04,38.52,38.35,39.41,39.18,39.90,
-36.99,38.72,37.27,42.00,39.06,38.57,40.03,39.60,39.59,39.90,
-38.55,37.70,38.93,39.45,40.18,38.80,40.76,41.23,41.24,40.27,
-40.99,39.76,41.90,42.29,40.92,41.10,40.98,41.68,42.22,42.37,
-41.22,42.35,41.40,41.83,42.32,40.57,42.57,39.38,40.49,41.89,
-41.75,44.18,42.40,41.82,42.19,42.02,43.13,43.48,42.22,43.27,
-16.95,18.05,18.66,19.34,19.89,20.62,20.79,21.14,22.21,21.80,
-23.83,23.93,24.18,24.18,26.32,26.26,25.70,27.11,28.44,28.33,
-27.51,27.93,29.29,29.62,29.77,30.70,31.44,31.92,30.71,32.43,
-31.85,33.27,35.43,34.33,34.27,35.45,35.49,35.70,35.20,36.58,
-37.54,36.35,37.03,38.00,37.79,37.43,38.70,39.01,39.21,40.04,
-40.08,39.62,41.34,41.43,40.99,40.67,41.94,42.59,42.57,44.38,
-42.26,44.31,43.89,45.45,44.16,44.34,44.42,45.66,46.57,44.92,
-47.73,45.05,47.88,47.12,48.18,46.87,48.76,47.89,48.22,48.45,
-48.71,49.61,51.48,49.82,48.98,50.18,52.05,51.62,50.96,49.98,
-52.48,50.50,51.07,53.63,50.59,53.30,51.61,51.92,54.50,52.65,
-55.71,51.24,51.92,54.05,54.88,55.54,53.77,55.05,55.61,54.90,
-54.43,55.56,56.10,56.95,57.63,58.14,60.34,57.03,57.24,59.53,
-59.13,59.51,59.12,58.11,57.02,59.66,62.68,58.29,61.25,58.96,
-60.63,59.26,61.01,60.40,60.60,60.45,63.40,62.14,62.29,62.64,
-64.80,64.04,62.70,63.68,64.18,61.54,63.63,65.16,62.97,63.86,
-63.61,64.66,65.84,64.64,64.64,67.54,65.24,66.43,67.16,65.58,
-62.76,66.32,68.04,68.17,70.73,70.06,68.47,69.87,68.19,68.67,
-71.27,69.75,69.38,71.02,71.20,70.72,67.49,70.73,70.96,72.45,
-72.32,72.13,72.64,70.48,72.90,70.72,71.73,70.57,71.55,69.36,
-70.46,72.66,74.88,72.88,73.93,68.82,74.42,74.35,74.39,73.42,
-76.36,77.61,73.82,76.87,74.14,75.16,74.96,73.10,75.51,75.55,
-74.28,76.12,78.79,79.52,75.76,76.07,77.06,76.38,78.17,79.88,
-78.61,78.96,76.59,83.28,75.44,80.44,78.77,80.94,79.14,77.69,
-77.61,78.72,81.89,79.55,78.41,82.15,81.72,80.40,82.64,83.01,
-80.93,80.85,80.05,79.50,83.24,84.38,85.58,85.33,82.16,85.13,
-82.33,83.08,85.44,85.19,82.26,83.86,82.01,82.37,89.17,79.32,
-81.88,83.86,83.82,85.13,81.68,84.32,87.38,87.13,87.79,85.32,
-85.11,85.68,84.86,88.17,88.64,89.46,86.75,86.83,85.93,89.47,
-84.75,88.06,86.50,86.42,89.03,92.80,88.89,88.46,89.51,89.67,
-16.85,17.53,18.65,19.28,19.67,20.30,20.70,21.92,22.67,22.66,
-22.63,23.71,23.60,24.99,26.10,26.94,25.85,27.80,28.66,28.02,
-27.72,29.53,30.55,29.86,29.34,31.31,31.46,32.18,30.57,33.88,
-32.79,33.07,32.94,33.27,34.87,33.14,35.88,34.32,34.84,36.62,
-36.67,36.27,35.93,38.18,37.05,38.95,39.38,40.45,40.49,40.42,
-41.21,40.72,41.67,42.68,42.67,41.51,42.26,42.99,43.77,44.12,
-42.88,43.89,42.80,44.13,44.66,45.83,43.43,45.80,45.67,46.43,
-48.51,46.21,47.35,46.54,45.94,47.21,48.59,47.25,48.91,49.51,
-50.66,49.67,50.42,48.77,49.69,52.05,51.16,50.53,51.13,51.56,
-54.02,50.83,52.34,53.43,52.04,53.73,52.09,53.47,54.51,51.60,
-55.95,53.48,56.56,55.67,55.42,54.95,56.52,55.32,56.51,52.70,
-56.52,57.53,56.01,59.01,57.57,57.34,57.71,56.96,60.33,60.66,
-56.24,59.84,58.00,58.53,61.82,59.59,61.23,61.81,60.40,60.99,
-59.69,61.86,61.57,62.33,63.51,61.23,63.95,63.33,60.99,61.42,
-63.81,63.65,63.90,64.93,65.65,62.22,64.52,61.85,64.08,63.84,
-63.45,64.71,64.82,65.59,62.31,67.18,65.70,64.44,67.91,66.78,
-64.65,66.72,67.91,67.83,69.18,68.42,71.88,68.63,67.28,68.78,
-69.72,68.86,70.54,70.38,69.89,71.20,69.53,70.26,69.45,70.58,
-72.08,71.11,71.05,69.54,74.24,70.94,74.88,73.68,72.51,74.83,
-74.58,74.01,76.47,70.50,76.51,74.82,75.07,72.59,74.10,77.32,
-73.72,72.24,73.53,74.81,77.66,74.30,77.82,75.15,74.08,79.63,
-76.65,73.67,74.93,76.57,76.31,78.61,77.75,77.99,79.17,77.38,
-80.79,79.76,78.61,78.56,78.99,78.68,80.73,81.10,81.53,81.58,
-77.90,81.82,79.02,80.55,79.34,83.64,81.10,83.75,80.51,81.40,
-81.79,80.16,84.37,78.88,82.17,81.15,81.82,80.49,83.10,80.73,
-81.71,83.12,82.23,83.66,82.62,82.06,83.24,85.87,84.02,83.78,
-85.90,81.73,82.83,85.98,85.91,84.85,86.11,86.27,85.62,85.12,
-87.17,90.24,88.03,88.50,88.80,89.04,86.45,84.20,85.78,89.89,
-88.42,89.68,86.59,91.55,88.26,90.52,88.77,92.57,91.27,90.97,
-16.90,17.42,17.81,18.25,20.58,20.87,20.78,21.59,21.17,23.14,
-23.16,23.80,24.68,24.88,26.64,26.53,27.06,27.17,28.05,28.44,
-29.38,28.05,28.89,28.91,30.56,31.46,30.27,30.69,32.99,32.96,
-33.30,33.65,33.46,33.99,34.23,34.30,35.85,34.95,35.53,37.34,
-35.95,36.96,37.87,39.03,37.31,38.78,37.59,39.65,40.37,39.15,
-39.33,40.20,42.49,41.37,40.97,41.49,42.01,42.32,42.10,43.13,
-43.33,44.06,43.07,43.59,44.26,46.36,45.50,47.23,43.58,46.78,
-44.81,47.90,46.21,47.42,47.89,48.65,49.32,48.70,47.77,46.17,
-48.24,49.88,47.82,49.42,49.12,50.24,49.97,50.76,50.46,51.47,
-53.03,53.24,52.05,50.98,53.55,52.70,53.20,51.72,53.03,53.22,
-51.98,53.39,52.62,54.70,55.17,53.49,54.56,56.55,55.06,56.64,
-54.66,56.88,55.31,57.17,58.12,57.88,57.41,57.72,57.46,57.11,
-59.58,61.21,59.61,58.84,58.29,59.40,60.31,62.98,59.93,60.37,
-60.23,58.09,59.04,63.17,62.46,63.52,62.57,59.75,62.12,62.20,
-61.84,65.11,63.32,63.84,62.49,63.63,66.43,63.68,64.75,66.69,
-63.34,65.55,66.77,66.60,65.41,64.41,66.49,65.50,66.66,65.06,
-65.61,67.45,66.28,66.49,68.61,70.33,66.25,66.08,65.25,67.88,
-68.51,66.78,74.17,69.21,70.93,70.28,70.17,69.88,68.43,71.63,
-70.74,70.70,68.50,70.23,74.58,69.90,71.38,69.67,73.33,71.57,
-75.19,73.06,74.66,75.74,72.07,72.21,73.77,74.04,74.12,70.27,
-74.74,75.57,74.48,77.30,77.56,73.61,74.34,79.06,76.27,73.34,
-76.50,76.88,79.11,74.11,75.40,77.29,77.95,77.17,78.18,75.30,
-79.45,77.54,77.61,80.98,80.73,79.27,78.99,80.69,80.75,79.89,
-77.59,76.81,82.96,80.53,79.20,79.50,81.76,78.29,82.81,86.26,
-80.53,81.43,80.10,82.83,82.23,83.34,84.33,81.30,82.78,78.96,
-86.05,83.51,82.50,80.50,83.34,80.97,85.08,81.90,83.48,85.54,
-82.02,84.12,81.48,83.09,82.40,82.28,84.68,81.68,87.82,86.34,
-85.89,87.82,88.28,88.20,90.25,87.90,90.00,87.99,85.97,89.84,
-86.05,88.47,84.99,86.58,88.05,86.35,86.60,87.01,87.51,86.22,
-16.16,17.33,18.13,18.12,19.65,19.88,20.80,20.71,21.32,21.86,
-21.99,23.97,24.34,24.95,25.34,23.65,26.01,25.79,27.18,26.96,
-27.13,28.06,29.94,29.86,30.09,29.66,31.24,30.87,30.26,32.02,
-31.18,32.31,32.01,33.84,33.97,34.37,34.49,35.79,35.90,34.34,
-37.35,35.70,34.95,36.92,36.97,38.28,39.05,37.37,37.22,39.25,
-39.37,39.84,41.68,41.24,40.53,38.34,39.43,40.53,42.29,42.12,
-39.95,40.58,43.66,43.06,43.24,44.26,41.88,43.57,46.42,43.75,
-43.34,45.80,43.88,46.65,46.88,47.10,46.87,48.01,49.27,46.77,
-47.03,48.33,47.45,50.40,47.87,49.68,50.32,49.46,51.75,50.48,
-50.03,52.12,50.54,48.73,53.01,50.70,52.45,52.69,52.60,53.99,
-53.46,54.35,52.37,52.58,55.11,53.73,56.66,53.21,54.83,56.66,
-53.92,55.74,53.69,53.11,55.36,53.94,58.57,56.78,56.78,58.58,
-56.54,59.96,57.32,59.16,55.63,57.62,57.89,61.38,61.71,60.51,
-61.77,57.28,60.40,59.94,62.18,59.79,62.28,62.18,59.83,61.65,
-60.01,59.82,59.79,64.44,62.91,63.49,65.33,64.19,62.75,61.53,
-65.23,60.71,63.33,63.05,63.75,65.33,64.78,64.15,66.38,66.78,
-66.54,66.80,67.09,67.86,67.32,68.10,65.15,69.45,65.80,67.04,
-67.28,69.99,67.83,68.78,67.07,69.38,70.51,67.65,73.54,69.49,
-68.74,70.59,68.25,68.00,68.40,72.56,71.33,70.14,70.91,71.11,
-69.77,73.10,71.34,71.46,73.02,75.41,72.83,70.66,72.40,70.20,
-71.89,72.40,72.75,73.67,77.05,72.16,74.59,73.42,78.15,77.70,
-72.87,75.18,70.67,74.25,73.00,75.67,76.93,76.10,74.71,80.57,
-78.19,81.91,73.81,77.66,75.04,79.37,76.35,75.90,77.44,77.45,
-80.09,79.47,79.28,77.10,80.43,80.10,78.02,77.94,78.51,77.46,
-81.74,77.61,76.61,79.09,77.60,77.76,82.65,81.71,81.07,83.22,
-82.47,81.74,83.24,83.28,81.33,79.71,82.47,81.10,84.28,83.61,
-80.97,81.47,83.65,85.25,81.70,82.13,83.09,85.65,81.98,87.27,
-85.24,85.84,87.63,84.82,85.85,88.67,86.04,84.58,86.07,88.15,
-88.78,91.44,88.09,86.44,86.33,85.80,86.67,87.65,86.43,85.31,
-17.08,17.29,17.44,18.48,18.74,19.43,20.42,21.28,20.48,21.87,
-21.49,22.86,24.18,23.63,24.20,25.18,25.21,26.73,25.91,26.40,
-27.30,27.31,28.02,28.60,28.65,29.35,28.98,29.91,30.50,30.36,
-30.25,32.67,31.60,32.12,31.64,34.25,34.06,33.13,32.85,34.59,
-36.00,36.19,35.88,36.09,36.30,36.32,37.68,36.44,37.61,37.03,
-37.74,38.56,39.16,37.81,38.94,40.35,42.22,39.95,40.83,41.30,
-40.48,41.56,41.66,41.20,43.94,43.56,42.82,43.52,43.10,44.28,
-42.87,45.35,44.61,47.14,46.32,45.06,45.92,44.90,45.96,44.63,
-47.66,45.50,47.30,47.31,47.97,51.07,48.55,48.60,49.83,50.35,
-47.65,51.26,50.82,49.96,48.91,52.16,50.76,48.51,50.97,49.79,
-51.72,50.81,52.33,51.86,52.32,52.54,52.65,52.85,52.07,55.03,
-55.02,53.10,56.44,55.17,57.85,58.04,54.10,57.00,54.07,55.49,
-55.50,56.22,54.50,55.69,57.93,58.57,57.19,58.40,58.24,57.15,
-56.96,58.10,58.68,57.58,58.20,60.47,58.67,59.48,58.34,60.28,
-60.01,61.88,61.24,62.23,59.77,61.55,61.31,61.76,63.52,60.83,
-64.09,62.28,61.42,63.10,60.83,61.15,63.28,62.73,62.76,64.32,
-63.18,60.11,64.75,65.66,66.23,64.72,63.10,66.87,65.77,65.18,
-64.95,68.89,66.60,68.21,67.78,65.44,65.08,66.38,66.58,66.53,
-67.35,68.70,67.50,67.98,68.24,70.65,68.81,69.64,68.07,70.04,
-69.05,69.22,70.41,70.59,68.65,67.99,71.77,71.55,72.15,71.04,
-71.07,72.39,73.81,72.24,70.29,71.51,72.94,72.58,72.84,73.73,
-72.18,72.43,73.20,70.72,69.65,74.02,75.66,72.74,74.73,76.64,
-75.20,76.73,76.32,75.07,74.75,74.95,73.97,71.94,76.89,77.50,
-76.77,78.18,74.73,76.49,72.96,79.87,79.74,76.70,75.05,76.14,
-79.14,79.93,78.39,76.34,80.85,79.02,75.84,75.90,79.77,79.75,
-79.45,77.06,80.62,80.80,81.36,84.41,80.20,81.68,77.59,80.62,
-82.52,81.23,82.25,78.03,81.91,79.94,80.11,81.26,81.35,81.15,
-83.38,86.53,83.26,84.98,84.91,81.24,83.26,82.40,83.32,87.10,
-85.38,84.07,80.85,83.88,86.15,83.81,86.59,81.63,84.84,83.92,
-14.98,15.93,17.31,17.39,18.21,17.99,19.20,19.63,20.85,20.58,
-21.18,22.31,22.57,23.11,22.73,23.60,25.47,25.83,25.73,25.61,
-27.27,27.22,27.19,28.40,27.13,28.56,28.35,30.58,28.88,30.83,
-29.87,29.35,29.72,32.44,30.89,31.82,33.92,33.19,34.04,33.93,
-33.11,33.84,34.80,36.05,35.92,35.65,35.48,35.77,35.73,36.67,
-35.95,37.02,37.64,36.38,36.74,37.48,40.84,38.34,39.80,39.15,
-40.78,40.07,40.65,39.59,40.62,41.20,40.61,41.67,41.34,41.82,
-40.96,42.50,42.91,42.24,43.14,44.25,45.22,43.98,45.16,44.46,
-44.18,45.24,46.22,46.56,46.67,46.83,48.30,46.24,45.03,46.55,
-47.42,47.60,47.95,48.86,47.87,50.42,49.30,46.98,49.30,51.08,
-49.65,50.51,49.74,51.64,50.30,47.37,52.14,53.24,50.62,50.02,
-51.61,51.17,52.47,51.57,54.23,51.88,53.83,55.27,53.23,55.50,
-54.38,54.99,54.75,53.98,53.61,55.46,57.96,55.89,56.42,55.56,
-55.48,58.13,56.54,56.75,55.16,53.86,56.27,58.94,57.57,58.18,
-57.59,56.60,58.59,57.23,59.48,56.83,61.56,58.24,61.14,59.79,
-59.95,62.45,59.97,57.94,59.86,59.90,61.04,60.38,62.28,63.01,
-61.90,61.92,64.49,62.21,63.67,62.90,61.66,62.56,62.36,65.13,
-62.99,63.28,62.63,63.76,62.92,66.26,63.59,65.76,65.55,65.11,
-64.63,66.20,65.14,63.28,64.39,67.39,69.85,64.91,71.23,65.13,
-67.19,67.07,66.19,66.43,71.81,67.81,69.81,67.23,69.89,68.73,
-67.04,70.21,67.61,66.89,68.78,69.88,70.14,69.35,68.94,71.41,
-67.62,71.29,69.48,70.45,69.00,70.30,70.91,71.65,72.30,72.71,
-69.69,69.26,69.80,72.49,71.11,73.29,73.20,74.80,73.02,73.19,
-73.61,75.12,73.44,72.19,75.88,76.36,74.96,75.52,75.11,72.61,
-75.84,77.33,74.11,76.94,76.02,70.96,74.91,76.10,78.74,79.15,
-80.50,75.30,77.15,76.54,77.63,77.63,78.92,77.40,80.49,77.88,
-78.54,78.65,77.28,79.13,78.19,79.94,78.81,74.38,75.49,77.24,
-78.82,79.67,78.61,78.00,78.34,76.39,79.55,79.43,83.07,81.29,
-79.87,81.46,84.73,79.14,80.88,83.56,78.94,81.17,79.19,84.15,
-15.29,15.20,15.53,17.21,16.81,17.78,18.46,18.83,20.24,19.91,
-20.87,21.19,21.71,22.85,22.80,23.39,23.03,23.19,23.92,23.81,
-24.44,25.14,26.23,25.85,28.74,26.91,26.88,28.41,28.58,29.13,
-29.93,29.72,30.18,29.61,29.32,32.57,28.81,31.60,31.33,32.57,
-32.72,32.75,32.21,33.33,32.27,34.36,34.98,35.53,35.10,36.15,
-34.67,35.97,35.93,36.62,36.38,36.24,38.28,37.84,37.67,37.87,
-39.09,38.23,38.22,39.62,39.81,40.01,38.66,40.31,40.00,41.08,
-41.32,40.88,39.97,41.07,41.98,41.68,44.25,43.87,42.10,42.52,
-44.18,42.71,44.01,46.11,43.45,44.78,44.37,44.83,45.96,47.93,
-45.62,46.56,46.37,42.73,47.46,47.64,47.73,46.72,50.14,46.85,
-48.94,47.43,49.02,50.01,47.95,48.91,48.30,47.54,48.64,49.50,
-48.88,49.67,51.39,52.25,50.57,50.31,51.73,51.21,48.81,52.12,
-55.04,52.48,52.54,53.47,52.82,51.75,52.17,53.97,51.78,52.53,
-54.44,53.52,54.03,53.77,54.77,53.85,56.39,53.31,55.22,56.14,
-58.39,56.21,55.66,56.86,57.31,55.56,56.52,59.91,56.96,56.67,
-56.96,57.98,56.61,57.14,60.20,59.89,59.67,56.77,58.36,57.75,
-57.88,56.81,59.75,61.72,61.23,59.64,61.51,60.90,63.21,60.71,
-61.00,62.60,63.64,60.37,63.47,62.92,62.94,62.88,60.82,65.79,
-61.94,64.53,63.15,61.19,62.33,62.07,64.50,62.34,64.20,65.95,
-63.95,64.75,64.71,65.70,62.06,67.56,66.00,66.45,67.66,65.69,
-67.98,65.91,66.23,67.46,66.60,68.56,67.59,66.90,65.97,67.51,
-70.87,67.48,65.14,67.31,71.10,69.57,69.07,66.90,70.71,68.02,
-67.58,69.74,67.48,71.23,70.37,69.34,70.15,68.35,69.48,70.26,
-72.28,71.38,71.96,72.63,73.37,72.34,69.87,72.06,72.09,70.80,
-69.48,71.02,73.19,73.06,74.58,73.60,72.58,74.92,73.42,73.78,
-73.07,72.44,74.85,74.37,73.05,72.16,77.80,74.06,76.95,76.54,
-74.07,74.71,75.89,75.76,73.31,76.36,75.51,75.01,76.32,74.87,
-77.04,75.46,76.01,76.35,77.48,75.71,76.80,76.70,76.83,77.48,
-81.38,80.17,78.84,76.93,75.83,79.50,77.57,78.99,78.06,76.58,
-14.33,15.02,15.15,15.55,17.04,17.69,17.77,18.08,18.43,19.44,
-18.91,20.06,20.96,20.28,21.13,21.37,22.64,23.57,22.22,22.43,
-23.22,25.02,24.74,25.18,25.09,26.29,26.01,26.23,27.13,27.72,
-27.29,27.63,27.72,28.10,28.66,29.09,30.40,30.48,30.11,30.76,
-30.45,30.57,31.79,31.36,31.96,31.78,31.95,33.27,33.42,33.33,
-34.44,32.41,33.82,34.86,34.46,35.74,35.33,35.66,36.65,36.39,
-35.88,35.40,38.19,38.65,39.03,37.01,38.42,39.51,38.67,38.35,
-38.48,39.75,39.77,39.72,39.10,40.25,41.14,40.83,40.42,41.56,
-41.05,43.95,42.06,40.73,42.32,42.24,43.18,43.81,42.79,41.84,
-43.76,43.58,42.51,45.54,46.33,43.82,44.74,44.92,44.80,47.32,
-46.12,44.40,45.47,44.69,47.82,47.70,47.75,45.96,46.21,47.99,
-47.30,47.97,49.25,46.92,48.00,50.18,50.72,48.84,48.67,50.51,
-49.98,50.85,50.30,48.57,49.71,50.63,51.24,50.80,49.53,50.93,
-51.40,51.72,51.27,52.63,53.97,51.26,49.31,53.66,54.98,53.12,
-54.54,53.80,51.25,52.45,52.45,54.84,52.58,55.17,52.87,51.74,
-54.84,54.26,55.28,56.51,55.38,57.16,56.88,55.90,56.08,58.67,
-56.08,53.66,57.63,54.89,58.17,57.97,56.47,59.26,57.90,60.55,
-58.16,58.22,59.30,61.89,61.03,60.86,59.14,61.03,58.60,62.81,
-59.33,60.83,62.34,57.74,61.55,60.66,62.53,59.86,62.46,62.08,
-64.89,62.25,62.78,59.71,62.77,61.78,61.34,63.45,62.26,64.17,
-60.97,63.44,62.30,64.86,64.35,64.04,58.96,63.92,62.33,64.90,
-65.29,65.99,63.27,67.06,62.84,65.27,65.43,63.26,66.40,66.44,
-64.89,64.51,65.01,67.77,68.53,67.12,67.03,69.17,69.26,66.60,
-68.71,69.23,68.12,65.16,68.43,66.70,69.76,69.94,68.69,67.89,
-68.96,68.58,68.25,68.65,67.71,69.90,69.16,68.51,70.82,71.52,
-70.67,70.93,69.70,71.36,70.86,69.71,69.98,68.39,72.77,70.95,
-71.12,71.76,70.96,72.32,74.23,69.59,72.81,69.12,72.91,70.53,
-74.72,72.38,71.76,74.69,70.20,73.94,74.42,72.41,75.04,74.05,
-71.85,73.46,76.82,74.41,74.20,76.17,75.32,79.57,73.16,74.46,
-12.58,13.56,15.05,15.38,15.49,15.96,17.51,18.31,17.55,18.12,
-19.25,18.68,20.33,19.51,19.92,20.75,21.35,22.05,22.38,22.69,
-23.47,22.51,23.25,23.42,23.99,23.51,24.94,24.75,26.30,26.19,
-27.38,27.01,26.50,27.58,27.84,26.72,28.84,28.80,28.58,28.53,
-29.49,29.65,29.74,30.07,30.40,30.07,30.56,30.37,32.65,32.67,
-31.81,33.23,32.10,32.13,33.02,33.50,33.16,34.39,34.24,33.69,
-34.67,36.18,35.02,33.55,35.43,37.61,34.69,37.57,37.07,37.24,
-37.86,37.81,37.11,37.79,38.37,37.53,36.53,39.32,39.11,38.77,
-39.38,40.48,38.74,39.80,42.14,40.36,41.89,41.88,41.27,41.72,
-40.16,41.25,42.18,41.57,42.45,42.17,43.18,41.83,43.07,40.76,
-44.95,43.85,42.63,43.79,43.11,44.45,45.93,43.87,44.35,46.25,
-43.79,46.10,48.76,44.96,45.61,45.06,45.48,46.49,46.87,49.18,
-46.41,46.44,47.55,46.58,47.13,47.77,48.34,47.53,46.35,51.43,
-46.99,49.13,49.03,48.31,48.82,50.74,47.73,50.07,50.65,52.14,
-50.74,50.87,53.04,49.19,53.61,51.77,52.59,50.68,51.95,52.40,
-51.80,51.07,50.22,52.42,50.93,53.92,56.48,54.96,53.27,54.08,
-54.26,55.45,54.97,54.79,54.17,55.73,53.26,55.26,55.14,57.77,
-56.47,56.65,56.83,56.02,54.93,57.31,55.51,54.02,55.19,57.27,
-57.39,55.27,56.45,55.84,59.34,59.56,58.25,58.26,56.20,61.11,
-58.98,56.89,59.29,59.21,57.72,60.93,61.15,61.67,59.08,59.01,
-59.50,58.89,59.41,59.72,60.54,59.98,62.00,59.62,59.59,61.70,
-61.86,63.18,59.96,62.84,61.16,60.47,62.81,61.12,62.46,63.06,
-63.02,64.51,61.73,64.14,64.99,63.43,64.06,63.26,64.41,61.81,
-64.18,62.42,66.09,68.19,64.37,65.84,66.20,68.28,63.64,62.96,
-65.06,64.64,66.57,66.04,67.27,65.65,63.29,65.58,67.53,66.21,
-67.21,65.44,66.47,63.12,70.30,66.29,67.09,67.77,66.75,66.68,
-67.45,70.08,69.15,66.27,69.46,68.77,68.24,69.47,67.66,70.67,
-67.91,69.49,70.07,72.26,67.91,70.86,70.94,70.52,70.55,70.06,
-69.94,67.49,72.26,72.17,70.82,70.48,70.94,71.35,69.52,70.06,
-12.53,12.73,13.34,14.16,14.92,15.60,15.32,16.15,17.63,16.91,
-17.40,17.80,18.41,18.57,19.90,20.07,19.46,20.33,21.94,21.05,
-21.77,22.39,21.68,22.27,22.50,24.25,22.97,24.76,24.22,25.00,
-23.98,24.42,24.31,26.67,25.95,27.47,25.82,26.73,26.72,27.91,
-27.82,27.18,27.63,29.26,28.97,28.55,29.54,28.08,30.03,30.09,
-29.97,29.84,31.82,30.31,31.68,32.45,30.93,32.54,33.00,32.46,
-31.38,33.42,33.13,32.64,34.46,33.74,34.43,35.11,35.46,34.12,
-33.26,34.75,35.44,35.68,36.18,37.98,37.32,37.44,37.09,36.21,
-36.78,37.29,37.00,37.66,36.31,38.41,39.27,38.42,38.61,38.21,
-39.52,39.16,40.73,38.61,39.67,40.37,39.36,39.84,39.98,41.02,
-41.17,39.50,40.34,42.46,43.12,41.73,41.61,41.92,41.70,42.16,
-41.59,43.45,42.78,42.26,43.95,44.11,43.02,45.09,44.38,43.43,
-43.83,45.27,45.92,44.25,47.04,45.87,44.70,45.42,46.22,46.89,
-47.30,48.07,46.62,47.04,47.09,48.11,50.14,47.24,49.24,50.53,
-48.56,48.41,49.99,47.51,46.60,47.83,48.38,48.93,48.92,48.73,
-48.17,48.89,50.24,50.97,48.82,48.23,51.50,48.69,50.05,50.23,
-50.56,51.13,51.80,50.30,50.76,54.00,50.85,51.52,52.49,52.55,
-53.35,54.62,51.73,53.99,50.78,53.76,53.67,52.81,54.29,52.93,
-52.47,54.07,55.93,52.21,54.20,54.18,54.74,56.20,54.92,56.23,
-55.02,54.65,55.24,54.33,54.75,56.66,54.86,55.51,56.43,55.70,
-55.90,54.86,57.21,56.02,58.68,57.46,59.92,58.37,57.71,59.15,
-58.27,58.00,59.11,57.65,55.76,58.89,58.54,60.48,59.50,60.07,
-58.33,61.84,60.03,62.04,60.22,60.51,60.18,62.04,58.74,59.30,
-57.85,61.62,60.56,58.50,63.45,61.04,61.58,61.93,63.51,62.16,
-61.98,61.09,62.13,61.90,62.89,64.24,62.15,62.32,64.43,64.75,
-63.00,59.94,64.84,64.27,61.55,64.12,61.66,61.50,65.38,63.30,
-64.31,62.77,64.90,65.16,65.84,62.77,67.70,64.96,63.37,64.89,
-67.84,65.00,64.31,66.26,67.02,65.24,66.79,65.40,66.21,64.41,
-66.05,66.06,66.08,63.86,66.75,70.40,67.17,68.31,68.59,64.69,
-11.85,12.48,13.00,13.89,14.53,14.37,14.98,15.56,15.07,15.22,
-16.63,16.94,17.70,17.84,18.10,18.79,19.04,19.50,18.99,19.79,
-20.46,20.58,21.34,21.51,21.74,23.25,21.86,22.04,22.66,22.54,
-23.26,23.11,24.76,23.50,24.37,25.31,25.16,24.87,26.95,26.56,
-26.07,25.70,27.20,27.06,27.42,27.08,27.81,26.94,28.70,29.58,
-29.63,29.17,29.71,30.06,29.81,28.93,30.83,29.57,29.72,31.64,
-32.00,32.81,31.38,32.44,31.61,31.58,30.23,32.43,32.50,32.91,
-31.91,33.15,32.56,32.04,34.85,34.15,34.50,35.15,34.75,33.47,
-34.86,34.96,35.94,36.23,34.58,33.82,36.29,35.67,36.40,37.59,
-37.42,36.93,38.40,37.65,37.73,40.52,38.80,37.31,38.89,39.33,
-39.66,38.29,37.65,41.03,38.76,38.28,39.00,40.92,39.70,40.64,
-41.00,38.94,41.00,38.94,40.66,41.41,42.23,43.19,42.44,40.13,
-41.08,41.54,42.92,43.73,43.18,42.93,42.40,43.41,42.54,42.54,
-44.71,41.96,43.74,44.74,43.26,45.41,45.84,44.85,44.27,44.98,
-43.03,43.73,45.55,45.39,46.06,45.44,44.06,45.26,47.77,46.49,
-44.73,47.41,48.40,46.12,46.09,46.15,47.25,48.40,47.30,47.57,
-48.74,46.30,47.37,47.62,47.18,48.36,49.15,47.51,50.38,50.39,
-47.41,50.75,49.20,48.54,50.59,51.64,51.22,49.61,51.17,50.79,
-51.06,49.61,52.16,54.81,49.58,51.85,52.70,50.83,52.42,49.75,
-51.16,53.42,53.03,51.57,54.05,53.38,52.70,52.90,51.02,56.25,
-50.79,53.70,54.58,52.58,53.16,52.39,51.24,54.70,54.22,56.17,
-55.72,55.28,54.51,53.93,55.06,54.89,57.12,52.85,54.70,56.43,
-55.16,53.97,56.49,57.91,55.81,55.06,56.02,53.60,56.84,57.53,
-57.00,58.75,56.57,56.19,55.62,56.45,58.56,56.74,56.75,60.51,
-59.21,59.25,55.89,59.89,59.20,61.48,58.30,58.48,60.20,57.37,
-58.83,58.82,58.70,60.47,61.21,61.23,61.53,61.30,59.24,61.53,
-62.54,61.90,59.55,60.85,60.83,59.56,61.11,62.85,63.52,61.37,
-60.86,60.25,62.84,61.83,62.25,61.75,63.23,61.42,63.15,63.67,
-62.67,64.62,61.49,63.83,66.70,62.96,63.67,62.22,64.59,65.03,
-10.36,12.43,11.71,12.30,12.91,12.83,14.10,14.88,15.60,15.04,
-15.78,16.10,16.75,17.14,17.81,17.59,17.86,18.67,18.63,19.16,
-19.12,18.55,19.51,19.35,20.25,20.53,20.59,20.43,21.11,20.99,
-21.92,23.04,22.74,22.47,23.41,23.30,24.30,23.81,23.21,24.61,
-25.25,24.85,24.01,24.76,25.66,25.91,26.30,26.44,25.26,26.62,
-26.82,27.73,27.67,26.99,27.90,28.01,28.70,26.98,29.17,29.18,
-28.61,29.79,29.84,28.82,30.70,29.22,29.93,30.23,30.54,30.77,
-31.27,31.47,32.08,31.46,33.06,31.04,31.24,32.52,32.16,32.42,
-33.50,33.39,36.23,32.76,33.98,34.63,34.21,34.59,34.96,34.28,
-33.84,34.90,33.43,34.50,35.37,37.50,35.07,34.81,38.45,36.88,
-35.93,36.90,37.51,36.56,33.98,36.19,38.11,38.03,37.92,38.44,
-36.04,37.78,38.10,39.53,36.93,39.12,38.72,39.34,38.44,39.41,
-39.98,40.60,39.63,40.36,38.12,38.72,39.69,42.76,39.89,42.06,
-41.07,41.14,39.90,40.29,41.35,41.42,43.32,42.84,42.46,42.62,
-44.01,41.64,42.12,42.11,44.57,42.76,42.59,41.79,44.02,42.31,
-42.69,43.41,41.97,43.77,42.99,44.16,44.76,44.72,46.85,46.77,
-43.58,45.20,46.19,45.93,48.01,46.44,44.75,44.76,45.09,47.68,
-47.27,45.55,47.42,46.27,46.53,48.34,46.85,46.33,46.77,45.42,
-46.98,48.63,48.59,51.25,49.15,48.66,49.62,48.39,49.02,48.47,
-49.79,48.85,50.41,48.96,50.08,50.52,48.44,49.46,50.40,50.01,
-50.47,50.39,52.55,50.59,50.23,51.67,50.92,50.42,50.32,49.71,
-51.82,51.29,50.80,50.94,50.79,52.83,51.83,51.22,52.02,53.22,
-54.61,52.58,53.52,53.75,53.40,54.90,52.90,52.99,53.98,55.30,
-54.72,51.67,52.84,55.23,54.77,55.34,54.97,54.76,54.29,54.70,
-57.13,54.79,54.87,55.31,54.31,57.83,55.88,56.25,57.21,55.89,
-57.25,55.39,54.99,56.47,57.64,55.10,57.76,57.74,55.21,55.66,
-57.19,59.06,61.65,57.88,58.40,58.22,56.85,56.71,56.00,57.91,
-58.64,57.52,57.39,57.71,57.46,59.83,58.71,56.69,58.77,59.59,
-56.78,60.60,58.32,57.92,58.34,57.85,58.19,60.16,60.09,61.26,
-10.63,10.32,11.02,12.23,12.24,13.64,13.35,13.44,14.22,14.71,
-15.02,15.00,16.34,15.95,15.33,15.55,16.56,17.09,18.14,18.63,
-17.81,17.51,18.59,18.88,18.71,18.85,19.79,19.32,20.00,20.90,
-20.63,21.46,20.89,20.95,22.55,22.74,21.73,21.96,23.20,23.74,
-23.40,24.18,23.14,22.80,22.63,23.49,25.01,23.93,24.76,25.90,
-24.33,24.72,25.42,25.41,27.73,26.33,27.09,28.28,26.85,26.28,
-27.46,28.11,28.45,27.53,28.55,27.39,27.91,28.33,28.24,28.05,
-29.17,29.53,28.28,28.69,30.27,30.34,30.26,30.92,31.34,31.87,
-31.24,30.36,31.25,30.95,31.26,32.02,31.66,33.01,32.65,31.76,
-32.41,31.42,32.28,32.73,34.06,33.34,33.04,33.21,33.98,33.33,
-35.66,34.29,34.51,33.96,34.47,34.04,34.00,34.61,34.37,34.92,
-35.47,34.03,36.02,36.06,36.65,36.29,38.27,36.89,36.95,37.91,
-36.38,37.03,36.84,37.99,36.83,37.26,39.40,38.60,39.10,38.54,
-38.42,39.01,37.70,39.12,39.21,39.75,39.08,40.12,38.60,39.75,
-40.02,39.53,40.14,38.11,39.16,40.07,40.74,38.79,39.28,39.96,
-40.67,40.43,39.58,42.96,42.86,42.00,42.27,42.43,41.60,42.42,
-41.97,43.02,43.27,42.51,41.40,42.73,44.29,43.88,42.55,42.99,
-45.60,43.66,45.05,42.82,44.27,46.19,45.53,42.75,45.49,45.42,
-45.05,45.07,44.50,46.20,46.02,45.17,45.10,46.33,45.15,45.74,
-45.69,43.51,45.42,45.78,46.12,47.48,45.58,47.19,45.49,46.92,
-47.24,48.67,48.89,45.31,47.44,49.04,49.07,47.88,46.05,46.97,
-46.57,47.76,49.20,46.84,48.76,49.31,49.27,50.42,47.35,45.64,
-48.51,49.06,49.38,49.61,48.27,50.17,52.13,51.32,49.48,50.01,
-49.14,50.63,51.05,50.61,48.99,50.17,49.97,51.07,53.39,51.98,
-51.23,51.79,51.53,50.53,51.84,49.74,51.48,52.81,51.99,51.03,
-51.28,53.64,52.87,53.00,51.69,51.14,52.37,51.51,53.21,53.17,
-53.54,55.26,52.64,52.61,51.22,53.54,53.34,54.69,50.55,53.68,
-53.92,53.14,51.98,53.26,52.42,54.32,53.83,54.23,53.35,55.38,
-56.45,54.04,54.70,54.92,54.35,57.82,56.24,56.54,56.31,55.48,
-9.60,10.05,11.73,10.63,10.87,12.52,12.71,12.64,13.47,13.37,
-13.63,13.22,14.49,14.95,15.08,15.02,16.06,15.75,15.91,16.62,
-17.45,17.09,16.59,18.91,18.13,17.65,19.99,17.64,19.09,19.18,
-18.80,20.07,19.80,20.97,20.07,20.37,19.87,20.98,21.68,22.34,
-20.59,21.48,22.12,21.43,21.76,21.58,23.31,21.39,24.01,23.57,
-24.06,24.76,23.24,23.54,24.12,24.42,23.93,24.66,25.87,25.17,
-24.81,26.02,25.14,25.58,26.80,27.26,24.97,26.13,27.95,26.85,
-27.28,27.11,28.08,27.92,27.59,28.21,28.91,27.53,28.21,26.66,
-29.47,28.34,27.99,28.90,28.14,29.56,29.04,28.94,30.13,31.27,
-31.10,29.81,30.92,29.43,30.54,30.87,30.52,33.21,31.32,32.24,
-30.89,31.32,31.94,32.79,32.48,33.33,32.80,33.18,33.20,31.95,
-33.21,32.62,32.85,34.12,32.99,35.23,34.57,34.49,34.03,34.72,
-33.57,34.00,35.49,34.35,34.50,35.21,36.43,33.71,35.36,36.31,
-36.31,36.66,35.91,36.16,35.64,36.51,36.48,37.49,37.97,38.18,
-36.49,37.37,36.81,37.51,36.66,36.62,37.89,36.58,37.55,39.95,
-38.69,38.71,36.95,37.77,37.31,39.35,39.49,40.39,38.53,39.64,
-39.11,40.86,39.65,39.02,39.99,40.03,40.39,40.02,40.87,39.27,
-41.10,42.18,41.17,40.90,41.26,40.62,41.85,41.08,39.84,40.71,
-42.75,42.91,40.52,41.74,42.05,40.28,41.63,43.03,42.96,41.89,
-43.46,43.77,42.71,43.06,42.05,43.78,42.78,43.26,44.88,42.43,
-43.90,42.20,41.99,42.70,44.80,44.55,44.45,42.70,45.97,45.24,
-43.86,44.35,43.69,44.91,46.78,46.35,46.53,47.37,45.29,45.61,
-45.11,46.54,45.18,47.06,47.99,48.21,46.15,47.46,48.03,46.71,
-46.51,46.30,47.78,48.32,46.23,45.23,46.43,47.00,48.71,47.67,
-47.43,46.68,48.13,48.13,48.64,47.91,48.86,48.79,50.72,49.32,
-46.53,47.98,49.20,49.11,48.18,48.53,49.36,50.98,49.91,51.66,
-49.79,49.18,50.93,51.62,52.21,50.42,49.20,48.46,50.06,49.54,
-49.61,49.67,52.30,49.82,49.51,50.65,54.83,51.56,53.09,50.27,
-51.78,50.98,51.59,53.28,52.14,52.84,51.70,53.80,51.18,52.05,
-8.37,10.00,10.46,11.08,10.56,10.91,11.87,12.15,11.28,13.09,
-12.36,12.47,12.92,13.65,13.48,14.22,14.58,13.51,15.21,15.46,
-16.25,15.35,15.12,16.07,16.66,16.74,17.23,16.53,17.14,17.75,
-17.12,18.00,18.08,19.38,17.73,19.26,19.69,19.37,20.28,19.10,
-19.11,20.03,20.94,21.57,21.32,20.95,22.81,21.97,21.43,21.90,
-22.34,22.31,22.26,21.72,21.45,22.38,23.51,22.87,24.24,23.46,
-24.23,23.10,23.25,24.30,24.33,23.33,24.18,25.82,24.74,24.84,
-24.91,25.36,24.83,25.13,27.03,26.71,26.30,26.57,25.52,26.91,
-25.99,26.57,28.44,26.44,26.22,27.74,27.04,28.43,28.97,28.50,
-28.01,27.50,28.42,27.77,29.28,28.73,28.17,30.20,30.41,30.21,
-29.95,29.82,29.73,29.40,29.38,30.84,30.56,30.54,29.70,30.18,
-31.11,31.19,31.55,31.49,32.42,33.47,32.38,31.68,32.14,32.14,
-31.14,31.50,32.97,32.11,31.75,33.02,33.98,33.27,32.10,33.59,
-34.18,32.38,34.45,33.80,34.96,34.50,33.22,33.68,34.17,35.04,
-35.28,35.86,35.88,34.70,35.53,33.48,33.61,35.14,34.54,34.84,
-35.69,35.99,37.28,36.05,37.08,36.64,34.31,36.72,36.13,36.78,
-36.84,38.73,36.79,36.52,37.88,35.25,37.23,37.54,36.05,37.95,
-38.05,36.05,37.26,37.96,37.73,38.31,39.25,37.84,37.72,37.35,
-38.18,38.40,39.10,38.18,39.38,38.56,38.93,40.70,39.05,39.59,
-38.00,40.46,39.94,41.86,38.72,39.17,41.64,37.81,40.92,41.99,
-39.76,40.59,42.17,40.73,39.29,41.03,42.66,42.21,42.34,42.11,
-41.37,43.00,41.46,42.04,41.09,42.09,42.03,42.35,43.50,42.46,
-42.71,43.75,44.26,42.52,45.01,42.04,43.67,42.42,44.24,42.11,
-43.51,43.75,43.95,43.78,42.66,43.81,44.09,44.51,43.73,43.65,
-41.82,43.86,44.67,46.74,44.83,46.58,45.19,47.08,44.06,45.49,
-44.67,46.01,45.74,46.38,44.98,46.97,45.34,46.89,46.74,45.96,
-45.87,45.06,46.63,46.86,47.88,47.72,46.91,49.33,46.95,44.90,
-49.68,47.63,46.66,47.69,48.66,48.11,47.06,47.79,49.29,47.24,
-48.06,48.05,47.82,46.24,49.75,47.84,49.47,49.70,49.61,49.36,
-17.30,18.29,18.73,19.31,19.92,21.52,22.26,22.53,22.46,24.71,
-23.97,24.67,25.18,25.02,26.20,27.20,27.26,27.47,28.66,28.76,
-28.34,29.42,29.21,31.43,31.10,31.36,31.95,31.27,32.18,33.55,
-34.07,34.43,34.39,34.94,34.40,34.48,36.16,37.01,36.65,36.53,
-36.33,37.94,37.32,39.35,39.36,39.95,37.95,39.12,39.84,41.50,
-40.14,41.78,40.94,42.58,43.09,42.93,43.72,43.27,43.16,42.27,
-42.72,44.54,44.04,44.91,44.99,45.59,46.25,45.22,46.71,48.50,
-46.18,46.39,47.91,47.60,46.94,48.14,48.09,48.11,49.88,48.99,
-51.16,51.17,45.92,50.79,51.87,50.81,51.94,51.98,51.88,53.77,
-53.49,51.65,53.24,54.03,53.86,53.49,54.21,54.72,56.99,53.96,
-55.45,57.08,54.08,52.95,57.20,56.98,54.65,58.11,56.93,57.25,
-56.96,57.97,59.12,57.59,58.96,60.13,58.08,58.10,61.04,59.42,
-60.33,60.95,61.56,60.61,62.22,59.42,63.46,59.60,62.58,60.30,
-60.01,61.47,62.77,63.18,61.68,62.93,62.89,61.05,62.31,65.64,
-62.33,64.25,65.03,64.61,66.30,67.81,64.36,64.88,67.56,64.98,
-68.69,66.25,66.61,68.03,69.09,65.27,69.42,68.50,67.30,67.59,
-69.70,69.98,69.80,69.08,68.11,67.71,72.32,68.88,68.87,70.66,
-72.11,71.75,68.92,70.04,71.49,72.10,69.03,68.78,70.20,72.48,
-72.76,74.81,72.96,70.72,72.11,72.40,72.00,74.08,74.16,74.81,
-73.28,75.73,74.48,75.30,75.97,75.79,77.17,74.99,77.57,77.78,
-76.38,73.89,76.19,75.48,74.95,78.75,78.16,78.05,78.69,76.10,
-76.89,77.89,78.91,78.88,74.86,77.69,79.39,78.39,78.75,81.34,
-82.68,79.67,78.71,80.44,81.54,80.12,79.39,78.95,78.41,82.67,
-84.31,80.22,80.75,80.92,80.91,81.29,81.83,82.01,85.42,84.64,
-81.03,83.84,84.41,83.89,83.17,82.19,84.71,84.57,86.46,85.83,
-87.49,86.36,83.66,85.25,86.61,85.95,84.97,85.34,86.07,85.59,
-83.56,84.61,82.33,82.26,88.40,85.24,85.94,85.54,88.73,88.75,
-88.31,87.17,84.88,86.46,91.52,88.71,86.30,88.82,87.21,92.61,
-87.18,86.89,88.62,90.89,86.69,90.39,90.17,89.38,91.61,94.18,
-17.78,17.70,19.05,19.51,20.68,21.47,21.01,22.22,23.08,23.58,
-24.25,24.57,25.26,24.69,26.58,27.20,27.07,29.00,28.58,29.45,
-28.96,29.37,30.38,30.25,30.95,32.20,31.49,31.93,34.05,33.77,
-33.09,35.01,34.10,35.40,35.69,36.09,36.00,36.52,35.25,37.94,
-37.76,37.00,38.16,39.30,38.55,40.27,40.91,39.91,41.17,40.70,
-42.36,41.13,41.41,42.47,44.33,41.74,42.97,42.50,43.05,45.92,
-44.94,46.34,46.58,43.66,46.42,47.56,45.94,44.61,46.83,47.69,
-47.68,47.98,46.96,47.44,51.37,48.32,48.92,48.85,50.27,50.56,
-51.09,49.99,50.26,52.83,49.33,51.17,54.78,52.56,51.41,55.10,
-56.11,53.56,52.12,54.19,55.88,54.11,55.02,57.58,57.59,54.34,
-55.60,57.13,56.60,54.34,58.24,55.91,58.30,60.29,58.11,57.10,
-58.08,56.26,58.62,58.63,60.41,59.31,57.39,59.31,58.09,60.23,
-61.37,59.66,59.67,61.51,60.05,62.19,63.29,63.16,62.44,64.42,
-65.27,62.54,64.13,66.16,63.03,65.64,64.34,64.71,63.78,65.05,
-67.50,65.26,64.78,66.07,64.25,68.67,64.44,67.36,65.71,66.16,
-65.96,69.72,66.61,68.71,68.94,72.06,66.95,69.98,68.85,68.52,
-69.16,67.66,73.04,69.88,72.29,71.89,72.49,69.26,73.02,70.03,
-69.97,72.06,68.97,71.25,68.92,73.63,72.66,71.30,71.58,74.11,
-73.59,76.83,74.02,75.75,74.06,73.76,73.85,72.68,75.63,73.42,
-73.27,74.65,77.50,74.31,75.25,74.60,72.72,75.04,76.52,75.75,
-75.77,78.61,80.70,77.92,76.48,78.08,82.14,76.73,75.43,81.25,
-78.59,80.34,80.98,78.61,80.56,76.45,79.84,82.99,81.31,79.77,
-81.70,81.73,80.82,81.06,80.90,86.38,80.07,81.55,82.39,84.66,
-85.78,79.76,81.23,84.93,84.67,84.48,88.67,85.96,85.32,83.67,
-82.72,85.20,86.57,84.82,85.54,83.09,85.81,86.18,86.99,86.99,
-85.63,88.17,84.76,86.34,85.84,86.23,84.07,84.60,82.44,87.26,
-89.49,87.12,90.73,86.74,87.77,90.29,86.74,88.04,85.62,86.43,
-88.48,89.41,92.70,89.83,88.89,87.99,91.04,88.39,91.29,90.35,
-91.50,89.07,91.95,93.59,90.50,89.35,93.37,90.98,91.55,89.86,
-17.51,17.58,18.64,20.11,20.31,20.79,21.65,22.10,22.68,24.31,
-24.17,24.76,24.83,25.77,26.80,26.36,27.06,28.22,28.35,27.75,
-28.15,30.99,31.46,30.48,32.68,31.92,32.69,34.00,33.29,34.82,
-34.87,35.12,35.37,34.32,35.36,33.84,36.31,36.09,38.27,37.69,
-38.18,38.59,37.83,39.03,38.94,40.64,41.00,41.00,41.04,39.36,
-41.51,41.74,42.35,44.12,42.47,43.69,44.98,43.90,46.02,43.79,
-46.16,45.95,46.32,47.38,45.77,49.00,47.83,47.50,47.71,49.86,
-46.86,49.26,48.76,50.16,49.75,50.54,50.84,50.18,52.01,52.00,
-49.58,52.68,52.47,49.41,51.70,53.27,51.83,52.37,53.95,53.80,
-54.03,52.07,56.25,52.65,56.06,53.68,54.92,54.00,55.28,54.98,
-54.14,54.66,55.99,56.85,58.70,58.24,59.83,59.22,55.96,57.45,
-58.41,58.45,60.14,59.42,59.95,60.05,58.53,60.27,57.69,60.55,
-61.19,61.11,62.52,60.63,61.46,62.63,61.05,60.10,60.45,63.77,
-62.26,63.80,62.72,63.63,64.30,64.66,63.91,64.75,66.94,67.70,
-65.41,66.67,66.66,64.34,66.04,65.62,65.11,65.98,65.51,68.25,
-68.50,69.27,70.14,67.92,66.30,66.10,68.30,66.53,70.00,68.27,
-69.28,71.99,69.42,68.54,70.79,71.33,73.44,69.22,73.09,68.59,
-72.61,72.16,73.83,74.84,72.03,71.64,72.99,72.90,73.55,71.13,
-74.28,75.02,74.54,75.66,72.88,74.37,73.75,75.88,75.69,75.09,
-76.63,75.02,78.60,76.16,77.11,75.65,74.47,73.64,76.96,75.24,
-75.52,73.74,78.97,81.37,78.84,78.18,77.48,79.44,82.50,79.41,
-80.15,78.56,76.61,82.81,78.29,81.49,81.57,81.85,83.27,79.60,
-78.31,80.74,83.79,80.08,81.35,83.53,81.16,81.02,82.29,81.45,
-82.81,83.38,83.59,81.03,81.41,84.97,81.42,86.84,82.29,84.32,
-83.02,87.56,83.65,82.75,83.24,82.94,90.15,88.69,84.65,87.47,
-83.84,86.42,88.31,86.25,83.11,89.88,86.22,88.84,84.55,87.14,
-88.04,90.50,86.72,87.19,85.62,87.38,88.44,88.09,91.33,88.85,
-90.05,90.33,90.92,88.38,88.98,88.22,93.38,87.95,90.64,90.26,
-89.16,91.40,92.02,89.55,89.26,95.08,94.20,94.88,90.56,91.49,
-17.42,17.60,19.05,20.57,20.14,21.38,22.40,22.00,23.01,23.10,
-24.69,24.93,24.81,25.47,26.28,27.30,26.90,27.27,28.19,28.93,
-28.75,30.48,30.64,30.35,31.93,30.63,32.12,32.36,31.72,33.02,
-34.57,33.88,33.53,35.68,34.01,35.93,35.08,36.36,36.57,38.59,
-38.52,38.69,40.08,37.17,39.33,40.15,40.01,39.75,40.42,41.09,
-40.55,42.02,42.07,43.31,43.38,43.97,41.83,42.22,46.34,43.98,
-44.55,44.05,47.02,46.67,45.10,46.35,45.98,45.31,46.20,47.16,
-46.99,47.91,47.33,47.37,49.47,49.21,49.16,50.22,51.48,50.85,
-50.09,49.65,47.82,50.65,50.68,51.74,51.89,50.70,52.43,53.69,
-53.94,53.38,54.75,52.43,55.34,55.79,53.34,52.92,54.31,54.37,
-57.20,54.91,56.71,57.52,58.12,56.76,56.88,55.19,57.66,56.51,
-60.01,58.94,58.64,58.03,57.64,57.67,59.59,58.08,60.19,60.00,
-58.83,60.13,63.40,59.74,61.93,60.63,60.38,59.11,59.26,59.88,
-63.39,62.08,63.50,63.26,65.04,64.46,63.93,64.09,65.89,61.73,
-64.60,61.51,64.97,68.60,68.29,64.65,69.34,65.83,64.97,64.33,
-68.87,66.62,67.12,69.43,68.01,69.67,67.79,67.78,70.39,66.89,
-69.71,71.72,68.26,72.22,68.56,68.96,68.57,67.63,72.39,71.69,
-71.82,71.64,72.67,71.72,72.87,72.90,71.36,70.87,74.63,73.54,
-72.18,75.14,73.16,70.94,72.90,75.44,75.87,75.61,76.92,73.10,
-73.15,72.98,76.32,73.85,76.47,75.90,76.04,73.41,75.88,77.78,
-73.91,76.10,75.60,75.20,76.02,75.30,80.38,78.20,78.42,78.75,
-78.85,75.76,82.50,77.74,79.11,76.48,79.47,80.76,80.19,77.66,
-78.95,80.40,80.15,78.78,79.11,81.38,82.82,79.22,82.77,85.35,
-80.98,82.84,81.81,79.97,82.29,81.72,84.27,80.24,80.87,80.34,
-81.11,82.37,83.73,84.21,88.90,84.31,81.25,86.13,86.01,86.82,
-82.27,86.85,82.06,84.20,84.87,86.52,88.69,88.87,86.04,87.22,
-84.34,84.86,84.10,85.95,86.72,88.59,88.32,87.57,89.00,85.10,
-87.21,90.12,85.54,87.35,89.90,87.35,87.07,89.37,88.34,92.03,
-90.42,91.01,90.11,90.20,90.74,92.29,92.66,89.09,92.52,89.89,
-16.24,17.74,18.75,18.79,19.08,20.70,21.07,21.29,22.57,23.24,
-23.05,23.65,25.00,26.09,25.26,25.58,27.16,28.15,28.05,28.69,
-28.39,28.45,28.60,30.80,31.09,31.50,30.83,31.49,31.91,32.61,
-31.95,33.93,32.22,35.29,34.38,36.15,35.36,35.30,35.15,36.57,
-35.80,37.15,38.83,37.89,38.27,37.84,38.81,38.55,39.07,39.35,
-40.08,41.21,40.76,41.09,40.89,42.94,43.90,40.54,41.57,43.72,
-43.42,44.19,44.34,44.50,45.14,45.85,44.98,44.78,48.16,47.03,
-44.87,47.18,47.36,48.31,49.05,48.28,47.85,49.45,47.61,49.39,
-51.69,50.21,52.69,50.33,49.98,53.24,51.36,51.19,51.12,52.71,
-50.25,54.20,52.69,52.39,53.54,52.54,52.92,54.81,54.43,53.28,
-55.52,57.27,57.54,54.73,54.97,54.99,56.55,56.78,56.06,57.74,
-56.18,59.45,57.73,59.49,60.08,58.78,61.26,59.70,60.64,60.68,
-58.49,58.66,58.47,60.78,59.45,60.82,59.93,60.77,61.26,62.26,
-63.37,62.48,63.95,62.08,60.94,60.57,62.86,61.09,67.10,65.76,
-64.24,65.07,64.63,62.56,65.50,63.57,62.93,62.21,62.57,65.87,
-64.76,66.25,64.97,67.35,67.92,67.23,65.23,65.34,67.08,67.76,
-69.79,66.62,70.09,67.63,68.39,67.04,70.83,68.08,67.01,67.18,
-68.30,65.39,72.02,71.78,71.12,70.13,68.84,70.63,73.27,69.33,
-72.18,74.03,72.42,70.08,70.99,72.07,72.12,72.77,74.15,72.43,
-70.68,74.06,71.39,73.98,73.08,75.99,73.82,75.95,76.66,74.65,
-77.12,76.29,77.16,75.27,74.59,75.05,79.04,77.22,76.95,80.00,
-80.64,80.54,76.47,75.27,77.34,78.36,75.06,78.95,78.25,78.27,
-77.37,77.00,79.53,80.31,82.08,82.14,79.70,82.22,79.88,82.26,
-79.14,78.13,81.45,82.46,82.96,79.36,79.80,83.80,82.29,80.48,
-82.90,79.30,84.75,82.83,82.85,84.58,84.78,83.20,83.98,85.24,
-86.64,84.50,81.98,84.53,87.18,85.01,86.05,83.20,88.54,85.48,
-84.04,87.94,86.61,85.75,84.44,85.95,85.57,85.25,88.12,87.27,
-86.26,87.85,88.08,90.00,89.58,89.72,85.74,87.02,91.67,86.27,
-91.22,90.34,89.62,87.90,87.55,88.60,92.02,89.55,87.73,91.55,
-16.70,16.88,17.90,18.20,19.29,20.18,20.91,20.66,22.38,21.37,
-22.68,24.89,22.77,24.61,24.60,25.57,25.71,26.07,26.27,28.38,
-27.44,28.51,29.59,29.00,30.80,30.26,30.51,30.63,29.95,31.25,
-31.39,32.97,33.58,32.76,34.63,34.20,34.27,34.99,35.22,34.76,
-35.08,36.34,37.92,36.79,36.48,38.27,37.65,37.18,39.42,37.81,
-39.18,40.96,39.64,38.72,42.23,41.11,42.64,40.63,41.36,41.83,
-42.98,41.67,42.56,43.04,41.14,44.19,43.41,44.12,44.00,46.20,
-44.61,45.63,45.23,45.78,47.99,46.85,45.60,47.21,47.66,45.92,
-48.92,48.90,49.02,50.56,47.74,50.27,49.58,50.15,51.52,48.85,
-51.60,54.15,52.56,52.64,51.29,53.25,51.00,51.47,52.13,52.10,
-54.16,53.82,55.66,52.77,53.82,53.45,54.22,57.05,55.25,53.95,
-54.70,55.51,54.78,55.73,55.31,57.38,58.07,57.68,56.95,56.71,
-58.52,55.94,57.02,57.71,58.56,57.11,58.24,58.53,59.50,64.24,
-60.82,62.55,58.08,60.86,59.40,61.53,63.64,62.24,62.34,62.25,
-61.98,60.60,62.47,63.31,62.15,60.05,66.18,62.90,62.15,63.44,
-62.52,64.63,64.64,63.22,65.24,66.35,61.34,63.78,68.74,65.25,
-66.17,70.40,64.03,67.38,68.27,68.86,66.19,68.56,64.49,66.63,
-68.58,67.89,65.89,68.16,70.70,65.31,70.41,67.72,68.06,67.57,
-69.05,66.77,71.72,69.45,69.02,69.69,71.29,71.98,69.24,70.59,
-71.04,72.16,71.28,72.86,68.55,73.40,72.01,71.76,72.33,72.93,
-75.33,74.27,70.73,73.37,72.66,72.49,73.37,74.39,75.06,74.62,
-75.82,72.09,73.69,75.72,75.07,77.00,74.84,75.98,75.56,73.87,
-75.59,77.45,78.13,77.30,78.12,75.46,77.14,79.05,75.96,76.87,
-77.47,78.90,79.55,74.83,78.22,77.16,78.74,78.80,79.21,76.04,
-80.04,78.64,78.85,82.81,81.62,79.74,82.31,81.66,83.08,84.20,
-82.77,81.60,82.28,80.83,82.78,82.25,81.28,78.77,83.30,82.46,
-82.17,80.11,82.88,82.24,80.31,83.82,84.27,82.43,82.86,84.76,
-84.69,85.52,84.11,86.35,82.06,85.48,86.19,86.61,83.32,88.15,
-87.13,83.16,82.13,89.30,87.60,90.46,85.61,88.20,88.75,86.24,
-16.14,16.61,18.04,18.55,18.76,18.89,20.25,19.87,21.02,21.56,
-22.35,21.76,22.82,24.13,24.21,24.39,25.94,26.12,25.69,26.26,
-27.06,28.12,27.39,27.78,29.10,30.37,28.40,30.53,31.31,32.46,
-30.81,31.76,32.41,32.46,33.20,30.93,33.22,34.05,34.02,33.80,
-35.51,35.84,36.54,36.79,37.35,36.45,36.06,35.92,36.69,37.65,
-39.07,37.83,37.77,40.72,39.08,38.03,41.13,41.11,40.36,40.64,
-42.64,41.52,42.50,41.71,40.34,41.89,42.34,44.13,43.70,41.81,
-44.77,44.40,44.45,42.01,45.33,45.34,45.78,43.67,46.31,45.95,
-46.18,47.33,47.88,47.04,46.94,48.43,47.23,49.45,48.53,49.16,
-50.71,47.99,49.84,51.05,48.75,49.69,50.38,51.37,50.77,50.76,
-48.81,51.13,50.49,52.11,50.78,54.20,51.05,53.05,52.73,54.76,
-54.67,54.06,54.08,54.66,55.42,53.46,56.10,56.91,56.30,55.08,
-54.09,57.84,58.13,54.73,56.73,56.34,57.06,57.28,58.70,56.80,
-58.26,58.16,59.78,57.96,56.93,58.74,58.36,62.44,60.12,60.17,
-61.11,61.59,59.82,61.95,59.35,62.72,61.19,63.07,61.18,63.78,
-62.13,63.04,62.69,62.86,62.72,63.19,64.67,63.06,62.42,59.38,
-63.97,64.04,64.51,64.25,63.41,65.87,67.03,66.59,64.13,65.04,
-67.12,65.74,68.24,66.00,63.19,64.38,64.74,66.85,67.48,64.33,
-66.79,71.51,67.08,67.08,68.77,66.33,68.22,68.81,68.84,70.06,
-66.57,68.24,68.70,69.96,70.35,68.67,70.57,73.08,73.42,71.38,
-70.54,72.91,71.02,71.88,70.12,70.37,74.97,74.71,72.79,75.19,
-75.01,71.47,74.31,72.56,76.63,72.04,74.82,74.45,78.07,72.79,
-77.02,75.37,75.27,72.97,76.17,74.45,77.26,77.03,72.95,73.40,
-73.91,73.92,77.25,74.74,71.81,75.89,74.40,75.18,76.84,76.00,
-78.04,78.37,77.57,76.85,74.79,77.43,77.61,77.75,78.39,77.59,
-78.98,79.17,79.58,77.62,77.18,79.35,77.18,79.52,80.72,79.15,
-80.67,78.69,82.39,79.20,78.16,83.31,85.00,78.69,84.00,80.86,
-82.18,81.42,81.91,81.11,81.20,85.92,82.19,78.16,77.77,81.27,
-82.77,82.91,83.95,85.18,82.37,84.80,85.26,84.53,85.02,81.88,
-15.15,15.67,17.00,17.62,17.34,17.97,18.98,19.20,20.16,21.77,
-21.42,22.06,22.75,23.00,23.43,23.04,25.14,25.42,24.52,26.53,
-26.92,26.47,26.44,27.36,28.39,28.39,27.93,28.59,29.70,30.31,
-30.63,31.08,31.81,30.30,31.84,32.09,30.59,32.08,32.99,32.59,
-33.66,33.99,34.19,33.64,34.83,34.94,35.32,38.09,36.09,37.39,
-36.24,37.80,37.72,37.06,37.08,37.42,37.63,39.44,37.60,39.48,
-40.03,39.53,39.56,39.57,41.12,42.61,41.36,40.16,41.74,42.48,
-41.19,42.12,41.27,42.11,43.70,44.95,45.07,43.77,44.38,45.69,
-44.28,45.80,45.31,44.80,45.50,44.22,45.44,46.63,45.19,45.47,
-47.09,46.13,46.05,47.14,48.08,47.86,48.04,48.95,50.64,51.89,
-48.09,51.22,49.58,50.40,50.46,52.65,50.25,50.51,49.76,52.08,
-51.52,52.04,52.25,52.18,51.75,52.09,54.36,53.77,54.76,55.00,
-54.73,53.99,53.10,56.23,53.95,56.45,57.47,53.95,55.98,57.00,
-56.26,56.43,54.92,57.58,55.63,58.51,57.08,54.83,58.88,57.76,
-55.06,60.39,58.03,58.38,59.41,58.95,58.36,57.76,58.41,57.90,
-58.85,59.58,58.44,59.10,58.37,60.81,63.84,61.36,60.23,62.20,
-61.10,58.83,59.80,64.12,63.32,63.91,62.12,63.44,61.67,62.52,
-63.69,63.21,64.78,64.12,64.59,64.32,63.44,67.06,64.63,64.52,
-66.21,63.07,64.36,67.21,68.50,64.13,69.81,66.02,66.22,66.45,
-67.06,67.83,66.57,68.16,68.06,67.40,64.73,68.63,68.27,69.84,
-66.68,68.87,70.48,70.07,67.84,72.24,67.28,67.55,69.38,70.53,
-71.13,70.82,68.21,71.60,71.16,68.64,71.13,71.33,71.93,72.74,
-69.27,69.00,72.04,71.73,69.93,72.68,70.13,73.19,74.27,71.70,
-72.60,71.55,73.37,75.45,75.08,71.02,73.98,74.69,71.40,72.97,
-71.82,73.15,75.68,74.39,76.34,77.44,74.15,76.06,75.97,75.87,
-76.55,78.11,76.65,77.57,75.88,76.56,75.20,75.98,72.85,77.05,
-77.76,74.99,77.89,76.33,78.09,80.48,74.95,79.82,78.93,77.83,
-79.25,79.89,81.25,80.19,79.38,79.36,78.71,82.62,79.11,81.52,
-80.39,83.80,78.34,82.28,81.79,84.60,84.01,80.75,82.93,81.02,
-14.73,15.07,16.35,16.38,16.84,17.33,18.72,18.65,18.98,18.75,
-20.07,20.61,21.37,22.71,22.75,22.25,23.38,23.31,23.34,24.43,
-26.25,25.27,26.53,25.84,25.22,28.46,28.50,27.96,28.44,29.30,
-28.88,28.63,29.46,30.10,29.46,31.87,30.49,32.14,32.13,31.81,
-31.47,33.93,32.70,33.27,33.99,33.74,35.64,34.57,34.12,33.62,
-33.70,34.46,34.81,37.87,35.86,35.66,37.78,35.72,37.80,36.96,
-37.86,36.99,40.18,38.98,38.40,39.21,38.73,39.74,39.83,40.07,
-41.15,40.22,40.71,42.28,43.07,40.57,43.03,42.79,43.34,41.70,
-43.46,41.62,44.66,42.53,42.28,44.08,44.02,43.62,46.45,42.47,
-46.46,47.09,44.09,44.81,46.62,44.75,46.27,46.55,47.84,46.45,
-46.74,44.83,46.49,49.25,46.49,48.09,48.36,48.48,48.70,46.17,
-48.79,49.81,50.14,50.39,50.97,49.87,51.42,52.11,51.12,49.35,
-49.92,49.87,50.16,51.50,48.96,53.82,53.13,52.52,53.26,53.71,
-51.96,54.60,51.89,52.72,52.63,54.53,57.67,55.46,53.28,58.53,
-59.45,55.29,54.81,53.87,56.52,55.45,58.06,57.15,55.34,56.22,
-57.62,58.49,55.48,57.39,56.24,59.98,59.02,57.84,57.10,56.89,
-60.85,59.18,59.46,59.94,58.57,59.80,59.46,59.90,60.16,58.06,
-61.16,61.48,61.81,62.32,63.07,63.33,61.23,61.27,61.07,58.82,
-60.59,64.79,61.29,63.42,62.68,63.05,60.95,61.76,64.85,64.20,
-63.09,63.65,62.61,64.07,64.59,64.86,65.48,64.70,68.17,66.51,
-64.51,67.91,65.01,67.18,66.82,64.26,67.01,63.37,64.01,66.54,
-66.92,66.32,67.00,65.08,65.93,67.38,67.66,65.98,63.46,65.38,
-64.63,65.92,70.37,70.13,68.01,66.84,67.97,69.76,68.05,66.84,
-72.15,69.98,71.25,70.64,71.72,73.19,71.08,70.24,69.85,70.38,
-71.56,71.73,71.72,72.34,68.75,73.22,70.71,73.58,71.36,71.30,
-75.62,75.58,72.34,72.59,72.71,70.29,73.34,74.98,73.05,73.37,
-72.61,73.94,71.00,73.74,75.28,74.26,74.33,77.13,75.61,76.20,
-75.78,73.71,74.06,77.59,78.14,73.48,76.28,76.58,76.74,76.45,
-77.34,77.59,77.92,78.67,77.54,80.94,77.19,74.53,78.02,78.21,
-14.48,14.63,15.10,15.53,16.12,17.21,17.26,18.28,19.08,18.88,
-19.22,19.01,20.32,20.93,21.31,21.61,22.07,22.49,22.80,23.65,
-24.07,24.18,24.89,25.11,26.13,25.38,25.25,26.63,27.19,27.15,
-27.12,27.70,27.50,27.42,28.08,29.16,29.26,30.65,29.58,29.42,
-29.61,31.39,29.57,31.84,30.74,31.37,31.81,32.51,33.18,32.88,
-33.08,32.68,33.75,33.59,34.29,34.07,34.14,35.03,36.82,36.82,
-35.80,34.95,36.48,37.58,37.85,36.90,37.95,38.54,38.03,36.61,
-39.07,38.30,39.21,38.19,38.53,40.90,38.48,40.36,41.59,41.82,
-42.55,40.26,40.57,42.72,38.30,42.29,41.21,41.98,41.72,43.41,
-44.07,44.25,43.55,45.03,44.79,47.44,42.94,44.58,43.52,44.20,
-43.13,43.76,44.60,45.70,45.46,46.95,47.70,45.87,47.33,48.78,
-47.40,49.03,46.23,47.35,46.92,48.73,48.43,48.07,48.06,49.39,
-49.23,50.68,50.61,50.04,50.00,51.34,49.94,50.23,49.28,50.78,
-52.31,50.52,51.00,50.94,51.22,50.64,53.03,53.23,52.10,53.22,
-52.40,52.99,51.18,54.16,52.04,54.30,53.80,52.30,53.75,54.19,
-54.95,54.28,55.32,55.57,56.24,55.61,54.48,54.22,55.74,54.03,
-53.40,58.01,54.80,54.96,56.29,56.39,57.15,56.65,54.91,57.39,
-58.44,57.10,60.12,57.29,58.97,58.28,58.40,56.99,60.09,58.38,
-58.29,57.65,58.76,58.98,59.11,59.64,59.80,61.39,58.61,60.82,
-60.32,60.80,59.34,61.70,60.17,60.53,63.75,62.37,61.62,61.62,
-62.50,62.42,61.55,61.89,62.84,65.93,63.44,63.65,63.32,64.91,
-63.74,63.36,64.82,63.60,61.99,64.41,63.64,66.69,64.43,63.33,
-65.12,64.08,64.60,66.43,64.71,64.11,66.46,63.43,67.45,65.15,
-67.98,68.63,65.61,66.63,65.11,66.61,65.74,67.81,64.67,66.22,
-66.73,66.75,69.21,69.80,69.37,68.81,69.32,68.65,66.85,69.48,
-66.97,71.93,70.62,72.53,70.99,70.94,71.91,71.50,69.67,70.80,
-72.43,69.13,70.58,68.14,71.80,72.26,69.33,70.86,73.69,71.25,
-71.30,72.29,68.33,70.24,70.40,72.69,73.42,73.26,74.66,72.71,
-72.02,72.43,72.50,75.15,75.07,75.17,72.91,72.18,72.43,75.39,
-12.93,14.17,14.43,14.65,15.85,16.76,16.69,17.04,17.43,17.85,
-19.05,18.99,19.29,19.64,20.84,20.74,21.13,21.88,21.67,22.24,
-22.68,22.35,24.10,23.65,23.69,23.59,25.19,25.98,25.96,25.24,
-26.05,26.22,26.49,27.11,27.08,27.93,27.81,28.00,27.90,28.98,
-28.72,28.56,28.80,28.55,28.68,28.93,31.43,29.82,30.97,30.02,
-32.28,32.62,31.77,32.00,32.21,32.23,32.27,32.93,32.19,34.23,
-33.23,33.26,33.33,34.91,34.52,34.60,34.96,36.35,35.08,35.46,
-35.97,38.21,37.52,37.47,37.82,39.14,37.19,37.57,37.85,38.78,
-37.62,39.16,40.92,38.10,40.17,39.58,39.06,41.26,38.55,40.31,
-40.36,43.32,41.12,39.88,40.01,41.49,42.58,41.41,44.11,40.91,
-41.47,41.94,42.03,44.09,43.96,44.30,44.92,43.50,45.10,44.34,
-45.08,44.01,44.55,46.27,46.90,44.76,44.25,45.33,45.33,46.68,
-47.60,46.72,49.07,47.43,47.19,46.45,48.52,48.33,46.39,46.94,
-46.21,48.09,49.74,47.74,48.71,48.91,48.64,49.04,50.12,51.70,
-49.53,51.86,51.16,49.25,50.78,48.15,49.57,50.77,51.07,52.84,
-50.87,51.35,49.91,52.02,52.67,51.54,50.40,51.97,54.16,53.50,
-51.89,51.35,53.23,55.19,52.44,54.09,51.74,54.14,54.67,52.80,
-53.72,56.26,53.69,56.01,54.50,55.55,54.45,55.39,54.02,56.11,
-56.01,55.75,57.97,54.34,56.01,56.66,57.55,58.21,54.78,56.29,
-58.50,58.72,59.46,57.21,57.57,56.66,57.92,58.80,59.36,57.72,
-60.36,59.15,58.72,59.47,59.79,60.29,61.08,60.56,60.20,60.08,
-61.11,58.50,62.45,57.03,60.15,60.06,60.92,60.07,62.93,60.52,
-63.31,61.55,64.31,62.77,62.55,62.45,63.85,65.45,63.47,60.44,
-62.80,63.88,63.38,66.88,63.24,63.44,63.28,64.77,64.33,63.07,
-64.74,64.76,66.53,66.01,65.55,62.76,65.54,63.70,66.04,66.12,
-64.71,66.40,64.94,67.54,66.42,68.19,66.15,67.76,65.46,66.56,
-67.27,66.38,65.84,68.37,66.13,69.19,66.04,66.47,69.01,68.29,
-69.41,63.87,70.29,68.97,66.95,66.39,68.05,67.46,69.38,70.81,
-68.45,71.46,72.05,70.70,68.54,70.68,69.26,71.18,71.48,69.75,
-12.39,13.38,13.81,14.15,13.90,15.05,15.80,16.94,16.95,17.38,
-17.50,17.60,18.09,18.84,18.17,18.90,19.72,19.72,20.03,19.64,
-21.00,20.67,22.37,23.17,23.32,22.55,23.91,23.08,22.39,23.53,
-24.00,25.38,26.06,25.92,25.77,25.31,25.38,27.36,26.54,28.39,
-26.87,26.69,27.87,27.77,28.72,28.92,29.06,28.52,30.01,30.58,
-30.26,30.82,30.26,30.20,31.00,32.29,31.92,31.15,33.54,32.18,
-31.69,33.49,32.59,32.13,33.45,32.99,35.17,35.19,34.61,34.55,
-32.84,34.86,34.33,36.43,36.94,35.46,35.19,36.33,37.22,35.70,
-36.54,37.45,37.23,37.61,38.89,38.45,37.11,36.99,38.02,37.48,
-38.04,39.05,39.70,39.25,38.27,37.95,39.53,39.13,39.14,39.69,
-42.40,39.12,41.05,40.79,39.61,41.87,41.52,40.41,41.94,41.90,
-42.27,43.08,43.11,42.09,43.62,43.98,42.53,42.39,42.10,43.85,
-44.99,44.27,44.63,44.72,43.47,45.34,44.19,44.42,44.23,45.49,
-45.73,43.40,45.71,44.56,47.47,47.10,46.06,44.81,48.43,47.76,
-47.13,46.86,46.20,46.99,49.23,47.20,49.03,48.46,50.41,47.79,
-49.79,47.48,47.96,50.29,50.92,49.27,51.45,47.62,52.74,48.95,
-51.46,50.18,51.33,50.91,50.87,51.63,50.36,49.68,51.44,53.45,
-51.37,52.74,51.90,51.26,52.98,51.39,53.71,52.04,54.15,52.24,
-52.46,54.88,51.88,51.97,53.78,53.88,56.09,53.20,53.97,54.33,
-54.94,54.60,54.35,52.65,57.52,55.18,54.95,55.34,54.44,57.93,
-57.32,54.54,56.14,56.15,55.37,58.05,55.14,58.08,57.17,56.25,
-55.60,56.23,55.40,58.39,55.82,56.70,56.28,57.59,58.24,58.84,
-60.59,57.26,56.41,60.83,57.15,57.95,59.00,58.70,60.77,60.91,
-60.23,57.33,59.87,61.20,58.70,57.52,61.31,59.33,62.37,61.41,
-61.83,59.88,58.62,60.53,62.92,61.50,60.41,62.75,64.44,59.87,
-64.55,57.75,59.04,61.80,62.13,63.05,63.81,64.47,61.84,66.46,
-62.19,64.33,65.54,60.95,64.63,63.33,63.45,63.02,65.66,65.48,
-66.46,62.40,64.42,64.29,66.57,65.98,65.50,66.08,65.05,66.44,
-66.16,65.85,65.52,65.27,64.88,63.10,66.69,68.42,67.09,65.84,
-11.54,12.06,13.34,13.77,14.18,13.81,15.20,14.19,16.23,16.43,
-16.13,16.90,17.56,17.65,17.07,18.13,18.48,19.23,20.03,19.57,
-19.08,20.78,20.58,20.32,20.77,21.41,21.36,22.71,22.23,21.97,
-23.07,24.00,24.19,23.71,24.33,23.79,24.88,24.23,24.46,25.40,
-25.45,26.16,26.47,25.97,26.31,27.24,27.97,28.54,28.10,27.59,
-29.23,27.69,28.22,29.75,28.33,29.02,30.58,29.60,29.58,30.80,
-29.22,30.41,32.46,30.50,31.57,31.81,29.66,31.67,34.14,32.30,
-33.21,31.83,33.43,32.95,33.52,33.46,34.69,33.95,35.30,33.98,
-35.49,35.28,33.89,34.88,36.40,33.68,34.95,35.36,34.89,36.34,
-34.51,36.47,38.26,36.69,38.95,37.27,39.21,38.60,37.94,38.67,
-37.68,37.04,38.51,37.47,38.64,38.06,39.56,39.68,39.83,38.50,
-40.43,40.25,40.70,39.83,40.14,41.74,40.51,39.47,40.40,42.35,
-41.81,41.95,41.49,42.01,43.21,41.70,43.44,43.63,44.75,42.75,
-43.05,42.52,42.65,43.20,45.34,44.83,43.15,43.70,43.92,42.06,
-44.15,42.92,46.06,44.79,42.82,45.73,45.89,44.90,43.90,46.59,
-46.81,45.59,44.98,43.84,46.89,46.65,46.58,46.13,48.74,46.44,
-46.87,48.42,45.90,47.79,48.45,48.65,48.94,48.84,48.90,48.55,
-47.21,49.02,48.10,48.48,49.87,50.28,47.49,49.45,49.49,51.53,
-51.33,49.62,47.80,49.17,52.70,52.48,49.53,51.75,48.58,48.73,
-51.15,53.22,52.18,52.37,50.43,51.25,53.40,52.24,50.22,53.52,
-52.64,51.08,54.64,52.14,53.22,53.65,53.28,56.07,53.93,50.77,
-53.39,54.13,52.66,53.62,52.73,55.01,52.85,54.17,52.71,56.61,
-54.77,54.68,54.91,56.11,56.01,55.30,53.79,54.94,56.44,56.96,
-57.47,56.07,56.08,53.47,55.73,55.54,57.13,55.03,54.97,58.73,
-55.24,54.70,57.33,56.29,56.54,56.16,57.22,56.82,59.21,57.47,
-58.18,59.69,59.75,59.96,57.09,54.31,61.48,60.65,61.03,57.64,
-60.46,59.26,59.98,58.53,61.98,61.65,61.58,61.08,57.71,61.08,
-61.04,59.90,60.21,62.60,62.42,61.27,60.50,61.88,60.53,61.51,
-61.13,63.63,59.84,63.81,61.53,59.10,62.51,59.89,62.61,60.23,
-11.08,11.15,12.35,12.84,12.88,12.95,12.88,14.03,13.90,15.28,
-15.48,15.85,16.19,16.20,16.37,17.84,17.58,17.82,18.13,17.81,
-18.42,19.34,19.49,21.15,19.45,20.35,20.41,22.24,21.63,21.50,
-21.08,21.79,21.49,21.91,23.31,23.64,22.65,23.48,22.40,23.78,
-25.46,25.91,24.20,25.36,25.49,25.76,25.27,25.64,26.55,25.23,
-26.40,28.98,28.05,27.57,26.56,27.65,27.96,27.81,28.31,28.43,
-28.69,30.09,30.08,29.87,29.84,30.16,28.40,31.15,29.70,30.72,
-29.94,30.98,30.28,29.90,32.77,31.71,30.47,32.21,32.13,32.72,
-31.64,31.37,32.75,32.73,33.57,33.60,33.48,34.77,34.52,33.62,
-33.18,33.30,34.90,36.09,33.94,34.70,34.25,35.16,37.22,35.44,
-33.95,35.24,36.86,35.59,35.37,37.19,36.52,37.43,38.01,37.83,
-37.84,37.56,38.19,37.72,38.40,37.31,38.58,37.67,39.59,38.84,
-39.67,38.90,38.69,39.49,38.44,40.22,40.87,39.61,39.08,40.55,
-41.51,40.74,40.61,42.00,41.22,42.04,41.73,40.23,40.91,40.35,
-42.89,41.22,42.35,43.30,43.26,43.95,40.78,43.11,42.54,42.92,
-41.74,43.72,42.34,41.38,43.09,41.35,42.52,46.45,43.35,44.19,
-44.29,44.13,44.36,43.99,44.38,46.05,45.62,46.52,45.71,45.69,
-46.82,45.58,45.69,46.26,45.87,45.96,46.90,47.43,48.24,47.06,
-46.11,46.56,46.42,47.32,47.51,45.71,48.66,47.10,45.45,48.40,
-48.76,48.07,49.05,48.82,48.59,49.09,49.59,50.42,48.48,50.49,
-48.13,49.81,49.90,50.03,49.11,51.27,51.33,51.48,51.17,49.39,
-51.13,51.18,50.82,51.26,49.51,51.47,53.62,52.40,51.08,49.02,
-53.65,51.12,51.93,52.01,52.38,50.29,52.61,51.04,53.72,53.40,
-53.39,53.81,53.00,53.20,53.25,51.44,52.24,56.09,53.55,55.25,
-56.85,56.56,53.21,54.43,55.33,51.49,53.80,54.34,54.74,53.90,
-55.11,58.13,52.87,54.45,54.37,57.01,57.62,55.90,55.18,57.13,
-57.14,57.62,54.96,57.04,56.98,56.07,57.90,57.47,58.40,57.81,
-57.18,57.08,55.04,56.13,57.66,55.75,57.07,56.88,57.99,57.67,
-58.85,57.13,57.55,56.36,56.77,58.32,59.43,59.44,58.90,60.71,
-11.00,10.85,10.57,11.65,12.42,12.91,13.07,14.29,13.90,13.53,
-14.31,14.71,15.14,15.60,15.86,16.77,16.77,16.86,17.18,17.13,
-18.71,18.08,17.77,17.92,19.04,20.00,18.57,19.33,19.69,20.47,
-20.51,21.80,19.90,20.59,22.25,20.10,22.08,23.59,23.76,21.78,
-21.80,23.61,23.50,23.49,24.01,22.89,24.01,25.42,24.74,25.63,
-24.22,25.95,24.05,24.57,26.42,24.38,26.30,27.26,26.23,26.05,
-28.18,25.83,26.19,27.16,27.62,28.95,27.98,28.29,27.23,28.50,
-27.53,27.97,28.77,27.46,29.75,28.14,29.28,29.35,30.56,30.31,
-30.68,30.99,28.95,30.21,30.20,30.92,31.10,30.90,31.94,31.61,
-31.96,32.34,32.17,31.96,32.79,33.30,33.55,33.24,34.54,34.72,
-32.46,33.84,34.20,34.00,34.96,36.45,34.64,33.84,33.62,33.32,
-36.40,35.74,34.60,36.51,36.10,36.74,36.04,35.82,35.59,35.29,
-36.93,37.88,37.58,37.13,37.15,36.80,37.42,37.55,37.73,38.83,
-38.67,38.06,38.22,39.05,37.75,39.61,38.26,39.52,38.24,38.47,
-39.60,39.86,38.95,38.51,41.77,40.21,41.72,40.40,39.82,38.65,
-40.40,40.25,42.02,41.04,42.20,41.77,39.35,41.55,41.65,41.96,
-41.73,39.88,43.86,40.94,42.73,42.71,41.98,42.85,42.71,42.24,
-41.53,42.12,43.39,43.52,42.45,43.08,43.25,43.67,45.61,42.79,
-43.25,43.20,44.58,44.27,45.18,44.09,45.16,44.96,44.55,45.30,
-44.06,45.83,45.14,46.22,46.31,46.76,45.18,46.10,47.44,45.67,
-45.70,46.12,44.77,47.94,46.89,45.79,47.47,46.18,47.77,49.15,
-45.93,45.70,46.76,48.05,47.93,47.83,48.26,50.06,45.99,47.81,
-49.04,49.53,48.44,48.38,46.51,49.92,51.79,50.40,49.81,49.76,
-50.43,49.06,49.26,48.88,49.91,49.82,48.60,49.62,52.23,52.78,
-48.56,51.57,52.09,51.02,52.22,51.92,52.32,50.48,51.61,52.61,
-51.93,53.21,52.11,51.36,52.31,54.63,53.92,51.43,51.50,52.07,
-54.47,52.99,53.02,53.34,52.02,53.28,54.48,53.70,52.57,54.18,
-52.22,52.08,54.20,52.24,52.82,54.63,52.34,56.23,56.41,53.89,
-53.83,56.93,56.96,53.84,56.01,55.83,56.45,56.69,54.48,54.80,
-17.51,18.70,19.25,20.45,21.21,21.10,21.98,21.95,22.93,24.09,
-24.41,24.17,25.44,26.48,25.17,27.32,26.77,28.25,27.20,29.22,
-29.36,30.17,29.68,31.38,31.43,31.35,33.27,32.79,32.24,32.95,
-33.80,35.10,34.94,35.06,36.00,37.25,36.11,36.35,37.27,37.30,
-37.33,38.49,38.70,38.73,40.04,40.99,37.91,40.23,39.55,41.08,
-40.87,42.27,43.14,41.41,42.59,43.31,44.62,43.60,42.70,46.06,
-45.25,45.71,45.85,45.54,46.28,45.72,47.69,47.08,45.74,49.17,
-47.99,46.62,49.19,49.66,48.17,48.99,50.76,49.21,49.74,48.49,
-50.27,50.72,52.49,52.41,53.25,50.21,54.80,53.43,54.64,53.79,
-53.79,54.79,55.20,52.83,53.50,54.30,56.04,53.75,56.30,54.98,
-56.51,56.04,55.32,59.58,58.91,56.91,56.05,57.72,58.31,58.74,
-59.20,58.64,61.13,58.54,58.67,58.59,57.79,60.64,60.70,59.75,
-61.13,59.89,63.74,61.72,61.29,62.17,61.08,61.07,61.79,64.28,
-62.07,62.18,62.87,61.84,63.95,62.33,66.42,65.23,63.11,65.38,
-64.89,67.20,65.71,65.07,65.94,66.88,67.36,66.23,65.73,69.23,
-65.74,67.56,68.50,67.32,67.34,69.35,68.34,68.63,66.58,66.53,
-69.26,71.69,68.92,73.35,69.32,69.01,69.63,68.52,71.90,68.42,
-71.92,73.07,71.64,70.85,72.20,74.33,70.93,72.11,70.14,72.75,
-70.96,73.12,77.32,74.75,74.90,75.32,75.95,71.48,72.49,73.85,
-74.57,75.37,74.85,74.96,74.09,78.42,76.84,76.99,74.48,74.88,
-78.51,76.61,79.31,79.87,77.25,77.93,79.83,77.58,76.29,79.58,
-79.52,79.23,80.23,85.28,76.52,75.47,79.77,78.54,78.95,78.93,
-82.72,79.34,81.81,81.16,83.24,80.09,83.36,84.44,83.49,84.00,
-82.89,81.28,84.45,86.19,83.18,83.96,82.18,84.47,80.60,84.67,
-85.62,82.84,83.15,84.40,84.52,86.43,88.16,84.19,83.86,84.17,
-85.57,88.43,86.52,86.41,86.87,84.49,85.77,86.67,88.23,87.67,
-89.47,85.97,87.64,87.54,85.66,85.77,89.82,86.79,88.91,90.69,
-88.69,92.93,91.22,89.96,91.79,90.62,91.47,92.80,92.25,91.59,
-92.65,90.43,88.52,96.28,90.65,91.94,92.43,94.53,93.54,90.32,
-18.27,19.72,19.90,20.40,21.05,22.87,21.79,23.38,24.17,24.87,
-24.78,24.86,26.39,26.68,26.82,28.35,28.60,28.98,29.73,30.63,
-30.01,31.10,32.16,30.74,31.97,31.68,32.95,33.01,34.53,34.01,
-36.18,34.20,35.91,36.85,37.00,37.26,37.39,38.16,38.80,38.50,
-38.91,38.98,37.32,38.09,39.23,42.05,40.38,40.64,41.75,40.56,
-42.26,43.26,44.21,44.17,43.60,43.89,43.55,45.47,45.49,44.11,
-45.66,46.36,45.87,46.40,47.23,46.69,49.23,47.27,48.50,47.90,
-48.83,48.81,47.71,49.65,50.41,48.99,49.44,52.82,50.82,51.36,
-49.87,52.59,51.85,54.45,53.01,53.05,53.92,53.61,55.08,54.20,
-53.36,55.69,55.04,55.46,56.55,55.84,57.80,55.96,55.73,59.61,
-58.60,58.13,59.05,61.37,58.55,56.60,61.32,57.73,57.56,58.41,
-60.48,61.82,58.82,60.93,60.77,60.36,60.35,62.18,61.95,61.95,
-62.32,63.90,62.18,63.31,64.18,63.14,63.04,63.12,66.70,65.74,
-65.24,65.34,63.37,64.13,65.51,67.64,63.78,65.76,66.22,67.04,
-67.89,66.74,66.42,68.88,65.47,67.89,65.16,69.42,67.74,69.40,
-69.81,69.61,71.01,72.06,70.49,70.41,71.60,72.47,72.01,73.46,
-69.88,71.67,69.96,71.08,73.63,70.17,72.43,72.58,74.04,74.19,
-73.06,74.89,70.91,73.02,76.36,74.79,72.86,73.41,77.13,76.95,
-74.26,75.67,72.59,75.29,70.88,76.43,76.61,77.46,79.39,75.49,
-74.89,76.43,74.87,78.82,77.14,77.83,79.05,78.63,79.31,77.01,
-80.10,79.62,81.78,81.83,80.15,79.47,78.92,79.79,78.49,80.66,
-81.89,82.55,82.52,81.78,79.64,80.87,81.69,81.45,79.19,82.50,
-81.84,84.60,79.82,83.37,83.03,84.78,83.11,87.10,83.36,85.02,
-84.67,86.08,82.68,86.03,82.95,85.39,86.17,86.06,86.31,85.96,
-86.29,84.26,85.93,91.02,87.40,91.01,90.90,86.63,91.63,90.59,
-87.94,86.19,87.92,86.74,88.29,91.03,88.98,88.45,91.85,87.08,
-89.17,89.75,92.21,92.98,88.01,88.33,91.73,90.53,89.46,88.79,
-92.26,91.60,87.61,92.15,91.28,90.56,93.05,93.64,94.25,91.37,
-94.12,90.43,97.48,90.04,93.52,95.93,94.45,93.71,92.19,95.67,
-18.27,18.65,19.91,20.61,20.76,21.90,23.18,23.45,24.00,24.61,
-25.62,25.92,26.84,26.87,27.34,28.48,28.31,27.54,30.39,29.75,
-29.64,32.11,31.91,33.73,31.56,33.15,33.59,33.82,33.40,34.65,
-35.41,35.05,36.38,36.21,36.47,36.41,38.12,37.20,38.38,39.60,
-40.42,40.55,41.34,39.89,42.07,41.33,41.69,42.53,42.17,41.42,
-43.20,43.37,42.97,43.38,45.55,45.18,44.79,46.30,44.24,46.19,
-45.98,45.50,47.27,47.02,48.27,45.97,47.79,48.91,46.88,48.71,
-47.68,49.69,48.78,50.07,50.45,51.45,50.59,49.64,52.06,50.41,
-49.99,51.37,52.90,55.13,53.87,54.27,52.53,55.51,54.49,55.92,
-55.59,55.03,55.58,56.75,55.68,57.05,56.69,55.33,58.16,58.09,
-59.28,54.46,59.08,57.43,59.32,59.17,60.15,59.41,61.45,59.55,
-62.31,60.56,56.83,61.04,61.36,59.81,60.58,62.91,63.60,63.86,
-62.77,63.51,62.71,63.15,65.58,65.12,63.73,65.42,64.00,64.28,
-66.71,66.26,66.21,65.81,65.00,65.94,66.74,67.52,64.51,67.53,
-67.53,71.19,68.99,66.02,69.03,67.54,66.96,71.66,68.46,71.61,
-71.04,72.54,69.01,72.85,69.47,69.85,69.91,70.57,71.20,70.32,
-71.76,70.52,70.57,72.67,74.69,73.18,75.86,72.14,71.76,70.64,
-75.24,74.14,74.45,75.04,74.90,75.35,75.27,76.56,77.37,76.80,
-74.89,77.53,74.55,77.76,75.11,78.82,77.86,77.28,74.63,76.05,
-80.52,76.46,81.04,76.49,80.25,76.75,79.13,78.74,78.82,81.40,
-79.98,80.85,77.98,78.39,81.40,80.60,81.10,82.53,79.00,82.18,
-78.54,78.35,81.09,78.57,82.96,83.65,83.03,84.10,83.56,79.89,
-85.02,82.19,82.12,82.94,84.82,85.79,88.48,83.04,83.97,83.34,
-88.41,87.76,87.60,85.80,88.94,87.48,83.04,85.26,86.70,87.88,
-81.05,88.83,87.15,85.07,85.21,87.36,87.32,88.49,87.55,89.83,
-88.36,90.43,87.89,88.68,87.41,88.19,88.53,88.46,89.72,92.06,
-90.51,87.79,88.23,95.35,89.30,89.38,93.37,89.94,93.23,93.99,
-94.79,93.49,94.46,91.54,96.24,90.21,92.30,93.30,93.04,93.12,
-91.43,91.54,96.67,94.29,92.19,93.42,95.07,97.97,93.49,95.49,
-18.37,19.14,19.39,20.54,21.32,21.53,21.42,22.56,23.99,24.44,
-25.46,25.52,25.79,25.96,26.78,28.27,28.42,28.35,29.18,29.40,
-30.28,30.07,32.13,32.66,33.06,31.95,33.65,34.28,33.35,35.52,
-36.06,36.45,35.14,36.97,37.97,37.06,37.39,37.42,38.21,39.20,
-40.08,39.35,40.51,41.51,40.83,41.56,39.67,40.85,43.64,41.63,
-43.97,43.68,41.72,45.44,43.85,45.35,45.02,42.26,45.86,45.94,
-49.01,47.70,47.33,47.98,45.85,47.37,47.49,48.27,50.48,49.36,
-48.98,50.99,51.60,50.47,51.93,52.65,51.33,50.52,49.84,52.80,
-53.43,51.98,51.74,51.49,53.46,54.95,53.08,57.54,55.78,55.45,
-55.90,56.11,55.08,55.12,56.36,57.08,55.09,55.84,56.15,59.78,
-56.13,58.62,59.34,57.29,58.36,59.95,58.65,60.13,59.20,60.76,
-58.31,58.17,61.75,60.10,62.98,60.42,59.92,63.08,61.36,61.07,
-62.72,61.11,63.76,63.63,63.85,61.24,64.89,64.57,65.74,64.79,
-62.54,65.64,64.67,63.72,65.71,66.71,69.39,67.00,66.59,67.38,
-68.58,69.19,65.76,66.58,69.44,69.28,67.50,71.43,70.52,69.56,
-68.34,70.91,66.72,72.20,69.51,72.76,73.35,68.87,70.83,72.69,
-69.23,73.09,75.59,72.21,73.03,73.05,73.67,73.35,70.92,73.90,
-73.78,77.74,74.99,74.54,76.01,75.70,75.35,74.54,75.56,77.02,
-76.75,74.27,75.11,75.02,78.71,78.98,78.24,75.88,78.67,77.09,
-76.70,76.52,77.62,79.05,76.19,79.88,77.24,81.45,81.81,77.01,
-78.93,80.67,77.75,80.63,80.60,79.84,81.47,82.76,80.51,80.04,
-80.21,82.92,80.97,82.96,82.30,83.00,81.85,82.74,79.42,85.73,
-83.84,84.72,86.34,82.20,85.80,83.69,85.83,82.63,83.60,86.28,
-85.39,84.45,85.07,88.70,85.73,86.48,85.03,86.73,87.40,87.81,
-85.78,85.59,89.05,85.67,85.05,86.37,86.96,88.64,89.74,88.69,
-90.01,91.87,88.64,86.97,89.04,93.45,92.70,86.51,93.23,92.07,
-91.09,92.76,89.07,88.10,90.75,92.72,93.50,90.32,90.04,91.28,
-93.02,94.86,91.08,91.37,87.70,95.14,93.41,87.20,91.04,91.40,
-96.81,90.62,98.04,91.00,93.09,94.26,94.60,91.91,95.37,91.87,
-17.95,19.25,18.95,20.53,21.21,21.80,21.95,23.63,22.83,24.08,
-25.79,25.82,25.91,26.79,26.30,26.87,27.74,27.67,29.23,30.07,
-30.93,30.87,31.18,31.17,33.13,32.55,32.88,33.42,32.63,35.60,
-35.39,34.64,34.96,37.37,37.26,38.31,37.14,37.24,38.17,37.35,
-38.31,39.11,38.47,39.65,38.87,41.26,40.70,41.25,41.71,44.51,
-43.65,41.40,42.46,44.68,42.98,43.33,44.94,46.03,46.89,45.45,
-46.02,46.94,47.05,46.82,47.51,48.79,47.88,47.03,49.99,48.98,
-47.81,47.18,50.10,49.37,48.97,49.64,52.01,51.42,53.96,52.59,
-53.24,52.31,51.39,52.74,52.02,50.52,53.83,55.96,51.75,54.35,
-53.43,56.54,53.27,53.79,56.14,58.18,55.63,57.74,55.37,56.66,
-56.48,58.34,59.61,58.92,59.07,58.99,57.10,57.63,58.27,60.21,
-60.39,59.15,61.38,60.00,60.90,60.44,62.72,59.44,62.64,62.23,
-63.60,64.00,61.38,62.74,64.65,62.46,65.47,62.33,61.79,61.03,
-64.91,62.78,64.52,64.73,66.60,65.44,68.15,66.17,66.74,66.11,
-66.76,71.36,67.97,68.23,64.59,66.97,66.70,68.25,69.13,69.28,
-70.49,71.25,68.87,65.79,68.97,70.35,71.22,70.55,70.87,70.68,
-70.84,73.45,70.08,72.46,70.45,74.31,73.87,72.63,71.34,73.59,
-72.94,71.99,75.36,71.43,74.04,75.31,76.19,71.53,76.14,74.96,
-74.90,73.78,76.58,75.09,73.89,74.92,76.73,75.00,75.19,76.61,
-79.09,77.20,78.64,79.08,80.39,81.01,79.74,76.35,79.33,82.22,
-79.17,78.84,78.78,77.09,77.68,81.91,81.81,83.04,85.67,80.12,
-79.55,86.27,79.86,80.64,80.93,79.61,83.30,83.10,81.90,80.70,
-82.99,85.44,82.71,82.26,83.72,83.75,81.06,84.58,86.59,86.04,
-84.53,82.49,82.96,86.61,82.74,84.50,83.78,84.07,82.39,85.83,
-85.54,85.26,86.56,86.45,84.90,88.48,85.61,88.36,87.30,86.66,
-84.96,85.39,88.23,89.51,90.37,90.59,86.77,86.98,86.32,88.45,
-91.10,90.65,92.95,88.89,91.56,91.28,89.68,87.21,90.88,92.08,
-86.48,92.28,92.87,91.67,95.50,94.20,92.23,91.73,93.57,91.31,
-91.74,96.71,94.11,91.01,93.27,92.13,92.91,90.82,94.96,95.84,
-17.06,17.89,18.82,20.21,19.88,20.17,22.13,22.91,22.98,23.63,
-24.82,24.64,24.75,25.56,26.10,26.66,26.85,27.29,29.31,28.90,
-31.63,28.79,30.39,30.38,31.94,33.13,33.58,33.93,33.75,33.33,
-33.85,33.20,35.28,34.73,35.99,36.94,37.44,37.72,37.11,37.77,
-37.78,39.26,37.70,39.31,39.71,41.17,38.71,41.02,41.01,41.22,
-41.49,41.31,42.93,42.47,43.37,44.89,44.23,43.44,43.44,44.83,
-44.83,44.66,43.37,45.62,47.92,47.05,45.98,46.74,46.68,47.85,
-48.70,48.45,49.01,48.47,47.16,49.51,51.53,49.12,49.38,49.23,
-51.30,50.44,53.61,53.51,51.91,49.31,51.81,51.95,52.97,50.78,
-53.58,53.90,53.94,56.30,56.09,53.79,55.55,55.90,55.76,57.28,
-55.46,55.93,57.50,57.84,56.65,56.61,56.88,58.03,58.78,59.23,
-59.60,58.82,59.38,59.66,57.31,61.62,60.51,62.68,58.14,62.47,
-62.99,58.93,60.74,59.22,63.09,61.97,62.20,59.19,64.14,64.77,
-63.64,61.67,62.87,64.24,65.45,63.38,62.83,61.68,65.65,67.94,
-66.90,64.51,63.98,68.18,66.03,67.55,67.28,65.99,70.15,66.61,
-68.12,67.90,67.55,66.99,68.24,69.82,70.99,70.11,68.45,68.74,
-68.90,69.18,68.22,70.65,73.35,72.00,67.83,72.50,69.68,70.31,
-72.95,70.19,71.99,72.12,73.86,71.91,71.30,72.80,75.07,74.56,
-72.95,71.85,74.90,70.37,76.00,73.93,74.10,75.36,74.07,74.27,
-73.79,75.51,76.48,78.13,74.09,76.30,78.07,77.21,79.56,75.76,
-76.44,78.25,77.23,77.58,78.88,80.78,77.84,74.76,76.48,81.17,
-78.99,79.59,79.38,80.89,76.56,75.51,78.67,82.39,76.52,79.45,
-80.17,82.02,83.11,83.73,82.56,85.19,84.82,82.09,80.92,84.18,
-84.23,84.65,85.79,83.74,84.23,82.66,84.24,84.85,86.17,84.96,
-86.43,83.39,84.66,82.24,82.57,82.34,86.58,83.06,87.08,89.54,
-87.36,87.83,87.08,87.06,85.69,84.29,87.60,87.89,86.57,84.18,
-90.00,86.02,89.63,88.24,88.22,87.60,88.86,87.76,88.64,89.65,
-93.27,91.38,89.31,92.44,94.48,91.37,91.14,89.21,89.67,90.04,
-91.44,92.05,92.54,92.31,95.03,94.61,91.64,91.62,90.61,90.84,
-17.49,18.03,18.92,19.83,19.53,20.48,21.25,21.92,23.21,22.49,
-24.29,24.65,25.45,25.44,25.09,26.50,25.79,27.93,28.33,28.78,
-29.35,30.40,30.13,30.89,30.55,30.93,32.17,33.18,33.08,33.31,
-33.46,35.49,34.72,32.59,33.99,35.16,35.70,37.21,35.81,37.39,
-37.21,37.66,38.31,39.08,38.05,37.98,39.21,38.88,40.26,39.12,
-39.89,41.80,40.06,42.93,42.34,41.51,43.38,42.90,44.16,44.52,
-45.46,44.27,43.54,46.21,44.27,45.01,44.19,46.71,46.54,47.33,
-47.64,44.71,46.92,48.08,45.92,46.75,45.84,49.06,49.25,48.21,
-50.35,49.79,47.84,50.13,50.77,52.12,51.79,49.03,51.42,51.61,
-53.46,51.07,52.12,52.29,54.46,51.74,52.32,54.76,52.45,54.29,
-55.59,55.22,56.84,56.25,55.01,55.97,58.57,56.48,56.40,57.30,
-56.02,56.50,59.54,55.76,60.42,59.06,61.16,58.54,59.52,59.18,
-57.25,61.80,59.36,61.52,57.20,60.41,62.52,62.80,63.45,59.11,
-61.10,62.64,59.54,67.28,62.41,61.30,65.20,64.25,64.07,65.25,
-63.63,64.94,63.87,62.77,65.92,63.89,64.87,66.87,65.99,66.17,
-69.34,67.86,68.49,67.65,67.92,68.93,64.68,64.32,67.07,67.37,
-69.04,65.66,66.76,68.18,65.38,68.41,67.26,68.98,68.94,69.65,
-68.46,69.61,69.83,70.29,73.24,68.02,72.17,68.64,73.06,72.76,
-76.92,75.78,71.38,69.49,73.98,75.24,74.68,74.91,71.42,74.69,
-75.20,76.09,74.01,76.67,75.82,77.04,75.16,75.20,73.90,74.61,
-74.53,73.76,77.87,79.68,73.34,78.45,79.10,74.28,75.90,77.36,
-78.86,78.56,77.94,78.97,77.34,78.31,79.17,78.60,79.48,77.57,
-79.14,81.15,78.13,80.28,81.85,78.10,81.85,79.14,80.60,79.35,
-82.76,82.23,79.80,81.16,79.09,77.08,82.69,80.24,80.20,80.03,
-79.75,83.43,83.51,80.93,85.52,79.95,83.89,83.07,83.15,85.12,
-83.30,88.52,83.77,83.50,81.59,84.86,81.47,82.59,89.18,85.72,
-85.90,83.30,88.07,90.30,85.08,87.19,89.31,84.89,84.38,86.37,
-88.63,87.25,85.60,84.76,87.62,88.93,88.19,86.42,87.65,94.12,
-90.63,87.64,86.65,87.24,89.57,91.76,85.77,88.26,89.90,91.76,
-16.34,17.42,18.40,18.77,18.61,20.49,19.95,21.27,21.24,22.50,
-23.11,24.06,23.45,24.88,24.74,25.84,26.80,26.50,26.93,28.31,
-29.00,27.98,28.82,28.24,28.57,30.14,30.48,31.04,31.23,31.82,
-32.39,31.62,32.54,32.30,33.41,34.42,34.62,34.32,34.13,35.93,
-35.11,36.56,36.62,37.22,37.86,37.69,39.36,38.14,38.81,39.91,
-39.98,40.90,40.19,40.00,39.45,41.13,42.51,41.45,41.28,42.41,
-42.31,41.68,44.36,43.96,43.31,44.68,44.53,44.82,44.86,45.45,
-43.99,45.67,44.31,47.21,46.47,47.34,46.76,47.15,46.49,45.27,
-49.27,48.49,50.08,47.65,48.99,48.36,49.54,49.80,50.72,50.58,
-50.87,50.07,49.60,52.06,52.70,51.38,52.09,56.03,52.51,53.05,
-53.14,52.23,52.05,53.39,55.06,56.90,57.07,55.04,55.46,55.45,
-54.16,53.10,57.17,56.39,55.56,56.53,56.86,60.39,55.42,55.93,
-57.89,56.52,56.29,58.41,55.43,61.46,59.12,60.56,59.45,59.12,
-59.75,61.00,60.83,59.11,62.09,62.61,60.73,62.48,59.68,61.08,
-60.92,61.66,62.52,64.99,60.28,62.63,60.81,63.51,65.98,63.88,
-65.37,65.53,65.11,64.20,64.04,62.42,62.97,64.84,66.61,65.87,
-69.27,69.62,66.57,62.92,61.99,65.66,65.72,65.59,67.68,68.84,
-67.67,68.54,71.61,65.97,68.08,70.99,71.71,68.04,69.41,69.01,
-70.06,72.82,71.99,70.80,70.72,69.78,71.00,70.42,72.87,67.86,
-72.36,71.98,70.41,73.12,73.04,72.53,73.68,70.44,70.88,74.45,
-72.14,74.02,74.09,76.38,74.61,71.37,76.64,72.94,73.58,75.99,
-73.01,72.77,73.31,75.91,75.65,75.99,79.07,77.85,76.93,76.33,
-77.36,76.33,77.74,78.10,78.11,77.25,79.10,77.86,77.70,77.28,
-78.03,78.86,77.37,79.12,77.45,81.08,81.16,80.82,79.14,80.60,
-82.26,82.15,85.07,81.43,79.82,82.92,79.19,81.38,79.85,80.90,
-80.63,85.58,80.59,79.46,79.98,86.79,81.12,81.99,85.97,79.44,
-83.43,88.82,84.07,80.76,82.91,85.15,85.97,83.84,84.88,81.69,
-83.14,86.18,85.00,84.59,84.36,83.99,86.92,81.94,88.90,82.57,
-89.45,85.35,83.28,88.04,83.88,88.82,88.27,85.13,82.74,85.57,
-16.03,16.51,17.21,18.35,18.55,18.79,19.99,20.81,20.98,20.96,
-22.31,23.67,23.85,23.68,24.52,25.03,25.02,24.81,26.57,26.41,
-26.08,26.74,28.26,27.70,27.97,29.37,28.20,29.75,29.99,30.27,
-31.34,30.83,32.31,31.96,33.00,33.39,33.47,34.27,32.74,33.97,
-35.31,35.38,34.68,34.53,36.01,36.03,35.43,37.35,36.49,36.89,
-38.72,39.09,39.73,36.68,38.94,39.30,40.39,40.84,39.38,41.88,
-42.14,41.06,40.02,41.35,43.61,42.68,42.94,43.60,44.39,44.35,
-41.84,42.42,45.43,43.87,45.23,44.88,44.93,44.99,45.02,45.34,
-45.81,46.81,45.57,47.57,46.65,47.22,48.02,48.35,49.35,46.32,
-47.62,49.36,49.41,49.28,50.94,49.95,50.54,49.87,50.48,52.48,
-50.49,49.72,52.30,53.84,54.09,54.08,51.49,53.86,53.72,52.33,
-52.84,54.33,53.80,54.71,52.67,53.11,55.51,55.15,55.53,55.96,
-55.81,59.83,53.64,58.97,57.73,56.05,55.79,58.93,56.63,55.96,
-57.36,55.63,57.59,57.79,57.63,58.35,59.09,57.84,59.89,61.49,
-60.10,59.36,61.21,61.69,58.96,60.94,61.42,63.14,62.35,62.25,
-61.14,60.86,62.22,64.10,61.69,64.91,63.74,64.04,65.04,63.60,
-62.22,62.76,64.14,66.59,65.19,63.11,65.08,65.34,66.17,64.52,
-66.50,66.66,68.43,67.77,67.52,68.57,66.93,70.64,67.98,67.01,
-70.86,71.46,67.22,69.07,66.98,67.27,68.44,66.62,70.22,67.99,
-69.34,68.95,70.42,73.43,68.49,71.58,66.54,71.09,72.34,70.27,
-70.26,68.77,72.89,71.78,73.50,72.16,70.27,70.95,69.92,72.59,
-72.85,74.61,71.08,72.07,75.73,73.73,70.91,74.51,72.86,74.61,
-77.53,75.13,72.93,75.10,75.20,72.77,75.97,74.83,74.96,75.37,
-75.08,77.04,78.00,74.31,78.25,75.11,76.34,78.76,72.06,75.88,
-76.77,77.09,80.74,77.43,75.42,79.35,77.70,78.49,77.75,80.86,
-76.69,79.81,73.17,77.91,77.05,81.83,78.43,80.51,77.71,79.01,
-81.55,79.79,82.95,81.24,79.64,81.17,82.97,79.65,81.06,81.00,
-77.21,83.83,80.59,82.68,81.90,81.26,80.65,82.16,83.83,83.72,
-81.76,86.36,83.05,86.46,83.69,86.84,81.42,84.08,84.77,84.32,
-14.89,15.68,16.55,17.89,18.15,18.88,19.07,20.80,21.38,20.25,
-20.73,21.42,22.15,22.57,23.41,24.04,23.73,23.97,25.24,25.61,
-25.65,26.09,26.10,27.29,26.26,28.16,29.01,29.63,28.95,28.97,
-30.25,28.82,30.19,32.62,31.46,32.82,32.18,32.72,33.04,34.01,
-34.16,32.60,33.82,34.24,35.40,34.60,34.47,34.75,35.72,35.51,
-36.18,36.90,35.38,37.84,37.81,39.36,40.07,36.26,39.57,39.42,
-38.48,38.88,38.73,40.56,41.93,41.74,41.87,42.41,41.25,42.88,
-41.53,41.56,41.88,42.78,41.04,43.89,43.36,43.69,43.22,46.19,
-45.22,45.63,45.25,44.17,44.23,46.22,45.71,45.02,45.87,47.66,
-48.36,47.10,47.14,47.84,47.33,46.66,48.16,47.72,49.14,47.92,
-48.28,50.59,51.04,49.38,49.21,49.92,49.89,51.96,48.56,50.66,
-51.17,52.89,50.12,51.72,52.76,49.39,51.78,51.87,52.66,52.97,
-55.22,53.20,53.67,53.25,53.67,54.47,56.36,51.61,55.24,56.75,
-54.06,55.12,57.18,55.02,55.77,55.55,57.56,59.65,57.05,57.35,
-55.64,58.98,58.64,57.15,55.00,58.41,58.38,57.38,58.57,59.77,
-60.47,60.25,58.46,56.16,60.67,60.77,59.72,61.78,59.65,60.84,
-59.93,62.18,62.77,61.57,62.90,64.43,62.30,61.43,64.50,63.97,
-62.89,62.58,62.36,62.47,64.18,64.04,63.13,62.58,65.56,61.08,
-64.55,64.80,65.75,63.46,65.41,65.92,66.86,65.77,66.60,65.78,
-64.35,63.96,64.72,64.14,65.44,68.14,68.00,64.22,67.92,66.22,
-66.75,68.88,68.65,66.69,68.39,69.65,67.07,68.33,70.01,69.53,
-72.73,70.54,70.75,74.45,69.85,71.82,70.00,70.14,67.86,69.64,
-70.71,68.83,73.12,74.89,73.66,71.08,73.70,73.45,71.86,71.74,
-74.79,72.10,72.69,72.99,70.83,77.11,69.97,74.12,70.90,72.13,
-72.56,74.86,77.05,78.48,76.58,73.54,72.34,73.58,77.33,74.52,
-75.15,76.99,74.68,73.59,74.61,76.84,72.96,75.48,77.43,75.11,
-77.74,77.36,75.05,75.46,78.01,76.94,78.24,79.56,76.22,79.68,
-82.10,77.40,78.92,77.10,79.26,78.98,79.80,79.52,80.91,78.70,
-78.44,79.37,81.18,80.20,82.56,79.28,78.16,79.57,79.28,78.81,
-14.10,15.04,15.54,17.41,16.71,18.30,18.37,18.59,19.07,20.89,
-20.08,21.35,21.02,21.39,22.27,21.86,22.27,22.72,23.30,24.65,
-25.59,24.79,25.26,26.03,26.98,26.05,27.28,27.70,27.44,28.67,
-28.64,30.27,30.08,30.15,29.63,31.21,29.99,30.39,32.79,30.54,
-32.04,31.99,32.47,33.30,33.17,33.61,33.69,33.62,33.77,34.38,
-33.83,36.87,35.13,34.64,34.99,36.42,36.57,37.08,38.03,37.09,
-37.86,40.44,38.25,39.46,38.24,39.18,37.81,39.41,39.74,39.97,
-40.52,38.73,41.29,42.19,39.34,41.09,40.55,42.31,41.52,42.81,
-42.31,41.69,42.68,43.35,43.86,43.39,42.83,45.29,45.19,42.31,
-47.28,45.67,43.93,47.13,46.39,45.64,45.45,47.03,47.00,45.19,
-47.77,45.85,46.14,46.62,47.85,48.00,48.04,47.25,48.96,50.60,
-47.82,49.34,50.19,47.75,50.20,49.92,51.04,51.04,51.89,52.24,
-51.20,51.83,51.82,51.08,52.27,53.01,52.37,51.88,53.06,52.65,
-53.15,54.31,53.87,52.91,52.45,54.04,52.99,52.79,54.65,55.75,
-53.17,56.58,57.59,55.94,55.01,54.08,53.55,54.66,54.40,58.12,
-55.03,57.22,55.99,58.48,55.56,55.94,57.64,56.35,56.54,57.52,
-58.65,56.79,56.98,60.67,59.22,62.16,59.56,55.97,59.12,62.01,
-61.88,59.95,58.71,58.12,58.65,61.20,63.42,60.76,59.84,60.98,
-61.36,62.77,62.22,61.47,63.79,61.02,61.85,60.35,62.20,65.12,
-61.26,64.28,63.66,64.26,62.54,61.43,64.53,64.68,65.50,63.87,
-64.90,62.25,66.32,65.52,67.02,66.74,65.65,65.17,67.89,66.52,
-66.30,64.58,68.54,65.09,67.38,68.98,67.33,69.61,68.59,66.75,
-66.45,66.21,69.39,66.37,68.52,68.70,69.40,68.11,67.83,71.40,
-71.15,69.99,69.54,68.28,71.82,68.68,71.64,68.02,72.63,70.92,
-75.06,71.69,72.54,75.59,69.16,74.22,70.09,74.15,74.19,74.35,
-71.01,72.47,74.81,71.36,72.66,73.06,73.93,73.32,72.85,71.29,
-70.72,73.56,71.29,71.70,74.67,75.24,75.41,73.54,75.03,73.06,
-76.03,76.47,74.87,75.39,77.07,71.85,76.33,73.23,73.73,77.43,
-79.64,76.87,75.36,77.14,76.87,79.58,79.02,75.84,79.65,78.46,
-13.85,14.82,15.38,16.24,15.99,16.71,17.97,17.83,19.28,18.10,
-19.17,20.05,21.27,21.36,21.93,21.27,22.45,22.95,22.81,23.44,
-23.62,24.15,24.69,24.40,25.15,24.96,25.73,26.65,27.75,27.08,
-28.16,27.54,27.93,28.45,29.14,29.54,29.79,29.65,30.49,30.19,
-30.45,31.90,31.29,31.26,32.02,31.13,32.08,33.29,32.83,31.24,
-35.07,33.34,34.50,33.40,34.17,34.71,33.65,34.63,36.41,36.12,
-33.39,36.84,38.43,35.55,38.00,37.93,36.99,39.01,36.43,37.61,
-37.83,38.70,38.90,39.77,39.46,39.22,40.69,40.69,38.04,38.94,
-40.37,41.38,41.80,42.31,40.80,40.02,42.17,41.00,42.13,43.29,
-42.54,41.91,43.94,45.54,44.02,43.34,43.67,44.23,43.06,44.86,
-45.93,46.31,44.51,46.21,45.29,44.15,43.79,45.67,47.65,46.43,
-46.80,47.70,48.47,47.52,46.98,46.78,46.20,48.77,48.88,48.15,
-48.74,47.60,48.67,49.22,49.88,49.93,49.57,53.15,50.18,50.64,
-51.75,52.75,49.53,51.60,50.31,49.69,51.34,52.69,52.57,50.28,
-51.28,52.78,54.40,50.92,53.02,53.47,52.00,54.31,53.91,54.29,
-52.85,55.74,53.87,56.21,54.90,53.59,54.37,53.44,52.78,55.06,
-55.22,55.32,54.30,57.02,54.96,55.65,55.35,57.25,57.21,56.58,
-55.58,56.71,61.25,58.15,58.17,60.18,56.89,59.61,57.31,57.86,
-60.48,57.74,59.40,59.46,59.42,59.67,58.10,57.80,62.03,59.20,
-62.20,58.38,62.28,60.34,60.73,60.48,61.43,62.10,58.70,62.83,
-59.85,64.18,63.97,59.86,63.63,60.11,62.02,64.13,62.99,61.51,
-63.74,64.09,63.42,64.08,64.62,62.27,64.87,65.73,64.41,63.38,
-66.11,65.73,62.53,65.09,65.63,65.01,66.16,65.97,65.99,68.42,
-62.70,66.66,67.33,65.28,69.64,66.79,67.85,67.41,68.97,66.97,
-68.48,69.16,68.02,69.68,69.53,68.48,68.82,67.51,70.14,67.79,
-68.01,71.32,68.24,67.70,70.34,67.59,68.59,69.18,68.12,69.42,
-69.21,71.34,70.72,72.84,70.94,73.73,69.58,69.99,71.67,72.15,
-71.52,74.88,74.67,72.07,71.06,72.18,69.42,72.95,73.33,74.06,
-71.10,77.31,71.46,73.02,74.52,73.72,73.89,75.65,72.87,72.82,
-11.96,13.97,14.69,15.96,14.85,15.99,16.21,17.50,16.67,17.92,
-18.48,19.02,19.49,19.21,20.69,21.21,20.19,20.60,22.86,21.92,
-21.44,22.97,22.95,23.14,24.05,24.14,25.32,25.17,25.21,25.73,
-26.16,25.93,26.60,27.24,25.57,27.60,26.99,27.56,26.98,27.41,
-29.20,28.32,29.80,29.00,29.35,30.14,30.48,31.25,30.43,30.62,
-31.91,32.09,30.91,32.86,33.37,33.27,34.09,32.09,33.91,33.87,
-33.43,33.40,34.79,34.83,34.16,35.30,33.97,35.58,34.39,36.21,
-36.10,36.81,36.51,37.45,36.89,38.13,37.37,38.16,37.26,38.53,
-38.29,38.84,41.55,40.36,39.82,38.66,42.24,39.77,41.17,39.06,
-38.56,41.79,42.93,41.12,41.85,40.09,41.82,43.00,41.86,42.30,
-43.78,42.64,42.09,43.05,43.89,45.95,42.60,41.98,42.94,43.97,
-44.66,45.81,44.30,45.10,45.95,46.35,45.34,46.72,43.87,45.64,
-47.43,45.03,45.60,46.46,48.60,48.03,49.01,46.50,48.79,47.91,
-47.51,47.86,50.70,46.21,49.28,48.06,49.58,49.11,49.90,49.27,
-48.99,51.08,49.88,51.60,49.77,50.48,50.67,51.54,50.46,50.18,
-51.42,49.41,51.31,52.17,53.05,52.25,51.93,52.44,52.87,54.17,
-54.73,52.62,53.56,52.92,51.96,53.31,53.39,53.34,54.62,54.70,
-54.36,53.19,56.11,56.50,55.95,54.35,54.26,56.57,55.76,55.08,
-55.23,55.61,54.17,56.42,55.93,55.87,54.34,57.21,55.62,57.16,
-55.59,57.98,57.60,57.70,59.18,56.63,58.43,58.86,57.34,59.60,
-57.26,61.44,58.93,58.99,59.33,58.87,60.87,60.94,58.10,60.42,
-60.90,62.57,60.61,57.36,60.22,61.54,59.43,60.23,61.65,62.28,
-62.85,57.93,63.56,61.19,61.32,62.65,64.78,62.30,63.98,63.04,
-61.89,63.36,63.18,65.60,60.93,64.13,61.37,66.07,63.33,65.60,
-60.77,65.92,65.02,66.23,67.40,63.84,64.25,65.18,62.06,63.45,
-67.43,65.80,66.01,65.68,65.07,68.35,62.98,65.73,65.92,66.10,
-66.01,61.72,66.30,65.04,69.78,68.05,68.04,67.22,66.25,65.26,
-68.14,70.03,68.95,67.76,67.29,69.30,67.68,68.79,66.26,70.92,
-68.94,69.45,67.61,69.17,68.51,68.85,69.25,72.37,72.23,71.40,
-12.20,13.09,13.17,14.04,14.18,15.35,15.29,15.81,16.55,16.56,
-17.14,18.61,19.04,18.97,18.32,19.43,20.09,20.03,20.52,20.82,
-21.22,20.79,21.45,21.63,23.09,22.19,22.23,23.90,23.91,23.50,
-23.22,25.61,24.08,25.32,25.00,26.53,27.65,26.29,25.59,27.93,
-26.33,27.41,27.59,29.03,28.37,27.42,29.52,30.31,28.60,30.26,
-30.51,29.93,29.58,31.57,30.72,31.94,30.97,31.84,32.77,31.46,
-32.18,32.36,30.90,32.39,33.98,33.99,33.28,33.40,33.90,34.97,
-33.78,33.88,35.28,34.76,34.82,34.74,36.10,34.86,37.74,37.23,
-36.40,37.16,38.01,36.65,37.38,36.02,36.60,36.99,38.83,37.39,
-38.97,37.18,37.06,39.30,39.21,39.31,40.16,38.35,40.18,38.57,
-39.76,39.68,40.78,38.62,39.62,42.25,42.05,41.34,39.95,42.24,
-40.58,43.11,41.65,44.00,41.79,41.61,43.83,42.98,45.20,43.60,
-42.38,42.84,44.66,43.00,45.73,45.12,45.55,44.93,46.27,44.11,
-45.77,45.71,45.15,46.81,45.40,47.08,45.77,48.18,46.28,44.32,
-47.99,44.97,45.89,47.53,45.73,46.61,47.05,47.27,46.26,49.93,
-48.02,46.31,49.83,50.33,49.49,49.12,49.22,49.79,49.17,49.25,
-49.08,50.53,48.63,50.97,50.29,48.89,53.38,49.07,50.17,53.50,
-51.50,50.81,53.55,52.90,52.30,50.80,51.67,52.74,53.30,51.97,
-51.71,54.23,54.40,56.02,55.61,56.51,54.64,56.28,51.55,53.04,
-54.45,53.57,53.99,53.34,55.33,56.13,56.38,56.88,56.76,57.52,
-56.08,53.89,56.21,55.76,56.68,55.12,57.36,55.43,56.70,57.23,
-56.19,58.21,56.77,58.72,57.63,57.06,58.84,57.75,56.57,53.84,
-55.98,55.08,58.59,58.47,56.66,57.33,57.59,59.10,60.28,58.81,
-59.92,58.92,60.14,60.40,60.11,60.33,62.04,61.43,60.14,60.39,
-59.21,61.41,63.17,62.09,59.72,62.48,61.92,60.54,61.67,60.63,
-61.13,60.12,63.21,66.01,62.77,64.66,61.61,62.44,64.95,61.29,
-64.76,63.63,61.58,62.95,63.87,67.22,64.46,62.26,63.88,62.00,
-66.31,65.28,66.16,65.95,65.94,65.70,65.72,64.62,67.01,63.89,
-66.01,64.01,65.21,67.68,64.08,65.41,64.50,65.65,67.37,65.60,
-12.36,12.11,12.83,13.30,14.36,14.66,15.22,14.94,15.78,16.14,
-15.88,16.55,16.77,17.62,17.66,18.84,18.42,18.54,18.89,20.04,
-19.72,20.14,20.08,20.03,20.75,20.94,22.20,22.37,22.93,22.70,
-22.49,23.37,23.54,23.86,23.74,24.05,24.49,24.87,25.65,23.94,
-25.21,26.50,25.98,26.65,25.97,27.19,26.98,27.54,27.89,27.61,
-26.77,27.92,28.16,29.31,29.62,28.93,28.98,29.19,30.24,30.66,
-30.75,31.73,30.58,31.37,31.71,30.59,32.36,31.35,31.70,31.55,
-31.37,30.33,32.35,32.60,32.05,33.00,33.73,32.72,32.78,33.05,
-33.92,35.88,35.74,34.31,33.93,34.82,36.18,35.66,36.42,36.73,
-36.30,35.00,36.10,36.06,37.90,39.00,37.01,37.87,37.63,37.63,
-37.22,38.44,38.04,39.87,39.17,40.19,39.09,40.90,39.20,40.56,
-39.13,39.81,41.31,40.32,41.35,40.56,40.28,42.46,41.67,40.51,
-41.35,40.06,40.64,43.48,40.05,42.55,41.80,41.41,42.42,45.03,
-42.94,44.99,43.05,43.40,42.35,44.40,42.28,45.15,43.08,43.51,
-44.58,44.19,45.75,45.18,46.44,46.17,46.38,45.09,45.66,44.43,
-45.74,45.96,45.61,45.17,47.05,45.63,45.58,46.13,47.61,49.05,
-48.75,47.98,47.14,46.74,48.76,46.89,47.51,49.30,48.71,47.79,
-47.70,46.61,49.13,47.31,48.95,48.29,50.33,50.49,49.46,50.56,
-51.07,52.48,50.38,49.91,50.38,51.08,50.63,49.76,49.88,50.53,
-51.28,48.47,51.87,51.27,51.68,53.28,52.65,51.23,51.40,51.32,
-51.95,52.14,51.15,52.76,55.33,54.38,53.78,52.65,53.13,53.15,
-54.65,54.31,52.78,52.52,52.36,53.96,53.73,55.18,55.18,54.38,
-52.35,54.07,54.35,54.23,56.31,54.74,55.40,54.69,56.20,57.85,
-58.50,56.25,58.77,56.92,55.33,60.12,56.41,54.24,57.95,58.77,
-59.46,56.68,59.04,56.74,59.52,62.28,61.49,59.28,57.75,57.94,
-57.21,58.59,57.21,60.73,60.00,59.06,58.34,58.20,57.86,59.27,
-59.81,57.87,59.26,57.78,56.61,58.43,60.71,60.08,59.20,60.41,
-58.63,59.71,63.12,60.43,60.32,62.07,61.73,59.97,59.84,63.30,
-61.51,60.80,64.08,61.88,63.37,63.03,60.94,63.18,62.30,60.45,
-18.19,19.53,19.51,20.50,20.29,20.86,22.27,22.19,24.00,24.85,
-24.54,25.84,26.60,26.37,27.25,27.67,28.27,28.98,28.78,28.34,
-29.95,30.34,29.83,30.39,31.89,32.31,33.50,33.35,34.60,34.22,
-34.02,36.24,36.29,36.09,36.48,35.36,36.47,39.17,37.12,37.93,
-38.81,38.38,39.56,38.01,40.55,39.02,40.54,40.23,40.26,41.48,
-42.56,41.68,41.49,42.10,43.12,43.99,44.05,45.21,45.23,44.47,
-44.69,45.15,45.28,45.96,47.42,47.78,47.02,48.12,49.92,48.26,
-48.25,49.92,49.10,49.15,49.44,51.19,52.29,51.79,50.43,50.38,
-52.13,52.66,53.51,51.73,51.40,50.51,52.38,53.30,53.19,53.13,
-52.52,53.12,54.84,55.66,55.91,55.52,55.28,57.67,54.68,57.62,
-56.47,58.27,57.00,57.28,57.89,57.97,56.74,58.51,56.74,57.95,
-58.88,57.10,60.80,58.26,58.49,62.15,62.03,61.03,60.79,59.55,
-60.47,60.99,59.48,61.48,63.56,61.80,63.96,60.67,63.52,63.10,
-64.26,65.24,64.96,64.95,66.19,65.06,64.96,63.94,67.21,63.54,
-66.47,65.49,64.63,66.79,63.89,69.20,68.16,67.65,67.28,67.89,
-67.23,69.04,69.09,66.24,67.56,67.84,67.68,72.09,70.32,68.47,
-69.15,73.46,71.06,73.01,68.05,67.95,72.67,70.72,70.93,72.41,
-70.43,70.89,72.99,72.09,74.82,73.83,70.91,75.31,73.64,74.94,
-74.42,74.60,75.32,73.10,73.37,75.25,71.96,75.73,79.09,75.59,
-72.98,75.39,77.33,78.82,73.88,78.48,79.01,73.21,78.91,75.90,
-76.40,78.42,78.59,79.72,77.83,82.03,79.96,79.72,79.38,83.00,
-82.03,80.53,82.87,79.52,81.38,82.36,82.01,80.83,83.80,84.88,
-80.89,81.79,82.68,81.09,81.74,81.55,83.78,85.75,83.03,85.68,
-81.99,86.95,85.14,80.51,85.48,85.65,82.64,83.36,86.46,82.88,
-82.71,86.86,81.46,84.15,88.71,85.19,87.15,87.06,84.58,84.12,
-82.40,83.58,88.58,85.02,87.59,90.01,88.12,88.84,87.22,87.02,
-88.11,91.88,85.07,89.89,89.59,87.38,90.01,86.77,88.21,89.41,
-88.83,90.74,88.11,89.51,93.42,87.75,96.42,89.75,88.61,89.56,
-90.68,90.88,91.27,90.77,92.05,92.35,93.57,96.86,89.28,91.46,
-17.64,18.90,19.29,20.91,22.49,22.19,22.52,24.36,25.44,24.80,
-25.31,26.62,25.95,26.45,27.41,27.48,28.29,29.51,29.11,29.18,
-31.16,31.38,32.94,33.22,33.48,34.06,34.33,34.19,35.30,36.27,
-34.62,36.20,36.58,36.56,38.10,39.05,38.55,37.25,39.52,36.40,
-39.32,40.74,40.67,39.93,40.94,41.40,40.53,40.72,43.22,43.10,
-42.11,42.29,43.65,46.73,42.86,45.75,45.09,45.09,46.44,46.73,
-46.57,47.03,47.48,47.16,47.79,46.20,48.19,50.22,50.10,48.01,
-48.64,50.14,49.29,51.07,50.82,50.76,51.70,51.90,51.59,51.75,
-52.42,53.73,53.93,54.32,53.00,56.76,55.39,56.45,55.20,55.35,
-56.56,55.66,56.94,54.78,57.56,57.77,57.43,58.02,58.16,59.02,
-59.38,57.06,60.49,59.11,60.07,58.62,60.56,59.77,61.35,60.92,
-61.86,61.81,61.59,64.01,64.74,61.12,61.89,63.58,62.58,63.53,
-64.48,63.75,63.45,64.27,65.30,62.59,64.27,65.39,66.77,64.67,
-67.75,66.03,66.53,67.11,63.87,66.04,71.22,67.24,66.55,68.48,
-67.94,67.58,73.10,70.72,67.69,68.85,68.83,69.03,69.97,70.43,
-68.82,71.59,68.52,69.40,70.33,71.16,72.21,71.64,71.08,71.73,
-74.93,74.26,72.41,71.30,73.32,70.72,72.52,73.34,72.30,72.42,
-75.01,72.73,74.70,76.01,76.69,71.98,72.32,75.47,76.42,76.96,
-76.13,77.87,74.49,79.76,75.89,76.95,77.81,77.19,78.74,76.46,
-80.82,77.19,78.39,77.54,79.35,78.63,82.78,80.56,78.59,79.04,
-80.47,80.67,79.23,79.96,80.78,83.98,86.27,82.17,81.62,86.34,
-78.81,83.27,80.50,82.31,81.51,81.02,84.37,82.22,86.06,84.68,
-84.93,86.01,85.93,83.71,86.77,85.44,85.65,86.07,85.80,89.21,
-83.83,85.06,83.88,85.58,87.42,91.21,84.27,84.14,86.21,86.65,
-86.11,86.01,92.27,89.24,88.03,91.77,87.06,87.22,91.78,86.51,
-90.34,90.25,90.97,91.71,92.08,89.15,90.59,88.44,90.14,93.73,
-91.10,92.87,91.68,90.63,92.71,93.68,91.06,89.16,89.76,96.00,
-91.77,95.88,97.11,93.90,96.38,95.33,95.38,94.60,90.62,93.56,
-98.67,97.57,92.91,93.75,95.12,93.36,93.36,95.52,93.00,96.38,
-17.90,20.24,21.12,20.87,21.21,23.05,24.29,24.19,25.67,26.62,
-24.82,26.75,27.42,27.98,27.54,29.20,30.06,29.32,30.53,31.29,
-31.06,32.04,33.14,33.04,33.17,34.20,34.66,35.10,34.83,35.81,
-35.53,38.17,36.61,36.76,38.80,37.07,38.50,38.42,39.18,40.85,
-39.69,40.26,41.00,41.88,41.40,41.98,43.91,42.67,43.52,43.43,
-42.87,42.72,43.08,45.39,45.33,45.71,47.10,45.38,45.91,45.70,
-47.93,46.39,47.34,48.50,49.04,49.38,48.92,49.89,50.14,50.71,
-48.12,51.91,51.09,51.74,51.82,52.31,53.83,51.52,51.84,53.12,
-54.69,52.57,54.68,53.60,54.67,56.54,56.85,55.02,54.55,56.52,
-57.04,56.75,55.96,57.23,56.73,56.06,60.10,60.20,58.22,62.02,
-61.17,60.10,59.69,58.84,59.89,62.72,62.29,63.26,61.54,62.77,
-61.84,63.36,63.70,61.75,63.12,61.74,65.53,63.04,63.58,63.59,
-63.60,64.64,63.71,65.50,66.50,64.69,66.26,67.06,65.75,66.02,
-66.53,69.18,66.53,66.58,67.86,69.23,68.05,69.41,68.58,67.42,
-68.50,67.58,68.50,67.56,68.53,72.64,71.14,71.23,68.50,72.72,
-71.72,74.86,73.29,70.15,73.44,72.73,72.28,71.59,72.88,73.38,
-72.59,75.58,74.06,75.28,74.14,74.69,78.10,77.45,77.40,75.83,
-77.97,74.83,75.99,76.79,77.47,78.25,75.96,79.13,80.62,79.25,
-80.71,78.27,78.18,78.91,79.63,80.68,79.92,77.94,77.57,77.33,
-79.35,80.35,81.72,78.48,78.50,83.31,83.16,81.76,83.52,84.83,
-82.39,83.24,81.96,82.13,82.04,80.46,82.13,81.38,80.04,80.20,
-81.47,82.78,86.06,86.14,85.05,84.37,83.90,84.22,84.53,84.17,
-90.17,86.17,84.03,87.17,85.40,86.40,86.71,86.18,83.17,86.98,
-87.17,83.63,86.86,87.72,91.41,89.47,88.66,89.58,88.40,85.93,
-84.83,89.38,89.39,87.13,92.57,90.35,88.96,90.44,91.70,91.10,
-86.58,89.66,94.76,89.78,90.45,94.36,88.05,90.96,94.03,94.16,
-93.25,96.31,90.62,93.98,94.09,93.69,89.87,88.07,96.82,97.75,
-89.94,93.91,94.82,94.15,95.02,92.34,94.24,98.75,91.95,99.09,
-99.44,99.25,93.68,95.61,94.75,94.25,98.27,93.69,97.02,102.31,
-19.00,19.49,20.11,21.27,21.76,22.71,23.18,23.54,25.82,25.11,
-26.00,26.95,27.57,27.55,27.99,29.04,29.66,30.63,30.39,32.45,
-32.80,32.49,32.64,34.73,33.59,33.29,34.63,36.14,33.92,37.49,
-35.20,37.86,36.23,36.51,37.42,38.90,39.25,38.76,39.67,39.92,
-38.20,41.38,41.48,41.55,43.67,42.39,42.11,41.85,44.17,43.04,
-45.23,44.64,45.38,46.16,46.61,47.07,48.35,45.87,47.43,45.99,
-48.86,48.94,48.19,48.94,49.25,48.31,51.10,51.36,52.30,50.36,
-50.86,51.35,52.84,52.67,51.37,54.79,53.45,52.59,55.11,57.98,
-54.64,52.32,55.49,56.40,57.68,55.29,55.86,56.00,55.17,56.67,
-56.07,58.67,57.29,57.14,59.80,57.41,58.81,58.03,58.14,60.65,
-60.84,58.13,59.30,60.41,58.19,61.31,59.17,61.65,63.08,62.02,
-62.65,63.38,61.64,63.02,64.86,61.80,65.32,64.91,67.81,66.14,
-65.47,66.26,68.21,66.37,65.92,67.91,65.58,65.38,65.25,68.58,
-66.33,67.24,67.75,70.73,70.19,69.90,67.80,69.29,69.56,70.35,
-71.04,74.08,71.60,70.60,71.49,72.41,71.23,76.28,72.34,71.06,
-72.16,71.43,75.37,72.04,73.29,74.14,72.98,72.25,75.73,74.79,
-74.65,75.72,77.09,76.25,77.36,76.60,73.34,73.64,77.77,76.54,
-78.48,75.83,79.05,80.31,76.29,74.55,75.77,77.23,78.33,76.90,
-79.06,79.02,76.90,82.13,78.08,78.79,78.27,78.86,76.55,81.28,
-80.67,77.58,78.52,80.65,82.43,80.19,78.24,80.83,84.48,82.14,
-78.03,80.04,84.03,80.02,84.37,85.18,84.30,84.21,82.82,88.25,
-84.09,84.74,85.56,84.19,87.74,85.51,87.85,84.01,84.36,86.24,
-89.09,85.26,85.37,88.54,94.44,87.20,86.57,87.73,90.61,86.77,
-87.84,87.20,91.50,86.79,91.70,88.43,88.19,90.61,90.07,92.21,
-90.58,90.84,89.82,87.86,94.41,89.53,90.00,93.07,92.29,92.68,
-95.30,92.26,92.30,92.47,93.47,92.18,92.88,89.87,94.66,95.07,
-97.46,97.06,93.81,94.56,92.24,96.85,96.09,96.85,95.91,94.44,
-96.84,98.00,91.38,98.73,95.72,97.59,97.31,97.97,98.36,96.54,
-95.02,102.06,90.31,96.64,102.39,98.92,105.10,97.62,96.72,100.54,
-18.56,19.36,20.84,20.98,23.07,22.43,23.12,24.71,25.48,25.02,
-25.54,26.33,27.98,29.36,27.32,29.05,29.69,29.96,30.02,32.58,
-31.66,32.95,33.02,32.60,34.52,34.10,34.66,35.58,35.57,35.11,
-35.11,36.21,36.99,36.94,38.10,38.01,38.87,39.14,38.49,39.43,
-39.73,40.19,41.28,40.01,42.53,40.36,42.61,43.69,44.16,42.97,
-43.69,44.88,44.56,44.06,44.30,45.02,45.30,48.74,48.77,48.46,
-48.51,48.57,49.47,48.24,50.74,49.83,49.16,47.99,50.09,50.28,
-49.71,50.67,52.91,51.85,53.53,52.24,50.98,54.08,53.08,53.62,
-53.81,55.04,53.02,54.49,54.78,54.89,58.07,55.73,58.45,55.24,
-56.74,56.46,58.21,59.34,58.08,57.31,55.93,57.65,57.38,56.69,
-59.20,59.95,58.47,60.28,59.96,62.84,60.66,62.97,61.01,61.86,
-62.65,63.16,61.09,61.41,62.19,63.14,63.40,66.59,62.47,66.19,
-61.67,68.53,62.70,64.98,67.41,68.32,68.85,68.88,67.68,66.63,
-67.76,65.49,68.79,68.03,68.22,66.79,69.35,68.07,66.52,69.98,
-70.95,68.28,71.47,72.19,69.40,69.84,71.97,67.47,71.22,73.67,
-73.93,73.62,73.43,73.55,71.31,75.27,71.31,76.46,74.90,72.95,
-72.67,74.31,75.88,70.91,71.88,71.73,75.36,80.42,81.63,76.61,
-77.66,73.70,76.95,77.13,74.90,77.94,79.24,74.59,75.91,79.37,
-77.92,79.35,76.61,79.57,78.95,77.23,78.35,78.22,82.58,81.29,
-82.21,84.58,78.68,81.94,79.63,82.56,83.10,82.15,82.73,82.64,
-82.21,81.94,83.16,85.78,81.56,83.86,81.59,87.63,86.79,84.43,
-83.70,85.14,84.47,85.10,83.56,82.14,85.87,85.30,84.46,87.81,
-88.29,87.11,87.27,88.81,83.24,88.85,88.66,86.23,90.33,86.13,
-87.71,89.17,88.39,88.68,89.40,82.05,90.33,89.33,87.72,91.20,
-90.01,88.98,92.52,92.74,88.61,89.46,90.73,88.50,87.25,94.02,
-89.84,92.05,92.31,92.19,91.82,96.49,95.33,94.46,94.92,93.73,
-96.94,97.05,92.17,93.02,90.20,92.02,97.04,93.95,90.19,95.43,
-97.82,94.48,97.06,95.29,94.32,96.10,96.19,96.73,96.16,98.90,
-94.56,98.30,100.22,99.47,95.22,98.14,98.28,101.23,91.13,96.60,
-18.96,19.47,20.10,20.71,21.94,22.58,23.47,24.37,24.48,24.57,
-25.55,25.57,27.45,27.02,28.02,28.80,28.46,29.29,30.29,30.85,
-31.11,32.62,32.71,33.49,32.90,34.47,33.91,33.24,36.88,36.96,
-35.73,36.44,35.97,38.14,37.90,38.89,38.63,38.50,39.88,39.97,
-40.27,40.56,40.99,42.12,40.96,40.05,42.71,43.81,42.60,44.89,
-43.65,44.19,44.77,45.68,44.88,44.37,45.57,46.53,47.05,45.66,
-48.02,46.31,46.86,49.64,49.28,47.97,49.37,50.66,49.18,49.09,
-51.85,50.77,52.85,52.14,50.70,52.24,52.58,51.86,54.17,53.12,
-52.68,52.36,55.27,53.69,54.98,53.15,55.95,56.13,57.54,56.15,
-57.31,53.39,57.25,58.42,57.88,58.99,57.64,59.23,60.56,58.17,
-59.05,60.68,58.68,61.69,59.14,60.31,63.18,62.18,61.82,58.87,
-61.40,62.16,62.74,63.74,64.85,61.67,62.08,61.93,63.61,64.21,
-66.37,66.03,63.99,64.89,64.96,66.25,66.48,66.60,65.21,66.08,
-66.73,68.64,67.04,69.69,67.85,67.25,66.78,69.27,66.01,66.64,
-69.12,68.88,70.12,71.34,71.15,70.57,69.45,71.67,70.43,68.63,
-70.24,73.46,71.90,71.63,71.43,69.27,72.77,74.99,72.18,73.34,
-74.78,73.05,76.49,73.56,76.49,76.78,74.29,73.83,75.39,75.90,
-75.15,76.19,76.24,75.89,81.35,76.49,77.96,78.87,76.52,77.31,
-77.09,76.36,76.98,78.19,78.48,77.09,78.61,79.67,78.21,80.01,
-77.87,78.05,80.59,78.36,79.58,77.46,82.48,81.86,80.45,79.44,
-82.17,82.48,79.38,81.04,85.09,84.31,79.28,85.18,86.76,82.39,
-84.27,82.16,83.99,86.80,84.47,85.86,85.93,84.57,80.76,86.11,
-83.94,87.06,86.18,86.60,87.20,85.79,87.85,88.89,87.20,91.69,
-89.53,86.89,86.70,84.93,88.93,85.11,91.28,89.99,88.94,87.59,
-88.58,89.94,87.32,88.28,90.19,93.80,87.06,90.92,89.36,91.03,
-92.15,90.89,88.98,93.35,92.43,95.39,93.44,95.48,91.85,92.18,
-89.58,95.16,91.64,93.09,90.96,94.14,93.73,93.39,91.36,91.84,
-94.49,94.95,94.70,93.04,95.81,95.81,94.91,99.52,93.37,95.99,
-96.07,101.56,97.79,97.68,97.10,95.32,94.35,92.89,99.71,99.77,
-18.47,19.53,19.27,21.04,21.00,21.84,22.49,23.67,23.67,24.24,
-25.37,24.87,25.67,27.05,27.76,29.07,27.91,30.00,29.06,30.68,
-31.55,31.05,31.67,33.72,33.55,33.84,34.55,33.21,35.06,33.08,
-34.73,36.99,35.88,36.02,37.29,37.44,37.67,37.67,38.21,39.65,
-38.77,38.98,40.34,41.63,41.00,40.31,41.49,42.01,41.22,45.10,
-41.56,44.10,43.86,42.82,42.51,45.22,45.99,44.32,47.77,47.58,
-47.11,48.26,48.70,46.38,47.11,47.18,48.43,50.42,47.94,49.42,
-48.11,50.14,50.81,51.64,49.58,49.06,51.31,51.68,50.26,52.53,
-54.71,53.44,52.59,54.20,56.53,57.14,54.82,54.10,56.34,53.82,
-55.62,55.34,57.43,55.21,54.88,55.78,57.94,56.19,57.39,59.92,
-58.05,58.66,59.36,58.78,61.12,60.37,59.29,59.32,59.19,61.15,
-59.23,59.32,63.48,61.25,63.51,63.09,62.38,63.22,60.56,63.70,
-62.71,63.85,65.46,66.44,63.69,65.11,64.77,64.74,66.65,66.82,
-66.00,68.35,65.27,64.11,65.93,66.06,67.15,67.36,66.85,68.07,
-67.72,69.81,67.67,67.55,67.34,68.05,69.10,67.88,71.42,70.57,
-70.11,74.07,71.90,68.97,69.77,71.94,72.64,73.73,71.72,73.34,
-73.28,75.63,72.28,73.73,74.25,74.49,71.46,74.09,74.19,74.78,
-75.51,76.05,75.78,74.87,71.62,77.93,74.90,75.19,76.08,76.43,
-77.43,78.90,75.53,78.31,77.53,80.56,75.55,77.65,78.03,75.98,
-79.90,75.97,77.27,82.17,81.29,77.23,79.73,79.21,80.09,80.13,
-80.57,82.42,79.58,78.96,81.89,79.75,80.17,82.60,84.07,85.36,
-84.63,82.06,82.70,83.72,83.16,84.26,80.88,85.85,80.90,84.88,
-84.18,84.85,83.64,84.89,83.02,81.36,84.52,87.80,84.71,88.10,
-85.45,83.43,87.32,88.63,84.35,84.79,87.28,84.98,87.34,84.34,
-88.12,87.12,91.24,85.86,83.88,90.39,90.86,90.60,90.70,89.84,
-90.75,91.05,89.53,90.36,90.32,94.33,90.88,94.13,89.06,89.18,
-92.87,88.60,93.82,89.12,93.58,97.67,92.24,92.78,92.83,93.86,
-91.84,93.78,92.57,94.46,92.08,90.54,93.96,91.69,93.95,93.01,
-94.47,96.30,94.25,93.08,100.35,95.78,98.05,96.44,97.89,97.59,
-17.76,19.01,19.23,19.86,20.04,21.88,21.59,23.20,23.86,24.52,
-24.31,24.54,25.88,25.78,26.74,27.34,27.24,28.19,28.38,30.18,
-29.62,30.09,30.80,31.99,32.16,32.52,34.06,33.85,33.58,34.54,
-35.06,34.64,33.52,36.33,36.92,35.71,36.07,36.68,37.70,39.00,
-38.87,39.59,40.30,40.16,39.71,39.86,41.52,41.34,41.97,42.56,
-41.89,43.69,44.84,42.80,44.83,43.04,43.21,45.02,43.88,44.77,
-42.90,45.30,46.66,45.59,47.80,48.26,46.92,46.40,47.28,50.30,
-47.84,47.89,50.53,49.47,52.08,47.18,51.44,51.41,50.67,50.65,
-51.86,52.22,51.54,52.57,53.78,52.76,55.57,52.28,52.06,52.77,
-54.07,55.46,57.47,53.07,55.83,52.96,54.81,53.74,57.39,55.96,
-57.13,59.06,57.62,57.09,59.82,58.49,57.14,59.72,60.47,58.45,
-61.47,61.69,60.10,62.33,59.28,59.14,59.97,58.75,61.33,61.96,
-61.53,61.83,62.78,64.22,61.89,60.99,62.35,64.34,66.38,62.62,
-63.24,65.77,64.09,67.26,65.43,65.74,66.29,66.68,66.02,67.54,
-63.70,65.85,67.49,67.39,64.44,66.52,66.61,69.24,67.58,66.38,
-66.68,67.66,70.06,69.76,70.62,69.34,73.45,69.36,71.64,69.53,
-70.79,72.31,71.89,71.81,73.05,71.93,68.43,73.43,73.14,72.16,
-71.87,70.97,77.66,73.40,71.14,69.54,76.66,75.65,73.68,75.23,
-76.41,73.42,74.13,72.55,75.06,77.23,77.75,78.82,73.82,74.32,
-75.59,77.13,76.37,77.81,76.27,76.00,77.42,78.47,76.15,75.17,
-78.71,78.57,78.31,80.91,76.52,77.24,78.33,78.14,80.53,82.36,
-80.43,80.79,77.44,76.64,81.34,79.77,81.91,80.50,78.44,81.70,
-80.13,80.05,83.61,82.95,81.26,80.77,84.25,79.91,85.54,87.44,
-83.28,84.46,83.12,86.17,86.10,85.88,85.99,86.14,84.87,83.26,
-85.84,88.14,86.76,87.23,85.49,88.10,86.69,86.22,88.98,85.73,
-86.15,85.55,87.98,86.61,87.83,87.84,87.88,85.97,91.35,85.23,
-88.81,88.42,88.40,88.08,89.70,91.76,86.76,90.87,90.82,91.91,
-90.77,93.71,91.26,91.97,92.61,87.11,92.43,93.18,91.90,91.98,
-92.84,92.90,91.39,89.03,96.78,90.10,92.07,91.89,89.92,92.69,
-17.40,17.73,17.93,19.26,19.75,21.05,21.51,22.13,23.36,23.97,
-23.59,25.30,25.27,26.00,27.40,27.47,27.77,27.04,28.08,28.45,
-30.36,29.15,30.17,29.48,31.07,32.29,32.18,31.85,33.27,31.59,
-34.10,35.28,34.31,34.03,33.64,35.61,36.76,36.62,37.80,38.74,
-37.17,36.87,36.13,37.69,38.87,37.57,39.22,39.83,40.14,40.99,
-41.49,40.67,41.61,42.13,42.97,43.99,42.04,44.14,43.53,44.89,
-43.33,43.79,44.44,46.00,46.04,44.82,45.96,46.72,46.53,46.43,
-47.76,45.92,47.22,47.88,48.97,48.10,49.40,47.93,49.49,48.22,
-49.86,49.66,48.90,49.27,51.63,51.14,50.78,52.97,52.64,51.21,
-52.54,52.91,51.43,53.59,54.83,55.13,52.48,53.68,54.04,54.21,
-54.18,55.78,57.10,55.32,57.64,57.89,56.76,55.21,55.36,56.95,
-59.72,57.08,57.76,56.18,59.56,60.98,60.27,57.87,57.80,59.32,
-59.95,58.52,63.43,60.85,60.29,62.77,56.51,60.63,63.62,60.95,
-62.17,62.36,64.47,61.38,65.64,64.13,62.57,63.09,65.31,62.66,
-66.78,64.84,64.38,63.53,66.78,66.95,67.72,66.17,64.83,66.07,
-69.72,66.02,67.13,67.12,65.82,66.94,66.65,65.86,66.00,68.90,
-67.06,67.58,67.50,70.76,70.55,69.06,67.73,69.98,69.58,66.86,
-68.26,69.82,70.37,73.53,69.66,71.83,72.04,70.79,71.23,72.22,
-74.01,71.27,71.16,73.98,74.51,71.02,76.03,72.13,73.23,73.75,
-73.67,76.08,77.54,73.56,76.29,74.24,75.63,74.69,76.94,74.14,
-73.79,77.50,81.55,77.49,75.46,76.60,77.75,75.10,77.52,78.36,
-81.01,78.27,78.12,76.27,80.11,76.35,80.68,80.92,81.15,80.13,
-81.96,77.71,77.44,81.98,81.41,78.89,80.39,82.89,81.00,81.72,
-82.56,80.97,77.79,80.03,78.06,77.45,80.96,80.03,84.17,82.96,
-83.74,86.85,83.96,82.97,79.84,83.56,81.80,81.99,83.85,80.40,
-86.19,86.92,83.95,84.96,84.20,84.23,83.26,86.32,85.71,88.06,
-91.80,84.05,89.82,82.92,87.38,85.84,88.92,90.93,89.34,84.46,
-91.05,87.09,89.14,89.38,88.23,90.75,85.91,88.24,90.66,92.75,
-88.59,91.05,92.17,92.34,94.96,92.35,87.53,90.13,91.85,91.42,
-16.69,17.08,18.44,18.27,19.30,20.61,21.83,21.37,22.21,22.94,
-23.99,23.58,24.96,24.85,24.14,24.82,26.26,26.68,26.80,28.61,
-28.40,28.75,28.97,29.48,30.20,29.80,31.76,30.88,31.16,31.96,
-32.54,32.68,33.28,34.64,33.18,34.45,34.67,34.88,35.25,35.66,
-36.00,37.88,36.06,36.22,37.30,38.41,38.66,37.85,39.15,38.86,
-39.28,38.62,41.17,39.62,39.93,40.32,40.90,43.03,43.11,42.08,
-42.29,44.21,44.65,44.01,46.67,44.65,44.31,44.12,44.34,45.72,
-45.24,47.65,45.77,45.91,46.59,46.80,47.04,46.18,47.16,49.78,
-49.94,49.95,49.17,48.26,49.81,49.83,48.77,51.26,49.78,49.56,
-50.81,50.82,52.13,52.89,51.51,51.56,51.10,52.23,53.30,53.26,
-55.27,53.00,54.31,53.57,53.60,53.61,55.19,57.42,52.96,54.85,
-56.45,55.47,53.09,58.25,58.67,55.30,57.76,56.45,60.32,57.40,
-57.57,58.28,59.52,59.00,56.91,58.38,59.40,59.77,60.30,60.35,
-61.04,60.79,60.76,61.45,62.24,61.00,65.29,61.68,62.90,61.71,
-60.75,63.37,62.80,61.02,63.44,65.66,63.28,67.82,63.35,63.17,
-63.36,61.52,64.51,63.80,65.53,64.91,63.80,66.21,65.85,68.45,
-63.42,65.54,66.70,66.44,66.92,67.81,68.13,68.74,66.83,70.21,
-68.85,70.25,66.70,65.58,67.02,68.94,71.45,67.92,70.41,68.81,
-70.67,69.29,70.88,70.82,72.05,68.13,69.71,72.47,71.45,69.77,
-70.95,73.83,73.01,72.80,71.83,72.47,70.20,77.32,74.60,78.08,
-74.50,72.46,72.71,78.06,75.66,70.23,71.02,77.68,75.12,75.16,
-72.94,77.17,75.37,75.86,74.84,78.26,74.38,76.42,78.35,74.93,
-76.53,74.19,76.19,76.36,76.50,72.95,78.39,79.09,80.75,80.45,
-80.71,80.58,76.92,77.76,79.40,78.01,82.80,79.45,81.47,78.90,
-80.16,81.11,79.81,82.66,80.03,81.27,82.25,82.75,82.89,80.00,
-83.37,82.80,83.87,82.52,80.12,80.31,82.83,85.90,81.90,81.95,
-82.43,84.00,84.91,84.51,85.85,81.45,84.66,85.06,86.12,82.09,
-82.72,85.22,86.92,82.84,85.58,88.61,83.71,85.65,85.51,86.32,
-89.38,85.86,87.35,89.00,88.61,87.49,87.97,87.21,85.73,88.03,
-16.41,16.39,18.00,18.58,18.58,19.02,19.93,21.04,22.43,21.59,
-21.59,23.95,23.18,23.23,24.09,25.23,25.69,26.74,26.43,26.73,
-27.92,27.56,27.57,27.36,29.51,29.60,28.65,30.43,30.24,30.38,
-31.30,32.23,31.44,32.95,32.68,33.67,33.26,33.51,33.78,35.59,
-35.59,33.81,34.88,36.67,37.13,37.32,37.39,38.93,37.82,38.71,
-36.46,38.01,37.67,36.77,39.24,40.31,40.75,40.94,40.07,38.52,
-41.85,42.18,41.40,41.66,40.50,43.52,43.30,41.76,41.68,43.40,
-42.46,43.51,45.90,45.14,46.38,45.57,47.24,45.50,47.09,45.51,
-48.54,45.39,46.23,47.40,47.19,47.85,48.79,49.12,48.92,49.12,
-49.59,50.48,49.19,50.95,50.28,49.23,50.86,52.01,54.90,52.26,
-50.81,53.00,52.81,54.23,51.74,53.01,52.94,54.48,55.29,53.59,
-55.15,53.75,52.61,54.82,53.60,54.91,54.26,54.16,55.72,56.74,
-56.13,55.78,56.94,58.46,55.46,56.11,56.43,55.86,58.04,59.75,
-55.54,56.64,57.40,59.74,59.00,60.58,60.78,59.39,58.83,58.83,
-59.12,61.86,60.99,58.94,64.37,62.78,61.19,62.86,61.71,62.72,
-63.82,62.93,60.40,62.31,62.27,62.84,61.36,64.79,64.25,63.20,
-63.03,63.02,64.35,63.70,63.65,63.93,63.45,67.64,64.88,68.32,
-66.08,64.67,67.37,66.25,67.01,67.05,65.63,67.61,66.98,66.48,
-68.60,71.70,68.60,70.79,65.72,65.78,65.48,70.12,65.31,70.19,
-69.17,69.89,70.38,70.97,69.76,69.54,70.10,71.33,72.36,71.70,
-69.30,70.67,70.80,70.98,67.75,70.00,69.57,75.03,70.49,72.85,
-71.03,72.28,71.71,74.62,77.21,73.41,73.23,75.33,75.35,75.52,
-75.34,72.36,70.88,74.44,71.94,75.39,76.61,75.68,76.96,70.56,
-76.76,74.51,77.41,77.74,77.90,77.31,77.94,77.91,74.91,79.86,
-78.77,73.64,79.98,76.47,75.97,79.17,77.37,76.46,78.39,80.98,
-79.94,80.17,79.66,78.91,76.68,80.25,80.61,80.93,77.71,77.66,
-83.50,79.87,80.13,81.84,76.20,80.34,80.75,82.32,81.03,81.47,
-81.34,82.31,83.85,77.93,80.94,83.38,81.26,82.50,81.93,82.72,
-86.70,85.46,85.00,82.97,84.40,87.38,80.29,84.64,87.09,82.88,
-15.66,16.45,16.39,18.11,17.89,18.51,19.63,19.01,20.43,20.97,
-20.46,20.98,22.70,22.69,22.40,24.27,23.58,24.75,25.37,25.78,
-27.16,26.32,27.08,26.65,29.08,27.93,28.07,27.63,29.18,29.69,
-29.47,30.42,31.02,30.42,30.87,32.49,31.78,33.16,33.30,32.79,
-33.62,33.03,34.38,33.59,33.35,34.75,34.95,35.74,35.68,35.48,
-37.26,36.47,38.10,36.68,37.22,39.21,37.80,38.65,39.49,39.70,
-39.94,39.79,40.13,39.71,40.17,41.89,41.27,41.88,42.29,41.19,
-42.57,42.32,45.41,43.78,43.60,42.53,44.01,43.18,45.31,47.10,
-43.53,45.95,45.47,43.72,46.56,45.83,45.59,44.94,47.31,47.34,
-46.85,46.13,47.86,46.83,48.74,48.66,48.74,51.11,49.48,50.09,
-50.17,50.45,50.41,50.06,51.46,49.32,50.61,51.76,51.48,51.37,
-50.42,52.39,50.46,53.79,51.87,53.05,52.67,51.77,54.92,54.80,
-53.09,55.07,54.58,53.29,54.62,52.66,55.79,56.71,57.28,58.00,
-55.87,55.75,54.47,56.64,55.24,58.75,55.73,57.52,57.56,57.58,
-59.76,57.97,59.05,56.67,58.48,60.28,59.02,58.22,58.96,58.21,
-57.72,61.45,57.40,60.68,60.45,58.12,62.02,61.76,59.75,61.28,
-61.90,60.43,62.51,62.24,59.54,60.71,61.73,61.25,63.77,63.98,
-62.00,64.54,60.86,59.07,64.91,64.17,65.68,65.85,66.15,64.13,
-62.80,62.99,63.76,65.53,67.48,64.95,66.46,62.27,65.12,69.58,
-66.23,65.85,64.47,66.46,70.64,66.38,69.67,67.45,66.78,65.62,
-68.48,68.79,70.55,66.98,64.96,66.92,67.32,68.43,69.16,68.77,
-68.36,68.86,71.53,72.67,72.07,71.00,69.59,69.68,71.30,67.56,
-70.80,72.89,71.65,71.18,70.19,72.34,72.39,74.29,73.84,71.10,
-74.94,72.26,72.94,72.73,72.72,73.26,76.66,76.23,72.27,69.76,
-73.22,74.96,74.33,75.35,74.03,73.91,75.49,75.49,73.91,78.99,
-74.16,77.21,73.76,76.17,75.07,77.34,77.65,78.97,72.60,77.00,
-76.77,74.55,76.70,80.29,77.94,76.92,77.90,75.73,77.61,80.17,
-79.09,81.88,75.41,75.87,81.93,79.21,78.83,80.92,78.45,80.01,
-83.53,79.36,80.07,78.59,81.82,77.23,76.95,82.93,85.76,80.13,
-14.94,15.28,16.13,16.51,17.57,18.10,18.15,17.54,18.82,20.09,
-20.86,19.55,21.28,22.42,21.54,22.60,23.11,23.44,23.83,24.87,
-24.13,25.25,24.95,25.90,26.33,27.93,28.54,26.94,27.80,28.69,
-29.13,28.56,28.00,29.39,30.27,29.64,29.14,29.97,31.53,30.77,
-31.83,32.64,32.63,31.48,34.59,34.80,32.76,33.47,34.05,33.30,
-33.56,35.33,35.16,35.76,36.42,36.64,36.65,36.94,36.94,37.95,
-39.76,38.38,37.02,38.61,38.57,39.03,39.30,38.95,39.30,40.25,
-41.12,42.34,41.19,40.21,40.63,40.97,40.34,41.57,42.98,39.90,
-42.52,43.49,43.11,43.41,44.52,44.90,44.86,43.84,45.43,44.68,
-43.28,45.35,44.59,47.49,45.27,45.63,44.84,47.99,48.24,47.16,
-46.98,47.62,48.19,48.77,48.65,49.40,49.62,47.18,51.35,48.60,
-47.70,49.16,50.59,49.35,50.45,52.12,50.35,51.07,50.21,51.85,
-54.05,51.19,49.37,49.83,52.32,51.11,51.54,53.81,54.26,54.11,
-53.48,54.30,53.86,53.59,53.86,51.70,54.86,53.55,54.08,55.95,
-56.77,53.75,55.04,55.63,55.16,56.40,58.45,55.75,56.65,57.80,
-57.66,55.99,58.49,58.54,60.23,57.25,56.99,59.30,59.45,59.36,
-60.77,60.15,59.01,58.20,56.90,58.63,58.98,59.00,60.95,61.19,
-58.37,62.12,59.76,58.18,61.55,60.62,59.43,61.09,61.89,62.18,
-61.57,62.28,61.24,61.69,64.30,62.57,63.14,61.86,63.01,62.62,
-65.39,64.75,66.36,62.49,62.64,65.23,67.55,65.82,64.79,66.04,
-63.27,62.60,67.61,65.70,61.68,68.25,65.87,65.28,66.89,66.34,
-69.93,65.73,68.81,68.55,67.81,68.42,67.65,65.20,70.87,65.61,
-65.97,67.85,69.97,69.92,68.32,68.44,69.68,68.86,70.20,69.17,
-67.90,69.98,71.28,71.97,68.62,69.58,73.39,68.53,70.14,74.13,
-70.09,72.86,67.53,73.13,71.60,73.31,70.40,69.44,72.78,69.90,
-70.78,74.21,73.07,75.35,71.82,70.30,73.71,71.04,74.42,76.14,
-72.13,73.68,74.97,75.19,70.98,75.17,72.28,76.36,78.88,73.33,
-75.38,73.40,73.55,75.37,76.09,77.27,79.40,76.48,74.86,74.37,
-75.91,74.98,74.87,77.78,77.13,77.61,79.94,78.88,76.96,79.97,
-13.88,14.66,15.66,16.21,16.28,16.41,17.05,18.44,18.17,18.66,
-19.94,19.21,20.15,20.69,19.36,20.76,21.86,23.17,22.80,22.78,
-24.18,23.24,24.41,25.44,25.01,25.37,25.97,27.17,27.66,28.19,
-27.91,27.23,28.94,29.04,28.75,27.67,29.21,30.04,30.21,29.52,
-29.80,31.10,31.41,32.30,32.50,31.99,31.64,32.29,32.02,32.31,
-33.42,33.53,32.83,32.39,34.95,35.47,33.57,36.18,34.13,35.77,
-35.98,36.45,36.01,36.32,37.58,36.11,38.21,37.30,37.98,39.11,
-39.82,38.86,39.18,38.07,38.60,39.13,39.28,40.16,41.38,39.61,
-42.09,40.46,39.93,39.56,41.69,40.53,43.21,42.30,42.25,41.11,
-43.34,43.62,44.86,43.25,43.84,45.75,41.64,43.82,45.29,44.26,
-44.04,44.83,45.17,44.90,44.84,47.24,45.80,47.66,45.61,46.73,
-46.06,47.46,47.09,45.58,47.50,50.22,46.09,47.93,48.06,50.87,
-48.72,50.07,51.16,49.91,50.82,49.19,48.61,48.75,49.39,51.87,
-49.67,50.15,50.04,52.40,53.36,51.86,51.49,51.43,52.37,48.64,
-50.63,49.79,53.67,53.65,52.69,55.52,53.22,54.45,54.73,52.94,
-52.64,54.09,56.09,55.13,56.09,53.33,55.29,55.47,56.01,55.61,
-54.43,53.91,59.33,55.12,54.82,57.45,56.41,57.20,56.92,59.19,
-57.02,56.64,55.82,57.02,57.02,57.20,56.87,60.05,59.56,57.05,
-56.76,58.57,58.38,60.52,58.28,59.32,59.74,59.93,59.22,63.52,
-61.38,62.62,62.64,60.86,62.12,61.96,61.98,58.12,60.98,61.42,
-62.64,60.88,61.61,62.27,63.95,64.77,64.37,62.31,64.35,63.24,
-63.62,66.19,62.14,63.66,65.24,66.18,64.25,66.68,67.60,65.88,
-63.73,64.55,65.68,65.78,65.14,64.27,66.80,69.77,63.98,65.81,
-65.71,69.47,67.42,66.50,65.40,69.42,68.49,65.92,69.54,64.82,
-67.01,67.20,69.70,68.32,67.27,64.41,69.94,69.31,67.20,67.89,
-69.24,69.81,67.94,67.16,67.41,66.80,71.09,69.37,70.28,70.65,
-70.45,69.67,64.89,72.39,71.86,72.22,72.79,71.98,69.50,74.45,
-69.91,70.50,70.06,71.84,71.45,71.14,73.30,76.14,72.66,74.57,
-75.77,70.84,73.00,73.66,70.91,72.14,77.03,73.98,72.80,74.92,
-13.07,14.10,13.52,15.57,15.55,16.65,15.86,16.98,17.42,17.82,
-18.79,18.93,20.33,20.69,19.82,20.18,21.50,21.30,22.12,21.69,
-21.92,22.74,23.25,23.03,24.13,24.68,24.08,25.54,26.09,26.25,
-25.04,26.01,26.23,25.25,25.85,27.97,28.12,28.14,29.35,27.00,
-29.01,28.07,30.46,30.67,30.14,29.66,31.26,31.20,30.85,31.21,
-30.93,30.37,32.38,31.11,31.75,32.83,32.39,33.13,33.34,33.42,
-36.45,33.57,34.44,35.50,35.66,36.03,35.13,34.04,35.25,34.92,
-36.06,37.54,37.04,36.48,37.60,39.41,37.60,38.77,37.10,40.29,
-38.17,38.29,39.30,41.00,39.16,39.73,41.81,39.68,39.66,39.15,
-41.77,40.58,40.21,41.57,42.08,42.89,42.91,40.90,41.20,41.24,
-41.45,41.31,42.48,42.33,42.98,42.74,43.71,43.48,43.86,46.48,
-43.59,46.43,46.36,42.80,44.04,44.58,46.01,46.81,47.09,46.26,
-47.61,46.94,46.78,45.85,49.05,48.13,49.20,46.59,49.75,47.92,
-49.70,47.28,48.53,47.89,48.72,48.90,49.88,49.28,50.47,48.00,
-50.49,49.91,51.29,48.65,52.24,53.11,49.16,50.50,50.33,50.27,
-50.82,53.65,51.84,50.33,52.28,51.45,52.74,50.20,54.12,53.42,
-51.74,52.74,54.53,52.11,53.55,54.53,54.50,54.98,55.69,55.14,
-53.85,53.98,54.44,57.15,53.38,55.06,55.71,55.88,56.46,56.36,
-57.15,56.30,58.74,58.43,58.68,56.06,56.25,56.97,57.61,56.91,
-57.58,56.06,59.79,57.39,59.76,60.91,58.98,58.04,58.04,59.70,
-58.91,58.18,59.58,59.36,59.07,60.24,58.88,59.12,59.39,58.82,
-60.46,61.20,61.07,59.62,59.88,60.57,60.18,61.63,61.86,59.82,
-59.36,60.89,62.25,61.24,60.32,64.09,64.13,63.08,64.23,61.48,
-63.43,61.79,61.66,65.06,59.81,64.47,63.83,61.88,63.21,64.89,
-63.00,65.15,64.60,65.16,62.48,66.18,67.23,67.54,66.16,67.06,
-63.49,66.39,64.48,66.59,68.69,65.40,64.89,66.76,65.87,65.83,
-69.33,66.27,66.15,65.71,66.49,70.99,67.95,65.77,69.61,66.15,
-66.22,69.11,69.31,68.99,69.26,68.56,67.87,71.40,68.03,69.06,
-69.76,67.21,72.66,71.48,71.78,72.25,70.29,70.36,71.95,69.66,
-18.07,19.51,19.90,21.20,20.85,21.64,22.25,22.37,24.33,24.17,
-24.82,25.69,26.35,26.75,26.72,28.77,28.02,28.13,29.04,28.74,
-30.39,30.18,32.06,32.44,32.37,32.35,32.50,33.70,33.49,33.57,
-35.15,35.36,34.50,34.99,36.39,36.75,36.34,37.71,37.93,37.70,
-39.23,38.53,37.94,38.65,39.67,39.24,42.00,40.46,43.71,41.86,
-40.81,41.84,42.18,41.72,43.82,44.21,44.88,46.06,48.00,46.76,
-46.44,44.90,46.35,47.26,47.33,47.03,46.98,46.85,48.91,48.11,
-46.38,47.57,48.98,48.65,51.52,50.48,50.88,50.63,52.09,50.16,
-51.13,51.07,51.02,51.67,53.28,52.82,55.26,54.59,53.61,53.71,
-52.77,53.09,53.18,54.54,54.96,56.58,53.83,55.65,56.63,58.20,
-56.32,56.74,58.87,59.88,57.29,55.89,58.04,58.40,59.20,57.08,
-60.18,60.05,59.10,58.53,62.03,57.35,61.56,61.28,63.75,60.84,
-62.50,63.40,64.48,63.36,61.04,63.14,64.94,62.27,62.24,62.67,
-61.18,65.26,65.02,64.49,67.86,66.46,63.66,63.42,66.56,65.62,
-65.88,67.54,61.64,67.66,66.13,69.76,65.25,66.90,68.17,66.81,
-68.07,66.47,68.64,68.06,70.15,69.21,73.06,70.46,70.59,69.83,
-71.80,72.28,72.06,72.52,70.38,69.99,71.68,70.57,73.37,72.92,
-73.13,72.89,72.95,74.01,74.07,75.02,69.45,74.10,72.03,75.04,
-77.92,75.44,75.10,72.05,71.89,71.56,75.80,73.12,77.73,74.66,
-76.17,79.88,76.27,77.22,78.04,74.71,76.78,76.11,78.78,76.95,
-78.14,80.35,78.26,78.00,78.74,78.84,76.29,80.41,76.74,80.63,
-79.58,78.78,79.90,79.21,80.38,80.99,80.12,80.78,82.29,84.21,
-84.66,80.73,83.10,81.66,81.20,80.63,81.33,85.27,85.37,81.86,
-83.52,85.38,83.15,86.44,83.56,87.38,86.15,86.23,83.48,86.01,
-83.51,85.90,85.70,85.58,82.25,86.19,87.83,83.34,87.22,85.56,
-82.38,87.28,88.30,85.39,88.24,87.97,93.09,88.33,88.60,90.53,
-88.76,88.90,87.67,89.80,91.04,88.27,87.74,85.36,90.96,90.29,
-89.42,87.44,87.05,94.56,92.04,91.41,88.47,94.22,91.15,93.22,
-91.14,95.85,90.51,89.17,93.10,92.85,90.54,96.20,94.15,94.40,
-18.87,19.35,20.08,21.31,22.08,22.81,23.49,24.37,25.23,25.46,
-25.83,26.53,27.43,28.26,28.16,28.69,28.32,29.61,30.20,31.24,
-32.15,32.21,32.94,33.36,33.03,34.06,34.09,35.03,34.42,34.88,
-36.65,37.84,37.42,35.95,38.56,38.73,38.41,38.45,39.73,39.61,
-40.12,40.12,39.84,41.08,40.93,42.14,42.58,42.29,42.84,44.08,
-45.99,46.43,43.84,43.48,44.25,46.64,48.29,43.61,46.85,47.24,
-47.47,46.85,49.42,47.76,48.18,48.22,48.21,48.14,48.19,48.99,
-50.33,51.15,54.28,52.36,50.35,53.71,52.68,52.41,51.77,55.22,
-52.54,54.42,57.14,52.88,55.76,54.28,55.33,54.50,56.50,54.53,
-56.07,57.80,57.20,55.44,60.04,58.15,57.87,57.90,60.01,59.09,
-55.32,61.56,58.46,60.92,60.33,60.09,60.18,62.20,63.11,60.94,
-63.23,60.37,61.26,61.51,64.07,63.41,66.07,61.20,64.03,64.15,
-64.62,62.88,65.14,65.88,66.04,68.08,65.96,68.69,63.54,65.37,
-66.73,66.31,67.62,66.38,65.44,65.97,66.52,65.71,67.08,68.09,
-65.91,67.67,69.08,71.38,70.81,68.37,71.71,70.90,69.65,72.80,
-70.63,72.71,73.21,71.58,71.35,70.86,68.62,74.45,73.09,72.90,
-74.04,73.58,71.95,73.15,74.74,77.47,74.37,77.46,74.64,74.38,
-77.06,71.86,77.14,76.72,75.72,76.17,77.46,74.75,76.89,77.28,
-76.47,81.87,75.12,78.48,74.96,78.33,78.17,77.15,79.21,82.60,
-78.45,80.58,79.88,79.73,79.80,81.45,81.40,81.69,82.32,83.60,
-83.25,82.43,83.05,84.25,81.02,86.31,81.99,85.05,85.50,84.26,
-83.42,83.08,84.41,83.22,84.88,83.52,85.22,84.62,88.24,84.78,
-85.62,82.15,84.43,87.03,86.57,85.69,84.36,89.69,88.06,87.79,
-86.05,83.57,87.00,85.85,87.04,88.82,84.05,89.21,87.88,86.63,
-88.81,86.01,88.04,87.64,90.20,88.81,88.10,88.27,88.61,93.65,
-91.66,89.30,90.78,91.74,91.99,92.27,91.86,94.75,91.98,89.43,
-93.83,91.33,95.72,94.97,91.49,92.12,89.02,96.96,97.49,95.83,
-96.15,95.51,90.27,92.20,98.49,96.21,92.74,95.81,97.42,96.65,
-94.29,94.37,96.09,96.99,93.12,95.79,96.92,97.03,97.88,95.35,
-19.56,19.86,21.61,21.67,21.76,22.56,24.08,24.65,24.22,26.94,
-27.47,26.74,27.33,28.97,28.31,30.10,31.68,29.60,30.91,32.20,
-34.20,32.87,32.76,32.96,33.75,34.56,36.46,36.13,35.23,37.15,
-37.17,36.45,37.62,37.55,39.33,38.22,40.36,39.61,42.17,39.88,
-40.73,42.45,41.18,42.56,42.27,42.58,44.75,43.43,44.03,44.47,
-44.98,45.78,45.85,43.93,47.97,46.59,46.34,46.25,49.71,49.25,
-48.03,47.36,49.07,50.69,51.00,50.19,49.79,51.61,51.25,51.51,
-52.03,52.47,52.50,53.68,54.12,52.52,54.03,55.63,54.20,53.58,
-56.00,55.15,54.37,55.97,56.48,56.71,53.34,57.07,56.39,58.50,
-57.74,57.34,59.93,59.86,58.28,61.42,58.18,58.46,59.11,61.51,
-63.81,62.21,61.71,59.85,61.55,61.65,60.30,60.14,63.90,60.83,
-63.04,63.02,64.08,69.02,64.05,65.44,67.07,64.69,66.82,66.11,
-65.89,65.34,67.29,66.54,64.43,68.76,65.79,65.89,68.70,67.33,
-69.14,68.19,71.56,68.46,68.75,70.76,70.31,69.64,71.82,71.46,
-70.89,70.69,71.09,73.90,70.40,70.03,72.92,72.44,75.45,74.52,
-73.33,72.78,72.43,70.44,75.07,75.53,71.67,75.06,73.50,74.83,
-76.59,76.48,75.47,72.67,73.64,71.66,79.30,78.82,76.61,77.85,
-76.33,79.05,80.56,75.79,74.36,79.20,82.67,78.67,78.34,80.05,
-79.61,80.81,80.83,80.29,82.48,78.75,82.10,79.96,84.09,85.00,
-81.60,79.10,81.98,82.79,81.33,82.64,84.24,82.72,85.10,84.92,
-87.57,82.61,85.97,84.25,85.20,84.26,84.60,86.11,83.45,89.06,
-86.31,84.31,86.36,86.66,80.82,89.01,86.54,86.69,86.84,88.62,
-87.30,86.39,87.07,86.38,87.07,87.95,92.70,90.90,92.37,89.87,
-89.49,89.52,86.96,91.10,88.62,89.33,90.89,88.31,93.64,90.67,
-91.52,89.46,90.28,90.13,93.66,94.43,94.47,95.89,88.95,95.55,
-90.93,97.14,93.01,91.90,95.34,96.59,94.97,93.09,93.68,93.76,
-96.90,95.70,97.61,92.07,98.57,95.94,95.11,94.74,98.17,95.16,
-92.12,94.61,95.11,102.49,98.12,93.63,96.33,99.26,96.85,98.04,
-95.53,99.44,94.46,99.07,97.60,99.07,97.51,101.88,98.47,99.81,
-20.24,20.60,20.86,22.28,23.05,24.31,23.51,24.27,25.48,26.71,
-26.53,27.33,28.44,28.96,29.01,29.92,30.28,29.85,31.48,31.46,
-32.73,32.28,33.68,33.85,33.37,35.52,36.08,35.19,37.24,37.40,
-38.04,37.59,38.75,40.09,39.93,38.94,41.38,42.69,39.75,41.84,
-42.03,42.73,42.56,44.09,44.11,43.99,44.98,43.69,45.00,46.39,
-45.81,46.73,44.59,48.83,46.26,47.88,47.26,47.80,49.90,48.61,
-49.30,49.74,51.97,50.12,50.03,50.15,51.64,53.10,52.94,54.96,
-54.80,53.74,51.16,53.92,55.33,51.96,52.44,54.36,56.18,54.29,
-56.70,55.11,54.17,57.83,57.38,57.01,56.56,55.41,60.35,57.45,
-60.74,58.19,60.31,59.57,57.57,59.85,61.16,61.36,61.91,61.78,
-62.91,62.00,62.69,63.70,62.01,63.05,61.13,62.28,61.61,64.48,
-67.34,64.63,66.97,65.54,65.76,67.82,67.27,66.27,65.64,66.88,
-68.74,68.84,65.60,68.05,70.75,67.41,68.25,71.05,69.59,66.93,
-71.95,70.39,69.52,72.64,68.06,70.76,71.32,72.53,72.88,70.71,
-71.60,70.80,70.35,72.19,73.97,71.54,72.23,74.57,74.55,73.13,
-72.31,72.47,73.61,74.93,76.37,73.75,77.46,76.82,76.11,78.59,
-76.79,78.10,77.72,75.40,80.27,76.75,78.45,76.58,78.26,81.25,
-82.44,75.80,80.60,79.43,79.48,79.58,79.45,79.06,78.13,79.97,
-81.63,82.06,82.09,81.71,78.28,82.83,83.70,83.05,79.66,81.33,
-82.09,84.29,80.41,86.36,84.00,84.90,85.92,82.74,85.61,86.78,
-84.39,87.48,85.76,86.39,87.57,84.13,85.75,85.60,85.88,88.63,
-89.83,89.60,88.44,87.77,88.15,87.34,89.45,86.21,89.46,87.68,
-84.09,88.70,93.45,90.07,86.85,86.04,89.44,90.29,87.17,92.27,
-91.26,88.87,92.31,92.02,89.79,91.94,90.15,90.72,96.91,89.48,
-96.14,96.01,93.52,93.29,94.89,97.57,92.31,96.74,95.82,94.05,
-93.78,93.52,99.18,94.22,94.47,97.48,92.43,98.13,98.59,96.56,
-96.01,98.15,97.81,93.07,97.64,97.09,94.07,100.19,97.19,98.58,
-96.42,99.76,101.00,94.68,97.63,100.36,95.61,93.28,100.06,99.76,
-103.02,101.38,101.40,102.78,101.44,97.80,96.34,96.92,99.70,102.91,
-19.77,20.69,21.26,22.81,23.92,23.50,24.70,25.70,26.01,26.22,
-27.62,28.08,27.20,27.60,29.37,29.19,31.82,31.38,32.72,32.89,
-33.36,34.48,33.83,34.86,35.13,34.94,36.00,36.18,36.17,38.64,
-37.48,37.68,38.47,39.51,38.81,41.77,40.63,41.04,39.37,42.80,
-41.21,43.22,43.06,44.12,44.15,43.38,44.68,45.32,44.97,46.88,
-46.98,46.27,45.91,48.77,48.84,47.95,49.14,46.71,49.71,49.38,
-49.12,50.09,47.66,51.93,50.27,52.55,50.02,53.42,52.17,54.03,
-51.25,53.74,54.07,54.71,54.06,53.02,55.92,57.54,54.88,55.95,
-56.39,56.14,57.26,56.31,56.72,61.39,57.82,56.82,57.40,59.40,
-61.21,60.11,59.45,59.28,58.38,61.99,58.60,60.59,63.92,63.34,
-60.76,63.21,61.86,63.25,63.90,63.77,61.50,63.41,67.47,65.69,
-66.76,64.45,63.82,67.68,63.62,65.79,64.99,67.12,66.52,68.21,
-69.91,65.71,69.13,68.90,66.60,66.79,69.91,71.15,71.01,70.84,
-70.27,68.70,70.18,72.63,71.95,68.57,67.98,70.61,72.87,71.27,
-70.91,73.11,69.95,70.25,71.78,73.38,74.37,74.94,71.75,74.46,
-74.93,75.40,74.11,74.83,74.59,74.79,76.95,77.90,77.81,77.73,
-78.66,76.51,77.81,76.52,77.76,77.58,78.75,77.13,77.77,80.50,
-78.19,80.16,80.93,81.64,80.05,79.28,83.86,80.24,82.49,81.93,
-81.04,82.09,82.68,85.78,83.74,82.85,82.25,81.25,83.45,85.94,
-86.09,87.07,85.30,84.08,86.27,82.99,82.67,85.09,81.15,84.88,
-83.35,86.78,90.08,87.26,84.35,88.97,86.69,89.29,88.11,87.24,
-89.55,89.09,85.84,92.82,89.97,87.73,87.17,87.37,88.86,85.99,
-90.39,87.79,95.69,89.57,94.38,91.47,91.53,95.91,92.68,94.66,
-89.16,90.28,94.48,92.27,93.66,89.11,92.80,94.62,93.22,92.11,
-94.56,90.50,90.50,96.07,95.59,95.57,94.70,94.23,92.63,95.96,
-96.85,95.48,94.39,93.51,97.97,93.32,95.67,101.36,95.48,97.94,
-99.81,97.19,100.86,95.92,99.26,98.94,96.89,99.06,99.06,95.89,
-96.30,97.24,100.45,99.58,100.11,99.11,100.02,99.20,98.77,94.39,
-102.20,99.63,100.23,99.37,106.17,101.47,102.18,101.36,101.57,102.87,
-19.75,19.82,21.38,21.64,23.52,23.34,24.65,25.54,25.51,26.82,
-25.91,27.88,28.03,29.20,29.62,29.72,30.73,31.71,31.55,32.60,
-33.77,32.78,32.51,34.59,34.33,35.04,36.89,37.46,36.66,37.51,
-36.82,37.71,38.66,38.83,39.56,41.52,39.69,40.14,41.55,42.40,
-41.40,42.44,43.39,43.56,44.09,44.48,44.07,45.72,45.31,45.31,
-46.28,47.14,48.17,46.78,48.15,47.71,47.80,46.67,49.04,48.84,
-48.60,49.71,50.35,49.43,50.62,52.51,50.57,52.25,53.61,51.36,
-52.45,53.31,53.16,53.83,55.70,54.61,54.76,56.96,56.31,55.88,
-56.43,54.30,56.46,56.57,57.80,57.66,59.42,55.15,59.12,59.84,
-60.62,60.35,59.48,61.04,59.97,61.70,60.41,60.53,60.43,63.06,
-61.85,63.23,64.89,63.94,61.63,60.08,64.66,64.27,65.05,66.64,
-64.29,67.35,66.37,67.10,66.60,68.60,67.63,68.04,64.99,68.34,
-67.17,66.58,70.49,68.07,66.16,68.58,68.53,67.50,68.84,70.30,
-68.77,68.45,73.06,68.40,70.26,71.85,71.53,69.54,68.78,72.62,
-73.73,73.74,71.01,73.25,72.02,73.56,74.08,75.24,74.29,73.29,
-76.08,75.31,74.51,77.04,73.93,76.81,75.42,75.51,74.77,75.87,
-73.32,77.00,77.16,76.58,80.88,76.89,80.07,77.53,80.38,75.64,
-79.21,79.95,81.34,79.88,77.70,83.78,79.34,80.61,86.30,80.81,
-81.90,84.48,83.05,83.73,86.30,78.70,82.24,82.26,82.53,82.80,
-84.67,85.73,83.39,81.72,82.47,85.35,82.20,85.24,83.20,84.90,
-82.20,82.07,87.71,83.79,87.15,86.51,84.13,88.14,90.96,83.63,
-87.10,84.84,87.02,87.22,84.43,90.43,85.59,90.81,89.37,86.36,
-89.39,88.77,89.32,90.96,93.52,91.81,90.34,92.66,86.40,92.36,
-89.80,90.64,91.07,97.59,91.10,92.32,96.98,91.99,92.24,92.79,
-93.57,92.49,95.13,89.56,92.44,96.36,94.20,95.83,92.82,93.65,
-93.41,94.83,92.34,92.63,97.50,95.11,95.76,99.64,94.39,97.24,
-92.07,96.92,95.28,100.16,100.01,95.14,98.80,97.63,95.76,101.02,
-95.04,100.15,102.92,99.85,95.60,97.59,98.91,99.77,99.16,102.95,
-98.37,100.62,105.25,101.77,103.55,100.01,103.01,101.57,98.75,101.17,
-19.21,20.33,21.23,22.90,22.42,23.58,23.41,24.14,25.51,25.85,
-26.94,27.99,27.39,28.77,28.80,29.19,30.57,31.67,31.32,31.63,
-31.93,33.33,34.52,34.45,33.59,35.16,34.39,36.19,36.02,35.42,
-36.70,37.57,37.85,40.41,38.72,41.00,40.48,38.86,40.10,40.62,
-42.24,40.77,43.47,43.87,43.43,43.57,42.82,45.10,43.95,45.52,
-44.40,45.97,46.80,45.76,47.43,47.86,47.81,48.00,46.81,49.19,
-51.29,49.85,49.29,50.37,47.51,50.17,50.75,51.09,51.49,51.16,
-53.16,52.51,53.45,54.20,54.95,55.64,52.83,56.16,52.64,56.29,
-53.37,56.08,55.81,56.40,56.43,56.71,56.81,58.48,59.43,61.17,
-57.88,59.95,58.06,60.14,57.70,61.51,61.10,60.39,60.25,62.09,
-61.63,60.90,60.82,63.40,64.91,61.84,65.59,62.89,63.94,66.04,
-63.66,65.54,65.32,65.38,66.88,65.89,67.72,66.63,67.00,68.45,
-67.35,65.68,63.41,65.84,70.07,71.21,70.23,68.94,68.46,69.12,
-71.19,70.42,67.59,67.30,70.58,70.39,70.85,71.22,70.77,69.81,
-71.85,71.18,74.78,72.46,72.84,71.14,74.63,76.02,73.71,70.64,
-75.24,75.52,74.83,73.77,76.63,78.95,78.20,74.53,76.22,76.22,
-75.03,77.80,76.25,80.13,80.73,75.99,77.38,75.66,79.76,80.10,
-78.97,75.78,78.86,74.29,79.30,79.23,78.44,79.09,79.10,79.29,
-80.96,78.79,84.41,81.42,80.52,79.40,78.44,79.44,81.96,79.60,
-83.25,83.81,79.81,82.72,82.37,83.13,82.32,83.14,83.97,82.62,
-84.89,85.01,84.30,88.06,87.39,84.83,85.56,89.94,84.57,87.05,
-87.32,85.23,87.20,88.18,84.48,83.67,88.72,88.97,86.85,86.94,
-87.44,87.63,91.86,88.23,88.54,88.54,91.04,90.46,89.29,90.41,
-92.06,87.59,95.71,91.52,89.23,89.30,90.37,91.42,88.99,93.13,
-95.03,94.98,89.48,90.53,91.13,96.68,94.83,93.70,98.71,90.19,
-91.50,92.66,93.09,94.99,92.41,96.03,93.45,96.55,94.07,94.10,
-97.83,94.43,96.03,97.59,96.74,94.56,95.47,99.02,96.23,97.58,
-99.07,98.75,98.28,101.25,93.05,100.09,103.09,99.34,99.83,95.45,
-98.39,101.20,100.28,97.96,100.86,98.79,101.82,102.93,100.31,100.92,
-18.98,20.40,20.31,21.38,22.10,23.03,23.59,23.52,25.27,26.15,
-25.66,28.09,26.21,27.75,28.94,29.44,29.23,30.78,32.15,31.65,
-32.02,31.78,31.72,33.75,34.87,33.19,36.21,34.75,36.18,35.72,
-36.04,36.51,37.74,37.80,38.54,38.48,38.49,39.14,40.22,40.74,
-40.51,40.76,41.47,41.08,41.57,42.86,42.75,44.29,45.00,44.25,
-42.96,46.24,46.03,46.84,46.39,44.97,47.37,46.57,47.82,46.82,
-46.53,49.43,48.77,51.26,49.28,50.40,51.15,49.78,50.88,50.17,
-50.92,50.20,51.69,49.78,54.59,52.02,53.28,55.80,52.82,55.16,
-56.17,56.67,55.33,56.69,55.49,56.70,57.34,57.06,57.44,56.94,
-59.37,58.55,57.11,60.96,58.66,58.39,56.83,60.00,59.94,56.17,
-61.35,60.81,63.80,61.28,59.26,61.13,62.44,61.28,62.39,62.01,
-61.76,64.00,62.18,66.64,63.70,65.64,65.47,62.78,66.85,65.64,
-63.54,67.49,67.21,66.97,66.71,67.58,65.97,67.58,69.46,67.98,
-69.18,68.66,69.59,67.48,70.19,69.34,69.68,68.89,67.04,72.56,
-70.73,68.23,69.37,71.93,71.39,69.87,70.98,73.48,74.43,72.28,
-72.70,71.90,75.66,73.30,71.08,72.05,73.83,71.66,74.62,76.60,
-75.66,73.85,79.53,74.12,76.41,74.28,76.44,75.37,78.42,77.57,
-75.72,77.44,79.86,77.13,79.42,77.83,81.43,80.05,76.38,81.06,
-81.01,81.44,78.43,79.27,79.44,81.00,82.81,78.52,82.25,80.74,
-81.67,79.44,80.38,83.65,79.66,85.73,82.43,82.69,83.09,80.99,
-80.23,81.30,81.43,85.37,84.22,83.12,83.04,85.20,90.89,86.09,
-85.37,82.48,84.82,84.74,84.38,84.24,87.36,89.54,87.79,87.08,
-88.72,86.18,88.31,88.03,88.56,87.84,88.53,89.55,87.69,86.44,
-92.47,88.31,89.22,88.51,91.91,87.78,91.42,92.76,88.93,91.42,
-90.72,93.50,93.99,91.54,92.15,92.48,92.58,95.82,92.09,92.83,
-90.17,92.30,94.84,93.83,93.24,94.66,95.57,91.32,96.10,93.65,
-95.23,94.72,95.54,100.51,99.67,96.38,95.25,95.24,100.00,94.87,
-98.48,94.22,99.41,97.14,98.12,96.19,98.03,95.26,98.51,99.57,
-98.99,100.14,98.86,95.92,102.47,101.96,99.85,100.54,98.73,99.83,
-18.74,19.38,20.53,20.96,21.68,23.26,23.23,22.98,24.37,25.55,
-25.68,25.31,26.24,26.95,28.87,28.71,29.12,31.30,29.84,30.98,
-31.06,32.22,32.06,32.51,32.15,34.31,35.04,36.06,34.43,35.50,
-35.29,36.79,35.94,37.66,37.64,37.39,39.49,37.67,37.99,40.33,
-41.15,41.40,41.42,41.69,39.54,42.03,42.15,44.38,42.57,43.38,
-44.23,45.57,44.68,43.94,43.25,46.44,43.82,47.32,46.35,46.80,
-45.97,48.25,48.75,49.80,47.82,49.79,48.49,48.76,50.13,51.19,
-50.94,48.06,51.38,52.00,50.39,52.39,50.97,54.56,54.67,53.34,
-52.26,55.15,54.06,52.82,52.61,55.20,59.44,55.94,57.42,55.87,
-56.18,57.97,57.40,57.73,60.51,58.22,59.24,59.60,60.08,60.43,
-57.57,59.80,60.33,60.37,60.59,62.16,59.00,61.41,61.31,58.33,
-60.73,60.34,62.73,63.40,64.89,63.53,63.21,62.57,64.19,64.23,
-64.47,64.49,65.64,64.63,65.37,63.77,66.00,65.03,65.76,64.90,
-68.39,68.43,66.69,64.90,66.47,68.33,72.06,66.36,67.87,70.48,
-68.35,69.43,67.65,70.64,69.56,71.25,69.65,68.85,71.40,71.18,
-71.52,72.20,72.90,72.16,72.37,73.51,70.72,74.33,73.05,71.65,
-72.73,70.75,74.38,74.31,76.64,75.61,77.13,76.65,73.38,76.42,
-78.21,78.22,73.59,78.25,78.86,76.26,75.83,75.15,78.03,80.23,
-78.46,78.01,74.87,79.19,77.49,79.73,77.19,78.98,75.01,78.88,
-78.18,81.00,82.18,81.08,75.83,82.50,80.32,80.12,82.13,82.16,
-84.64,80.40,83.81,83.76,85.36,81.13,83.92,81.14,80.02,84.85,
-83.23,86.77,86.26,81.05,82.94,85.81,84.80,83.52,84.73,82.17,
-83.31,84.82,86.75,87.66,84.98,88.64,86.98,86.94,88.06,90.15,
-87.81,87.98,86.09,89.60,90.47,88.58,85.49,90.60,87.51,88.28,
-89.58,88.85,92.39,88.62,92.01,87.80,90.83,89.35,88.60,90.04,
-87.85,87.29,89.74,90.91,88.40,90.12,91.02,93.05,90.66,92.09,
-91.86,92.91,96.00,88.47,91.78,88.40,93.26,90.57,92.93,95.50,
-91.84,97.74,92.29,94.49,94.51,93.41,89.89,94.15,93.65,93.05,
-99.51,100.25,94.97,93.81,97.07,99.80,98.30,97.01,96.96,100.34,
-18.10,19.33,20.20,19.68,21.21,22.25,23.40,23.41,23.75,24.81,
-24.88,25.34,24.72,26.76,26.99,27.69,28.77,29.25,30.69,28.94,
-29.74,31.18,30.86,31.13,32.06,32.12,33.07,34.28,34.00,34.51,
-34.47,35.13,35.67,36.81,37.77,38.15,36.54,37.86,38.92,39.01,
-40.67,39.46,40.75,40.75,41.70,40.02,41.26,39.25,41.08,41.62,
-43.74,41.35,44.22,45.02,44.75,43.71,43.92,44.54,45.93,45.85,
-44.93,46.54,45.54,47.18,47.87,46.53,47.89,48.28,46.50,47.25,
-50.94,49.45,49.68,49.32,51.57,50.28,49.93,50.54,50.20,53.05,
-53.07,53.87,53.23,51.34,54.73,52.17,54.74,54.93,53.96,54.94,
-56.43,55.50,56.85,57.38,56.91,56.44,58.35,57.14,57.28,57.96,
-58.15,57.18,59.38,60.58,59.18,59.19,56.40,58.80,58.85,60.05,
-61.08,59.51,60.09,59.32,60.26,61.00,64.63,59.67,62.44,61.26,
-62.65,59.71,63.19,66.06,62.48,62.47,62.26,62.77,66.36,62.26,
-66.76,63.21,66.36,65.18,65.03,69.98,66.06,67.74,66.82,69.05,
-65.90,66.93,67.96,67.67,70.47,68.92,66.76,66.77,68.58,68.27,
-68.64,68.79,67.72,69.20,68.84,72.57,69.59,69.43,70.89,74.41,
-74.66,73.83,77.34,76.37,71.95,70.89,74.51,73.81,71.75,76.99,
-73.43,73.81,75.86,73.41,77.44,75.31,76.06,74.45,73.15,74.80,
-75.79,77.36,78.38,73.79,77.76,75.52,77.22,78.32,76.96,79.42,
-78.45,79.64,78.32,78.88,78.92,81.18,81.42,79.99,80.84,78.27,
-81.93,79.25,78.19,80.23,83.90,79.86,77.74,81.20,81.16,79.46,
-82.74,85.87,83.49,80.54,81.36,79.33,83.75,81.54,85.30,82.13,
-86.18,87.26,84.50,80.41,82.77,85.37,86.01,80.98,87.10,88.37,
-83.93,85.36,87.06,85.82,85.34,83.06,84.95,84.81,88.41,83.24,
-88.60,86.29,88.13,89.13,89.46,87.76,85.61,89.09,88.66,87.38,
-87.38,88.64,86.53,89.96,87.32,91.60,94.11,91.22,87.67,88.34,
-92.12,90.64,91.91,90.69,90.90,92.35,89.90,90.37,88.73,94.72,
-91.90,92.00,93.13,92.32,92.39,92.22,88.20,88.40,95.80,94.83,
-96.39,95.77,90.60,92.41,92.77,93.27,91.07,95.15,96.13,94.35,
-17.40,18.48,19.81,20.15,20.92,21.04,21.17,22.70,23.11,23.84,
-25.44,25.01,25.05,25.44,25.82,27.43,28.59,26.98,29.70,28.96,
-29.93,31.79,30.29,30.09,32.32,31.52,31.84,32.88,33.48,32.96,
-35.15,34.39,36.27,34.29,35.47,34.83,35.99,36.63,37.49,36.65,
-39.30,39.15,38.89,40.01,39.30,39.46,40.07,41.02,38.64,41.39,
-40.43,42.59,41.66,42.60,42.47,43.62,41.79,43.56,44.04,45.29,
-42.89,45.02,45.17,46.87,47.05,46.15,45.60,46.30,46.48,48.30,
-47.02,47.60,51.55,49.91,47.02,51.07,51.24,49.40,52.03,51.03,
-49.87,50.73,50.49,50.57,52.98,51.91,53.05,52.83,53.80,52.36,
-53.55,54.17,54.15,52.08,56.02,55.40,55.80,55.45,54.99,57.73,
-54.31,56.25,57.12,55.85,58.88,57.49,58.77,58.37,58.52,61.07,
-56.46,57.24,58.44,58.90,59.41,59.50,60.68,61.54,60.51,59.37,
-59.00,60.83,59.10,61.34,59.13,63.39,62.19,62.52,62.95,62.66,
-62.04,64.84,64.92,64.00,62.66,62.44,67.08,63.24,63.14,66.61,
-64.22,66.02,63.55,66.26,67.06,67.06,67.29,66.17,67.62,65.51,
-69.73,70.40,69.13,70.70,65.88,67.25,69.59,69.46,70.08,69.45,
-70.26,71.81,68.03,67.83,70.97,71.22,67.25,72.06,70.99,72.25,
-71.08,70.74,70.71,72.86,72.92,73.44,75.17,71.49,71.29,73.05,
-74.80,73.87,75.18,73.14,75.72,75.71,72.13,76.59,75.79,74.41,
-75.23,74.81,74.85,80.37,75.97,76.77,77.24,73.63,77.97,77.40,
-76.57,75.40,75.66,80.84,78.65,80.81,79.69,79.06,77.77,79.89,
-77.62,78.75,80.92,76.36,82.82,80.04,79.11,79.69,80.81,80.86,
-77.79,82.31,83.05,83.15,81.91,81.13,83.44,79.15,80.41,83.14,
-83.65,83.68,83.64,81.87,83.00,84.24,84.58,82.70,84.17,83.81,
-85.30,83.28,84.30,85.24,84.59,83.81,84.38,83.06,85.68,88.18,
-86.19,85.84,82.10,84.58,89.37,85.31,84.14,87.84,86.03,85.76,
-87.23,87.10,87.86,87.08,86.33,88.08,88.87,85.00,92.86,90.39,
-86.08,89.44,88.12,88.47,86.40,89.81,91.62,92.28,90.65,93.62,
-92.38,91.85,90.19,97.64,90.03,92.12,94.02,92.11,90.99,94.41,
-17.24,18.06,18.45,19.61,18.96,20.22,22.18,22.12,22.32,23.70,
-23.63,23.97,23.98,24.82,25.34,26.03,26.08,26.73,27.67,27.32,
-29.02,29.05,29.40,29.28,30.85,30.55,31.78,30.92,32.35,32.64,
-33.52,34.28,33.25,36.07,34.87,34.60,36.89,35.43,35.46,35.88,
-35.55,37.29,37.91,36.48,38.29,38.69,39.37,38.92,39.20,41.24,
-40.32,41.18,42.19,41.46,41.37,41.72,42.19,41.91,44.69,42.85,
-44.14,43.06,42.18,43.75,43.72,45.24,45.91,44.90,46.06,45.92,
-45.71,48.86,45.19,47.13,50.20,47.79,48.89,46.61,48.48,48.62,
-49.01,48.05,48.36,49.53,48.46,50.00,50.73,51.70,48.07,50.53,
-51.83,51.22,52.92,54.68,51.32,52.97,51.92,51.67,53.40,55.27,
-54.35,54.02,55.70,54.77,54.36,54.23,53.72,55.61,57.22,57.45,
-55.17,56.53,56.49,57.56,54.88,56.11,57.91,58.79,60.60,56.66,
-54.69,56.77,59.86,59.15,59.65,59.47,61.13,62.37,60.72,60.35,
-62.46,60.57,64.00,62.47,62.85,61.37,62.65,62.54,63.15,58.66,
-64.54,63.08,58.06,62.61,64.30,62.99,64.90,67.99,64.41,63.16,
-67.80,67.73,64.79,65.53,65.30,65.71,70.68,67.04,69.67,65.64,
-66.62,68.01,67.77,66.32,66.90,65.69,68.49,68.28,67.82,67.93,
-68.90,67.41,70.11,68.73,67.84,69.06,71.26,68.58,68.68,66.59,
-74.81,70.26,75.03,72.38,71.23,69.61,73.17,71.80,72.61,74.02,
-71.30,71.52,72.20,72.07,69.74,73.38,74.52,72.33,72.86,76.56,
-74.26,73.37,74.88,73.96,75.96,73.57,75.60,77.04,73.52,76.89,
-74.94,77.43,73.15,73.98,77.86,76.58,75.16,77.84,77.23,79.02,
-78.24,78.87,78.40,78.16,81.24,76.92,78.53,78.77,81.07,79.84,
-75.70,81.74,79.86,81.02,79.38,82.22,84.61,81.26,79.98,81.81,
-81.60,83.59,80.49,81.35,81.23,82.61,84.30,81.34,82.48,84.26,
-81.13,77.84,81.70,83.24,86.52,81.26,87.71,84.05,82.75,82.99,
-85.79,85.48,84.22,83.88,86.27,85.45,84.51,87.09,85.15,86.57,
-90.69,89.55,83.35,83.87,83.44,86.16,88.34,88.63,85.92,89.53,
-85.03,85.91,90.20,84.25,88.17,88.99,85.29,88.25,89.17,88.61,
-16.27,16.93,17.71,18.91,18.91,19.01,20.19,20.75,21.80,21.67,
-23.23,23.15,23.77,23.79,23.18,26.14,25.28,26.12,26.70,27.47,
-26.68,26.51,27.33,28.34,28.83,29.38,30.13,30.46,30.10,31.94,
-30.72,32.74,32.68,31.92,32.08,32.84,33.16,33.33,34.51,35.51,
-35.02,34.46,37.29,35.76,36.06,36.67,37.46,36.44,38.47,37.98,
-38.60,39.26,39.82,39.17,39.86,41.23,42.71,39.62,41.59,39.52,
-40.46,42.35,41.70,44.16,43.07,42.67,43.83,42.74,44.86,46.25,
-41.87,45.03,44.77,44.21,46.23,46.39,45.51,46.12,47.85,45.90,
-49.62,49.75,47.10,47.31,47.00,49.31,48.08,48.71,51.13,49.64,
-47.38,49.82,47.78,51.60,50.02,50.57,54.28,49.68,52.62,53.36,
-53.45,53.39,51.55,51.07,52.84,53.20,53.82,52.83,51.15,53.55,
-52.97,55.09,57.55,55.54,57.22,55.28,54.42,55.79,57.07,57.48,
-56.48,56.62,54.91,56.17,56.17,59.06,58.24,58.14,59.19,60.54,
-58.91,57.89,57.66,60.03,59.43,60.28,59.26,59.38,61.22,60.59,
-60.98,60.66,62.78,63.03,62.56,62.36,61.89,64.31,62.04,63.68,
-61.49,64.30,61.22,63.41,62.37,64.67,63.51,63.48,66.11,64.64,
-64.63,64.29,66.65,64.98,61.69,66.85,65.37,64.42,68.39,66.94,
-65.79,67.85,66.08,68.20,63.90,67.48,68.18,68.56,65.48,67.80,
-67.68,69.58,69.82,70.14,69.42,69.44,70.44,68.45,69.66,68.51,
-71.82,72.60,71.78,70.48,69.41,71.14,74.84,68.94,70.29,69.36,
-72.07,74.35,72.60,74.21,71.32,72.25,73.54,73.64,72.67,73.83,
-73.69,77.02,73.46,74.85,71.97,73.04,75.21,73.74,77.21,74.22,
-75.79,75.07,71.97,74.27,74.55,75.32,75.21,78.12,76.75,76.86,
-77.63,80.68,76.64,76.06,76.35,76.59,79.26,70.98,79.70,75.53,
-78.24,78.76,79.86,76.15,78.67,78.61,77.94,78.09,77.77,81.30,
-80.64,79.84,80.78,81.14,80.72,78.82,79.50,79.92,84.47,82.09,
-79.51,81.62,77.94,81.19,79.51,83.13,80.39,81.56,82.48,83.25,
-81.04,80.83,82.58,84.97,82.71,80.86,84.64,82.35,87.98,82.92,
-87.81,89.28,85.68,84.37,88.70,90.03,84.66,82.45,84.88,85.21,
-14.77,16.46,16.48,17.98,18.66,18.51,18.11,19.80,19.92,20.95,
-22.02,21.88,22.10,22.53,25.17,23.44,23.78,24.35,25.15,26.42,
-25.69,25.56,26.54,27.95,28.19,29.70,28.51,29.05,29.71,30.83,
-31.00,30.04,31.38,32.04,31.85,32.19,31.69,32.19,33.99,33.42,
-33.18,34.12,35.25,34.47,35.41,34.65,36.51,36.48,37.50,36.64,
-38.08,37.55,37.08,38.15,38.21,37.58,39.29,39.82,36.24,39.95,
-37.86,40.93,39.96,42.09,40.54,40.38,41.31,43.30,44.33,42.78,
-43.19,41.30,41.67,43.77,42.54,46.54,44.12,44.24,44.38,46.16,
-44.44,45.42,45.83,48.48,46.12,46.69,46.24,46.80,47.98,45.87,
-49.11,48.16,47.97,49.75,49.27,49.07,50.60,49.96,49.94,48.61,
-50.26,51.05,46.93,51.24,51.64,50.14,53.92,50.01,52.19,52.83,
-51.79,52.66,53.84,55.15,53.81,53.12,53.98,52.14,54.65,57.62,
-54.28,54.67,53.00,55.50,54.26,58.47,56.30,54.97,57.05,54.51,
-56.31,57.85,56.89,58.56,57.94,57.30,55.86,57.29,59.49,56.15,
-58.37,59.83,58.89,59.25,57.14,58.40,58.89,58.27,62.30,61.06,
-60.44,61.48,60.68,60.83,59.79,60.68,61.66,62.84,59.83,63.11,
-61.04,61.61,64.46,64.91,61.72,62.41,62.16,63.14,65.74,66.00,
-63.67,66.88,60.47,67.41,63.11,63.11,66.00,64.34,67.60,63.57,
-63.60,61.76,65.55,65.48,66.68,66.41,67.89,64.53,66.99,68.81,
-66.46,68.67,68.17,67.26,66.96,66.17,69.62,69.40,69.75,69.70,
-72.35,66.20,69.14,70.04,69.14,70.59,71.67,69.37,71.53,67.83,
-71.01,66.80,72.77,71.67,73.32,71.54,72.55,70.58,71.41,70.74,
-71.89,72.70,69.67,74.18,73.85,73.72,71.68,75.89,76.20,72.44,
-73.57,75.27,74.24,72.72,73.25,75.09,73.08,73.81,74.61,77.98,
-73.04,75.95,76.02,77.39,74.89,73.40,77.63,73.71,75.96,74.56,
-74.06,76.58,77.79,79.27,78.25,74.61,79.76,76.44,79.20,78.97,
-79.74,76.76,76.35,78.99,79.32,78.21,78.42,85.04,78.05,77.84,
-79.47,76.02,80.43,80.83,80.42,78.06,80.68,81.28,77.93,80.10,
-79.60,83.40,82.00,78.75,78.06,86.42,83.64,83.21,84.53,82.16,
-14.64,15.60,15.86,17.17,17.85,17.76,18.53,19.18,19.01,20.25,
-20.89,20.69,21.60,22.55,22.85,24.73,24.40,24.28,25.05,25.64,
-25.62,25.23,25.48,27.14,27.09,27.18,28.09,27.26,28.05,28.18,
-28.65,29.58,30.38,30.39,31.30,30.46,30.24,31.93,31.18,32.56,
-33.63,32.84,32.43,32.12,34.73,34.71,35.50,34.37,34.89,35.24,
-36.42,35.36,34.74,36.25,35.82,37.99,36.57,38.08,36.87,37.99,
-37.43,38.47,38.77,39.23,38.94,40.91,39.07,40.50,41.10,40.77,
-42.21,41.39,41.80,41.36,42.54,41.39,43.07,42.05,42.11,41.43,
-44.12,42.90,43.31,42.31,43.86,43.87,43.97,43.76,44.23,44.20,
-47.02,44.70,46.59,45.47,45.76,48.67,46.56,46.65,47.60,47.54,
-46.79,47.38,48.71,48.58,48.31,48.36,48.42,50.09,49.75,49.19,
-50.24,49.66,50.46,49.36,50.15,50.90,53.09,50.37,52.49,50.24,
-52.96,52.06,53.21,54.03,53.13,53.09,52.70,53.98,52.94,53.39,
-53.30,54.13,53.75,53.49,55.26,54.51,54.36,55.57,56.49,55.81,
-56.88,56.31,56.07,57.75,55.72,55.91,58.87,58.41,58.94,58.75,
-56.94,55.36,55.87,59.67,58.42,58.19,55.95,59.55,59.44,59.24,
-60.92,57.83,58.78,58.78,59.92,58.14,59.78,61.18,60.77,61.71,
-61.40,63.32,63.30,61.59,63.10,62.17,63.46,64.15,63.41,61.97,
-61.40,64.06,62.52,64.82,63.80,62.41,63.60,65.52,66.22,67.55,
-62.12,64.31,64.79,65.42,65.31,64.93,64.20,65.62,64.90,67.67,
-67.28,66.55,66.34,68.74,67.78,66.06,66.87,67.53,66.82,65.85,
-64.38,68.15,67.50,71.67,64.33,66.73,64.64,69.43,69.03,66.05,
-69.43,72.03,71.41,70.16,70.63,70.82,70.51,68.95,73.32,69.57,
-72.68,71.04,72.00,73.35,71.76,69.30,70.38,73.90,69.87,68.56,
-74.48,72.62,72.05,73.54,71.65,71.35,73.37,74.05,71.30,74.57,
-72.58,74.71,72.99,74.37,72.58,74.55,76.79,70.17,76.80,79.55,
-77.30,73.40,76.25,76.89,74.87,73.74,76.44,77.19,76.22,72.13,
-74.19,77.64,76.98,78.42,75.66,79.81,76.99,75.24,77.42,79.46,
-73.42,74.88,76.54,75.47,80.64,73.51,81.20,78.01,78.06,76.63,
-18.18,18.89,19.36,20.61,21.58,22.59,23.30,23.34,24.10,24.37,
-25.25,24.19,25.89,27.06,26.39,27.67,28.24,27.85,28.85,30.40,
-30.22,30.87,31.34,30.85,33.19,32.66,33.68,33.34,33.41,33.47,
-33.71,34.51,34.47,36.86,36.67,37.22,37.14,37.69,38.52,38.32,
-39.27,38.98,38.67,40.36,39.67,41.42,40.31,41.83,39.55,41.61,
-43.06,42.07,42.12,43.80,44.38,46.07,45.42,45.41,45.25,44.98,
-45.24,46.06,45.65,46.36,47.05,45.01,46.34,49.29,48.50,49.65,
-50.08,48.47,48.58,49.94,48.00,52.24,49.66,50.06,48.81,50.89,
-50.34,52.60,51.78,51.73,51.75,51.31,54.88,52.07,51.69,52.47,
-54.07,54.75,54.96,54.52,55.75,55.24,56.08,55.82,56.91,56.60,
-56.69,56.22,56.79,57.75,55.47,57.39,58.38,58.48,60.00,58.83,
-59.76,59.86,59.45,59.75,60.63,60.67,59.37,63.19,59.45,60.19,
-59.99,63.46,61.19,62.37,63.47,61.28,63.99,62.25,62.59,63.16,
-63.58,60.44,64.49,65.87,65.48,64.27,65.94,65.09,66.58,63.34,
-66.39,65.26,66.42,68.40,63.34,66.59,69.08,66.71,64.38,70.76,
-68.73,68.46,68.75,71.57,67.40,67.11,69.40,70.26,70.17,69.76,
-70.30,70.37,70.33,70.88,69.72,69.08,71.09,69.20,74.48,73.25,
-70.34,71.65,72.15,71.89,70.88,72.82,73.39,75.51,73.83,72.14,
-71.38,75.83,76.03,78.39,73.58,71.70,74.78,73.43,74.76,73.12,
-73.84,75.29,77.99,75.68,76.35,82.27,77.26,78.62,78.34,78.32,
-79.09,78.30,78.79,81.82,80.87,82.82,82.25,80.15,78.59,79.65,
-79.54,82.68,78.22,80.84,82.05,81.54,80.57,81.20,83.53,79.38,
-80.06,78.90,79.80,80.94,82.35,85.06,80.56,85.28,85.27,81.93,
-85.41,80.50,83.56,82.86,81.68,82.73,84.70,84.48,89.57,85.18,
-86.05,87.38,85.60,82.01,83.87,88.73,86.56,85.89,84.82,86.86,
-84.60,83.57,88.93,85.60,85.36,87.22,85.75,89.19,88.18,86.37,
-93.38,85.66,87.59,86.89,89.53,86.31,85.53,89.71,90.38,87.00,
-89.17,92.96,92.05,91.05,91.98,93.18,89.73,87.76,94.27,91.23,
-92.41,92.35,94.03,94.81,95.09,93.26,89.74,90.71,91.23,89.74,
-19.93,20.03,20.94,21.45,22.27,22.91,23.51,24.06,25.53,26.58,
-26.55,26.23,27.04,28.14,28.64,29.25,29.50,29.05,29.88,30.68,
-31.39,31.96,32.28,32.33,33.34,34.39,33.71,34.45,36.42,35.31,
-36.15,36.68,38.01,36.87,38.91,38.67,39.36,38.88,41.46,40.03,
-40.38,40.49,41.69,42.03,42.13,42.81,42.83,43.39,43.46,44.75,
-44.66,44.62,45.76,45.02,44.51,46.85,47.14,45.55,48.42,47.49,
-47.65,48.13,49.25,48.73,47.82,48.43,51.27,49.13,50.28,52.16,
-50.78,51.49,50.43,51.84,51.09,54.32,55.15,54.35,54.71,53.66,
-52.48,53.61,55.72,54.01,54.17,56.99,56.02,55.80,56.01,58.14,
-55.45,57.19,57.94,59.46,56.76,59.93,58.78,59.85,61.32,59.24,
-59.12,57.60,58.67,59.64,59.19,59.68,59.09,60.64,61.09,62.86,
-60.95,61.78,62.49,60.97,64.88,62.46,64.34,63.43,62.76,64.43,
-66.87,64.04,64.48,65.71,66.72,66.26,65.76,67.92,66.62,64.48,
-67.71,67.61,68.03,67.16,68.85,66.01,70.41,65.54,69.39,69.36,
-69.75,71.56,72.84,71.19,70.30,70.41,75.04,72.05,68.52,73.64,
-71.55,69.25,73.84,73.02,71.39,71.73,73.50,72.57,71.86,72.24,
-71.84,76.50,71.98,72.52,74.10,74.16,74.94,76.98,73.73,75.80,
-72.86,74.35,79.36,78.06,74.55,79.78,77.03,80.43,77.73,76.22,
-78.91,76.37,79.05,79.17,76.42,77.07,80.02,82.85,82.48,82.19,
-81.33,76.88,83.08,80.94,77.67,81.27,82.58,80.50,81.44,82.63,
-79.33,84.73,82.34,85.86,81.89,82.38,84.75,83.57,84.36,83.58,
-80.98,82.81,86.88,84.21,86.80,83.18,87.78,85.71,87.03,82.80,
-88.97,89.68,87.16,82.99,87.68,89.91,86.94,87.02,88.55,86.52,
-90.30,88.27,87.75,87.61,88.94,90.22,91.11,89.06,94.75,88.92,
-93.81,93.71,86.92,90.03,90.31,87.48,91.20,87.19,89.64,94.56,
-89.72,91.53,92.64,92.84,92.25,89.84,90.31,92.00,93.08,91.93,
-91.48,94.92,92.97,93.52,89.73,91.84,95.05,92.30,98.09,92.31,
-96.69,95.07,95.06,95.63,101.94,94.53,95.13,92.77,98.53,94.69,
-92.42,98.94,96.44,93.60,90.51,94.49,98.05,96.87,97.99,100.82,
-19.58,20.88,21.05,22.11,23.32,23.45,24.93,24.61,25.33,25.61,
-27.53,26.38,28.75,28.09,29.37,29.55,31.17,31.31,30.58,31.61,
-32.88,33.26,34.48,34.06,35.48,36.01,36.81,34.67,35.75,36.66,
-38.32,37.42,39.62,41.32,38.59,39.59,39.38,41.33,39.02,43.17,
-43.02,44.09,43.00,42.23,43.88,43.67,43.42,44.81,44.32,45.64,
-46.02,45.33,46.58,47.49,47.93,47.91,46.77,49.53,51.38,48.49,
-50.62,47.92,50.18,51.44,52.38,50.90,52.32,50.68,52.72,52.57,
-52.99,53.00,53.47,51.53,53.00,54.06,53.00,51.51,55.31,54.60,
-58.38,55.17,57.41,56.56,57.58,58.28,58.06,57.36,58.89,57.90,
-55.83,58.67,60.61,60.84,58.67,61.99,58.89,60.05,60.37,59.49,
-61.66,63.86,62.39,62.05,62.57,62.32,65.36,63.50,63.71,63.57,
-63.88,66.58,63.56,66.07,64.46,65.41,67.13,64.49,66.97,65.22,
-64.50,66.12,66.28,65.06,68.15,69.05,66.67,69.42,65.56,68.45,
-71.25,71.04,68.61,72.59,67.12,72.77,71.08,70.19,72.29,71.11,
-70.67,73.00,71.03,70.03,70.07,70.26,75.56,70.77,71.84,75.41,
-76.45,73.72,74.47,73.59,75.32,74.10,74.24,76.59,74.32,75.85,
-77.75,78.76,74.55,76.21,76.57,76.29,73.62,77.12,79.99,80.04,
-77.52,79.87,76.54,77.25,79.52,79.14,78.93,80.15,79.83,77.61,
-82.24,83.83,82.22,83.22,83.57,81.35,83.88,85.29,81.96,79.47,
-81.04,81.52,84.88,84.35,80.78,85.63,86.19,83.30,86.54,88.10,
-85.82,84.81,82.54,84.60,89.18,83.20,86.66,88.12,86.60,81.59,
-89.26,86.77,87.11,88.32,88.89,90.58,85.48,85.48,87.70,89.98,
-86.55,88.36,87.10,91.17,85.72,88.73,90.71,90.23,90.74,90.88,
-91.61,92.28,90.10,95.64,95.30,94.57,91.32,93.11,90.08,93.94,
-92.06,94.13,91.84,92.76,92.02,94.32,94.76,97.15,97.54,95.78,
-93.30,93.21,97.22,95.21,96.32,98.67,96.10,98.63,99.96,95.23,
-95.02,93.42,97.67,95.79,97.04,96.91,101.60,98.65,94.41,101.95,
-98.51,100.12,96.73,98.25,98.73,96.44,96.22,96.15,96.62,99.74,
-99.03,99.34,100.31,100.63,100.62,104.30,100.21,106.30,98.92,100.20,
-20.16,20.73,22.17,22.92,22.88,24.21,25.33,24.90,26.95,26.92,
-27.16,29.32,28.39,28.24,30.14,30.13,32.24,32.76,33.06,32.39,
-32.92,34.38,35.19,34.95,36.31,35.76,37.34,37.03,38.59,37.34,
-38.90,38.13,39.30,41.25,43.05,39.82,41.87,40.65,42.71,41.92,
-43.52,44.84,43.09,42.61,42.49,44.28,44.55,45.26,45.96,46.49,
-46.02,48.31,48.53,47.23,50.97,50.21,49.58,49.27,49.63,50.91,
-50.83,49.95,49.44,53.32,51.03,51.22,51.45,51.76,53.33,55.25,
-53.40,55.36,55.40,56.53,57.70,57.02,55.81,56.63,57.63,57.18,
-57.08,59.84,58.17,58.46,58.46,56.84,58.93,58.43,60.93,59.54,
-60.00,61.56,61.13,62.63,60.88,62.82,61.99,60.80,62.88,62.06,
-62.06,62.90,64.00,62.15,65.40,65.66,63.93,66.27,65.97,67.38,
-66.21,69.39,67.65,66.68,67.94,66.85,66.00,64.07,67.67,67.76,
-68.26,67.89,70.98,69.61,70.10,68.78,70.83,68.86,71.57,71.11,
-73.52,71.07,72.36,71.48,72.57,74.08,71.71,73.20,76.45,74.03,
-73.00,75.92,75.55,73.93,72.61,75.39,73.16,77.34,75.34,79.98,
-74.86,75.47,77.87,78.39,80.83,78.48,74.00,77.44,76.47,78.46,
-77.72,78.03,76.84,79.87,81.63,82.66,74.78,79.69,81.12,80.97,
-81.65,81.29,80.98,83.86,77.91,84.75,81.72,79.48,86.14,80.52,
-80.12,83.19,82.06,84.45,82.16,83.19,83.99,83.94,85.03,90.40,
-82.64,83.98,91.32,82.38,88.25,87.44,87.27,88.75,87.66,89.48,
-87.65,85.43,86.25,89.62,88.07,86.30,89.79,89.37,86.52,87.83,
-91.37,87.30,90.05,93.32,90.26,88.13,92.52,91.87,88.65,93.00,
-86.59,91.79,91.04,89.59,91.82,91.01,94.31,89.68,92.47,95.21,
-95.40,93.04,88.48,89.56,91.51,94.06,90.72,96.23,92.21,93.17,
-96.76,95.87,98.62,98.26,92.05,98.07,98.29,95.64,95.68,100.10,
-95.59,94.32,94.53,99.72,98.29,99.58,103.91,103.00,96.73,95.23,
-98.73,104.84,96.98,98.41,99.24,99.84,96.59,97.86,98.11,96.08,
-103.37,98.68,99.46,106.39,100.88,102.25,100.81,103.43,98.30,102.12,
-101.19,101.60,104.47,101.98,102.68,98.23,103.04,104.80,106.15,101.13,
-20.12,20.77,21.91,23.13,24.13,24.43,24.60,26.43,27.32,27.63,
-27.91,27.82,29.71,29.42,30.08,31.90,32.51,32.67,32.64,33.74,
-33.78,36.09,34.73,34.35,35.56,36.28,37.99,38.63,36.86,37.78,
-40.26,40.23,40.01,39.76,40.24,41.94,42.48,42.17,42.74,43.25,
-44.76,44.67,45.50,45.01,47.01,48.15,44.99,43.74,44.93,47.58,
-47.95,47.73,49.45,48.41,49.51,47.28,51.06,49.80,50.73,49.51,
-51.07,50.89,52.80,51.48,50.28,54.69,55.04,53.47,53.66,53.66,
-54.56,55.42,54.99,53.35,54.38,56.13,58.05,56.42,56.64,58.33,
-58.23,58.44,57.91,58.20,60.31,61.54,60.14,62.17,61.18,62.21,
-63.06,62.33,62.00,60.33,62.56,61.94,62.93,64.00,63.04,65.34,
-63.73,62.97,65.08,65.30,65.87,66.56,64.65,66.44,66.79,68.53,
-64.87,69.14,67.96,65.68,66.71,66.98,71.36,68.90,66.35,68.86,
-68.06,67.49,73.77,70.17,70.77,70.54,71.65,71.05,70.84,70.98,
-71.41,71.10,73.31,73.98,71.61,74.11,75.25,75.07,72.52,72.88,
-73.78,75.21,77.79,75.11,72.36,78.00,75.16,76.90,72.99,76.07,
-76.66,74.04,79.13,77.57,78.04,77.08,80.14,80.23,79.34,77.20,
-76.56,83.74,79.79,79.82,77.84,79.50,80.08,83.55,80.98,78.46,
-82.31,80.69,84.56,82.57,86.50,85.18,86.60,82.94,83.34,86.65,
-84.10,85.87,81.52,85.50,87.56,84.87,85.99,87.47,86.81,88.58,
-84.63,90.02,89.00,85.53,87.89,85.47,89.17,83.85,89.37,87.58,
-89.40,91.68,89.36,88.23,91.87,87.26,92.24,88.11,90.01,87.54,
-91.31,90.92,92.18,89.90,92.08,92.36,92.26,94.48,94.99,92.98,
-94.13,93.26,93.16,91.10,91.33,91.97,93.62,93.28,92.57,93.24,
-90.83,94.90,95.60,96.88,93.11,96.92,96.42,95.03,97.29,95.99,
-94.05,95.73,92.95,94.39,95.95,97.19,95.80,98.31,99.46,96.93,
-99.72,97.23,94.82,94.92,99.24,102.06,99.44,98.05,100.02,99.08,
-97.69,99.34,101.57,97.12,101.41,102.97,99.14,101.50,101.42,100.81,
-102.78,101.51,101.53,101.82,102.90,101.41,101.41,101.64,104.34,102.01,
-99.68,105.90,102.02,102.67,104.74,106.57,101.42,102.72,103.46,103.85,
-19.52,20.51,21.99,23.53,23.89,25.12,24.88,26.21,27.34,28.37,
-27.97,28.95,29.47,30.15,31.73,30.03,31.60,32.14,31.84,33.63,
-34.10,34.57,34.94,36.58,35.97,36.33,37.36,37.24,38.28,39.25,
-40.10,41.09,39.86,39.34,39.89,41.97,41.14,43.66,44.74,43.84,
-43.52,44.69,44.92,45.33,45.89,46.22,46.35,47.14,46.30,46.31,
-48.13,48.37,50.31,48.60,48.35,49.19,51.03,49.95,52.03,52.01,
-52.25,52.68,52.97,53.47,53.11,52.56,53.85,51.73,56.68,55.63,
-55.27,57.25,56.06,56.62,56.14,55.91,56.86,56.56,58.82,58.90,
-58.98,59.22,59.89,59.65,58.51,57.53,59.49,59.05,62.98,63.94,
-60.10,62.72,62.58,61.33,64.45,63.27,65.86,63.76,63.60,62.45,
-64.68,66.42,67.15,65.13,65.79,66.88,68.41,63.28,66.05,65.87,
-66.09,68.22,67.54,68.02,70.03,70.58,70.71,68.05,66.24,71.11,
-70.53,68.75,71.27,73.96,71.19,72.53,72.16,77.13,71.60,73.11,
-73.04,70.75,70.96,68.94,73.76,74.57,72.98,74.78,72.51,76.55,
-75.84,75.86,75.49,76.33,76.82,77.46,76.72,76.32,76.23,79.19,
-79.37,75.45,80.53,79.71,77.56,80.61,78.08,77.44,79.78,80.32,
-77.67,81.20,83.90,80.68,82.44,81.62,83.02,77.40,82.61,84.72,
-82.74,80.86,83.18,82.93,84.38,82.40,84.98,85.04,85.68,83.23,
-82.95,80.74,85.43,81.80,89.15,87.29,87.58,87.20,85.38,88.37,
-87.86,82.88,87.17,86.46,89.76,88.95,87.27,89.69,88.00,92.86,
-89.74,92.60,88.84,91.20,90.61,93.35,89.92,88.70,88.55,90.07,
-93.72,91.31,92.12,91.12,91.77,92.11,93.93,95.26,90.97,93.47,
-95.29,90.10,94.04,93.38,92.19,97.36,94.19,95.55,95.41,94.26,
-91.88,91.16,95.45,93.78,97.93,92.47,92.37,97.58,95.53,94.80,
-96.39,97.81,98.16,99.58,98.94,97.10,98.39,98.72,103.06,94.89,
-97.73,97.28,97.95,96.49,103.43,100.56,100.11,95.67,100.57,101.38,
-101.85,102.63,100.64,105.25,102.90,104.44,101.08,103.74,104.34,102.04,
-101.86,103.39,106.26,104.49,103.96,100.66,104.29,105.97,103.63,104.35,
-104.04,102.43,105.97,107.12,100.63,106.58,103.35,105.93,111.35,105.14,
-21.12,20.87,21.92,23.26,24.59,25.23,24.29,26.24,27.11,27.18,
-29.34,28.78,30.25,30.09,30.32,31.18,31.28,33.58,31.22,32.49,
-34.97,33.74,35.02,36.27,36.65,36.84,38.51,37.05,38.67,39.33,
-39.45,40.70,41.31,40.13,40.25,40.83,43.62,42.86,43.61,42.58,
-43.46,44.20,44.69,45.99,45.98,45.71,46.46,46.89,46.91,46.33,
-48.66,48.90,48.58,49.45,47.33,49.15,48.70,48.64,49.29,52.90,
-49.35,53.22,49.46,54.97,52.66,52.14,50.62,54.28,53.80,53.43,
-55.35,54.27,53.42,54.50,57.80,55.45,59.36,57.13,58.66,57.20,
-59.01,58.30,56.68,58.58,60.91,62.25,60.32,60.09,59.72,59.29,
-62.10,60.84,64.08,62.57,62.46,61.44,62.03,66.00,62.57,62.80,
-62.93,65.25,67.01,66.65,66.49,65.75,66.42,66.78,70.11,67.72,
-68.19,71.29,65.00,67.46,65.38,69.58,72.85,69.19,67.35,68.94,
-69.65,70.27,70.56,71.79,71.48,72.92,70.91,73.77,70.01,71.81,
-74.89,71.44,73.61,74.87,73.48,76.46,72.55,75.02,74.34,74.86,
-74.28,77.81,75.55,75.20,76.57,75.78,73.83,78.26,76.98,76.53,
-77.21,77.65,77.09,79.12,78.57,76.79,80.86,75.76,77.43,81.24,
-79.68,82.66,79.41,82.71,80.91,81.18,84.31,81.53,78.62,83.66,
-83.62,80.06,86.44,83.38,82.61,82.81,83.60,81.81,86.86,87.10,
-87.36,84.30,88.31,86.55,83.60,88.19,85.36,85.90,84.25,87.70,
-85.34,85.25,86.83,88.29,88.55,91.69,88.03,88.43,90.46,87.20,
-87.95,87.41,92.13,86.13,89.60,88.20,88.44,88.04,90.07,90.45,
-93.29,92.17,92.69,91.12,97.44,91.80,92.62,91.32,89.73,91.61,
-92.33,93.20,93.28,93.30,95.00,95.20,94.33,95.25,93.65,95.24,
-95.04,96.14,97.48,98.30,96.12,92.34,93.39,98.02,95.66,97.30,
-92.89,99.48,100.86,102.31,101.42,96.10,97.16,97.46,102.00,95.62,
-98.60,100.25,100.05,96.81,100.60,97.13,98.76,99.62,103.57,100.85,
-102.13,97.06,107.17,103.37,101.16,98.39,103.72,103.04,104.01,102.19,
-99.12,95.25,100.66,106.10,101.33,100.73,102.50,105.33,104.61,106.91,
-106.23,101.15,107.21,105.49,104.03,104.92,103.39,109.18,108.14,106.19,
-20.03,22.03,21.47,22.15,23.44,24.73,25.52,26.66,26.85,27.72,
-28.65,27.59,28.76,29.12,30.78,31.44,31.33,31.85,33.54,33.23,
-33.53,32.57,35.49,36.33,34.99,37.07,39.07,39.51,38.85,36.43,
-38.00,39.97,38.32,39.31,39.22,39.45,41.98,42.26,42.04,44.45,
-43.16,45.99,46.39,44.89,43.21,45.94,44.90,44.05,46.41,46.87,
-46.07,48.51,46.79,47.97,50.03,49.05,49.06,49.87,48.45,51.34,
-52.54,51.73,50.44,51.61,53.58,54.82,55.52,54.21,51.66,53.17,
-54.31,53.34,55.39,54.39,54.98,57.13,57.57,56.72,57.20,57.52,
-56.47,56.87,58.10,58.72,61.09,56.65,59.20,60.03,60.47,61.22,
-61.17,60.44,63.35,62.10,61.32,62.31,60.95,64.58,63.22,63.50,
-62.31,65.13,63.43,66.47,66.61,63.17,62.31,66.02,65.52,66.94,
-64.09,68.08,67.82,68.35,65.13,70.81,67.73,65.96,67.31,68.65,
-69.70,69.96,71.71,73.44,70.54,70.09,70.47,72.14,73.16,71.13,
-71.17,72.97,72.69,70.61,71.01,74.15,71.17,78.36,72.97,73.98,
-73.06,74.20,73.71,76.06,72.93,76.66,75.03,74.56,76.07,75.19,
-77.89,77.14,76.74,81.64,79.21,79.19,77.04,80.34,78.79,79.71,
-80.28,82.95,80.85,80.78,78.45,78.89,82.24,83.41,82.15,80.46,
-84.49,82.62,81.40,82.89,82.53,84.79,85.10,84.44,86.36,86.67,
-81.79,81.80,86.49,87.38,86.42,84.98,82.68,82.42,82.14,86.72,
-87.69,88.58,87.39,86.27,84.92,90.67,86.33,87.49,86.11,88.16,
-86.77,90.06,92.15,89.17,89.65,89.95,91.87,88.91,92.19,90.02,
-85.39,93.53,90.21,92.85,89.77,93.04,91.95,94.14,94.02,92.75,
-93.54,92.49,93.80,90.18,93.81,90.67,89.91,94.49,90.63,95.62,
-94.88,95.87,96.85,95.98,94.03,93.02,94.72,96.09,98.23,95.68,
-97.11,95.53,94.67,98.48,94.01,100.26,100.95,97.51,92.11,96.61,
-99.65,100.20,94.94,100.77,97.65,93.14,96.60,99.72,102.00,103.19,
-97.10,100.51,100.24,100.19,97.54,101.14,98.54,99.94,103.78,100.48,
-104.70,98.74,108.46,106.10,104.55,102.77,102.08,102.49,104.53,107.29,
-104.07,102.34,104.21,99.70,103.12,105.95,100.65,105.19,105.59,105.34,
-19.96,20.42,21.98,22.27,23.46,25.03,24.45,26.10,27.58,26.85,
-27.92,27.88,28.94,27.94,31.03,31.72,30.31,32.55,33.77,33.19,
-35.08,33.67,33.59,35.39,36.59,34.50,35.90,36.33,38.41,38.34,
-37.61,38.01,41.04,40.02,41.67,39.71,39.52,43.17,41.30,42.78,
-40.87,43.45,43.61,45.78,45.37,46.71,44.91,45.10,45.86,45.07,
-46.17,47.31,47.61,46.34,49.68,49.11,48.26,50.37,48.21,49.37,
-50.71,50.39,50.55,52.11,51.29,51.56,52.65,54.40,55.45,54.34,
-54.06,53.65,53.37,53.62,53.66,56.58,54.72,58.68,57.34,56.58,
-55.42,58.73,55.67,57.99,58.20,55.78,59.19,59.28,60.38,56.26,
-61.59,59.08,60.03,61.83,60.16,60.80,60.19,60.15,61.61,63.47,
-64.43,65.42,63.08,64.02,64.14,62.81,63.53,66.34,65.28,64.19,
-68.70,65.18,66.36,66.20,70.19,67.46,67.63,68.91,68.01,68.02,
-66.63,68.02,72.29,69.67,69.26,70.48,72.09,69.82,70.25,71.89,
-70.75,72.21,73.72,69.04,69.32,72.48,74.75,70.32,75.34,71.04,
-71.07,75.87,74.83,74.33,75.94,75.09,74.81,74.61,76.81,74.73,
-75.23,74.88,74.13,76.11,73.18,79.53,76.99,79.34,79.42,76.91,
-77.63,76.93,77.81,77.50,78.38,76.36,79.07,80.82,79.00,77.60,
-83.00,83.81,83.57,81.12,79.70,82.26,80.58,82.62,82.10,81.17,
-82.40,81.43,82.82,81.35,85.40,83.31,83.91,86.71,82.49,84.26,
-86.54,83.47,83.52,85.71,88.41,86.15,89.25,83.24,86.21,88.10,
-89.17,86.56,85.00,88.63,89.30,87.91,85.80,89.07,87.65,86.17,
-89.86,88.26,88.36,91.40,87.98,89.59,87.94,89.41,91.90,88.50,
-93.13,91.90,92.29,90.42,93.06,93.69,93.71,89.33,94.74,91.68,
-96.08,92.10,90.83,91.69,92.63,91.45,98.11,94.41,95.29,95.05,
-95.56,92.83,95.37,93.20,94.96,99.02,94.17,97.01,94.39,96.93,
-98.15,97.24,96.96,97.89,101.23,98.37,100.01,98.04,98.08,96.13,
-101.30,99.24,99.06,102.65,99.96,100.28,99.51,98.69,96.46,96.98,
-98.63,102.31,98.90,100.51,102.68,102.85,101.93,107.17,98.54,101.31,
-102.09,104.30,102.48,103.17,103.00,103.70,106.30,107.19,103.60,100.07,
-19.11,20.71,21.23,21.25,22.32,22.52,23.31,24.43,25.33,27.08,
-27.69,26.96,28.05,28.65,29.30,29.87,29.26,31.54,31.22,31.46,
-32.86,33.49,33.44,34.04,34.18,33.95,36.03,36.34,35.70,37.94,
-35.93,38.77,37.86,38.17,39.63,39.29,39.96,39.35,38.69,41.84,
-41.58,41.58,42.95,42.86,43.70,44.37,44.47,44.56,44.12,44.93,
-46.45,46.16,45.70,47.47,46.95,48.69,50.44,47.51,49.88,48.28,
-50.13,49.49,50.27,50.90,49.91,51.67,51.41,52.11,51.29,52.67,
-53.02,52.79,50.46,55.75,53.83,54.45,56.11,56.60,53.41,54.61,
-56.75,59.12,56.42,56.88,55.27,56.05,56.30,56.54,59.26,59.20,
-59.20,59.06,60.52,61.83,61.64,61.20,61.11,60.87,62.18,62.21,
-62.88,61.92,62.60,62.69,63.48,61.53,63.65,62.32,64.37,64.20,
-64.34,66.26,66.28,64.42,65.59,65.33,66.69,67.24,65.61,67.17,
-66.19,67.75,69.92,66.60,67.80,67.71,67.57,68.62,68.37,69.90,
-68.74,69.14,68.16,71.57,73.79,70.41,70.17,71.94,74.08,70.86,
-75.94,69.50,77.83,72.97,74.32,72.95,75.88,75.39,77.02,72.28,
-75.93,73.73,73.60,76.90,77.36,74.72,75.83,75.43,76.50,77.08,
-76.61,74.16,76.17,73.19,78.21,79.09,77.19,77.42,76.38,77.16,
-78.99,78.82,84.52,81.40,81.68,80.63,81.03,82.39,81.63,80.92,
-78.48,84.39,84.01,82.09,79.17,80.56,80.37,86.26,82.15,81.88,
-81.35,82.70,81.88,86.65,84.63,85.41,83.55,82.67,90.50,84.95,
-87.24,83.16,84.94,86.32,86.23,84.27,86.09,84.83,88.05,84.16,
-86.64,90.61,87.21,91.55,83.43,88.92,88.44,90.00,92.62,90.51,
-88.32,86.94,88.76,86.83,92.36,88.82,92.30,93.19,93.95,94.37,
-92.74,94.30,91.46,90.98,92.00,92.72,92.25,92.13,90.98,95.05,
-92.35,94.02,96.65,93.49,95.54,93.42,93.23,96.53,98.83,93.96,
-96.75,95.06,96.17,98.03,90.85,97.47,95.86,97.14,96.59,96.44,
-99.17,96.90,94.26,97.32,95.57,94.33,98.29,94.59,100.70,98.97,
-98.46,101.09,98.40,100.12,99.75,99.53,101.94,99.55,104.03,101.77,
-98.25,98.71,102.52,100.41,97.09,102.96,98.16,100.44,101.55,98.84,
-19.22,19.29,21.21,21.57,22.27,22.41,23.60,25.00,24.79,25.98,
-26.65,26.79,26.66,28.42,29.06,29.71,30.13,31.21,30.11,31.97,
-33.54,32.07,33.49,32.99,34.14,35.49,36.35,33.25,35.94,35.55,
-37.79,38.43,38.25,36.68,37.57,38.49,38.65,39.76,39.07,41.34,
-40.31,40.66,40.45,42.30,42.59,41.90,43.52,42.91,43.53,42.82,
-46.77,45.40,46.48,44.10,45.86,46.11,47.91,47.94,46.61,48.01,
-47.25,47.25,49.80,51.06,49.74,48.71,50.50,49.17,50.18,50.89,
-53.00,50.39,52.93,51.79,51.77,53.89,52.27,54.03,53.29,53.43,
-56.20,55.16,55.17,53.84,56.71,53.88,56.86,57.07,54.90,60.00,
-59.09,58.54,57.35,58.86,59.50,61.22,60.42,60.51,60.25,57.65,
-57.52,62.04,59.72,60.64,59.20,62.90,61.92,62.06,61.41,61.49,
-64.49,62.37,63.90,64.37,63.33,66.30,64.43,64.08,63.58,67.00,
-65.03,69.27,67.60,64.48,66.23,65.84,67.94,68.89,65.24,68.81,
-68.55,72.34,67.17,66.15,69.31,69.63,70.44,70.45,70.79,71.51,
-70.73,73.47,71.98,70.81,72.46,70.06,73.62,70.16,72.47,72.76,
-72.79,73.24,73.07,73.67,73.00,74.31,74.70,75.90,72.12,74.31,
-76.01,74.18,74.09,75.89,75.27,78.91,77.21,73.44,80.28,77.51,
-79.98,78.75,78.58,76.72,78.34,77.03,80.45,77.94,76.93,76.46,
-80.38,80.53,83.16,80.19,80.22,81.72,80.15,79.21,79.02,80.24,
-80.42,82.10,83.10,86.14,82.52,84.16,86.45,84.29,82.20,83.06,
-79.85,82.86,82.59,87.40,83.88,82.52,81.06,86.68,84.21,82.72,
-86.97,84.17,86.76,89.24,85.71,85.41,85.06,85.77,86.75,85.40,
-88.21,86.49,84.59,90.74,84.46,89.71,92.38,88.73,89.84,86.26,
-91.39,85.26,87.91,88.87,92.67,86.80,90.27,88.30,89.06,91.06,
-92.75,90.07,94.61,92.49,93.69,92.01,91.82,88.90,90.18,93.29,
-92.91,93.04,94.50,90.66,95.47,92.54,95.36,95.87,91.49,100.06,
-94.13,95.90,94.24,93.98,94.51,94.61,99.04,94.97,100.68,94.76,
-96.35,96.80,97.12,98.77,99.90,95.68,96.39,98.72,101.19,96.33,
-99.55,94.40,102.58,101.82,97.93,93.47,102.82,100.50,98.06,101.67,
-19.33,19.33,20.35,20.84,21.56,21.24,23.28,23.98,24.35,25.02,
-26.30,25.38,26.96,27.00,29.71,28.51,28.07,30.22,29.41,30.31,
-31.39,32.19,33.30,33.80,32.77,33.84,35.14,34.38,36.10,34.84,
-37.03,36.49,35.69,35.66,37.70,37.81,38.37,39.54,39.82,39.20,
-39.86,40.71,40.99,41.97,41.99,41.62,42.56,42.62,43.20,43.46,
-44.94,44.61,44.47,45.02,45.10,44.55,45.53,46.74,46.52,48.63,
-47.26,47.84,46.75,46.75,47.85,47.60,48.89,49.51,47.38,50.21,
-50.54,51.32,49.40,50.81,51.29,53.10,51.79,51.65,52.66,52.71,
-52.91,54.65,51.91,53.45,53.08,52.52,56.47,55.40,55.76,56.69,
-56.25,56.32,55.80,55.72,53.88,57.58,58.73,58.96,57.30,59.14,
-60.45,62.12,59.21,59.13,59.75,59.99,61.82,60.13,62.24,60.84,
-60.78,61.51,62.65,62.46,64.08,62.56,64.68,63.74,60.35,64.43,
-62.30,64.66,65.66,64.31,65.94,64.10,64.69,63.60,66.47,65.49,
-66.54,67.47,70.44,67.15,66.53,67.48,69.96,66.73,65.98,67.34,
-67.30,68.81,68.82,67.69,71.05,68.80,68.12,71.44,69.81,71.41,
-69.94,69.92,70.31,74.68,72.04,70.54,72.13,73.17,72.92,72.11,
-72.77,72.27,74.73,72.50,74.50,75.32,76.46,75.29,72.07,74.89,
-74.65,74.32,77.32,76.58,73.64,76.33,75.44,77.92,77.46,77.35,
-76.85,77.83,77.40,76.22,77.98,75.84,77.90,73.60,79.81,81.08,
-79.20,80.05,78.66,81.20,77.63,80.57,78.42,81.20,82.18,80.43,
-79.17,81.32,81.33,80.90,82.13,83.50,79.11,82.25,78.71,84.47,
-84.83,83.13,85.31,82.76,87.74,81.99,87.82,83.26,85.90,84.65,
-86.36,88.54,86.06,88.41,86.41,87.86,88.15,83.09,89.71,85.61,
-84.65,87.95,88.59,88.73,90.67,88.79,90.26,89.30,86.78,88.55,
-87.56,88.29,92.16,86.72,85.66,87.93,90.48,93.08,89.11,90.69,
-90.32,87.94,88.94,89.45,92.53,89.90,92.25,87.53,93.65,94.99,
-90.65,92.05,92.92,93.62,92.74,92.80,89.40,94.06,97.63,95.74,
-96.29,92.19,94.20,93.94,94.83,93.37,93.47,95.15,94.65,94.35,
-98.23,97.77,95.60,99.78,93.55,99.28,95.81,100.11,95.19,95.71,
-17.92,18.69,19.72,21.22,21.05,21.46,22.21,23.33,24.32,25.07,
-23.87,24.49,25.36,26.53,27.13,27.67,28.48,28.21,29.14,28.91,
-31.63,30.05,31.41,32.62,31.57,31.76,32.14,32.54,33.09,34.07,
-34.99,36.52,37.02,35.88,36.84,37.77,38.41,38.58,38.69,38.62,
-39.00,38.28,40.84,39.86,40.41,41.63,41.02,38.85,41.37,42.05,
-41.96,42.25,42.39,43.13,44.97,40.99,44.96,44.75,45.58,45.48,
-45.08,45.21,47.35,46.49,46.61,48.62,46.99,49.57,48.29,49.39,
-49.31,49.82,50.92,51.24,49.96,50.10,50.19,51.47,51.66,51.32,
-52.05,51.01,51.88,52.46,54.12,53.17,53.98,53.72,54.08,54.43,
-53.01,54.17,53.97,56.39,54.42,57.17,57.32,54.41,54.58,56.22,
-56.76,55.74,56.62,56.89,60.69,61.38,59.33,58.15,58.63,60.56,
-59.64,60.22,57.91,58.45,60.98,60.88,62.99,61.56,60.48,62.94,
-61.08,60.26,61.35,62.38,62.04,62.43,62.10,65.48,63.00,63.59,
-63.56,65.56,64.81,65.29,63.05,65.52,65.67,66.04,65.18,68.48,
-67.20,67.18,67.62,66.58,69.67,69.29,70.68,69.15,67.50,66.21,
-68.29,73.36,67.63,69.92,69.66,67.89,72.30,68.94,70.85,68.51,
-71.70,71.17,71.46,72.69,72.38,69.43,70.51,72.66,75.00,74.46,
-72.87,74.40,74.18,74.36,73.14,74.07,73.50,72.92,73.39,77.23,
-74.40,78.00,77.46,73.76,74.48,77.20,74.43,78.99,70.84,80.65,
-76.18,78.90,76.75,78.74,78.48,76.46,80.10,79.10,76.82,78.04,
-76.43,76.10,80.40,81.08,78.21,81.74,83.02,78.75,79.92,81.06,
-79.26,80.65,81.23,83.19,83.21,82.80,82.05,79.16,80.12,79.75,
-82.50,80.35,81.85,81.08,82.38,85.31,84.62,83.54,81.44,82.76,
-83.47,82.00,86.08,83.70,86.35,84.34,83.77,86.12,87.99,83.24,
-84.84,85.85,90.77,85.44,86.92,87.24,87.40,86.36,89.09,86.09,
-85.78,88.68,90.36,92.61,84.76,90.17,88.78,90.82,89.90,89.08,
-89.77,87.95,88.47,90.25,90.91,88.52,92.42,93.54,87.07,89.76,
-92.54,92.91,92.49,93.25,91.55,91.34,92.58,93.20,93.71,92.18,
-91.23,91.97,88.17,94.22,94.23,92.39,90.12,92.20,93.49,92.08,
-16.28,19.07,18.23,19.02,20.72,20.48,21.51,22.60,22.29,22.89,
-24.21,24.47,25.99,24.97,24.38,26.68,26.89,27.99,29.48,30.47,
-28.94,28.33,29.56,31.18,30.70,31.58,31.15,31.89,32.54,32.06,
-33.24,34.15,33.04,33.99,35.67,34.44,36.26,37.56,34.93,36.16,
-34.95,37.28,37.79,38.52,37.97,39.69,39.84,39.41,39.73,38.16,
-41.19,41.68,40.17,43.41,42.89,42.19,41.95,42.88,42.60,43.62,
-44.78,42.59,44.35,45.87,44.44,44.18,44.88,47.10,46.00,46.70,
-46.97,47.05,47.17,47.00,47.48,49.15,49.05,49.67,47.99,47.96,
-50.17,52.44,49.01,50.43,51.04,52.05,51.50,51.34,50.55,52.89,
-52.63,54.42,52.01,53.23,56.20,55.81,55.13,54.31,57.15,54.67,
-55.27,55.24,59.77,57.95,56.24,55.96,56.45,56.79,59.63,56.33,
-57.19,56.47,59.77,58.44,57.99,57.23,58.36,60.88,59.51,59.48,
-61.24,59.79,61.18,59.83,59.50,62.88,61.08,62.27,62.51,62.22,
-64.91,61.33,63.80,65.22,62.83,62.49,62.95,63.15,62.30,62.57,
-65.04,64.47,63.44,65.99,63.78,66.46,65.57,66.78,66.07,67.83,
-67.37,67.54,66.28,64.06,66.85,69.09,67.50,67.80,67.88,70.16,
-70.23,68.41,69.39,68.74,70.15,69.25,73.94,70.08,72.97,70.83,
-67.74,72.01,70.29,73.02,71.22,72.11,76.04,74.24,73.72,72.71,
-72.06,74.15,71.14,72.50,76.61,72.12,74.26,72.24,73.14,72.63,
-75.00,76.40,74.38,76.76,76.83,75.56,75.94,74.82,75.25,76.16,
-77.37,76.80,75.16,78.12,72.77,77.22,79.46,79.24,77.83,77.32,
-75.49,79.49,76.57,78.50,78.57,80.75,79.57,78.82,78.39,81.58,
-84.02,78.75,78.48,80.26,78.80,78.81,79.96,79.82,82.57,77.33,
-82.09,82.71,80.35,85.71,78.24,82.52,86.35,85.45,81.31,80.46,
-81.82,81.64,82.79,79.30,82.45,83.31,82.79,83.59,83.72,83.65,
-84.08,85.79,83.29,83.02,86.66,84.33,87.84,85.87,84.10,85.29,
-86.25,88.20,87.09,85.44,86.72,87.41,88.12,89.00,88.03,88.03,
-89.16,86.59,90.33,88.39,89.03,88.28,86.29,89.93,91.49,87.66,
-90.42,90.75,89.67,88.38,90.16,89.13,88.92,92.03,93.61,90.33,
-16.16,17.67,17.93,19.40,18.47,19.55,20.08,21.01,21.96,22.93,
-22.55,23.04,25.00,25.25,25.40,25.40,28.13,26.36,26.58,27.54,
-27.61,27.65,28.35,29.06,30.44,30.07,31.07,31.10,32.16,32.26,
-32.53,31.03,33.31,33.34,32.60,33.37,35.32,34.38,34.21,36.25,
-37.38,35.26,38.14,35.99,37.00,38.51,38.35,38.30,37.87,37.94,
-39.44,37.07,40.45,40.62,40.13,41.07,41.68,41.71,41.97,43.11,
-42.93,43.15,44.35,43.42,43.41,44.31,44.53,45.11,46.20,45.96,
-44.90,46.30,46.42,45.15,46.06,46.34,47.01,47.97,46.93,47.66,
-48.63,49.61,49.56,51.67,51.00,49.73,49.26,51.63,50.27,51.62,
-52.51,52.49,52.26,51.51,53.17,51.40,53.89,53.92,52.73,52.75,
-55.00,54.67,49.34,54.01,53.91,53.95,55.19,54.37,54.48,55.94,
-54.03,54.83,56.77,54.87,58.47,53.82,55.85,57.53,57.65,57.66,
-59.27,59.51,59.76,56.92,59.19,58.11,60.06,61.21,60.26,61.14,
-60.25,60.69,60.90,61.29,60.61,60.40,62.31,62.28,60.36,62.85,
-60.04,62.21,61.73,64.36,60.49,61.34,61.63,63.91,63.01,61.58,
-64.26,63.80,65.61,66.34,65.28,64.25,63.98,66.52,68.39,63.69,
-65.45,66.37,67.19,65.43,67.50,64.25,67.56,64.55,68.27,68.86,
-70.06,68.73,70.07,69.50,67.39,69.48,69.54,71.36,72.43,70.85,
-66.85,71.91,71.17,70.27,72.35,69.07,73.00,70.46,68.86,68.17,
-70.29,74.06,70.65,72.57,71.02,72.82,71.22,74.29,72.10,74.28,
-72.70,70.53,73.11,72.69,75.87,76.30,78.17,73.04,75.92,76.25,
-79.12,77.38,76.00,72.04,74.18,76.64,76.59,77.35,74.70,75.18,
-78.69,77.64,78.23,78.74,79.92,76.53,76.61,80.43,78.96,79.29,
-78.58,77.06,80.05,79.21,79.49,80.43,78.23,80.37,80.23,79.16,
-80.81,82.15,80.40,77.92,78.53,83.35,86.37,82.46,81.68,79.76,
-80.10,82.86,82.28,83.32,83.03,80.60,80.84,81.59,83.04,85.07,
-82.60,81.50,82.22,82.17,82.15,86.00,83.07,85.33,85.25,85.27,
-87.66,84.43,82.18,86.47,83.61,82.83,84.73,88.19,86.05,84.45,
-89.08,84.78,86.05,86.26,84.42,87.97,87.87,92.37,88.40,85.38,
-17.82,19.44,18.44,21.19,21.52,21.42,23.46,22.63,22.92,25.02,
-25.87,26.28,25.96,26.61,26.56,28.59,28.30,29.49,29.94,29.57,
-29.48,29.64,30.82,31.80,31.47,31.77,32.02,33.18,32.97,33.76,
-33.63,34.96,35.64,36.60,34.33,36.27,36.76,37.08,36.77,37.80,
-38.46,39.06,38.99,39.71,38.42,41.18,39.83,40.15,40.77,39.48,
-41.51,43.45,42.53,42.83,43.77,42.94,47.13,45.04,43.83,43.85,
-45.62,45.31,43.92,46.16,45.37,46.19,45.95,47.45,47.75,47.74,
-46.04,50.45,48.61,47.07,46.71,49.20,48.65,49.82,49.12,51.92,
-50.69,53.71,50.14,53.78,50.57,50.73,53.09,54.68,52.14,53.90,
-52.51,55.13,54.48,52.99,54.69,56.82,54.20,53.73,55.84,57.09,
-56.29,56.16,52.67,58.67,57.73,59.33,56.66,59.09,59.88,58.61,
-57.61,57.37,61.06,58.91,60.89,60.04,59.65,59.38,60.55,59.35,
-60.69,61.79,62.24,61.90,64.33,65.56,61.37,61.96,65.35,63.56,
-63.07,60.88,61.46,62.93,65.21,64.91,65.77,63.88,63.28,66.05,
-65.68,65.93,64.80,65.68,65.00,67.12,65.43,64.03,66.23,66.52,
-66.86,67.27,68.92,65.35,67.32,68.71,70.87,68.56,69.11,69.79,
-70.16,67.65,69.68,68.06,68.67,67.59,67.64,71.68,73.05,75.39,
-68.24,72.95,70.90,70.73,73.16,73.55,74.28,70.85,74.45,73.70,
-72.82,73.84,70.64,70.81,74.31,73.94,74.50,72.59,73.68,73.06,
-71.31,75.61,74.91,77.60,77.04,76.44,73.83,75.41,77.87,80.65,
-78.55,76.95,76.27,76.20,74.66,81.53,76.54,75.97,80.19,76.05,
-79.69,79.10,79.61,77.42,81.67,81.94,77.97,82.94,82.02,82.94,
-77.63,81.16,82.11,82.97,79.48,78.76,81.76,84.55,82.22,78.84,
-80.96,83.26,80.39,82.60,82.16,86.03,86.68,82.45,82.11,84.81,
-84.78,82.10,84.48,84.11,84.11,87.48,85.68,85.87,85.47,86.05,
-82.49,86.35,88.13,87.36,87.19,90.89,85.91,87.48,86.81,87.54,
-83.05,90.36,86.85,87.12,86.32,88.04,90.28,88.47,89.52,85.31,
-88.96,91.95,87.50,91.79,91.24,88.59,90.86,90.01,87.06,86.41,
-90.09,87.61,87.18,92.92,92.86,89.98,86.01,90.42,89.77,90.35,
-18.91,20.23,21.28,21.20,22.98,22.73,23.80,24.23,25.36,25.25,
-26.94,27.51,27.93,27.64,29.57,29.09,30.00,29.16,30.78,32.38,
-31.89,31.56,33.61,32.70,34.69,34.88,34.89,34.30,36.16,37.47,
-37.08,36.07,37.15,37.59,38.34,38.19,39.25,39.73,39.69,39.80,
-41.27,40.04,40.08,43.30,41.67,42.78,43.72,42.70,41.91,42.80,
-44.44,44.99,45.23,47.05,47.85,45.63,46.23,47.53,47.26,46.64,
-47.15,49.47,49.68,49.76,49.08,50.79,47.46,50.52,49.70,49.84,
-51.96,51.52,51.55,50.37,52.87,51.01,53.39,52.57,53.33,52.81,
-54.66,56.72,55.79,55.20,54.54,54.61,56.95,54.47,56.97,56.32,
-57.47,56.96,58.27,57.42,58.25,57.42,57.45,57.29,58.79,59.88,
-60.12,59.95,59.99,61.78,61.14,59.90,60.86,59.80,64.14,63.57,
-63.03,63.19,62.34,62.65,63.91,63.57,62.88,61.36,62.37,63.69,
-62.54,64.58,65.62,64.20,66.94,67.14,66.47,65.44,63.68,67.30,
-66.34,70.10,67.37,67.69,66.40,67.36,69.34,67.00,68.44,67.73,
-70.78,69.61,71.56,67.90,69.79,71.93,67.83,71.63,71.31,72.80,
-72.29,74.29,71.39,71.84,72.70,74.95,72.01,74.61,72.75,74.45,
-75.20,70.95,74.18,73.57,77.50,74.63,76.15,72.65,77.38,72.83,
-78.92,72.68,75.00,77.71,76.26,77.19,77.57,79.07,79.05,77.76,
-77.04,79.45,81.75,72.93,77.93,78.84,80.57,82.95,80.01,78.20,
-78.86,78.51,79.40,79.29,79.02,77.85,79.58,79.12,82.44,83.71,
-81.79,85.13,81.16,83.47,80.20,83.34,82.85,89.32,82.44,86.14,
-79.80,82.46,83.43,86.79,84.73,81.66,87.37,84.08,86.95,85.98,
-87.52,84.52,84.14,87.80,84.18,87.76,85.48,89.21,88.09,89.15,
-90.42,88.91,88.12,87.47,87.92,89.53,86.08,89.43,87.31,92.22,
-86.58,87.87,92.00,91.15,89.31,88.24,91.33,90.12,92.30,94.39,
-93.82,88.27,88.78,88.03,92.44,89.24,88.84,92.69,92.19,93.50,
-93.58,93.79,90.09,94.17,95.07,94.25,91.84,95.31,92.55,96.55,
-95.03,96.73,94.31,95.71,96.53,94.57,98.91,98.37,96.20,97.94,
-99.45,95.46,99.73,99.66,94.76,95.90,92.96,97.47,96.34,98.06,
-20.37,20.77,21.93,22.34,23.17,24.51,24.74,26.80,26.53,27.09,
-28.14,27.82,29.23,30.27,31.08,31.13,29.41,31.27,31.93,33.59,
-33.38,33.31,32.76,34.44,34.08,34.11,37.79,36.06,37.95,38.55,
-38.52,37.87,39.05,38.46,38.91,41.03,41.35,41.10,40.19,43.56,
-41.93,42.13,46.41,43.93,43.67,43.69,46.01,44.30,44.83,46.21,
-45.68,47.77,47.12,47.11,47.91,46.62,46.72,47.89,49.26,49.35,
-51.06,49.17,48.67,49.34,50.74,50.38,52.47,52.51,51.93,52.99,
-52.02,55.18,54.08,53.86,53.24,55.43,54.22,56.10,56.17,55.30,
-57.15,55.60,56.79,57.27,58.09,58.59,59.54,57.90,58.52,60.72,
-58.59,58.71,59.19,58.02,61.42,62.34,61.45,61.25,61.56,61.83,
-63.34,63.61,62.39,63.12,63.26,61.38,66.52,60.87,65.48,66.43,
-64.91,63.54,66.14,65.90,64.40,66.70,68.44,68.65,66.70,65.32,
-71.17,66.86,68.87,66.65,69.38,68.35,69.48,66.80,73.22,70.18,
-72.71,71.32,70.63,70.65,70.57,72.69,72.15,71.03,72.23,73.38,
-72.86,73.39,73.50,73.65,71.23,73.16,72.77,73.93,73.90,75.02,
-74.12,73.22,72.68,78.11,77.34,76.35,75.23,76.61,77.22,79.46,
-74.46,78.97,78.26,77.39,76.93,74.87,75.84,81.67,78.41,76.01,
-80.02,79.99,81.93,78.32,80.22,80.25,80.61,79.62,82.24,79.05,
-82.17,79.09,82.45,80.85,79.08,82.00,85.00,82.10,80.20,81.91,
-83.95,85.31,82.28,81.13,84.13,81.55,83.91,85.77,82.73,87.35,
-86.65,84.98,87.93,86.75,85.71,84.11,85.37,89.32,87.02,91.72,
-87.77,87.28,87.85,86.87,89.94,86.64,89.41,91.38,92.83,89.07,
-92.57,91.42,90.89,90.08,86.35,86.36,90.54,91.35,93.49,94.33,
-89.24,92.23,91.83,94.56,92.11,91.19,94.51,91.87,93.78,93.18,
-97.27,87.46,91.19,94.72,93.78,91.46,94.50,95.19,96.06,93.72,
-95.77,95.25,100.00,97.52,95.17,96.14,92.55,100.95,97.74,100.67,
-92.19,93.59,97.38,98.93,98.08,99.10,99.12,97.57,97.24,98.13,
-100.96,96.89,98.41,96.83,98.18,100.59,97.85,99.35,99.45,99.11,
-101.52,105.16,101.38,98.09,100.95,102.46,101.21,98.77,99.95,102.83,
-20.28,22.05,21.84,23.15,23.76,24.93,25.72,26.60,26.03,26.71,
-28.33,29.50,29.43,30.27,30.06,30.61,32.59,32.00,33.00,33.95,
-34.58,34.50,34.09,36.14,36.28,35.40,38.41,37.97,38.93,38.33,
-38.95,39.42,39.39,41.72,41.89,41.34,42.24,43.23,43.85,42.90,
-43.28,44.81,44.39,45.21,44.82,44.99,46.21,45.75,47.16,46.76,
-48.99,48.07,49.47,49.11,47.49,49.04,52.18,50.98,50.92,50.10,
-52.12,53.45,52.89,52.85,53.93,53.16,53.43,54.45,52.99,55.80,
-54.82,53.36,54.07,53.19,57.21,56.10,56.33,58.54,58.59,59.71,
-58.61,59.04,56.79,59.10,56.99,58.47,60.85,58.88,58.26,60.93,
-61.12,58.59,63.05,64.04,62.17,61.52,64.72,61.38,62.52,63.26,
-62.20,62.35,65.81,62.37,68.09,63.50,65.56,67.19,68.18,67.63,
-67.12,69.80,65.23,67.57,65.90,69.72,67.89,70.46,65.94,70.73,
-68.85,68.46,71.79,71.04,69.00,68.40,71.74,74.04,67.99,72.07,
-74.20,72.15,72.46,70.76,75.22,74.62,72.63,74.98,77.66,77.54,
-75.76,75.56,76.57,78.62,74.85,73.43,76.61,76.48,79.89,76.04,
-78.11,77.74,77.49,80.99,75.70,75.83,79.77,78.06,78.60,78.40,
-78.47,80.89,79.70,82.05,81.75,80.47,81.86,80.72,79.02,82.51,
-82.66,83.01,82.67,84.31,81.19,81.75,87.58,85.72,86.06,84.82,
-86.93,82.10,85.14,84.24,83.13,85.42,85.10,85.17,84.83,84.76,
-86.80,86.64,85.69,86.28,93.27,91.32,86.48,83.34,89.48,92.02,
-89.33,86.72,89.00,91.70,89.91,92.95,89.82,87.90,89.32,91.02,
-86.01,88.42,92.12,95.48,91.88,92.90,92.52,89.19,96.84,90.50,
-92.28,93.51,93.36,90.79,94.11,92.39,90.59,90.60,95.55,92.20,
-94.23,95.28,97.12,91.99,91.96,93.22,92.83,93.99,98.07,95.76,
-98.04,94.34,92.45,94.33,95.13,95.15,96.14,94.57,96.99,95.40,
-96.31,97.66,93.96,97.03,102.71,101.08,102.27,100.14,97.66,98.26,
-98.93,101.09,102.90,102.53,99.77,103.32,100.83,97.99,103.27,99.71,
-100.06,105.72,100.91,100.17,101.59,101.82,102.76,100.51,103.29,104.63,
-108.54,100.80,103.58,105.54,107.75,105.91,103.03,108.73,110.84,104.46,
-21.94,22.01,22.74,23.49,24.14,25.02,26.18,26.31,26.92,29.15,
-28.20,30.31,29.77,30.73,31.90,31.92,34.01,33.22,34.00,35.06,
-34.05,35.41,35.46,38.66,37.24,38.26,36.53,37.79,38.99,39.47,
-39.96,41.11,43.32,41.53,42.43,43.50,43.16,43.61,42.84,42.83,
-44.76,45.98,47.37,45.83,46.66,47.18,48.13,45.03,46.37,47.44,
-49.04,49.16,49.78,50.67,52.03,48.64,51.68,52.23,51.39,51.89,
-51.82,53.71,56.74,53.54,53.58,54.79,55.42,54.97,54.48,55.28,
-56.43,58.04,59.70,59.64,55.42,55.59,58.06,58.81,58.19,60.72,
-61.08,59.16,60.36,61.49,60.30,60.84,58.97,60.30,62.93,62.58,
-63.65,61.27,63.46,64.30,62.45,62.95,62.90,65.84,63.32,63.36,
-65.70,65.34,67.33,66.95,66.26,67.83,67.08,64.76,66.22,68.52,
-67.14,68.19,69.58,67.93,70.21,70.77,73.11,70.01,71.59,70.19,
-71.87,72.49,70.23,72.50,71.45,73.43,74.20,73.85,74.38,74.69,
-72.22,72.95,71.60,74.77,78.98,77.58,73.83,74.81,77.18,74.28,
-75.73,75.89,79.39,78.61,81.30,80.81,79.80,77.64,75.43,79.61,
-78.90,80.51,79.51,83.45,79.02,78.76,80.81,80.09,82.50,80.22,
-80.75,83.96,83.61,81.99,84.80,85.09,82.92,82.38,81.77,82.36,
-83.97,85.59,83.80,83.30,84.30,85.95,83.62,86.78,86.38,85.13,
-87.62,85.51,86.15,85.88,86.18,85.27,88.49,89.84,89.57,87.30,
-88.32,87.79,91.75,89.96,87.13,88.66,93.19,88.44,92.72,88.93,
-88.73,88.94,89.58,91.94,93.09,92.13,87.43,92.47,91.01,94.26,
-91.73,93.55,93.82,94.24,94.71,93.76,97.82,98.29,94.52,94.32,
-97.32,91.38,94.81,95.14,97.22,97.41,96.97,95.34,97.26,100.48,
-97.60,95.27,95.99,96.38,98.62,96.33,94.37,101.01,94.22,96.21,
-95.42,95.11,100.42,99.88,100.69,98.78,97.72,103.45,100.76,101.80,
-103.94,101.19,98.48,101.57,104.36,97.64,100.82,102.64,99.39,100.86,
-102.31,98.73,98.65,103.93,102.76,104.23,100.63,105.96,102.34,104.10,
-103.88,108.74,104.45,106.32,102.51,104.38,104.70,102.29,110.20,110.91,
-106.99,106.61,108.50,106.44,100.65,101.45,108.12,110.17,105.68,109.04,
-21.52,22.50,22.81,24.67,24.71,24.90,25.53,26.25,27.20,27.56,
-28.55,29.34,30.46,31.72,31.94,32.35,34.73,33.95,33.41,34.37,
-34.65,35.81,37.24,37.33,37.79,37.29,37.68,39.60,39.90,39.67,
-40.32,40.94,41.61,40.83,43.64,43.02,43.83,42.81,44.81,43.28,
-44.96,45.48,45.78,46.01,46.55,46.52,48.45,47.86,49.50,47.52,
-49.15,48.30,50.98,51.89,50.27,53.06,52.12,50.97,52.57,54.64,
-56.87,55.79,53.79,53.82,52.87,55.60,55.51,55.59,54.56,55.68,
-55.87,56.04,56.33,59.83,55.90,58.20,58.66,59.85,60.16,60.29,
-59.13,60.16,59.96,59.81,60.39,62.40,62.51,64.58,63.63,65.56,
-63.38,64.94,65.94,62.19,66.18,64.77,65.10,67.65,63.80,64.14,
-65.53,65.44,69.49,69.85,64.59,68.48,68.12,70.89,66.83,67.72,
-67.11,68.81,70.97,69.39,70.70,70.79,70.75,69.98,74.08,73.41,
-74.60,68.01,72.36,73.21,72.50,73.84,76.36,74.23,75.41,76.07,
-74.30,72.34,75.33,74.39,79.34,74.29,74.85,77.18,78.28,76.11,
-76.87,80.47,77.08,77.75,79.90,77.80,79.79,80.89,79.00,79.93,
-78.82,81.51,81.18,77.59,80.63,81.42,83.35,81.02,79.86,79.85,
-79.93,83.99,82.36,84.11,82.09,81.85,83.92,84.30,86.21,87.16,
-81.54,88.00,84.10,88.91,83.44,87.69,90.51,85.82,83.08,83.82,
-88.80,88.57,90.40,86.74,89.83,87.04,88.48,85.55,90.00,87.08,
-88.50,91.14,94.07,88.33,89.02,91.48,90.98,89.13,90.55,88.90,
-92.68,91.00,93.34,91.83,90.71,93.85,89.12,92.28,92.36,92.52,
-95.47,90.88,97.95,97.99,91.97,94.81,96.40,99.21,91.22,96.13,
-97.32,94.33,97.91,94.00,96.31,92.74,96.67,98.73,93.65,97.47,
-97.44,97.31,98.04,101.18,100.35,100.42,96.85,100.96,101.01,99.47,
-96.35,99.87,102.07,100.94,96.41,103.17,101.76,100.18,102.30,99.72,
-103.11,103.38,103.80,103.72,101.36,102.45,101.23,104.49,101.71,107.15,
-104.83,100.15,103.85,99.54,100.84,106.96,103.82,100.78,104.77,106.06,
-105.59,105.67,105.79,107.92,104.92,108.48,104.42,107.82,108.90,109.19,
-111.44,108.26,107.83,108.32,116.42,110.11,109.60,108.14,108.72,106.91,
-21.28,22.41,22.94,23.79,25.32,24.82,25.84,26.92,27.90,28.32,
-30.07,30.20,30.24,31.24,32.79,32.66,33.82,33.96,34.75,34.72,
-35.61,35.60,37.99,36.91,36.61,38.00,39.03,40.36,39.17,39.52,
-41.41,42.60,42.45,42.44,43.49,42.63,43.73,43.14,43.47,47.46,
-45.17,45.41,48.82,44.74,45.51,48.60,47.35,48.48,49.02,49.01,
-51.35,50.94,49.64,52.02,51.07,53.02,51.20,52.63,53.26,52.73,
-51.49,55.51,53.63,54.21,54.74,53.46,57.66,57.63,58.03,54.33,
-57.77,57.43,60.22,58.11,61.97,59.11,59.11,60.98,58.73,62.16,
-59.88,62.32,63.01,61.62,62.24,63.82,64.34,63.01,62.01,63.13,
-62.44,65.10,66.65,64.84,64.59,64.79,67.41,65.34,65.78,66.43,
-67.76,66.00,69.36,69.66,65.78,67.70,68.31,72.38,68.14,67.48,
-70.75,70.80,70.54,71.36,72.45,72.31,75.15,71.56,68.84,71.34,
-74.76,75.21,75.09,74.93,73.81,71.65,72.31,74.61,76.06,74.70,
-73.85,77.26,77.98,77.06,76.23,75.01,75.61,74.69,78.72,78.56,
-75.99,80.45,78.61,77.50,80.39,78.03,79.35,78.33,82.36,79.87,
-82.98,82.43,81.63,83.59,80.56,84.32,82.29,83.91,80.98,81.75,
-83.17,85.93,82.82,87.60,81.94,82.87,85.64,85.95,87.61,85.90,
-85.38,83.99,88.90,86.07,90.23,85.35,88.49,85.08,88.87,84.57,
-86.69,84.45,89.94,89.04,87.68,90.33,90.89,88.49,91.43,90.64,
-90.63,87.83,88.29,91.19,87.92,91.48,90.89,95.81,91.57,90.99,
-93.52,90.47,91.99,91.04,95.07,95.31,92.82,93.34,97.01,94.64,
-95.12,95.12,94.92,94.69,100.86,97.37,93.39,97.32,95.52,98.20,
-98.08,90.77,95.66,98.92,96.45,99.56,93.75,97.57,97.90,98.39,
-96.69,99.88,100.34,101.76,97.81,97.55,98.88,91.96,97.38,99.91,
-101.30,98.91,98.54,104.76,102.44,101.20,100.96,104.58,99.79,105.25,
-102.03,101.94,103.06,100.84,100.76,102.34,108.08,102.61,108.86,102.61,
-103.94,102.58,105.40,109.82,103.95,104.05,107.82,104.71,109.94,106.78,
-107.46,109.97,105.80,104.81,108.12,105.65,105.44,107.52,110.21,108.11,
-111.10,108.59,106.99,109.08,112.75,114.15,108.62,114.50,110.56,108.78,
-21.27,23.22,23.34,24.64,23.96,24.57,26.78,28.24,28.16,29.04,
-30.24,30.29,30.87,30.65,32.15,32.20,32.98,33.69,34.54,35.22,
-35.27,36.25,36.24,37.02,37.86,38.51,38.54,39.74,40.80,41.53,
-40.37,41.13,43.13,43.10,42.70,42.66,44.18,42.73,45.59,46.50,
-45.45,44.79,47.88,47.38,44.99,47.84,49.03,47.26,50.39,49.60,
-48.74,49.10,51.09,51.34,49.43,51.23,52.12,52.08,55.25,52.75,
-55.30,53.36,54.97,56.65,56.64,55.22,55.59,58.05,54.28,57.39,
-57.53,58.49,59.11,60.31,58.95,58.79,61.39,61.14,58.73,57.89,
-60.05,62.68,60.99,61.97,62.78,64.05,61.87,64.06,64.58,62.10,
-63.03,67.22,64.92,66.25,65.21,62.91,66.62,64.25,63.97,68.29,
-65.28,70.26,69.26,70.30,67.63,68.89,72.24,69.69,68.52,69.98,
-68.03,69.26,72.98,71.71,69.13,71.44,72.17,70.03,67.99,73.86,
-74.91,73.83,69.48,75.22,73.94,72.82,75.12,74.39,76.87,75.41,
-76.04,72.26,76.35,76.81,78.07,75.49,74.43,77.85,79.63,77.42,
-79.08,78.82,80.35,80.29,80.36,78.10,80.40,77.73,80.99,78.87,
-80.45,80.04,81.71,81.48,79.29,81.81,81.15,82.26,83.88,82.91,
-85.05,85.04,88.01,82.68,84.44,84.72,84.24,83.58,86.46,86.40,
-85.81,86.57,86.90,88.17,85.30,87.38,85.25,85.46,92.23,90.79,
-92.90,90.02,91.37,90.09,91.23,92.90,91.38,94.04,88.19,86.38,
-92.12,90.91,93.93,89.91,88.54,89.41,92.07,91.14,87.05,91.24,
-95.43,91.16,94.46,93.91,95.19,91.48,99.53,88.40,93.53,98.05,
-94.70,95.95,95.47,98.63,98.13,98.47,91.85,96.20,93.57,98.24,
-95.18,99.07,98.74,100.54,98.56,98.61,95.07,100.65,95.65,100.59,
-99.72,98.45,96.15,96.46,100.64,100.00,100.33,98.60,99.83,97.43,
-105.52,103.06,105.52,101.36,103.06,102.07,107.38,103.61,105.87,105.27,
-101.31,102.38,105.51,103.45,103.43,103.72,103.26,104.28,102.39,102.66,
-102.83,106.95,106.60,105.28,107.67,107.02,108.94,106.31,103.07,106.27,
-108.77,105.79,105.22,107.73,108.18,108.31,107.58,107.75,108.57,108.00,
-108.00,109.33,107.44,111.96,110.13,108.91,107.66,106.77,110.76,110.70,
-21.28,21.76,24.08,23.80,24.13,25.15,26.00,26.57,27.52,28.98,
-30.32,29.91,29.74,30.58,30.66,33.02,33.84,33.58,34.29,35.61,
-36.08,36.20,37.20,36.69,37.29,37.40,39.47,38.68,39.33,41.07,
-42.05,41.68,41.67,41.51,42.15,42.71,44.06,43.19,45.54,45.19,
-45.87,46.37,46.86,47.15,46.60,47.23,49.66,50.55,47.86,50.86,
-49.01,49.48,49.99,51.13,51.12,51.27,52.10,53.27,53.89,53.72,
-54.80,50.64,51.76,53.88,53.90,55.98,56.32,55.93,55.68,57.81,
-56.55,57.69,58.36,58.32,59.06,58.43,61.70,58.90,61.08,59.81,
-64.19,61.15,60.93,63.19,62.02,60.43,62.81,63.93,61.69,61.68,
-64.26,62.33,64.98,65.42,63.22,67.68,66.63,65.86,68.43,68.21,
-67.42,66.18,67.08,68.39,69.83,66.95,65.76,68.82,66.21,69.61,
-69.44,68.54,70.80,69.78,69.24,71.51,68.89,76.58,71.10,73.03,
-71.48,70.02,72.44,74.55,69.73,73.75,71.88,78.11,76.92,75.72,
-72.25,76.35,75.08,74.73,77.17,76.49,80.96,76.39,75.84,79.50,
-79.32,79.37,76.38,79.05,80.29,75.03,78.80,80.16,81.30,79.11,
-82.15,82.96,80.14,80.02,81.73,79.35,82.69,82.58,80.91,83.73,
-81.46,84.38,83.23,82.91,81.04,83.48,86.09,82.38,80.31,85.23,
-84.78,84.97,87.81,87.35,87.26,85.92,89.41,83.82,87.25,88.18,
-88.91,90.10,91.27,88.69,87.77,88.97,90.16,90.33,92.14,90.07,
-90.82,88.09,92.22,91.01,92.72,89.50,89.71,96.53,91.42,88.61,
-92.80,94.43,90.02,94.49,91.75,95.05,91.17,91.11,92.50,91.10,
-93.40,94.13,95.47,95.44,96.32,91.97,97.96,100.46,95.95,99.31,
-95.09,95.35,95.20,97.45,98.82,94.05,95.64,98.48,100.46,100.82,
-98.28,96.95,100.18,96.85,102.52,99.42,100.83,100.37,97.83,103.18,
-96.31,101.45,101.25,104.49,101.24,99.07,103.63,104.87,106.14,100.39,
-101.71,103.40,103.03,106.94,103.64,101.64,104.97,100.02,105.71,106.46,
-103.20,106.92,105.76,101.24,103.19,105.02,104.80,105.79,104.78,105.81,
-108.98,105.26,104.77,105.18,103.49,104.09,105.44,107.23,105.33,107.66,
-110.12,110.84,111.24,105.69,108.24,109.33,109.16,107.85,113.15,113.66,
-21.18,22.09,22.31,24.01,24.39,24.78,25.45,26.97,28.10,28.84,
-28.33,27.81,29.33,31.04,30.13,32.28,32.67,33.14,32.79,34.34,
-35.56,36.11,35.64,37.45,36.85,37.25,37.94,36.44,39.81,39.65,
-41.71,39.30,42.53,41.49,41.77,42.52,42.92,42.89,44.05,45.25,
-44.85,43.54,45.12,45.51,45.95,48.36,47.58,48.18,46.62,48.32,
-48.47,46.63,49.21,50.32,52.07,52.64,49.98,51.40,53.06,53.67,
-53.22,52.71,52.19,52.86,53.58,55.18,54.91,54.53,56.57,58.68,
-55.95,56.62,58.04,57.51,58.10,59.29,59.95,57.31,60.42,61.21,
-62.56,59.54,60.51,59.18,61.05,60.07,63.74,63.19,61.07,62.42,
-62.20,63.65,63.25,63.11,63.73,65.64,65.60,67.58,65.88,67.30,
-66.84,66.95,64.95,67.64,66.68,67.57,66.10,67.73,66.02,70.80,
-69.40,67.97,69.04,68.44,71.64,70.65,70.33,70.82,73.92,76.67,
-71.44,68.09,71.16,69.80,71.22,74.29,75.43,76.11,75.04,72.91,
-74.71,75.65,74.87,74.21,76.86,74.37,73.19,77.77,78.41,77.74,
-77.17,77.15,78.71,76.49,76.23,76.17,79.32,79.66,80.91,82.37,
-78.19,80.21,79.41,79.81,81.14,76.64,81.82,79.44,82.43,80.42,
-81.60,79.56,83.39,86.64,82.14,86.70,80.10,86.05,84.66,85.45,
-86.30,85.84,82.76,87.87,85.19,86.98,84.05,87.21,84.68,87.99,
-89.19,85.77,89.19,86.85,87.86,88.13,87.80,86.75,89.46,88.30,
-94.38,89.47,88.50,88.15,89.24,91.26,89.48,87.35,91.61,96.50,
-88.35,87.84,90.19,90.16,87.89,90.77,92.87,91.73,92.21,89.93,
-93.36,90.34,91.82,96.43,96.43,99.20,91.49,93.82,97.12,95.74,
-96.82,95.21,96.03,92.91,95.88,97.02,97.10,99.74,93.49,97.75,
-99.27,99.65,98.42,99.17,102.49,97.61,99.71,99.73,97.73,101.59,
-99.63,97.26,102.20,97.93,99.52,97.91,101.10,94.99,97.69,102.72,
-100.70,104.03,105.34,106.13,100.55,105.34,103.60,108.86,104.56,103.57,
-105.02,102.49,105.72,103.49,104.66,104.08,107.65,101.72,108.67,102.27,
-105.96,103.82,105.02,104.79,103.85,102.88,104.95,109.03,105.92,104.76,
-110.18,107.02,109.48,104.33,105.33,108.78,103.78,110.41,108.55,111.13,
-20.60,21.03,21.33,23.33,24.94,24.24,25.09,25.34,26.10,28.03,
-28.91,29.08,29.84,29.61,30.67,31.53,32.12,31.11,34.05,34.68,
-33.94,36.53,35.37,36.58,36.21,36.18,37.16,38.28,37.14,39.41,
-37.82,40.13,38.83,42.24,40.60,42.16,42.18,43.39,43.05,44.16,
-43.72,45.82,45.07,46.22,45.71,48.36,45.32,46.79,46.47,46.42,
-48.57,47.22,51.11,47.66,49.67,49.14,49.20,50.46,51.52,52.22,
-52.14,53.62,53.23,52.27,54.78,54.09,56.44,52.03,56.01,55.51,
-55.81,55.94,56.86,57.11,54.44,58.37,57.43,60.17,58.16,57.57,
-57.59,60.24,59.24,58.29,60.97,60.80,62.16,62.15,62.14,62.57,
-61.53,64.64,63.71,64.87,63.57,64.13,65.20,62.17,65.50,64.30,
-65.48,67.37,67.43,65.90,66.08,66.35,68.19,68.73,66.46,70.30,
-68.97,68.88,67.69,67.13,66.12,71.09,68.95,68.48,67.46,75.80,
-68.82,71.38,71.10,73.29,72.14,69.42,70.94,73.91,76.81,70.68,
-75.02,76.36,74.21,74.21,75.95,73.28,75.18,75.67,75.06,76.44,
-75.81,74.78,75.39,77.16,73.97,77.84,76.89,81.20,81.31,79.90,
-78.38,80.14,78.51,76.47,78.93,78.85,80.93,81.17,79.93,81.77,
-80.57,79.77,81.22,81.33,79.53,84.23,82.41,80.98,81.28,83.90,
-81.90,85.08,82.56,82.19,85.60,85.73,84.58,83.27,87.66,85.62,
-86.75,86.65,81.29,89.20,88.18,85.50,87.41,88.22,91.47,85.65,
-86.64,90.31,86.92,90.16,91.08,88.63,89.02,92.39,92.68,95.32,
-89.07,87.21,91.44,87.38,89.97,94.07,88.76,90.94,93.70,93.54,
-92.98,89.61,91.89,94.05,91.80,90.95,93.71,94.13,90.93,92.34,
-88.64,93.66,92.61,93.06,94.51,94.52,94.50,96.29,96.07,96.80,
-99.61,98.15,96.81,97.01,96.06,98.46,96.62,96.09,98.72,96.65,
-97.81,94.88,95.29,96.33,99.12,98.55,99.63,102.15,97.73,99.08,
-97.29,99.89,101.91,103.54,98.54,97.19,96.15,103.16,102.32,99.68,
-102.25,103.79,103.00,101.13,101.82,103.40,106.34,104.19,106.10,102.29,
-106.57,108.76,103.43,104.29,104.25,99.94,103.20,103.53,107.09,104.15,
-106.74,105.13,106.08,108.01,106.55,110.58,104.76,108.32,107.26,108.56,
-20.38,21.33,22.07,22.40,23.60,25.09,26.03,26.96,26.50,27.47,
-27.60,30.01,29.11,28.98,29.91,31.57,31.78,32.84,33.37,34.10,
-33.17,33.93,36.52,36.89,34.63,36.36,37.27,37.38,37.59,38.07,
-38.66,39.12,39.25,39.22,41.18,40.98,43.00,42.57,42.37,43.68,
-41.68,44.93,44.39,44.05,44.66,42.84,45.82,47.88,47.84,46.32,
-49.16,47.71,47.03,46.39,49.18,48.94,48.12,49.82,50.80,51.81,
-51.56,49.92,53.06,52.68,52.09,52.89,51.66,52.14,53.91,55.14,
-56.16,52.77,53.97,58.18,57.42,55.25,57.35,56.63,55.47,57.92,
-56.25,58.72,58.52,59.77,57.55,57.10,60.82,61.34,59.69,59.17,
-60.47,61.92,61.79,61.76,60.12,61.37,63.14,62.15,62.14,63.67,
-63.37,62.43,63.70,67.29,65.50,66.58,63.92,65.57,63.08,68.38,
-68.69,66.24,67.46,65.65,68.64,67.46,66.66,66.71,68.93,67.81,
-70.27,66.35,69.90,68.36,70.33,72.20,70.28,72.04,73.14,71.98,
-71.93,69.43,73.37,74.13,73.45,73.93,71.19,73.08,72.76,73.30,
-74.83,73.89,75.42,75.28,77.39,76.75,73.92,74.54,78.27,77.93,
-73.63,74.15,78.53,75.89,78.42,77.14,77.66,76.50,79.96,81.31,
-77.93,77.51,80.99,81.08,81.07,80.79,82.83,84.31,81.65,80.62,
-79.63,80.92,83.06,83.54,81.82,81.77,82.04,83.94,83.52,82.26,
-82.42,86.07,83.98,83.87,84.20,87.89,83.25,85.43,88.62,88.46,
-87.76,86.01,84.76,91.75,85.30,86.93,85.47,88.30,88.58,85.55,
-90.45,89.57,89.39,89.79,90.30,87.54,90.66,88.47,88.71,90.77,
-90.08,91.48,91.81,90.45,92.35,89.62,91.91,89.70,89.88,88.83,
-91.48,92.09,94.61,96.27,96.72,93.77,95.25,92.32,92.92,94.81,
-92.50,90.25,96.99,95.15,93.67,95.73,98.96,96.54,96.81,94.99,
-95.84,97.73,93.82,94.07,95.99,95.84,101.49,98.90,99.58,97.63,
-98.25,97.68,98.76,102.43,96.74,102.62,97.52,100.17,97.61,104.03,
-102.61,94.23,103.02,101.92,105.30,97.43,98.89,98.85,105.07,103.89,
-97.55,106.73,95.79,105.20,103.52,103.51,97.02,105.30,103.72,101.34,
-102.72,102.88,103.28,99.83,104.10,103.91,103.56,107.57,101.00,106.77,
-19.74,21.90,20.88,21.60,22.17,23.78,24.28,24.86,25.95,26.23,
-27.01,27.68,27.62,28.23,30.50,29.47,30.43,31.22,32.66,31.13,
-32.56,32.33,33.39,34.74,34.65,34.49,36.14,36.28,35.87,37.23,
-39.20,38.94,36.98,39.28,39.82,39.98,40.52,39.90,41.04,42.02,
-43.04,41.70,43.68,44.29,43.68,43.20,46.74,45.52,45.17,44.21,
-46.23,46.08,47.82,47.74,48.10,46.91,47.31,49.20,50.07,49.83,
-49.59,50.29,50.28,49.95,52.39,51.03,52.54,53.47,52.80,53.25,
-50.25,52.32,53.18,56.36,54.29,54.10,55.63,56.26,54.91,58.04,
-55.10,58.14,56.63,55.18,59.35,57.50,57.58,58.33,56.87,57.61,
-62.08,61.62,60.10,59.71,58.79,60.53,60.24,62.59,60.09,61.22,
-64.37,61.44,65.37,64.86,66.53,64.88,60.81,63.17,63.82,64.82,
-67.21,64.32,66.40,68.25,65.56,65.88,66.41,67.57,68.43,69.66,
-67.78,66.55,67.15,71.30,68.96,66.97,71.27,72.51,69.94,69.51,
-71.39,70.29,69.04,72.49,70.37,73.90,73.41,71.40,70.63,73.30,
-75.75,75.65,74.76,71.80,72.30,71.41,76.04,75.28,74.74,75.64,
-76.40,77.26,73.78,72.25,75.96,77.02,79.97,72.17,78.82,76.57,
-76.80,75.09,78.77,83.38,72.56,77.67,79.39,79.22,79.96,80.49,
-76.66,76.91,82.27,78.97,81.53,81.37,78.00,83.18,83.08,78.32,
-82.43,87.67,82.36,79.83,79.69,86.68,85.16,84.19,83.66,83.37,
-81.18,83.43,85.20,85.24,82.28,83.75,87.01,87.29,89.88,85.94,
-86.62,89.00,91.02,86.65,88.49,84.92,85.57,83.57,86.36,86.86,
-90.46,90.34,90.82,87.82,89.12,91.43,89.70,90.45,86.25,91.33,
-92.57,88.22,93.38,97.68,91.51,86.25,88.44,94.73,90.48,92.42,
-89.87,93.84,93.61,92.97,88.38,94.66,92.99,93.58,92.78,94.29,
-96.34,94.79,92.28,98.47,91.91,96.80,96.06,90.90,96.24,94.86,
-98.94,93.68,95.66,95.51,95.02,97.84,94.73,95.31,101.65,99.14,
-95.23,99.13,99.31,100.50,100.98,98.53,97.75,99.45,100.52,97.83,
-100.92,101.45,98.67,100.14,96.41,98.46,102.27,97.09,99.37,99.65,
-101.23,97.50,102.75,103.15,100.08,102.06,98.85,101.67,101.90,98.28,
-19.06,20.46,20.88,21.69,22.32,22.06,23.94,23.94,25.32,25.42,
-26.71,27.61,27.10,28.10,28.28,28.27,30.69,32.06,29.77,32.02,
-32.89,33.20,33.07,32.91,33.50,34.30,34.97,36.77,34.17,36.19,
-35.14,37.91,38.72,38.46,38.20,39.31,39.54,40.38,39.72,40.48,
-40.60,42.06,43.15,42.21,42.08,43.42,43.22,42.70,44.72,45.23,
-44.12,45.68,46.94,47.77,45.79,47.04,48.06,47.41,49.37,48.61,
-47.23,48.37,49.20,48.11,51.02,51.80,51.29,50.37,50.18,51.54,
-50.09,53.31,53.23,53.22,55.83,52.88,53.70,53.81,54.81,54.74,
-55.82,55.92,53.68,54.41,55.47,55.98,57.37,56.74,57.92,57.10,
-56.05,57.54,59.78,58.23,61.33,61.10,57.61,61.53,61.54,60.38,
-60.80,60.86,61.07,61.65,61.08,61.24,64.60,62.60,61.97,65.59,
-63.66,60.74,63.43,66.63,62.14,65.88,62.83,64.41,65.45,65.83,
-63.37,64.98,65.98,67.65,64.91,68.47,67.90,65.27,67.87,67.21,
-68.98,64.96,69.22,69.74,69.37,70.45,67.50,70.30,71.01,70.54,
-71.22,73.25,71.98,70.48,68.10,74.27,70.21,71.85,73.25,72.52,
-72.30,70.89,72.87,73.70,72.54,73.72,74.07,71.83,71.50,73.84,
-76.11,75.52,76.64,73.40,75.28,78.71,78.83,76.60,78.78,76.17,
-77.17,79.78,80.73,76.70,78.03,80.23,79.01,79.01,80.85,77.68,
-79.53,79.09,80.71,79.86,80.70,83.52,82.00,81.65,84.40,82.07,
-81.86,84.29,79.92,83.11,80.43,83.40,80.67,81.17,85.97,78.64,
-82.03,81.55,83.13,86.12,85.36,84.34,84.59,86.03,84.67,83.30,
-86.65,81.96,88.74,84.25,88.75,86.95,87.32,88.67,85.43,90.06,
-87.12,89.23,86.79,84.67,86.45,85.58,88.25,89.83,86.33,86.40,
-90.40,91.21,91.70,89.59,91.41,91.09,92.12,91.14,91.33,90.52,
-89.93,93.38,90.09,91.27,92.79,91.68,93.28,93.37,92.09,92.77,
-91.65,96.60,94.10,92.97,92.22,95.33,95.82,93.93,95.01,91.94,
-99.34,94.20,94.77,92.85,95.20,92.64,92.98,97.55,95.42,99.61,
-90.76,100.95,96.44,97.98,101.89,97.05,93.15,102.97,96.57,99.51,
-98.12,98.96,99.32,97.63,97.92,96.68,101.57,100.96,101.63,104.81,
-17.95,18.75,20.20,21.22,22.04,23.34,22.31,23.08,24.23,25.74,
-25.54,26.15,27.37,28.42,28.51,28.50,28.81,29.64,29.63,30.36,
-31.53,32.88,32.66,32.50,31.91,32.78,35.21,34.15,34.76,34.98,
-35.61,36.47,35.42,36.58,37.75,38.76,38.32,38.60,39.60,39.16,
-39.71,40.04,41.02,40.98,42.02,43.11,42.32,42.26,43.07,43.64,
-43.33,44.24,44.42,45.05,45.64,46.43,46.48,45.83,44.63,46.32,
-47.29,49.09,48.06,47.42,47.84,47.05,49.57,50.72,49.96,49.56,
-50.18,50.86,53.24,50.65,50.38,51.57,54.00,52.68,52.71,52.93,
-54.09,53.53,53.40,53.48,53.48,56.41,56.73,56.96,55.65,55.81,
-58.14,54.20,56.11,58.06,59.19,57.07,56.57,57.72,59.76,57.69,
-60.42,58.47,59.93,61.20,59.96,57.87,61.29,59.06,61.50,61.04,
-61.05,61.28,62.28,63.60,60.49,62.83,61.94,60.15,65.47,63.37,
-62.76,65.45,67.59,65.25,65.82,62.72,63.48,65.04,65.60,64.16,
-66.93,68.05,67.65,69.00,67.98,69.81,67.07,68.54,67.34,67.03,
-68.49,68.62,69.83,69.64,71.37,72.48,68.66,71.16,70.46,68.81,
-69.56,72.57,71.46,70.24,72.33,74.38,73.26,74.80,73.28,71.03,
-75.12,75.70,73.03,73.84,77.51,73.05,73.88,73.25,76.53,74.32,
-77.20,73.22,74.20,75.51,73.70,72.95,74.07,76.31,78.64,78.60,
-75.78,78.07,79.55,78.59,77.89,80.96,78.13,79.03,77.82,79.94,
-77.31,81.40,79.10,80.11,82.06,79.57,80.18,83.28,82.38,76.90,
-78.78,82.18,82.47,81.19,81.88,79.50,83.23,83.68,84.48,85.43,
-83.19,83.40,80.24,85.56,86.85,86.50,82.13,84.67,83.56,80.26,
-86.52,83.59,85.60,85.66,82.22,83.75,83.96,84.19,86.32,87.89,
-89.40,90.32,85.92,85.84,89.17,89.38,83.73,89.35,88.83,86.74,
-91.56,86.94,89.89,92.08,90.42,91.25,90.58,90.88,90.45,91.28,
-86.54,89.93,89.55,88.57,90.53,90.72,93.20,96.24,90.28,90.04,
-90.95,92.52,94.55,95.59,93.66,93.50,92.70,90.47,91.13,94.88,
-95.16,92.19,96.86,95.57,92.49,93.65,91.50,96.34,96.28,92.89,
-93.27,97.64,93.07,92.49,98.61,92.55,98.91,96.56,99.80,96.64,
-18.46,19.77,20.07,20.25,21.15,21.68,21.58,23.10,23.85,23.35,
-25.21,26.02,26.04,26.43,27.19,27.37,27.45,28.77,28.79,30.11,
-28.91,30.81,31.12,31.04,30.12,31.84,32.75,33.23,34.29,33.76,
-33.99,36.03,35.06,36.11,35.42,35.80,37.32,36.30,36.70,36.95,
-36.63,38.65,38.20,37.51,39.61,39.28,40.43,39.98,39.00,41.28,
-41.56,41.70,42.79,42.12,43.96,41.36,43.78,43.31,43.64,42.67,
-46.06,44.08,46.13,45.88,45.94,45.41,44.88,46.67,45.40,46.38,
-48.03,45.61,47.43,47.98,47.87,47.57,52.36,48.13,51.48,49.59,
-51.64,52.43,50.00,51.29,51.43,52.23,52.54,52.13,52.23,53.90,
-54.38,54.91,52.47,54.28,55.48,52.18,56.12,53.34,53.44,55.86,
-56.43,60.60,56.79,56.38,57.15,55.71,55.66,57.19,56.42,56.41,
-56.38,56.13,59.37,57.48,59.33,60.07,59.93,59.89,58.80,59.74,
-60.09,62.48,60.97,59.97,61.13,61.06,60.91,59.43,62.28,61.19,
-60.33,63.88,62.84,63.17,63.56,63.11,63.06,64.56,64.45,63.02,
-62.94,67.05,65.30,63.58,63.25,64.69,66.06,68.03,66.70,64.39,
-65.29,69.02,65.93,66.51,67.58,66.54,67.66,64.87,68.76,67.27,
-69.18,67.85,68.28,71.54,70.96,69.44,68.51,68.61,69.75,70.00,
-71.63,69.46,69.06,70.34,73.15,70.60,74.20,71.70,72.17,75.91,
-75.25,74.64,72.39,76.14,74.45,73.29,71.47,74.28,76.46,73.24,
-74.73,73.03,71.39,73.37,75.30,74.73,77.96,74.87,74.96,76.64,
-79.17,75.02,80.83,76.50,76.16,79.88,78.32,76.82,74.68,78.50,
-74.47,76.55,75.13,76.03,76.91,76.53,80.08,78.28,76.74,80.67,
-80.10,80.08,78.48,77.82,80.39,77.36,79.67,81.59,81.95,84.30,
-79.86,82.39,81.50,82.33,79.57,82.12,84.88,81.75,82.13,83.44,
-80.68,81.02,83.31,83.14,82.83,82.72,81.46,83.30,81.57,83.95,
-83.82,83.30,84.18,84.39,86.21,85.89,81.68,85.46,89.05,87.42,
-85.27,84.90,84.48,86.23,87.83,83.86,87.06,85.27,85.35,87.01,
-87.47,86.23,86.46,86.61,90.18,90.77,86.71,86.33,88.14,88.35,
-88.33,91.02,87.44,90.18,86.99,86.67,89.01,89.42,92.05,92.51,
-19.52,19.66,20.82,21.01,22.56,23.04,23.46,23.46,25.95,25.43,
-26.03,27.08,27.57,28.15,27.24,29.47,29.68,30.66,30.29,30.50,
-31.95,31.11,32.17,33.95,34.41,32.74,34.02,34.67,34.92,35.82,
-36.89,37.28,37.75,37.34,37.69,38.22,38.52,39.37,40.69,39.68,
-40.06,40.54,41.34,41.51,41.13,41.40,42.73,43.14,43.87,41.94,
-43.68,44.15,43.92,45.02,46.55,44.67,46.97,44.71,44.59,47.06,
-47.31,46.23,46.03,47.94,48.18,49.92,49.86,48.41,49.92,48.52,
-51.25,47.88,51.47,52.70,50.18,51.85,52.07,53.70,51.43,52.81,
-54.69,53.37,58.24,54.52,53.83,57.30,53.17,56.43,56.46,55.78,
-56.26,56.80,56.02,58.56,57.77,59.53,58.61,57.56,57.12,60.19,
-58.62,57.54,57.03,58.52,60.74,57.73,62.13,60.77,59.27,59.41,
-61.57,60.61,65.35,63.06,64.35,63.30,63.07,61.63,62.35,66.20,
-65.05,64.54,63.63,66.59,65.81,66.54,66.72,63.02,66.53,66.77,
-67.63,67.79,65.49,66.56,65.32,69.91,64.86,66.74,68.92,69.61,
-68.57,66.99,65.94,71.40,68.99,67.60,69.96,69.90,71.09,68.69,
-71.30,69.34,71.32,71.52,71.38,72.91,72.50,69.55,76.47,70.03,
-72.22,73.88,72.58,71.23,69.26,72.98,76.02,77.35,76.62,77.54,
-75.28,75.73,75.01,75.03,75.91,74.05,76.30,76.12,78.70,79.87,
-78.77,75.67,77.53,75.24,78.57,76.61,77.09,77.66,77.77,81.82,
-79.19,80.18,82.56,79.71,78.11,79.64,81.82,81.11,77.85,78.60,
-82.52,82.75,81.31,81.53,80.85,78.76,82.96,84.09,78.98,82.93,
-82.73,83.81,83.81,80.70,82.79,82.95,86.63,85.94,84.89,85.08,
-81.53,82.78,85.35,86.19,89.19,86.02,86.29,90.18,86.51,84.80,
-87.61,90.83,83.95,90.64,87.77,86.84,90.74,90.65,86.58,89.24,
-87.28,85.40,88.62,89.58,88.02,88.40,90.29,87.68,90.16,86.29,
-92.15,91.38,89.11,90.75,89.05,87.71,89.52,91.11,92.79,95.02,
-88.07,92.91,92.64,92.51,90.59,93.38,92.67,92.55,92.65,92.64,
-91.45,92.28,95.14,93.19,92.86,93.49,93.15,97.57,95.92,92.71,
-92.29,96.39,93.02,96.64,96.31,99.37,95.86,97.25,95.17,95.46,
-19.89,21.21,22.49,22.90,23.82,23.71,25.37,26.19,26.53,28.69,
-27.86,27.83,29.69,28.95,28.94,30.98,31.00,31.48,32.22,32.36,
-32.74,33.14,34.10,34.48,34.48,34.77,35.94,35.83,35.36,37.50,
-38.38,37.64,38.93,39.22,39.45,40.53,40.69,41.58,42.01,42.09,
-44.41,42.77,42.54,42.15,44.57,43.24,44.62,45.48,46.32,47.61,
-43.62,45.36,45.39,47.51,46.30,47.74,50.46,47.92,50.09,48.43,
-50.88,50.37,50.42,51.53,51.08,52.29,52.27,51.04,53.14,52.05,
-51.74,53.41,54.89,57.03,52.24,55.28,56.04,56.12,55.88,55.60,
-56.73,57.69,53.82,55.65,56.54,56.78,56.67,59.92,56.09,58.93,
-59.02,61.03,61.23,60.82,60.29,60.45,61.54,60.49,61.10,62.00,
-62.29,63.97,63.48,61.97,63.82,64.50,65.87,63.62,62.72,64.95,
-63.14,64.99,65.57,65.76,68.01,68.15,66.06,67.07,65.53,65.01,
-68.55,67.64,68.32,66.96,66.63,71.54,69.56,66.90,67.73,68.53,
-69.61,69.99,67.41,70.75,71.22,71.94,71.42,71.10,70.88,73.39,
-73.84,68.79,70.07,72.78,72.13,72.79,76.43,73.48,73.71,75.88,
-73.91,78.35,77.68,73.77,75.00,75.12,76.68,75.27,74.48,75.73,
-76.53,79.63,77.74,77.51,78.17,79.18,80.09,79.33,78.65,78.82,
-82.21,80.55,80.68,76.60,83.13,79.04,75.88,80.67,81.54,81.68,
-80.08,81.82,85.27,82.44,82.47,81.32,81.89,85.10,82.28,82.97,
-86.40,82.65,82.51,81.91,80.93,86.05,84.45,83.01,87.42,86.92,
-88.60,79.70,86.68,83.01,84.84,85.72,87.15,87.38,85.28,87.33,
-87.76,90.48,85.01,87.05,87.97,88.54,87.72,87.91,87.78,91.05,
-91.36,89.28,91.07,91.48,90.56,90.91,88.45,92.02,89.77,88.97,
-90.38,89.88,93.18,94.23,94.98,91.61,94.83,93.76,89.29,93.20,
-91.94,91.72,93.03,96.43,92.60,95.22,93.50,96.86,95.57,95.82,
-92.87,96.77,95.07,97.38,97.87,96.56,100.96,98.18,94.15,95.50,
-97.17,98.83,98.81,94.70,95.86,95.46,99.25,96.81,100.28,100.45,
-93.43,101.96,99.64,99.78,100.60,101.73,98.27,104.25,100.96,98.54,
-100.80,101.89,103.83,97.35,99.92,102.90,101.00,102.67,99.13,104.70,
-21.32,22.09,22.46,24.13,24.40,25.53,26.92,25.99,27.44,26.86,
-28.37,29.90,30.30,30.89,31.04,32.07,32.03,32.35,32.08,34.07,
-34.21,34.23,35.73,36.47,36.98,38.13,37.69,38.11,39.17,38.52,
-38.02,40.27,40.16,40.66,42.26,42.40,42.28,44.50,41.31,42.55,
-45.21,44.23,43.82,45.75,45.92,47.38,45.44,48.25,46.16,48.72,
-48.88,48.20,49.99,49.76,48.10,50.76,53.08,49.91,51.55,52.73,
-51.60,53.56,53.95,52.00,53.25,53.42,52.98,53.37,54.44,56.03,
-53.00,53.23,56.78,57.16,56.42,56.23,56.87,56.22,60.37,56.32,
-60.43,59.69,59.12,60.99,61.66,59.56,60.16,61.53,61.99,61.93,
-60.66,60.26,64.08,63.31,62.54,62.93,65.87,64.21,62.62,65.22,
-66.42,63.43,67.09,65.50,66.22,65.79,66.51,66.96,70.04,67.15,
-68.91,66.33,66.64,69.72,68.04,70.47,70.73,67.77,68.96,71.11,
-71.60,68.78,69.64,68.81,72.52,72.40,72.41,72.27,72.39,74.81,
-71.44,73.35,72.15,72.43,72.58,73.88,71.94,73.17,73.97,72.43,
-70.35,76.82,74.86,76.32,81.55,76.12,75.35,77.33,77.25,74.67,
-74.43,77.74,76.18,80.07,81.04,79.80,77.26,79.53,77.78,81.85,
-79.70,78.11,80.77,82.49,79.95,82.28,85.67,84.44,81.32,80.30,
-85.42,82.83,81.94,82.67,84.68,81.01,84.64,85.26,85.66,85.66,
-86.48,87.07,89.52,82.36,82.13,83.54,83.01,85.19,86.61,87.08,
-86.87,86.71,86.85,89.32,88.63,87.30,84.91,92.41,90.61,86.15,
-84.59,89.03,92.36,91.66,90.68,88.46,90.02,93.65,93.69,89.35,
-91.97,93.96,94.86,94.33,92.67,93.87,94.77,90.20,93.67,94.57,
-94.44,92.58,96.67,94.60,96.34,93.50,93.52,91.71,100.55,93.32,
-99.41,94.62,95.87,98.06,96.94,96.71,96.18,97.84,96.90,97.72,
-99.73,93.09,96.39,98.56,95.86,100.30,101.35,94.00,100.82,100.62,
-98.63,97.52,100.35,99.59,101.65,97.81,101.06,96.68,101.23,103.44,
-96.09,102.73,101.27,99.79,100.61,103.02,104.02,102.95,98.77,101.45,
-103.45,96.93,102.70,101.39,107.26,105.06,107.23,105.77,100.95,103.08,
-102.18,104.43,104.05,103.27,105.10,108.28,107.00,106.23,103.86,107.09,
-22.02,22.24,23.31,24.23,25.12,25.77,26.38,26.95,28.20,28.57,
-29.57,30.60,30.98,31.74,32.40,33.45,33.84,33.89,35.00,35.49,
-36.55,36.53,37.08,37.13,37.68,37.97,38.72,38.38,39.73,38.53,
-40.43,41.33,41.59,42.45,42.10,44.31,44.20,43.28,42.40,45.31,
-46.17,44.94,47.72,46.73,47.55,45.97,49.45,48.95,49.38,51.24,
-50.60,50.16,51.20,51.73,54.02,49.89,51.34,52.17,54.37,53.80,
-51.72,53.89,55.46,52.81,56.20,53.96,55.50,56.11,56.40,57.22,
-58.65,57.05,59.89,56.98,58.49,59.88,60.28,60.33,60.92,64.12,
-60.43,61.48,60.47,60.19,59.43,63.44,63.23,61.46,63.84,61.15,
-64.45,65.14,63.43,64.73,66.49,67.75,63.79,66.68,66.45,65.66,
-65.14,65.83,66.95,70.18,67.83,67.08,68.17,68.08,70.07,70.24,
-72.36,69.65,71.50,69.67,66.55,71.06,72.66,74.97,73.21,75.94,
-74.98,71.45,70.27,74.85,76.60,73.00,76.24,77.19,75.73,77.99,
-74.40,73.65,73.56,76.35,78.07,76.87,77.94,77.55,78.79,75.30,
-77.46,78.12,84.77,79.11,77.75,80.89,80.27,80.79,79.39,80.83,
-77.74,81.18,79.36,79.49,82.44,82.17,81.10,81.94,84.61,78.99,
-83.10,79.24,88.13,87.01,84.59,83.52,84.80,86.75,84.18,87.22,
-82.76,85.66,86.62,87.74,84.83,86.96,85.29,84.56,84.33,89.29,
-91.39,86.86,88.11,89.15,88.96,90.09,91.36,91.52,90.47,86.95,
-89.49,87.32,88.60,87.60,89.25,92.49,90.55,90.73,88.65,95.16,
-92.43,89.94,90.96,93.40,95.45,92.33,91.56,93.14,94.73,93.24,
-96.18,92.78,93.16,94.16,95.08,94.79,96.94,94.76,93.80,96.09,
-91.88,95.65,97.30,99.58,97.88,94.97,94.81,102.99,100.65,98.87,
-98.89,95.86,97.90,95.52,105.19,98.44,98.16,102.06,97.73,104.49,
-101.20,101.01,97.79,100.88,102.88,104.02,102.82,102.04,103.94,101.46,
-103.85,101.34,104.10,104.70,99.64,107.03,103.50,108.72,104.51,103.48,
-104.11,102.09,106.90,105.03,106.87,106.79,100.79,105.66,102.05,107.98,
-106.90,102.77,108.93,103.49,101.11,109.16,105.47,106.40,108.94,111.03,
-107.45,107.93,105.11,111.45,105.13,108.59,111.91,103.80,110.63,108.64,
-21.48,23.79,23.82,25.29,24.96,25.55,26.91,26.86,28.13,28.93,
-30.96,30.14,31.23,32.02,33.91,33.68,35.04,34.08,34.19,35.59,
-36.31,37.71,36.69,38.62,38.76,38.26,40.78,39.15,41.40,40.44,
-41.88,42.87,43.22,42.42,43.29,44.23,45.58,43.60,46.86,45.01,
-45.99,47.90,47.81,47.53,46.89,48.98,48.85,50.37,49.89,52.05,
-52.71,51.37,51.85,51.08,52.64,52.72,53.00,52.13,52.91,55.51,
-54.13,53.00,57.30,55.70,57.99,58.64,56.36,56.20,59.83,58.77,
-57.01,60.12,59.29,59.06,59.52,60.94,62.04,64.05,61.79,62.54,
-64.96,61.98,62.01,64.32,63.39,64.79,66.61,65.76,60.38,66.46,
-63.44,63.15,66.86,67.94,65.11,67.63,65.93,70.62,66.81,67.43,
-67.51,68.45,68.89,66.92,66.90,69.78,68.67,70.06,67.44,73.13,
-69.79,70.55,71.97,70.14,71.78,69.71,73.58,71.97,74.64,73.68,
-76.52,74.39,74.23,75.08,75.46,77.01,77.36,77.40,76.01,76.50,
-78.57,78.20,78.86,78.55,79.03,80.39,74.78,79.16,77.56,81.13,
-81.73,79.89,79.85,82.20,80.06,79.64,83.71,81.09,83.06,80.21,
-82.97,82.33,82.37,82.81,82.96,81.41,83.85,84.14,85.85,86.41,
-85.55,86.53,83.69,86.38,86.59,87.87,87.77,87.98,86.60,84.46,
-90.93,86.60,89.41,88.71,87.93,90.23,89.83,89.02,88.91,89.41,
-92.55,89.27,89.24,87.45,92.28,87.52,90.25,91.33,91.51,91.33,
-89.96,93.19,91.13,90.66,93.57,94.16,92.88,94.03,91.84,92.91,
-92.43,97.55,92.32,95.92,92.15,95.02,93.68,95.15,95.95,92.05,
-98.11,100.28,94.42,97.13,94.87,98.20,98.53,99.58,98.26,99.76,
-102.20,98.17,99.27,100.64,97.38,100.99,99.90,97.68,98.58,99.71,
-98.44,104.40,98.34,100.82,103.75,105.78,99.21,103.06,101.64,101.07,
-99.82,107.14,106.16,106.59,102.46,105.64,102.31,107.37,106.14,100.05,
-105.47,106.06,104.82,107.82,105.98,105.73,99.57,107.30,106.46,105.75,
-107.79,104.61,109.30,104.98,105.13,103.59,107.67,109.53,108.17,106.47,
-111.94,109.29,109.08,107.19,104.88,103.29,109.05,109.47,110.08,109.31,
-109.86,111.23,105.99,110.98,109.07,111.93,116.03,112.74,118.47,109.70,
-22.84,23.47,23.72,24.86,26.12,25.66,26.27,28.22,28.16,30.10,
-31.17,30.74,31.69,34.26,33.71,34.19,34.22,36.51,37.51,36.16,
-35.44,35.69,37.73,38.54,38.33,40.27,40.37,41.38,40.41,43.38,
-41.94,42.91,43.88,43.90,43.93,45.59,45.49,45.01,46.22,48.29,
-47.15,45.60,48.44,48.03,48.94,50.25,49.99,49.99,50.66,50.90,
-50.75,52.29,52.37,53.17,53.66,52.65,55.68,54.97,54.22,58.20,
-55.43,55.59,56.30,57.49,55.57,57.72,56.44,57.45,59.35,59.12,
-58.62,58.23,60.48,60.25,60.43,59.77,60.31,62.35,59.86,61.26,
-63.25,61.35,62.87,63.79,63.29,64.52,65.58,65.35,65.98,65.00,
-65.81,66.56,67.81,67.25,66.19,69.36,69.12,68.22,69.00,69.72,
-67.64,69.12,72.35,69.20,70.94,68.56,71.72,73.44,70.54,69.22,
-70.31,74.52,69.70,73.21,74.39,74.86,73.18,74.23,70.77,74.66,
-75.62,74.62,76.73,76.98,75.42,74.67,76.46,80.85,77.94,74.50,
-75.52,79.41,78.42,81.20,79.41,81.06,79.86,78.18,80.88,80.39,
-80.50,80.45,85.59,81.37,83.19,85.02,83.47,83.28,83.90,82.42,
-81.27,84.53,83.16,84.04,85.31,85.31,89.00,84.61,85.58,87.33,
-86.21,84.88,84.02,89.67,86.79,87.42,85.24,86.00,87.69,88.68,
-86.56,86.82,93.35,90.00,87.51,89.70,90.78,88.05,91.14,91.75,
-91.59,92.42,91.42,90.53,90.15,93.60,93.49,89.47,95.12,91.14,
-94.71,94.86,93.79,95.51,94.69,93.39,92.80,95.36,91.82,96.03,
-95.10,97.36,100.84,95.72,93.74,100.13,98.24,93.17,98.29,99.60,
-95.95,97.65,94.13,98.25,95.69,97.97,98.78,104.48,98.23,100.79,
-97.92,100.55,97.78,102.82,102.10,102.38,99.24,102.24,105.03,103.97,
-102.07,102.14,99.78,102.25,102.52,103.22,104.00,105.49,107.47,99.36,
-103.36,105.54,108.73,106.28,99.86,99.82,102.57,106.37,103.93,109.21,
-108.02,108.74,104.86,108.51,106.19,104.63,105.97,103.73,107.83,106.22,
-107.95,106.85,110.53,109.69,106.82,108.20,107.82,106.74,111.52,106.39,
-112.45,114.59,109.41,108.10,110.99,111.02,110.29,106.84,107.97,113.75,
-108.83,115.23,119.12,111.82,111.60,114.86,111.01,114.38,114.57,114.31,
-22.36,23.20,24.26,25.27,26.25,26.68,28.10,28.47,29.61,30.03,
-30.40,32.25,32.75,33.02,33.46,34.22,35.67,34.93,36.45,36.20,
-36.56,37.66,38.25,38.81,37.44,41.65,41.34,39.94,42.71,43.38,
-43.08,42.96,42.30,45.01,43.09,44.42,46.59,48.52,45.98,47.70,
-48.33,47.38,49.50,48.25,48.61,50.52,50.95,49.92,49.77,51.26,
-53.04,54.16,52.54,53.75,52.57,52.46,57.34,54.57,53.56,58.20,
-54.88,56.16,57.26,56.87,56.88,60.22,58.65,59.46,58.60,59.71,
-60.23,60.17,63.89,61.20,63.91,61.76,61.20,62.09,61.78,63.13,
-64.75,65.17,64.58,62.94,64.69,62.89,64.71,65.66,67.67,66.08,
-69.08,67.44,67.63,67.52,66.75,68.36,69.69,68.23,66.66,67.40,
-72.29,71.21,68.53,70.59,71.18,72.66,69.94,71.60,70.20,73.38,
-71.68,73.20,73.49,75.19,73.94,78.11,73.82,72.51,72.20,78.45,
-72.82,76.95,75.90,74.38,79.91,76.24,75.03,80.47,77.12,75.99,
-78.63,82.08,76.91,78.48,80.57,83.39,81.05,82.56,77.71,77.34,
-80.17,86.14,80.45,79.99,81.86,82.18,84.72,79.15,84.08,84.07,
-85.75,87.96,83.28,83.01,86.87,83.19,87.28,85.02,83.59,87.00,
-87.87,88.76,86.08,88.58,83.49,89.15,87.59,87.29,88.30,91.25,
-89.57,91.25,92.62,90.96,87.13,92.38,92.57,86.79,87.40,92.16,
-91.92,90.70,94.20,93.92,92.62,94.75,94.86,91.79,95.44,93.65,
-91.42,90.67,93.53,95.03,91.92,94.94,97.00,97.80,98.30,95.16,
-95.85,95.13,96.88,99.60,95.18,98.23,100.38,99.24,98.37,94.81,
-102.00,98.36,100.56,101.24,98.23,99.55,101.58,101.25,98.31,100.43,
-97.89,102.28,99.36,101.46,100.54,99.48,101.84,101.23,101.99,103.81,
-103.30,107.85,100.58,102.55,100.62,105.76,104.93,105.00,104.45,104.87,
-105.41,102.74,102.52,106.88,107.08,108.44,108.93,106.82,108.95,109.01,
-107.49,108.14,106.40,109.67,111.07,109.80,108.77,106.40,108.38,110.70,
-107.87,110.51,109.90,110.86,109.33,107.54,109.72,111.14,113.76,114.84,
-113.79,110.52,110.89,114.29,110.51,109.85,110.23,113.84,110.28,115.46,
-112.73,116.16,110.46,110.83,110.27,118.97,114.49,112.12,114.83,121.90,
-22.93,23.46,24.32,24.99,25.42,25.84,27.79,28.07,30.11,30.80,
-30.38,31.38,32.57,32.17,32.73,34.62,34.56,33.63,35.17,35.87,
-37.74,37.44,39.15,39.95,39.85,38.66,42.22,41.31,42.75,42.41,
-42.41,43.81,43.45,42.95,43.12,45.61,45.37,44.49,47.50,45.08,
-47.86,46.71,46.48,49.53,49.53,51.08,50.23,52.71,51.20,51.12,
-53.20,53.67,52.70,53.40,53.50,54.59,53.24,56.74,53.74,58.16,
-57.72,56.47,56.72,57.22,57.71,57.93,59.92,57.71,59.20,61.75,
-60.38,58.92,61.32,62.35,63.02,61.13,60.54,59.10,62.29,64.43,
-64.54,62.74,63.22,62.86,65.22,65.81,64.55,66.88,65.69,66.70,
-66.76,67.79,71.89,70.17,68.55,71.68,68.59,68.94,70.29,67.98,
-68.00,70.44,72.47,73.59,70.69,70.77,71.28,73.22,72.94,73.91,
-72.07,73.37,74.37,73.79,76.41,73.96,72.65,75.53,75.74,76.97,
-79.05,76.95,76.30,74.93,77.68,75.76,80.53,78.81,77.47,77.85,
-81.99,80.99,76.32,80.37,81.58,80.30,80.07,81.76,79.17,85.19,
-83.89,83.50,83.49,81.92,86.60,83.41,81.23,86.49,83.83,80.94,
-85.55,88.72,84.43,82.82,81.75,85.69,86.23,83.27,87.23,86.05,
-86.82,84.97,89.31,86.70,87.88,90.71,87.63,89.40,93.46,85.56,
-86.94,89.69,87.88,88.78,89.65,88.89,88.80,90.48,91.47,87.71,
-94.13,92.91,89.53,95.01,92.62,91.94,92.40,96.24,93.70,94.48,
-93.21,94.91,93.84,92.16,96.87,93.80,96.85,95.65,94.00,96.31,
-94.57,94.80,96.77,97.03,94.40,98.73,98.49,98.46,94.88,100.26,
-94.01,96.05,98.37,105.79,98.22,95.79,103.18,99.89,103.39,99.68,
-98.02,99.60,103.55,100.65,100.66,104.12,101.66,99.70,105.31,103.34,
-105.49,102.66,106.11,101.66,106.25,103.48,105.95,103.48,104.86,106.67,
-109.64,106.87,108.14,107.49,104.91,102.38,108.18,105.99,110.73,106.27,
-106.95,109.68,106.03,105.48,108.47,110.51,109.30,112.05,109.57,109.30,
-110.11,112.57,109.74,108.83,106.81,110.44,111.48,114.28,111.81,106.01,
-113.89,109.63,111.48,112.33,114.42,113.66,115.31,115.19,109.64,114.98,
-111.36,111.06,114.85,112.95,112.83,114.39,110.48,117.30,115.48,116.60,
-22.39,23.11,24.55,25.06,24.75,26.90,28.38,27.46,31.21,30.60,
-30.92,32.42,30.97,33.96,32.83,33.29,33.67,35.72,35.26,36.43,
-37.07,37.82,37.02,39.15,39.25,39.21,39.03,40.83,42.46,42.42,
-43.68,41.99,44.28,44.11,42.70,45.68,45.21,47.30,46.03,47.44,
-47.74,46.54,48.26,48.17,49.53,49.86,48.41,50.38,52.11,51.12,
-52.76,50.98,51.86,52.54,53.33,52.37,54.89,54.63,55.90,56.78,
-56.42,56.60,56.39,55.69,56.38,56.22,56.55,58.63,60.01,59.67,
-58.77,59.55,59.56,62.91,60.17,61.56,63.38,61.33,62.33,64.12,
-64.42,63.61,64.38,62.64,64.30,64.62,63.55,64.98,65.54,65.23,
-65.23,64.16,66.35,65.53,69.04,67.93,69.22,69.18,69.42,71.64,
-67.92,70.74,71.98,70.83,72.20,70.94,72.15,71.82,73.76,69.56,
-71.11,76.21,72.98,71.12,71.59,73.28,74.88,77.35,78.49,74.97,
-76.84,75.38,77.00,73.52,77.25,79.34,76.50,79.83,80.83,76.78,
-79.81,78.98,78.53,79.28,78.67,81.29,80.90,80.62,82.77,83.99,
-83.58,82.90,79.11,82.74,82.70,82.26,80.36,85.24,82.57,84.04,
-88.06,86.46,84.93,87.36,83.49,87.30,84.28,87.14,84.57,85.09,
-86.96,87.75,86.39,93.83,87.55,87.83,87.94,86.73,90.23,85.83,
-90.90,87.72,86.79,90.03,89.41,89.19,91.02,89.30,87.99,89.74,
-90.28,94.28,90.80,89.87,92.21,91.56,91.33,96.54,94.31,96.15,
-90.65,92.10,93.32,97.10,96.95,95.69,96.58,93.92,94.01,94.39,
-97.69,95.43,93.71,94.73,94.20,100.10,101.31,97.29,99.93,97.64,
-101.09,97.76,98.41,99.33,100.82,104.39,102.71,101.02,102.80,99.85,
-99.49,100.57,98.84,101.78,100.77,101.55,99.32,107.26,102.81,103.25,
-103.87,103.74,107.66,103.02,103.48,102.39,104.46,105.46,104.14,107.37,
-106.01,103.89,105.98,111.12,104.38,109.94,113.58,106.89,107.85,107.34,
-108.56,108.34,110.25,109.64,105.03,107.55,107.68,114.05,106.90,110.82,
-107.39,113.58,112.87,109.49,109.52,110.76,108.32,107.03,107.98,111.28,
-114.26,109.24,109.28,114.70,112.87,116.19,110.22,107.81,110.39,115.50,
-113.46,114.37,115.32,112.56,117.16,110.77,111.94,116.42,110.49,114.92,
-22.89,23.44,24.36,24.39,25.40,27.07,26.91,29.20,28.16,30.09,
-30.24,31.16,31.33,31.27,32.93,34.57,32.96,35.25,35.88,35.66,
-35.45,36.16,38.10,38.61,38.64,39.28,39.42,39.66,40.31,41.73,
-40.95,41.10,43.59,44.11,42.32,43.91,46.35,44.14,45.11,44.69,
-47.36,48.41,47.89,48.81,49.30,51.03,51.36,52.13,50.40,52.56,
-50.74,50.06,52.02,51.74,51.64,53.70,54.86,53.51,55.40,55.42,
-56.01,56.90,55.68,55.93,56.71,59.30,53.49,58.46,57.00,59.27,
-61.01,58.22,60.71,60.39,62.74,60.55,62.30,62.13,60.70,62.07,
-61.74,63.40,64.16,63.73,65.21,64.18,63.40,67.73,65.85,66.67,
-66.89,65.45,67.13,66.57,69.59,69.41,69.05,68.42,70.02,69.63,
-71.89,67.99,70.22,72.35,68.78,69.94,68.88,71.89,72.15,70.15,
-73.94,74.08,71.52,75.01,72.63,73.86,75.57,73.78,74.04,75.28,
-73.65,72.21,76.01,78.10,76.91,77.93,76.36,77.40,73.29,77.21,
-77.31,78.43,77.24,76.18,78.43,79.65,79.69,80.61,83.90,79.61,
-82.10,83.69,83.13,83.72,83.10,82.05,83.93,84.32,82.82,83.59,
-83.49,83.62,81.67,84.75,89.02,85.24,82.28,87.26,85.53,84.75,
-82.73,85.02,87.90,87.58,89.83,90.06,84.03,90.30,89.78,89.00,
-89.85,87.68,91.99,89.21,90.64,90.07,91.55,93.20,90.94,89.23,
-90.92,93.55,87.11,92.21,91.98,90.99,95.81,94.57,93.02,94.36,
-93.63,94.52,95.21,92.10,94.69,94.81,98.88,95.48,94.29,94.63,
-96.33,95.46,95.56,101.04,98.76,97.21,95.31,95.35,92.59,95.14,
-97.72,93.58,101.11,95.10,98.79,99.80,101.84,100.21,100.31,97.49,
-96.75,101.28,96.40,97.54,99.92,101.59,101.95,100.06,102.54,101.71,
-101.67,100.99,99.94,101.45,100.96,104.90,103.66,102.54,103.13,102.67,
-106.46,105.29,103.60,104.58,107.06,103.69,103.31,104.58,105.20,106.22,
-109.17,106.33,106.97,106.69,109.30,107.40,107.64,112.14,107.89,107.71,
-106.12,110.30,108.73,111.43,110.61,106.52,108.53,110.31,109.07,116.00,
-112.17,108.89,107.17,111.08,110.84,113.76,113.25,112.03,113.06,109.85,
-117.72,111.37,112.65,109.79,119.11,111.24,110.50,113.51,115.14,117.76,
-22.35,23.09,23.23,25.13,24.87,26.41,26.97,27.62,28.95,29.12,
-30.76,30.47,31.19,32.42,32.50,33.65,33.34,33.70,35.77,35.19,
-36.67,37.41,35.38,38.36,36.66,38.41,39.73,41.63,39.10,39.23,
-40.85,42.62,43.28,43.02,43.60,44.28,44.75,45.92,46.93,46.61,
-46.58,45.73,45.69,49.17,46.98,49.70,50.13,48.32,49.16,52.65,
-49.98,51.91,53.13,50.71,52.71,54.88,53.60,54.94,54.23,54.56,
-55.99,54.37,55.23,56.58,57.43,58.29,55.80,55.33,57.10,56.69,
-59.41,58.14,57.79,58.56,61.03,57.30,60.47,60.89,60.62,62.46,
-60.05,62.53,63.15,64.74,62.28,64.45,62.58,64.07,66.40,62.23,
-64.61,66.96,67.01,67.11,66.44,69.50,69.46,68.75,69.15,68.73,
-67.49,67.29,67.56,69.27,67.81,71.35,69.05,70.72,72.14,70.35,
-70.48,72.56,71.80,71.38,72.70,72.97,72.51,71.75,72.08,71.98,
-75.39,74.86,72.70,76.82,76.47,75.84,76.85,78.41,77.47,76.99,
-75.97,76.75,80.70,79.54,76.52,76.91,76.27,79.66,77.68,76.80,
-78.99,79.71,79.95,81.08,81.95,84.12,79.54,83.05,82.34,83.49,
-82.18,82.99,83.56,85.88,81.33,83.61,84.06,82.50,81.28,84.73,
-85.58,83.80,84.79,82.44,84.49,90.90,85.83,86.98,86.46,86.05,
-86.43,90.82,88.85,89.04,88.58,87.97,87.13,88.13,89.57,87.95,
-88.40,91.85,90.96,87.24,90.94,92.16,90.19,91.83,92.17,93.94,
-92.10,91.93,95.89,92.39,93.30,93.55,91.71,96.30,89.99,95.23,
-93.77,93.48,92.43,96.52,94.36,94.99,96.67,93.13,95.03,95.77,
-100.10,96.43,94.23,94.05,99.64,99.76,94.32,95.78,96.97,95.21,
-99.72,97.56,94.37,100.47,96.77,101.24,100.14,100.37,96.27,101.96,
-101.29,97.80,101.32,100.10,103.54,102.98,108.97,102.74,101.48,104.27,
-102.47,102.12,102.43,103.35,102.97,101.05,101.84,100.94,106.45,106.63,
-103.67,103.26,108.27,102.72,101.66,105.17,106.41,112.62,106.09,106.34,
-104.88,105.28,109.60,107.80,105.84,104.23,108.49,106.97,101.99,108.84,
-106.50,111.60,107.53,108.31,110.77,110.78,112.32,115.57,107.93,112.49,
-113.13,111.56,115.27,109.03,107.05,110.76,117.21,112.64,109.34,112.34,
-21.20,22.16,23.75,25.04,23.60,26.80,26.00,26.37,28.12,29.66,
-29.14,30.21,31.00,30.54,31.49,33.54,32.58,34.50,34.08,34.91,
-35.71,35.14,37.31,37.14,39.15,39.16,38.93,38.84,41.92,40.97,
-40.57,42.09,41.78,42.75,42.64,44.60,43.94,43.48,44.77,43.85,
-45.75,47.59,45.95,47.39,47.31,46.93,46.17,50.24,48.79,50.30,
-50.94,50.38,50.06,51.42,53.12,53.06,52.89,53.71,52.81,52.08,
-54.31,54.64,54.65,52.98,55.23,53.28,55.09,57.92,58.94,57.31,
-56.09,63.26,58.48,57.25,59.97,57.61,60.50,60.65,59.19,62.95,
-61.29,62.41,61.38,60.58,62.71,61.76,64.48,62.08,61.55,65.57,
-64.49,62.69,66.72,66.19,66.48,67.28,64.49,67.44,68.39,68.39,
-67.55,67.78,68.08,70.35,67.45,67.93,72.86,68.09,70.26,70.87,
-69.31,71.73,71.27,71.61,71.06,70.11,72.70,72.65,75.07,70.66,
-72.24,72.96,73.88,75.18,73.57,76.08,74.30,75.67,73.13,77.26,
-78.98,75.16,76.19,75.23,76.16,74.09,77.83,76.98,76.23,76.19,
-78.45,79.79,80.79,76.61,80.43,83.09,80.02,81.21,80.70,82.28,
-81.19,83.08,81.29,81.41,82.04,82.71,84.89,80.58,85.31,80.79,
-85.70,80.18,83.71,87.17,85.27,86.21,84.00,88.33,84.40,88.89,
-86.94,88.43,87.89,87.64,85.85,89.32,89.17,84.66,86.87,92.74,
-88.36,88.48,87.34,91.57,91.68,90.58,90.50,92.44,92.46,90.20,
-87.22,90.82,93.83,89.32,91.07,90.93,90.59,89.50,91.94,91.66,
-89.65,91.65,92.72,88.63,93.54,95.79,94.04,96.46,91.25,92.50,
-93.13,96.92,95.50,90.03,94.78,96.38,95.23,97.47,97.73,98.09,
-98.29,97.54,101.86,97.26,99.19,98.74,98.43,102.63,97.96,100.74,
-99.60,98.35,98.97,100.43,100.60,100.59,99.89,98.10,95.80,103.69,
-100.08,96.83,100.64,98.24,104.72,99.46,103.46,103.58,103.61,105.08,
-107.67,102.69,100.24,103.87,102.74,103.24,104.08,103.95,106.01,106.79,
-105.44,103.97,106.66,107.04,102.52,109.94,104.09,105.30,101.32,108.84,
-109.75,107.20,108.66,106.26,104.85,110.06,106.17,110.14,109.41,108.00,
-108.55,110.55,110.59,108.40,110.95,106.40,107.38,110.83,112.02,112.06,
-21.42,21.36,22.19,23.89,24.40,25.41,24.74,26.78,27.33,27.83,
-27.87,29.48,29.79,31.78,33.00,31.53,32.58,32.48,34.20,35.03,
-33.82,36.94,35.03,37.10,37.73,37.08,38.16,38.30,39.28,39.79,
-40.26,40.90,42.29,41.87,43.40,44.06,43.49,43.65,43.89,44.87,
-45.81,46.32,45.14,43.55,46.43,45.26,47.07,47.10,47.30,50.82,
-48.84,48.96,49.34,50.61,50.10,51.66,50.93,54.48,53.87,52.56,
-51.19,53.23,53.26,53.14,52.53,54.97,56.12,55.84,56.55,55.63,
-57.21,59.82,56.63,56.86,59.16,57.39,59.11,58.32,61.03,60.06,
-59.94,59.98,61.03,59.91,60.91,60.98,61.84,62.69,61.29,61.98,
-65.12,62.87,64.77,64.02,67.71,65.64,65.20,64.10,64.77,66.35,
-65.45,67.86,66.43,68.27,69.10,68.89,68.29,69.62,65.88,67.50,
-68.16,69.72,66.84,69.01,69.18,69.78,70.66,71.31,71.28,71.92,
-70.39,68.41,70.90,72.02,75.18,75.34,74.02,76.32,76.72,77.42,
-71.53,76.14,77.28,73.83,72.37,76.31,74.42,76.51,77.09,79.11,
-78.26,79.74,78.24,82.59,76.09,75.57,78.23,80.85,78.23,81.60,
-77.72,78.36,79.09,81.02,78.60,85.29,82.24,80.52,82.97,79.37,
-80.40,86.55,84.16,85.67,85.21,84.14,86.19,84.19,85.14,84.86,
-84.10,86.81,83.55,85.99,86.76,85.74,86.64,85.78,85.30,87.59,
-85.29,88.94,84.71,87.93,89.83,90.35,90.03,88.94,88.03,86.49,
-91.73,89.60,92.01,89.15,86.61,89.61,91.18,89.96,88.42,96.07,
-92.89,90.74,94.88,89.40,92.85,93.24,90.32,92.05,92.13,92.27,
-93.35,92.58,94.89,92.97,96.27,96.62,91.05,93.25,92.84,93.27,
-95.74,97.69,96.97,95.35,97.56,99.46,97.18,99.12,97.21,95.41,
-98.78,102.27,97.43,101.10,99.25,97.31,99.20,101.46,98.68,101.53,
-97.39,99.39,101.59,100.24,100.63,99.04,103.91,101.04,101.04,102.49,
-99.96,101.94,100.30,100.58,105.34,102.49,98.37,101.44,103.87,103.65,
-105.51,101.91,106.70,104.01,104.60,106.04,102.23,103.74,103.25,102.84,
-101.91,107.24,105.92,103.05,107.90,111.68,104.58,107.34,105.35,105.81,
-109.64,106.44,106.45,110.62,111.83,109.37,105.34,108.41,112.49,109.67,
-19.47,20.50,22.44,23.25,23.93,24.18,24.96,25.78,28.17,27.54,
-26.77,29.22,29.40,29.32,31.57,32.78,32.03,33.11,34.62,33.42,
-33.56,35.75,35.49,37.19,36.17,35.82,37.54,38.10,38.24,38.22,
-38.38,40.77,40.78,41.62,40.41,41.53,42.29,44.75,42.44,41.17,
-45.42,45.60,44.70,44.68,44.66,46.94,46.17,48.53,48.46,48.53,
-48.10,48.28,47.85,50.87,47.70,50.95,50.38,50.09,50.49,50.21,
-53.52,53.37,52.22,52.06,52.86,54.60,56.93,53.11,55.12,54.87,
-55.10,55.09,57.44,56.84,58.28,55.93,55.71,57.97,56.42,55.83,
-58.65,58.84,58.29,61.23,58.62,59.66,60.27,60.57,60.77,61.51,
-60.29,60.95,61.71,62.72,62.99,64.09,62.29,64.23,64.58,63.42,
-63.44,65.90,66.61,69.34,63.18,62.14,65.29,67.61,65.56,69.07,
-69.06,66.06,71.19,70.54,69.66,67.20,68.73,70.50,71.06,70.50,
-70.43,72.44,72.30,70.15,70.91,70.87,72.60,74.25,72.87,72.12,
-71.63,74.25,71.72,72.04,76.51,75.42,74.20,72.94,75.66,76.65,
-74.01,75.33,76.94,75.10,76.78,79.89,74.61,76.64,77.72,75.27,
-78.69,76.92,78.29,77.76,77.67,80.78,77.02,79.46,78.26,79.33,
-84.72,80.76,82.69,82.03,79.04,81.27,82.17,80.09,85.32,82.47,
-82.13,82.52,83.05,80.65,84.25,83.65,84.02,88.56,85.79,82.15,
-85.40,85.54,84.26,84.02,84.27,87.00,85.99,88.61,91.28,86.15,
-87.87,85.11,88.28,88.64,86.84,91.91,88.77,88.05,87.34,89.60,
-88.61,88.60,87.59,90.26,89.25,89.26,88.03,89.99,88.59,91.67,
-91.09,93.14,93.29,92.37,90.59,92.16,91.41,95.55,92.24,96.05,
-92.47,94.91,98.08,94.83,95.64,91.05,96.06,94.39,94.07,96.79,
-91.43,96.84,95.85,90.69,96.62,95.67,100.49,96.71,98.31,97.73,
-97.50,96.61,98.46,94.08,99.66,92.40,99.03,100.23,97.99,99.74,
-103.12,98.20,101.17,100.68,103.63,98.86,103.48,100.80,98.93,101.54,
-99.93,103.76,101.29,102.89,100.03,99.95,101.85,105.33,105.36,105.62,
-103.60,103.25,101.69,102.85,102.83,102.86,101.46,106.52,102.09,103.24,
-102.68,102.43,108.11,105.46,107.28,106.12,106.53,105.53,112.61,104.09,
-18.39,19.12,20.02,20.31,21.01,22.15,22.04,22.22,22.98,24.43,
-24.39,24.49,24.78,26.33,25.86,27.36,27.42,27.75,29.68,30.38,
-30.02,29.36,29.85,29.81,32.18,31.98,31.15,31.84,32.65,32.37,
-33.83,33.58,33.81,34.41,34.59,35.26,36.49,37.15,36.30,36.20,
-37.00,35.87,38.17,38.38,37.42,38.32,38.28,40.40,39.02,40.17,
-38.97,40.73,39.79,40.14,41.20,41.90,43.46,42.52,42.42,44.55,
-42.01,43.27,44.08,42.89,44.32,44.75,45.84,45.91,46.22,47.38,
-46.55,45.26,45.94,46.27,46.80,47.81,46.24,49.27,46.93,49.14,
-48.50,49.16,49.64,51.48,48.20,51.23,52.60,46.96,51.21,50.45,
-51.67,51.53,52.06,51.87,53.46,54.83,51.60,51.84,51.58,54.74,
-53.11,53.96,55.07,54.40,54.06,53.70,56.05,56.03,54.72,54.52,
-54.38,57.28,56.82,57.14,57.09,56.27,58.08,58.93,56.76,53.15,
-57.12,60.36,56.93,57.80,58.92,60.06,58.99,60.98,60.44,59.67,
-61.20,59.45,59.66,61.59,62.68,63.24,63.46,62.21,60.29,62.08,
-61.73,64.48,61.86,63.33,64.95,64.00,62.82,64.41,65.31,63.99,
-65.35,66.12,62.83,62.90,66.59,64.29,63.74,65.16,65.53,64.23,
-67.80,65.78,67.28,66.79,69.96,69.79,67.25,71.00,68.67,69.07,
-70.83,67.84,68.01,68.37,68.43,71.14,66.02,69.61,69.06,68.40,
-72.40,71.71,72.72,70.52,72.83,71.51,71.76,73.44,73.98,72.02,
-70.70,72.10,72.15,71.87,74.64,74.01,71.90,74.06,74.18,73.93,
-73.15,74.69,70.44,74.41,72.96,76.42,72.74,74.62,75.88,74.47,
-72.83,76.22,77.64,75.87,73.52,76.57,74.58,76.84,76.72,78.32,
-78.19,80.38,77.37,78.10,77.83,77.63,80.36,77.09,78.16,78.35,
-80.47,81.72,79.19,79.23,80.16,78.53,79.21,79.25,79.58,82.73,
-83.39,81.49,79.24,82.87,79.65,80.06,84.76,83.99,85.72,83.82,
-82.15,81.10,82.75,82.77,82.40,84.83,82.45,81.10,83.46,82.36,
-84.04,86.64,83.65,84.01,84.69,83.15,83.42,81.79,87.10,88.50,
-86.30,84.86,83.92,84.41,84.30,87.05,83.01,86.31,87.54,88.43,
-88.14,86.27,88.71,83.63,89.11,85.60,87.62,82.16,86.49,81.20,
-19.41,19.76,20.87,21.55,21.33,22.58,23.80,24.80,24.97,26.00,
-25.82,26.52,26.33,26.49,27.61,29.32,30.25,30.23,30.45,31.45,
-30.04,32.05,32.93,33.09,33.29,33.99,34.24,34.26,36.07,36.07,
-35.09,35.43,37.75,37.02,36.47,38.39,39.36,39.77,39.17,39.25,
-39.43,40.34,40.05,41.71,41.41,42.41,41.75,41.95,41.91,43.16,
-43.01,44.58,43.31,43.98,45.28,45.79,45.89,44.14,47.10,47.93,
-45.52,48.17,47.39,47.05,47.93,48.22,47.69,49.28,49.37,48.29,
-48.89,48.45,52.67,50.23,51.71,49.98,52.62,51.31,53.84,54.28,
-54.72,52.41,52.88,51.15,52.12,53.50,53.60,52.76,52.72,54.33,
-56.20,54.81,53.43,54.00,56.57,57.24,55.76,56.02,58.17,57.43,
-57.05,57.58,57.90,62.26,61.30,57.91,60.23,59.76,60.24,58.47,
-60.61,59.70,61.34,59.98,60.07,61.47,63.17,65.21,62.79,61.35,
-62.57,62.21,62.25,64.04,63.74,60.87,64.10,62.80,65.28,65.99,
-64.68,65.57,65.09,67.84,64.06,64.85,66.93,65.45,67.85,66.62,
-66.60,68.91,69.20,70.40,68.50,66.08,70.32,68.77,68.46,69.36,
-68.26,70.42,69.67,70.87,71.03,70.40,70.44,70.24,67.97,70.74,
-72.30,69.81,74.24,69.17,71.40,74.76,73.46,75.06,72.01,72.43,
-77.34,73.83,75.04,74.44,78.76,75.09,75.95,70.55,74.97,72.98,
-72.75,73.89,74.69,76.32,74.71,78.85,77.36,77.21,77.44,77.68,
-77.40,77.11,77.30,76.37,79.95,77.66,79.06,78.08,77.96,82.85,
-80.29,80.55,81.28,78.61,81.98,80.81,79.59,80.30,83.25,78.07,
-83.33,78.10,78.40,83.61,83.88,80.52,83.69,83.49,82.65,85.70,
-84.22,82.58,84.24,83.76,84.73,84.71,81.85,79.21,85.80,81.36,
-85.60,84.31,84.25,87.57,86.92,87.14,84.87,87.54,83.77,84.21,
-89.30,89.47,87.68,88.34,87.05,87.96,85.42,84.50,85.41,88.08,
-86.26,84.24,88.94,91.31,87.36,90.51,90.71,87.85,92.27,89.24,
-86.37,86.46,93.32,90.87,90.36,90.06,88.59,92.33,91.68,93.84,
-91.02,90.30,93.09,91.08,91.69,94.42,91.96,94.47,94.14,92.75,
-91.78,95.50,89.89,92.02,95.92,94.16,96.39,96.25,90.37,98.22,
-20.11,21.00,23.02,22.08,23.35,25.21,24.60,26.13,25.79,26.80,
-27.72,28.48,28.86,29.21,29.90,30.20,30.92,30.35,34.05,32.48,
-33.50,33.51,35.09,34.04,34.01,36.44,37.22,36.24,35.75,36.41,
-37.41,37.19,38.78,39.71,40.10,39.08,41.14,42.22,41.50,41.16,
-42.65,42.93,44.20,45.02,43.55,44.22,44.35,43.82,44.17,43.52,
-43.68,47.23,46.41,47.41,48.57,48.52,48.26,49.14,49.58,49.77,
-48.74,49.39,48.67,51.48,53.00,50.49,50.99,50.93,52.52,50.60,
-51.40,52.00,51.92,53.91,54.42,55.13,54.52,56.63,57.25,56.86,
-57.27,54.81,56.04,58.75,57.80,58.07,57.02,59.86,56.41,58.29,
-59.11,61.29,60.35,57.50,62.96,60.94,59.02,59.16,62.70,62.61,
-62.24,63.05,61.82,61.85,62.48,63.24,61.20,62.31,62.72,62.28,
-65.63,66.00,61.19,67.41,64.01,66.78,67.57,65.46,67.89,70.58,
-66.89,65.11,64.97,71.92,68.75,67.83,67.78,67.58,67.25,71.13,
-69.14,68.82,71.59,68.63,68.66,69.47,70.91,71.64,74.34,68.90,
-71.16,71.27,72.90,72.85,72.37,73.93,73.30,73.44,72.69,75.93,
-73.69,75.05,73.96,73.37,73.97,76.53,74.91,75.24,76.88,75.33,
-77.17,77.60,74.99,73.38,78.58,74.22,76.03,80.28,78.72,75.92,
-80.97,77.04,78.56,79.95,82.16,80.48,80.01,81.37,81.20,78.49,
-79.27,81.25,79.00,77.74,83.88,83.76,83.31,80.13,82.29,80.41,
-79.31,87.06,83.50,85.62,82.34,81.76,82.94,83.76,84.18,83.42,
-84.02,82.90,84.49,84.22,85.19,82.80,88.05,86.39,83.76,83.62,
-85.13,85.82,87.57,86.89,85.78,88.05,86.09,88.53,89.47,86.02,
-88.95,89.29,87.75,94.73,93.32,87.69,91.27,88.57,85.86,93.31,
-95.07,89.08,92.44,89.38,93.07,93.02,90.43,92.42,92.90,92.20,
-92.37,93.64,92.15,94.31,91.50,91.57,97.45,95.55,92.08,93.20,
-94.36,94.65,94.99,98.49,95.70,93.71,93.48,94.97,95.65,93.62,
-96.91,95.63,98.27,94.90,96.76,99.29,96.89,102.17,97.54,99.06,
-97.65,103.14,97.53,99.95,97.92,98.22,94.77,100.56,95.90,98.78,
-101.48,99.17,99.40,103.94,98.45,100.58,100.22,99.87,99.19,100.06,
-21.34,21.89,23.34,23.76,24.39,26.15,25.01,27.70,27.42,29.71,
-29.51,29.09,29.19,31.40,31.67,32.09,32.18,32.65,33.82,33.78,
-34.62,35.65,37.20,37.02,35.95,36.13,37.71,38.90,38.11,40.26,
-39.02,39.77,41.85,40.00,41.50,42.01,42.09,43.12,42.89,44.64,
-45.97,45.93,45.67,45.89,47.54,46.19,46.33,47.44,46.76,45.79,
-48.21,48.75,50.28,48.85,50.02,51.69,50.11,49.62,50.94,51.32,
-54.07,50.41,51.09,53.63,51.79,53.73,52.32,54.44,55.99,55.10,
-55.02,55.65,55.98,54.93,58.68,57.31,57.29,59.35,56.43,58.75,
-60.22,56.05,56.09,60.50,61.64,60.54,60.04,60.05,60.59,60.01,
-64.14,61.04,63.56,61.12,62.58,64.16,61.95,63.72,64.87,62.68,
-64.57,66.24,67.54,65.12,65.04,68.50,64.66,68.21,65.45,66.24,
-67.70,65.70,69.78,67.22,70.78,70.83,70.28,70.45,68.68,71.02,
-72.91,69.05,70.16,71.99,71.47,72.83,72.14,73.10,73.22,74.41,
-71.73,70.69,74.68,74.63,70.38,74.06,78.40,72.47,76.60,75.31,
-75.96,77.15,75.67,78.01,78.13,76.83,74.51,77.69,79.38,78.18,
-79.16,76.77,75.89,77.17,79.34,81.82,79.98,79.49,80.87,80.42,
-77.54,82.26,79.26,79.78,79.96,79.48,83.48,82.69,81.03,79.96,
-80.52,79.57,83.33,82.39,81.09,83.12,82.93,84.05,83.41,83.52,
-84.25,84.48,86.60,84.09,87.77,85.32,86.48,86.09,91.44,88.98,
-85.34,86.07,89.15,88.25,87.16,89.53,86.89,86.32,89.59,87.85,
-89.54,85.85,87.48,89.72,89.90,90.00,90.20,88.95,86.75,87.64,
-89.12,91.24,89.30,92.68,93.99,96.98,88.53,93.41,92.59,93.10,
-90.72,93.14,94.32,95.21,93.77,93.43,93.50,93.42,94.96,97.83,
-92.74,95.06,96.08,97.15,92.56,96.53,99.09,95.69,93.94,98.23,
-99.20,98.31,101.88,97.79,98.70,99.01,98.91,100.45,99.22,97.54,
-97.23,98.40,98.32,100.78,103.83,98.95,100.71,103.29,101.88,102.90,
-97.10,98.98,102.65,100.37,103.97,102.20,100.16,102.48,104.98,100.66,
-101.28,104.27,103.29,106.66,103.79,110.96,102.49,102.72,102.27,100.31,
-100.83,101.66,107.68,100.74,106.37,106.16,103.47,105.72,107.07,101.73,
-22.11,23.23,24.22,24.21,26.29,25.94,26.11,28.08,29.72,28.88,
-29.42,31.14,31.03,34.06,32.33,31.54,34.08,33.85,33.63,34.79,
-35.54,36.00,36.39,38.44,38.83,38.17,38.96,41.49,41.56,40.08,
-41.86,40.97,40.23,42.32,42.43,44.91,44.48,43.25,46.55,46.73,
-46.18,46.30,45.83,47.18,46.75,47.91,46.77,48.57,50.89,50.02,
-49.22,49.83,52.03,49.74,51.69,51.80,52.57,52.93,55.07,51.65,
-54.71,53.59,54.45,56.97,57.38,54.96,54.81,58.21,58.91,58.68,
-57.59,56.56,56.17,57.43,59.43,56.38,60.89,59.45,59.26,63.22,
-59.09,61.79,60.70,62.85,61.36,61.73,61.51,62.65,65.24,65.10,
-62.56,65.59,63.36,65.51,63.19,62.88,67.55,65.22,65.83,65.45,
-67.88,67.42,68.92,67.57,70.13,67.39,68.48,68.94,71.64,69.45,
-67.27,68.93,71.58,68.16,73.87,72.68,70.45,73.38,72.15,71.90,
-72.11,72.58,73.35,73.77,74.63,75.37,75.44,75.93,76.34,76.23,
-77.04,75.71,75.31,76.17,78.46,75.38,78.41,78.93,81.68,78.56,
-77.24,78.29,78.66,74.55,78.99,76.70,79.14,79.93,78.90,81.17,
-81.80,80.32,81.90,78.25,83.33,83.82,82.73,82.66,84.46,83.22,
-80.71,83.47,83.78,86.78,87.94,83.51,83.93,84.00,87.27,84.77,
-87.46,84.18,86.54,84.84,86.73,87.21,86.03,88.26,84.22,87.24,
-85.93,86.27,90.76,89.55,88.75,91.38,84.41,88.39,88.31,92.03,
-89.29,90.14,91.87,86.98,94.85,87.79,89.16,89.96,90.77,93.34,
-93.97,90.27,95.17,91.72,89.99,96.43,95.25,93.90,95.83,93.90,
-94.91,93.97,94.77,94.14,93.46,92.90,95.28,99.43,95.63,101.72,
-98.25,98.69,95.36,99.05,93.21,97.18,99.60,100.40,100.08,94.82,
-100.33,98.10,100.18,98.16,100.35,99.38,104.11,101.57,101.55,96.82,
-100.04,99.94,98.89,100.41,102.09,101.22,101.71,101.87,102.07,104.26,
-101.39,103.58,103.46,101.76,105.04,104.69,105.39,106.50,99.02,101.65,
-105.56,106.65,107.50,107.81,103.97,106.28,107.58,104.56,108.03,110.26,
-107.99,104.79,106.33,106.84,107.40,110.15,106.37,108.51,105.32,109.44,
-109.13,108.98,113.00,111.96,108.87,110.20,107.61,108.93,112.31,111.62,
-22.59,23.11,24.13,25.30,25.78,27.76,27.96,29.01,30.04,29.97,
-30.92,31.30,31.31,34.07,35.33,33.53,33.10,35.02,37.22,35.81,
-37.66,38.32,38.53,39.65,38.32,39.89,39.99,41.01,38.11,40.16,
-42.37,44.03,44.17,43.32,43.87,45.07,45.36,46.21,45.94,46.18,
-46.79,48.69,49.63,49.31,47.80,48.81,51.69,53.06,50.43,51.29,
-51.99,52.50,52.67,53.59,54.96,52.52,52.09,55.82,55.00,56.41,
-55.69,55.67,57.36,54.93,58.60,56.63,57.80,58.45,57.61,57.81,
-61.94,61.11,59.20,59.88,60.64,62.09,60.31,60.81,61.95,61.40,
-63.44,66.77,64.33,64.96,63.57,65.37,64.35,65.21,65.37,64.84,
-64.94,69.19,66.39,66.21,68.06,65.98,67.47,65.17,68.98,70.28,
-68.15,66.03,69.55,67.85,69.78,71.19,68.72,69.03,73.64,71.37,
-73.52,71.68,71.89,72.38,74.64,74.78,75.24,73.53,76.75,77.43,
-73.59,77.98,73.33,78.58,76.31,82.34,77.94,79.80,77.02,76.98,
-79.84,79.41,76.39,76.45,79.08,78.73,80.19,82.67,79.56,79.50,
-80.52,80.15,81.95,80.03,84.52,86.02,82.30,83.05,83.94,82.99,
-86.33,82.65,85.66,81.45,83.26,82.77,85.61,82.72,86.92,83.40,
-86.24,86.44,86.04,83.12,86.80,88.98,86.27,89.20,86.62,86.84,
-87.28,88.19,87.09,91.34,88.62,89.75,94.68,91.29,88.54,89.99,
-89.12,93.72,90.60,89.61,91.65,91.73,92.78,94.73,94.22,95.53,
-94.18,92.63,93.87,97.72,97.78,90.72,91.02,93.76,98.12,94.81,
-95.33,96.47,95.67,96.32,97.94,101.86,99.13,98.52,95.73,94.96,
-101.32,95.69,100.67,95.67,97.32,96.58,99.72,99.64,98.90,98.51,
-103.48,99.07,99.99,101.74,97.56,100.81,102.97,99.32,102.25,102.30,
-104.54,105.91,100.89,100.51,105.32,103.32,103.97,102.84,106.12,105.08,
-106.51,104.51,106.33,104.07,101.33,104.14,103.17,106.49,104.35,106.31,
-105.02,112.58,107.75,106.57,109.25,109.76,108.76,111.14,109.47,112.14,
-107.87,105.66,109.41,109.20,107.11,109.66,108.08,109.93,110.88,112.34,
-108.66,107.48,113.43,111.41,107.35,111.66,108.87,111.51,109.63,109.01,
-109.29,106.83,110.77,115.28,112.16,111.27,114.30,111.08,114.92,110.02,
-22.40,23.95,24.06,25.20,26.02,27.58,27.76,29.30,30.61,29.50,
-31.35,31.81,31.42,32.65,34.92,35.20,35.28,36.69,36.77,37.12,
-36.79,37.19,39.48,38.95,39.64,41.90,42.51,41.84,41.37,43.43,
-42.54,43.18,44.44,45.52,43.50,45.55,45.49,46.75,46.63,49.20,
-49.23,49.24,50.88,49.07,50.16,48.16,50.78,49.85,50.43,51.58,
-51.67,54.03,53.71,53.81,54.86,55.20,57.17,55.38,53.84,58.23,
-56.03,57.49,56.86,57.63,59.75,58.61,59.73,60.07,59.92,60.78,
-57.64,60.94,63.13,61.45,62.44,61.86,63.31,65.13,61.34,63.58,
-61.04,63.97,63.45,66.71,64.94,64.76,66.09,66.18,67.74,69.14,
-68.95,67.19,68.03,69.06,70.40,68.59,71.24,68.57,72.93,70.63,
-72.56,69.34,73.25,72.23,71.81,74.01,74.14,72.17,73.33,74.79,
-76.57,75.63,74.48,74.64,76.06,75.28,76.24,75.78,77.12,75.87,
-77.38,77.00,78.12,79.69,80.25,80.10,79.76,79.27,76.82,79.47,
-81.91,80.47,79.39,76.50,81.10,80.68,81.08,83.74,84.59,84.83,
-82.19,81.09,83.26,84.56,80.43,81.05,84.21,85.68,82.41,84.67,
-84.66,84.98,87.65,88.05,84.46,85.71,83.78,83.61,86.86,91.16,
-88.75,89.06,86.15,94.46,92.79,92.03,86.48,88.03,90.45,91.73,
-92.77,94.41,89.64,93.22,88.40,95.62,92.35,92.88,96.22,91.72,
-91.42,93.35,95.82,96.51,93.93,99.23,92.54,95.52,93.55,98.21,
-95.68,97.79,99.91,97.83,93.25,97.62,96.23,95.66,97.93,96.80,
-95.68,96.92,98.86,101.09,101.56,97.95,97.80,99.06,101.37,96.35,
-100.13,98.80,101.14,99.30,102.40,99.78,102.76,103.67,102.23,104.54,
-100.30,99.40,102.40,104.78,105.54,103.72,97.81,106.91,102.41,102.92,
-104.12,104.31,105.90,106.04,104.62,102.73,105.76,108.04,104.63,107.52,
-104.30,109.17,101.86,104.78,108.39,106.29,108.51,107.09,104.19,109.26,
-105.07,110.78,105.85,111.12,114.32,104.26,107.54,112.59,111.19,108.55,
-114.50,111.22,106.90,111.62,115.45,106.42,114.47,115.52,112.34,110.83,
-110.86,115.89,118.44,114.38,111.51,114.46,112.21,115.28,111.14,115.23,
-118.94,116.74,116.71,115.07,116.11,112.81,120.36,117.83,116.27,118.75,
-24.09,24.81,25.74,26.23,26.92,28.33,29.01,28.97,30.85,31.94,
-31.71,32.55,32.56,33.33,34.42,36.23,36.70,35.62,37.79,37.48,
-37.95,38.59,40.64,39.66,41.34,40.67,40.00,42.30,42.57,43.38,
-44.35,45.76,44.92,44.04,48.10,45.66,46.86,47.89,48.68,49.07,
-48.61,47.82,50.22,51.01,50.55,50.83,52.99,53.45,52.26,51.46,
-53.06,55.44,52.27,52.44,54.85,55.02,56.56,58.01,55.81,56.08,
-56.99,57.58,57.30,58.80,59.75,57.67,58.83,62.85,59.22,63.96,
-61.72,62.69,64.29,64.02,63.16,63.24,63.53,65.54,66.23,62.08,
-69.76,66.73,66.40,67.62,66.37,66.14,68.29,67.90,68.19,69.93,
-69.36,69.39,70.40,71.40,70.84,68.04,69.15,70.74,71.72,73.17,
-73.55,74.07,69.68,74.35,71.89,72.36,74.55,75.59,74.49,79.11,
-77.35,76.53,76.68,76.41,76.53,76.80,77.64,78.68,78.33,76.98,
-80.41,76.87,80.99,81.64,85.78,79.77,81.74,78.97,83.61,80.88,
-81.81,83.76,84.20,80.82,81.67,82.90,80.50,82.55,83.85,82.74,
-84.95,84.43,83.93,88.25,82.97,91.38,86.78,87.78,86.88,87.27,
-87.88,86.61,87.59,90.78,87.51,88.34,88.93,88.08,89.62,91.48,
-94.18,87.63,89.03,87.73,93.70,94.42,93.21,90.52,90.38,88.27,
-92.64,91.76,92.93,93.08,96.22,93.56,92.10,94.91,95.50,92.39,
-97.30,93.77,95.87,94.22,98.32,95.07,98.63,98.06,96.58,96.99,
-96.49,98.36,101.20,97.64,103.07,99.58,97.51,98.15,93.82,99.43,
-98.05,102.68,100.54,98.91,102.33,100.90,100.00,100.52,100.95,102.64,
-100.06,100.62,105.12,101.85,99.89,104.12,102.87,105.30,101.89,104.42,
-108.27,104.34,102.27,102.31,105.29,109.33,104.89,106.55,106.01,106.79,
-106.58,104.80,105.71,105.64,107.54,105.69,110.65,108.26,107.78,108.37,
-103.85,110.39,112.86,110.86,109.75,110.56,107.63,107.27,114.70,112.96,
-111.73,109.35,103.27,111.47,114.23,109.09,106.82,110.86,114.61,115.46,
-109.09,114.46,112.95,116.31,109.19,114.36,117.70,115.33,114.59,114.92,
-114.51,115.47,118.99,113.14,109.90,116.06,114.55,117.67,114.99,121.65,
-115.70,116.75,119.32,115.92,113.14,118.09,118.01,123.15,112.64,117.88,
-23.55,25.13,26.25,27.20,26.48,28.12,27.87,30.54,29.92,31.69,
-32.87,32.46,33.99,34.27,35.71,36.77,38.58,36.29,37.71,37.64,
-39.20,38.67,40.08,42.02,40.36,40.96,42.71,43.55,43.43,43.23,
-45.75,45.10,45.95,47.89,45.39,45.35,46.67,47.81,48.86,49.53,
-50.14,49.82,52.33,52.46,52.17,52.46,51.68,51.97,51.55,53.39,
-53.54,55.75,53.05,56.47,57.89,56.56,56.58,56.57,56.56,55.99,
-59.50,56.70,60.97,59.09,60.75,61.11,62.76,60.53,58.33,62.63,
-60.31,60.91,64.18,65.15,63.96,65.50,65.72,64.22,67.21,66.24,
-64.78,65.83,66.86,65.18,67.02,67.88,70.06,67.92,64.86,68.06,
-71.06,68.86,70.08,69.16,71.09,73.39,70.37,71.57,73.16,70.65,
-75.67,73.04,74.08,75.48,71.51,74.57,74.59,74.80,78.49,74.39,
-75.00,75.27,80.17,77.93,77.52,74.98,80.96,77.80,77.83,76.42,
-77.19,79.79,78.89,80.31,80.05,82.19,82.09,82.74,84.95,81.11,
-84.63,81.19,82.05,86.76,85.58,82.98,85.08,84.08,84.58,82.65,
-81.85,83.64,84.58,84.90,88.62,89.77,84.87,88.68,88.11,89.40,
-87.82,86.62,86.09,89.64,94.18,89.76,88.50,89.11,89.87,92.46,
-89.74,88.67,91.70,91.78,91.70,93.63,95.14,94.12,93.71,90.16,
-95.54,93.18,93.09,97.68,98.88,96.69,94.15,93.59,96.23,91.85,
-94.63,98.40,94.00,96.50,99.15,95.89,95.72,94.76,95.97,102.81,
-97.62,98.57,97.52,101.19,103.65,99.06,101.15,97.28,99.17,96.52,
-99.88,100.99,100.18,100.86,101.81,98.53,102.84,103.42,102.81,101.07,
-100.50,102.48,103.35,103.74,106.35,105.99,106.94,107.45,105.09,106.50,
-107.12,103.85,107.01,104.01,103.74,105.44,111.85,113.12,107.29,104.43,
-104.80,105.88,112.44,106.90,111.57,108.87,108.66,104.32,107.93,108.67,
-110.03,107.50,109.92,113.46,110.97,108.47,111.72,114.15,113.36,116.13,
-115.02,113.69,108.74,116.63,111.93,109.01,114.22,110.19,111.24,114.70,
-113.80,116.33,108.68,114.27,116.54,118.08,117.22,115.51,117.12,117.60,
-119.04,115.37,119.81,114.73,118.18,115.20,121.20,117.50,116.17,121.41,
-120.24,120.82,123.41,116.56,118.88,118.47,115.73,119.33,121.13,119.82,
-22.80,24.01,25.76,26.20,26.18,27.89,29.15,31.58,30.55,31.15,
-32.48,33.03,33.27,34.87,34.67,35.32,36.53,37.08,37.83,37.97,
-38.71,39.00,40.19,40.26,42.33,42.34,42.54,42.56,41.62,44.47,
-45.11,46.30,45.14,46.08,46.28,45.78,47.96,46.28,48.44,48.32,
-49.61,50.15,50.34,50.82,52.69,52.02,53.24,52.57,53.81,53.63,
-54.16,54.42,55.87,55.71,55.64,55.89,57.13,57.58,58.35,58.59,
-57.11,59.01,60.28,58.75,60.95,60.13,63.33,60.57,60.82,60.22,
-60.31,61.50,63.81,64.31,63.77,64.72,63.88,66.95,66.58,66.97,
-66.95,68.55,68.27,67.80,68.24,67.07,66.39,66.11,68.76,68.53,
-70.15,69.58,70.53,73.06,73.20,70.36,70.36,69.67,73.53,72.24,
-73.00,75.93,74.91,75.19,73.82,75.33,71.74,75.26,75.65,76.30,
-75.82,74.18,75.48,77.07,78.32,78.04,78.20,80.63,81.73,77.93,
-77.57,80.91,79.81,81.56,79.08,79.70,82.92,80.41,84.23,78.23,
-81.55,80.57,84.34,85.92,83.77,83.77,85.45,86.13,86.31,82.66,
-84.43,86.47,84.44,83.28,86.45,88.58,84.58,85.33,85.53,88.08,
-89.92,84.86,89.13,88.15,89.11,89.15,91.52,91.25,89.75,88.24,
-92.54,95.68,91.86,92.11,92.85,95.39,91.04,93.12,91.62,90.42,
-95.89,94.77,92.50,91.82,97.06,94.37,95.04,100.29,94.10,98.35,
-93.99,94.71,96.98,95.13,99.25,95.93,95.06,95.54,97.11,100.33,
-99.17,97.76,102.07,99.99,98.05,99.54,102.38,101.25,99.43,100.26,
-101.99,102.36,100.12,100.90,103.82,96.93,101.93,105.28,103.57,102.61,
-104.48,103.21,104.46,107.47,101.50,103.86,101.42,107.15,103.11,105.58,
-108.31,102.32,109.20,107.35,109.14,105.29,107.41,103.68,106.10,110.72,
-102.41,107.25,105.69,106.19,106.46,110.44,105.52,108.56,108.40,108.54,
-112.33,109.50,108.29,115.38,113.93,110.58,107.38,111.85,110.25,115.38,
-110.75,110.08,114.69,110.54,115.12,108.74,112.77,114.90,111.23,113.32,
-116.29,118.53,114.28,114.49,113.79,114.89,112.90,113.95,116.56,119.35,
-118.60,119.59,119.77,117.58,111.37,114.02,116.63,122.02,123.01,115.86,
-117.00,120.05,115.65,117.81,115.59,115.86,122.75,114.81,117.81,120.62,
-24.06,24.41,24.98,26.48,27.58,28.42,30.12,29.47,29.90,31.28,
-33.09,33.28,33.01,34.37,33.94,36.65,36.13,36.85,37.20,38.56,
-39.98,39.01,40.10,42.77,40.68,41.15,44.01,42.67,43.66,45.06,
-44.63,45.94,45.81,46.31,47.49,47.40,48.52,48.17,49.49,50.50,
-49.16,49.27,48.87,49.25,50.15,50.18,54.61,52.83,52.16,52.29,
-53.47,53.32,52.01,55.88,55.24,57.87,58.08,57.89,55.11,59.21,
-58.31,60.70,60.39,58.63,62.62,60.28,61.28,61.63,62.72,63.25,
-66.14,63.61,63.27,63.61,64.64,64.39,61.91,66.29,64.41,65.97,
-66.26,63.52,68.15,66.41,68.65,68.22,70.18,68.25,71.88,70.90,
-72.20,68.02,70.54,70.48,69.96,73.07,71.47,75.57,70.52,69.48,
-75.83,73.52,76.61,71.93,75.94,75.81,76.56,73.83,74.08,75.67,
-75.58,73.76,77.56,75.53,78.05,78.87,79.80,79.95,76.59,79.41,
-77.71,76.70,79.27,77.20,80.39,81.40,80.31,81.74,81.04,81.81,
-85.57,82.40,84.95,80.71,81.80,83.61,87.77,83.41,85.21,84.47,
-86.07,85.64,84.21,87.02,86.57,84.44,87.39,85.60,83.89,90.00,
-89.17,86.46,91.00,87.28,89.61,87.00,92.55,90.24,87.67,86.12,
-90.87,90.83,90.60,90.87,91.94,95.07,91.53,92.33,93.53,92.23,
-93.88,96.32,94.89,94.43,94.27,91.36,92.01,93.67,97.69,97.93,
-96.40,90.72,98.92,97.36,100.97,96.60,95.90,101.13,96.47,96.92,
-100.35,102.28,99.95,98.76,99.64,103.14,100.43,96.74,102.57,101.01,
-101.80,103.45,102.51,100.75,101.38,103.55,100.84,103.01,103.20,104.19,
-105.62,103.49,105.05,107.30,103.61,105.41,107.49,103.72,107.25,105.36,
-105.31,104.56,107.67,107.81,103.23,105.69,108.16,106.18,102.77,108.47,
-106.09,106.33,105.18,110.28,110.36,108.90,108.42,106.87,110.44,109.37,
-109.30,115.29,115.38,110.42,109.93,112.20,111.68,113.45,115.15,113.29,
-115.20,112.71,107.07,117.04,112.16,114.09,116.14,110.75,110.76,114.10,
-112.18,112.82,118.10,111.56,112.34,112.83,115.30,112.70,112.95,117.19,
-115.49,121.48,118.31,112.02,115.22,116.72,120.82,113.37,118.99,117.91,
-116.98,117.29,120.27,120.73,118.62,120.22,120.43,120.82,118.19,117.20,
-23.10,24.37,25.35,26.38,26.47,27.17,28.60,28.40,30.85,29.86,
-32.08,32.10,33.21,34.23,35.85,34.65,36.57,36.81,37.27,36.49,
-39.53,38.62,39.17,41.74,39.58,41.45,41.02,42.77,43.86,43.76,
-44.48,44.07,44.79,46.16,45.21,48.32,47.47,47.45,46.78,47.78,
-50.50,52.41,52.07,54.20,51.26,50.89,52.99,53.60,51.76,55.94,
-53.23,53.16,51.93,52.95,54.79,55.55,56.01,58.11,57.46,58.75,
-57.80,60.27,59.16,61.48,58.95,60.74,58.63,60.54,60.74,59.36,
-61.87,62.36,64.32,63.53,63.09,63.91,63.38,67.94,69.89,68.19,
-67.27,66.86,68.73,66.55,66.28,68.71,70.96,70.26,69.11,68.75,
-69.78,70.37,70.31,71.83,69.45,70.36,72.76,70.17,74.16,71.14,
-76.87,72.84,72.06,74.84,71.97,71.73,76.12,72.96,73.31,76.56,
-77.07,71.03,75.29,75.06,77.56,79.30,77.12,78.67,77.27,79.73,
-80.95,77.39,76.88,81.49,82.50,82.33,83.32,85.31,80.79,81.04,
-80.19,82.46,85.10,87.96,84.81,80.18,83.86,84.13,84.92,84.44,
-83.24,85.35,84.26,85.46,86.00,84.44,85.33,89.18,84.87,91.46,
-89.82,90.05,89.08,89.76,90.56,84.98,88.76,92.34,90.35,89.15,
-89.87,96.73,89.04,90.88,91.75,94.99,92.65,91.80,91.91,93.45,
-93.97,95.40,92.02,93.94,96.62,95.42,96.04,96.35,97.37,98.35,
-91.96,96.68,96.50,93.31,96.62,96.92,99.51,98.69,97.57,98.77,
-96.61,98.65,98.98,97.52,98.01,100.13,97.98,102.02,99.09,99.10,
-103.46,102.23,102.26,99.50,101.97,101.72,103.99,104.17,103.83,96.79,
-99.50,104.84,96.86,100.21,105.32,104.35,103.64,107.41,104.55,106.38,
-103.71,107.94,100.73,110.92,106.77,102.87,105.47,110.40,107.83,103.01,
-107.36,106.27,109.55,107.08,107.62,107.65,110.88,111.17,114.83,112.27,
-108.11,110.10,110.80,111.73,110.77,109.48,109.65,112.91,112.09,113.78,
-114.23,107.34,111.94,113.57,114.70,117.68,113.10,111.98,107.55,116.24,
-114.27,111.17,116.60,115.44,111.03,115.08,114.98,113.04,112.87,115.75,
-115.71,116.58,113.39,113.90,119.70,115.66,118.89,116.09,114.78,117.98,
-115.71,117.79,118.62,119.98,113.55,124.16,121.33,117.83,120.24,117.93,
-22.96,24.06,24.39,25.84,26.57,27.38,28.66,29.95,29.78,30.79,
-30.04,31.65,32.95,33.47,34.58,35.42,37.40,35.93,37.65,36.77,
-37.60,39.62,39.56,41.04,39.34,40.46,42.88,41.37,44.58,43.73,
-44.00,46.12,45.16,45.77,46.85,46.19,46.55,50.11,47.91,46.46,
-49.07,49.84,50.85,51.11,50.89,52.64,51.21,50.86,53.44,52.51,
-54.79,51.86,52.52,55.22,56.37,54.54,57.95,55.46,56.75,58.72,
-59.93,59.17,60.17,56.53,61.12,59.78,59.81,63.04,62.29,61.22,
-60.40,62.73,63.33,60.24,62.29,62.07,64.22,63.38,64.05,67.45,
-65.93,66.45,65.18,68.09,65.85,67.34,69.78,68.63,69.57,73.15,
-71.24,67.90,70.87,71.04,69.96,71.10,68.91,70.71,70.40,69.03,
-69.75,74.46,73.03,73.77,73.86,74.92,75.84,75.75,72.67,74.22,
-75.80,73.63,74.26,77.05,78.96,76.40,79.73,77.23,78.59,75.79,
-77.05,74.07,78.33,81.37,78.29,77.12,80.28,80.55,81.10,84.21,
-81.38,82.75,84.06,83.05,84.92,84.53,83.10,82.04,86.87,81.93,
-85.92,85.12,83.50,80.77,84.79,83.66,90.54,82.68,89.52,88.23,
-89.30,91.28,86.37,87.05,84.71,88.95,89.33,91.56,88.45,88.25,
-92.31,87.32,88.71,92.65,88.24,92.46,89.13,92.50,87.49,93.38,
-91.64,95.87,94.47,92.00,93.85,97.19,94.05,95.72,93.49,91.63,
-92.97,94.90,97.84,92.00,96.54,94.09,100.35,93.46,94.54,91.41,
-99.44,94.24,100.18,96.39,102.75,100.68,98.48,98.95,100.67,98.61,
-101.81,96.58,96.01,96.04,99.46,99.89,104.04,100.95,101.43,101.34,
-100.33,104.36,105.99,103.25,102.25,101.79,103.50,103.87,103.50,103.55,
-102.94,102.97,104.17,105.80,106.52,103.60,107.19,105.74,107.16,102.34,
-102.57,108.72,106.09,105.79,104.72,104.51,107.72,110.38,108.22,107.16,
-108.48,111.93,108.46,108.63,110.61,108.92,108.63,109.86,111.29,106.47,
-112.67,113.94,111.98,106.97,111.72,116.10,112.63,115.88,113.74,111.30,
-115.69,112.20,112.34,113.70,116.92,112.49,115.28,112.09,116.32,115.33,
-113.77,119.03,118.95,118.31,115.06,117.28,120.22,115.16,115.31,117.31,
-113.02,113.85,116.10,114.29,118.52,116.93,116.94,115.22,122.19,122.59,
-22.51,23.71,25.02,26.25,26.65,27.87,27.88,29.07,29.57,30.23,
-31.13,32.87,32.28,32.71,33.58,34.54,35.53,36.00,36.41,38.93,
-38.32,37.76,39.51,40.28,39.06,40.29,41.63,42.07,43.73,45.52,
-43.28,44.47,44.81,46.15,45.56,46.43,45.91,47.98,46.38,49.45,
-47.91,47.80,51.57,50.96,52.12,51.05,50.93,52.15,53.37,52.35,
-52.21,55.71,54.10,55.68,53.98,56.04,57.28,55.37,57.04,58.45,
-59.10,57.41,59.11,57.54,60.47,59.70,59.91,58.07,61.19,60.74,
-60.47,62.19,62.01,61.20,62.64,62.54,61.13,64.39,63.39,66.44,
-65.37,64.09,65.97,65.31,67.01,65.87,66.90,65.34,69.13,67.11,
-67.80,68.36,69.12,73.70,69.85,68.63,69.70,72.73,73.24,70.57,
-70.90,74.18,70.83,72.95,71.66,73.18,72.12,73.22,75.91,74.13,
-72.39,75.22,77.64,75.74,74.82,75.48,72.87,75.42,76.86,77.86,
-78.60,77.01,75.00,81.37,78.17,78.16,77.71,78.81,80.68,79.48,
-79.39,80.07,82.49,80.18,78.80,83.28,81.84,83.54,86.46,81.16,
-83.26,84.86,85.28,84.25,87.90,85.30,87.62,83.06,85.59,85.18,
-87.70,87.27,86.63,85.43,86.81,88.78,91.44,87.47,86.18,87.68,
-87.43,85.08,89.65,86.76,91.01,93.10,86.86,89.45,88.06,90.77,
-91.58,93.61,90.55,90.67,90.56,93.40,90.93,96.38,94.56,96.79,
-92.96,91.53,97.58,94.54,93.16,94.69,94.88,97.41,92.91,98.46,
-96.68,93.47,97.03,100.59,95.84,98.52,97.72,98.45,101.82,100.19,
-102.13,97.42,100.18,96.87,99.51,102.05,101.97,102.08,99.55,101.43,
-98.11,101.01,99.46,97.54,101.48,105.45,99.12,99.74,101.64,106.00,
-102.07,106.23,101.94,105.04,103.48,107.61,104.49,104.35,105.51,102.22,
-107.75,105.96,107.40,104.95,106.54,104.14,107.59,109.38,105.44,106.95,
-105.33,109.05,106.08,108.01,107.65,107.66,108.60,108.87,105.12,107.56,
-112.37,111.31,113.70,113.06,108.92,109.63,108.33,110.93,111.00,116.82,
-110.14,110.10,113.85,111.70,115.79,113.57,117.09,114.68,107.01,115.89,
-111.01,111.30,116.18,114.61,112.33,113.94,115.53,114.12,118.68,117.48,
-114.68,118.52,118.65,121.10,118.56,116.66,114.91,116.82,117.32,121.38,
-21.41,23.90,24.60,25.01,26.70,27.06,28.31,28.37,28.09,31.17,
-30.29,32.79,32.27,31.69,33.05,34.61,34.75,34.85,36.36,37.28,
-37.93,37.61,38.04,38.89,39.04,41.77,40.97,41.86,41.48,41.59,
-43.26,42.06,44.39,44.79,44.61,44.45,46.64,45.24,46.93,46.91,
-47.08,49.76,49.32,49.90,49.82,48.38,50.11,49.72,49.88,49.35,
-53.95,54.32,53.84,51.93,53.84,54.73,57.27,55.45,55.40,54.81,
-57.31,56.60,57.84,56.70,56.94,58.75,58.18,58.51,58.96,60.52,
-62.73,62.43,62.54,61.07,63.37,61.61,62.86,63.42,62.73,63.66,
-63.96,65.17,63.15,64.20,64.53,68.06,64.49,67.65,69.56,69.34,
-69.10,68.78,67.92,65.57,69.46,71.04,71.78,70.70,71.50,68.29,
-69.99,70.33,71.14,71.38,72.25,72.53,69.80,72.58,75.16,75.21,
-73.11,72.79,73.73,75.74,76.58,77.99,75.89,77.25,73.92,74.89,
-75.07,76.16,76.25,78.07,77.42,76.55,79.96,79.88,79.93,78.65,
-81.51,79.39,76.81,81.42,78.28,84.25,80.29,80.54,83.46,81.52,
-81.55,81.76,82.50,81.80,84.52,84.88,84.38,84.71,83.12,86.85,
-84.40,84.01,86.22,82.91,81.43,87.45,82.64,85.48,88.96,86.63,
-87.65,85.30,88.77,84.44,89.49,89.09,85.49,89.46,89.83,93.52,
-88.56,88.90,91.21,91.51,90.24,89.04,91.31,94.04,89.48,88.25,
-95.75,94.57,92.02,92.12,92.76,94.65,95.92,92.39,91.97,97.62,
-93.55,92.70,97.99,96.27,99.48,97.55,95.09,95.74,98.26,96.37,
-98.86,95.76,100.06,102.23,99.05,99.94,97.67,98.10,101.29,97.64,
-99.62,101.69,98.36,99.62,104.86,103.41,100.70,100.34,100.66,102.37,
-97.45,98.96,98.16,100.44,104.68,102.57,104.22,102.51,103.49,104.65,
-106.73,106.50,100.93,101.95,107.38,107.52,100.88,108.19,105.07,108.70,
-104.35,105.36,106.70,103.96,107.44,109.01,105.51,108.23,109.05,106.78,
-107.70,111.58,107.87,111.63,108.09,105.91,111.71,111.53,107.73,104.07,
-112.51,111.52,112.05,112.17,113.23,111.95,113.21,109.67,111.61,109.69,
-110.99,115.21,108.41,114.80,112.96,112.25,116.19,111.77,116.36,119.05,
-111.52,121.32,114.17,115.13,115.07,115.02,115.08,111.26,118.50,113.72,
-18.18,19.02,19.55,20.83,21.01,21.99,22.04,21.83,23.10,23.32,
-23.07,24.34,26.13,25.18,25.85,27.14,27.14,27.16,26.63,28.68,
-28.00,28.82,28.69,30.07,29.64,30.51,31.20,31.12,31.07,32.40,
-32.43,32.95,31.91,33.10,35.05,33.77,34.08,34.56,35.79,34.59,
-36.67,35.31,36.97,37.72,38.48,36.29,37.36,38.94,38.64,38.43,
-37.09,37.39,38.86,40.35,39.89,41.83,39.66,41.97,41.50,41.82,
-40.08,42.70,42.24,42.10,43.05,43.51,43.60,45.03,44.73,43.66,
-44.72,44.75,46.03,45.73,47.97,46.53,46.40,47.37,46.98,46.91,
-48.49,47.01,47.66,48.16,47.42,48.95,49.66,49.27,50.01,50.50,
-48.92,50.37,51.30,51.34,50.86,48.62,52.44,50.51,52.30,51.40,
-50.94,54.41,52.42,54.06,53.56,53.15,54.22,52.47,53.13,56.22,
-52.78,56.65,55.39,55.48,54.72,56.04,55.81,55.40,53.73,55.12,
-55.30,58.03,59.62,57.31,58.85,56.43,60.77,56.80,57.69,56.97,
-58.14,61.56,59.67,60.39,58.46,58.20,57.74,59.52,60.76,57.19,
-61.98,61.20,59.91,60.47,60.34,61.99,63.65,62.35,62.02,59.63,
-60.76,64.29,63.92,62.18,62.94,63.87,63.72,64.42,64.76,63.11,
-63.10,64.43,65.03,67.62,65.33,64.83,66.15,69.59,65.67,65.89,
-68.44,66.30,64.48,66.69,67.28,70.63,67.37,66.76,67.61,65.83,
-66.36,68.23,68.63,67.19,69.62,70.56,66.92,71.95,69.62,68.84,
-70.30,72.62,72.80,71.26,71.89,70.71,70.65,69.76,73.17,71.08,
-70.83,68.91,69.86,70.01,70.38,74.39,71.10,77.01,72.73,74.88,
-73.57,72.95,71.38,72.22,75.16,73.96,74.32,74.60,74.81,71.08,
-73.79,75.60,74.79,74.36,77.84,77.32,76.04,76.76,75.65,76.29,
-79.01,76.82,76.69,76.59,75.51,73.05,80.95,76.90,76.37,80.16,
-76.21,78.31,78.86,79.06,78.54,77.65,83.74,81.66,78.45,78.29,
-77.08,74.22,82.22,81.43,76.60,82.64,79.62,79.45,81.43,83.91,
-84.78,80.82,82.16,80.81,80.49,80.32,81.98,82.08,81.93,79.82,
-80.15,84.92,82.27,85.92,84.45,82.25,84.65,84.50,84.11,87.49,
-82.48,84.36,83.00,85.26,84.09,82.85,83.97,84.76,83.78,85.19,
-18.83,20.14,20.88,22.03,21.67,22.98,23.46,23.75,25.88,24.53,
-25.88,25.82,26.34,27.19,27.64,28.60,28.64,28.46,30.54,31.07,
-31.23,30.93,31.08,33.18,31.83,32.38,32.07,33.91,33.87,34.36,
-35.86,35.24,35.64,34.62,35.66,36.69,37.78,37.96,37.64,39.23,
-39.05,39.49,40.47,37.65,40.07,38.92,41.00,41.89,41.11,41.64,
-40.97,43.51,43.92,44.15,43.60,44.41,46.08,44.49,44.71,44.88,
-46.49,47.39,46.93,47.20,47.58,47.98,46.07,47.96,46.01,49.17,
-47.42,47.21,47.19,49.33,49.75,50.38,50.93,50.53,49.77,50.74,
-53.92,50.52,52.56,53.15,50.40,50.43,53.23,54.88,54.78,56.16,
-53.04,54.94,54.01,54.46,57.49,54.22,56.43,54.25,56.55,55.76,
-56.77,55.36,57.50,57.99,55.72,56.77,57.51,56.57,58.66,59.16,
-59.30,61.35,55.88,60.46,58.93,59.31,59.81,62.95,60.49,60.04,
-61.76,60.99,58.64,61.66,61.02,62.03,65.02,63.42,62.76,63.19,
-64.54,63.29,63.29,60.37,62.05,63.01,64.34,65.76,68.05,64.91,
-64.87,66.42,65.97,65.92,65.47,69.04,66.65,69.71,67.07,68.69,
-69.67,68.43,69.66,66.82,69.82,68.48,67.74,69.64,70.18,69.53,
-70.19,69.74,69.76,70.99,69.36,68.35,71.12,70.68,70.18,71.68,
-72.47,71.20,72.75,73.61,74.02,74.25,76.68,72.83,71.38,75.24,
-76.94,71.29,74.47,75.15,73.04,71.15,72.27,74.22,75.80,74.18,
-74.87,77.62,74.54,75.13,76.94,79.21,75.30,76.20,77.79,79.21,
-80.31,75.76,75.28,78.12,79.96,76.56,77.86,80.10,77.42,81.36,
-79.33,80.60,75.95,80.11,79.72,80.75,80.02,82.30,81.84,83.22,
-80.84,79.76,82.36,83.40,82.60,80.60,83.61,81.74,81.39,82.52,
-80.52,85.95,85.77,81.32,81.02,85.18,82.92,86.29,83.64,88.29,
-86.27,87.75,83.99,85.85,82.47,87.98,83.01,85.40,85.89,86.83,
-88.56,87.46,83.74,86.83,86.50,87.08,86.59,88.13,84.96,88.48,
-90.30,86.95,86.49,89.68,88.80,83.20,87.92,88.63,91.43,92.52,
-89.27,89.23,88.80,90.05,91.89,92.35,88.48,89.71,90.61,91.22,
-89.24,90.83,92.47,93.45,90.72,90.78,91.53,92.53,93.44,94.97,
-20.91,21.61,22.38,23.28,24.01,24.06,24.11,24.82,25.61,26.14,
-28.31,27.85,29.62,29.74,30.19,31.15,29.77,30.69,31.19,32.65,
-33.83,34.07,33.39,34.46,34.69,34.92,35.61,37.15,37.01,36.49,
-38.60,37.80,37.95,40.79,38.82,39.76,40.38,40.05,39.61,41.18,
-40.92,41.70,42.42,42.47,44.54,43.02,43.64,43.98,44.91,45.56,
-44.38,47.71,46.20,47.55,47.33,44.96,47.11,46.53,49.48,48.63,
-49.76,49.23,50.67,49.44,49.74,49.40,52.26,50.96,51.79,51.73,
-52.46,50.09,51.44,52.50,52.95,53.46,52.25,53.98,56.64,54.70,
-57.50,58.64,55.56,56.01,58.16,53.79,57.20,56.73,57.02,56.99,
-55.94,57.72,57.89,58.71,58.94,59.50,59.74,60.24,60.28,59.96,
-62.11,62.37,59.34,63.42,61.06,60.30,61.35,62.83,64.03,62.33,
-65.14,64.60,62.93,64.80,63.18,65.96,65.57,63.28,65.40,67.25,
-64.40,68.69,65.98,68.80,66.27,67.43,66.03,68.83,67.83,67.76,
-67.80,70.77,64.80,68.18,67.07,66.81,68.64,68.64,69.41,71.32,
-70.99,71.86,73.00,71.57,70.06,72.70,73.85,69.00,68.92,72.05,
-70.99,71.47,74.14,74.81,74.45,71.75,75.22,71.99,72.86,74.95,
-74.92,74.48,76.92,76.09,74.09,75.74,78.31,76.52,76.46,79.94,
-76.73,77.42,75.96,79.56,75.71,77.78,78.10,77.16,78.38,76.18,
-77.99,79.04,79.05,78.75,81.10,80.98,80.82,79.53,82.09,81.46,
-81.34,82.46,81.22,80.26,82.30,83.22,81.79,83.19,83.05,85.63,
-85.74,81.15,83.92,82.81,81.39,81.83,87.65,88.14,81.55,83.97,
-83.66,86.87,85.73,84.75,87.10,85.27,88.41,85.08,86.87,89.68,
-86.64,91.54,83.51,87.83,87.23,90.48,91.93,91.62,89.15,86.73,
-87.38,91.41,92.64,88.89,92.87,87.02,89.09,89.52,90.82,90.54,
-94.56,90.31,90.63,93.67,91.10,91.09,89.86,91.99,90.03,88.01,
-90.71,93.78,94.76,93.32,94.88,93.56,95.43,92.64,90.70,92.47,
-97.44,91.01,99.51,96.35,94.09,95.42,93.72,92.48,98.74,98.97,
-94.70,91.13,94.79,97.47,99.10,96.95,94.72,93.29,96.91,102.62,
-98.78,98.08,96.55,100.06,92.01,102.03,100.62,102.03,95.54,97.07,
-21.64,22.64,23.39,24.08,25.38,25.37,26.47,25.49,27.36,28.21,
-29.59,29.00,29.96,29.86,31.39,32.04,31.51,33.10,32.75,33.91,
-33.62,35.42,35.20,36.57,35.51,35.98,38.34,37.88,38.62,39.39,
-39.05,39.67,41.48,42.44,42.06,42.62,42.37,42.44,43.46,42.69,
-42.08,42.46,44.69,44.17,45.70,45.72,47.46,47.73,48.13,46.52,
-48.60,49.00,45.87,48.08,47.28,50.77,48.32,50.73,50.82,51.19,
-51.73,51.70,50.50,54.31,51.98,54.26,53.69,52.33,53.67,55.98,
-52.86,55.54,57.00,57.89,57.21,58.47,55.90,55.82,57.32,56.59,
-56.08,59.44,56.68,59.50,62.17,57.09,61.54,61.08,60.15,61.27,
-59.81,62.93,60.05,61.32,61.14,63.26,64.41,64.10,63.03,62.83,
-63.25,65.27,67.11,62.92,64.12,64.39,63.26,67.89,66.82,68.50,
-66.46,66.85,68.42,65.69,70.08,69.54,67.81,71.56,68.16,69.59,
-66.88,70.59,69.04,67.30,72.29,68.22,69.37,70.07,71.42,71.90,
-75.22,73.34,73.13,69.19,73.33,72.06,73.12,74.55,73.46,73.62,
-73.86,73.25,77.08,73.55,76.88,77.40,75.36,77.37,77.26,75.02,
-77.79,78.73,81.53,78.35,76.92,77.46,75.95,80.24,77.84,76.70,
-78.90,80.99,83.11,79.75,78.57,83.04,81.23,82.37,82.33,86.22,
-82.23,82.18,82.64,80.60,82.42,81.27,84.61,82.16,79.56,82.18,
-82.30,85.37,86.41,83.38,81.39,83.83,83.41,86.17,88.08,88.73,
-88.36,86.38,84.47,82.84,86.19,87.80,85.63,88.13,86.69,86.38,
-88.31,88.09,89.43,87.08,87.26,88.61,88.35,90.04,89.58,91.18,
-89.37,91.30,89.63,90.84,91.22,91.93,93.32,94.34,92.60,90.48,
-87.75,89.84,87.69,92.99,95.45,91.30,92.45,93.63,96.94,91.23,
-98.10,91.76,91.96,93.79,95.09,93.94,91.74,95.19,93.58,94.08,
-96.93,93.11,95.68,97.03,94.44,93.92,100.06,97.75,101.98,95.67,
-97.92,97.15,97.85,97.47,98.85,100.30,97.89,99.37,101.75,99.21,
-99.24,98.70,97.79,99.46,99.57,98.26,101.73,102.18,100.57,103.32,
-101.78,99.98,103.20,108.01,100.67,104.06,97.96,104.33,102.76,103.76,
-104.70,102.47,102.01,102.24,106.60,105.04,106.03,103.05,106.10,102.75,
-22.78,23.57,23.35,24.94,25.49,26.46,26.18,28.70,28.16,28.28,
-31.22,30.61,30.11,32.16,32.95,32.52,34.28,35.54,34.09,34.60,
-36.29,36.07,37.03,38.06,38.83,39.93,38.88,42.21,39.25,39.98,
-41.41,41.77,42.26,42.56,43.06,44.39,43.29,43.39,46.11,43.66,
-47.34,45.58,46.60,46.93,49.40,48.43,47.97,50.38,49.23,50.67,
-51.80,50.57,49.92,51.91,51.90,51.57,55.33,52.86,50.45,52.63,
-54.10,55.71,53.97,53.93,54.85,54.75,54.69,56.58,58.09,57.83,
-59.58,58.22,58.92,60.44,58.63,61.25,59.91,59.26,61.14,61.86,
-61.35,61.09,60.74,62.98,61.58,63.59,62.75,61.94,65.00,64.04,
-65.27,65.27,63.01,63.73,66.19,63.47,66.57,67.14,65.74,65.44,
-66.93,68.40,66.56,67.59,68.32,68.81,71.06,70.53,70.62,69.51,
-70.68,73.24,71.82,71.64,73.17,71.29,71.97,72.87,74.48,73.09,
-70.37,75.95,73.12,73.39,74.82,73.08,74.46,73.81,73.88,75.36,
-74.43,76.40,73.51,76.72,78.28,78.67,78.44,77.73,79.93,78.74,
-81.31,77.60,77.79,79.59,78.31,77.97,80.71,81.43,83.98,79.43,
-79.74,79.29,82.59,83.31,77.65,80.42,84.20,80.92,83.50,81.93,
-86.46,85.94,84.79,84.71,84.48,83.87,83.36,85.71,86.39,85.06,
-83.93,86.37,85.64,82.06,84.58,85.03,86.39,88.35,88.83,87.29,
-86.63,88.58,90.06,86.46,88.13,86.55,87.14,89.35,89.12,90.92,
-84.71,93.14,92.91,90.40,93.23,93.40,90.50,92.77,92.47,93.91,
-90.07,90.24,91.88,90.88,90.96,92.52,90.84,94.88,92.48,94.63,
-92.97,93.85,94.09,98.85,92.73,93.59,97.31,95.09,94.02,94.75,
-95.98,93.88,100.81,99.73,96.13,98.87,96.81,97.04,98.05,98.09,
-95.33,97.51,98.64,100.80,97.90,98.42,101.67,98.55,99.83,99.73,
-101.10,100.34,100.91,101.58,103.44,98.13,103.56,98.11,102.56,102.56,
-101.43,101.00,105.08,103.20,102.73,108.38,103.87,105.81,106.37,103.24,
-101.90,105.27,106.70,109.26,105.70,106.02,107.16,106.47,107.21,109.04,
-106.62,104.44,107.33,108.82,106.25,109.16,108.35,106.84,109.37,108.86,
-107.39,107.16,111.28,109.87,103.89,111.80,112.65,106.69,106.63,109.59,
-22.96,23.98,25.77,25.81,27.30,27.97,28.19,28.91,30.04,29.44,
-30.28,31.84,32.32,32.49,33.68,34.62,33.63,35.25,37.25,36.95,
-37.67,37.77,39.67,36.97,38.16,40.42,38.73,40.61,40.38,41.11,
-42.67,44.42,44.06,44.68,44.84,45.55,46.19,47.61,47.53,45.50,
-48.90,48.64,50.43,51.10,49.40,50.74,50.06,52.58,50.93,50.21,
-50.00,54.87,52.21,52.14,53.19,54.36,53.56,54.28,54.22,55.73,
-55.63,55.57,56.50,57.24,57.48,59.21,61.12,58.58,59.56,60.14,
-58.59,61.92,60.85,62.43,60.77,63.01,62.94,62.39,60.29,66.15,
-61.99,63.70,61.99,66.10,67.48,66.44,65.67,64.80,66.31,68.90,
-66.48,65.76,66.85,69.33,67.69,68.56,68.63,67.67,69.49,67.84,
-70.32,71.37,71.47,69.01,69.60,70.66,73.13,73.51,71.69,74.60,
-71.97,75.15,74.45,71.14,75.00,74.48,75.03,76.28,75.35,76.10,
-75.50,74.88,76.40,75.53,76.82,75.93,78.91,79.88,79.50,78.66,
-78.80,78.32,80.14,80.47,78.38,81.22,80.02,78.80,80.98,82.08,
-81.62,82.75,82.96,79.50,81.39,79.81,79.56,84.36,86.24,83.66,
-85.73,83.08,84.73,83.08,82.10,83.36,86.19,87.37,86.22,83.25,
-86.71,87.98,85.78,87.84,89.13,87.64,89.07,88.28,88.56,86.09,
-88.91,85.50,93.09,90.52,91.80,91.99,88.61,91.79,88.34,87.57,
-92.22,90.20,90.08,88.59,95.12,99.34,95.01,92.71,91.67,93.91,
-97.35,93.64,93.66,97.34,93.18,91.16,94.81,94.48,95.66,93.66,
-97.24,95.70,92.57,96.66,98.39,96.27,98.96,94.94,98.16,98.19,
-97.91,100.94,97.17,99.28,97.22,101.33,101.69,97.13,99.05,94.84,
-101.21,100.00,100.94,98.40,102.51,103.26,99.43,102.24,101.11,101.18,
-102.97,102.72,102.77,109.41,104.01,106.55,104.58,103.18,101.82,107.83,
-100.61,104.25,108.82,101.68,108.69,103.61,103.61,107.19,106.16,105.44,
-104.79,108.99,107.11,109.35,106.18,105.44,103.69,112.03,108.81,112.50,
-106.94,110.04,108.82,106.83,109.81,113.53,111.41,107.63,111.59,109.93,
-113.61,111.98,109.62,111.98,110.48,114.31,108.85,106.57,113.52,113.38,
-114.90,115.36,113.12,110.27,116.11,111.14,114.90,110.53,111.21,115.34,
-24.06,24.08,25.87,27.12,27.00,26.34,29.25,29.51,30.20,30.98,
-31.48,32.22,32.58,33.86,34.55,35.63,35.66,36.20,37.26,39.42,
-38.34,38.98,39.00,41.49,41.97,43.39,41.95,41.76,42.68,44.01,
-45.92,45.83,44.80,46.12,46.20,47.77,47.05,48.92,48.94,47.74,
-48.19,49.81,51.17,52.22,52.01,51.02,51.89,53.11,51.54,51.55,
-51.88,53.30,56.01,54.45,55.97,54.15,55.43,56.11,56.45,57.52,
-57.19,57.97,56.33,58.87,60.73,58.73,58.60,62.47,62.80,61.06,
-59.58,59.27,62.04,60.26,64.13,62.30,63.72,62.78,65.09,64.95,
-64.56,63.68,67.39,67.31,65.72,66.20,68.19,66.64,67.57,69.60,
-68.45,68.46,70.80,69.37,68.39,71.22,72.82,70.24,70.68,69.90,
-71.09,72.67,72.99,71.95,72.30,73.54,71.72,72.63,74.29,73.67,
-78.01,76.16,77.34,74.36,77.59,76.49,76.58,80.70,80.47,77.96,
-77.54,82.23,82.95,76.51,78.92,81.72,78.50,80.67,79.75,78.14,
-81.49,80.25,79.93,82.59,82.41,79.78,83.06,84.39,83.39,83.41,
-87.80,84.25,83.13,82.73,85.70,87.74,84.07,86.25,85.26,88.56,
-88.90,88.17,87.49,87.02,88.07,86.38,88.95,90.49,87.02,85.59,
-91.30,87.99,88.34,91.02,93.72,89.07,94.09,88.52,89.06,94.00,
-88.47,94.24,88.46,91.45,90.56,91.91,93.78,95.03,95.22,92.91,
-91.58,92.61,91.76,96.12,95.46,97.36,93.44,95.57,92.99,100.29,
-98.38,101.11,98.07,97.05,97.46,98.47,95.04,99.67,102.76,98.34,
-99.22,98.29,101.85,100.31,101.87,101.33,103.87,100.90,101.80,100.44,
-100.69,105.46,100.43,102.12,101.91,101.38,104.36,103.21,100.69,101.23,
-101.65,106.68,102.44,100.63,108.16,104.72,103.49,103.18,101.48,101.65,
-109.92,105.11,103.71,102.47,108.10,108.61,109.78,108.80,110.67,106.43,
-109.83,108.76,105.04,109.96,105.99,105.24,108.08,112.39,109.84,112.87,
-106.91,112.17,109.60,110.82,109.48,110.61,116.01,108.33,116.20,114.18,
-114.02,113.31,113.02,109.48,113.34,112.37,109.86,109.98,110.87,117.15,
-110.23,111.78,114.00,113.21,117.93,116.47,113.71,117.08,118.60,112.88,
-118.18,118.92,119.74,115.30,115.64,117.01,114.78,118.74,119.36,116.05,
-23.88,24.47,25.61,27.15,27.55,28.07,29.05,29.27,31.41,32.29,
-31.91,33.01,34.58,35.19,35.25,36.38,38.04,37.79,39.05,36.98,
-39.02,40.81,41.04,38.95,41.41,42.98,43.34,44.12,43.53,45.86,
-46.00,45.91,46.26,47.34,45.85,48.00,48.78,50.03,46.95,49.09,
-50.32,50.56,51.26,52.01,50.83,52.90,54.03,54.44,53.24,53.66,
-55.29,54.15,56.78,56.68,55.72,57.55,55.57,57.45,58.05,58.84,
-60.95,59.34,58.43,60.44,62.42,59.88,61.40,62.08,60.02,62.87,
-62.39,63.23,62.86,64.68,65.35,65.95,64.92,63.84,66.36,66.66,
-66.47,66.39,68.11,69.87,65.66,69.67,66.94,69.02,70.04,68.32,
-69.19,72.43,70.42,73.70,71.84,72.73,70.13,70.17,71.87,72.66,
-74.36,73.86,76.31,77.59,73.23,77.57,78.04,75.98,77.64,78.96,
-75.57,76.07,81.77,78.16,76.15,77.07,80.56,79.24,78.37,80.44,
-80.12,80.67,83.06,81.06,83.19,83.58,79.72,82.96,80.07,78.78,
-83.24,82.26,83.25,85.26,86.36,83.95,87.59,86.41,87.88,82.90,
-87.01,85.27,86.75,87.33,86.04,88.07,87.73,90.51,89.22,90.12,
-90.10,91.81,84.97,90.89,90.01,87.87,85.31,86.70,92.66,87.78,
-90.18,88.52,90.51,91.90,90.04,93.81,93.01,96.43,94.32,92.28,
-94.11,95.28,97.56,94.46,94.61,95.47,94.42,97.34,94.40,99.23,
-98.22,96.63,96.05,96.11,100.43,92.86,98.35,100.89,98.27,100.72,
-101.47,99.31,97.68,97.08,98.07,98.91,102.83,100.39,102.01,104.58,
-100.28,103.20,106.28,102.07,100.10,103.66,100.60,104.19,105.99,103.60,
-103.39,103.42,102.56,106.45,106.42,107.90,104.19,103.35,109.02,107.41,
-106.35,106.23,106.71,107.62,108.86,107.72,111.08,107.01,109.32,102.18,
-110.13,112.67,110.31,114.07,115.54,107.34,105.88,104.44,111.43,111.81,
-110.57,110.71,109.02,111.96,109.65,115.67,111.29,115.03,116.90,113.49,
-112.61,113.24,114.03,114.73,111.86,112.76,115.14,120.80,113.35,110.34,
-116.97,116.02,114.28,118.70,114.44,113.78,113.55,113.80,118.27,121.09,
-115.58,118.01,122.40,117.55,123.14,118.64,116.21,120.81,119.01,118.22,
-119.00,116.46,120.79,125.37,117.56,121.46,120.33,120.19,125.88,118.23,
-24.53,25.70,26.37,26.79,28.40,30.50,30.35,31.36,32.37,31.96,
-33.67,32.77,34.45,35.29,37.21,36.06,36.75,38.37,37.05,38.00,
-41.03,42.11,40.20,42.53,41.86,43.57,43.70,44.21,43.25,44.53,
-45.43,45.92,46.24,48.32,48.52,49.69,49.65,50.86,50.95,52.29,
-53.69,51.89,53.39,52.23,53.93,51.92,53.86,53.58,54.08,55.79,
-56.14,56.37,58.00,60.36,57.76,59.81,58.17,56.61,60.34,63.79,
-62.24,60.14,61.10,63.82,61.98,61.97,62.67,60.73,64.73,61.93,
-64.95,66.78,62.78,64.65,66.49,68.30,68.16,67.65,69.38,66.46,
-69.32,66.33,68.33,70.29,70.99,69.36,69.81,71.30,72.03,71.19,
-71.55,70.69,74.06,73.16,72.73,71.11,72.07,75.03,74.58,75.13,
-73.65,75.80,75.68,72.46,71.15,77.30,76.73,77.56,80.17,78.72,
-77.63,79.55,81.40,79.02,78.85,81.25,82.12,79.78,82.53,85.13,
-82.58,77.15,83.61,82.29,80.47,80.34,83.05,85.84,88.40,85.00,
-84.53,83.55,83.98,85.71,84.83,83.92,82.92,88.56,85.75,83.94,
-86.49,88.98,88.33,88.13,88.57,91.12,89.09,91.60,87.48,88.40,
-90.46,90.39,90.29,87.50,89.12,89.21,88.24,88.05,94.81,93.78,
-92.65,98.06,90.88,92.64,96.15,94.00,96.32,92.10,97.73,95.78,
-94.61,99.46,101.26,97.70,92.86,95.01,98.93,99.57,95.11,98.45,
-99.68,98.26,97.98,99.63,96.97,97.75,100.49,98.36,101.25,99.24,
-100.48,98.72,102.36,102.52,104.43,104.64,98.58,101.27,101.18,105.90,
-107.63,104.26,104.79,101.90,105.82,103.31,104.39,102.75,104.64,103.60,
-103.99,104.24,104.17,107.03,105.25,105.47,107.70,107.74,109.36,107.70,
-107.69,102.49,110.13,105.98,111.08,113.64,113.71,108.11,110.29,109.05,
-113.64,110.67,114.08,108.22,110.60,107.68,113.14,112.21,113.23,108.87,
-116.47,115.57,108.12,110.07,108.09,113.70,111.65,116.26,114.23,110.62,
-116.63,113.52,115.79,116.96,114.56,116.49,119.82,116.43,116.82,117.44,
-116.52,119.22,117.21,120.95,118.37,122.37,116.49,118.51,124.38,118.81,
-118.52,124.13,120.36,123.21,119.50,117.61,124.13,126.45,123.27,120.92,
-127.73,123.84,121.23,121.18,123.52,124.30,124.45,124.49,125.01,124.78,
-24.51,25.56,27.62,27.56,28.47,28.97,29.91,31.99,33.22,32.35,
-33.76,35.24,34.96,35.86,37.02,37.87,38.25,39.28,39.48,40.53,
-40.74,40.22,41.72,41.90,41.81,43.06,42.89,46.52,45.69,45.56,
-44.67,47.75,47.47,49.74,47.19,49.95,49.12,50.54,51.42,51.93,
-51.89,52.93,53.16,51.65,52.08,53.80,55.34,54.61,55.79,55.46,
-55.88,58.30,57.01,59.33,58.85,57.34,56.07,59.94,61.27,61.63,
-63.32,62.19,60.81,62.48,59.39,61.19,63.25,64.08,63.88,63.61,
-62.67,66.29,64.21,66.15,65.39,67.07,66.13,65.66,68.31,70.44,
-67.22,69.20,67.15,69.61,68.59,68.65,72.57,68.98,69.76,75.07,
-73.02,70.02,70.38,71.92,73.67,72.81,75.75,75.52,72.99,74.27,
-74.56,75.58,74.03,77.23,77.36,77.65,78.08,76.93,78.32,75.76,
-79.17,78.78,79.34,80.40,83.75,80.83,81.71,81.63,80.63,82.48,
-84.83,79.44,83.96,81.49,84.68,84.25,82.58,82.06,83.84,84.50,
-85.35,79.77,84.72,86.06,89.02,84.77,86.72,91.27,87.52,88.76,
-87.06,84.65,89.91,87.15,91.35,88.55,86.79,93.68,92.36,89.30,
-95.79,92.04,92.19,92.41,92.73,90.53,93.78,96.24,96.00,94.41,
-92.32,94.44,96.86,93.45,94.69,95.14,92.19,97.53,92.89,96.69,
-96.50,101.51,95.58,96.34,98.25,99.15,95.93,96.07,97.51,99.72,
-102.75,100.83,98.73,100.74,102.58,100.40,96.23,101.58,104.05,99.17,
-100.63,100.12,102.48,104.48,102.13,99.36,106.05,103.85,101.46,104.17,
-105.26,101.31,104.00,108.06,109.03,105.44,105.98,104.33,104.96,108.82,
-108.91,105.77,109.51,110.01,107.82,108.33,112.19,107.63,112.81,108.56,
-112.47,103.81,108.85,110.20,107.27,112.84,113.91,112.79,113.66,115.97,
-113.87,110.39,110.95,108.73,111.35,111.35,114.74,113.03,111.63,115.47,
-114.19,112.63,114.75,114.68,118.09,113.45,115.63,112.02,115.56,121.39,
-115.52,119.13,120.23,117.77,110.68,115.64,119.09,114.99,119.26,119.11,
-117.17,117.84,115.35,119.05,121.41,120.16,122.38,121.16,124.53,117.75,
-123.07,123.76,123.99,120.39,115.38,130.68,120.46,119.44,120.52,121.91,
-119.21,118.30,119.67,121.24,122.35,121.68,126.83,124.42,124.46,128.58,
-24.21,26.43,26.31,26.56,29.13,29.70,30.54,32.52,31.66,32.14,
-33.56,34.85,34.87,37.35,37.25,37.65,39.17,37.94,40.86,40.22,
-40.25,41.21,43.35,43.39,42.07,43.03,44.24,45.63,45.49,44.98,
-47.61,47.51,48.82,49.42,49.55,47.39,49.40,49.86,49.58,50.92,
-54.05,53.30,51.94,50.53,53.87,54.29,54.21,54.63,56.03,58.74,
-55.70,57.21,56.75,57.15,59.88,59.12,59.60,61.52,59.22,60.08,
-61.72,61.61,59.63,61.32,64.24,60.84,67.62,62.57,63.99,67.45,
-65.83,66.23,66.63,67.06,65.77,68.15,66.85,67.91,68.75,69.91,
-67.77,73.52,72.97,72.66,71.55,72.84,75.38,70.16,72.87,72.73,
-71.02,72.32,73.63,77.12,73.75,71.58,74.20,73.63,72.19,75.97,
-78.92,78.71,77.74,77.89,78.75,78.60,79.87,77.94,80.41,80.28,
-81.36,81.20,83.79,80.90,81.01,84.72,81.16,83.02,81.37,84.05,
-83.57,83.26,85.91,85.15,87.36,83.70,85.01,88.39,88.07,83.79,
-84.66,89.52,86.19,86.86,89.16,84.24,85.45,89.75,89.15,85.93,
-89.69,90.31,91.09,93.25,90.13,90.54,89.65,90.71,89.15,93.17,
-94.32,92.60,93.46,94.02,92.12,93.41,96.20,93.02,92.93,92.45,
-96.26,92.50,96.58,96.36,94.35,98.14,96.98,96.71,98.96,100.98,
-96.90,95.29,94.93,98.05,98.95,98.15,97.72,103.13,103.14,99.44,
-99.90,102.70,98.40,99.59,98.07,100.70,99.72,99.50,100.36,101.26,
-103.14,102.38,101.03,106.24,103.19,109.16,104.92,107.16,106.93,101.49,
-107.93,108.22,107.38,102.04,103.61,107.20,107.34,102.74,108.37,106.92,
-107.06,107.13,108.80,113.01,108.18,113.76,109.75,107.24,112.18,112.16,
-107.01,108.51,111.29,113.07,104.81,112.18,113.25,111.73,110.76,110.35,
-112.40,114.90,110.66,112.62,117.15,112.05,110.84,114.95,114.57,113.83,
-115.28,115.83,115.57,117.11,112.17,119.61,111.14,114.85,120.66,118.48,
-116.20,117.61,119.61,118.77,117.11,117.59,116.17,118.83,118.11,117.26,
-115.91,120.26,122.96,116.54,125.03,121.40,120.55,124.77,123.29,118.12,
-126.53,122.49,121.01,116.63,118.88,120.55,119.68,125.95,125.66,119.47,
-123.13,124.41,124.69,129.31,123.54,128.37,122.14,126.81,124.13,118.83,
-24.69,25.45,26.44,27.81,29.48,29.85,31.13,31.71,31.33,32.17,
-34.34,34.86,35.23,35.98,35.50,37.23,37.19,38.61,40.40,40.93,
-40.91,40.86,41.29,43.09,44.11,44.70,46.34,45.23,46.16,45.57,
-46.10,49.34,48.12,49.60,48.06,49.11,49.82,50.39,50.12,51.35,
-53.99,52.15,52.81,51.47,53.30,56.78,54.29,56.09,55.72,57.17,
-55.88,57.51,57.87,60.05,59.00,61.75,60.41,59.79,62.51,60.28,
-62.55,66.38,62.90,63.33,63.39,65.29,63.10,61.81,62.78,64.47,
-65.94,65.57,67.13,65.48,66.40,68.75,66.86,68.01,69.00,69.44,
-70.65,70.72,65.37,73.70,68.97,72.42,76.17,71.04,73.47,70.34,
-75.47,77.64,76.12,74.52,75.74,76.50,78.77,75.99,73.52,78.73,
-77.78,76.62,79.11,73.49,76.94,75.51,79.04,81.52,80.44,78.46,
-81.09,81.35,78.08,81.52,81.31,86.33,81.53,80.08,80.22,87.46,
-81.33,81.65,85.70,83.01,83.57,85.15,81.39,90.40,86.70,85.86,
-88.86,86.90,87.45,88.85,86.67,88.65,89.89,90.71,85.06,88.84,
-88.49,89.21,91.55,91.31,90.65,94.11,91.37,91.33,88.07,94.08,
-92.67,91.86,93.03,95.31,96.87,90.36,97.36,94.69,93.87,94.90,
-97.87,95.49,94.65,97.97,94.57,101.53,97.73,95.37,99.99,96.14,
-98.65,100.67,100.07,98.49,97.91,98.80,101.57,98.77,97.86,99.95,
-102.00,105.44,102.35,102.51,107.70,103.16,101.34,109.40,101.70,102.05,
-100.47,104.24,102.27,102.02,104.10,104.14,105.79,101.44,105.54,103.04,
-104.36,109.09,106.74,109.04,104.02,107.11,106.24,110.82,111.46,108.98,
-109.95,107.36,111.91,112.45,106.57,109.00,112.80,109.70,105.89,107.08,
-109.45,108.12,109.48,111.65,113.32,111.82,114.56,110.34,112.33,113.07,
-113.73,108.56,115.28,113.94,114.80,116.39,119.96,112.24,109.82,120.47,
-114.07,115.68,114.79,112.53,116.80,115.10,115.51,113.90,119.96,120.12,
-119.49,118.17,123.51,122.23,114.43,118.49,115.45,118.71,119.66,121.44,
-118.51,122.55,121.45,123.09,120.40,125.34,122.25,124.81,122.35,121.83,
-124.45,115.56,119.77,116.53,123.89,120.18,121.54,118.62,119.03,124.41,
-123.32,127.22,126.25,130.43,123.40,124.12,128.16,130.41,124.06,127.52,
-24.47,25.36,25.52,28.11,28.61,29.64,30.68,31.95,30.73,31.96,
-34.62,33.78,35.73,35.65,37.48,37.51,38.61,41.05,40.00,39.55,
-40.47,41.29,41.17,41.96,43.70,44.43,43.59,45.09,44.75,43.77,
-47.87,47.89,46.81,49.80,47.73,49.38,50.51,51.78,52.69,50.15,
-51.25,53.33,51.61,55.27,54.38,55.24,57.28,56.02,56.86,56.98,
-58.07,57.02,57.23,58.11,60.66,61.06,59.60,61.06,60.35,61.11,
-62.10,61.73,62.39,63.08,63.46,63.74,61.38,63.35,66.61,64.88,
-66.09,68.02,68.43,66.63,66.76,69.73,66.74,68.69,70.05,66.41,
-71.21,69.61,71.43,69.66,72.11,70.82,73.10,71.19,72.25,73.59,
-72.45,73.92,72.78,73.36,72.92,73.32,72.08,75.46,77.16,76.97,
-78.56,76.41,78.10,75.70,78.40,81.08,79.56,78.97,81.26,82.34,
-80.42,77.75,80.83,80.76,82.74,84.09,83.48,82.03,84.45,81.38,
-83.36,85.55,82.51,81.21,82.57,87.24,86.69,86.73,87.40,83.92,
-86.92,81.24,85.01,87.54,87.47,85.42,89.36,88.27,85.81,86.95,
-89.10,92.35,94.03,93.03,90.69,91.77,91.65,91.74,92.87,91.50,
-94.00,94.59,91.82,92.88,93.23,93.49,95.54,94.05,90.49,94.16,
-95.23,94.03,97.16,94.27,97.28,95.03,95.14,99.27,97.45,100.42,
-95.26,96.20,96.26,95.31,99.14,96.76,101.63,100.29,98.59,102.28,
-98.74,102.42,100.40,102.71,99.65,102.28,100.84,101.36,99.62,103.92,
-102.89,104.31,104.57,100.00,101.36,105.39,103.70,106.38,106.71,103.75,
-105.42,104.08,107.08,108.35,108.00,104.33,110.69,109.43,110.82,108.87,
-106.06,108.19,110.32,107.15,107.75,108.95,107.42,109.46,108.78,110.48,
-110.46,107.25,112.22,108.39,115.17,113.22,111.55,114.03,112.46,110.54,
-112.57,111.93,110.94,114.29,112.99,114.40,117.63,115.58,116.80,118.31,
-113.72,111.84,115.09,118.94,119.18,114.71,117.78,115.13,116.51,116.94,
-120.56,118.24,118.06,116.67,117.90,112.46,124.31,122.25,127.57,122.68,
-120.45,122.37,120.75,119.71,125.02,120.33,123.07,123.16,120.10,118.37,
-123.90,122.05,116.02,123.98,120.15,125.53,124.46,126.61,125.25,124.13,
-123.33,124.57,125.93,129.51,123.93,119.93,125.08,123.46,130.41,132.77,
-24.04,25.85,26.59,27.67,28.20,29.02,30.86,31.82,31.56,34.06,
-33.76,34.44,35.84,36.31,37.94,35.76,37.20,40.44,39.43,41.03,
-41.91,41.42,42.10,41.94,42.46,45.23,46.09,44.67,45.01,45.88,
-45.61,45.36,46.28,47.95,50.06,48.86,49.73,49.79,50.11,50.73,
-53.01,51.68,51.17,52.92,55.19,53.86,56.01,56.34,55.79,53.84,
-58.00,58.74,58.92,55.81,59.29,57.95,59.19,60.23,61.56,60.07,
-62.39,62.07,63.16,61.16,63.73,61.80,62.74,65.84,67.73,66.93,
-67.18,66.31,66.86,69.90,66.77,67.06,66.66,67.15,67.81,70.51,
-70.85,69.34,70.86,71.42,70.39,72.03,71.84,70.90,72.87,72.87,
-73.40,71.71,74.60,73.59,71.46,76.68,75.72,78.10,75.83,78.02,
-75.62,75.16,77.75,74.83,74.78,76.40,76.87,78.03,78.10,78.73,
-81.26,80.91,81.72,79.03,80.78,83.50,83.00,84.06,84.60,79.51,
-82.86,84.46,83.64,84.11,87.64,87.31,85.85,85.93,87.42,86.65,
-84.91,89.84,83.88,89.82,86.26,86.50,87.47,88.44,88.30,90.36,
-89.67,88.32,86.71,91.48,90.69,91.57,91.21,92.69,95.32,89.21,
-89.24,94.03,91.78,89.62,91.42,92.22,95.55,91.51,95.12,97.29,
-94.85,96.69,97.76,98.91,91.37,97.46,94.16,97.37,95.75,96.93,
-98.81,98.04,99.95,99.75,102.85,95.65,98.23,97.68,99.10,102.02,
-96.11,99.50,104.52,99.56,100.61,99.00,99.94,100.01,99.59,101.22,
-105.06,105.17,104.26,104.30,105.02,103.57,107.03,102.54,106.86,112.63,
-104.49,102.93,107.29,110.06,103.73,105.16,112.64,105.74,107.21,106.47,
-108.51,109.65,107.73,111.47,106.92,107.57,105.87,107.95,111.41,111.92,
-111.16,110.21,108.65,114.39,106.53,112.64,110.29,113.25,113.06,112.95,
-112.97,114.00,112.30,111.05,112.01,114.40,111.74,111.77,113.51,115.62,
-113.92,114.03,113.59,116.91,116.05,116.51,115.58,118.95,119.62,117.06,
-116.53,116.19,121.31,121.33,123.14,113.13,116.09,116.87,123.01,113.23,
-119.99,117.95,116.65,117.74,123.57,121.42,123.92,121.28,120.77,117.62,
-122.93,121.07,126.82,118.75,120.47,123.38,117.95,122.66,118.71,122.99,
-123.59,122.16,129.54,125.51,126.84,126.15,125.87,122.15,122.52,126.39,
-24.57,24.66,26.35,27.46,28.91,29.40,28.54,30.00,32.49,32.24,
-33.69,33.83,35.20,35.39,36.79,35.83,38.46,37.47,38.20,39.07,
-39.97,40.67,42.11,42.11,44.06,44.14,44.13,43.32,45.61,45.81,
-45.26,47.68,48.65,48.54,48.24,49.45,48.98,50.80,50.51,50.70,
-50.34,51.85,53.10,52.37,53.01,55.23,56.20,55.52,54.57,55.73,
-57.85,58.39,56.69,57.94,58.08,58.37,58.88,60.98,57.83,59.49,
-59.26,60.51,62.29,62.33,61.81,62.33,62.47,65.07,66.84,61.18,
-64.57,63.17,66.88,66.53,65.26,65.71,67.40,65.88,66.77,70.40,
-69.86,68.29,72.32,70.38,72.21,71.88,70.44,71.48,73.56,71.91,
-71.07,71.93,71.51,73.88,73.00,73.64,74.03,75.17,79.17,75.14,
-76.43,75.76,76.76,75.91,77.18,78.71,74.48,79.27,80.34,79.76,
-77.16,78.35,79.13,82.15,80.51,82.15,83.55,83.78,83.98,80.31,
-82.02,81.05,83.38,82.38,83.51,85.42,84.44,87.08,85.53,89.11,
-86.75,85.27,85.82,87.28,87.13,86.56,84.80,86.12,89.00,89.57,
-90.79,88.30,91.96,87.69,91.71,90.25,91.12,92.53,91.19,87.11,
-90.14,93.60,93.03,92.14,94.48,93.02,90.24,93.87,93.30,89.59,
-94.30,95.87,96.02,93.06,92.81,97.66,95.48,98.09,96.80,93.50,
-92.15,99.51,95.63,97.98,95.11,99.15,98.34,99.51,99.03,97.69,
-102.44,102.29,97.32,98.60,98.90,98.80,101.15,99.22,97.24,98.24,
-99.24,104.51,99.63,102.08,100.29,104.76,104.60,104.99,101.21,102.60,
-103.08,102.11,105.98,105.27,108.64,105.11,110.70,105.54,109.42,108.72,
-110.21,106.16,108.07,110.21,108.00,104.50,104.60,107.61,109.83,110.78,
-111.14,107.33,113.30,113.64,112.24,113.04,110.80,108.41,108.02,108.10,
-107.33,112.62,112.28,108.77,113.01,114.28,111.89,111.52,114.67,113.43,
-119.15,117.29,117.19,120.36,121.93,113.47,118.85,121.69,113.50,117.34,
-118.75,117.02,116.62,114.97,118.00,115.14,115.45,117.57,117.69,115.58,
-120.43,121.30,119.88,120.49,115.61,119.48,121.74,121.98,123.55,125.50,
-121.02,123.73,123.48,120.83,122.71,120.21,124.25,131.40,122.80,123.72,
-127.47,119.91,124.68,126.23,124.22,121.03,122.53,126.63,125.64,126.15,
-17.45,18.84,19.18,19.81,20.36,20.70,21.75,23.14,21.99,23.05,
-23.47,23.76,24.24,25.18,24.82,25.93,25.60,26.50,28.11,27.52,
-28.12,28.53,27.72,28.73,29.78,30.61,30.01,30.47,29.96,31.83,
-30.47,31.88,30.84,33.09,31.78,33.31,32.55,35.12,33.50,32.38,
-33.84,36.30,34.30,34.57,33.86,37.38,35.94,36.09,35.91,38.14,
-36.44,37.39,38.05,38.03,38.98,39.45,39.38,41.37,40.60,39.66,
-40.35,38.43,41.30,41.78,41.56,41.28,41.99,42.43,42.93,42.52,
-42.53,43.73,42.35,43.12,43.10,43.28,44.11,45.30,42.40,45.58,
-45.44,47.34,46.39,45.79,46.05,47.31,46.29,45.78,50.67,46.68,
-47.79,48.55,48.44,46.28,48.94,47.66,48.40,51.00,48.49,49.46,
-50.05,49.71,49.54,49.65,51.35,50.33,50.24,49.95,51.84,51.58,
-54.08,50.57,53.57,52.21,53.12,52.05,53.03,53.53,53.06,53.56,
-53.10,55.17,53.95,52.77,55.71,53.93,56.73,55.66,56.94,56.52,
-53.99,55.67,55.55,57.92,54.69,57.70,58.59,55.99,58.42,57.01,
-57.35,58.35,58.64,58.14,57.67,57.84,57.44,59.40,59.85,59.37,
-61.51,57.33,58.93,58.94,57.77,63.35,60.59,62.85,63.51,58.24,
-63.24,61.73,63.19,59.31,62.37,61.30,61.21,62.93,65.33,63.39,
-61.26,61.92,65.77,65.07,63.74,65.53,63.44,65.61,65.02,64.50,
-65.04,63.74,63.10,63.83,66.61,65.75,66.45,63.34,65.02,66.09,
-65.36,67.05,66.44,67.03,66.93,67.27,68.48,65.12,67.98,66.69,
-68.13,67.86,67.18,69.18,69.67,69.57,66.27,68.48,71.00,68.84,
-69.52,69.86,71.41,70.23,71.89,69.70,71.00,72.75,71.31,70.01,
-69.72,70.21,71.34,73.09,73.00,76.16,71.59,71.21,72.78,74.62,
-72.86,72.99,72.69,71.49,72.70,73.19,73.66,73.99,77.02,74.14,
-73.15,78.52,74.74,72.71,76.53,75.59,76.51,77.77,73.95,76.09,
-74.32,74.51,78.27,78.86,76.60,75.84,78.01,76.02,75.82,78.87,
-74.23,77.83,76.08,78.95,77.77,81.22,77.58,76.22,77.40,78.89,
-77.23,78.40,77.19,79.40,77.92,79.40,77.16,78.84,79.55,79.15,
-78.84,83.50,82.62,77.99,80.14,82.56,78.65,79.36,80.43,81.98,
-19.17,18.95,19.55,20.37,21.71,22.35,23.56,23.04,24.35,25.42,
-25.56,25.72,26.50,26.91,28.67,28.51,28.49,29.24,28.19,28.83,
-28.26,30.90,31.21,30.06,32.79,31.61,32.13,32.64,34.13,32.17,
-34.00,34.69,34.44,35.74,35.66,35.61,35.51,35.66,37.64,36.80,
-37.55,36.03,39.24,38.29,38.07,38.55,38.90,40.10,40.03,38.90,
-42.90,42.98,40.41,40.67,42.01,43.65,42.33,44.44,43.64,44.81,
-43.79,46.58,44.80,45.80,46.13,44.45,46.04,46.99,44.65,46.98,
-47.20,46.27,46.56,48.64,47.83,47.52,50.36,47.89,48.94,49.12,
-47.95,49.90,50.38,49.34,50.31,51.74,52.19,52.20,52.91,50.41,
-52.37,51.78,53.57,52.09,52.02,52.99,55.04,54.30,54.80,53.05,
-54.76,55.31,55.88,54.95,54.58,55.07,57.76,57.08,56.77,55.05,
-57.55,57.53,59.55,56.47,53.83,57.65,58.56,59.53,57.64,58.26,
-58.54,57.85,61.47,59.68,59.42,59.40,59.07,62.62,59.88,61.19,
-62.64,61.62,61.06,62.46,61.95,61.41,62.61,63.14,63.59,62.12,
-63.26,62.58,62.27,66.70,64.00,63.69,64.48,61.01,62.15,66.54,
-68.41,66.80,64.40,64.57,62.84,67.18,67.76,66.56,67.16,69.10,
-66.40,67.11,66.14,67.58,69.35,65.69,67.58,67.64,68.18,70.72,
-70.19,70.65,71.35,67.96,71.61,69.38,66.72,72.51,70.68,72.28,
-71.90,70.65,70.17,73.71,70.21,70.68,75.48,69.02,72.47,72.18,
-71.87,73.04,73.07,72.03,72.66,74.41,71.39,74.34,76.71,74.76,
-78.33,73.51,74.89,75.21,76.10,74.73,75.63,75.20,76.69,77.27,
-74.67,75.70,74.99,75.56,77.14,78.32,74.89,77.74,79.60,76.78,
-76.56,76.86,80.77,78.01,78.47,79.66,80.56,79.29,77.67,78.81,
-79.68,80.59,83.46,80.97,80.42,80.05,79.30,79.27,81.26,83.59,
-81.77,79.63,84.55,83.42,78.03,85.01,84.41,83.51,81.03,83.43,
-83.66,81.64,81.58,84.85,81.09,82.05,81.82,85.12,86.39,84.38,
-86.93,82.70,85.86,81.71,84.33,85.01,86.67,84.10,85.10,87.64,
-85.66,84.23,84.02,86.81,84.80,85.53,89.62,86.31,85.59,88.82,
-83.90,88.65,84.82,90.15,87.82,87.65,86.79,90.22,91.52,90.17,
-20.57,21.49,22.53,22.69,23.18,24.20,23.97,25.18,25.63,26.33,
-27.53,27.31,27.16,27.76,30.57,30.53,30.04,30.96,31.16,32.62,
-32.94,31.86,33.43,32.82,33.33,35.39,34.98,35.16,34.88,36.90,
-36.41,37.27,36.60,37.14,38.23,39.02,37.65,40.02,39.84,40.53,
-40.89,39.54,42.24,41.24,41.68,42.36,42.80,41.92,43.02,42.52,
-44.28,44.09,44.25,44.59,45.46,45.90,45.76,46.31,45.63,46.34,
-48.38,46.48,46.97,48.76,48.57,48.97,47.91,50.56,50.51,49.98,
-52.20,50.48,49.68,50.43,52.33,50.89,53.52,52.62,55.70,52.89,
-53.17,56.26,54.90,53.94,54.44,54.41,57.76,56.68,54.45,57.21,
-56.73,57.45,54.54,58.25,58.34,57.78,57.34,56.13,58.14,58.38,
-58.07,58.45,56.97,62.08,60.85,60.35,57.62,58.60,62.41,58.88,
-61.73,60.37,60.62,63.04,63.35,63.11,62.48,64.83,63.28,60.94,
-62.32,63.43,66.02,64.46,62.42,62.35,63.71,62.12,63.05,66.98,
-66.07,65.14,64.73,66.48,66.78,66.15,67.05,66.46,71.24,70.73,
-71.51,67.29,68.33,70.06,67.25,66.72,69.44,71.72,69.44,68.05,
-68.11,70.72,70.00,71.08,71.90,71.66,74.27,72.03,69.00,71.32,
-71.71,72.72,73.14,73.50,71.34,70.80,72.22,76.72,75.23,75.16,
-73.86,78.52,74.22,78.06,76.27,75.33,75.34,76.19,77.83,78.27,
-77.10,76.17,78.76,76.80,78.08,77.35,76.76,76.69,79.06,76.42,
-78.01,77.40,80.53,75.33,83.01,79.05,80.27,81.61,78.79,80.42,
-79.95,78.56,78.72,81.35,77.14,81.23,81.70,80.88,84.33,82.35,
-83.49,82.29,83.43,81.44,84.11,81.87,82.90,82.50,81.85,81.88,
-83.37,83.90,87.98,83.37,85.81,84.51,82.80,87.86,83.22,82.51,
-86.36,86.80,89.39,87.03,84.50,88.05,88.81,87.54,85.87,86.85,
-88.64,88.44,88.19,85.63,88.36,89.08,88.77,91.69,90.58,91.11,
-87.17,90.68,89.72,88.33,89.30,88.80,89.59,92.30,92.22,87.38,
-91.10,92.80,94.05,87.45,91.58,93.39,91.29,92.87,92.75,92.05,
-89.86,94.62,97.85,92.58,94.24,93.55,91.36,95.05,93.17,93.51,
-91.88,95.54,94.57,94.11,90.04,98.49,94.53,90.99,95.94,94.87,
-21.96,23.23,22.95,23.62,24.29,25.26,26.73,27.18,25.76,27.10,
-28.84,30.18,30.14,30.29,30.70,32.46,33.06,33.02,32.36,34.76,
-33.49,35.60,34.51,33.55,36.06,36.22,36.13,37.22,37.62,38.25,
-40.56,39.79,40.35,40.67,41.25,39.21,40.19,42.52,43.28,40.24,
-42.76,44.31,43.81,44.71,43.22,44.48,45.41,46.57,44.90,45.67,
-47.62,47.47,45.82,49.97,47.17,49.39,51.09,49.13,49.62,50.15,
-50.29,50.65,51.99,49.07,52.69,51.26,52.71,53.31,51.61,52.73,
-54.17,52.85,52.02,53.57,54.35,55.88,56.22,55.87,58.38,56.65,
-56.58,56.07,59.56,58.61,60.60,57.88,60.06,58.28,60.04,61.42,
-60.36,60.93,58.93,60.29,63.68,62.67,62.88,62.43,63.09,61.94,
-61.10,60.73,63.99,63.14,63.98,67.55,66.60,63.32,66.83,67.32,
-65.17,65.84,66.75,65.57,67.42,67.34,65.51,66.53,68.45,69.43,
-67.46,69.61,71.22,69.04,70.98,71.15,69.96,69.23,70.75,71.50,
-74.58,71.37,71.29,70.67,74.11,71.84,75.31,69.34,73.89,75.13,
-70.90,72.29,74.98,72.49,71.44,69.87,75.08,73.76,73.78,75.91,
-73.97,77.39,75.38,77.95,75.58,76.67,75.57,73.41,78.82,78.99,
-80.82,79.59,81.03,76.61,79.03,78.96,79.14,79.61,75.83,79.76,
-82.04,80.07,81.79,82.18,78.53,81.50,81.51,80.98,80.31,83.82,
-80.31,80.89,84.60,82.12,80.40,81.35,82.67,83.66,85.55,83.00,
-83.07,82.25,83.10,85.55,82.75,83.47,86.60,87.19,84.59,83.79,
-85.28,86.30,87.60,87.26,83.43,84.10,86.00,90.37,87.13,87.60,
-89.17,86.97,90.80,87.88,90.89,87.98,86.64,88.30,92.15,87.54,
-91.66,92.64,89.17,90.64,92.39,88.48,89.74,89.52,92.57,92.64,
-94.34,91.05,91.62,94.36,92.66,93.98,91.85,94.54,94.60,94.14,
-94.97,94.45,91.45,93.27,91.40,92.69,90.60,91.60,95.70,93.61,
-98.70,94.32,96.64,100.12,94.33,95.56,96.74,95.31,95.67,98.45,
-94.20,93.76,99.60,95.61,98.05,95.79,94.71,96.40,99.96,99.87,
-98.76,103.53,97.93,101.98,100.68,98.84,100.60,98.89,101.72,103.58,
-99.27,104.07,101.48,101.11,99.34,103.79,102.44,100.45,99.75,98.02,
-23.95,23.44,23.74,25.73,25.27,26.30,26.30,28.59,27.50,29.54,
-29.91,30.50,32.19,31.62,33.12,33.24,32.98,35.17,35.33,36.07,
-37.79,36.86,35.91,37.12,38.54,38.60,40.07,40.13,39.78,40.36,
-40.59,40.88,42.69,43.68,42.66,44.19,42.08,43.74,44.09,45.81,
-45.96,44.42,46.53,47.34,45.64,46.39,49.45,47.19,50.25,49.26,
-50.88,51.17,47.77,50.92,51.27,53.30,53.68,50.59,52.01,52.10,
-51.24,53.00,55.04,55.37,56.06,55.59,55.41,56.25,57.13,56.15,
-57.05,57.15,57.74,59.62,59.72,60.12,58.59,58.90,59.84,60.29,
-58.42,62.39,61.12,60.26,62.90,61.72,62.09,63.63,61.80,63.46,
-63.61,61.54,62.82,63.44,63.69,62.83,63.86,65.05,67.52,66.80,
-65.79,64.38,65.38,66.70,69.78,67.82,67.50,65.47,69.00,70.20,
-70.20,69.85,67.25,71.87,70.18,68.69,70.17,71.58,73.98,73.07,
-71.95,72.57,72.19,71.63,74.78,72.92,73.36,72.91,73.10,71.43,
-76.32,74.37,78.22,78.37,74.73,75.41,77.43,79.02,75.25,75.33,
-78.29,79.45,77.91,80.37,77.32,76.75,80.37,78.38,79.47,77.89,
-82.14,79.82,83.42,77.74,80.19,79.14,80.09,81.30,82.49,81.88,
-82.87,80.05,82.56,84.95,79.61,83.03,81.52,85.12,85.28,86.72,
-85.93,83.58,81.55,84.83,87.40,88.22,83.82,83.32,86.04,84.88,
-86.41,89.86,85.51,86.60,85.82,85.38,86.76,91.00,89.78,83.30,
-87.16,89.82,90.03,88.71,87.55,94.26,92.65,87.51,91.75,89.65,
-88.89,89.80,92.35,91.44,93.82,96.87,91.99,90.62,93.07,89.71,
-93.26,89.57,90.55,88.22,92.38,97.15,94.70,92.23,92.93,94.43,
-96.66,96.91,95.40,94.26,96.82,97.11,95.38,96.72,96.68,97.92,
-95.48,98.77,93.54,96.06,98.76,97.56,99.94,98.62,97.81,100.05,
-95.37,97.17,98.06,101.66,100.74,100.20,101.15,98.32,100.37,102.42,
-103.29,100.82,100.22,100.45,99.10,99.22,99.20,102.36,104.36,102.93,
-101.59,102.92,106.98,105.49,105.39,99.80,104.55,103.30,102.61,106.87,
-105.05,101.41,106.96,108.45,103.07,108.31,107.52,108.85,106.35,106.57,
-107.89,110.14,110.17,108.88,109.28,110.01,107.65,108.20,107.82,108.43,
-22.67,24.47,25.07,26.43,27.75,27.57,28.12,28.50,29.58,31.69,
-30.91,31.14,32.54,33.26,32.16,33.83,34.26,36.75,36.68,37.91,
-37.54,38.09,38.29,37.96,39.71,39.17,41.58,41.98,41.79,41.54,
-42.40,42.58,42.31,43.91,44.27,44.92,45.29,46.23,48.35,46.65,
-47.58,48.05,46.82,47.49,50.34,48.94,50.74,49.41,50.67,52.13,
-51.71,52.72,55.14,55.12,53.50,50.80,53.61,53.90,54.96,57.13,
-52.62,54.36,56.22,55.93,57.09,55.96,62.14,59.15,60.16,57.39,
-61.86,61.10,60.38,62.52,59.93,59.89,60.00,62.21,62.99,65.24,
-61.94,64.40,63.09,66.44,63.38,64.15,65.84,68.97,65.96,66.42,
-66.51,66.90,67.83,67.29,70.50,69.15,68.35,69.41,68.26,67.17,
-70.63,68.72,68.93,71.25,69.61,68.89,71.25,72.61,74.01,71.92,
-74.42,72.52,71.27,71.49,70.60,74.94,70.62,77.32,75.13,75.97,
-75.59,73.52,78.40,74.16,75.67,77.06,75.87,74.36,75.10,79.03,
-76.44,79.11,79.87,77.43,78.98,79.30,81.60,82.64,78.94,76.29,
-81.02,80.14,82.82,85.21,81.24,79.55,82.90,81.94,83.24,82.74,
-82.19,84.08,81.94,85.74,83.95,85.23,85.87,83.49,87.16,83.36,
-85.05,88.62,85.07,88.33,86.88,84.88,88.34,86.32,88.39,89.08,
-88.56,91.92,86.38,87.43,90.89,92.89,89.04,91.19,86.11,92.11,
-92.42,92.41,93.38,94.71,92.57,94.00,90.16,94.25,93.16,96.12,
-93.95,95.29,94.21,93.45,95.39,95.91,94.94,97.28,96.79,95.40,
-94.20,95.28,96.68,95.40,93.09,98.30,96.61,95.57,98.75,100.62,
-97.01,99.98,97.43,100.01,99.10,94.22,98.97,100.60,99.96,98.81,
-98.83,101.81,102.66,102.09,103.09,102.42,101.64,97.80,101.09,103.36,
-101.21,103.08,107.42,103.74,104.42,105.08,106.25,101.50,102.26,104.89,
-99.46,100.13,102.09,107.10,106.59,105.26,101.89,104.66,107.86,103.28,
-106.16,103.72,105.85,106.00,105.99,107.83,106.23,106.18,101.85,106.67,
-109.02,103.73,110.50,107.17,107.72,107.38,113.78,109.48,105.44,114.24,
-111.17,110.25,108.42,112.49,110.84,111.16,115.74,109.00,113.83,112.40,
-111.90,114.25,111.49,108.73,115.90,115.71,113.03,113.62,111.04,108.01,
-23.90,25.19,25.03,26.33,27.13,28.39,29.22,29.85,31.00,32.15,
-32.89,34.68,34.43,34.60,35.53,35.63,36.16,37.14,36.94,39.30,
-38.86,38.64,40.33,40.89,42.48,40.57,43.87,43.14,43.46,42.78,
-42.92,43.76,45.52,47.25,46.50,45.20,46.52,48.89,47.96,46.28,
-49.13,49.21,50.24,50.85,50.61,51.08,53.28,52.65,50.25,52.56,
-53.29,54.21,54.63,55.50,56.42,57.32,54.97,56.68,57.86,57.22,
-59.03,57.59,58.59,60.31,59.34,58.00,59.30,61.67,62.50,61.72,
-63.03,62.88,64.12,62.11,60.95,65.54,62.91,62.59,63.05,65.01,
-66.48,66.40,67.23,65.67,64.76,69.98,67.80,66.58,67.99,66.26,
-65.69,70.96,69.78,70.54,69.70,68.96,72.41,72.43,72.49,73.68,
-70.40,71.33,72.45,75.13,75.74,75.55,73.00,77.31,74.73,73.57,
-73.09,73.93,73.80,73.15,76.42,80.35,78.98,79.82,78.64,78.41,
-77.19,79.26,76.70,78.61,83.56,77.48,78.98,79.51,82.28,82.48,
-79.87,80.42,81.47,82.81,82.32,80.80,82.89,86.79,81.06,80.64,
-86.43,84.12,84.81,85.21,86.28,87.02,83.77,86.70,86.28,87.33,
-88.04,83.79,87.10,90.68,86.56,89.03,89.39,88.10,86.60,84.51,
-87.70,92.39,89.45,88.16,89.46,91.47,90.90,92.70,95.70,89.25,
-92.38,90.30,92.16,93.77,94.65,95.19,95.56,96.02,91.40,90.49,
-94.87,95.30,96.73,95.84,94.20,91.38,96.85,99.25,95.99,100.53,
-98.72,94.84,95.17,94.63,96.38,97.94,93.62,97.90,98.53,101.52,
-98.33,101.11,100.24,101.85,97.09,100.72,99.91,98.03,98.61,98.24,
-99.72,102.18,104.04,100.75,101.92,102.31,104.92,102.21,100.13,102.89,
-104.49,107.02,105.63,105.74,105.91,108.03,103.43,105.43,106.49,103.48,
-108.96,104.97,102.82,105.91,104.63,107.70,107.33,109.47,107.81,103.69,
-110.43,106.70,105.61,107.76,108.82,110.73,107.71,107.53,107.08,106.69,
-110.46,109.72,111.33,113.41,112.61,111.92,111.67,115.54,112.89,112.95,
-116.64,109.57,112.22,112.34,114.41,112.32,114.19,115.94,112.17,112.98,
-112.04,114.25,110.94,109.79,117.80,109.94,113.30,112.28,119.75,114.51,
-118.25,117.37,117.60,116.12,120.02,116.16,119.16,117.50,116.89,120.73,
-24.94,26.35,26.74,27.41,29.31,28.16,30.92,29.92,32.52,32.42,
-33.93,34.44,35.45,36.68,37.17,35.27,37.37,37.70,39.62,39.64,
-40.60,42.09,43.07,40.52,44.39,43.92,42.61,44.04,43.64,47.00,
-45.26,49.13,46.55,48.56,49.63,48.61,48.04,50.18,48.49,51.18,
-50.23,50.40,52.69,54.11,54.24,52.15,54.73,52.93,53.87,54.66,
-53.50,55.65,58.64,57.36,58.64,57.48,60.42,57.95,58.43,58.16,
-59.83,58.51,60.97,59.54,62.51,61.25,63.34,64.04,62.40,63.96,
-62.60,65.44,62.85,66.68,63.26,64.76,69.21,66.37,66.68,68.62,
-66.04,68.90,67.96,66.99,69.38,68.57,68.48,69.64,68.28,71.99,
-73.70,70.37,70.83,67.77,71.96,71.96,73.68,69.73,72.33,73.18,
-74.66,76.36,76.78,76.14,73.97,76.04,79.44,74.53,76.49,76.57,
-76.71,78.87,74.73,76.61,81.12,77.80,80.78,79.49,78.74,80.58,
-79.21,81.73,82.17,85.64,80.81,83.98,85.15,82.99,81.29,80.04,
-84.44,84.07,85.70,85.63,84.59,81.91,82.45,84.17,88.09,87.16,
-86.55,90.81,90.94,86.25,91.29,88.45,89.62,88.53,88.13,87.71,
-85.61,87.16,91.80,91.62,93.56,88.55,90.10,87.33,93.26,92.86,
-92.79,92.34,89.65,91.39,95.95,95.76,93.68,97.54,92.69,95.24,
-99.25,95.66,94.49,98.28,93.96,96.24,97.63,93.05,94.92,97.45,
-100.88,95.30,98.71,98.91,102.20,98.56,100.38,96.54,98.11,100.59,
-98.30,99.18,101.91,98.60,98.51,102.63,105.91,97.47,105.85,99.47,
-101.96,106.30,102.41,109.57,102.02,102.36,101.40,104.85,108.37,102.84,
-107.31,105.29,107.24,104.25,107.35,109.33,103.02,106.70,105.00,106.71,
-109.52,104.66,107.69,107.54,109.28,107.90,109.09,107.93,106.24,109.76,
-108.42,106.98,109.16,110.16,111.19,109.24,114.77,110.62,113.54,112.18,
-115.03,113.00,112.93,110.38,115.05,114.97,115.49,114.93,112.82,113.52,
-112.19,113.86,113.89,114.37,115.12,114.85,118.98,115.60,113.06,117.46,
-116.47,115.44,114.14,117.92,114.76,118.55,119.39,116.00,118.78,118.72,
-121.38,117.93,115.82,120.23,121.29,118.08,120.24,118.65,119.65,124.05,
-120.42,123.52,117.01,118.58,117.73,125.57,118.34,122.46,123.57,122.59,
-25.19,25.63,27.59,28.32,28.67,30.64,32.24,31.71,32.11,32.85,
-35.05,34.54,36.16,36.81,37.57,38.58,38.26,39.62,40.05,41.05,
-41.50,42.15,43.10,41.79,42.57,45.53,44.59,46.50,47.61,45.82,
-45.17,48.11,47.81,48.49,48.93,50.55,50.08,50.50,50.19,48.94,
-50.34,53.69,53.88,55.12,52.67,52.36,53.45,55.11,56.55,56.80,
-56.84,58.34,58.77,58.50,58.18,57.65,59.49,59.64,59.04,60.95,
-61.72,63.90,59.58,61.71,61.11,62.06,63.08,62.14,64.77,65.33,
-67.44,65.72,64.78,66.66,66.78,69.20,67.08,67.42,68.31,68.89,
-69.55,69.19,68.15,74.13,70.44,70.25,71.32,67.63,72.40,72.11,
-72.75,70.75,73.54,72.84,74.29,73.87,78.44,74.26,77.40,76.50,
-75.55,76.36,77.45,77.64,76.38,76.45,80.41,81.15,81.31,78.76,
-81.87,78.47,78.87,80.19,82.44,80.02,83.89,83.43,79.45,81.78,
-83.71,84.69,80.85,84.89,86.36,86.79,83.74,83.91,86.41,86.15,
-87.49,85.81,86.03,85.19,86.50,88.32,88.97,86.88,85.65,90.71,
-90.33,89.95,91.29,88.69,92.55,87.24,93.06,87.96,91.88,89.98,
-91.10,92.16,94.05,94.33,93.82,93.23,90.07,92.29,92.76,100.21,
-95.93,92.73,98.56,96.12,96.61,96.62,95.01,97.11,93.65,100.26,
-97.40,95.79,96.25,97.96,98.68,97.65,99.09,94.62,97.18,100.32,
-102.11,98.61,101.55,100.46,98.68,98.38,99.32,103.33,100.00,104.03,
-105.20,108.43,101.07,103.64,99.03,102.75,102.77,100.20,104.05,102.67,
-107.15,108.59,105.95,104.89,104.24,103.73,109.04,104.75,107.76,106.22,
-105.94,109.02,108.67,107.89,111.20,116.76,113.16,109.32,106.41,108.08,
-106.43,103.39,109.20,110.55,112.65,110.35,110.12,111.29,113.79,114.11,
-110.71,114.50,116.06,112.47,118.22,114.28,115.75,112.07,117.51,112.93,
-112.49,112.91,115.02,115.66,113.17,113.68,118.38,112.73,117.40,118.73,
-117.53,113.98,117.78,117.33,114.08,119.61,118.90,117.88,120.46,120.36,
-115.28,117.99,118.36,124.42,120.58,114.94,117.78,120.31,123.31,124.62,
-117.19,120.29,121.01,119.96,119.31,115.59,119.80,128.51,127.92,128.03,
-122.65,123.78,126.98,127.68,123.89,122.42,125.20,119.59,126.95,125.16,
-26.45,26.46,28.61,28.57,29.47,29.15,31.68,31.46,33.98,33.12,
-36.28,35.28,35.79,37.25,38.21,38.33,39.00,38.61,39.56,43.64,
-41.84,41.02,44.77,43.13,42.67,46.55,45.34,47.19,47.45,48.13,
-47.21,48.47,49.70,48.50,49.13,51.60,51.46,49.97,53.35,52.71,
-52.80,53.12,52.68,53.61,54.79,54.53,54.99,57.67,59.77,58.10,
-55.75,57.30,58.72,60.52,59.80,59.97,62.10,60.11,62.33,59.45,
-61.35,62.18,65.17,61.99,64.22,64.54,66.80,62.51,68.35,66.80,
-67.09,68.08,69.18,66.87,65.76,68.94,67.07,68.72,71.90,70.33,
-71.52,70.54,72.36,68.76,72.68,72.69,71.63,73.00,78.07,72.12,
-75.75,74.62,74.22,74.67,76.67,74.30,78.66,76.30,75.74,75.88,
-78.37,77.72,80.27,78.60,79.24,80.17,81.03,80.67,83.58,79.21,
-81.40,77.86,82.11,82.27,82.82,82.72,77.97,83.52,85.31,84.23,
-84.63,84.45,84.34,82.69,86.01,87.94,87.53,86.23,86.93,86.32,
-86.98,88.85,87.40,90.18,91.22,89.22,89.38,90.25,90.54,91.50,
-88.79,87.80,94.72,94.31,92.62,91.58,92.10,90.53,94.81,92.12,
-91.03,96.79,95.00,95.00,90.34,96.01,95.13,94.91,98.00,97.10,
-94.03,97.11,98.64,94.82,96.97,98.36,102.56,97.46,101.24,99.45,
-99.14,103.34,98.68,99.96,97.90,99.31,101.74,104.84,99.82,101.26,
-102.13,101.62,103.05,101.67,106.66,103.44,102.41,107.52,104.32,105.74,
-105.74,104.23,106.19,106.98,107.83,105.11,109.57,108.37,106.25,107.33,
-106.25,109.11,109.65,109.35,109.06,105.44,105.34,109.98,103.21,110.23,
-110.93,113.22,107.91,113.45,111.67,113.35,107.91,106.94,115.51,111.69,
-109.08,111.10,111.90,113.09,111.58,114.09,116.29,114.60,113.56,113.75,
-114.68,122.19,114.09,118.33,114.09,113.02,114.48,114.09,118.75,115.93,
-114.69,115.84,117.36,117.57,117.95,117.82,117.47,120.82,118.65,115.90,
-117.75,119.11,123.15,117.84,114.58,121.34,121.88,122.05,119.40,117.19,
-124.47,121.52,121.19,127.90,123.82,128.99,119.77,118.46,123.44,120.66,
-126.71,126.63,119.01,123.63,124.34,126.29,124.60,126.32,127.04,129.27,
-128.00,126.34,127.38,123.51,127.72,128.78,127.66,128.43,123.74,126.82,
-26.12,26.82,28.05,28.74,30.90,30.88,32.62,33.41,32.94,34.25,
-34.34,35.59,37.71,37.49,37.58,40.89,38.66,41.54,40.34,41.96,
-40.94,43.70,45.26,45.74,43.61,45.62,46.42,48.67,48.37,47.16,
-48.78,48.59,50.46,47.50,51.32,50.16,51.65,51.59,52.43,53.21,
-54.64,53.21,54.38,54.55,55.73,56.92,57.99,55.86,57.46,56.11,
-60.70,59.62,60.15,58.13,59.15,61.42,63.64,63.19,62.30,64.28,
-64.96,65.29,60.62,66.21,67.82,65.34,64.52,68.34,66.80,68.79,
-69.35,67.12,70.86,69.13,70.03,68.91,67.58,71.59,73.16,73.53,
-73.12,72.01,73.73,71.01,73.29,72.94,70.83,73.14,71.44,74.89,
-73.26,74.85,78.04,79.11,71.84,76.26,75.42,76.95,77.91,81.14,
-80.80,79.77,77.87,81.56,82.41,80.67,82.59,83.19,81.71,86.24,
-81.90,81.76,79.87,83.22,83.78,86.61,87.06,85.47,83.22,86.21,
-86.79,86.50,85.22,85.44,83.79,88.99,87.39,88.03,92.51,91.77,
-93.01,88.09,88.94,89.52,90.87,90.35,89.02,92.63,89.60,91.38,
-90.44,93.68,91.50,89.11,94.30,95.12,94.28,92.80,96.81,93.62,
-92.50,96.42,93.80,98.28,94.44,94.97,96.94,97.83,98.65,101.50,
-98.79,99.35,98.28,98.23,100.54,99.76,102.21,101.11,99.93,102.73,
-100.96,102.55,99.57,101.02,101.12,105.38,98.67,103.23,99.80,101.48,
-105.04,104.12,108.13,105.15,107.72,105.92,104.42,105.68,105.79,107.41,
-112.65,108.00,105.93,104.76,107.72,107.94,107.87,108.47,105.67,110.67,
-106.40,111.76,108.82,113.92,106.97,111.93,112.20,109.95,111.97,111.63,
-114.35,112.06,113.59,112.53,114.72,111.94,112.54,114.79,109.16,112.65,
-114.83,115.55,115.91,117.93,114.92,120.79,122.66,115.15,116.17,121.71,
-116.85,114.48,114.77,114.53,114.90,113.58,117.07,115.35,118.57,116.39,
-121.13,117.16,118.74,121.32,119.91,126.43,117.84,124.85,123.46,125.48,
-118.30,123.55,124.23,121.11,119.92,121.87,124.49,120.43,119.96,124.37,
-123.49,124.38,128.51,126.62,124.69,126.45,131.17,124.91,128.27,128.80,
-126.04,122.45,123.93,126.40,126.02,126.73,124.25,127.59,129.48,125.22,
-128.19,126.12,132.50,131.02,128.19,128.74,123.45,129.04,127.83,125.50,
-27.23,26.13,28.74,28.96,29.96,31.25,31.81,32.13,34.25,35.64,
-34.59,37.13,38.08,38.15,39.45,38.29,41.39,42.89,40.41,40.50,
-43.87,43.52,44.79,44.68,44.02,46.80,45.74,49.62,46.89,51.19,
-49.09,49.87,48.38,49.73,52.47,52.98,52.30,52.56,52.46,56.06,
-54.13,56.31,55.55,55.61,57.29,57.40,57.58,56.35,58.29,59.83,
-58.47,63.86,61.16,61.76,63.30,64.00,61.49,60.92,64.09,61.99,
-63.23,64.22,63.05,65.14,68.03,65.35,69.52,69.95,68.39,69.87,
-69.19,67.92,68.04,71.83,69.85,70.91,71.08,70.32,72.31,71.83,
-72.35,72.92,72.65,71.59,74.36,75.21,75.37,73.60,75.56,76.06,
-74.33,78.46,75.25,80.15,78.09,79.67,79.42,79.05,78.26,81.36,
-75.79,81.82,81.24,79.36,81.73,80.05,84.00,82.89,84.71,85.32,
-83.75,86.84,82.37,85.41,86.07,84.51,87.83,86.50,87.38,87.88,
-88.11,89.77,87.58,90.71,88.88,86.78,88.62,87.96,91.04,90.84,
-92.24,91.58,93.39,92.63,91.01,92.51,92.51,92.99,93.26,95.92,
-94.08,93.52,93.06,96.64,94.09,92.53,93.26,95.60,95.69,96.89,
-92.79,96.27,97.68,96.62,97.88,98.39,96.86,99.34,101.19,98.57,
-100.75,99.97,105.06,100.15,101.68,98.08,102.62,100.24,101.72,99.14,
-100.91,103.58,103.62,103.60,102.04,104.57,107.33,101.57,105.95,103.85,
-105.71,104.31,104.24,104.23,106.96,107.98,102.54,107.59,109.08,108.41,
-109.19,104.30,105.48,111.09,111.07,111.86,104.74,106.56,109.89,105.80,
-108.43,109.11,111.25,109.61,109.59,111.21,109.96,109.61,116.05,110.96,
-115.21,111.72,114.87,118.18,110.02,118.08,114.78,112.94,118.87,116.18,
-117.12,115.08,117.40,116.70,117.02,119.02,116.32,114.26,121.12,120.19,
-117.51,122.28,114.39,116.78,119.15,118.35,118.66,120.09,120.44,115.53,
-117.79,114.68,126.54,122.46,122.11,123.06,119.24,120.19,123.07,120.17,
-123.39,128.66,125.01,121.64,125.15,126.26,127.61,122.57,128.61,128.59,
-126.22,128.69,125.53,129.87,124.59,127.39,124.56,124.36,127.92,127.80,
-125.90,127.87,131.83,126.16,128.63,127.40,130.34,126.27,127.98,123.66,
-128.37,129.99,129.22,131.46,132.28,130.81,130.23,130.00,128.13,129.89,
-27.36,27.66,28.74,28.18,30.21,32.43,32.86,34.57,33.15,34.06,
-35.74,36.95,35.49,37.35,38.51,40.35,40.62,42.08,39.88,44.02,
-44.51,44.18,45.07,45.74,44.44,46.68,45.72,48.40,48.41,48.32,
-50.60,50.96,50.53,50.28,51.52,52.61,53.44,52.96,56.35,55.56,
-56.42,55.61,55.77,56.83,54.98,57.74,56.63,57.93,58.35,60.17,
-59.50,60.23,60.97,60.63,63.39,62.49,63.00,64.42,61.31,61.30,
-61.68,66.07,65.19,65.86,64.52,66.68,67.86,67.21,66.57,67.42,
-69.74,69.76,68.81,67.89,69.55,72.04,72.01,74.62,70.66,68.27,
-75.52,70.23,73.85,75.81,76.16,75.70,75.78,75.38,77.73,75.89,
-75.75,76.81,77.82,78.25,78.35,79.97,80.04,76.95,77.95,78.83,
-80.81,82.33,79.52,79.95,83.67,82.00,85.06,83.75,83.04,84.45,
-84.28,83.14,82.47,83.45,84.17,87.21,82.93,91.09,83.59,86.24,
-87.11,88.30,92.24,86.85,84.99,90.39,92.47,87.88,92.04,92.34,
-88.99,87.28,91.50,92.51,92.07,89.53,91.96,95.09,91.20,95.74,
-93.89,95.44,95.36,95.86,97.56,95.00,95.60,98.92,99.04,97.78,
-99.42,95.84,95.72,96.59,96.27,96.05,98.43,97.96,100.77,99.16,
-98.16,103.85,97.84,106.59,101.04,101.04,98.90,102.83,103.83,104.23,
-102.14,104.42,108.21,103.75,107.41,100.32,106.63,103.80,107.67,105.08,
-103.77,107.57,108.44,105.93,107.32,109.64,110.28,106.38,105.62,105.61,
-111.56,112.32,111.61,109.86,108.22,107.14,111.33,108.14,113.80,108.25,
-110.06,112.93,112.32,110.06,111.42,109.58,115.35,115.37,115.20,115.65,
-114.20,114.51,114.00,115.46,114.17,113.31,114.59,114.13,112.40,119.98,
-111.26,115.98,119.10,116.71,112.86,111.42,117.46,118.46,116.48,123.73,
-116.45,119.23,120.04,117.96,113.09,119.77,117.21,121.13,122.64,130.27,
-118.73,125.11,119.76,125.36,122.62,120.14,125.87,125.60,122.83,123.17,
-117.44,129.05,123.21,124.79,123.76,126.41,124.51,128.03,124.55,124.04,
-120.84,123.19,122.39,123.98,128.09,128.57,124.58,127.44,128.72,129.18,
-132.03,132.48,131.53,127.88,128.05,130.74,123.61,133.29,127.20,131.16,
-129.26,128.21,128.84,136.90,132.44,132.88,132.09,131.26,134.47,131.45,
-25.66,27.76,28.22,29.76,30.72,30.87,32.64,34.30,33.52,35.05,
-34.55,35.77,37.03,38.22,39.54,39.50,39.71,41.88,41.81,44.05,
-44.51,44.45,44.30,45.62,45.34,46.20,48.35,48.28,48.12,49.25,
-47.30,51.81,49.47,51.30,53.36,52.68,51.76,55.97,53.56,55.15,
-54.19,53.76,56.46,58.41,56.17,57.66,59.00,60.13,62.40,60.71,
-59.82,62.13,60.24,60.55,63.25,63.41,60.34,61.02,65.00,65.57,
-63.00,64.38,66.09,65.73,67.84,67.07,68.36,66.28,68.43,69.47,
-69.74,70.78,70.90,70.56,71.52,71.67,72.28,70.96,71.43,74.36,
-74.45,74.81,74.31,74.58,75.89,73.18,74.74,78.49,79.93,76.89,
-76.77,78.47,76.61,80.42,81.27,79.74,78.41,82.75,81.88,81.89,
-79.40,80.46,80.64,83.89,79.00,84.55,84.62,78.73,84.24,83.71,
-82.22,87.40,87.35,82.75,85.30,83.56,84.85,87.80,88.29,84.36,
-87.48,90.01,87.85,87.59,88.55,90.19,90.34,92.07,91.87,89.49,
-93.15,94.38,92.27,91.29,95.63,95.44,95.66,95.09,92.77,91.61,
-96.17,94.90,94.27,91.57,94.86,95.70,96.62,98.27,97.88,96.91,
-93.67,97.58,97.74,100.87,94.81,99.24,98.66,99.62,99.79,97.94,
-102.50,101.66,100.05,107.74,100.83,102.26,103.75,102.05,104.21,100.63,
-108.33,103.74,99.93,102.81,102.46,101.19,103.87,106.04,107.15,104.96,
-106.00,108.93,103.22,107.86,106.31,109.11,102.45,108.34,106.25,112.74,
-110.72,108.25,104.90,113.99,113.95,113.58,111.80,112.37,114.11,109.65,
-113.70,112.46,112.86,108.75,113.29,113.67,112.13,113.23,112.66,114.93,
-115.86,116.04,117.49,119.41,112.51,119.42,115.38,116.86,111.67,117.60,
-115.90,116.40,119.50,117.66,121.23,114.56,118.57,114.79,118.38,118.44,
-121.60,116.05,118.27,118.23,118.67,124.47,122.42,126.37,122.44,121.55,
-118.48,116.35,122.80,124.18,121.63,120.91,114.60,121.86,122.30,121.52,
-121.82,121.83,124.70,124.42,122.78,126.74,127.80,126.88,128.70,124.88,
-128.19,126.26,129.81,128.80,123.96,130.14,126.86,126.85,124.18,127.92,
-133.11,127.84,127.59,128.57,128.14,124.64,127.15,130.18,127.09,133.49,
-130.81,132.11,129.38,130.90,130.01,131.87,128.65,131.34,133.82,131.61,
-25.47,26.92,28.73,29.13,29.94,30.16,33.13,32.98,34.56,35.26,
-36.11,37.58,38.09,38.62,38.37,39.99,40.94,39.99,42.56,41.76,
-41.64,42.52,44.03,45.62,46.38,47.02,48.93,47.54,49.01,48.47,
-50.53,51.39,49.35,52.70,53.16,53.20,52.38,57.00,54.63,52.56,
-56.13,54.70,56.97,59.91,58.96,57.70,57.73,58.47,60.06,60.91,
-61.50,59.98,61.67,62.80,60.68,62.05,63.24,63.45,60.37,64.97,
-64.11,64.87,65.69,67.71,68.05,64.52,65.81,68.48,71.13,71.11,
-68.89,68.11,69.05,72.92,70.46,70.42,69.60,72.68,72.75,70.95,
-75.31,70.73,73.89,74.01,76.01,77.61,76.24,75.48,72.89,77.14,
-76.13,75.77,79.05,79.76,78.60,81.75,82.93,78.26,82.60,79.68,
-84.72,84.22,85.72,81.22,86.38,81.81,84.28,85.07,85.54,83.83,
-83.60,86.25,82.07,83.48,86.85,85.74,88.89,85.97,87.55,88.91,
-89.19,87.68,85.69,89.62,89.32,92.01,89.11,92.88,92.09,91.34,
-91.05,91.29,92.12,92.26,93.07,94.14,98.85,90.81,94.17,92.98,
-94.06,92.29,97.98,96.54,95.38,98.08,98.41,92.57,94.62,100.10,
-102.59,98.50,97.78,101.21,97.68,99.54,99.60,94.58,103.50,97.57,
-99.79,99.97,102.90,105.42,100.94,99.43,96.94,100.39,101.94,101.33,
-103.68,105.79,107.85,103.21,106.68,106.13,101.87,104.50,110.90,108.29,
-104.77,104.71,110.05,107.89,106.04,109.73,107.45,109.54,101.32,111.05,
-104.01,109.60,111.28,109.00,109.88,115.60,108.76,107.62,111.39,107.53,
-111.43,113.35,113.22,113.24,108.19,107.24,111.48,111.72,115.37,112.97,
-118.06,111.65,114.90,113.70,114.46,115.48,113.77,115.92,113.81,115.69,
-119.83,116.19,112.76,118.79,115.40,120.59,120.76,118.52,114.32,116.32,
-123.60,117.88,121.16,120.86,121.27,121.14,120.99,121.48,122.67,120.10,
-123.48,124.19,124.28,124.27,122.42,121.03,123.97,119.13,121.65,122.98,
-118.79,122.80,124.50,125.67,126.56,126.47,126.38,124.99,127.32,132.21,
-124.90,126.07,122.74,124.67,123.94,125.68,126.57,122.64,128.14,127.12,
-126.47,124.25,126.65,127.97,132.58,129.33,133.71,131.11,130.16,128.23,
-131.62,132.54,130.99,134.98,132.27,127.19,134.04,134.82,132.82,132.24,
-18.31,18.58,18.78,20.26,19.17,20.72,20.65,22.10,22.01,23.18,
-22.29,22.36,23.33,24.09,25.20,25.43,25.63,25.94,25.14,25.31,
-26.80,26.88,27.26,28.44,28.78,28.47,28.80,29.03,29.97,29.87,
-29.97,30.00,31.77,30.85,31.11,31.04,31.71,31.94,32.89,32.70,
-32.37,31.40,33.51,33.51,33.84,33.98,33.96,35.56,35.96,34.65,
-35.76,35.17,37.24,36.03,37.31,36.09,37.83,37.26,37.93,38.77,
-39.17,37.80,38.90,39.65,39.05,38.72,39.08,39.13,40.29,39.71,
-39.86,41.74,40.04,42.36,40.92,43.08,42.89,42.23,42.06,43.29,
-42.58,41.81,42.30,42.68,44.16,43.06,45.15,45.11,44.78,46.18,
-45.36,45.40,45.55,45.84,46.44,45.71,46.50,47.52,46.65,47.98,
-50.34,46.99,48.11,46.61,47.92,47.20,47.98,47.52,50.44,49.91,
-49.51,49.72,50.11,49.97,51.36,49.61,51.21,48.56,50.55,51.32,
-50.62,50.86,53.12,51.94,50.62,52.56,53.67,53.60,53.41,52.63,
-52.49,52.98,51.72,53.21,54.24,55.32,53.90,53.65,53.94,57.41,
-55.73,55.44,57.04,57.02,54.78,55.35,56.00,57.05,55.26,56.80,
-57.80,57.30,54.88,57.65,57.97,57.08,56.45,57.35,55.91,56.89,
-57.70,58.44,59.52,59.91,59.29,59.87,61.31,58.38,59.95,59.49,
-58.80,58.70,59.66,59.57,61.23,59.41,58.98,62.11,61.89,59.04,
-59.86,59.72,64.91,61.62,62.17,64.53,63.74,64.68,60.30,62.23,
-61.04,60.24,63.67,63.25,62.75,65.25,63.62,62.23,62.83,63.73,
-64.02,64.97,61.56,63.47,64.85,65.78,63.82,65.61,69.05,66.44,
-65.71,64.76,65.81,65.79,66.35,65.69,68.75,67.54,66.40,65.66,
-68.88,66.49,69.45,66.38,66.95,68.96,66.76,66.86,67.60,68.54,
-69.72,67.24,68.13,68.51,64.67,70.44,70.06,68.61,70.05,73.06,
-68.11,67.29,72.47,70.46,72.45,70.57,71.39,69.89,71.35,72.87,
-70.65,73.45,71.74,68.81,71.35,71.49,72.31,71.66,74.23,74.87,
-72.17,71.97,71.66,73.49,72.78,73.10,71.95,71.57,74.27,74.19,
-73.85,72.55,75.29,76.75,74.35,76.57,73.16,72.33,74.64,76.75,
-71.99,74.90,75.72,73.71,75.10,75.32,75.63,75.65,73.87,77.10,
-19.64,19.83,21.13,21.12,21.76,22.57,22.65,23.59,23.52,24.02,
-25.41,25.42,25.23,25.93,26.51,26.50,27.35,27.74,28.26,28.63,
-29.59,30.24,29.63,29.80,30.40,30.77,30.89,30.68,32.79,32.54,
-32.06,32.19,33.47,33.06,34.50,34.72,34.22,34.11,35.19,34.30,
-35.93,36.59,37.91,36.03,36.34,37.18,38.66,38.35,39.63,38.85,
-40.00,39.94,41.14,39.23,39.63,39.54,42.74,40.03,41.63,42.42,
-41.92,41.56,42.48,44.35,42.64,44.33,43.06,45.00,44.25,44.44,
-45.29,44.98,44.76,43.21,46.40,46.15,44.33,46.01,47.98,45.51,
-48.10,47.19,47.14,49.06,46.50,48.21,50.90,50.00,49.06,50.49,
-50.99,51.35,51.15,50.55,48.64,50.57,50.86,51.22,50.01,52.79,
-51.07,53.49,53.10,51.09,53.60,52.48,52.31,53.30,54.05,52.49,
-54.98,54.20,54.84,53.97,56.38,54.78,55.71,57.03,55.39,58.56,
-57.02,56.56,58.39,56.23,56.62,56.64,59.87,57.89,58.22,58.18,
-59.90,57.63,55.60,60.74,60.22,57.45,58.33,61.73,60.52,57.24,
-61.18,60.21,59.81,61.32,60.52,61.07,61.65,63.48,61.69,61.73,
-62.79,61.68,62.84,62.22,61.85,63.19,64.21,66.56,64.30,64.37,
-66.82,62.57,63.72,63.55,64.65,62.94,63.58,64.77,65.99,67.24,
-63.29,67.25,67.21,64.05,65.30,66.10,65.66,69.00,67.74,66.35,
-68.61,66.93,67.39,68.70,68.93,66.78,68.86,67.79,68.62,71.74,
-69.96,68.12,70.56,71.01,71.01,71.49,69.35,69.13,71.66,70.72,
-70.06,73.72,70.21,73.03,71.20,72.66,70.23,69.51,74.10,73.23,
-73.06,72.92,74.30,71.60,73.19,73.13,71.54,71.81,73.48,71.41,
-74.81,74.90,77.62,75.31,77.23,75.41,71.98,73.62,77.16,75.75,
-78.14,74.91,76.49,76.92,75.44,78.45,77.66,75.60,74.43,76.34,
-77.77,79.45,79.13,79.38,77.40,77.74,81.94,78.12,78.84,77.39,
-78.99,77.89,82.82,78.85,79.88,78.89,78.97,76.28,80.80,77.51,
-78.64,81.30,83.61,75.98,78.20,82.43,81.99,80.03,79.04,82.44,
-84.24,83.91,80.24,81.23,82.60,83.56,78.83,80.75,87.83,82.34,
-81.19,86.04,86.43,84.33,81.66,82.88,86.54,84.30,85.99,83.33,
-20.28,20.50,21.55,21.44,24.00,24.23,24.38,24.08,25.18,26.72,
-27.05,27.43,28.16,28.52,28.70,28.93,29.55,29.53,31.29,32.19,
-31.50,32.67,32.52,32.76,32.56,33.01,34.56,33.72,35.30,33.62,
-35.94,35.28,35.46,35.79,37.65,37.26,38.66,37.18,37.20,40.41,
-40.17,39.32,40.26,39.63,40.57,39.98,40.49,39.53,41.44,41.79,
-42.94,42.61,44.07,42.94,42.94,42.44,44.03,43.87,45.72,45.79,
-45.19,44.62,46.11,46.48,46.86,48.59,47.11,47.89,49.95,47.54,
-48.98,49.12,49.63,48.37,51.02,49.98,50.98,51.11,49.38,50.81,
-51.58,52.12,52.50,53.86,52.83,53.54,53.06,53.34,53.38,53.75,
-55.52,56.65,54.94,54.58,54.86,55.11,54.37,54.79,57.48,55.34,
-53.77,57.32,54.88,56.93,56.04,57.64,58.67,59.24,59.50,59.76,
-58.78,61.67,59.24,60.43,58.23,60.91,59.44,59.69,60.25,61.30,
-59.92,60.04,59.23,63.04,62.65,60.08,64.68,66.68,65.78,60.94,
-61.44,64.11,66.24,63.61,63.62,61.42,62.74,66.61,66.54,65.08,
-66.47,65.23,67.41,66.32,66.11,65.70,65.26,69.56,68.67,66.60,
-69.56,66.26,68.49,69.08,65.51,69.39,67.07,67.23,69.63,67.58,
-69.72,70.67,70.87,69.25,70.16,68.63,74.73,67.13,71.85,73.66,
-72.10,70.33,71.69,73.16,70.94,72.79,73.16,76.06,72.90,77.31,
-75.85,74.00,75.89,76.22,74.34,75.89,73.79,73.77,74.41,75.33,
-74.38,77.25,76.61,74.32,76.43,74.60,75.93,77.15,77.50,77.89,
-76.84,79.24,76.47,79.24,74.40,78.36,74.82,80.71,79.27,79.85,
-77.50,77.47,78.77,81.33,76.18,79.47,80.17,77.42,81.48,79.30,
-80.79,83.44,76.55,81.35,80.11,84.08,82.47,80.65,82.16,84.12,
-83.04,83.35,84.77,82.89,83.71,82.18,85.31,82.86,83.66,83.70,
-86.15,83.83,86.43,83.40,85.77,81.06,82.76,81.30,86.31,83.84,
-87.75,83.49,86.81,84.65,86.58,89.14,83.26,87.63,84.03,85.30,
-85.46,86.94,85.01,85.48,89.52,84.93,86.29,88.68,89.74,90.92,
-83.56,86.70,91.65,87.64,91.48,86.74,88.04,91.09,90.13,91.47,
-91.06,88.20,88.28,92.66,90.60,92.54,90.45,89.59,91.25,94.07,
-21.50,22.58,23.69,24.10,24.28,25.03,26.27,28.14,27.31,27.54,
-28.65,29.01,29.36,29.54,30.56,31.10,32.10,32.29,32.31,33.17,
-33.96,33.96,32.87,34.62,35.88,35.78,36.62,36.15,37.22,37.23,
-38.78,37.55,37.74,38.03,40.48,39.90,39.78,39.42,40.42,42.01,
-40.62,44.11,44.24,43.81,43.92,44.04,45.02,44.18,44.45,44.83,
-45.37,45.26,44.66,44.93,45.02,47.70,47.13,47.90,48.00,47.67,
-47.45,51.22,50.12,48.72,50.69,50.31,49.57,51.95,52.99,51.83,
-53.11,52.74,51.82,51.22,52.87,54.74,54.90,53.76,55.27,53.46,
-54.59,54.75,56.16,56.10,57.79,56.33,56.64,60.80,60.49,57.28,
-58.93,58.34,57.20,58.18,59.50,59.70,57.85,60.61,60.61,62.45,
-60.11,62.98,60.42,62.99,63.63,62.12,60.98,62.50,61.47,65.50,
-64.76,63.33,63.16,67.38,63.42,64.18,64.33,66.21,62.62,66.15,
-65.13,63.01,65.95,66.32,66.39,66.49,66.86,67.96,68.97,70.14,
-66.77,69.88,66.25,69.35,70.41,68.04,68.28,69.25,69.44,68.84,
-68.17,70.12,70.43,72.28,73.88,71.26,69.19,71.81,74.13,70.51,
-71.17,74.89,74.46,72.89,75.96,69.98,75.15,73.29,74.64,73.98,
-73.72,73.66,75.00,77.07,72.76,75.71,78.70,74.14,76.33,76.52,
-74.31,80.78,77.13,73.55,78.26,74.83,76.61,75.11,75.76,80.82,
-80.05,77.07,82.36,81.06,78.69,79.65,81.61,78.65,81.25,81.84,
-79.16,82.46,81.39,79.41,84.82,82.94,80.99,80.43,82.82,85.32,
-80.30,83.95,82.87,82.99,83.90,88.73,85.04,84.83,82.36,83.64,
-85.28,88.30,85.18,86.02,85.94,88.48,86.88,84.23,84.06,90.96,
-84.51,88.19,89.14,87.18,87.57,89.96,85.94,88.07,83.38,90.17,
-88.97,89.38,89.97,94.78,87.87,88.30,90.08,90.61,92.20,89.86,
-88.85,90.50,91.19,92.78,92.27,93.00,88.83,92.40,88.02,91.90,
-93.77,90.18,91.40,96.75,93.39,92.85,93.18,90.39,89.26,94.55,
-93.92,92.83,93.91,94.06,88.72,95.92,93.74,96.00,89.61,96.27,
-95.60,97.41,96.74,92.28,96.76,96.48,98.30,95.06,94.59,95.68,
-97.47,98.89,97.59,98.08,99.51,96.76,100.04,100.66,98.93,97.82,
-22.70,23.01,24.32,25.13,25.60,25.99,28.36,28.54,27.51,29.36,
-29.56,30.58,30.18,31.56,31.62,32.88,34.30,34.00,35.52,34.88,
-35.13,35.30,37.29,38.23,36.89,38.03,38.32,38.79,39.59,39.46,
-41.10,41.49,41.27,42.31,41.62,42.45,43.52,46.20,44.59,44.68,
-45.15,44.25,45.30,45.09,46.76,47.63,47.27,47.27,47.58,48.58,
-48.93,47.80,48.15,50.70,48.12,49.71,53.11,51.00,51.61,50.82,
-51.38,55.75,54.32,52.71,53.63,53.03,54.15,55.78,54.51,56.65,
-56.53,58.52,55.40,57.86,55.15,55.95,59.98,59.73,57.32,57.35,
-57.00,59.82,57.99,58.08,57.84,59.82,61.45,61.50,59.05,62.02,
-64.81,62.93,63.05,64.40,60.61,62.12,63.35,63.85,64.96,64.57,
-65.70,66.96,62.97,63.70,65.36,67.14,68.78,66.35,66.70,71.62,
-69.79,67.24,67.47,70.23,66.26,67.05,68.80,70.65,70.51,70.93,
-70.03,70.20,68.43,69.40,70.11,71.82,72.48,71.56,73.68,68.90,
-73.75,70.97,74.68,70.60,71.21,77.65,75.95,74.14,74.01,72.85,
-75.48,76.54,71.74,75.16,76.00,77.05,75.48,76.99,74.46,74.59,
-76.13,80.67,78.05,77.60,78.73,77.14,81.83,78.55,77.04,80.44,
-79.63,80.31,80.84,81.92,81.45,83.62,78.62,79.66,83.60,80.59,
-81.20,79.30,83.66,83.67,79.84,85.72,85.61,81.33,84.48,84.25,
-88.29,83.08,86.59,84.26,86.50,86.68,86.26,82.90,86.18,85.14,
-84.73,91.75,84.05,86.56,88.86,91.57,81.48,88.92,89.07,88.11,
-88.42,87.29,89.81,89.08,87.17,87.76,92.70,84.87,89.30,88.69,
-91.51,90.82,87.95,91.42,91.29,95.51,92.85,87.22,89.94,90.91,
-94.89,89.15,91.87,95.12,94.07,91.85,93.86,93.90,97.92,94.49,
-96.37,93.38,94.14,97.15,94.59,97.26,96.44,95.01,94.20,94.51,
-95.51,99.02,97.82,94.17,97.13,100.60,96.09,96.58,100.29,95.89,
-101.39,97.89,96.71,100.09,101.86,98.03,102.08,97.52,100.84,102.70,
-101.53,107.40,101.55,99.51,102.17,99.99,102.17,100.70,102.32,103.67,
-104.90,98.41,100.87,104.71,101.30,100.23,100.08,105.46,102.73,101.44,
-104.98,102.34,100.37,104.77,104.09,102.21,100.39,105.42,103.75,105.89,
-25.24,23.27,25.83,25.62,27.41,26.66,27.62,29.58,30.18,30.88,
-31.01,31.05,31.52,32.83,32.96,35.03,35.71,35.06,36.34,37.05,
-37.70,37.08,38.59,40.72,38.66,39.04,39.45,40.78,40.12,41.73,
-42.03,42.79,43.45,43.31,43.63,44.76,44.95,46.00,46.91,46.66,
-46.47,46.81,47.32,48.65,49.42,50.28,49.30,50.90,52.86,51.78,
-49.77,51.83,53.03,54.31,53.33,53.10,52.09,54.00,56.04,52.66,
-54.04,54.47,57.23,55.94,54.88,57.78,59.08,57.83,57.43,57.90,
-57.68,58.73,57.80,59.23,58.21,61.86,62.87,63.20,62.00,59.90,
-61.34,63.93,62.32,64.07,64.18,61.76,66.43,63.52,66.06,64.03,
-62.96,64.72,65.24,67.79,66.50,66.90,68.92,67.42,68.81,69.18,
-68.46,65.65,68.52,67.58,68.77,66.49,68.83,71.58,71.10,69.73,
-70.57,72.11,73.36,70.47,72.11,70.61,72.13,76.57,72.01,75.73,
-74.54,74.90,72.47,74.29,73.71,76.51,76.10,72.96,78.21,77.21,
-77.55,75.15,76.39,77.65,76.46,77.87,80.58,79.06,79.01,81.63,
-77.12,78.52,78.78,81.70,80.28,79.72,82.46,82.66,82.83,81.52,
-82.24,84.49,79.76,84.85,84.16,80.88,81.90,83.04,79.33,82.60,
-87.16,81.77,86.48,82.68,84.25,86.25,87.51,86.54,86.30,87.17,
-85.83,89.57,85.92,89.07,87.30,89.10,86.52,87.07,90.92,87.90,
-88.40,89.98,88.95,89.42,90.39,88.70,88.36,87.64,90.64,90.87,
-92.85,91.09,87.39,93.68,93.17,90.69,97.21,90.02,91.04,88.82,
-95.73,92.72,92.99,93.46,94.74,98.29,95.07,95.97,95.00,95.34,
-93.55,94.21,97.78,94.87,94.29,96.43,100.21,97.72,99.39,100.99,
-98.18,93.59,102.43,94.64,98.13,100.32,102.05,102.23,98.48,99.35,
-98.50,101.87,97.56,102.25,98.90,103.08,103.10,105.69,100.28,103.57,
-98.08,96.98,102.42,103.51,101.25,104.33,102.40,107.38,105.44,106.14,
-103.37,105.75,107.28,107.03,101.15,108.57,108.57,102.70,104.53,104.98,
-106.92,102.33,105.45,104.91,104.68,105.17,105.19,108.83,102.92,105.91,
-107.11,106.30,107.16,107.89,105.69,106.34,111.14,114.75,107.91,108.89,
-108.76,114.70,111.12,111.89,107.48,110.52,112.50,110.07,109.38,112.78,
-25.21,24.81,25.57,27.24,27.43,27.97,29.42,30.46,32.26,31.19,
-31.72,32.28,32.86,34.26,34.60,35.78,36.64,37.41,37.35,38.82,
-38.98,39.66,40.32,40.61,41.96,41.24,41.21,43.82,44.54,42.13,
-44.36,43.00,45.92,45.37,45.87,45.69,45.20,48.73,47.74,47.50,
-48.91,48.55,51.09,51.60,51.02,53.56,50.09,52.15,51.41,53.86,
-53.85,53.69,55.46,56.07,53.31,53.30,56.70,56.17,55.85,56.84,
-58.25,60.31,56.53,58.32,59.00,59.09,59.07,60.21,59.74,64.01,
-61.26,59.83,62.57,61.69,61.18,61.41,62.31,62.63,64.92,60.51,
-65.37,64.40,65.90,63.31,69.79,66.00,67.65,67.07,64.91,69.89,
-69.66,67.98,70.05,67.47,70.90,69.68,69.63,70.62,71.18,70.11,
-72.09,73.25,72.43,72.81,70.41,71.89,73.15,74.27,73.21,75.01,
-72.44,74.65,79.12,76.50,79.94,75.96,77.49,77.63,77.40,78.64,
-80.70,77.17,76.24,76.33,81.23,79.39,79.19,76.43,82.41,79.75,
-81.59,77.20,77.73,79.80,82.38,81.66,83.24,83.12,82.56,82.96,
-80.14,83.28,85.96,81.03,86.70,87.73,86.02,85.76,84.19,87.35,
-84.53,84.80,89.45,86.49,86.58,88.15,91.17,86.32,87.05,88.20,
-91.14,87.75,87.20,84.78,87.95,90.65,88.95,91.38,91.60,93.20,
-90.38,84.58,88.63,91.00,94.39,90.83,92.25,90.44,92.02,89.82,
-93.55,92.03,93.26,89.77,94.48,95.38,92.90,91.94,95.70,95.34,
-93.28,94.89,96.41,91.78,97.30,93.06,99.11,99.67,96.17,96.97,
-95.28,95.46,97.64,94.95,97.01,99.20,99.81,97.73,99.93,97.57,
-99.39,100.85,104.16,100.15,101.92,97.32,101.57,100.65,103.97,97.55,
-104.85,106.24,104.89,106.23,102.54,104.19,103.80,103.81,102.72,103.28,
-102.72,104.60,104.85,107.95,102.85,109.54,104.62,102.77,103.63,105.04,
-105.87,103.50,109.09,105.32,107.00,108.11,110.35,106.28,110.42,110.33,
-115.97,110.03,115.40,107.80,109.36,107.09,106.98,110.47,110.35,110.76,
-112.43,113.22,111.55,112.92,111.23,115.25,112.99,113.86,114.32,112.02,
-115.22,113.76,109.19,112.29,110.52,114.76,118.87,118.11,113.73,115.76,
-116.86,111.55,111.71,107.94,114.60,118.24,114.65,117.15,115.41,118.26,
-25.40,26.18,26.92,27.54,28.18,29.51,30.24,33.47,32.33,32.70,
-34.68,33.62,34.86,35.12,35.90,37.30,38.35,38.52,39.65,39.89,
-39.54,41.13,42.02,42.33,42.35,42.04,43.59,44.11,45.80,47.19,
-44.92,46.15,47.16,46.92,48.75,48.09,49.56,48.73,50.71,49.23,
-50.76,52.64,53.86,52.26,52.35,52.46,54.41,55.64,53.27,54.53,
-55.60,55.62,56.62,54.53,57.16,56.57,56.83,57.42,61.02,57.44,
-58.71,61.63,62.75,59.31,61.28,60.96,63.30,62.51,65.21,62.95,
-64.35,62.21,65.09,68.22,64.82,67.49,66.44,66.32,69.64,65.23,
-68.32,67.04,70.03,68.07,69.36,69.72,70.20,71.85,69.57,71.55,
-68.83,71.66,70.10,72.99,73.96,71.87,71.41,72.64,74.07,74.25,
-74.91,74.34,73.80,71.94,73.76,76.74,81.38,81.32,73.68,76.99,
-80.05,79.94,77.64,76.34,80.05,78.76,77.33,78.86,81.00,81.23,
-81.92,79.61,80.16,80.83,80.27,82.80,85.55,82.82,84.15,86.05,
-83.45,81.57,84.09,83.45,84.06,82.80,84.25,84.39,86.63,84.69,
-84.56,87.39,86.61,84.42,86.64,90.37,86.01,89.10,88.36,89.03,
-87.35,89.90,89.85,86.94,90.08,86.15,89.18,89.60,90.05,90.38,
-93.48,93.43,92.93,90.89,92.87,94.50,91.00,94.68,95.39,94.81,
-96.87,94.88,94.25,91.85,94.67,93.93,94.67,98.48,96.67,99.56,
-97.88,99.80,98.87,95.32,96.83,95.44,99.38,97.11,97.62,102.76,
-102.41,103.47,101.34,99.77,96.33,97.51,101.16,106.00,99.89,100.78,
-104.21,100.40,106.24,99.63,102.51,104.57,100.60,102.66,103.32,106.15,
-104.48,106.67,108.82,103.33,104.19,105.69,100.26,108.15,107.39,104.20,
-104.31,104.42,105.92,110.46,110.95,109.90,106.54,106.62,106.61,105.47,
-110.56,105.34,107.18,109.33,108.84,113.77,107.74,111.34,109.00,110.64,
-105.70,107.49,108.32,112.81,107.49,111.50,115.56,113.07,114.79,116.41,
-115.92,112.43,113.97,113.88,118.70,115.41,115.69,111.77,115.77,116.17,
-118.67,116.94,118.10,112.54,116.18,118.84,117.57,116.45,118.61,114.64,
-120.03,119.76,116.09,120.94,119.77,117.28,120.48,117.49,119.16,120.68,
-121.00,125.39,119.48,120.70,118.83,120.18,118.78,124.21,117.99,118.36,
-26.08,27.22,28.03,29.20,29.45,31.04,30.92,31.79,33.79,34.17,
-33.94,37.07,35.42,37.02,38.22,38.46,39.41,40.35,41.32,40.51,
-41.24,42.63,43.49,43.55,43.70,44.57,44.51,47.79,44.64,47.75,
-49.33,50.11,49.51,47.30,50.33,50.92,49.05,50.19,49.70,53.38,
-52.07,53.97,55.07,53.59,54.18,53.95,55.74,56.65,56.21,57.59,
-56.36,59.45,57.31,59.94,58.24,59.57,61.69,59.16,62.03,62.13,
-58.24,62.43,61.59,63.12,64.38,64.50,64.04,63.84,64.87,63.79,
-66.81,65.52,66.65,68.88,66.33,66.13,67.01,68.45,67.73,69.68,
-67.58,71.33,69.13,70.61,70.99,67.60,70.46,70.68,71.42,71.76,
-73.62,72.16,71.30,74.26,75.93,76.52,76.28,78.30,74.86,76.64,
-77.55,78.36,74.99,78.17,75.81,82.30,77.04,78.79,80.12,77.37,
-79.84,80.39,80.21,79.95,83.01,86.83,78.10,83.31,82.22,83.14,
-84.94,87.93,85.28,85.06,85.35,84.82,83.27,82.82,86.61,86.40,
-88.51,88.33,86.21,88.25,88.72,89.67,85.19,88.00,88.55,92.29,
-88.35,87.17,85.88,89.95,87.27,90.14,92.99,90.72,92.48,94.52,
-93.08,93.64,92.77,90.34,92.28,91.81,94.73,95.46,92.73,92.34,
-94.05,95.33,97.93,100.22,96.91,99.33,94.31,94.79,98.36,98.38,
-97.22,97.50,98.68,102.32,96.98,98.93,102.70,102.94,101.67,100.55,
-97.25,101.53,97.92,101.03,101.72,101.06,103.81,98.61,98.63,102.96,
-97.96,101.58,102.58,106.62,105.43,105.67,105.12,99.54,101.63,106.44,
-97.41,109.43,104.63,109.29,104.70,106.37,108.24,108.09,105.46,110.46,
-109.78,111.43,112.80,109.01,108.43,107.97,109.43,112.07,110.07,110.11,
-109.03,111.60,111.16,115.59,114.17,111.57,110.74,115.49,110.79,112.33,
-111.36,115.09,115.07,117.16,115.84,114.20,113.55,115.84,112.06,115.89,
-111.83,113.22,118.63,112.42,118.25,119.23,117.66,115.64,112.35,115.14,
-119.54,116.17,117.41,119.88,119.72,116.58,117.06,122.73,120.89,121.28,
-119.95,126.63,120.05,120.09,117.07,121.78,119.16,123.17,125.00,119.24,
-121.86,119.66,121.02,124.44,124.00,124.87,124.85,116.02,123.38,125.02,
-115.96,120.72,122.61,126.21,121.01,123.59,120.52,129.82,128.69,124.44,
-27.21,27.77,28.76,29.48,29.57,32.04,31.76,33.43,34.52,35.42,
-34.32,36.42,36.04,37.21,38.35,38.38,39.99,40.41,40.61,44.50,
-40.22,42.87,43.76,42.75,45.57,44.61,46.74,46.92,47.93,48.45,
-50.31,50.32,49.81,50.24,52.49,51.87,52.85,50.94,53.62,53.19,
-54.94,54.00,56.09,56.78,56.62,55.12,58.13,58.79,59.37,57.59,
-59.43,57.39,55.72,59.52,59.56,61.06,60.59,62.49,62.36,62.21,
-62.84,66.42,64.31,64.49,64.96,65.99,65.78,65.75,67.96,68.77,
-69.82,65.88,68.16,66.61,69.31,70.25,70.84,70.75,69.47,73.49,
-69.06,70.79,73.45,72.60,75.92,74.58,74.44,73.88,74.22,75.31,
-74.94,74.18,77.26,77.78,80.17,75.98,78.93,79.02,79.28,78.35,
-81.71,79.27,77.99,78.87,78.58,81.55,79.57,79.63,83.83,82.98,
-83.11,82.22,79.59,81.17,83.04,78.98,84.54,82.45,85.32,84.34,
-85.90,85.45,86.11,86.74,86.67,85.08,89.35,85.87,90.45,89.51,
-88.98,88.07,91.85,90.27,88.86,91.43,94.45,90.72,90.53,93.72,
-89.81,91.77,94.50,91.60,92.26,91.63,91.89,90.65,97.61,90.63,
-92.51,92.08,92.54,97.68,93.82,95.32,95.86,95.43,95.13,97.57,
-100.74,97.31,97.98,99.78,96.77,96.61,97.42,100.19,101.25,102.44,
-102.42,105.39,101.23,103.38,99.43,104.23,103.43,102.49,100.42,102.05,
-103.63,103.31,101.86,106.63,104.20,104.83,105.79,103.89,102.76,112.54,
-106.69,106.36,110.37,107.17,106.41,110.61,107.16,110.23,101.74,106.72,
-109.15,111.38,110.65,107.80,112.88,113.80,109.60,113.97,111.29,109.00,
-115.09,113.13,115.88,112.61,114.25,112.07,109.31,108.13,112.66,113.37,
-113.25,114.71,115.72,115.65,114.24,112.74,117.69,114.54,111.85,118.17,
-114.72,120.16,119.17,116.12,110.39,120.42,119.28,112.73,117.22,120.50,
-114.57,118.51,113.70,119.08,114.75,118.68,123.06,114.82,121.15,119.66,
-111.94,117.35,120.85,118.40,124.54,122.77,122.83,123.54,123.43,126.64,
-122.35,125.43,122.53,119.84,125.82,127.34,122.82,124.47,125.52,125.12,
-128.40,127.51,124.03,131.00,121.31,127.06,123.28,123.28,126.20,126.45,
-128.75,128.82,129.43,126.22,131.97,128.29,127.89,128.89,126.55,129.26,
-27.20,27.90,28.93,30.87,29.66,31.58,33.81,34.41,34.42,36.18,
-35.59,37.33,38.29,38.14,39.78,39.66,40.54,43.47,42.83,41.73,
-43.80,43.88,45.18,45.78,45.76,44.76,47.39,46.90,47.42,49.64,
-50.75,48.53,50.75,52.48,52.16,51.64,54.91,53.28,54.19,54.83,
-55.14,57.13,54.68,57.04,56.75,59.30,58.58,58.52,60.80,58.07,
-60.25,62.69,61.49,62.47,61.09,61.75,63.43,62.14,64.91,65.10,
-64.84,63.98,65.84,68.00,67.87,67.29,66.70,67.90,67.32,70.36,
-68.73,70.76,70.39,66.36,69.35,72.54,71.49,70.44,72.15,71.68,
-73.47,71.68,73.39,74.29,75.10,74.76,78.48,75.43,76.61,77.53,
-80.74,78.24,76.90,76.67,79.63,81.03,79.04,81.58,80.07,81.01,
-80.41,79.40,80.17,79.83,82.48,81.30,84.32,82.27,81.99,83.25,
-87.13,83.88,83.83,84.88,84.62,85.52,87.45,85.12,85.67,87.44,
-86.08,88.14,87.83,89.63,90.07,88.76,86.70,88.16,93.10,93.36,
-92.13,90.21,89.09,90.02,90.33,93.65,93.82,93.67,97.73,93.32,
-95.18,91.32,92.96,95.67,95.76,96.77,92.89,97.58,97.63,100.16,
-95.83,100.62,97.32,98.98,99.58,99.57,100.40,97.11,101.19,103.65,
-98.22,98.89,103.26,98.87,102.22,99.44,99.12,100.01,100.89,103.74,
-100.60,104.92,103.59,106.62,102.43,105.41,105.36,103.17,106.89,104.47,
-109.12,105.01,108.66,111.80,104.92,103.47,104.34,106.92,114.75,112.17,
-108.76,110.86,110.62,106.92,106.13,108.66,109.75,112.05,107.28,108.62,
-110.62,111.14,109.35,112.07,112.33,109.53,110.88,113.60,112.85,112.64,
-114.42,114.60,113.33,118.17,116.20,111.46,117.19,115.19,117.88,113.76,
-114.36,115.86,115.21,117.54,118.48,117.24,119.25,120.57,114.33,118.45,
-120.07,122.32,119.48,123.44,115.62,115.57,119.22,118.44,118.14,120.80,
-118.13,119.97,122.97,118.46,123.51,123.17,120.12,116.83,123.41,124.59,
-126.25,125.16,124.23,122.96,124.08,126.40,121.10,125.07,128.03,120.76,
-127.30,125.41,125.97,131.03,128.41,123.65,127.75,125.63,130.19,123.15,
-131.91,127.23,127.92,126.73,126.44,125.18,126.22,130.77,133.21,122.92,
-133.13,133.33,131.30,132.97,129.15,131.45,132.16,132.66,126.10,128.76,
-26.95,28.42,29.60,30.00,31.26,32.52,33.98,33.75,36.21,35.64,
-36.86,37.82,37.70,38.52,39.63,39.95,41.71,42.63,43.09,42.62,
-44.95,45.30,46.59,46.21,48.00,46.92,46.03,46.85,50.31,48.74,
-49.47,50.13,53.38,52.87,52.50,53.77,54.37,53.72,54.19,57.53,
-55.79,59.19,55.47,55.16,58.79,58.54,59.81,61.29,61.22,60.08,
-61.29,62.02,64.90,63.34,64.21,63.32,64.04,63.71,63.90,63.34,
-67.67,66.10,67.18,68.05,66.12,68.63,69.27,70.55,71.01,67.00,
-70.71,68.69,74.48,73.44,72.68,75.70,76.38,72.66,72.42,75.49,
-72.73,75.20,79.06,73.47,74.68,76.94,81.04,77.42,78.32,79.55,
-77.12,78.76,81.18,78.40,79.85,78.96,80.34,83.27,80.19,82.29,
-82.81,80.96,82.67,81.55,82.82,84.48,80.78,83.89,85.02,87.99,
-88.33,83.94,87.86,89.87,86.72,88.49,90.05,91.58,87.59,87.71,
-91.41,88.91,89.46,89.96,90.10,89.92,89.51,96.06,92.88,92.62,
-93.55,94.50,91.18,94.61,95.08,92.88,92.89,97.88,97.46,94.59,
-97.81,94.53,95.87,94.99,97.88,103.76,97.19,99.28,96.89,98.41,
-98.63,93.09,98.51,97.30,99.20,101.12,100.32,102.43,101.33,101.00,
-104.20,104.40,103.38,100.94,103.32,107.15,98.78,105.89,102.04,102.63,
-104.13,101.75,105.60,101.72,106.33,104.64,103.06,105.90,102.65,105.54,
-106.24,102.68,108.13,106.34,113.49,105.90,110.82,112.86,111.55,109.92,
-110.73,109.25,114.28,111.79,113.18,110.31,112.98,113.66,111.22,114.78,
-112.36,112.36,113.34,121.08,115.67,113.97,111.90,115.29,114.87,112.48,
-118.43,116.72,116.32,115.13,114.64,120.53,121.53,122.28,117.77,116.50,
-119.22,124.36,114.71,118.55,118.04,119.69,118.03,122.44,121.85,116.32,
-123.89,126.05,126.56,123.78,126.17,120.97,124.81,128.42,120.81,124.80,
-121.87,126.30,125.14,120.44,119.86,123.43,120.39,122.21,126.95,125.58,
-121.88,129.32,122.62,123.47,125.98,124.33,125.93,125.70,134.75,131.66,
-131.62,128.57,129.53,132.91,128.83,129.60,128.16,126.35,130.52,131.30,
-128.50,126.53,127.50,130.48,135.70,131.65,129.91,133.76,134.64,135.39,
-131.97,132.88,131.66,131.07,133.63,132.23,135.52,132.89,134.06,130.80,
-28.47,28.90,29.25,30.58,33.18,32.74,34.23,34.12,36.39,34.42,
-37.70,38.28,40.03,38.88,40.42,42.97,42.31,42.89,44.01,43.84,
-45.20,45.48,45.81,47.89,48.47,47.44,48.62,49.80,49.12,49.83,
-50.53,51.91,51.56,52.57,54.64,55.06,56.54,56.40,55.96,56.42,
-57.26,57.57,59.71,58.58,59.18,59.57,59.74,62.02,63.10,61.80,
-62.67,61.46,65.73,63.81,63.15,66.31,62.36,67.35,66.70,64.85,
-68.38,66.19,67.06,66.71,68.19,68.53,68.80,70.25,69.85,69.75,
-73.19,75.99,71.01,73.34,70.15,76.45,71.36,75.54,76.87,75.25,
-75.60,78.44,79.41,72.39,77.57,75.77,77.84,80.52,76.65,75.45,
-78.54,84.05,78.04,78.53,82.05,83.11,84.46,83.74,84.23,85.31,
-85.64,82.45,89.24,86.51,87.71,83.61,83.71,89.10,86.82,85.76,
-87.03,88.17,88.63,89.54,87.95,94.37,91.26,87.30,93.03,87.77,
-93.18,91.76,93.06,90.87,92.81,91.85,96.47,94.13,91.96,96.24,
-90.28,92.97,92.39,96.93,97.27,92.87,99.17,101.16,95.52,100.45,
-95.76,98.45,99.94,99.40,97.44,98.27,100.03,99.89,98.78,100.46,
-105.84,99.28,105.84,103.84,102.27,102.08,100.15,99.40,103.99,108.19,
-106.24,105.16,100.38,104.71,100.83,106.96,103.13,106.84,104.60,107.59,
-110.74,105.54,105.25,106.28,109.83,110.30,107.92,105.87,108.94,107.13,
-110.35,108.41,106.31,110.64,111.69,107.22,109.59,109.27,109.12,111.50,
-111.73,113.02,112.40,109.15,113.95,112.23,114.05,114.96,111.52,116.78,
-112.60,115.71,113.96,115.39,116.71,113.01,117.19,117.07,118.76,116.25,
-118.98,120.41,116.10,118.16,119.98,118.43,118.67,120.66,119.68,118.37,
-117.38,122.07,119.42,116.95,117.57,123.77,120.02,125.46,122.69,123.15,
-126.06,125.08,119.50,125.17,122.34,123.44,124.66,125.57,120.92,122.70,
-125.52,128.27,125.20,126.11,127.94,124.61,130.21,127.69,129.17,131.11,
-134.05,136.97,125.32,130.08,131.84,127.72,125.31,131.69,132.86,130.93,
-134.93,129.32,126.93,132.78,132.06,130.63,131.05,130.28,129.22,133.78,
-128.81,134.49,131.68,130.86,133.66,126.24,136.45,132.35,131.33,134.56,
-138.48,137.02,140.43,141.21,136.96,130.01,136.28,139.11,142.58,141.76,
-26.93,28.91,30.31,30.65,30.94,32.73,33.77,35.79,35.70,37.00,
-38.07,37.58,41.23,39.06,42.98,40.33,41.58,43.44,45.25,44.77,
-45.66,46.74,44.67,46.52,47.80,49.81,48.04,49.30,52.62,52.75,
-53.05,53.29,51.61,53.28,54.94,52.82,55.36,56.04,55.31,57.71,
-58.11,58.48,57.74,61.48,59.61,61.92,60.74,62.84,60.18,62.86,
-63.51,63.17,65.88,63.41,64.82,65.84,66.57,65.91,64.56,64.09,
-69.80,69.81,67.89,68.70,70.78,69.60,70.91,69.72,71.78,71.25,
-74.54,73.11,74.54,72.90,74.89,71.99,76.93,75.96,74.86,76.69,
-76.28,76.79,77.61,77.83,80.47,75.82,80.28,76.11,79.84,77.85,
-80.12,78.86,82.02,79.64,82.10,82.88,83.74,84.32,82.26,84.42,
-85.34,82.37,85.71,86.60,85.48,85.08,86.82,87.92,85.14,85.04,
-86.45,89.85,86.94,93.29,89.71,89.22,90.17,92.19,95.46,89.39,
-89.78,91.76,91.32,95.34,92.56,93.33,95.59,95.65,92.24,96.36,
-93.13,96.43,96.54,95.48,94.36,96.52,98.04,100.46,98.39,98.34,
-101.20,103.62,100.36,97.70,102.80,100.53,100.80,96.41,104.74,97.19,
-99.84,102.65,102.62,100.54,102.62,106.95,98.34,100.98,102.86,104.16,
-101.08,109.86,105.86,99.28,100.91,99.64,105.81,110.38,104.53,107.83,
-107.84,110.89,110.97,110.25,108.03,113.43,113.05,109.97,107.77,104.90,
-111.23,112.25,108.12,110.30,115.90,105.97,114.08,107.55,111.48,112.87,
-109.84,112.60,110.66,116.84,115.23,116.50,113.62,114.46,115.49,117.99,
-113.72,112.27,113.43,117.39,120.24,118.46,117.37,116.32,120.08,114.32,
-118.83,121.38,121.95,124.85,119.49,122.54,117.92,120.66,120.39,118.82,
-121.45,126.41,121.58,121.68,120.93,122.65,119.10,125.29,129.47,131.91,
-122.56,124.34,126.19,127.79,132.78,125.65,123.79,124.41,124.63,129.84,
-124.77,134.52,128.35,126.41,125.35,130.13,126.22,131.53,128.51,132.69,
-126.24,132.26,129.21,132.78,126.08,129.83,131.87,129.78,137.61,131.39,
-130.26,131.76,128.70,133.94,132.91,131.94,134.95,136.67,133.05,133.69,
-132.69,129.18,132.92,133.49,130.25,136.04,133.99,138.79,135.13,140.84,
-132.85,138.23,132.56,135.46,135.22,142.65,140.74,137.53,140.21,138.81,
-27.96,29.29,30.88,30.14,32.37,33.14,33.75,36.46,36.19,36.84,
-38.10,38.95,38.94,39.65,40.02,43.84,41.73,41.96,43.93,46.27,
-46.81,46.27,45.71,48.47,48.52,48.61,51.45,51.64,51.84,51.84,
-53.45,54.25,54.40,53.78,55.54,56.10,56.32,56.55,57.78,56.88,
-56.14,59.10,60.12,59.93,60.53,58.72,62.03,61.58,63.48,65.28,
-63.39,65.79,61.59,65.78,66.56,66.01,66.79,68.33,67.10,67.00,
-67.26,69.98,68.66,66.95,70.23,69.08,70.84,72.94,72.64,72.95,
-73.09,72.41,72.37,74.92,75.55,74.39,73.43,74.11,76.95,77.53,
-79.30,75.76,79.43,76.91,78.06,78.48,77.78,81.69,83.51,79.09,
-82.85,85.40,86.80,78.88,84.21,83.53,84.19,83.33,86.63,86.96,
-82.85,87.26,84.84,85.29,86.70,82.72,86.40,87.19,91.80,85.48,
-89.47,90.16,91.60,86.75,92.71,92.07,89.42,93.46,89.41,89.72,
-89.56,93.65,95.22,94.91,92.76,97.96,95.54,93.14,95.57,92.75,
-95.54,95.18,98.83,97.07,95.99,95.69,95.19,98.54,96.79,96.90,
-101.16,97.71,99.12,99.93,102.20,102.87,98.21,104.09,101.21,102.66,
-101.97,101.62,102.94,102.11,105.04,102.24,101.98,105.12,105.25,105.52,
-108.19,103.69,104.21,104.89,111.08,105.26,106.26,107.30,107.34,104.82,
-108.15,109.77,111.65,108.38,110.30,111.32,111.88,109.72,113.40,112.52,
-106.14,113.77,108.52,113.60,111.31,119.44,112.12,116.47,114.10,115.57,
-116.97,112.45,110.50,116.56,117.68,107.03,112.40,114.02,116.99,120.61,
-112.10,119.14,116.21,121.63,121.58,119.92,117.25,120.88,118.23,116.97,
-121.97,118.59,118.93,119.90,124.76,124.18,118.59,119.09,121.18,121.17,
-120.54,124.78,122.95,124.10,120.93,119.70,121.87,123.38,122.48,125.54,
-123.20,129.38,122.54,123.44,123.95,127.56,127.67,126.36,128.55,131.25,
-128.47,126.08,130.93,125.40,128.86,131.94,129.64,133.99,130.64,129.81,
-129.53,128.36,131.11,134.39,131.91,137.50,133.19,128.81,131.33,134.63,
-125.86,130.19,132.14,134.17,130.31,132.31,133.73,136.22,133.00,131.13,
-129.78,133.77,136.93,137.55,132.69,134.95,137.24,134.42,140.25,137.69,
-134.17,139.31,138.90,139.41,136.57,140.26,142.96,142.76,138.65,142.34,
-18.42,20.37,19.94,19.74,19.29,21.46,20.75,20.45,21.56,21.62,
-22.23,23.39,23.26,23.21,23.60,24.22,24.40,25.24,25.59,24.38,
-27.06,26.43,27.08,26.44,27.64,26.86,27.92,27.98,28.91,27.29,
-28.28,27.96,28.65,29.37,30.00,30.24,29.61,32.24,29.40,30.91,
-31.84,31.79,31.52,32.09,31.42,32.37,33.54,33.22,32.85,34.56,
-32.32,32.72,35.18,36.24,34.15,33.50,34.94,35.67,35.00,34.68,
-36.46,36.77,38.08,38.39,39.51,37.22,36.94,36.62,36.72,38.23,
-38.83,37.79,37.72,39.58,38.48,39.59,38.60,38.96,39.57,40.73,
-38.64,40.26,41.00,40.14,40.84,39.93,42.58,41.30,42.99,44.45,
-42.10,44.13,42.78,42.98,43.38,42.99,43.96,42.27,44.41,43.54,
-43.98,44.24,45.31,44.32,44.67,45.01,44.66,45.46,43.81,44.36,
-45.76,46.38,48.25,45.84,46.25,47.76,45.78,46.71,47.15,47.02,
-48.37,48.96,46.43,47.42,48.09,50.16,47.23,50.14,46.57,48.97,
-49.17,50.47,49.80,49.25,49.40,51.47,50.26,51.86,48.72,52.93,
-50.25,51.81,51.37,51.40,52.50,52.60,49.83,52.39,52.28,51.46,
-53.14,52.22,51.16,52.17,55.25,53.09,54.93,53.66,53.41,54.74,
-52.97,54.21,54.35,53.88,55.65,55.38,55.15,55.55,54.78,58.04,
-54.47,54.45,55.64,54.31,56.36,59.11,55.87,55.60,57.24,54.89,
-57.18,56.27,56.37,57.32,59.57,55.52,56.89,58.53,58.33,57.48,
-57.93,57.33,57.21,60.98,58.66,62.01,63.68,60.68,60.74,61.00,
-59.43,59.90,60.32,61.22,60.25,60.58,59.11,62.37,60.33,62.34,
-60.55,61.91,61.86,61.32,59.57,61.42,63.26,61.24,61.44,63.40,
-59.55,64.43,65.97,62.62,62.44,65.48,61.28,65.34,63.99,62.77,
-63.72,65.25,63.38,64.16,62.62,62.82,67.38,61.95,65.65,64.07,
-63.37,66.15,64.35,66.36,67.68,63.90,65.69,64.55,65.63,68.47,
-66.61,67.73,66.90,66.25,69.76,69.04,66.82,69.53,69.00,66.37,
-67.17,67.53,69.31,67.10,67.17,69.57,66.82,70.06,68.27,68.72,
-70.33,69.61,70.74,69.07,67.99,70.51,67.81,72.96,69.66,69.96,
-69.98,70.85,68.28,72.03,73.64,70.73,71.51,72.84,73.40,69.07,
-19.52,20.40,20.36,20.38,22.09,22.67,22.78,22.60,22.97,23.16,
-22.77,25.01,25.22,25.23,27.67,26.74,26.10,26.68,27.64,27.17,
-27.98,26.46,29.76,30.45,29.50,30.49,30.03,29.89,31.30,31.41,
-31.25,31.78,31.29,31.83,32.68,35.16,34.25,33.41,34.54,34.59,
-35.21,34.45,35.97,35.38,35.57,34.56,36.76,36.13,36.48,36.42,
-37.29,38.76,38.62,38.58,37.97,38.35,39.81,39.81,39.92,39.26,
-40.39,40.87,41.15,41.43,41.16,41.53,42.88,41.72,41.27,42.17,
-43.08,41.37,43.84,43.97,43.95,42.42,44.71,43.31,43.63,44.66,
-45.63,43.26,44.66,45.25,44.38,45.41,46.10,46.00,46.73,48.17,
-46.36,47.05,47.63,47.16,49.75,50.84,47.36,50.19,48.97,48.58,
-48.82,48.64,48.47,49.92,50.33,49.47,49.67,50.29,49.85,53.23,
-50.44,52.39,51.90,51.20,51.86,54.08,52.07,53.92,52.09,55.01,
-51.67,54.87,53.96,53.61,53.84,52.58,52.57,52.63,56.60,54.60,
-54.89,55.39,54.58,57.33,54.53,55.40,55.65,56.66,57.59,57.51,
-56.51,55.04,55.74,58.02,57.88,57.15,60.08,57.74,56.94,59.14,
-58.54,58.77,57.40,59.98,57.84,60.42,58.78,57.71,58.61,60.92,
-59.75,58.59,59.82,61.60,59.36,61.06,58.28,63.27,61.47,61.59,
-63.98,61.36,64.85,63.59,62.43,64.48,66.11,62.35,61.37,61.94,
-62.62,61.79,62.54,63.97,63.13,66.89,65.90,62.48,61.70,65.22,
-66.18,65.09,65.50,64.88,64.70,62.89,64.18,66.91,66.13,66.23,
-67.70,66.74,68.82,66.63,66.01,66.92,69.23,70.77,65.57,67.48,
-67.98,68.11,69.69,68.47,67.69,70.40,69.71,67.54,71.62,67.31,
-69.80,68.59,70.36,70.29,70.71,69.05,69.58,72.05,69.15,71.37,
-68.29,72.31,71.94,69.14,70.28,70.58,73.15,70.93,73.83,72.96,
-72.49,71.02,73.10,71.54,71.56,72.30,72.37,74.00,78.49,75.46,
-74.46,75.42,74.19,74.52,73.38,76.65,77.03,75.23,77.07,74.93,
-77.07,75.40,74.64,75.20,76.29,73.94,75.13,75.95,73.94,74.79,
-75.93,74.33,77.33,75.92,81.26,77.58,78.91,77.10,76.64,75.23,
-76.82,77.31,80.42,78.32,80.35,74.38,80.10,77.69,75.88,80.88,
-20.37,20.86,21.84,23.07,21.78,24.25,24.24,23.95,25.57,25.77,
-25.80,25.76,26.38,28.69,28.15,29.65,29.38,29.38,30.27,29.49,
-30.52,30.87,31.01,31.51,32.04,31.53,32.18,32.00,34.33,34.93,
-34.37,34.70,33.99,37.27,35.35,35.19,36.19,35.66,36.72,36.14,
-38.37,38.94,38.66,39.51,38.08,38.74,39.82,38.61,39.15,40.08,
-40.25,41.71,40.43,42.51,42.43,42.61,42.51,42.27,42.99,42.66,
-42.07,43.00,44.48,44.09,45.70,44.47,45.40,44.09,45.10,45.18,
-47.32,47.13,47.83,45.97,45.99,47.08,46.96,47.01,50.93,47.60,
-48.24,48.90,48.54,50.83,49.72,49.87,48.48,50.21,48.96,50.78,
-53.40,53.40,52.76,50.13,53.42,51.90,50.79,52.90,52.22,52.92,
-54.51,53.31,54.30,54.46,54.20,55.66,55.10,54.71,54.39,54.75,
-56.71,57.81,55.95,56.74,57.85,58.70,55.64,57.17,58.67,55.95,
-57.24,56.82,57.64,58.54,60.53,58.31,60.74,60.28,59.33,58.56,
-60.84,60.45,60.17,61.78,59.05,63.26,60.81,59.54,60.90,59.24,
-60.41,62.96,62.15,65.15,62.27,62.07,62.19,64.88,64.84,61.26,
-63.73,63.40,64.63,63.11,66.43,63.54,65.84,65.82,64.20,63.44,
-66.79,67.13,65.98,64.35,68.94,68.35,68.27,67.44,65.61,67.10,
-67.05,66.19,68.12,68.94,67.01,68.02,70.53,68.50,65.97,69.48,
-68.07,69.58,67.68,68.94,71.65,72.54,68.04,71.71,71.62,73.18,
-71.29,75.88,72.67,71.72,68.14,72.89,72.08,72.59,72.73,74.37,
-71.71,74.39,74.81,73.95,74.34,71.56,71.53,72.30,76.07,74.20,
-74.59,75.28,77.73,74.88,76.45,76.05,73.94,75.81,70.97,76.69,
-73.78,75.88,77.89,76.06,75.50,76.66,73.77,78.46,74.70,77.58,
-79.15,79.02,74.68,76.47,77.37,80.08,74.65,75.50,78.36,73.91,
-82.82,77.87,75.20,79.07,79.10,80.59,80.14,79.72,81.16,81.40,
-78.10,79.13,85.74,82.80,80.55,81.26,81.47,82.62,82.85,85.14,
-83.97,85.35,83.17,78.97,82.50,81.49,82.46,86.19,81.58,83.18,
-84.30,81.53,81.96,82.87,83.54,84.78,86.78,84.64,86.02,84.11,
-85.24,85.56,87.23,87.07,86.85,87.10,85.40,88.99,86.98,90.76,
-21.62,22.32,22.93,25.85,24.09,25.27,25.57,26.76,25.78,26.03,
-27.51,28.73,28.50,30.08,29.24,29.96,30.29,31.03,31.69,32.82,
-32.97,32.31,33.92,34.08,34.14,35.28,33.88,34.36,36.80,34.70,
-36.78,36.59,36.95,37.26,38.21,39.09,39.26,37.04,38.20,39.05,
-39.96,40.55,42.04,40.77,40.46,40.67,42.96,41.90,44.34,44.16,
-45.32,43.71,45.20,46.61,45.83,45.62,46.26,46.53,46.47,47.00,
-46.60,47.41,46.48,48.41,50.69,49.63,48.07,48.61,50.77,48.47,
-49.92,48.44,49.00,51.46,51.21,52.30,51.65,50.54,53.67,50.83,
-54.19,53.00,53.29,53.67,53.65,55.62,53.33,55.28,55.01,55.26,
-55.32,53.37,57.73,54.96,55.98,55.41,57.37,58.51,56.79,57.58,
-56.85,58.36,57.32,58.31,59.73,60.20,60.48,57.51,60.58,58.52,
-61.85,59.97,60.09,62.52,62.64,61.32,64.84,61.38,62.14,62.67,
-63.02,64.23,64.18,63.76,61.98,63.93,66.56,62.91,64.48,66.09,
-63.04,65.14,65.09,66.05,66.01,69.44,65.35,66.75,67.74,67.00,
-65.73,64.04,66.76,68.12,68.05,68.85,68.38,68.44,69.53,69.47,
-69.27,69.62,69.70,68.83,68.73,70.91,68.94,69.60,70.00,71.56,
-71.72,70.27,70.55,71.36,70.33,77.67,72.14,69.91,74.81,71.13,
-75.45,74.52,75.35,74.76,76.91,72.59,74.82,76.75,74.78,76.79,
-75.70,77.63,73.79,77.31,75.47,75.42,75.78,76.78,72.55,75.59,
-79.68,76.89,76.10,75.94,77.70,75.69,75.69,78.15,78.87,79.71,
-79.37,81.18,76.91,78.91,81.43,79.34,80.65,81.10,79.51,80.12,
-79.97,82.34,77.59,83.18,80.12,81.41,82.99,81.98,82.78,86.19,
-84.33,81.97,83.78,82.04,83.57,84.24,83.29,83.65,85.33,84.67,
-85.40,83.10,86.04,84.77,86.51,83.05,86.73,89.29,82.87,85.37,
-85.81,85.21,87.92,84.88,87.40,81.74,89.08,89.56,89.44,86.95,
-86.04,82.54,91.14,90.08,89.79,89.25,91.05,89.66,91.99,90.97,
-91.61,91.21,86.48,89.39,86.34,90.87,92.33,88.91,88.60,90.69,
-89.01,89.87,89.83,87.34,90.39,92.52,89.01,90.28,90.71,94.30,
-91.42,91.37,88.06,92.94,94.13,90.74,94.05,93.09,94.65,94.57,
-23.47,21.82,24.72,25.06,25.62,27.45,27.45,27.64,28.17,27.87,
-29.11,29.02,30.98,32.53,32.15,30.71,33.13,32.27,32.12,33.92,
-34.69,34.40,36.60,36.41,37.27,37.03,37.33,37.95,37.26,38.75,
-39.59,41.29,38.93,41.28,39.15,39.40,41.41,41.65,42.64,43.45,
-42.81,43.44,42.11,42.63,45.06,45.40,45.58,45.72,46.21,46.96,
-45.18,45.94,49.26,48.25,47.05,47.76,47.58,49.40,51.97,48.40,
-49.49,50.94,50.61,51.24,51.05,52.03,53.55,50.33,53.02,53.51,
-54.23,53.42,54.97,54.69,56.76,56.25,56.83,56.84,56.05,54.78,
-57.02,57.84,57.35,58.42,57.75,58.58,56.65,57.43,57.96,58.28,
-60.22,59.94,59.92,61.03,61.42,61.73,60.55,59.28,61.83,59.21,
-61.75,62.09,63.30,62.87,66.24,66.51,65.17,65.95,63.25,60.51,
-65.45,65.36,64.90,64.07,66.25,66.36,64.94,67.27,66.54,69.34,
-67.92,67.67,69.77,67.39,67.24,68.21,70.12,69.32,70.67,67.90,
-70.66,69.09,74.10,71.05,67.37,69.46,70.52,67.30,69.04,73.12,
-72.67,73.36,69.85,74.38,71.31,73.03,73.79,72.05,71.58,76.14,
-77.03,75.31,74.84,77.12,76.08,74.57,74.01,78.93,74.33,78.18,
-74.39,78.86,76.90,74.99,72.63,74.98,79.87,79.42,76.36,75.96,
-76.56,78.85,75.73,81.10,79.76,76.09,83.09,79.25,81.03,81.16,
-82.04,79.45,80.06,81.75,81.91,80.77,81.89,85.64,81.91,82.54,
-82.80,83.08,84.33,82.98,83.88,81.47,82.33,80.52,85.43,84.04,
-85.92,84.68,87.05,84.99,86.89,83.38,85.01,85.82,84.85,87.28,
-87.30,90.21,85.72,85.35,88.50,89.43,89.51,87.10,85.59,91.14,
-88.68,86.37,88.15,90.14,91.11,85.89,90.59,85.96,87.92,87.68,
-92.03,94.21,89.21,88.36,88.63,89.07,89.82,96.44,91.69,93.12,
-96.42,89.77,92.93,97.00,93.37,95.54,92.76,89.93,91.80,97.72,
-97.09,95.77,99.18,93.02,97.47,93.72,95.89,97.48,96.59,97.22,
-94.07,94.05,96.97,93.23,97.60,97.43,99.08,93.00,98.89,96.01,
-94.88,103.05,95.92,97.86,97.11,97.70,98.90,95.09,104.54,98.15,
-107.25,100.46,102.88,99.21,99.79,104.84,97.65,94.98,102.42,97.76,
-23.92,24.30,25.39,26.66,28.08,27.35,28.49,28.97,29.71,31.48,
-30.29,31.83,31.80,32.10,32.85,34.96,32.35,36.20,35.06,34.03,
-36.50,36.96,37.51,38.19,38.43,38.45,40.97,41.51,41.36,39.38,
-40.97,42.43,40.35,42.89,43.59,45.38,44.05,44.19,44.41,45.09,
-46.16,46.32,47.39,46.57,46.83,47.78,46.81,48.63,51.03,47.58,
-49.38,50.87,51.28,52.39,51.51,50.39,53.43,52.23,52.74,53.21,
-53.28,53.94,55.55,54.16,54.96,55.08,54.38,56.57,57.02,56.58,
-54.46,59.14,59.00,55.95,58.83,58.41,59.28,59.75,58.47,62.12,
-60.22,60.56,58.57,58.26,61.11,59.73,60.89,60.39,62.38,62.56,
-62.03,63.67,65.90,63.66,64.20,65.02,64.45,63.38,64.54,66.28,
-67.76,66.78,67.44,65.02,66.54,68.22,66.29,66.46,69.93,69.81,
-68.54,67.72,67.37,68.91,70.04,69.22,70.71,69.14,69.35,72.00,
-71.16,70.07,71.68,71.76,71.74,71.58,74.59,75.58,70.87,73.11,
-75.34,75.34,74.10,74.74,77.26,75.50,76.83,74.89,78.19,76.93,
-77.49,76.76,77.81,76.11,74.90,80.67,76.37,79.59,77.59,79.02,
-79.82,78.91,78.72,79.22,77.69,78.48,76.62,82.09,82.03,81.79,
-81.34,86.07,79.36,83.96,80.63,78.97,79.44,80.74,78.88,84.10,
-84.42,83.10,83.46,85.77,83.84,84.96,87.94,83.36,83.50,86.54,
-88.83,86.31,85.66,87.84,89.86,88.16,89.41,90.31,90.49,83.43,
-83.67,86.38,91.23,91.20,88.70,91.92,90.20,90.64,91.28,88.77,
-86.79,91.93,89.59,91.63,92.17,88.83,89.10,94.08,91.28,94.97,
-90.27,98.10,93.54,93.28,91.68,93.07,93.38,94.34,96.33,95.53,
-93.73,96.08,95.73,92.32,93.92,94.46,96.81,94.35,94.40,97.07,
-96.04,97.09,94.54,95.86,96.36,95.38,96.31,102.32,100.28,98.13,
-93.87,96.60,99.65,101.14,101.10,100.47,103.09,96.22,98.79,98.17,
-99.22,101.73,99.05,98.32,99.33,101.05,102.05,105.15,98.26,103.50,
-102.53,100.42,104.78,105.04,103.15,100.71,107.22,106.03,99.93,104.36,
-103.76,104.91,101.99,101.81,105.10,103.93,101.41,105.82,106.60,108.99,
-106.81,107.02,104.02,102.93,103.80,104.63,104.66,104.94,108.03,110.19,
-24.29,25.14,26.56,26.51,28.95,27.97,30.71,29.74,31.16,32.17,
-32.93,32.34,32.30,34.24,36.67,35.00,37.50,36.35,37.90,38.24,
-38.12,38.96,39.26,39.65,41.02,39.60,42.51,42.69,42.62,40.62,
-42.41,44.10,44.23,44.89,47.37,44.57,47.02,47.95,46.59,46.34,
-47.16,48.41,48.15,48.76,49.00,48.57,49.36,49.51,51.37,52.44,
-52.61,52.89,55.46,52.34,54.94,54.69,55.46,55.87,55.40,56.89,
-57.42,56.89,59.64,56.01,59.79,57.75,56.25,60.22,58.35,59.12,
-60.89,59.29,59.97,61.92,61.17,61.45,60.76,64.23,63.52,64.70,
-62.84,62.22,61.90,64.05,64.06,64.04,65.40,66.95,64.78,63.57,
-65.09,63.50,67.95,71.69,67.76,67.54,71.66,67.51,68.20,69.19,
-69.29,70.07,68.03,71.14,71.02,71.33,69.09,69.49,74.85,72.38,
-73.49,73.89,75.90,75.86,74.89,73.30,76.23,75.87,72.71,72.98,
-76.15,73.94,74.65,75.77,75.79,77.90,75.60,79.15,76.19,77.11,
-76.27,77.44,77.81,78.79,78.44,79.62,80.70,81.62,81.80,80.60,
-85.28,79.57,81.10,79.31,82.74,80.99,84.96,81.62,81.76,81.86,
-84.07,83.48,86.46,87.85,84.34,85.15,86.70,86.94,87.50,87.01,
-84.33,87.13,89.33,83.83,87.34,85.53,85.65,87.78,83.73,85.74,
-88.17,87.03,84.95,89.74,88.18,88.11,89.42,91.21,91.06,88.57,
-90.77,91.04,92.90,88.81,92.14,92.05,92.03,94.63,90.19,95.12,
-91.55,94.28,95.87,97.40,94.88,91.45,95.80,90.02,95.79,94.49,
-93.05,94.61,96.50,94.24,96.89,94.84,95.75,100.59,96.27,96.90,
-100.14,95.14,96.55,97.87,94.93,94.63,99.90,100.08,98.92,98.56,
-103.12,99.20,105.84,100.69,101.32,100.86,103.10,102.29,100.58,101.24,
-100.15,102.02,103.89,104.11,103.15,100.22,103.16,105.77,101.15,104.47,
-106.52,105.81,101.43,103.75,105.62,106.66,109.05,106.48,108.88,103.46,
-105.84,105.34,105.80,106.55,104.75,107.76,104.87,110.19,108.38,109.78,
-110.99,107.08,104.49,106.70,103.23,109.48,109.06,109.77,111.28,111.21,
-110.81,111.77,114.46,107.66,113.13,110.25,111.94,116.14,112.90,112.15,
-107.69,108.63,112.29,109.97,107.88,112.88,111.32,115.76,114.68,114.40,
-26.22,26.28,27.99,28.67,28.99,30.54,31.09,32.03,33.48,33.20,
-33.41,34.68,35.57,35.76,36.34,37.84,38.66,37.78,38.79,38.46,
-40.72,39.96,40.77,41.60,40.72,42.38,42.03,44.41,43.79,45.28,
-45.82,46.76,46.94,46.78,46.88,48.15,48.19,46.68,50.14,49.62,
-52.19,50.74,50.88,52.29,52.23,50.58,54.69,54.23,54.33,54.11,
-52.22,55.41,54.65,55.43,53.47,56.98,57.13,56.64,57.73,58.08,
-57.78,59.57,58.59,62.66,61.27,58.36,63.67,60.29,62.52,63.07,
-61.24,63.97,65.00,66.41,63.63,63.58,65.43,68.02,66.65,67.55,
-65.96,66.10,66.86,65.86,67.46,65.16,68.53,66.45,69.32,68.44,
-72.86,67.98,73.02,71.02,68.69,70.09,70.52,72.89,71.43,71.02,
-75.96,74.39,75.00,71.75,71.27,75.30,73.94,73.26,78.33,77.45,
-75.79,74.72,77.50,76.73,80.26,76.00,75.73,77.75,78.43,79.48,
-80.30,79.34,77.22,80.26,80.33,79.75,77.19,78.97,84.88,84.43,
-81.43,77.02,80.22,84.10,81.98,82.11,82.84,84.13,83.88,81.63,
-81.43,87.03,85.12,87.87,84.42,83.79,82.79,89.24,86.47,91.17,
-90.76,90.57,87.85,85.42,88.67,89.86,90.46,92.69,92.86,91.61,
-91.70,91.83,91.37,92.03,95.34,94.38,94.28,93.34,95.79,92.37,
-88.08,93.52,91.44,88.66,92.24,92.83,92.42,90.26,95.00,96.06,
-96.07,96.59,97.32,97.38,96.89,95.39,97.08,95.40,95.82,94.95,
-94.19,96.12,97.13,98.22,95.79,97.02,103.68,101.05,97.80,99.97,
-98.63,98.58,101.63,97.09,102.12,99.24,97.04,103.58,103.43,102.17,
-103.60,100.28,98.53,100.48,105.69,102.21,101.20,103.48,102.83,104.45,
-105.13,104.90,102.26,105.11,105.60,100.42,100.29,104.43,105.12,106.14,
-105.58,107.06,106.98,113.73,108.75,106.39,108.45,107.29,103.39,109.78,
-105.42,106.59,108.41,112.82,110.28,106.13,108.52,110.59,106.90,105.10,
-107.66,114.01,109.69,111.13,112.86,113.84,112.19,113.04,111.78,111.52,
-110.69,114.52,113.65,110.47,109.55,114.36,115.56,118.13,113.88,111.58,
-114.73,114.79,113.48,115.49,113.31,115.33,115.51,116.79,112.85,116.87,
-114.88,111.75,114.42,114.37,117.54,118.78,119.48,117.94,120.62,121.82,
-26.80,27.37,28.51,29.43,29.78,31.18,32.12,32.83,32.45,34.23,
-34.51,35.36,35.56,35.69,38.20,37.92,38.94,40.85,39.80,41.92,
-41.25,42.67,41.92,43.32,46.71,43.86,43.70,45.67,45.89,45.45,
-48.35,46.48,47.21,49.52,49.46,49.91,51.72,51.39,49.62,53.30,
-54.19,52.55,53.08,53.69,53.91,53.50,54.22,58.77,58.26,56.59,
-56.86,57.44,56.18,59.05,61.87,59.40,59.78,60.12,58.12,59.25,
-64.16,60.36,61.19,61.04,63.43,63.77,63.97,63.72,62.47,63.77,
-63.74,65.25,65.13,67.73,66.46,68.34,68.31,67.17,67.81,70.01,
-71.92,68.94,67.58,71.49,68.77,72.34,70.46,71.04,70.36,71.94,
-73.28,72.66,70.27,73.59,74.87,73.71,76.91,74.85,76.94,75.80,
-74.41,73.90,77.91,77.47,79.11,77.07,77.75,74.55,79.02,77.61,
-80.04,77.49,76.93,79.44,80.96,80.11,80.98,80.25,83.57,84.57,
-82.02,83.41,81.65,84.49,84.09,82.48,83.20,81.68,85.80,86.62,
-84.01,87.83,84.74,82.53,84.32,86.60,87.58,88.24,90.36,89.64,
-88.04,89.99,86.06,88.26,89.85,90.83,91.80,90.72,91.47,88.30,
-91.39,88.35,93.25,88.32,92.03,89.82,94.22,92.39,91.56,93.82,
-96.08,97.36,97.20,95.67,94.61,98.46,95.81,99.02,95.03,96.90,
-98.75,102.13,96.52,99.78,98.22,100.62,98.68,94.75,98.37,99.00,
-101.20,98.53,100.99,96.40,98.97,98.78,99.50,101.06,102.71,101.07,
-101.67,101.42,100.03,102.22,103.22,104.34,103.03,102.89,105.21,103.45,
-102.87,108.49,102.66,107.24,103.96,105.07,104.76,104.25,104.60,108.38,
-106.18,106.68,105.63,109.96,108.76,103.92,109.80,103.58,108.98,109.77,
-107.81,108.30,110.08,106.89,108.04,111.55,108.65,114.22,112.66,113.89,
-111.80,113.30,115.95,110.10,111.95,116.38,111.92,110.04,112.11,114.78,
-112.19,112.87,106.91,116.59,114.99,115.69,110.86,111.97,112.84,115.30,
-115.09,116.12,116.02,117.04,118.68,117.84,115.11,118.57,116.97,119.40,
-113.38,115.96,116.09,118.85,123.44,115.34,125.45,120.27,120.96,120.58,
-120.83,123.22,119.37,121.50,117.24,116.28,122.16,123.63,122.63,124.54,
-121.69,121.46,122.73,124.35,123.14,126.23,122.59,125.04,124.36,123.41,
-27.71,29.01,28.53,29.81,31.29,30.94,32.72,33.23,35.18,35.67,
-36.03,36.24,36.03,38.26,40.92,40.78,40.17,41.16,41.88,42.63,
-43.31,42.63,43.69,43.77,46.34,46.75,46.47,47.02,45.50,49.01,
-50.85,47.92,51.06,50.21,49.16,52.44,52.84,50.54,53.96,53.15,
-53.76,54.43,56.22,54.55,56.33,54.62,57.13,55.90,57.36,57.56,
-56.55,55.38,58.76,58.86,61.25,58.80,62.06,60.22,61.85,63.93,
-64.43,64.23,61.64,65.52,65.56,64.27,64.91,66.54,67.55,70.50,
-67.45,67.00,67.61,66.69,70.25,65.99,69.54,70.76,69.64,72.34,
-69.06,72.04,71.72,73.66,73.01,75.93,72.07,71.04,72.12,73.65,
-76.45,74.65,74.95,74.50,77.46,77.40,77.19,76.04,76.67,77.58,
-77.85,80.26,78.18,81.89,80.38,81.20,82.62,84.12,85.19,79.22,
-82.99,84.71,80.16,82.76,85.78,82.76,83.90,82.62,79.94,87.56,
-85.24,89.92,85.24,88.40,84.12,88.76,86.71,84.44,89.44,87.63,
-85.51,91.63,88.46,90.04,91.44,92.50,91.64,90.75,89.69,87.62,
-89.76,93.29,92.09,88.98,94.33,91.43,94.14,95.06,96.89,94.44,
-96.19,92.62,97.48,95.64,97.20,96.13,97.76,95.10,98.82,97.49,
-97.42,98.83,98.28,95.84,96.69,98.04,98.08,99.95,102.10,101.41,
-102.63,102.81,99.30,102.29,99.19,100.73,106.91,103.29,100.66,96.95,
-104.07,104.34,104.41,101.86,103.20,105.64,105.42,103.43,106.94,102.37,
-103.37,106.30,106.13,105.92,105.95,106.17,105.53,106.31,107.76,107.51,
-108.92,107.54,109.24,105.06,104.50,106.77,108.79,112.90,111.91,106.13,
-109.92,109.70,108.52,110.39,111.47,113.50,114.74,111.90,112.58,114.54,
-113.92,113.74,115.24,111.94,115.10,112.26,115.17,115.04,111.94,118.45,
-118.60,114.68,117.59,112.00,118.21,114.21,113.67,117.97,114.25,112.36,
-117.39,111.84,117.01,119.18,120.23,120.11,125.73,118.62,119.87,114.63,
-121.48,121.23,122.68,118.44,121.04,120.58,120.91,121.13,123.33,120.31,
-125.17,120.72,124.16,122.12,121.66,121.13,124.59,120.62,123.73,125.50,
-122.18,125.97,126.79,124.37,124.84,123.68,122.89,123.56,126.86,127.27,
-126.97,122.91,129.08,126.58,122.30,133.12,128.87,127.53,125.65,130.93,
-28.07,28.92,30.82,30.55,32.07,31.46,34.82,34.49,34.56,35.90,
-37.10,38.01,37.94,39.15,39.93,41.10,41.22,42.27,42.36,43.56,
-43.53,45.05,42.77,45.79,46.43,48.06,48.43,50.02,48.43,47.42,
-49.73,50.79,52.25,51.84,52.11,53.28,54.08,52.11,52.90,55.13,
-55.47,57.12,57.06,58.14,58.95,59.12,57.79,59.04,59.78,63.03,
-62.04,62.63,63.32,63.39,61.68,61.19,64.61,63.26,64.46,65.62,
-61.66,67.95,67.14,69.76,69.86,66.40,66.43,68.45,65.19,69.76,
-67.96,69.90,70.36,72.62,70.01,75.26,72.59,75.24,74.12,73.54,
-72.92,75.12,74.54,75.27,76.07,75.10,77.26,75.59,79.06,77.98,
-77.40,73.40,77.92,77.56,80.87,79.70,78.05,78.36,81.62,78.96,
-78.38,82.90,79.82,79.35,82.24,81.54,82.32,84.47,88.25,83.97,
-84.69,83.18,84.11,86.85,89.73,83.97,88.49,89.89,87.02,86.32,
-87.49,87.38,89.53,89.25,86.63,90.17,88.25,91.40,87.31,90.83,
-89.22,91.61,92.85,96.37,91.70,91.49,91.21,96.78,93.83,92.03,
-95.11,99.09,94.34,94.47,93.30,98.40,92.92,98.51,97.21,97.71,
-92.34,94.22,95.78,97.96,100.34,99.91,95.60,97.51,101.40,102.10,
-97.45,99.70,102.60,103.57,100.88,102.82,100.41,103.16,103.90,103.57,
-101.28,105.93,102.72,106.85,105.13,105.88,105.70,105.80,106.83,101.87,
-102.06,104.49,108.65,102.39,106.11,108.03,109.30,107.53,107.88,109.42,
-107.65,108.11,109.91,106.20,112.54,106.84,114.18,111.65,113.21,109.59,
-112.89,107.88,109.77,113.03,111.87,114.38,112.69,111.94,117.16,110.64,
-119.83,115.97,114.28,120.05,114.26,112.45,116.38,108.09,114.36,111.97,
-118.22,116.81,116.65,121.57,120.85,119.67,116.03,112.90,119.70,116.20,
-119.91,120.02,123.41,122.31,122.29,117.40,122.27,127.13,114.97,115.27,
-122.58,120.89,124.03,124.38,123.67,120.47,120.78,125.23,120.28,125.58,
-126.10,122.33,120.41,120.95,120.73,124.03,126.98,125.42,122.52,129.08,
-119.59,126.19,125.40,130.99,130.50,126.49,128.15,123.56,129.82,126.54,
-131.10,126.13,130.57,127.62,128.40,127.93,130.31,127.09,129.86,126.14,
-127.41,129.86,133.19,128.93,129.87,132.24,135.24,127.42,136.87,133.21,
-28.28,30.67,30.12,31.34,31.96,33.43,35.71,35.33,36.56,37.01,
-38.46,38.85,39.71,41.27,44.15,42.06,42.58,43.57,44.54,44.05,
-46.48,44.96,46.11,44.96,50.14,49.48,49.37,49.71,50.42,49.16,
-50.58,51.63,51.66,53.00,56.20,56.35,57.84,53.60,56.00,57.90,
-57.66,58.65,58.42,58.05,57.36,60.49,59.98,61.92,63.29,62.50,
-62.72,60.47,63.28,62.51,64.28,65.67,65.15,69.42,65.20,67.59,
-67.96,65.86,68.90,67.51,67.81,66.98,70.71,70.65,70.78,70.32,
-72.39,73.57,71.77,72.65,74.23,72.40,73.20,76.70,76.68,74.41,
-76.76,77.04,78.13,79.66,76.21,76.73,78.34,79.28,78.29,81.62,
-79.64,81.90,82.42,80.93,82.14,80.11,81.04,82.89,79.58,80.53,
-82.55,84.49,83.68,86.65,84.93,84.87,85.86,86.95,85.75,87.88,
-88.60,87.02,87.93,90.10,86.30,89.37,88.97,88.33,87.14,85.55,
-93.99,90.64,86.13,90.84,89.37,89.86,94.68,90.28,89.78,94.86,
-98.38,90.90,95.37,94.43,93.98,98.68,97.84,92.27,97.44,95.63,
-99.06,98.76,99.97,95.48,93.22,101.70,96.99,98.09,103.26,98.26,
-101.57,100.88,99.62,99.39,100.65,103.88,105.23,100.18,102.45,102.02,
-96.48,102.20,100.46,108.63,100.65,107.76,102.10,109.27,104.75,104.71,
-101.70,109.58,107.91,103.56,109.85,105.75,107.04,106.65,107.38,109.74,
-108.12,107.33,108.34,108.25,111.56,113.20,112.20,112.19,112.50,108.97,
-110.37,113.33,112.59,111.55,117.44,113.96,110.90,112.41,114.48,115.47,
-113.86,113.70,113.51,113.41,114.38,111.96,120.05,116.80,117.57,112.75,
-121.84,117.06,114.40,112.81,112.82,117.31,116.28,113.15,122.44,115.48,
-119.05,114.08,117.91,114.95,122.27,123.19,120.20,120.58,124.16,122.92,
-123.22,120.31,124.64,124.27,117.85,124.03,120.08,122.08,119.10,129.15,
-127.88,124.55,126.06,128.06,129.31,127.35,128.48,130.54,124.77,129.79,
-126.47,129.38,131.28,122.37,127.16,126.13,128.90,127.26,130.66,126.69,
-131.92,131.73,133.70,133.51,134.39,139.49,131.47,131.32,131.82,132.52,
-126.20,132.28,131.42,135.59,130.96,136.13,130.20,134.28,136.96,133.17,
-138.69,142.80,126.42,136.27,135.43,136.28,140.25,130.68,135.17,134.17,
-29.25,30.51,32.56,34.07,33.92,33.79,35.74,36.59,37.59,38.38,
-40.55,39.85,39.99,42.34,41.33,44.04,44.13,44.17,44.67,45.22,
-46.73,47.55,48.35,46.91,49.02,49.77,50.96,50.84,50.91,50.67,
-53.30,53.94,54.31,53.88,55.56,58.17,55.81,52.69,55.33,55.27,
-56.16,59.39,58.02,58.04,61.10,61.52,60.69,63.18,62.74,63.69,
-62.46,62.88,66.31,65.32,65.28,67.52,68.83,67.66,66.60,69.27,
-69.51,70.98,66.85,70.59,69.46,72.11,71.67,75.80,73.04,72.61,
-71.75,71.25,74.80,73.82,71.31,74.03,74.58,75.57,74.69,77.57,
-75.52,77.10,79.26,79.47,78.50,83.47,79.05,82.11,79.35,80.03,
-83.89,83.35,80.29,81.86,85.17,82.16,83.32,84.82,87.76,83.82,
-83.99,84.23,83.60,86.04,83.91,88.46,86.70,87.25,85.85,86.74,
-90.07,89.36,90.27,89.71,90.62,92.47,89.56,93.50,91.48,94.24,
-90.22,88.30,92.17,95.73,96.50,91.68,95.50,94.07,91.00,95.37,
-95.36,97.66,96.74,97.90,98.19,95.97,96.20,95.88,98.50,93.60,
-100.71,100.58,97.54,103.04,102.35,101.80,102.83,104.06,101.00,102.10,
-102.21,101.60,101.15,104.32,103.31,104.41,103.59,113.50,104.85,105.51,
-101.17,109.72,108.18,102.88,110.18,108.53,110.47,109.16,108.48,104.23,
-108.84,107.82,108.02,105.30,110.74,107.14,110.10,109.17,112.10,110.90,
-109.11,110.69,117.37,106.90,110.62,115.28,115.49,115.51,115.08,111.29,
-112.58,115.57,114.82,119.25,114.01,116.03,113.90,117.10,115.08,117.11,
-117.09,116.07,121.73,117.37,114.31,114.68,115.57,121.05,116.26,124.38,
-123.85,120.14,117.45,115.59,117.80,113.67,120.64,120.54,118.12,119.72,
-121.77,123.93,120.23,118.75,127.88,123.35,126.13,122.14,125.52,123.95,
-120.69,125.41,122.63,126.95,126.00,130.29,131.62,131.40,126.61,129.77,
-127.51,122.81,134.14,134.29,130.51,129.54,130.52,124.47,136.22,130.02,
-126.47,126.44,131.76,135.27,128.51,126.78,132.47,131.46,129.50,131.76,
-135.13,133.34,131.91,138.06,133.93,131.95,129.41,132.10,134.47,131.36,
-132.42,136.18,135.57,130.04,140.48,142.44,128.18,135.62,134.60,140.07,
-131.96,144.00,138.48,141.60,135.31,132.64,136.52,140.58,135.47,141.09,
-29.29,30.98,32.14,31.67,34.30,35.20,37.49,37.71,37.17,38.23,
-38.87,38.84,39.75,42.57,41.76,43.65,44.15,43.68,45.61,46.59,
-46.85,46.66,49.12,48.57,49.00,52.23,50.99,53.35,53.59,54.04,
-53.15,53.38,54.16,56.07,54.50,56.90,56.52,58.82,56.85,59.89,
-59.30,59.63,58.74,60.75,60.91,60.50,60.68,64.03,65.34,63.68,
-64.86,65.61,65.10,67.69,65.38,67.83,68.40,68.19,70.14,68.07,
-70.72,68.19,70.59,71.51,72.96,70.29,70.62,71.61,73.28,71.27,
-75.23,74.18,74.16,74.53,77.43,79.54,79.49,76.03,77.70,76.41,
-80.33,77.13,79.75,78.03,78.22,77.74,82.19,78.71,82.88,83.00,
-81.49,79.44,84.68,81.17,80.95,87.81,87.57,83.54,85.44,84.66,
-86.30,86.94,85.02,90.77,87.98,90.33,91.14,87.35,87.75,88.90,
-94.63,93.05,93.20,93.62,93.89,93.80,87.88,95.32,93.62,94.40,
-93.68,94.46,92.60,95.07,96.60,97.08,100.00,97.46,96.35,98.40,
-100.29,98.94,93.98,99.99,98.30,96.87,98.92,101.62,102.54,100.37,
-99.55,102.31,102.98,99.80,103.59,102.15,104.12,99.87,103.55,103.65,
-107.03,104.71,98.21,106.52,106.02,103.04,105.70,107.08,108.29,108.08,
-107.34,103.74,106.62,104.45,109.92,108.41,110.87,110.27,107.80,110.22,
-110.60,111.79,107.98,110.91,113.25,114.55,113.96,114.19,113.82,113.83,
-110.48,114.11,118.09,112.19,114.48,116.33,111.58,122.41,115.55,113.98,
-117.52,116.53,116.05,115.29,116.41,122.19,117.48,114.81,122.37,115.54,
-119.24,120.55,115.49,120.48,117.27,120.86,118.78,119.28,120.16,122.31,
-120.79,119.19,127.94,123.40,123.58,121.76,133.43,124.80,122.81,127.70,
-130.90,127.13,126.66,123.56,123.20,128.00,127.67,124.70,126.25,126.27,
-123.10,127.56,128.15,123.51,132.69,125.85,129.63,131.16,133.45,129.52,
-128.07,128.86,124.07,134.90,127.61,132.98,135.23,134.70,132.96,129.61,
-132.34,131.23,131.68,134.55,135.21,131.13,137.09,130.10,128.86,140.95,
-137.82,136.12,133.71,140.37,138.89,131.76,135.31,138.34,134.98,140.51,
-136.92,134.88,145.42,134.98,140.28,131.38,136.69,143.09,137.27,138.81,
-136.91,136.96,141.40,141.77,143.82,141.43,143.29,141.57,147.71,142.83,
-29.70,30.63,31.39,32.44,33.39,34.43,35.79,37.16,38.54,38.93,
-40.87,40.49,40.88,41.78,43.74,43.10,45.62,44.37,46.90,45.88,
-48.69,48.67,48.78,48.92,51.92,51.82,51.28,52.62,50.82,54.77,
-54.65,53.71,55.61,57.51,56.08,57.76,57.64,58.08,58.86,58.65,
-60.55,61.55,62.64,61.36,62.54,63.66,62.36,67.60,63.26,68.55,
-65.69,65.93,65.70,66.48,67.85,68.46,67.61,70.43,68.81,69.58,
-71.11,70.98,70.81,77.01,72.88,70.38,74.15,75.60,75.31,73.34,
-77.13,76.25,74.57,75.14,78.45,76.45,77.75,78.05,78.03,79.58,
-77.76,79.27,80.35,82.62,84.69,81.66,78.54,86.15,83.55,82.63,
-84.59,85.30,84.61,88.04,83.11,84.90,87.18,88.28,83.87,87.39,
-87.41,88.00,84.77,87.59,90.06,89.73,87.55,90.90,93.86,93.72,
-89.66,94.20,91.07,95.66,94.37,94.43,90.25,92.65,96.79,96.93,
-95.26,96.80,97.35,96.18,97.65,95.97,100.30,97.78,97.51,97.04,
-101.24,102.66,99.52,100.86,101.96,97.88,98.86,100.24,102.42,101.02,
-100.13,102.80,99.12,99.17,98.47,100.77,103.84,104.35,106.44,105.23,
-107.76,103.36,103.49,105.12,105.73,110.05,110.04,107.13,110.45,107.12,
-108.94,107.96,111.14,108.99,108.07,105.53,115.58,113.03,112.27,110.07,
-108.54,108.80,112.88,111.77,115.67,111.03,112.16,113.70,112.89,114.78,
-110.03,113.36,117.23,119.80,118.29,118.75,114.38,122.33,115.58,116.89,
-116.12,117.83,118.77,114.42,119.19,124.89,123.77,117.88,119.82,116.62,
-120.39,120.78,123.31,121.68,129.28,123.60,117.48,122.24,122.55,118.97,
-122.17,121.47,124.85,122.85,129.60,128.91,125.71,124.14,123.71,124.39,
-127.65,131.59,125.71,123.86,123.15,126.32,128.34,131.22,124.54,137.72,
-133.25,125.73,129.93,134.15,131.71,133.20,130.19,127.66,132.50,129.34,
-134.25,135.93,133.35,130.10,140.81,130.14,131.84,133.64,133.45,133.24,
-130.68,135.92,131.94,137.59,133.82,136.81,132.54,140.41,138.04,139.79,
-133.96,137.97,139.57,137.35,133.34,140.84,135.85,138.68,140.76,139.13,
-131.74,142.96,136.02,139.54,141.91,139.18,137.46,138.54,142.51,141.78,
-138.50,140.93,144.79,138.75,142.85,139.59,141.64,148.37,145.61,137.31,
-19.23,18.71,19.33,19.78,19.94,19.76,20.24,21.42,21.21,22.06,
-23.45,22.17,22.53,23.19,22.03,23.00,23.81,24.91,24.78,23.67,
-25.71,25.11,25.56,26.30,26.69,26.30,27.06,27.01,27.91,27.36,
-26.39,27.65,26.78,28.56,27.41,29.42,29.11,28.85,28.57,31.17,
-29.62,31.33,30.54,31.06,29.19,31.45,29.96,30.99,32.53,32.12,
-31.21,32.75,33.20,32.12,32.26,33.29,33.01,32.55,34.91,34.56,
-35.25,33.71,32.78,34.56,35.21,33.69,36.23,34.70,36.63,34.35,
-34.54,36.01,35.94,36.16,36.40,36.98,37.49,38.42,37.27,37.25,
-38.10,38.26,38.15,38.89,38.37,37.72,37.41,38.82,37.97,37.60,
-39.41,38.73,40.18,40.13,39.24,39.95,39.63,40.32,41.68,41.42,
-39.66,39.92,40.72,40.74,40.91,39.52,42.88,42.11,41.16,42.54,
-42.92,41.91,40.75,44.10,43.06,43.92,42.05,42.97,43.26,40.71,
-43.12,42.99,45.66,43.95,43.96,44.67,46.40,44.75,45.81,46.43,
-47.22,44.85,46.07,45.52,47.41,48.46,48.92,47.20,46.15,46.60,
-46.94,46.84,48.58,46.79,48.40,47.04,48.37,47.35,47.48,48.00,
-48.25,48.88,48.18,51.18,49.13,48.97,48.80,48.62,49.93,49.80,
-48.41,49.65,48.80,50.39,50.59,48.17,51.92,52.21,51.35,48.43,
-49.97,51.85,52.09,53.33,52.45,50.81,52.91,54.15,50.84,49.15,
-51.17,51.43,53.70,52.72,52.74,54.63,53.04,55.64,54.50,54.03,
-54.06,54.60,53.57,54.40,52.94,56.70,53.80,55.03,56.37,54.48,
-55.87,53.73,57.03,54.46,53.36,55.14,55.98,55.94,55.45,56.67,
-54.18,58.03,53.28,57.96,55.67,55.01,58.30,55.30,57.73,57.34,
-57.61,58.79,58.16,57.50,56.88,57.66,57.94,57.15,59.51,59.71,
-57.58,58.95,59.21,60.60,57.51,58.52,58.74,58.09,58.15,56.11,
-61.27,57.45,58.08,60.62,60.40,59.59,61.01,63.45,60.87,60.20,
-61.33,61.40,62.12,60.26,61.45,60.36,61.38,61.29,62.23,60.04,
-62.30,59.67,61.72,63.97,64.87,62.44,61.29,60.48,62.88,63.10,
-61.45,64.22,63.34,62.82,61.94,63.35,60.93,60.81,63.62,65.49,
-62.67,65.11,64.57,64.17,61.61,62.20,65.55,62.97,62.73,65.17,
-20.57,20.58,21.34,21.19,21.57,21.64,22.70,21.66,22.91,23.47,
-23.55,23.95,24.44,23.81,25.20,25.04,25.88,25.24,26.83,26.74,
-26.45,28.19,28.42,28.17,27.35,28.37,27.98,29.22,29.52,30.97,
-30.75,29.38,29.08,31.27,30.30,30.14,31.79,32.36,32.15,32.69,
-31.92,33.37,32.55,34.12,33.30,35.31,33.79,33.13,34.12,34.31,
-34.40,35.21,37.40,38.27,36.98,35.93,36.50,37.30,37.26,37.55,
-36.69,36.82,38.01,38.90,38.70,37.39,38.56,40.50,38.49,39.57,
-39.30,38.92,40.14,42.14,39.84,40.54,40.81,39.78,40.98,41.24,
-41.17,40.22,41.20,43.96,42.54,42.22,41.47,42.62,44.04,43.37,
-44.59,43.28,43.76,43.65,46.01,44.98,44.79,44.81,44.41,44.90,
-46.98,46.16,45.48,44.93,46.47,47.61,46.17,46.69,45.69,46.74,
-46.49,48.43,48.85,46.81,48.41,47.94,46.91,47.59,51.35,48.98,
-47.09,47.06,48.78,49.46,51.74,51.45,53.55,51.19,50.07,51.11,
-52.03,49.24,51.16,50.61,50.74,51.29,52.68,50.59,52.20,52.13,
-53.34,51.63,52.87,51.67,52.96,53.25,54.09,53.67,56.03,54.29,
-54.43,55.34,53.63,51.19,54.06,53.53,54.23,56.41,55.26,55.90,
-55.27,56.34,55.13,58.04,58.14,57.32,55.89,58.21,57.71,56.99,
-56.26,56.46,57.40,56.97,57.47,58.41,57.79,60.08,57.78,57.32,
-57.75,58.48,58.93,59.64,59.03,60.34,58.29,61.21,60.99,58.72,
-62.06,61.79,59.17,61.33,61.43,63.65,63.20,58.85,60.00,60.70,
-59.87,59.99,62.08,61.99,61.75,62.03,64.34,60.92,65.17,64.67,
-60.62,62.53,62.91,61.68,63.96,60.83,62.00,62.82,62.42,64.32,
-63.98,65.33,62.70,65.96,66.61,62.25,65.25,64.37,62.57,63.86,
-64.88,65.76,63.47,63.51,66.28,65.59,66.45,66.21,65.62,68.42,
-64.10,66.75,69.50,68.62,65.39,66.47,68.58,66.03,66.78,66.95,
-67.66,68.89,68.86,69.35,71.29,68.97,67.19,67.96,70.41,71.00,
-67.54,70.36,71.26,66.68,70.14,66.91,69.91,70.89,67.84,69.54,
-70.60,72.90,70.47,69.78,71.59,68.74,72.03,68.30,72.36,70.59,
-72.31,71.84,74.16,72.43,74.01,72.63,71.84,73.79,73.61,75.52,
-20.44,20.99,20.93,22.63,21.76,23.33,22.88,24.79,24.62,25.84,
-24.33,25.45,26.12,26.95,25.82,27.81,29.20,26.89,28.13,29.39,
-27.79,28.61,30.18,30.16,29.55,32.60,30.11,31.94,31.62,31.16,
-31.88,33.83,33.55,33.12,34.43,34.71,33.91,34.07,34.00,32.99,
-36.27,37.17,35.54,35.78,35.44,36.32,36.99,36.73,39.38,37.29,
-37.71,37.76,40.26,37.69,40.50,39.54,40.42,39.99,41.67,40.72,
-40.40,39.19,39.62,42.14,40.13,43.13,44.28,41.33,42.66,44.09,
-44.21,42.59,43.73,45.31,43.90,45.95,45.85,45.45,44.75,46.41,
-46.49,46.18,46.11,47.34,47.34,48.07,47.64,48.36,50.75,46.03,
-47.34,49.56,48.26,49.63,48.77,50.19,46.14,50.04,49.96,48.09,
-49.82,50.04,49.54,47.81,50.81,51.41,51.37,52.33,50.28,49.88,
-52.42,53.17,52.56,53.20,54.83,51.79,52.30,54.58,56.41,54.91,
-52.02,54.96,55.06,54.40,56.99,54.94,55.38,55.24,56.74,55.61,
-54.73,55.82,56.73,55.68,53.84,56.95,58.02,57.87,53.77,57.66,
-60.19,58.93,58.77,58.62,60.70,55.68,57.59,58.71,58.32,59.46,
-59.28,58.88,57.94,59.18,58.97,62.98,61.97,60.79,61.81,60.70,
-60.56,60.31,60.58,58.16,62.97,61.25,59.90,60.62,64.48,61.07,
-62.13,64.11,62.24,60.93,63.40,62.56,64.44,61.93,64.60,65.36,
-64.56,64.52,67.17,63.60,68.13,67.04,65.33,64.38,66.27,68.08,
-62.10,66.90,68.01,66.00,64.69,66.73,67.97,69.93,65.12,66.68,
-67.31,71.75,68.33,67.63,67.51,68.33,69.85,69.52,68.78,70.94,
-72.28,70.43,72.49,70.48,70.87,71.85,69.95,70.88,72.91,72.17,
-69.62,70.47,70.05,69.57,68.32,69.18,72.46,72.66,73.67,72.08,
-72.60,72.10,74.40,73.41,71.68,72.97,72.31,74.73,73.71,71.99,
-75.04,75.19,74.41,73.24,71.27,76.35,71.83,74.24,79.01,75.70,
-77.76,73.62,72.72,73.25,73.18,77.07,77.04,77.51,75.87,80.10,
-75.53,74.77,76.22,81.35,79.00,75.33,77.65,78.23,76.38,80.91,
-76.69,79.23,79.77,78.23,76.88,79.73,78.33,77.78,81.73,76.92,
-78.24,78.87,82.25,77.90,82.91,78.59,76.11,81.30,79.56,83.22,
-22.75,23.51,24.48,24.81,23.33,24.76,25.27,25.99,26.18,26.61,
-28.82,27.92,28.16,27.85,28.06,30.73,30.64,29.91,29.93,30.64,
-30.16,32.55,32.22,34.24,33.14,32.90,33.86,33.86,34.61,36.29,
-35.19,35.21,36.20,35.83,37.61,37.46,37.39,37.07,37.89,38.30,
-37.99,38.99,38.80,40.15,41.38,39.27,40.25,39.79,40.02,41.86,
-42.52,41.91,41.21,43.11,43.03,43.36,44.74,43.52,44.02,44.38,
-43.70,45.60,45.15,45.05,46.09,45.62,45.77,45.29,47.91,47.13,
-45.03,47.02,48.48,50.06,46.67,48.99,49.53,50.42,48.55,50.56,
-50.60,49.56,50.17,51.18,52.15,51.35,49.77,50.95,52.64,49.05,
-49.26,52.25,53.32,51.99,52.78,57.53,51.73,52.04,54.27,54.13,
-54.62,55.16,56.20,54.05,55.58,56.67,55.47,56.18,58.32,58.41,
-58.26,54.98,57.38,57.23,58.38,56.68,56.71,58.52,57.45,59.34,
-59.00,58.45,57.69,56.61,60.13,60.78,59.80,61.93,58.65,62.69,
-61.47,58.28,60.10,61.11,62.68,60.94,61.89,62.20,63.62,63.93,
-58.79,64.51,61.91,60.16,64.98,65.05,64.04,64.65,65.65,64.23,
-64.81,64.99,66.93,67.94,67.29,64.13,64.20,64.01,65.62,66.40,
-64.21,67.51,65.76,67.99,67.87,67.14,69.66,68.51,65.09,68.32,
-68.88,67.94,69.23,71.27,68.84,67.43,68.92,73.27,68.53,67.76,
-71.82,69.22,70.93,68.81,72.92,71.10,70.50,73.54,71.84,71.03,
-73.66,72.14,73.51,72.15,71.54,73.91,74.46,74.99,75.32,73.09,
-71.82,74.83,75.87,74.22,72.94,74.92,73.47,75.42,76.17,78.41,
-75.37,73.79,74.44,75.45,79.82,78.45,76.58,75.48,78.40,77.58,
-75.68,75.93,74.59,78.71,75.29,79.05,78.63,78.31,78.12,78.75,
-78.36,79.25,80.28,78.18,79.05,78.59,78.87,78.07,80.99,79.94,
-79.92,80.78,82.14,81.10,78.99,84.54,81.37,81.30,84.55,83.33,
-83.02,79.76,79.88,83.52,83.41,83.40,83.54,83.84,85.40,85.22,
-82.17,80.68,80.53,83.53,88.25,85.48,84.86,84.64,83.00,86.29,
-87.11,84.94,80.73,86.40,84.62,86.58,87.09,86.02,85.56,86.49,
-86.85,85.65,87.71,85.97,84.85,86.47,83.71,83.79,88.78,89.99,
-22.64,23.73,24.10,24.85,25.98,25.49,27.25,26.29,26.57,28.42,
-29.59,28.73,29.87,30.17,30.52,30.97,30.56,32.12,31.07,32.66,
-32.23,34.12,35.34,35.08,33.22,35.94,37.55,35.68,36.64,38.45,
-36.78,37.94,38.24,39.01,40.68,38.24,40.35,40.90,41.83,40.82,
-39.39,41.03,42.46,43.05,42.66,43.53,43.80,45.00,45.36,44.61,
-43.84,44.75,45.75,46.27,46.42,45.05,47.37,48.66,46.26,47.92,
-48.62,46.35,49.07,47.94,47.85,49.47,51.47,48.53,50.18,52.56,
-50.47,52.23,50.10,52.73,52.93,51.78,51.19,53.31,52.42,53.88,
-53.29,54.27,55.94,51.37,56.09,54.13,56.87,52.70,56.54,54.43,
-56.98,54.80,57.78,57.82,56.58,54.95,59.11,58.56,57.36,59.92,
-58.77,55.84,56.81,59.31,60.11,57.84,59.05,61.38,58.71,60.91,
-63.11,60.83,61.06,61.72,61.66,61.61,61.96,62.36,61.27,61.81,
-62.58,63.29,65.38,63.67,64.03,64.19,66.68,65.80,66.64,63.94,
-66.66,62.44,65.53,66.50,66.18,65.81,66.65,68.96,67.33,65.13,
-66.89,70.16,67.87,69.59,70.09,68.78,69.63,71.16,68.99,74.83,
-67.46,69.26,67.05,70.95,72.82,68.06,72.09,70.13,71.81,68.92,
-70.11,70.85,71.70,72.40,73.41,68.95,71.90,71.45,75.81,73.98,
-72.11,72.30,72.01,73.90,74.78,76.98,73.41,72.88,78.24,77.32,
-77.32,80.32,77.35,75.32,78.95,74.27,76.68,79.13,79.49,76.53,
-77.98,81.75,80.30,78.16,78.29,77.64,77.73,81.88,77.32,82.12,
-80.81,79.49,79.66,78.84,79.95,79.49,78.42,80.56,81.30,80.45,
-81.54,78.25,84.11,82.63,81.09,81.17,82.27,84.26,83.66,82.31,
-82.60,82.90,81.40,83.38,82.47,82.27,89.86,81.68,87.28,87.37,
-85.05,85.05,83.98,85.58,83.12,84.94,85.74,86.47,85.22,88.63,
-86.67,85.31,85.87,86.19,88.49,85.58,88.93,89.48,93.44,89.16,
-86.18,88.96,87.96,90.97,88.48,90.16,90.05,89.86,91.05,88.65,
-93.07,92.27,90.37,87.33,89.21,94.15,88.23,88.65,94.61,89.06,
-87.64,91.44,95.92,92.05,92.38,89.92,90.81,90.39,94.30,89.47,
-95.64,91.85,93.93,95.18,90.33,94.59,91.25,96.64,96.63,91.13,
-24.03,23.43,25.66,26.86,26.70,29.46,27.23,28.31,28.98,29.89,
-30.64,32.19,29.87,32.78,31.59,32.83,32.38,31.97,36.90,34.79,
-35.27,34.06,36.21,37.59,37.26,38.29,38.78,39.11,39.50,39.30,
-39.08,39.68,40.24,40.14,42.02,40.50,42.52,41.95,42.27,43.55,
-43.60,44.77,45.31,47.01,44.96,46.34,46.59,46.81,46.80,47.19,
-47.20,47.11,48.09,49.30,49.97,47.66,49.02,49.83,51.17,51.80,
-49.04,53.48,52.21,52.10,52.31,53.34,52.85,52.97,52.57,54.10,
-54.94,53.81,54.24,55.95,55.56,57.39,56.54,57.52,57.13,57.07,
-58.72,56.07,59.51,59.07,58.78,59.34,56.63,58.31,59.08,58.93,
-60.81,60.59,59.73,58.55,60.69,61.50,61.04,64.65,61.36,62.12,
-62.30,64.70,63.62,62.81,63.76,63.16,65.63,61.10,63.39,66.87,
-65.70,61.50,66.80,66.48,63.52,67.37,66.90,67.57,66.25,68.25,
-68.66,67.38,69.35,68.40,67.87,70.08,68.14,70.18,69.05,71.62,
-69.70,69.00,70.13,68.62,69.56,71.19,70.94,69.81,71.03,72.66,
-69.88,72.51,71.22,73.20,68.51,76.44,72.97,76.46,74.01,76.78,
-78.45,74.49,76.81,74.00,76.42,77.77,73.76,78.59,78.07,76.68,
-76.54,74.31,77.68,78.82,79.22,79.07,80.43,78.86,78.75,79.01,
-81.63,81.69,81.58,81.20,78.83,77.15,80.24,78.26,80.73,82.85,
-80.94,81.07,81.36,83.27,77.71,79.21,85.29,84.35,83.53,82.93,
-86.92,86.32,81.06,84.49,82.88,84.11,86.23,86.03,87.43,82.79,
-84.60,85.76,87.36,83.32,85.58,84.88,87.55,86.54,90.42,87.44,
-88.07,92.49,85.23,89.90,86.67,91.48,90.07,87.88,87.03,92.08,
-90.10,86.48,90.81,85.78,91.49,89.53,88.16,89.75,87.91,89.30,
-92.96,93.13,93.27,91.08,90.92,94.08,90.35,93.42,86.01,91.77,
-91.75,96.09,94.38,92.35,95.83,91.57,95.21,93.53,94.12,93.83,
-94.84,93.10,97.14,96.85,94.40,96.01,93.61,94.31,96.21,98.20,
-98.80,99.09,100.50,94.80,98.54,99.71,97.94,98.15,96.07,97.00,
-101.77,107.76,103.40,97.85,98.02,98.42,103.14,105.38,101.76,102.64,
-101.70,104.17,98.21,98.70,102.27,103.21,99.36,102.98,100.58,100.36,
-26.51,25.14,26.85,25.84,28.69,28.49,29.69,29.53,31.71,31.70,
-32.29,32.77,32.66,32.87,32.55,34.75,34.74,35.56,36.89,36.76,
-38.83,36.52,39.81,39.62,38.64,39.13,39.91,40.07,41.05,41.59,
-40.92,43.26,43.22,43.39,44.58,43.60,43.79,45.95,45.36,46.42,
-44.73,46.30,47.91,47.41,46.73,49.06,48.30,47.93,51.19,50.59,
-52.08,50.62,54.17,52.02,53.71,53.87,54.52,52.33,52.31,55.69,
-53.79,54.95,56.07,55.43,55.89,54.42,55.85,57.89,57.57,56.14,
-56.79,56.87,54.77,58.87,58.74,58.94,58.55,60.72,60.25,61.41,
-63.03,62.50,59.34,62.39,63.27,62.14,61.09,61.31,63.81,64.62,
-63.67,63.03,64.42,65.73,63.08,62.07,63.07,65.80,65.08,65.00,
-66.01,65.80,66.11,69.59,65.81,69.65,69.20,67.60,69.75,70.85,
-69.67,70.95,67.80,66.36,69.99,70.51,73.05,73.22,72.40,70.48,
-71.71,74.06,71.30,75.28,73.64,74.46,77.04,76.31,73.25,73.63,
-73.10,75.21,74.53,74.79,79.60,78.41,77.03,74.74,75.20,78.47,
-77.34,76.54,77.12,80.93,77.81,80.67,78.78,80.15,77.00,80.67,
-79.94,78.97,80.56,84.35,82.80,81.53,82.76,84.27,82.59,80.26,
-82.82,84.07,81.68,82.04,82.40,85.30,84.06,82.86,79.79,83.41,
-84.43,82.58,85.21,86.82,86.58,85.48,83.81,87.82,82.99,86.62,
-86.99,84.37,85.73,87.46,88.16,86.05,92.92,86.98,87.60,88.02,
-84.41,85.00,92.81,82.61,88.39,89.29,89.56,89.32,93.99,92.61,
-92.94,90.48,90.20,91.40,95.48,90.48,92.45,94.25,94.47,94.79,
-93.97,90.76,92.50,94.33,92.77,95.18,93.29,92.34,97.37,94.16,
-92.85,93.48,93.67,94.09,94.71,100.92,94.03,98.37,91.21,93.61,
-97.53,98.37,97.24,97.93,95.00,96.98,97.15,96.66,97.73,96.20,
-99.01,100.17,99.30,101.80,99.11,99.13,98.36,95.30,99.78,100.09,
-101.57,99.93,99.82,102.25,103.09,96.10,101.86,99.34,98.00,101.37,
-99.58,103.63,100.58,103.46,104.35,100.32,103.96,105.59,101.95,103.99,
-105.06,103.91,105.49,104.85,106.02,101.99,110.36,106.02,106.68,101.44,
-105.23,106.18,104.02,102.96,104.54,112.49,108.02,102.09,104.11,106.21,
-27.26,26.61,27.31,28.23,30.98,29.93,30.03,32.29,31.69,32.29,
-33.28,33.42,35.44,32.76,35.90,36.65,36.66,36.98,36.89,40.07,
-40.42,39.54,38.68,41.41,42.28,42.46,43.43,43.19,42.58,44.26,
-42.81,43.62,45.42,44.08,44.01,47.18,47.46,46.57,47.06,48.62,
-48.56,48.77,50.02,50.75,52.31,51.85,52.70,51.59,51.60,53.69,
-52.71,52.61,55.59,55.11,53.68,52.46,57.48,55.23,56.74,55.77,
-56.65,56.96,57.37,56.90,57.43,59.48,58.45,58.43,59.15,63.01,
-60.07,59.08,60.77,61.20,59.53,61.87,60.59,64.81,64.73,64.19,
-64.48,63.60,65.45,65.77,63.89,63.89,61.95,65.94,66.09,66.34,
-68.37,67.20,69.58,68.72,72.08,67.75,72.53,70.75,69.97,69.62,
-70.67,69.65,73.03,71.65,72.68,72.06,71.85,72.65,74.32,73.28,
-74.65,75.41,73.55,73.10,74.77,75.80,74.15,74.33,74.18,77.89,
-74.97,76.02,75.91,77.80,73.79,75.96,76.82,75.28,76.47,77.36,
-79.95,77.06,81.03,78.72,79.06,79.41,82.82,80.92,81.23,78.12,
-81.52,80.16,84.08,83.78,81.13,81.78,82.18,84.14,83.32,84.30,
-83.32,82.76,84.25,83.44,82.26,81.30,83.73,85.40,81.73,83.04,
-86.56,87.60,86.87,90.22,85.46,91.16,88.89,89.61,86.04,87.93,
-88.95,86.65,91.88,92.79,91.65,91.87,91.78,85.29,86.67,88.82,
-89.17,89.30,93.17,92.26,91.49,92.74,94.01,91.26,92.13,96.34,
-94.35,94.03,92.09,95.69,98.89,96.60,95.50,90.46,96.30,99.49,
-97.67,97.69,96.71,96.20,98.72,93.02,95.31,95.97,93.03,101.35,
-95.19,101.48,100.11,98.69,97.05,99.68,100.24,103.01,99.91,100.58,
-102.36,100.41,103.57,99.41,97.70,99.30,97.23,101.88,102.49,101.99,
-101.93,97.60,100.04,104.45,101.85,98.07,103.40,103.33,101.34,103.49,
-103.43,107.44,103.70,102.26,105.34,110.58,104.25,106.16,106.36,107.05,
-107.62,108.32,105.04,108.81,104.64,106.57,103.11,110.61,105.87,107.90,
-110.99,107.18,109.11,106.78,108.74,113.25,110.52,112.68,108.99,109.07,
-108.19,109.20,109.31,115.16,113.05,111.33,111.79,111.77,115.85,112.35,
-112.79,113.04,113.49,112.52,111.07,111.36,114.28,113.54,112.75,112.81,
-26.97,27.61,29.14,29.27,29.59,30.68,32.10,33.09,33.20,34.79,
-34.31,36.61,35.99,37.13,35.94,35.91,37.63,39.02,40.27,40.97,
-40.10,41.16,43.56,42.60,41.83,44.79,43.68,45.51,44.80,46.45,
-45.26,45.76,48.20,46.95,48.63,49.22,51.74,49.51,50.63,48.98,
-49.38,50.59,51.48,51.53,54.18,52.57,53.63,54.22,55.13,56.39,
-55.64,56.76,57.09,56.46,59.10,59.03,59.24,58.55,60.18,58.82,
-62.21,58.57,58.72,61.61,61.63,61.22,62.38,63.62,61.71,64.52,
-64.01,63.14,65.00,63.98,66.67,67.56,65.56,65.50,64.72,66.27,
-65.60,66.33,67.59,67.12,66.71,67.51,68.24,70.90,69.47,70.92,
-69.09,71.11,71.73,71.67,69.49,73.85,75.00,72.90,73.71,71.08,
-74.95,73.08,74.47,77.57,73.72,73.70,76.19,75.07,75.60,74.02,
-74.75,75.01,78.32,79.60,80.35,80.04,77.10,78.08,76.84,81.05,
-81.49,82.59,79.50,78.77,82.00,81.85,82.92,79.15,82.77,80.12,
-83.72,82.55,85.13,82.87,81.41,81.82,85.06,83.78,84.85,87.30,
-86.96,81.63,88.94,86.73,85.51,90.30,86.63,86.61,88.89,87.37,
-90.11,86.29,90.58,90.34,89.34,87.31,90.20,85.76,93.89,90.22,
-91.55,93.63,93.20,88.93,94.80,88.23,92.63,90.06,94.57,88.77,
-94.76,92.12,91.36,98.13,97.07,96.32,97.30,90.23,93.41,95.54,
-96.60,96.68,99.54,97.68,95.79,96.41,96.37,97.90,98.13,98.15,
-102.16,100.73,103.27,96.03,94.06,96.15,99.68,96.02,98.50,100.86,
-97.87,100.60,104.44,104.22,103.00,99.56,103.30,102.16,100.57,107.83,
-104.97,106.44,102.24,101.08,106.02,103.02,106.69,106.09,103.62,103.98,
-105.27,108.12,106.35,104.97,106.96,104.08,108.89,110.88,109.17,103.13,
-104.97,108.52,110.63,107.34,104.19,107.26,111.69,105.87,109.32,105.02,
-112.20,111.45,109.46,109.53,113.57,108.83,113.61,112.49,113.77,107.46,
-111.49,112.54,114.61,113.31,116.71,115.87,114.76,115.92,114.03,110.30,
-112.05,113.01,109.03,114.60,116.26,114.24,117.66,118.49,114.91,115.03,
-120.20,112.86,117.65,115.29,114.24,111.17,119.83,114.07,114.70,114.16,
-116.70,119.10,115.00,120.84,117.92,119.26,118.70,122.80,117.59,122.15,
-28.52,29.09,28.74,30.53,30.68,31.88,34.84,33.58,33.66,35.59,
-37.67,36.35,38.24,37.17,39.29,38.72,42.37,41.05,41.25,41.27,
-43.46,42.05,44.07,43.43,43.59,45.21,46.70,46.94,46.18,48.83,
-48.84,50.00,50.81,49.92,50.21,50.95,51.81,51.48,52.96,52.46,
-52.95,54.97,54.46,53.47,54.03,55.82,53.49,53.73,57.24,57.58,
-59.93,59.27,59.27,59.60,59.24,59.53,61.96,60.01,61.24,62.63,
-63.64,62.28,63.21,60.89,63.26,63.98,63.46,63.93,64.82,67.51,
-66.07,66.55,66.80,68.48,66.87,68.34,67.80,70.39,68.19,69.09,
-69.26,69.98,68.03,69.54,69.10,71.04,69.86,72.17,70.29,74.20,
-70.16,71.55,74.60,74.18,75.49,74.98,80.24,75.03,74.51,74.03,
-77.93,73.09,78.32,78.53,80.57,78.79,79.42,83.42,80.52,76.10,
-80.40,81.00,81.34,80.62,79.84,81.48,81.07,85.31,84.48,84.36,
-82.08,80.88,84.95,86.08,85.74,83.94,85.85,88.53,85.51,85.67,
-84.89,88.06,88.51,83.16,86.01,86.85,88.34,90.81,87.88,92.23,
-89.07,87.66,89.09,92.19,91.82,93.10,89.50,90.33,89.21,92.31,
-91.89,94.86,90.44,90.90,93.85,92.03,93.11,94.68,94.67,92.12,
-94.99,97.83,93.48,94.47,100.89,94.79,96.69,94.57,98.13,94.74,
-99.74,99.55,96.31,97.73,100.12,99.77,94.43,97.24,94.43,100.19,
-99.78,96.47,102.08,103.67,99.32,103.48,97.76,106.48,103.49,104.33,
-101.59,101.43,100.41,106.20,105.60,105.07,103.36,104.15,102.41,104.27,
-108.22,106.81,109.03,105.13,108.15,108.88,106.33,109.53,104.91,107.19,
-106.69,105.83,106.82,110.48,108.02,110.76,108.53,110.92,110.61,111.24,
-114.10,112.59,107.45,111.36,108.15,115.41,110.35,110.99,110.40,113.61,
-112.58,115.23,115.62,112.16,111.33,112.70,114.29,114.81,117.85,113.13,
-114.06,115.75,112.10,115.67,109.51,114.63,115.54,114.17,116.39,117.65,
-117.48,116.87,121.75,121.87,119.54,120.53,117.77,120.44,122.67,118.93,
-126.37,122.82,120.45,126.21,116.99,120.95,124.98,118.75,125.18,118.09,
-123.27,119.76,117.91,118.72,120.67,120.16,121.88,118.17,123.52,127.17,
-124.87,124.58,127.78,119.45,124.82,121.32,123.18,119.89,123.50,120.46,
-29.97,28.33,31.40,30.98,31.53,32.65,33.37,34.87,35.82,35.25,
-36.04,36.81,38.18,39.62,40.27,40.89,39.34,42.52,44.72,42.85,
-43.93,44.81,45.67,46.32,46.15,48.12,46.58,46.87,49.22,50.37,
-51.41,51.48,52.81,52.51,51.45,54.26,53.44,55.13,53.20,54.54,
-54.46,55.71,54.62,54.85,56.85,56.38,59.60,58.33,61.08,60.86,
-59.14,61.23,58.29,62.16,62.91,63.55,62.47,63.85,61.03,64.91,
-65.49,66.25,64.50,65.08,67.19,65.52,67.72,66.57,66.43,68.74,
-67.24,67.77,67.90,71.73,68.78,72.88,71.72,70.13,72.04,72.20,
-71.36,73.41,73.04,76.65,73.76,75.03,73.34,75.70,77.73,76.98,
-75.93,76.73,74.56,79.94,79.87,78.22,78.07,82.59,79.64,77.79,
-78.59,80.30,83.04,78.80,82.18,79.64,79.54,81.81,80.98,80.43,
-81.20,83.43,84.91,87.28,83.30,84.39,85.93,84.93,87.54,85.85,
-87.32,85.95,87.91,90.22,88.92,91.25,85.92,93.20,87.62,86.86,
-88.33,86.42,91.15,87.39,93.73,88.40,90.28,96.60,91.95,93.51,
-91.62,92.24,95.26,96.58,93.62,93.34,92.15,94.14,93.48,95.74,
-96.29,93.45,97.73,95.86,99.73,98.38,98.98,94.18,99.28,98.96,
-100.13,103.76,97.69,100.72,94.06,103.51,100.44,101.53,103.25,96.12,
-102.59,102.05,103.13,99.93,102.97,100.83,106.37,101.86,99.75,100.18,
-103.27,103.53,105.28,104.14,105.19,103.43,103.87,104.36,105.57,110.80,
-104.62,109.57,107.45,109.65,105.43,107.93,105.36,108.83,110.07,110.93,
-109.23,111.21,107.18,108.58,110.03,108.45,103.65,112.56,105.06,113.02,
-113.83,110.51,113.06,116.76,113.81,110.36,117.43,109.89,117.40,112.16,
-119.15,117.52,115.81,115.12,111.79,114.33,118.77,118.44,115.12,117.50,
-119.14,111.67,113.43,115.42,117.96,116.07,122.50,113.28,114.87,115.88,
-116.13,115.20,120.77,121.68,121.05,124.44,125.08,123.22,123.53,121.77,
-120.45,123.17,121.22,123.14,120.48,116.65,125.06,126.60,119.30,123.91,
-124.01,124.99,121.09,126.86,124.66,127.04,125.76,127.69,124.37,123.54,
-120.49,123.17,125.54,125.76,119.55,125.98,126.08,125.11,132.53,130.94,
-131.63,127.16,131.77,128.23,128.90,125.40,132.73,134.56,124.68,130.91,
-29.60,31.00,31.81,31.86,32.55,33.18,35.55,35.27,36.31,37.76,
-38.57,38.07,39.73,41.96,42.96,42.56,42.17,42.49,45.54,43.66,
-44.82,47.73,48.42,47.58,48.98,49.29,48.06,50.95,48.13,51.47,
-52.85,53.34,52.69,51.17,53.41,52.57,54.11,56.31,55.77,56.09,
-56.11,57.87,58.36,61.93,59.09,59.90,59.70,59.38,59.58,58.66,
-62.66,62.62,64.04,63.22,67.10,62.80,62.82,65.50,65.82,67.75,
-64.82,65.34,69.11,67.77,70.51,64.95,69.15,70.68,69.39,70.69,
-70.48,74.15,70.22,72.20,72.06,75.36,74.65,74.97,74.73,73.95,
-73.16,77.03,77.46,76.81,75.03,77.28,73.95,77.92,74.85,79.58,
-76.62,79.36,78.88,79.11,79.99,81.14,83.19,83.53,84.18,81.87,
-83.63,84.00,84.43,83.61,82.65,88.38,83.68,83.67,84.52,86.12,
-86.30,87.99,86.87,87.75,87.86,85.62,91.85,90.19,88.49,87.89,
-90.25,90.28,86.60,89.10,91.57,88.79,88.60,90.72,90.76,92.72,
-93.96,93.30,95.94,95.33,98.01,93.02,95.10,92.36,97.54,93.60,
-94.50,94.88,99.21,100.12,94.57,96.50,97.27,95.81,96.52,99.95,
-96.98,96.64,97.75,100.84,97.07,99.69,101.34,102.56,103.77,105.19,
-102.30,103.90,102.14,103.03,107.18,102.83,99.23,99.84,100.09,107.56,
-107.29,104.15,106.89,104.75,107.32,105.34,104.13,108.31,106.94,108.11,
-107.13,108.81,106.66,112.29,108.35,112.51,108.06,106.94,105.13,104.88,
-107.71,112.74,110.35,109.80,112.18,113.63,113.57,110.43,108.29,114.47,
-110.60,115.69,110.92,115.65,113.21,114.96,113.60,113.99,117.62,114.01,
-113.65,116.15,114.50,119.13,111.90,115.99,114.57,120.61,116.19,121.73,
-121.04,120.58,115.51,121.48,117.76,122.80,117.52,116.70,123.51,121.01,
-117.76,124.54,119.03,123.53,124.91,116.73,122.17,121.89,125.79,124.50,
-123.56,123.50,124.86,123.80,126.33,120.44,122.40,120.30,127.78,125.68,
-127.41,126.27,126.32,123.70,128.27,123.05,123.93,127.86,130.87,125.70,
-121.30,128.71,130.62,129.47,128.91,132.16,130.56,129.32,131.23,126.27,
-126.13,128.62,127.59,135.51,128.40,131.60,129.35,130.13,128.69,132.13,
-128.26,129.42,133.94,132.97,128.87,137.27,130.42,140.67,139.99,130.72,
-29.46,30.68,32.38,34.16,33.38,36.19,35.64,36.40,36.84,37.14,
-38.67,39.35,40.25,40.08,40.74,43.66,44.86,45.14,45.15,47.04,
-47.39,49.49,47.74,48.19,49.08,49.81,51.14,52.26,50.86,51.81,
-55.07,52.94,51.54,54.01,57.24,55.31,57.25,56.26,55.90,58.03,
-59.25,60.11,58.43,59.99,63.06,59.28,63.30,61.25,65.52,63.37,
-61.94,64.61,65.85,65.31,64.42,62.76,65.19,67.14,68.29,67.19,
-65.21,68.12,72.27,71.50,71.03,71.86,67.05,70.56,70.38,72.72,
-72.09,71.94,77.94,77.74,74.67,73.81,73.60,74.92,75.50,75.61,
-77.34,78.44,79.32,76.39,82.81,78.29,79.95,79.72,81.07,78.89,
-80.64,82.98,83.79,79.62,84.36,84.78,83.04,82.21,89.28,84.96,
-85.88,85.90,87.72,87.41,86.25,87.22,87.41,85.24,87.31,88.96,
-87.97,90.55,83.92,84.99,91.25,90.07,87.92,95.22,93.38,92.07,
-92.48,93.59,86.70,92.36,92.32,93.53,95.66,95.08,94.90,92.79,
-93.85,95.44,96.73,99.40,95.99,96.74,97.19,96.14,97.84,98.42,
-102.65,96.07,99.93,102.21,100.49,102.96,102.15,100.32,102.98,101.01,
-106.60,107.70,102.90,103.63,103.16,102.80,101.29,104.34,104.04,108.33,
-106.42,105.89,104.29,108.54,105.12,101.77,105.53,107.16,109.44,106.26,
-110.83,110.36,112.82,108.85,107.29,112.38,110.63,109.01,111.57,112.53,
-110.85,111.52,116.16,115.54,116.12,113.43,111.77,119.15,117.08,116.53,
-113.21,110.69,112.91,116.46,112.92,119.79,113.56,114.06,112.02,120.28,
-114.22,110.47,119.02,118.17,119.78,119.51,119.47,119.49,116.83,115.03,
-116.19,118.69,122.83,122.02,117.62,119.38,118.57,120.91,122.92,126.01,
-118.68,124.60,118.07,123.08,126.03,118.88,123.64,117.75,125.09,126.46,
-124.72,124.81,127.39,123.92,122.62,126.52,125.80,125.72,126.49,130.87,
-128.35,122.70,124.68,129.44,124.91,127.61,124.76,127.04,129.30,132.15,
-129.85,128.27,128.47,129.40,130.40,133.88,131.78,133.05,132.35,126.78,
-128.49,129.39,135.07,125.32,130.09,137.06,127.80,138.06,130.14,135.43,
-127.87,132.46,135.82,139.25,131.94,138.26,136.92,138.41,136.04,136.79,
-136.32,139.07,135.07,134.08,136.40,136.08,136.81,135.92,141.38,131.79,
-31.00,32.43,33.05,32.83,34.49,36.04,36.16,36.22,40.65,39.93,
-40.83,41.90,40.66,43.59,43.46,42.21,42.65,44.99,45.42,47.34,
-47.22,47.91,48.64,49.70,50.09,51.06,52.54,52.18,51.17,54.41,
-55.76,54.89,56.27,56.81,55.73,57.32,58.11,57.99,60.39,59.63,
-59.89,59.61,62.30,61.26,62.35,63.67,63.05,64.53,61.79,64.43,
-67.56,65.03,66.74,66.26,67.89,67.26,68.84,70.29,67.85,70.95,
-68.35,71.98,71.00,74.31,73.41,74.89,72.80,73.26,72.95,75.25,
-76.96,74.69,78.23,76.75,79.28,79.23,77.28,77.15,78.07,79.58,
-77.75,78.79,78.81,79.44,81.25,75.61,79.23,83.87,78.56,82.79,
-80.58,82.42,84.02,84.95,85.09,90.15,87.84,85.35,86.93,83.83,
-90.87,87.98,91.79,90.79,89.72,86.95,91.06,94.39,88.05,93.21,
-92.38,92.41,94.29,94.50,93.97,88.81,91.80,92.29,93.98,93.29,
-96.11,93.78,99.17,98.68,94.95,93.35,96.75,97.34,100.75,98.93,
-97.05,96.91,98.52,101.86,98.52,100.03,101.24,101.43,101.05,105.00,
-103.16,102.48,102.85,103.78,105.12,101.75,101.52,104.57,106.48,105.85,
-101.11,101.97,102.15,101.06,102.37,102.65,105.96,108.19,105.83,111.60,
-103.10,107.12,107.46,105.86,114.61,108.23,107.52,108.72,107.24,112.45,
-109.41,104.28,105.78,105.96,116.87,113.93,112.37,114.55,116.72,118.20,
-114.35,112.19,112.03,111.29,110.92,113.61,117.31,114.11,115.10,112.18,
-117.02,119.28,117.79,119.71,119.60,118.23,122.70,118.74,121.90,120.31,
-116.84,118.29,119.51,119.68,118.94,123.60,118.23,117.74,121.80,127.29,
-122.00,121.90,126.14,120.03,126.56,124.15,117.54,127.28,124.20,126.07,
-123.47,128.48,119.93,124.80,127.49,123.52,128.55,125.23,123.86,125.65,
-127.47,124.98,125.55,130.55,129.04,129.29,125.51,125.15,127.95,133.91,
-132.25,130.50,132.93,129.52,130.45,129.21,129.88,128.97,134.01,131.78,
-128.39,129.02,133.74,130.27,133.14,135.14,130.33,133.11,138.34,137.26,
-135.10,142.69,134.62,135.68,136.25,135.12,136.43,139.86,136.53,137.61,
-139.48,134.92,141.70,137.42,136.70,140.51,140.25,138.13,144.08,140.64,
-137.50,140.35,138.09,142.43,145.69,143.69,142.88,140.99,140.90,144.20,
-31.54,33.09,34.07,34.39,35.97,35.62,37.79,38.69,39.97,39.32,
-41.59,41.49,41.73,42.81,45.29,45.20,44.53,46.03,47.48,47.60,
-48.09,49.42,50.70,50.29,50.98,51.39,52.71,54.33,56.36,56.68,
-56.84,57.33,56.61,55.38,57.95,60.43,59.27,59.12,62.07,61.23,
-60.46,61.43,64.43,61.59,63.90,64.79,65.55,62.55,66.05,66.87,
-65.73,67.97,69.57,66.70,71.17,68.26,72.27,69.35,70.97,72.95,
-71.25,72.14,74.04,72.54,74.90,75.43,76.45,75.73,78.06,75.28,
-77.89,75.20,76.53,77.28,77.67,78.92,81.15,80.87,80.47,78.10,
-79.01,78.06,80.32,81.11,80.89,82.88,85.53,83.67,85.10,87.66,
-83.99,86.86,88.55,88.57,86.83,89.06,88.50,88.53,89.46,88.29,
-87.95,92.17,87.86,91.52,89.73,88.88,92.80,92.09,94.41,93.50,
-94.48,92.10,96.57,94.05,97.27,93.95,92.50,98.87,96.19,93.42,
-97.21,98.57,97.80,97.22,97.44,96.67,100.08,96.22,100.09,98.08,
-100.24,101.81,102.79,104.51,104.00,103.07,100.41,100.92,103.71,104.91,
-108.01,101.01,104.26,103.95,103.64,104.91,110.62,108.22,106.33,106.56,
-106.93,109.23,106.45,104.44,119.20,106.58,108.12,108.82,109.42,108.14,
-109.24,111.14,114.82,111.34,116.59,109.23,109.09,109.89,113.14,117.38,
-112.97,117.43,113.42,115.78,108.86,119.61,113.78,115.78,116.67,113.15,
-112.26,118.74,114.19,118.90,123.29,119.60,118.56,118.43,117.99,123.24,
-116.52,118.65,117.34,118.30,121.36,122.15,121.24,119.24,121.33,123.61,
-118.12,125.56,116.73,116.08,125.24,126.48,124.14,126.50,121.10,123.61,
-122.32,120.63,125.63,128.14,128.77,126.38,129.39,125.48,124.53,125.21,
-133.02,123.16,129.48,121.77,137.20,131.92,136.02,125.27,128.35,125.35,
-131.09,130.24,126.73,131.61,132.70,134.07,130.42,131.34,132.41,136.66,
-136.06,133.15,139.81,134.84,135.39,132.77,136.08,138.45,135.20,139.15,
-132.64,133.81,132.35,137.94,135.45,138.95,138.75,141.51,138.00,139.74,
-137.20,138.90,136.58,132.15,137.60,136.89,139.56,137.83,143.77,145.39,
-143.19,143.34,144.82,143.18,140.10,142.98,140.69,145.12,145.73,144.16,
-144.19,144.18,145.91,144.21,150.67,145.06,146.99,145.92,148.89,142.37,
-19.84,20.91,19.29,21.12,21.58,20.78,21.79,21.37,21.35,21.87,
-22.04,22.16,21.88,22.31,23.55,21.83,23.87,23.44,24.29,23.73,
-24.54,24.81,25.28,24.38,25.12,25.53,26.31,25.86,27.09,27.07,
-26.72,28.11,26.31,26.82,26.90,26.02,26.90,28.08,28.32,29.61,
-28.90,27.84,27.51,29.98,29.97,28.67,29.24,30.76,29.91,30.07,
-29.83,30.72,29.76,30.51,29.87,31.62,30.30,31.68,32.01,33.60,
-32.25,32.04,31.35,32.86,32.50,33.30,33.50,33.25,32.56,34.59,
-33.66,33.27,33.94,35.14,34.26,33.11,33.99,36.21,33.90,34.42,
-34.85,34.47,36.32,35.30,35.20,35.89,35.78,36.76,36.66,37.45,
-35.57,37.53,36.47,37.76,36.40,38.56,38.23,37.50,36.88,36.13,
-37.31,38.62,39.44,38.49,38.56,38.42,38.09,38.61,38.65,39.16,
-39.53,37.70,39.81,38.53,39.10,38.68,39.17,38.31,39.91,40.51,
-41.29,40.78,43.18,40.08,41.41,41.34,41.93,41.46,41.07,41.48,
-40.68,40.78,41.77,41.05,43.73,43.20,43.32,43.40,40.68,42.52,
-43.33,43.81,43.26,42.79,43.91,43.36,42.13,43.68,44.23,42.98,
-45.01,42.78,46.71,45.29,43.22,44.74,46.30,45.00,44.84,45.83,
-46.39,44.75,44.42,47.12,47.74,45.12,45.99,46.03,44.86,45.71,
-45.87,47.67,47.68,46.01,47.10,48.16,46.51,47.90,46.46,47.22,
-47.41,46.77,49.41,47.64,47.61,51.03,47.69,49.42,49.90,48.11,
-47.30,49.96,48.95,49.09,48.60,48.83,50.12,50.66,47.97,48.82,
-47.60,48.13,49.57,50.28,50.06,50.73,49.04,48.06,50.22,49.22,
-52.17,50.45,48.07,50.66,51.58,50.68,49.85,54.17,50.67,52.64,
-51.85,51.56,50.59,50.14,53.51,53.31,53.67,52.06,54.60,51.94,
-54.11,51.96,51.98,51.77,52.22,52.06,54.32,53.91,52.61,52.69,
-53.09,51.57,55.00,54.41,54.12,54.83,51.42,54.09,52.66,53.57,
-53.48,53.88,56.18,52.18,57.11,53.87,55.91,54.63,55.69,55.44,
-58.75,52.98,55.44,54.72,56.05,56.85,56.50,55.67,58.99,56.56,
-58.70,58.18,57.41,58.18,59.60,57.33,57.60,56.12,56.80,56.97,
-58.24,57.51,58.40,59.01,60.48,58.49,58.40,58.08,58.39,57.73,
-21.81,21.11,20.49,20.68,22.90,21.49,22.16,22.66,22.12,22.47,
-23.55,23.69,25.20,25.01,25.50,25.26,25.01,25.98,25.39,27.30,
-25.40,26.38,27.72,27.82,27.57,27.33,26.98,29.21,28.62,29.17,
-27.80,29.38,28.90,29.91,29.54,29.12,30.97,30.05,31.19,31.00,
-31.70,30.98,31.62,31.29,31.57,31.57,33.05,33.53,32.89,33.61,
-32.89,33.62,33.80,33.59,32.88,33.91,34.71,33.85,33.87,35.12,
-35.94,35.52,34.59,35.15,35.84,36.75,35.69,37.19,36.38,36.87,
-37.46,37.33,36.17,38.92,37.01,36.45,39.14,39.17,37.43,41.18,
-38.83,39.30,39.36,39.28,39.69,40.39,40.35,40.64,39.17,40.51,
-40.96,40.27,40.06,40.97,41.39,41.86,43.15,41.57,42.65,41.14,
-41.19,43.38,42.73,40.99,42.60,42.14,42.40,42.86,44.11,43.43,
-42.89,43.01,45.62,43.68,45.39,45.16,44.96,46.13,44.14,44.97,
-43.43,44.39,44.98,46.61,46.72,45.39,45.43,45.12,45.52,46.54,
-45.85,47.03,47.21,45.90,48.66,47.02,47.24,46.88,48.50,46.75,
-47.01,50.09,45.69,48.05,49.73,48.16,48.29,49.24,47.78,51.91,
-48.77,48.21,50.26,48.21,47.94,50.94,51.20,52.32,49.63,48.55,
-51.77,50.72,50.52,51.51,52.49,49.40,50.64,53.55,51.41,54.01,
-52.93,51.85,50.94,51.95,52.28,52.06,51.46,53.37,51.76,52.81,
-55.10,54.73,52.07,54.95,52.33,54.00,52.18,54.02,54.69,51.75,
-53.55,54.05,54.95,54.67,56.07,57.93,55.89,56.38,55.47,54.26,
-54.48,56.49,55.98,56.03,55.26,56.39,57.78,56.08,57.63,58.23,
-55.33,57.73,56.58,56.01,57.64,56.14,57.55,55.57,56.73,61.49,
-59.39,57.11,55.52,56.32,57.65,58.06,56.89,60.86,59.56,57.90,
-58.89,57.94,56.31,59.56,58.85,58.28,61.05,59.40,59.45,60.95,
-57.74,61.76,62.69,59.06,61.31,61.01,59.91,61.83,64.20,59.73,
-61.19,61.13,59.39,61.21,61.77,63.68,61.73,65.44,62.70,62.35,
-59.95,61.91,62.77,63.68,63.28,60.37,61.79,63.79,61.99,64.56,
-63.44,63.28,66.18,62.46,65.38,65.58,62.59,66.06,62.92,64.59,
-65.52,64.41,65.76,62.25,67.42,64.48,67.61,67.06,69.50,65.68,
-22.41,22.83,21.96,22.86,23.12,24.01,23.90,23.86,24.53,25.22,
-25.07,25.23,26.11,26.02,26.41,26.83,26.38,28.18,26.62,28.42,
-28.44,29.02,28.22,29.47,30.68,29.53,29.06,27.79,32.30,30.54,
-31.65,30.36,31.92,32.58,33.38,31.95,32.22,32.13,34.56,34.16,
-34.45,33.34,34.04,35.65,34.71,34.61,35.58,35.68,35.07,35.70,
-35.21,35.54,36.35,38.71,36.59,36.02,38.65,39.24,37.45,39.03,
-36.67,38.28,37.29,38.68,38.62,38.74,39.90,40.42,41.28,39.98,
-40.82,39.43,41.04,42.02,41.27,39.76,41.38,40.75,44.00,43.56,
-41.94,43.11,42.40,42.03,43.28,42.77,43.37,44.61,42.19,44.59,
-44.38,47.29,44.65,45.00,46.67,43.23,45.86,45.62,45.84,44.64,
-46.92,45.21,47.14,46.64,46.33,45.46,48.65,48.42,46.88,49.01,
-46.31,47.59,47.83,49.47,49.91,45.30,48.68,49.00,50.73,49.67,
-51.04,49.32,49.95,51.02,50.27,49.55,50.62,51.80,49.71,51.02,
-50.88,51.88,52.97,50.85,51.55,51.89,53.66,51.51,52.94,53.82,
-52.99,53.08,53.87,54.28,53.51,53.22,55.44,54.22,52.72,52.18,
-54.37,54.59,52.11,55.13,54.92,56.71,57.40,53.44,55.29,56.01,
-55.31,55.80,57.28,58.17,56.06,57.27,55.41,55.44,57.32,55.28,
-58.65,59.71,56.68,57.89,57.72,57.46,59.19,58.82,57.52,57.71,
-57.03,60.14,58.69,57.21,57.55,59.56,60.36,59.25,61.39,58.34,
-60.31,60.64,61.35,59.75,60.77,61.93,60.98,61.21,61.19,65.07,
-63.08,62.01,62.91,63.07,62.61,59.74,63.75,63.73,65.92,61.94,
-64.44,65.19,63.31,64.25,59.60,62.69,64.83,64.92,62.93,64.12,
-63.54,67.25,64.59,63.21,64.48,64.35,65.17,66.76,64.66,67.70,
-63.95,64.07,64.88,66.61,64.19,65.71,63.59,69.59,67.48,65.40,
-66.17,66.09,66.78,66.50,65.50,65.95,67.44,68.45,68.07,68.11,
-68.10,68.64,68.92,71.95,70.40,68.81,67.31,67.96,69.39,68.89,
-68.78,69.33,70.24,68.13,69.96,69.45,69.78,71.94,69.39,69.03,
-72.29,70.34,72.56,71.11,72.63,70.95,69.79,69.86,69.39,70.56,
-71.60,75.20,71.85,73.16,72.54,69.66,71.81,72.21,71.64,70.40,
-22.46,23.72,24.62,23.27,25.38,24.84,25.52,25.38,26.13,26.84,
-26.62,26.51,28.47,26.15,28.20,27.66,28.27,29.74,29.82,30.26,
-30.54,29.93,30.24,30.84,32.03,30.81,33.16,31.82,33.92,32.64,
-33.73,34.36,33.85,35.03,34.37,34.29,36.06,35.02,37.75,35.21,
-37.08,36.15,35.91,35.73,36.74,37.43,36.97,38.64,39.82,38.68,
-38.94,38.25,39.98,39.13,39.66,41.18,39.98,40.72,41.36,40.86,
-41.95,42.28,41.53,41.20,42.42,42.35,42.93,44.33,44.63,45.57,
-44.19,43.87,44.02,46.03,45.84,45.81,45.71,44.85,45.27,45.75,
-46.81,47.04,47.67,48.01,45.08,46.32,46.83,47.32,47.21,48.68,
-48.25,47.96,46.98,49.72,48.46,48.97,47.55,50.94,49.75,50.21,
-49.79,51.77,52.07,51.08,51.85,51.66,50.32,52.04,52.28,51.09,
-53.40,52.61,51.52,54.05,51.60,51.15,53.60,52.90,55.64,54.87,
-54.32,53.43,55.65,54.90,55.74,54.06,55.40,54.25,56.33,55.80,
-56.33,54.44,56.51,55.08,58.35,56.45,53.91,57.10,56.56,59.09,
-56.21,59.22,60.11,59.13,57.49,58.04,59.12,58.62,59.05,57.05,
-58.60,60.09,59.29,59.97,60.41,62.85,59.06,62.34,58.89,59.11,
-62.18,61.21,61.14,61.42,63.68,63.11,62.66,62.66,61.72,61.34,
-62.95,64.24,60.21,63.04,63.64,62.46,65.69,61.96,63.46,65.34,
-63.22,63.90,64.74,64.81,63.90,66.51,63.56,64.09,66.89,65.07,
-68.52,65.58,67.46,67.00,64.52,66.29,68.13,66.42,66.08,64.62,
-66.02,65.79,67.51,70.83,65.90,65.44,66.63,67.89,70.02,69.49,
-69.49,68.64,69.83,69.42,70.34,69.14,69.15,69.05,68.44,67.51,
-70.90,70.30,71.14,70.37,68.70,67.48,67.87,70.15,72.47,69.50,
-69.74,71.95,75.81,69.54,72.19,72.28,74.40,72.54,69.34,70.71,
-73.79,75.62,77.17,74.51,71.02,73.13,72.70,77.93,73.25,76.87,
-73.16,76.38,72.70,75.77,75.17,77.63,73.22,77.18,73.92,73.49,
-74.28,76.48,76.94,75.38,77.50,76.92,76.62,77.61,76.04,74.30,
-76.09,78.20,75.04,76.31,75.96,79.68,79.28,76.11,79.05,80.28,
-78.96,79.35,77.02,78.59,79.68,78.43,82.32,78.04,79.52,82.33,
-22.59,23.11,24.93,25.65,25.05,26.66,26.15,27.30,27.89,28.00,
-27.21,27.02,29.10,30.79,29.32,29.62,31.25,31.00,31.58,31.45,
-31.29,33.52,33.41,32.62,32.24,33.12,35.02,35.06,35.31,35.50,
-35.97,36.09,34.42,38.07,37.43,37.36,37.47,38.26,39.62,38.56,
-39.71,39.35,39.42,38.46,40.04,39.98,39.59,42.57,41.07,41.76,
-40.79,42.47,42.51,42.26,40.76,42.78,46.02,44.10,44.05,44.49,
-44.15,47.07,44.42,45.68,44.84,44.60,46.49,44.95,46.77,46.23,
-47.73,47.85,48.94,48.17,47.85,47.80,48.18,50.97,49.74,49.43,
-51.00,47.37,49.33,51.01,51.30,48.95,52.70,54.70,52.92,54.42,
-53.50,51.38,51.93,51.21,54.91,53.10,53.33,55.13,54.93,55.34,
-56.16,55.13,54.33,54.50,55.07,55.30,57.13,55.49,57.44,57.23,
-53.45,57.48,56.88,57.49,55.46,57.55,53.74,57.68,56.08,60.41,
-57.26,60.49,57.61,58.70,61.15,61.10,59.85,59.27,61.40,60.98,
-60.29,57.09,59.26,61.15,63.02,62.71,64.56,61.27,62.49,63.20,
-64.55,64.13,62.60,65.27,60.99,61.66,66.18,63.22,64.35,65.39,
-62.74,65.65,63.98,63.10,63.25,65.71,67.09,65.84,66.24,68.20,
-65.35,65.56,66.06,68.24,67.33,65.82,67.90,68.48,70.03,68.83,
-68.32,68.79,70.62,68.62,72.51,69.09,69.99,69.36,67.19,68.62,
-70.51,69.68,68.27,71.71,69.31,71.50,72.27,72.38,70.86,69.38,
-70.20,68.87,72.03,70.74,70.89,70.50,73.92,70.13,74.60,75.61,
-73.39,75.29,74.09,72.66,74.07,72.06,75.94,74.29,76.06,75.14,
-75.29,76.85,74.21,75.92,75.81,74.39,76.51,73.98,76.03,76.93,
-78.00,76.71,77.97,75.97,78.84,76.34,75.05,76.38,77.63,77.34,
-76.11,80.33,79.68,76.85,80.80,74.49,83.22,81.34,79.53,79.73,
-84.92,78.98,76.98,78.23,80.35,80.96,77.59,82.25,80.35,80.42,
-79.96,80.36,83.26,80.46,81.35,83.74,80.97,80.13,79.17,81.25,
-84.12,84.82,86.06,82.20,83.84,81.45,85.38,85.31,84.55,83.32,
-84.58,81.77,83.40,86.31,86.35,81.52,83.44,82.61,88.57,83.46,
-87.44,88.49,86.63,83.84,86.31,87.13,87.31,87.62,83.96,89.46,
-23.62,24.66,26.44,25.32,28.13,26.47,26.15,29.04,28.67,31.22,
-30.15,30.06,29.37,31.58,31.02,32.89,33.31,31.41,33.20,34.00,
-32.85,32.79,33.70,35.86,35.06,35.90,35.66,37.48,35.78,38.18,
-38.17,37.87,40.79,40.83,39.68,37.87,38.75,42.11,41.06,39.72,
-42.47,40.49,42.82,41.87,42.57,42.74,44.34,45.08,44.37,44.12,
-44.51,47.02,46.26,46.35,45.95,46.30,46.61,48.04,46.99,47.45,
-47.98,44.71,50.06,47.91,49.77,49.92,49.24,51.93,51.53,47.97,
-48.96,52.46,51.54,52.29,51.08,51.96,51.95,54.22,53.10,52.48,
-54.11,53.85,54.30,53.68,53.28,55.89,57.32,57.33,56.81,55.86,
-57.34,56.52,57.93,56.98,54.32,58.72,58.36,58.33,57.97,57.75,
-59.29,59.91,58.99,57.39,58.04,58.49,57.77,60.47,63.27,61.92,
-60.88,62.30,61.10,63.14,59.84,62.24,65.38,63.76,62.25,63.20,
-62.03,62.90,63.24,62.82,62.97,63.55,62.43,63.58,65.47,65.61,
-63.13,64.22,68.96,64.37,66.09,66.06,65.71,67.80,69.42,69.75,
-65.65,66.98,68.97,68.49,69.72,69.87,68.74,67.87,67.73,67.93,
-68.54,69.76,67.42,73.75,71.76,70.85,70.75,68.71,72.00,70.33,
-72.30,70.72,69.27,73.20,71.41,70.93,71.58,76.25,73.21,73.91,
-72.89,73.09,73.09,74.93,73.79,74.21,75.73,76.98,77.28,75.84,
-77.21,75.52,74.54,74.30,79.88,76.17,78.23,77.28,77.28,74.41,
-76.68,76.63,77.73,77.91,75.31,81.81,76.97,80.69,78.33,79.99,
-78.40,77.29,80.06,81.69,79.12,76.38,80.01,77.26,80.14,83.22,
-78.38,79.87,84.57,83.52,82.57,85.47,82.84,81.24,83.61,84.54,
-83.06,83.72,83.13,81.63,85.58,83.06,86.72,87.88,83.08,86.90,
-82.67,84.43,84.90,84.84,83.92,86.14,82.74,88.91,83.55,84.94,
-83.27,83.09,87.54,85.64,86.11,88.18,88.38,87.47,90.11,89.63,
-88.26,90.66,89.68,87.10,85.45,86.56,89.21,92.70,87.42,94.88,
-91.09,91.96,91.32,85.98,90.07,90.09,87.13,89.03,87.39,91.18,
-90.62,90.59,93.53,91.81,93.02,90.30,92.28,92.84,88.71,92.21,
-92.18,88.04,91.54,91.73,87.81,92.75,88.29,93.41,96.65,93.95,
-24.56,26.23,26.96,27.07,27.36,28.75,29.12,29.20,31.25,31.21,
-32.14,31.23,31.57,34.71,32.54,34.22,34.28,35.42,34.45,35.44,
-36.33,37.27,36.90,37.66,37.92,39.04,38.19,38.69,37.92,38.82,
-40.31,40.04,41.09,42.42,41.56,42.48,42.81,42.26,44.72,46.07,
-43.96,44.11,44.96,45.65,43.99,45.10,46.07,46.22,49.45,47.62,
-46.17,48.31,49.97,48.76,48.68,49.83,49.88,49.07,49.70,49.64,
-49.93,50.46,51.32,52.40,55.15,52.28,52.65,54.19,55.49,52.74,
-54.07,54.19,53.88,54.34,54.37,55.12,54.49,53.16,56.39,55.75,
-55.67,58.84,56.46,59.70,59.45,60.33,59.40,58.79,60.24,60.21,
-57.24,59.96,59.77,58.13,61.83,61.62,60.69,59.75,63.72,62.50,
-65.02,63.17,62.60,64.49,63.52,63.68,65.08,63.31,65.26,67.43,
-66.32,65.07,65.75,65.68,66.04,67.06,68.63,66.92,68.04,67.70,
-66.47,67.49,67.56,70.86,69.92,69.03,70.41,67.50,72.53,71.57,
-67.75,69.28,70.03,68.31,71.49,74.00,68.90,69.45,69.55,74.05,
-73.24,72.33,73.21,76.71,66.98,73.87,73.49,71.00,75.09,75.16,
-71.87,74.07,74.97,76.32,76.49,76.72,74.65,78.47,75.44,77.33,
-79.02,73.88,76.96,77.63,76.31,77.54,81.64,76.55,79.66,77.74,
-79.80,78.50,79.50,78.93,79.06,83.60,80.44,78.21,80.20,77.27,
-81.31,80.15,79.51,83.12,77.07,78.23,80.70,80.81,85.46,79.16,
-84.98,82.90,83.85,81.30,83.48,83.00,84.50,83.45,85.27,85.71,
-83.33,87.17,83.91,83.93,84.52,85.52,86.06,90.88,87.73,88.21,
-88.91,86.86,88.24,89.97,87.04,85.87,85.90,86.41,89.12,87.69,
-85.48,91.03,90.19,92.46,90.67,93.50,90.45,91.26,93.35,90.98,
-89.51,90.50,89.59,89.74,92.85,90.42,92.05,88.66,93.17,94.51,
-88.59,91.10,89.76,91.46,89.37,92.42,89.87,89.46,95.96,94.36,
-90.42,93.67,95.48,96.13,97.52,95.90,98.72,94.31,97.43,96.03,
-96.85,97.86,97.99,96.43,96.87,97.13,93.92,96.76,95.86,95.41,
-91.09,97.60,98.15,98.96,95.40,97.52,100.33,101.10,94.28,100.80,
-97.22,96.86,98.12,103.33,100.96,100.42,100.18,96.20,96.61,105.08,
-26.78,26.44,28.54,28.38,29.30,30.96,30.22,31.53,30.81,31.95,
-33.24,34.73,33.71,35.02,34.48,35.57,35.74,37.52,37.18,37.24,
-39.25,38.87,41.38,38.93,40.52,40.43,39.70,42.45,39.76,41.71,
-43.41,42.60,44.19,43.55,43.82,45.36,45.39,44.68,46.04,43.96,
-46.14,47.20,45.92,46.80,47.75,49.21,50.39,47.52,50.16,50.56,
-50.53,50.77,51.60,53.04,50.43,51.08,52.52,53.92,51.51,54.21,
-55.97,53.21,52.72,54.88,56.57,55.36,56.71,55.29,56.81,58.50,
-56.85,57.48,58.44,58.21,58.60,60.11,59.48,59.33,57.95,59.56,
-62.17,62.75,61.92,61.60,62.52,61.27,62.98,64.98,62.46,63.36,
-59.88,65.11,64.66,63.73,66.56,62.21,65.85,64.80,64.93,63.61,
-66.90,67.44,65.31,66.29,67.25,67.94,70.78,68.15,69.19,69.17,
-68.32,69.06,67.42,68.54,70.59,69.22,69.07,69.67,69.77,69.19,
-71.58,70.96,71.05,73.36,72.64,75.83,71.98,73.50,73.04,75.50,
-77.47,73.60,73.57,73.36,79.01,75.39,74.58,75.10,75.53,74.05,
-72.38,75.75,80.25,78.93,78.56,77.47,77.96,75.36,76.75,76.02,
-81.75,77.74,78.65,79.10,78.51,80.53,80.77,82.62,78.94,81.44,
-82.08,80.45,84.74,83.28,82.22,84.79,85.74,81.08,82.34,86.79,
-85.32,81.11,83.84,83.85,81.64,85.79,87.30,83.93,86.66,85.80,
-82.45,86.82,89.51,85.54,87.19,85.34,86.09,87.12,86.06,85.13,
-87.91,89.02,89.58,90.22,83.82,87.75,91.86,88.55,90.43,88.58,
-88.98,92.59,93.50,91.92,88.72,90.04,88.97,88.34,91.95,95.27,
-87.13,95.00,92.41,94.15,95.21,92.80,94.74,93.43,92.36,92.48,
-93.97,95.10,96.86,95.08,97.92,94.07,96.09,92.17,94.42,95.45,
-94.85,93.56,99.31,95.96,96.78,96.78,95.32,95.23,96.00,96.50,
-96.93,99.29,94.54,97.55,96.88,97.26,97.62,100.37,99.48,98.92,
-101.53,99.68,101.17,101.28,101.86,102.17,98.86,102.22,102.58,100.72,
-98.51,101.85,105.20,100.30,103.36,100.13,106.27,101.43,105.37,102.04,
-102.38,102.84,106.27,104.52,105.69,102.26,104.22,107.77,104.05,99.64,
-102.28,104.37,107.02,105.66,106.10,104.22,106.10,103.68,104.73,106.90,
-27.85,29.01,29.10,30.03,31.26,31.96,31.79,33.25,32.95,35.18,
-34.86,33.60,37.45,35.83,35.79,36.22,38.25,38.74,38.52,40.27,
-39.16,38.96,41.36,40.69,43.33,41.96,42.21,43.27,44.17,41.58,
-44.04,43.17,45.71,46.34,44.82,47.50,49.15,47.69,50.09,49.23,
-49.86,49.03,48.26,52.52,49.92,52.04,51.17,50.69,52.62,51.38,
-51.80,54.17,53.19,55.23,54.58,57.20,56.50,53.01,56.24,58.08,
-56.10,57.14,55.83,59.18,57.03,59.48,59.18,57.92,57.94,60.55,
-59.73,61.22,61.32,61.50,60.12,61.57,63.38,65.52,63.86,62.64,
-63.93,65.94,65.33,61.41,65.32,68.48,68.49,65.28,67.27,63.60,
-68.54,67.91,66.20,69.01,68.39,70.88,68.60,71.14,70.60,69.76,
-69.79,67.17,70.30,67.57,72.20,71.75,71.33,70.84,71.85,71.22,
-70.24,71.72,73.52,75.10,77.68,70.82,72.11,75.86,75.55,73.35,
-77.36,74.89,75.64,78.75,75.69,76.58,77.67,77.46,79.76,78.05,
-77.27,77.39,74.95,78.65,74.56,78.47,80.63,80.07,82.52,80.82,
-78.72,84.62,79.92,83.32,78.36,81.65,81.35,80.52,84.60,84.68,
-85.21,81.04,83.99,86.77,85.21,83.36,83.47,83.64,87.17,88.65,
-89.77,85.73,87.11,88.07,85.50,86.35,84.33,84.23,86.35,89.59,
-86.12,87.07,87.73,86.87,90.57,93.24,85.25,88.65,92.74,90.89,
-92.25,88.40,91.40,94.09,89.79,89.84,86.82,90.94,93.27,91.16,
-95.34,93.25,91.81,91.83,95.45,97.86,93.29,93.79,97.87,97.98,
-95.04,95.39,97.87,92.83,92.53,100.00,100.36,96.51,97.93,94.95,
-97.34,95.84,101.70,98.82,94.57,96.54,98.46,97.89,99.89,97.71,
-101.40,101.71,103.24,96.00,100.45,100.97,100.98,101.02,96.12,103.09,
-100.44,102.51,96.85,103.89,99.81,102.69,100.84,102.56,103.00,101.26,
-102.27,102.76,102.19,102.02,104.04,103.10,102.27,107.40,106.89,105.89,
-106.56,110.42,104.13,109.42,107.16,106.13,102.58,105.15,105.46,111.89,
-105.31,110.36,109.99,108.91,114.69,109.20,107.86,111.11,105.81,109.65,
-109.30,104.89,107.06,111.51,111.05,113.23,108.38,117.83,107.53,110.23,
-112.14,109.26,116.43,111.28,109.20,107.28,115.43,114.38,112.04,113.57,
-28.18,29.75,28.87,29.08,30.73,32.29,32.66,32.97,33.82,35.32,
-36.05,35.04,36.33,35.15,38.83,39.36,39.29,39.38,42.21,38.94,
-43.25,41.39,42.78,43.90,43.52,43.34,44.17,43.52,46.97,45.39,
-46.78,48.30,47.03,48.33,48.69,48.51,50.25,48.56,51.39,51.49,
-50.99,51.23,49.54,51.89,51.56,53.14,54.82,53.42,54.58,55.72,
-53.73,56.91,56.62,56.93,56.80,57.08,58.78,60.19,57.11,59.85,
-58.51,57.96,59.44,58.92,64.88,60.76,62.69,58.70,62.80,64.62,
-62.36,63.84,65.05,66.90,65.78,65.77,67.08,66.82,65.47,67.04,
-66.54,68.49,70.28,68.05,69.04,67.70,67.24,67.68,69.19,68.84,
-69.40,70.00,68.98,68.64,71.82,74.02,73.83,72.48,73.33,74.81,
-71.38,77.75,71.21,75.98,75.71,72.59,71.15,76.32,71.54,75.98,
-76.29,77.27,76.18,77.40,78.91,79.35,78.00,76.45,78.73,82.00,
-80.64,81.31,77.85,80.55,82.19,80.53,78.44,78.71,81.92,81.99,
-83.55,77.29,80.89,84.83,86.40,84.68,83.29,84.13,85.42,85.89,
-86.30,84.37,85.42,84.91,86.54,87.72,85.59,87.91,88.93,84.99,
-85.69,85.25,87.77,87.10,90.79,92.82,87.79,86.52,87.87,88.82,
-90.32,91.69,93.62,93.07,90.30,91.08,91.72,91.73,90.78,89.13,
-91.20,94.16,93.54,91.64,90.06,94.84,94.33,93.57,93.28,94.51,
-92.67,95.28,93.74,97.34,98.12,99.94,97.53,99.02,97.42,95.66,
-97.02,98.59,96.42,96.10,95.60,95.34,97.16,97.68,100.29,102.32,
-98.70,102.77,101.98,101.74,98.41,99.72,98.11,101.60,97.43,99.92,
-101.87,103.58,100.94,102.17,104.88,105.24,107.12,104.58,104.15,104.35,
-102.90,102.44,104.70,105.74,109.94,106.07,104.78,106.55,109.74,107.53,
-109.12,104.58,103.44,105.37,104.07,108.79,112.13,104.32,105.72,111.03,
-103.44,110.68,106.34,114.26,109.41,108.80,107.77,107.12,108.56,109.47,
-107.51,107.42,109.20,113.30,113.42,114.79,113.30,106.54,113.03,114.91,
-115.79,112.88,112.03,111.65,110.47,113.41,112.49,111.90,115.42,114.71,
-112.93,112.92,120.47,117.14,114.98,115.45,117.70,119.16,116.69,117.55,
-116.24,116.80,114.45,114.99,113.60,121.16,120.07,117.19,116.24,116.59,
-28.15,30.01,31.04,31.29,33.03,34.73,33.70,33.57,35.90,35.96,
-36.71,36.91,37.30,38.55,38.20,40.36,39.62,43.44,42.87,41.81,
-42.57,43.76,43.28,42.33,46.99,46.19,46.76,47.51,45.71,48.12,
-47.76,50.38,51.71,51.04,52.05,49.88,49.00,53.23,49.98,53.57,
-54.09,55.09,54.94,56.19,58.19,57.44,57.41,58.17,55.31,57.92,
-59.17,58.42,55.99,59.31,61.67,57.74,62.54,62.13,61.09,60.19,
-62.01,60.31,63.81,64.18,63.72,64.57,65.66,65.26,66.57,65.65,
-67.96,65.35,67.97,65.59,66.06,67.28,69.32,70.11,70.44,72.06,
-68.74,70.40,70.50,69.97,71.61,69.15,71.79,72.21,74.97,73.71,
-73.33,71.82,72.19,75.77,74.46,75.49,74.75,74.13,77.58,74.70,
-78.41,78.28,79.44,76.83,76.73,74.82,79.20,78.95,80.79,80.98,
-77.82,81.94,82.78,79.29,80.35,79.88,82.63,83.35,86.41,84.85,
-83.40,83.72,81.60,81.99,84.94,89.29,85.70,83.12,88.96,87.48,
-89.39,83.61,88.89,83.83,83.94,85.37,89.05,88.09,92.18,87.93,
-88.19,88.19,87.80,93.31,86.49,92.13,90.65,90.78,88.38,90.03,
-88.52,93.77,90.11,97.86,92.62,94.12,94.65,95.56,94.39,97.10,
-92.41,97.00,95.78,93.97,94.46,94.07,94.34,95.15,97.22,96.00,
-96.73,95.16,98.23,102.83,98.64,100.91,99.66,96.92,100.54,98.69,
-97.41,100.00,100.73,101.09,101.22,101.12,101.33,98.90,100.49,104.94,
-101.73,97.44,100.52,100.98,101.95,108.88,106.41,101.79,102.97,98.47,
-106.77,106.05,101.58,105.00,103.87,107.98,103.98,105.97,108.00,107.04,
-105.78,106.82,108.53,108.53,110.13,106.77,104.15,106.72,113.07,109.60,
-110.88,107.12,111.85,112.47,110.97,106.60,111.60,111.99,112.42,110.96,
-110.33,107.02,111.01,113.58,117.53,113.40,110.98,112.14,118.05,114.62,
-115.06,115.84,113.46,111.80,114.64,115.84,117.74,115.55,115.68,113.65,
-111.44,112.36,113.37,117.77,116.25,121.47,116.77,119.45,118.73,118.05,
-116.77,114.18,121.77,114.94,115.38,123.77,119.66,120.26,124.09,120.95,
-121.08,117.23,120.63,118.38,118.95,123.81,121.24,114.08,125.51,121.66,
-121.66,125.38,123.75,122.85,124.47,122.00,125.48,128.26,122.78,124.62,
-30.28,31.03,32.90,32.55,33.09,33.40,34.32,35.62,37.33,38.46,
-38.55,38.63,38.72,39.28,39.82,41.00,41.01,43.38,43.54,44.91,
-44.92,46.72,47.10,46.86,46.85,47.36,47.91,49.10,47.90,49.35,
-50.33,51.80,51.17,53.82,53.08,50.36,54.18,55.06,52.84,54.70,
-56.58,55.62,54.87,56.67,59.72,59.09,57.49,60.62,59.21,63.71,
-58.55,62.96,60.21,58.13,64.13,63.50,65.60,65.14,60.64,64.30,
-65.38,66.69,66.82,64.70,67.19,66.20,70.26,67.65,68.28,71.36,
-68.23,68.16,69.74,68.19,70.31,71.31,72.08,70.14,72.72,70.41,
-72.77,74.36,76.88,72.50,77.03,75.25,74.52,74.66,77.70,79.14,
-75.67,76.41,75.89,76.17,78.05,78.29,80.26,77.02,78.24,80.87,
-76.83,78.97,81.21,79.89,81.64,80.42,84.05,81.08,86.00,82.57,
-82.74,82.96,83.16,84.97,80.26,87.60,86.93,86.44,89.54,86.04,
-89.02,86.60,87.83,89.65,89.12,88.67,86.19,87.69,86.39,89.51,
-89.61,90.82,89.26,89.65,92.75,88.59,91.47,92.90,92.67,96.06,
-90.77,91.98,91.27,92.45,93.53,93.68,95.88,95.14,94.04,93.80,
-93.78,95.70,94.58,96.84,97.26,95.24,96.15,96.03,95.61,98.81,
-98.93,95.44,97.75,98.64,98.50,97.83,100.94,101.24,98.56,96.41,
-95.97,97.71,104.12,103.14,101.91,103.95,103.14,99.33,106.55,100.12,
-100.09,101.88,104.27,104.44,105.06,103.67,106.49,106.13,103.33,106.65,
-102.43,100.43,105.17,108.26,111.53,109.17,109.90,107.14,108.67,109.50,
-107.90,103.48,111.11,113.36,108.00,108.69,106.43,111.26,110.99,110.60,
-113.38,112.10,109.35,113.93,117.11,114.90,110.53,112.83,113.91,113.89,
-114.16,113.50,116.81,115.60,114.64,115.28,111.39,115.71,119.82,115.68,
-116.55,117.26,120.74,114.94,119.22,118.79,116.93,116.39,118.27,122.66,
-114.62,119.79,124.45,115.56,124.34,123.14,118.06,123.21,115.61,122.47,
-119.95,125.07,123.82,123.24,121.78,125.00,125.22,115.62,121.01,122.08,
-121.02,127.14,120.72,125.58,127.86,128.75,120.24,121.63,126.31,120.88,
-129.95,124.37,124.71,125.17,125.68,127.43,130.23,126.05,125.86,127.51,
-126.22,130.06,126.17,128.38,129.92,131.65,131.61,129.86,132.72,123.27,
-32.28,31.60,33.90,33.35,35.54,35.28,36.01,36.84,37.66,40.48,
-38.11,39.94,39.23,42.17,43.01,43.07,43.58,43.83,44.93,47.06,
-45.70,47.80,47.19,48.65,48.98,45.95,49.43,49.76,52.53,50.58,
-51.74,52.52,52.15,54.61,57.38,54.01,54.72,55.08,57.75,56.59,
-55.53,59.28,58.27,58.11,58.91,59.40,61.98,61.66,62.82,63.10,
-60.10,67.81,65.16,65.56,66.85,63.20,63.47,66.07,66.65,66.93,
-67.58,71.81,68.36,66.39,68.08,70.10,68.66,71.15,72.38,70.48,
-71.85,70.92,70.17,73.85,73.67,73.97,75.92,74.75,72.68,74.20,
-76.28,74.75,77.39,75.05,76.12,77.74,78.03,76.48,78.57,77.49,
-77.71,78.69,80.62,84.54,79.51,80.37,81.82,86.65,80.92,82.51,
-82.59,82.15,84.46,81.26,84.10,83.81,85.63,83.79,89.23,85.47,
-87.06,87.17,85.96,88.66,89.38,89.44,89.03,90.50,90.33,90.59,
-91.93,87.61,91.01,90.00,89.02,90.56,95.39,92.77,90.69,91.80,
-91.18,95.52,90.64,95.81,92.02,92.41,93.92,98.13,93.64,97.57,
-94.50,96.95,95.05,95.97,98.16,96.55,98.17,99.48,98.64,100.42,
-101.67,102.87,101.72,98.49,101.43,101.41,100.22,103.89,100.99,105.75,
-101.07,98.99,104.25,102.52,104.86,103.80,104.92,103.79,101.65,103.20,
-102.89,104.67,106.89,105.80,105.61,104.55,107.32,103.27,107.57,110.36,
-109.51,109.84,107.80,109.31,110.47,109.96,109.94,107.07,108.45,109.20,
-108.50,113.23,108.78,106.94,113.69,113.44,112.49,111.78,110.61,116.81,
-112.93,116.00,113.52,111.28,115.21,113.07,113.20,119.81,115.68,114.04,
-116.31,118.31,114.34,115.67,117.17,118.59,115.31,118.66,113.93,118.53,
-117.43,119.18,117.39,118.27,118.75,124.14,121.16,122.18,122.06,119.87,
-122.61,120.04,117.15,120.14,118.33,118.92,122.24,122.57,121.25,123.10,
-125.56,125.13,118.02,123.79,125.28,126.20,121.65,130.40,123.33,122.77,
-121.70,124.70,127.60,128.75,127.56,128.62,126.73,128.47,124.05,131.51,
-129.88,128.05,128.05,127.04,130.92,128.43,132.38,129.23,130.55,130.54,
-129.32,126.45,131.19,130.83,131.27,130.50,128.80,132.68,132.52,128.92,
-132.20,129.82,126.80,135.35,130.81,132.95,137.47,132.99,139.06,133.83,
-31.15,32.18,32.96,33.25,35.89,37.73,36.70,36.97,38.94,38.77,
-39.05,40.46,41.50,42.74,42.60,44.42,45.83,46.11,46.05,48.09,
-49.91,46.24,47.46,50.36,50.83,51.57,51.36,51.30,52.46,54.36,
-53.05,54.40,54.88,52.29,55.46,56.15,59.74,59.26,58.87,58.01,
-60.00,59.94,58.71,62.05,62.57,61.68,62.01,64.98,64.13,64.76,
-63.80,65.43,63.94,65.09,66.64,66.31,68.95,67.71,69.00,68.81,
-67.83,69.49,69.50,68.41,68.23,70.00,71.61,72.73,72.34,71.13,
-74.33,73.18,73.60,76.67,75.45,77.67,76.93,80.32,81.15,76.90,
-77.58,77.64,79.05,78.06,78.58,80.70,81.93,76.72,81.60,82.41,
-75.70,81.11,82.93,82.21,81.57,80.88,83.84,83.64,84.85,86.48,
-85.82,85.00,91.27,86.79,89.92,90.21,90.73,88.19,87.84,89.28,
-89.44,89.02,91.07,91.29,91.81,92.17,92.00,92.69,87.45,92.50,
-97.21,91.01,88.76,92.59,95.41,94.74,95.42,94.34,94.21,97.13,
-95.78,97.01,97.27,100.79,97.02,95.24,97.86,99.36,100.30,99.46,
-96.97,99.21,99.66,102.67,99.27,102.79,103.69,99.81,105.94,103.94,
-99.41,102.09,104.51,104.37,99.28,102.10,102.67,98.87,104.03,110.31,
-106.01,106.46,103.60,105.32,111.15,100.73,111.34,107.33,107.77,105.41,
-106.86,112.07,105.77,113.30,108.58,110.84,113.72,113.70,108.91,108.18,
-109.85,113.10,112.23,109.72,111.94,113.73,113.55,108.71,112.32,111.10,
-115.29,116.44,117.04,117.96,110.54,114.02,114.92,116.56,118.31,119.67,
-114.59,113.30,119.13,116.20,114.33,118.37,116.17,122.87,116.69,119.60,
-122.21,118.53,115.21,124.30,121.20,123.83,123.06,122.06,120.36,119.05,
-120.74,123.03,125.51,124.44,121.47,123.77,123.84,123.71,119.65,124.97,
-123.11,126.26,130.56,122.92,125.60,129.52,126.61,127.46,131.10,127.14,
-123.96,121.82,128.71,128.22,127.73,123.29,130.06,134.08,129.99,134.65,
-130.96,129.56,130.86,124.83,134.81,133.56,129.82,128.73,135.25,129.51,
-132.05,128.24,127.19,124.63,134.01,130.53,133.15,135.62,135.53,131.90,
-134.43,130.84,139.00,134.91,139.50,142.51,134.94,131.09,131.75,134.35,
-136.27,137.18,141.53,141.95,144.69,132.68,139.84,139.42,138.14,140.61,
-32.56,33.78,34.40,35.26,36.89,37.98,39.92,39.63,40.88,38.80,
-44.34,41.43,41.30,43.13,44.34,45.41,47.62,48.66,49.39,47.81,
-48.61,49.53,48.52,52.05,51.20,52.22,50.65,53.52,54.80,55.07,
-55.10,54.90,55.15,56.51,58.41,59.16,60.96,59.95,57.81,61.74,
-62.85,62.61,62.53,62.07,66.00,65.67,64.88,66.97,66.94,67.98,
-65.10,69.09,67.27,67.74,65.91,70.75,71.25,71.07,71.09,69.64,
-72.31,71.65,70.26,74.12,74.00,75.32,74.69,74.36,72.52,75.59,
-76.18,78.10,77.59,78.98,75.59,76.98,79.45,83.27,77.44,80.27,
-80.38,77.46,79.43,82.25,81.55,81.23,81.24,86.26,83.55,86.09,
-85.69,85.16,87.15,87.02,82.29,84.94,85.36,85.18,87.82,87.93,
-88.63,87.98,88.81,86.28,84.82,88.52,92.73,94.47,93.04,93.47,
-93.42,92.59,95.44,92.25,96.62,94.60,96.60,96.35,99.72,95.62,
-97.16,96.53,96.91,97.07,98.21,97.24,96.49,100.91,96.51,99.24,
-98.93,95.39,101.25,102.29,99.22,104.09,103.30,101.05,101.45,101.80,
-100.09,101.10,105.86,103.40,103.87,104.29,102.40,105.46,105.01,106.80,
-104.76,102.67,104.84,109.24,108.00,110.64,108.25,106.28,103.07,111.12,
-108.53,106.61,104.90,112.56,109.56,112.56,107.99,109.76,111.88,107.66,
-113.42,114.14,109.06,113.78,111.60,115.14,115.21,109.81,111.06,115.63,
-115.40,117.98,115.55,116.75,116.37,116.10,119.78,118.33,120.86,118.94,
-120.01,116.34,121.32,120.29,121.30,123.21,115.70,119.25,117.94,119.76,
-118.91,120.00,122.10,121.63,124.11,123.75,126.05,117.82,126.20,121.50,
-121.64,122.51,124.65,116.36,125.67,123.12,120.58,123.72,122.23,124.26,
-128.57,128.47,127.19,128.18,126.31,124.79,126.36,124.76,128.86,124.83,
-130.10,128.93,131.75,132.86,127.38,132.50,128.23,127.54,131.49,130.07,
-131.14,132.10,133.72,130.69,129.55,130.86,137.71,131.30,137.55,135.08,
-135.05,128.49,136.52,134.24,138.05,138.98,135.00,140.70,128.21,133.84,
-131.77,138.31,133.84,134.99,141.56,142.82,135.64,140.69,137.72,136.90,
-141.85,141.14,140.50,141.03,145.70,134.28,141.08,143.15,137.94,135.65,
-143.94,139.25,135.97,142.05,146.51,140.13,144.63,139.89,145.76,143.92
-};
-#endif
diff --git a/libcpp/alignment/statistics/LookupAnchorDistribution.cpp b/libcpp/alignment/statistics/LookupAnchorDistribution.cpp
deleted file mode 100644
index ebab522..0000000
--- a/libcpp/alignment/statistics/LookupAnchorDistribution.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-#include "statistics/LookupAnchorDistribution.hpp"
-
-int LookupAnchorDistribution(int readLength, int minMatchLength, 
-    int accuracy, float &mn, float &sdn, float &mnab, 
-    float &sdnab) {
-
-    int kIndex, accIndex, lengthIndex;
-    int returnValue = 0;
-
-    // Major index is by accuracy
-    if (accuracy < anchorReadAccuracies[0]) {
-        returnValue = -2;
-        accuracy    = anchorReadAccuracies[0];
-    }
-    else if (accuracy >= anchorReadAccuracies[1]) {
-        returnValue = 2;
-        accuracy    = anchorReadAccuracies[1] - anchorReadAccuracies[2];
-    }
-
-    accIndex = ( ((int)accuracy) - anchorReadAccuracies[0]) / anchorReadAccuracies[2];
-
-    // middle index is by k 
-    if (minMatchLength < anchorMinKValues[0]) {
-        returnValue = -1; // signal too low
-        minMatchLength = anchorMinKValues[0];
-    }
-    else if (minMatchLength >= anchorMinKValues[1]) {
-        returnValue = 1; // signal too high
-        minMatchLength = anchorMinKValues[1] - anchorMinKValues[2]; // max match length
-    }
-
-    kIndex = (minMatchLength - anchorMinKValues[0])/ anchorMinKValues[2];
-
-    // last index is by read length
-    if (readLength < anchorReadLengths[0]){ 
-        returnValue = -3;
-        readLength = anchorReadLengths[0];
-    }
-    else if (readLength >= anchorReadLengths[1]) {
-        returnValue = 3;
-        readLength = anchorReadLengths[1] - anchorReadLengths[2]; // max read length
-    }
-
-    lengthIndex = (readLength - anchorReadLengths[0]) / anchorReadLengths[2];
-
-
-    int nLengths = (anchorReadLengths[1] - anchorReadLengths[0]) / anchorReadLengths[2];
-    int nAccuracies = (anchorReadAccuracies[1] - anchorReadAccuracies[0]) / anchorReadAccuracies[2];
-    int nAnchors = (anchorMinKValues[1] - anchorMinKValues[0]) / anchorMinKValues[2];
-    int index = accIndex*(nLengths*nAnchors) + kIndex*nLengths + lengthIndex;
-
-    mn = meanNumAnchors[index];
-    sdn = sdNumAnchors[index];
-    mnab = meanNumAnchorBases[index];
-    sdnab = sdNumAnchorBases[index];
-
-    return returnValue;
-}
diff --git a/libcpp/alignment/statistics/LookupAnchorDistribution.hpp b/libcpp/alignment/statistics/LookupAnchorDistribution.hpp
deleted file mode 100644
index cfc9e35..0000000
--- a/libcpp/alignment/statistics/LookupAnchorDistribution.hpp
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef _BLASR_LOOKUP_ANCHOR_DISTRIBUTION_HPP_
-#define _BLASR_LOOKUP_ANCHOR_DISTRIBUTION_HPP_
-
-#include "statistics/AnchorDistributionTable.hpp" // not ported
-
-int LookupAnchorDistribution(int readLength, int minMatchLength, 
-    int accuracy, float &mn, float &sdn, float &mnab, 
-    float &sdnab);
-
-#endif
diff --git a/libcpp/alignment/statistics/StatUtils.cpp b/libcpp/alignment/statistics/StatUtils.cpp
deleted file mode 100644
index cc6bf79..0000000
--- a/libcpp/alignment/statistics/StatUtils.cpp
+++ /dev/null
@@ -1,45 +0,0 @@
-#include "StatUtils.hpp" 
-
-void InitializeRandomGenerator(int value) {
-  srandom((unsigned) value);
-}
-
-
-unsigned int RandomUnsignedInt(unsigned int randMax) {
- // 
- //  step 1, pack an unsigned integer with a random value, this 
- //
- unsigned int randVal = RAND_MAX * (1.0*random())/RAND_MAX;
-
- // step 2, 
- unsigned int lastBit = random() % 2;
- lastBit = lastBit << ( __WORDSIZE/2-1);
- // This should never overflow, add a 31-bit number into a 32.
- randVal+= lastBit; 
- double fpRandVal = 1.0*randVal;
- return (randMax * fpRandVal / UINT_MAX);
-}
-	
-unsigned int RandomInt(int randMax) {
-  int randVal = (randMax * ((1.0*random()) / RAND_MAX));
-  return std::min(randMax-1, randVal);
-}
-
-unsigned int RandomInt(unsigned int min, unsigned int max) {
-	return RandomInt(max - min) + min;
-}
-
-float Random() {
-	return (RandomInt(0,RAND_MAX)*1.0)/RAND_MAX;
-}
-
-bool FindQNorm(float prob, float & nStdDev) {
-    if (prob < 0.5 or prob > 1.0) {
-        return false;
-    }
-    else {
-        nStdDev = qnorm[(int)((prob - 0.50) * 500)];
-        return true;
-    }
-}
-
diff --git a/libcpp/alignment/statistics/StatUtils.hpp b/libcpp/alignment/statistics/StatUtils.hpp
deleted file mode 100644
index 40ba2a5..0000000
--- a/libcpp/alignment/statistics/StatUtils.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-#ifndef _BLASR_STAT_UTILS_HPP_
-#define _BLASR_STAT_UTILS_HPP_
-
-#include <math.h>
-#include <stdlib.h>
-#include <limits.h>
-#include <time.h>
-#include <vector>
-#include <algorithm>
-#include <assert.h>
-
-static const long FactorialTableLength = 21;
-
-static const long long FactorialTable[] = {
-    1L, //0
-    1L, //1
-    2L, //2
-	6L, //3
-	24L,//4
-	120L, //5
-	720L, //6
-	5040L, //7
-	40320L,//8
-	362880L, //9
-	3628800L,//10
-	39916800L,//11
-	479001600L,//12
-	6227020800LL,//13
-	87178291200LL,//14
-	1307674368000LL,//15
-	20922789888000LL,//16
-	355687428096000LL,//17
-	6402373705728000LL,//18
-	121645100408832000LL,//19
-	2432902008176640000LL//20
-};
-
-static const float qnorm[] = { 
-    0.00,  0.00250,  0.00501,  0.00751,  0.0100248,  0.0125393,  0.0150457,
-    0.0175408,  0.0200506,  0.0225647,  0.0250611, 0.0275717, 
-    0.0300891,  0.0325931,  0.0351088,  0.0376059,  0.0401181,
-    0.0426244,  0.0451313,  0.0476466,  0.0501537,  0.0526685,
-    0.0551768,  0.0576842,  0.0601966,  0.0627038,  0.0652137,
-    0.0677392,  0.0702467,  0.0727575,  0.0752699,  0.0777852,
-    0.080295,  0.0828113,  0.0853292,  0.0878418,  0.0903688,
-    0.0928765,  0.095392,  0.0979195,  0.10043,  0.102954,
-    0.105478,  0.107994,  0.110512,  0.113035,  0.115563,
-    0.118083,  0.120607,  0.123137,  0.125664,  0.128186,
-    0.130713,  0.133244,  0.135772,  0.138305,  0.140837,
-    0.143367,  0.145904,  0.14843,  0.150967,  0.153507,
-    0.15604,  0.158573,  0.161116,  0.163651,  0.166199,
-    0.168748,  0.171287,  0.173822,  0.176371,  0.178922,
-    0.181467,  0.184019,  0.186569,  0.189112,  0.19167,
-    0.194223,  0.196777,  0.199337,  0.201891,  0.204451,
-    0.207017,  0.209579,  0.212134,  0.214704,  0.217263,
-    0.219839,  0.222406,  0.224971,  0.227549,  0.230116,
-    0.232695,  0.235260,  0.237849,  0.240428,  0.243002,
-    0.245581,  0.248173,  0.250756,  0.25334,  0.255933,
-    0.258520,  0.261118,  0.26371,  0.266315,  0.268900,
-    0.271509,  0.274117,  0.276717,  0.279314,  0.281921,
-    0.284532,  0.287145,  0.289754,  0.292374,  0.294996,
-    0.29761,  0.300232,  0.302859,  0.305487,  0.308105,
-    0.310732,  0.313366,  0.316003,  0.318635,  0.321276,
-    0.323913,  0.326563,  0.329201,  0.331857,  0.334502,
-    0.337157,  0.339807,  0.342461,  0.345122,  0.347787,
-    0.350451,  0.353119,  0.355785,  0.358454,  0.361132,
-    0.363806,  0.366484,  0.36917,  0.371855,  0.374543,
-    0.377232,  0.379927,  0.382624,  0.385328,  0.388027,
-    0.39072,  0.393437,  0.396148,  0.398857,  0.401579,
-    0.404289,  0.407016,  0.409731,  0.412465,  0.415197,
-    0.417922,  0.420666,  0.423403,  0.426148,  0.428892,
-    0.431646,  0.434391,  0.437152,  0.439914,  0.442672,
-    0.44544,  0.448219,  0.450981,  0.45376,  0.45654,
-    0.459323,  0.462117,  0.464905,  0.467698,  0.470491,
-    0.473297,  0.476105,  0.478915,  0.48172,  0.484549,
-    0.487361,  0.490189,  0.493015,  0.495853,  0.498682,
-    0.501528,  0.504372,  0.507226,  0.510075,  0.512938,
-    0.515798,  0.518651,  0.521522,  0.524401,  0.527279,
-    0.530169,  0.533049,  0.53594,  0.53883,  0.541737,
-    0.544649,  0.547551,  0.550462,  0.553383,  0.556308,
-    0.559237,  0.562176,  0.565104,  0.568053,  0.570997,
-    0.573953,  0.576911,  0.579874,  0.582846,  0.585819,
-    0.588790,  0.591776,  0.594768,  0.597768,  0.600759,
-    0.60376,  0.606775,  0.60979,  0.612817,  0.615842,
-    0.618879,  0.621914,  0.624957,  0.62800,  0.631069,
-    0.63412,  0.637195,  0.640264,  0.643347,  0.646437,
-    0.649525,  0.652621,  0.655723,  0.658838,  0.661952,
-    0.665073,  0.668203,  0.671345,  0.674482,  0.677636,
-    0.680795,  0.683962,  0.68713,  0.690304,  0.69349,
-    0.696681,  0.699881,  0.703089,  0.706308,  0.709528,
-    0.712753,  0.715985,  0.719224,  0.722473,  0.725735,
-    0.729009,  0.73227,  0.73555,  0.738844,  0.74214,
-    0.745449,  0.748769,  0.752081,  0.75541,  0.758751,
-    0.762107,  0.765458,  0.768822,  0.772195,  0.775574,
-    0.778965,  0.782367,  0.785774,  0.789192,  0.792612,
-    0.796053,  0.799507,  0.802953,  0.80642,  0.809898,
-    0.813384,  0.816873,  0.820371,  0.823897,  0.827412,
-    0.830958,  0.83449,  0.838056,  0.841624,  0.84519,
-    0.848787,  0.852385,  0.855992,  0.859611,  0.86325,
-    0.866898,  0.870544,  0.874213,  0.877899,  0.881584,
-    0.885292,  0.889005,  0.892736,  0.896476,  0.900224,
-    0.903991,  0.907766,  0.91156,  0.915364,  0.91918,
-    0.92301,  0.926854,  0.93071,  0.93458,  0.938479,
-    0.94237,  0.946296,  0.950225,  0.954165,  0.958123,
-    0.962092,  0.966083,  0.970097,  0.97411,  0.978152,
-    0.98220,  0.986279,  0.990355,  0.994453,  0.99857,
-    1.00271,  1.00686,  1.01103,  1.01522,  1.01942,
-    1.02365,  1.02789,  1.03215,  1.03643,  1.04073,
-    1.04504,  1.04938,  1.05374,  1.05812,  1.06251,
-    1.06693,  1.07137,  1.07583,  1.08031,  1.08482,
-    1.08934,  1.09389,  1.09846,  1.10306,  1.10768,
-    1.11232,  1.11698,  1.12167,  1.12639,  1.13113,
-    1.13589,  1.14068,  1.14550,  1.15034,  1.15522,
-    1.16011,  1.16504,  1.17000,  1.17498,  1.18000,
-    1.18504,  1.19011,  1.19522,  1.20035,  1.20552,
-    1.21072,  1.21596,  1.22122,  1.22652,  1.23186,
-    1.23723,  1.24264,  1.24808,  1.25356,  1.25908,
-    1.26464,  1.27023,  1.27587,  1.28155,  1.28727,
-    1.29303,  1.29883,  1.30468,  1.31057,  1.31651,
-    1.32250,  1.32853,  1.33462,  1.34075,  1.34693,
-    1.35317,  1.35946,  1.36580,  1.37220,  1.37865,
-    1.38517,  1.39174,  1.39837,  1.40507,  1.41183,
-    1.41865,  1.42554,  1.43250,  1.43953,  1.44663,
-    1.45380,  1.46105,  1.46838,  1.47579,  1.48328,
-    1.49085,  1.49851,  1.50626,  1.51410,  1.52203,
-    1.53006,  1.53819,  1.54643,  1.55477,  1.56322,
-    1.57178,  1.58046,  1.58926,  1.59819,  1.60724,
-    1.61643,  1.62576,  1.63523,  1.64485,  1.65462,
-    1.66456,  1.67466,  1.68494,  1.69539,  1.70604,
-    1.71688,  1.72793,  1.73919,  1.75068,  1.76241,
-    1.77438,  1.78661,  1.79911,  1.81191,  1.82500,
-    1.83842,  1.85217,  1.86629,  1.88079,  1.89569,
-    1.91103,  1.92683,  1.94313,  1.95996,  1.97736,
-    1.99539,  2.01409,  2.03352,  2.05374,  2.07485,
-    2.09692,  2.12007,  2.14441,  2.17009,  2.19728,
-    2.22621,  2.25712,  2.29036,  2.32634,  2.36561,
-    2.40891,  2.45726,  2.51214,  2.57582,  2.65206,
-    2.74778,  2.87816,  3.09023,  10000};
-
-
-inline int Choose(int a, int b);
-
-void InitializeRandomGenerator(int value);
-
-template<typename T>
-void MeanVar(std::vector<T> &values, float &mean, float &var);
-
-inline void InitializeRandomGeneratorWithTime() {
-	time_t t;
-    srandom((unsigned) time(&t));
-}
-
-unsigned int RandomUnsignedInt(unsigned int randMax);
-
-unsigned int RandomInt(int randMax);
-
-unsigned int RandomInt(unsigned int min, unsigned int max);
-
-float Random();
-
-bool FindQNorm(float prob, float &nStdDev);
-
-#include "StatUtilsImpl.hpp"
-
-#endif
diff --git a/libcpp/alignment/statistics/StatUtilsImpl.hpp b/libcpp/alignment/statistics/StatUtilsImpl.hpp
deleted file mode 100644
index 3d1cc76..0000000
--- a/libcpp/alignment/statistics/StatUtilsImpl.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef _BLASR_STAT_UTILS_IMPL_HPP_
-#define _BLASR_STAT_UTILS_IMPL_HPP_
-
-#include <vector>
-#include <time.h>
-
-inline int Choose(int a, int b) {
-	// A quick choose for small values.
-	assert(a >= b);
-	if (a < FactorialTableLength and b < FactorialTableLength) {
-		return (FactorialTable[a] /
-                (FactorialTable[b] * FactorialTable[a-b]));
-	} else {
-		//
-		// Less quick choose for numerically stable values.
-		//
-		unsigned long al =a, bl=b, fact=0;
-		fact = al;
-		//
-		// The full value of b! must be able to be computed.
-		//
-		if (b >= FactorialTableLength) {
-			return 0;
-		}
-		while (al > bl) {
-			--al;
-			if (ULONG_MAX / al < fact) {
-				// there is overflow in the computation of a!/(a-b)!
-				return 0;
-			}
-			else {
-				fact = fact * al;
-			}
-		}
-		return fact / FactorialTable[b];
-	}
-}
-
-
-template<typename T>
-void MeanVar(std::vector<T> &values, float &mean, float &var) {
-  T sum = 0;
-  T sumsq = 0;
-  int i;
-  if (values.size() == 0) {
-    mean = 0; var = 0;
-    return;
-  }
-  for (i = 0; i < values.size(); i++) {
-    sum += values[i];
-    sumsq += values[i]*values[i];
-  }
-  mean = (1.0*sum) / values.size();
-  var  = sumsq / values.size() - (mean*mean);
-}
-
-#endif
diff --git a/libcpp/alignment/statistics/VarianceAccumulator.hpp b/libcpp/alignment/statistics/VarianceAccumulator.hpp
deleted file mode 100644
index 068bc62..0000000
--- a/libcpp/alignment/statistics/VarianceAccumulator.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef _BLASR_VARIANCE_ACCUMULATOR_HPP_
-#define _BLASR_VARIANCE_ACCUMULATOR_HPP_
-
-template<typename T>
-class VarianceAccumulator {
-public:
-    int nSamples;
-    T sumSqVal;
-    T sumVal;
-    T maxVal;
-    T minVal;
-
-    VarianceAccumulator<T>();
-
-    T GetMean();
-
-    T GetVariance();
-
-    void Reset();
-
-    float GetNStdDev(T value);
-
-    void Append(T v);
-};
-
-#include "statistics/VarianceAccumulatorImpl.hpp"
-
-#endif
diff --git a/libcpp/alignment/statistics/VarianceAccumulatorImpl.hpp b/libcpp/alignment/statistics/VarianceAccumulatorImpl.hpp
deleted file mode 100644
index 98bda35..0000000
--- a/libcpp/alignment/statistics/VarianceAccumulatorImpl.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef _BLASR_VARIANCE_ACCUMULATOR_IMPL_HPP_
-#define _BLASR_VARIANCE_ACCUMULATOR_IMPL_HPP_
-
-template<typename T>
-VarianceAccumulator<T>::
-VarianceAccumulator() {
-    Reset();
-}
-
-template<typename T>
-void VarianceAccumulator<T>::Reset() {
-    sumSqVal = 0;
-    sumVal   = 0;
-    nSamples = 0;
-    maxVal = minVal = 0;
-}
-
-template<typename T>
-T VarianceAccumulator<T>::
-GetMean() {return ((1.0)*sumVal)/nSamples;}
-
-template<typename T>
-T VarianceAccumulator<T>::
-GetVariance() {
-    return (1.0*sumSqVal)/nSamples -  GetMean()*GetMean();
-}
- 
-template<typename T>
-float VarianceAccumulator<T>::
-GetNStdDev(T value) {
-    T variance = GetVariance();
-    T mean     = GetMean();
-    if (variance > 0) {
-        return fabs(value - mean)/(sqrt(variance));
-    }
-    else {
-        return 0;
-    }
-}
-
-template<typename T>
-void VarianceAccumulator<T>::
-Append(T v) {
-    if (nSamples == 0) {
-        maxVal = minVal = v;
-    }
-    else {
-        if (maxVal < v) {
-            maxVal = v;
-        }
-        if (minVal > v) {
-            minVal = v;
-        }
-    }
-    sumSqVal += v*v;
-    sumVal   += v;
-    nSamples++;
-}
-
-#endif
diff --git a/libcpp/alignment/statistics/cdfs.cpp b/libcpp/alignment/statistics/cdfs.cpp
deleted file mode 100644
index ab37322..0000000
--- a/libcpp/alignment/statistics/cdfs.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-#include "cdfs.hpp"
-	
-float NormalCDF(float mu, float sigmaSq, float x) {
-    float nStdDev = (x - mu)/sqrt(sigmaSq);
-    if ((int) nStdDev <= -10.0) return 0;
-    if ((int) nStdDev >= 10.0) return 1;
-
-    int cdfindex = 1000 + 100*nStdDev;
-    assert(cdfindex >= 0);
-    assert(cdfindex <= 2000);
-    if (cdfindex == 2000) {
-        return 1;
-    }
-    //	cout << "nstdev: " << nStdDev << " mu " << mu 
-    //       << " sigma " << sigmaSq << " x " << x 
-    //       << " norm cdf index: " << cdfindex << endl;
-    return NormCDFTable[cdfindex];
-}
-
-
-float PoissonCDF(float lambda, int a, int b) {
-	float cdf = 0;
-	int i;
-	for (i = a; i <= b; i++ ){
-		// cout << "poiss " << lambda << ", " << i 
-        //      << " " << Poisson(lambda, i) << endl;
-		cdf += Poisson(lambda, i);
-	}
-	return cdf;
-}
-
-
-float PoissonCDF(float lambda, int a) {
-
-	float cdf = 0;
-	int i;
-	float p;
-	float epsilon =0.000000000001;
-	if (lambda > (int)(FactorialTableLength*2/3)) {
-		// lambda is too large, use normal approximation.
-		// cout << "using table: lambda: " << lambda 
-        //      << " a: " << a << endl;
-		return NormalCDF(lambda, lambda, a);
-	}
-	
-	for (i = 0; i <= a; i++ ){
-		p = Poisson(lambda, i);
-		if (p < epsilon and i > (int) lambda) break;
-		// cout << "p: " << p << endl;
-		cdf += p;
-	}
-	return cdf;
-}
diff --git a/libcpp/alignment/statistics/cdfs.hpp b/libcpp/alignment/statistics/cdfs.hpp
deleted file mode 100644
index b7ac3d2..0000000
--- a/libcpp/alignment/statistics/cdfs.hpp
+++ /dev/null
@@ -1,418 +0,0 @@
-#ifndef _BLASR_CDFS_HPP_
-#define _BLASR_CDFS_HPP_
-
-#include "pdfs.hpp"
-
-static const float NormCDFTable[2000] = { 
-	7.61985302416053e-24, 8.42908720044307e-24, 9.32333910390851e-24, 1.03114418389443e-23, 1.14031357813280e-23,
-	1.26091606702069e-23, 1.39413569342072e-23, 1.54127771659480e-23, 1.70378087485724e-23, 1.88323087358676e-23,
-	2.08137521949321e-23, 2.30013953380610e-23, 2.54164548995384e-23, 2.80823053544230e-23, 3.10246957313482e-23,
-	3.42719879411367e-23, 3.78554187290007e-23, 4.18093875618591e-23, 4.61717729854569e-23, 5.09842802303871e-23,
-	5.62928231137653e-23, 6.21479435763827e-23, 6.860527251602e-23, 7.57260359288958e-23, 8.3577610755683e-23,
-	9.22341352493942e-23, 1.01777179142962e-22, 1.12296479398304e-22, 1.23890747870050e-22, 1.36668557820343e-22,
-	1.50749316881020e-22, 1.6626433478118e-22, 1.83357994947588e-22, 2.02189039948453e-22, 2.22931981695015e-22,
-	2.45778648347233e-22, 2.70939880997893e-22, 2.98647394442484e-22, 3.29155817689778e-22, 3.62744931340731e-22,
-	3.99722120572624e-22, 4.40425064223392e-22, 4.85224682392038e-22, 5.34528367069058e-22, 5.88783522602465e-22,
-	6.48481445307726e-22, 7.14161574262827e-22, 7.86416148313604e-22, 8.65895307572446e-22, 9.53312681249342e-22,
-	1.04945150753626e-21, 1.15517133550207e-21, 1.27141536357825e-21, 1.39921847426015e-21, 1.53971603015202e-21,
-	1.69415350248814e-21, 1.86389700981111e-21, 2.05044485163175e-21, 2.25544012968370e-21, 2.48068455788088e-21,
-	2.72815357134612e-21, 3.00001285497641e-21, 3.29863642301526e-21, 3.62662639309896e-21, 3.98683461131598e-21,
-	4.38238629906651e-21, 4.81670590802906e-21, 5.29354538645474e-21, 5.81701507843054e-21, 6.39161749781974e-21,
-	7.02228424044163e-21, 7.71441632185196e-21, 8.4739282539989e-21, 9.30729620224586e-21, 1.02216105949631e-20,
-	1.12246335913280e-20, 1.23248618493586e-20, 1.35315950758093e-20, 1.48550108826456e-20, 1.63062465217032e-20,
-	1.78974881201405e-20, 1.96420680947798e-20, 2.15545714837844e-20, 2.36509519997439e-20, 2.59486586796199e-20,
-	2.84667740846022e-20, 3.12261650872937e-20, 3.42496473753623e-20, 3.75621649004811e-20, 4.1190985609727e-20,
-	4.51659149143546e-20, 4.95195284787818e-20, 5.42874260516386e-20, 5.95085082117206e-20, 6.52252780657133e-20,
-	7.1484170112697e-20, 7.83359086839063e-20, 8.5835898576284e-20, 9.4044650726485e-20, 1.03028246019560e-19,
-	1.12858840595384e-19, 1.23615216307614e-19, 1.35383380306580e-19, 1.48257218061103e-19, 1.62339204507009e-19,
-	1.77741178414554e-19, 1.94585185505699e-19, 2.13004396328083e-19, 2.33144105408587e-19, 2.55162818769100e-19,
-	2.79233437493965e-19, 3.05544545696482e-19, 3.34301811945149e-19, 3.65729513983357e-19, 4.00072197414327e-19,
-	4.37596479930904e-19, 4.78593013653989e-19, 5.23378619209301e-19, 5.7229860632712e-19, 6.25729297000645e-19,
-	6.84080768593555e-19, 7.47799835754742e-19, 8.1737329158706e-19, 8.93331430237564e-19, 9.76251874938821e-19,
-	1.06676373754749e-18, 1.16555213780823e-18, 1.27336311293298e-18, 1.39100895064098e-18, 1.51937398157053e-18,
-	1.65942086996478e-18, 1.81219744477020e-18, 1.97884411678722e-18, 2.16060193129749e-18, 2.35882130968722e-18,
-	2.57497153801189e-18, 2.81065106523422e-18, 3.06759867904084e-18, 3.34770563273514e-18, 3.65302880274925e-18,
-	3.98580496284818e-18, 4.34846626815861e-18, 4.74365704977974e-18, 5.17425202897168e-18, 5.64337606881557e-18,
-	6.15442559085038e-18, 6.71109179457108e-18, 7.31738582887958e-18, 7.97766607668324e-18, 8.69666772689607e-18,
-	9.47953482220332e-18, 1.03318549861686e-17, 1.12596970496900e-17, 1.22696518145366e-17, 1.33688762108225e-17,
-	1.45651411259094e-17, 1.58668832044827e-17, 1.72832609435602e-17, 1.88242154320746e-17, 2.05005361125985e-17,
-	2.23239319728804e-17, 2.43071086073182e-17, 2.64638516234818e-17, 2.88091169065084e-17, 3.13591282948427e-17,
-	3.41314832645815e-17, 3.71452672668869e-17, 4.04211774137699e-17, 4.39816562623235e-17, 4.78510365064786e-17,
-	5.20556974489026e-17, 5.66242341940844e-17, 6.15876405773299e-17, 6.69795069237318e-17, 7.2836233816555e-17,
-	7.91972631464248e-17, 8.61053278116287e-17, 9.36067215463159e-17, 1.01751590467945e-16, 1.10594248058595e-16,
-	1.20193515427359e-16, 1.30613088843666e-16, 1.41921936684837e-16, 1.54194728106090e-16, 1.67512295918692e-16,
-	1.81962136352663e-16, 1.97638948585499e-16, 2.14645217138836e-16, 2.33091840481832e-16, 2.5309880943477e-16,
-	2.74795939239823e-16, 2.98323659460026e-16, 3.23833866183229e-16, 3.51490841347056e-16, 3.81472244365282e-16,
-	4.13970181627315e-16, 4.49192359862693e-16, 4.87363329813632e-16, 5.28725827143121e-16, 5.73542218025806e-16,
-	6.22096057427178e-16, 6.74693768675356e-16, 7.31666453572489e-16, 7.93371842982395e-16, 8.60196398570778e-16,
-	9.32557577168123e-16, 1.01090627007634e-15, 1.09572943055325e-15, 1.18755290368805e-15, 1.28694447393013e-15,
-	1.39451714665926e-15, 1.51093268139136e-15, 1.63690539550678e-15, 1.77320625877395e-15, 1.92066730042609e-15,
-	2.08018635213939e-15, 2.25273215196613e-15, 2.43934983610145e-15, 2.64116684731894e-15, 2.85939929100417e-15,
-	3.0953587719587e-15, 3.35045974754833e-15, 3.62622743534104e-15, 3.92430631613157e-15, 4.24646927619696e-15,
-	4.59462743577860e-15, 4.97084071416196e-15, 5.37732918533406e-15, 5.81648528206159e-15, 6.29088691036376e-15,
-	6.80331154077401e-15, 7.35675134750924e-15, 7.9544294717215e-15, 8.59981749040868e-15, 9.29665417833992e-15,
-	1.00489656565263e-14, 1.08610870273690e-14, 1.17376856036716e-14, 1.26837858462427e-14, 1.37047961328694e-14,
-	1.48065374900481e-14, 1.59952744280531e-14, 1.72777480297408e-14, 1.86612114539743e-14, 2.01534680257531e-14,
-	2.17629120970858e-14, 2.34985728754111e-14, 2.53701614299986e-14, 2.73881211013013e-14, 2.95636815537589e-14,
-	3.19089167291090e-14, 3.44368069749374e-14, 3.71613056420548e-14, 4.00974104643949e-14, 4.32612400565811e-14,
-	4.66701158871906e-14, 5.03426501101292e-14, 5.42988396625522e-14, 5.85601670654849e-14, 6.3149708392861e-14,
-	6.80922489062002e-14, 7.34144068857165e-14, 7.91447662244323e-14, 8.53140183899803e-14, 9.19551143994013e-14,
-	9.91034274954757e-14, 1.0679692725923e-13, 1.15076365942292e-13, 1.23985477855031e-13, 1.33571192702046e-13,
-	1.43883863815759e-13, 1.54977512301920e-13, 1.66910088177930e-13, 1.79743749656217e-13, 1.93545161800965e-13,
-	2.08385815867207e-13, 2.24342370717358e-13, 2.41497017801669e-13, 2.59937871286364e-13, 2.79759385016643e-13,
-	3.01062798111745e-13, 3.23956611106135e-13, 3.48557094675241e-13, 3.7498883311623e-13, 4.03385304894755e-13,
-	4.33889502717806e-13, 4.66654595751316e-13, 5.01844636769645e-13, 5.3963531720292e-13, 5.80214773238327e-13,
-	6.23784446333159e-13, 6.70560001711864e-13, 7.20772308646748e-13, 7.74668486563648e-13, 8.32513021270262e-13,
-	8.94588955876992e-13, 9.6119916126894e-13, 1.03266769129427e-12, 1.10934122815914e-12, 1.19159062386450e-12,
-	1.27981254388584e-12, 1.37443121968512e-12, 1.47590031705553e-12, 1.58470492773607e-12, 1.70136369219568e-12,
-	1.82643106197697e-12, 1.96049971050927e-12, 2.10420310185185e-12, 2.25821822741171e-12, 2.42326852129899e-12,
-	2.60012696563817e-12, 2.78961939784764e-12, 2.99262803263505e-12, 3.21009521223458e-12, 3.44302739923701e-12,
-	3.69249942723561e-12, 3.95965902543588e-12, 4.24573163435442e-12, 4.55202553076802e-12, 4.8799372811693e-12,
-	5.23095754414459e-12, 5.60667724331564e-12, 6.00879413378503e-12, 6.43911978639591e-12, 6.89958701556968e-12,
-	7.39225777801782e-12, 7.91933157124842e-12, 8.48315436250203e-12, 9.08622808056533e-12, 9.7312207048268e-12,
-	1.04209769879652e-11, 1.11585298507993e-11, 1.19471124900909e-11, 1.27901712424794e-11, 1.36913792502502e-11,
-	1.46546509773028e-11, 1.56841576264994e-11, 1.67843435125431e-11, 1.79599434476731e-11, 1.92160012007750e-11,
-	2.05578890939952e-11, 2.19913288046425e-11, 2.35224134440417e-11, 2.51576309891186e-11, 2.69038891468201e-11,
-	2.87685417360433e-11, 3.07594166765647e-11, 3.28848456795426e-11, 3.51536957395174e-11, 3.75754025334884e-11,
-	4.01600058385912e-11, 4.29181870861797e-11, 4.58613091767249e-11, 4.90014586869096e-11, 5.23514906076399e-11,
-	5.59250757594271e-11, 5.97367510397311e-11, 6.38019726654473e-11, 6.81371725827341e-11, 7.27598182259036e-11,
-	7.76884758170981e-11, 8.29428774090212e-11, 8.85439918840776e-11, 9.45141001349502e-11, 1.00876874663930e-10,
-	1.07657463851216e-10, 1.14882581156030e-10, 1.22580599528633e-10, 1.30781651326424e-10, 1.39517734043067e-10,
-	1.48822822176231e-10, 1.58732985576987e-10, 1.69286514642305e-10, 1.80524052731342e-10, 1.92488736206550e-10,
-	2.05226342521894e-10, 2.18785446802903e-10, 2.33217587386751e-10, 2.48577440815301e-10, 2.6492300679994e-10,
-	2.82315803704329e-10, 3.00821075119684e-10, 3.20508008137342e-10, 3.41449963954737e-10, 3.63724721484069e-10,
-	3.87414734667567e-10, 4.12607404239677e-10, 4.3939536471467e-10, 4.67876787418161e-10, 4.98155700423128e-10,
-	5.30342326294884e-10, 5.64553438595807e-10, 6.00912738148843e-10, 6.39551250109663e-10, 6.80607742950414e-10,
-	7.24229170513764e-10, 7.70571138354246e-10, 8.19798395645136e-10, 8.72085353992974e-10, 9.27616634569113e-10,
-	9.86587645037698e-10, 1.04920518783315e-09, 1.11568810141717e-09, 1.18626793622573e-09, 1.26118966710109e-09,
-	1.34071244409187e-09, 1.42511038359657e-09, 1.51467340192265e-09, 1.60970809343425e-09, 1.71053865556700e-09,
-	1.81750786309943e-09, 1.93097809418531e-09, 2.05133241077260e-09, 2.17897569616056e-09, 2.31433585257856e-09,
-	2.45786506180803e-09, 2.61004111201292e-09, 2.77136879409463e-09, 2.94238137104436e-09, 3.12364212393002e-09,
-	3.31574597832617e-09, 3.51932121517463e-09, 3.73503127024975e-09, 3.96357662659765e-09, 4.20569680452203e-09,
-	4.46217245390161e-09, 4.73382755384558e-09, 5.02153172492455e-09, 5.3262026594555e-09, 5.64880867557094e-09,
-	5.99037140106353e-09, 6.35196859327198e-09, 6.73473710155753e-09, 7.13987597921841e-09, 7.56864975199771e-09,
-	8.02239185066354e-09, 8.50250821547506e-09, 9.01048108069906e-09, 9.54787294770427e-09, 1.01163307555414e-08,
-	1.07175902583109e-08, 1.13534806190322e-08, 1.20259292301549e-08, 1.27369667712999e-08, 1.34887325152785e-08,
-	1.42834798939228e-08, 1.51235823357610e-08, 1.60115393880909e-08, 1.69499831365509e-08, 1.79416849358471e-08,
-	1.89895624658877e-08, 2.00966871281765e-08, 2.12662917979592e-08, 2.25017789482686e-08, 2.38067291627004e-08,
-	2.51849100544611e-08, 2.66402856099673e-08, 2.81770259760399e-08, 2.97995177105363e-08, 3.15123745170822e-08,
-	3.33204484854287e-08, 3.5228841859843e-08, 3.72429193588712e-08, 3.93683210707590e-08, 4.16109759498197e-08,
-	4.3977115940059e-08, 4.64732907534413e-08, 4.91063833312853e-08, 5.18836260184242e-08, 5.48126174809566e-08,
-	5.79013403996459e-08, 6.1158179972306e-08, 6.4591943259825e-08, 6.82118794118624e-08, 7.20277008096596e-08,
-	7.60496051648871e-08, 8.02882986149588e-08, 8.47550198568288e-08, 8.94615653629075e-08, 9.44203157244297e-08,
-	9.96442631693347e-08, 1.05147040303541e-07, 1.10942950126346e-07, 1.17046997372632e-07, 1.23474921236516e-07,
-	1.30243229533202e-07, 1.37369234357842e-07, 1.44871089302508e-07, 1.52767828294566e-07, 1.61079406122137e-07,
-	1.6982674071476e-07, 1.79031757249834e-07, 1.8871743415806e-07, 1.98907851103713e-07, 2.09628239018370e-07,
-	2.20905032269544e-07, 2.327659230486e-07, 2.4523991806537e-07, 2.58357397639973e-07, 2.72150177285582e-07,
-	2.86651571879194e-07, 3.01896462520848e-07, 3.17921366185283e-07, 3.34764508273617e-07, 3.52465898176424e-07,
-	3.71067407963333e-07, 3.90612854318327e-07, 4.11148083843931e-07, 4.32721061861702e-07, 4.55381964840732e-07,
-	4.79183276590321e-07, 5.04179888357536e-07, 5.30429202975094e-07, 5.57991243209782e-07, 5.86928764466638e-07,
-	6.17307372009198e-07, 6.49195642861335e-07, 6.82665252561663e-07, 7.177911069469e-07, 7.54651479146372e-07,
-	7.93328151975595e-07, 8.3390656592291e-07, 8.76475972929203e-07, 9.21129596167143e-07, 9.67964796032733e-07,
-	1.01708324256870e-06, 1.06859109454593e-06, 1.12259918543618e-06, 1.17922321651640e-06, 1.23858395735247e-06,
-	1.30080745391728e-06, 1.36602524460614e-06, 1.43437458442013e-06, 1.50599867759616e-06, 1.58104691897051e-06,
-	1.65967514437147e-06, 1.74204589034466e-06, 1.82832866352416e-06, 1.91870021997090e-06, 2.01334485480934e-06,
-	2.11245470250285e-06, 2.21623004811754e-06, 2.32487964993441e-06, 2.43862107377942e-06, 2.55768103945153e-06,
-	2.68229577963886e-06, 2.81271141172421e-06, 2.94918432289151e-06, 3.09198156895618e-06, 3.24138128735339e-06,
-	3.39767312473006e-06, 3.56115867959756e-06, 3.73215196051449e-06, 3.9109798602807e-06, 4.09798264663636e-06,
-	4.29351446997187e-06, 4.49794388856792e-06, 4.71165441189724e-06, 4.93504506253327e-06, 5.16853095722413e-06,
-	5.41254390770387e-06, 5.66753304182674e-06, 5.93396544562466e-06, 6.2123268269015e-06, 6.50312220099279e-06,
-	6.80687659933406e-06, 7.12413580149534e-06, 7.45546709135513e-06, 7.80146003810134e-06, 8.16272730276308e-06,
-	8.53990547099181e-06, 8.933655912827e-06, 9.34466567019636e-06, 9.77364837291759e-06, 1.02213451839841e-05,
-	1.06885257749344e-05, 1.11759893321206e-05, 1.16845655947074e-05, 1.22151159252530e-05, 1.27685344137350e-05,
-	1.33457490159063e-05, 1.39477227268813e-05, 1.45754547908670e-05, 1.52299819479779e-05, 1.59123797190822e-05,
-	1.66237637296523e-05, 1.73652910736041e-05, 1.81381617181309e-05, 1.89436199505532e-05, 1.97829558682240e-05,
-	2.06575069125468e-05, 2.15686594481806e-05, 2.25178503885254e-05, 2.35065688685956e-05, 2.45363579664098e-05,
-	2.56088164740415e-05, 2.67256007194921e-05, 2.78884264405639e-05, 2.90990707119310e-05, 3.03593739266182e-05,
-	3.16712418331199e-05, 3.30366476294024e-05, 3.44576341150531e-05, 3.59363159028538e-05, 3.74748816910734e-05,
-	3.90755965977875e-05, 4.07408045585508e-05, 4.24729307887612e-05, 4.42744843120707e-05, 4.61480605562088e-05,
-	4.80963440176028e-05, 5.01221109961885e-05, 5.22282324018202e-05, 5.44176766336997e-05, 5.66935125342568e-05,
-	5.90589124189226e-05, 6.15171551832553e-05, 6.40716294888745e-05, 6.67258370296846e-05, 6.94833958798653e-05,
-	7.234804392512e-05, 7.53236423786833e-05, 7.8414179383585e-05, 8.16237737026862e-05, 8.4956678497998e-05,
-	8.84172852008039e-05, 9.20101274741054e-05, 9.57398852689147e-05, 9.96113889759167e-05, 0.000103629623674031,
-	0.000107799733477388, 0.000112127025982247, 0.000116616976815368, 0.000121275234285358, 0.000126107624138487,
-	0.000131120154420485, 0.000136319020445802, 0.000141710609875819, 0.000147301507907473, 0.000153098502573756,
-	0.000159108590157534, 0.000165338980720110, 0.000171797103745931, 0.000178490613904847, 0.000185427396933278,
-	0.000192615575635633, 0.00020006351600732, 0.000207779833480621, 0.000215773399294718, 0.000224053346991093,
-	0.000232629079035525, 0.000241510273567836, 0.000250706891280538, 0.000260229182427467, 0.000270087693963475,
-	0.000280293276816177, 0.000290857093290744, 0.000301790624608638, 0.0003131056785812, 0.000324814397418878,
-	0.000336929265676882, 0.000349463118337972, 0.000362429149033044, 0.000375840918400083, 0.000389712362582032,
-	0.000404057801864022, 0.00041889194945037, 0.000434229920381655, 0.000450087240592117, 0.00046647985610755,
-	0.000483424142383777, 0.000500936913785722, 0.000519035433206972, 0.000537737421829696, 0.000557061069024622,
-	0.000577025042390767, 0.000597648497934415, 0.000618951090386836, 0.000640952983660057, 0.000663674861439968,
-	0.000687137937915848, 0.000711363968645365, 0.000736375261553932, 0.000762194688067235, 0.000788845694375573,
-	0.000816352312828564, 0.000844739173458628, 0.000874031515631568, 0.00090425519982234, 0.000935436719514101,
-	0.000967603213218358, 0.00100078247661401, 0.00103500297480284, 0.00107029385467892, 0.00110668495740925,
-	0.0011442068310227, 0.00118289074310441, 0.00122276869359226, 0.0012638734276723, 0.00130623844876947,
-	0.00134989803163009, 0.00139488723549225, 0.00144124191734002, 0.00148899874523747, 0.00153819521173806,
-	0.00158886964736487, 0.001641061234157, 0.00169481001927726, 0.0017501569286761, 0.00180714378080643,
-	0.00186581330038404, 0.00192620913218786, 0.00198837585489433, 0.00205235899493975, 0.00211820504040462,
-	0.00218596145491324, 0.00225567669154232, 0.00232740020673155, 0.00240118247418925, 0.00247707499878586,
-	0.00255513033042793, 0.00263540207790495, 0.00271794492270126, 0.00280281463276503, 0.00289006807622615,
-	0.00297976323505456, 0.00307195921865049, 0.0031667162773578, 0.00326409581589132, 0.00336416040666919,
-	0.00346697380304067, 0.00357260095239974, 0.00368110800917499, 0.00379256234768549, 0.00390703257485278,
-	0.00402458854275831, 0.00414530136103605, 0.00426924340908935, 0.00439648834812131, 0.00452711113296733,
-	0.00466118802371875, 0.00479879659712618, 0.00494001575777064, 0.00508492574899103, 0.0052336081635558,
-	0.00538614595406669, 0.0055426234430826, 0.00570312633295069, 0.00586774171533257, 0.00603655808041266,
-	0.00620966532577613, 0.00638715476494317, 0.00656911913554677, 0.00675565260714066, 0.00694685078862432,
-	0.00714281073527142, 0.00734363095534836, 0.00754941141630921, 0.00776025355055365, 0.00797626026073373,
-	0.00819753592459614, 0.0084241863993457, 0.00865631902551655, 0.00889404263033678, 0.00913746753057268,
-	0.00938670553483859, 0.00964186994535833, 0.00990307555916425, 0.0101704386687197, 0.0104440770619511,
-	0.0107241100216758, 0.0110106583244114, 0.0113038442385528, 0.0116037915219036, 0.0119106254185471,
-	0.0122244726550447, 0.0125454614359466, 0.0128737214386020, 0.0132093838072563, 0.0135525811464200,
-	0.0139034475134986, 0.0142621184106689, 0.0146287307759893, 0.0150034229737322, 0.0153863347839254,
-	0.0157776073910905, 0.0161773833721661, 0.016585806683605, 0.0170030226476328, 0.0174291779376571,
-	0.0178644205628166, 0.0183088998516590, 0.0187627664349377, 0.0192261722275173, 0.0196992704093769,
-	0.0201822154057044, 0.0206751628660701, 0.0211782696426723, 0.0216916937676468, 0.0222155944294315,
-	0.0227501319481792, 0.0232954677502118, 0.0238517643415085, 0.0244191852802225, 0.0249978951482205,
-	0.0255880595216387, 0.0261898449404527, 0.026803418877055, 0.0274289497038368, 0.0280666066597725,
-	0.0287165598160018, 0.0293789800404094, 0.0300540389611999, 0.030741908929466, 0.0314427629807527,
-	0.0321567747956137, 0.0328841186591639, 0.0336249694196283, 0.03437950244589, 0.0351478935840388,
-	0.0359303191129258, 0.0367269556987264, 0.0375379803485168, 0.0383635703628713, 0.0392039032874827,
-	0.0400591568638171, 0.0409295089788074, 0.0418151376135949, 0.0427162207913289, 0.043632936524032,
-	0.0445654627585431, 0.0455139773215499, 0.0464786578637201, 0.0474596818029473, 0.0484572262667228,
-	0.0494714680336481, 0.0505025834741036, 0.0515507484900895, 0.0526161384542521, 0.0536989281481198,
-	0.054799291699558, 0.0559174025194695, 0.0570534332377542, 0.058207555638553, 0.059379940594793,
-	0.0605707580020589, 0.061780176711812, 0.0630083644639785, 0.0642554878189359, 0.0655217120889165,
-	0.066807201268858, 0.0681121179667254, 0.0694366233333317, 0.0707808769916854, 0.0721450369658939,
-	0.0735292596096484, 0.0749336995343271, 0.0763585095367391, 0.0778038405265464, 0.0792698414533924,
-	0.080756659233771, 0.0822644386776688, 0.0837933224150144, 0.085343450821967, 0.0869149619470851,
-	0.0885079914374021, 0.0901226724644525, 0.0917591356502808, 0.0934175089934717, 0.095097917795239,
-	0.0968004845856105, 0.098525329049748, 0.100272567954442, 0.102042315074819, 0.103834681121300,
-	0.105649773666855, 0.107487697074587, 0.109348552425692, 0.111232437447834, 0.113139446443977,
-	0.115069670221708, 0.117023196023109, 0.119000107455201, 0.121000484421018, 0.123024403051343,
-	0.125071935637150, 0.127143150562798, 0.129238112240018, 0.131356881042731, 0.133499513242747,
-	0.135666060946383, 0.137856572032035, 0.140071090088769, 0.142309654355939, 0.144572299663909,
-	0.146859056375896, 0.149169950330982, 0.151505002788344, 0.153864230372735, 0.156247645021255,
-	0.158655253931457, 0.161087059510831, 0.163543059327692, 0.166023246063529, 0.168527607466838,
-	0.171056126308482, 0.173608780338625, 0.176185542245258, 0.178786379614372, 0.181411254891797,
-	0.184060125346759, 0.186732943037172, 0.189429654776712, 0.192150202103696, 0.194894521251808,
-	0.197662543122692, 0.200454193260450, 0.203269391828068, 0.206108053585813, 0.208970087871601,
-	0.211855398583397, 0.214763884163637, 0.217695437585733, 0.220649946342650, 0.223627292437600,
-	0.226627352376868, 0.229649997164791, 0.232695092300897, 0.235762497779251, 0.238852068089987,
-	0.241963652223073, 0.245097093674310, 0.248252230453571, 0.25142889509531, 0.254626914671336,
-	0.257846110805865, 0.261086299692861, 0.264347292115678, 0.267628893468983, 0.270930903783006,
-	0.274253117750074, 0.277595324753465, 0.280957308898564, 0.284338849046324, 0.287739718849027,
-	0.291159686788347, 0.294598516215698, 0.298055965394877, 0.301531787546966, 0.305025730897519,
-	0.308537538725987, 0.312066949417390, 0.315613696516222, 0.319177508782556, 0.322758110250348,
-	0.326355220287920, 0.329968553660594, 0.333597820595458, 0.337242726848250, 0.340902973772323,
-	0.344578258389676, 0.348268273464017, 0.351972707575838, 0.355691245199453, 0.359423566782009,
-	0.363169348824381, 0.366928263963972, 0.370699981059346, 0.37448416527668, 0.378280478177981,
-	0.382088577811048, 0.385908118801123, 0.389738752444203, 0.393580126801961, 0.39743188679824,
-	0.401293674317076, 0.405165128302204, 0.409045884857994, 0.412935577351785, 0.416833836517558,
-	0.420740290560897, 0.424654565265205, 0.428576284099099, 0.432505068324962, 0.436440537108567,
-	0.440382307629757, 0.444329995194093, 0.448283213345439, 0.452241573979416, 0.456204687457683,
-	0.460172162722971, 0.464143607414828, 0.468118627986013, 0.472096829819479, 0.476077817345893,
-	0.480061194161628, 0.48404656314717, 0.488033526585888, 0.492021686283098, 0.496010643685368,
-	0.5, 0.503989356314631, 0.507978313716902, 0.511966473414112, 0.515953436852831,
-	0.519938805838373, 0.523922182654107, 0.527903170180521, 0.531881372013987, 0.535856392585172,
-	0.539827837277029, 0.543795312542317, 0.547758426020584, 0.551716786654561, 0.555670004805907,
-	0.559617692370243, 0.563559462891433, 0.567494931675038, 0.571423715900901, 0.575345434734795,
-	0.579259709439103, 0.583166163482443, 0.587064422648215, 0.590954115142006, 0.594834871697796,
-	0.598706325682924, 0.60256811320176, 0.60641987319804, 0.610261247555797, 0.614091881198878,
-	0.617911422188953, 0.62171952182202, 0.62551583472332, 0.629300018940654, 0.633071736036028,
-	0.636830651175619, 0.640576433217991, 0.644308754800547, 0.648027292424163, 0.651731726535983,
-	0.655421741610324, 0.659097026227677, 0.66275727315175, 0.666402179404542, 0.670031446339406,
-	0.67364477971208, 0.677241889749653, 0.680822491217444, 0.684386303483778, 0.68793305058261,
-	0.691462461274013, 0.69497426910248, 0.698468212453034, 0.701944034605123, 0.705401483784302,
-	0.708840313211654, 0.712260281150973, 0.715661150953676, 0.719042691101436, 0.722404675246535,
-	0.725746882249926, 0.729069096216994, 0.732371106531017, 0.735652707884323, 0.738913700307139,
-	0.742153889194135, 0.745373085328664, 0.74857110490469, 0.75174776954643, 0.75490290632569,
-	0.758036347776927, 0.761147931910014, 0.764237502220749, 0.767304907699103, 0.77035000283521,
-	0.773372647623132, 0.7763727075624, 0.77935005365735, 0.782304562414267, 0.785236115836363,
-	0.788144601416603, 0.791029912128399, 0.793891946414187, 0.796730608171932, 0.79954580673955,
-	0.802337456877308, 0.805105478748191, 0.807849797896304, 0.810570345223288, 0.813267056962828,
-	0.81593987465324, 0.818588745108203, 0.821213620385628, 0.823814457754742, 0.826391219661375,
-	0.828943873691518, 0.831472392533162, 0.83397675393647, 0.836456940672308, 0.838912940489169,
-	0.841344746068543, 0.843752354978745, 0.846135769627265, 0.848494997211656, 0.850830049669019,
-	0.853140943624104, 0.85542770033609, 0.85769034564406, 0.85992890991123, 0.862143427967965,
-	0.864333939053617, 0.866500486757253, 0.86864311895727, 0.870761887759982, 0.872856849437202,
-	0.87492806436285, 0.876975596948657, 0.878999515578982, 0.880999892544799, 0.882976803976891,
-	0.884930329778292, 0.886860553556023, 0.888767562552165, 0.890651447574308, 0.892512302925413,
-	0.894350226333145, 0.8961653188787, 0.897957684925181, 0.899727432045558, 0.901474670950252,
-	0.90319951541439, 0.904902082204761, 0.906582491006528, 0.908240864349719, 0.909877327535548,
-	0.911492008562598, 0.913085038052915, 0.914656549178033, 0.916206677584986, 0.917735561322331,
-	0.919243340766229, 0.920730158546608, 0.922196159473454, 0.92364149046326, 0.925066300465673,
-	0.926470740390352, 0.927854963034106, 0.929219123008315, 0.930563376666668, 0.931887882033275,
-	0.933192798731142, 0.934478287911083, 0.935744512181064, 0.936991635536021, 0.938219823288188,
-	0.93942924199794, 0.940620059405207, 0.941792444361447, 0.942946566762246, 0.94408259748053,
-	0.945200708300442, 0.94630107185188, 0.947383861545748, 0.94844925150991, 0.949497416525896,
-	0.950528531966352, 0.951542773733277, 0.952540318197053, 0.95352134213628, 0.95448602267845,
-	0.955434537241457, 0.956367063475968, 0.95728377920867, 0.958184862386405, 0.959070491021193,
-	0.959940843136183, 0.960796096712517, 0.961636429637129, 0.962462019651483, 0.963273044301274,
-	0.964069680887074, 0.96485210641596, 0.96562049755411, 0.966375030580372, 0.967115881340836,
-	0.967843225204386, 0.968557237019247, 0.969258091070534, 0.9699459610388, 0.97062101995959,
-	0.971283440183998, 0.971933393340228, 0.972571050296163, 0.973196581122945, 0.973810155059547,
-	0.974411940478361, 0.97500210485178, 0.975580814719778, 0.976148235658492, 0.976704532249788,
-	0.977249868051821, 0.977784405570569, 0.978308306232353, 0.978821730357328, 0.97932483713393,
-	0.979817784594296, 0.980300729590623, 0.980773827772483, 0.981237233565062, 0.98169110014834,
-	0.982135579437183, 0.982570822062343, 0.982996977352367, 0.983414193316395, 0.983822616627834,
-	0.98422239260891, 0.984613665216075, 0.984996577026268, 0.98537126922401, 0.985737881589331,
-	0.986096552486501, 0.98644741885358, 0.986790616192744, 0.987126278561398, 0.987454538564053,
-	0.987775527344955, 0.988089374581453, 0.988396208478096, 0.988696155761447, 0.988989341675589,
-	0.989275889978324, 0.98955592293805, 0.98982956133128, 0.990096924440836, 0.990358130054642,
-	0.990613294465161, 0.990862532469427, 0.991105957369663, 0.991343680974483, 0.991575813600654,
-	0.991802464075404, 0.992023739739266, 0.992239746449446, 0.99245058858369, 0.992656369044652,
-	0.992857189264729, 0.993053149211376, 0.99324434739286, 0.993430880864453, 0.993612845235057,
-	0.993790334674224, 0.993963441919587, 0.994132258284667, 0.99429687366705, 0.994457376556917,
-	0.994613854045933, 0.994766391836444, 0.99491507425101, 0.99505998424223, 0.995201203402874,
-	0.995338811976281, 0.995472888867033, 0.995603511651879, 0.99573075659091, 0.995854698638964,
-	0.995975411457242, 0.996092967425147, 0.996207437652315, 0.996318891990825, 0.9964273990476,
-	0.99653302619696, 0.996635839593331, 0.996735904184109, 0.996833283722642, 0.99692804078135,
-	0.997020236764945, 0.997109931923774, 0.997197185367235, 0.997282055077299, 0.997364597922095,
-	0.997444869669572, 0.997522925001214, 0.99759881752581, 0.997672599793268, 0.997744323308458,
-	0.997814038545087, 0.997881794959595, 0.99794764100506, 0.998011624145106, 0.998073790867812,
-	0.998134186699616, 0.998192856219194, 0.998249843071324, 0.998305189980723, 0.998358938765843,
-	0.998411130352635, 0.998461804788262, 0.998511001254763, 0.99855875808266, 0.998605112764508,
-	0.99865010196837, 0.99869376155123, 0.998736126572328, 0.998777231306408, 0.998817109256896,
-	0.998855793168977, 0.99889331504259, 0.998929706145321, 0.998964997025197, 0.998999217523386,
-	0.999032396786782, 0.999064563280486, 0.999095744800178, 0.999125968484368, 0.999155260826541,
-	0.999183647687171, 0.999211154305624, 0.999237805311933, 0.999263624738446, 0.999288636031355,
-	0.999312862062084, 0.99933632513856, 0.99935904701634, 0.999381048909613, 0.999402351502066,
-	0.99942297495761, 0.999442938930975, 0.99946226257817, 0.999480964566793, 0.999499063086214,
-	0.999516575857616, 0.999533520143892, 0.999549912759408, 0.999565770079618, 0.99958110805055,
-	0.999595942198136, 0.999610287637418, 0.9996241590816, 0.999637570850967, 0.999650536881662,
-	0.999663070734323, 0.99967518560258, 0.999686894321419, 0.999698209375391, 0.99970914290671,
-	0.999719706723184, 0.999729912306036, 0.999739770817572, 0.99974929310872, 0.999758489726432,
-	0.999767370920964, 0.999775946653009, 0.999784226600705, 0.99979222016652, 0.999799936483993,
-	0.999807384424364, 0.999814572603067, 0.999821509386095, 0.999828202896254, 0.99983466101928,
-	0.999840891409842, 0.999846901497426, 0.999852698492093, 0.999858289390124, 0.999863680979554,
-	0.99986887984558, 0.999873892375862, 0.999878724765715, 0.999883383023185, 0.999887872974018,
-	0.999892200266523, 0.999896370376326, 0.999900388611024, 0.99990426011473, 0.999907989872526,
-	0.9999115827148, 0.999915043321502, 0.999918376226297, 0.999921585820616, 0.999924676357621,
-	0.999927651956075, 0.99993051660412, 0.99993327416297, 0.999935928370511, 0.999938482844817,
-	0.999940941087581, 0.999943306487466, 0.999945582323366, 0.999947771767598, 0.999949877889004,
-	0.999951903655982, 0.999953851939444, 0.999955725515688, 0.999957527069211, 0.99995925919544,
-	0.999960924403402, 0.99996252511831, 0.999964063684097, 0.999965542365885, 0.99996696335237,
-	0.999968328758167, 0.999969640626073, 0.999970900929288, 0.99997211157356, 0.99997327439928,
-	0.999974391183526, 0.999975463642034, 0.999976493431131, 0.999977482149611, 0.999978431340552,
-	0.999979342493088, 0.999980217044132, 0.99998105638005, 0.999981861838282, 0.999982634708926,
-	0.99998337623627, 0.99998408762028, 0.999984770018052, 0.99998542454521, 0.999986052277273,
-	0.999986654250984, 0.999987231465586, 0.999987784884075, 0.999988315434405, 0.999988824010668,
-	0.999989311474225, 0.999989778654816, 0.999990226351627, 0.99999065533433, 0.999991066344087,
-	0.999991460094529, 0.999991837272697, 0.999992198539962, 0.999992544532909, 0.999992875864198,
-	0.9999931931234, 0.9999934968778, 0.999993787673173, 0.999994066034554, 0.999994332466958,
-	0.999994587456092, 0.999994831469043, 0.999995064954938, 0.999995288345588, 0.999995502056111,
-	0.99999570648553, 0.999995902017353, 0.99999608902014, 0.99999626784804, 0.99999643884132,
-	0.999996602326875, 0.999996758618713, 0.999996908018431, 0.999997050815677, 0.999997187288588,
-	0.99999731770422, 0.99999744231896, 0.999997561378926, 0.99999767512035, 0.999997783769952,
-	0.999997887545298, 0.999997986655145, 0.99999808129978, 0.999998171671336, 0.99999825795411,
-	0.999998340324856, 0.99999841895308, 0.999998494001322, 0.999998565625416, 0.999998633974755,
-	0.999998699192546, 0.999998761416043, 0.999998820776783, 0.999998877400815, 0.999998931408906,
-	0.999998982916757, 0.999999032035204, 0.999999078870404, 0.999999123524027, 0.999999166093434,
-	0.999999206671848, 0.99999924534852, 0.999999282208893, 0.999999317334747, 0.999999350804357,
-	0.999999382692628, 0.999999413071236, 0.999999442008757, 0.999999469570797, 0.999999495820112,
-	0.999999520816723, 0.999999544618035, 0.999999567278938, 0.999999588851916, 0.999999609387146,
-	0.999999628932592, 0.999999647534102, 0.999999665235492, 0.999999682078634, 0.999999698103538,
-	0.999999713348428, 0.999999727849823, 0.999999741642602, 0.999999754760082, 0.999999767234077,
-	0.999999779094968, 0.999999790371761, 0.99999980109215, 0.999999811282566, 0.999999820968243,
-	0.99999983017326, 0.999999838920594, 0.999999847232172, 0.99999985512891, 0.999999862630766,
-	0.99999986975677, 0.999999876525079, 0.999999882953003, 0.99999988905705, 0.99999989485296,
-	0.999999900355737, 0.999999905579684, 0.999999910538435, 0.99999991524498, 0.999999919711701,
-	0.999999923950395, 0.9999999279723, 0.99999993178812, 0.999999935408057, 0.99999993884182,
-	0.99999994209866, 0.999999945187383, 0.999999948116374, 0.999999950893617, 0.99999995352671,
-	0.999999956022884, 0.999999958389024, 0.99999996063168, 0.99999996275708, 0.999999964771158,
-	0.999999966679551, 0.999999968487626, 0.999999970200482, 0.999999971822974, 0.999999973359714,
-	0.99999997481509, 0.99999997619327, 0.999999977498221, 0.999999978733708, 0.999999979903313,
-	0.999999981010438, 0.999999982058315, 0.999999983050017, 0.99999998398846, 0.999999984876418,
-	0.99999998571652, 0.999999986511268, 0.999999987263033, 0.99999998797407, 0.99999998864652,
-	0.99999998928241, 0.99999998988367, 0.999999990452127, 0.999999990989519, 0.999999991497492,
-	0.999999991977608, 0.99999999243135, 0.999999992860124, 0.999999993265263, 0.999999993648031,
-	0.999999994009629, 0.99999999435119, 0.999999994673797, 0.999999994978468, 0.999999995266172,
-	0.999999995537828, 0.999999995794303, 0.999999996036423, 0.999999996264969, 0.999999996480679,
-	0.999999996684254, 0.999999996876358, 0.999999997057619, 0.999999997228631, 0.99999999738996,
-	0.999999997542135, 0.999999997685664, 0.999999997821024, 0.999999997948668, 0.999999998069022,
-	0.999999998182492, 0.999999998289461, 0.999999998390292, 0.999999998485327, 0.99999999857489,
-	0.999999998659288, 0.99999999873881, 0.999999998813732, 0.999999998884312, 0.999999998950795,
-	0.999999999013412, 0.999999999072383, 0.999999999127915, 0.999999999180202, 0.999999999229429,
-	0.99999999927577, 0.999999999319392, 0.99999999936045, 0.999999999399087, 0.999999999435447,
-	0.999999999469658, 0.999999999501844, 0.999999999532123, 0.999999999560605, 0.999999999587393,
-	0.999999999612585, 0.999999999636275, 0.99999999965855, 0.999999999679492, 0.99999999969918,
-	0.999999999717684, 0.999999999735077, 0.999999999751423, 0.999999999766782, 0.999999999781215,
-	0.999999999794774, 0.999999999807511, 0.999999999819476, 0.999999999830714, 0.999999999841267,
-	0.999999999851177, 0.999999999860482, 0.999999999869218, 0.99999999987742, 0.999999999885117,
-	0.999999999892343, 0.999999999899123, 0.999999999905486, 0.999999999911456, 0.999999999917057,
-	0.999999999922311, 0.99999999992724, 0.999999999931863, 0.999999999936198, 0.999999999940263,
-	0.999999999944075, 0.999999999947649, 0.999999999950999, 0.999999999954139, 0.999999999957082,
-	0.99999999995984, 0.999999999962425, 0.999999999964846, 0.999999999967115, 0.99999999996924,
-	0.999999999971231, 0.999999999973096, 0.999999999974842, 0.999999999976478, 0.999999999978009,
-	0.999999999979442, 0.999999999980784, 0.99999999998204, 0.999999999983216, 0.999999999984316,
-	0.999999999985345, 0.999999999986309, 0.99999999998721, 0.999999999988053, 0.999999999988841,
-	0.999999999989579, 0.999999999990269, 0.999999999990914, 0.999999999991517, 0.99999999999208,
-	0.999999999992608, 0.9999999999931, 0.99999999999356, 0.999999999993991, 0.999999999994393,
-	0.99999999999477, 0.99999999999512, 0.999999999995448, 0.999999999995754, 0.99999999999604,
-	0.999999999996308, 0.999999999996557, 0.99999999999679, 0.999999999997007, 0.99999999999721,
-	0.9999999999974, 0.999999999997577, 0.999999999997742, 0.999999999997896, 0.99999999999804,
-	0.999999999998174, 0.999999999998299, 0.999999999998415, 0.999999999998524, 0.999999999998626,
-	0.99999999999872, 0.999999999998808, 0.99999999999889, 0.999999999998967, 0.999999999999039,
-	0.999999999999105, 0.999999999999167, 0.999999999999225, 0.99999999999928, 0.99999999999933,
-	0.999999999999376, 0.99999999999942, 0.99999999999946, 0.999999999999498, 0.999999999999533,
-	0.999999999999566, 0.999999999999597, 0.999999999999625, 0.999999999999651, 0.999999999999676,
-	0.999999999999699, 0.99999999999972, 0.99999999999974, 0.999999999999759, 0.999999999999776,
-	0.999999999999792, 0.999999999999806, 0.99999999999982, 0.999999999999833, 0.999999999999845,
-	0.999999999999856, 0.999999999999866, 0.999999999999876, 0.999999999999885, 0.999999999999893,
-	0.9999999999999, 0.999999999999908, 0.999999999999915, 0.99999999999992, 0.999999999999927,
-	0.999999999999932, 0.999999999999937, 0.999999999999941, 0.999999999999946, 0.99999999999995,
-	0.999999999999953, 0.999999999999957, 0.99999999999996, 0.999999999999963, 0.999999999999966,
-	0.999999999999968, 0.99999999999997, 0.999999999999973, 0.999999999999975, 0.999999999999976,
-	0.999999999999978, 0.99999999999998, 0.999999999999981, 0.999999999999983, 0.999999999999984,
-	0.999999999999985, 0.999999999999986, 0.999999999999987, 0.999999999999988, 0.99999999999999,
-	0.99999999999999, 0.99999999999999, 0.999999999999991, 0.999999999999992, 0.999999999999993,
-	0.999999999999993, 0.999999999999994, 0.999999999999994, 0.999999999999995, 0.999999999999995,
-	0.999999999999995, 0.999999999999996, 0.999999999999996, 0.999999999999996, 0.999999999999997,
-	0.999999999999997, 0.999999999999997, 0.999999999999997, 0.999999999999998, 0.999999999999998,
-	0.999999999999998, 0.999999999999998, 0.999999999999998, 0.999999999999998, 0.999999999999998,
-	0.999999999999999, 0.999999999999999, 0.999999999999999, 0.999999999999999, 0.999999999999999,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-	1, 1, 1, 1, 1,
-};
-
-// Normal cumulative distribution function
-float NormalCDF(float mu, float sigmaSq, float x);
-
-// Poisson cumulative distribution function
-float PoissonCDF(float lambda, int a, int b);
-
-// Poisson cumulative distribution function
-float PoissonCDF(float lambda, int a);
-
-#endif
diff --git a/libcpp/alignment/statistics/pdfs.cpp b/libcpp/alignment/statistics/pdfs.cpp
deleted file mode 100644
index 1e066d1..0000000
--- a/libcpp/alignment/statistics/pdfs.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-#include "pdfs.hpp" 
-
-float Binomial(float p, int x, int n) {
-	return pow(p,n) * pow(1-p,x-n) * Choose(x,n);
-}
-
-float Poisson(float lambda, int n) {
-	if (n < FactorialTableLength) {
-		float lambdaToN = pow(lambda, n);
-		if (lambdaToN == HUGE_VALF)
-			return 1;
-		return (pow(lambda, n) * exp(-lambda)) / FactorialTable[n];
-	}
-	else {
-		return 0;
-	}
-}
-
-float Gamma(float lambda, float t, int n) {
-	if (n <= FactorialTableLength) {
-		return (pow(lambda, n) * pow(t,n-1) * exp(-lambda*t)) / FactorialTable[n-1];
-	}
-	else {
-		return 0;
-	}
-}
-
-float Exponential(float lambda, int t) {
-	return lambda * exp(-lambda*t);
-}
-
-float Normal(float mu, float sigma, float x) {
-	assert(0);
-	return 0;
-}
-
diff --git a/libcpp/alignment/statistics/pdfs.hpp b/libcpp/alignment/statistics/pdfs.hpp
deleted file mode 100644
index 5f760c6..0000000
--- a/libcpp/alignment/statistics/pdfs.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef _BLASR_PDFS_HPP_
-#define _BLASR_PDFS_HPP_
-
-#include <math.h>
-#include <assert.h>
-#include "StatUtils.hpp"
-
-float Binomial(float p, int x, int n);
-
-float Poisson(float lambda, int n);
-
-float Gamma(float lambda, float t, int n);
-
-float Exponential(float lambda, int t);
-
-float Normal(float mu, float sigma, float x);
-
-#endif
diff --git a/libcpp/alignment/suffixarray/LCPTable.hpp b/libcpp/alignment/suffixarray/LCPTable.hpp
deleted file mode 100644
index 85037f2..0000000
--- a/libcpp/alignment/suffixarray/LCPTable.hpp
+++ /dev/null
@@ -1,182 +0,0 @@
-#ifndef _BLASR_LCP_TABLE_HPP_
-#define _BLASR_LCP_TABLE_HPP_
-
-#include <map>
-#include <fstream>
-
-template <typename T>
-class LCPTable {
-    //
-    // Change the following TWO type defs if 
-    // the max LCP is changed.
-    //
-    typedef short SignedPrefixLength;
-    typedef unsigned short PrefixLength;
-    typedef std::map<int, int> LongPrefixMap;
-    PrefixLength maxPrefixLength;
-    LongPrefixMap llongPrefixMap, rlongPrefixMap;
-    int tableLength;
-    public:
-    PrefixLength *llcp, *rlcp;
-    LCPTable() {
-        tableLength =0;
-        llcp = rlcp = NULL;
-    }
-
-    LCPTable(T* data, unsigned int pTableLength) {
-        Init(data, pTableLength);
-    }
-
-    inline	int LengthLongestCommonPrefix(T* a, int alen, T* b, int blen) {
-        int i;
-        for (i = 0 ; i < alen and i < blen; i++ ) 
-            if (a[i] != b[i])
-                break;
-        return i;
-    }
-
-    void Init(T* data, unsigned int pTableLength, unsigned int *index) {
-        tableLength = pTableLength;
-        maxPrefixLength = (PrefixLength) (SignedPrefixLength(-1));
-        llcp = new PrefixLength[tableLength];
-        rlcp = new PrefixLength[tableLength];
-        std::fill(llcp, llcp + tableLength, 0);
-        std::fill(rlcp, rlcp + tableLength, 0);
-        FillTable(data, index);
-    }
-
-    int SetL(int index, int length) {
-        assert(index >= 0);
-        assert(index < tableLength);
-        if (index >= maxPrefixLength) {
-            llcp[index] = maxPrefixLength;
-            llongPrefixMap[index] = length;
-        }
-        else {
-            llcp[index] = length;
-        }
-        return llcp[index];
-    }
-
-    int SetR(int index, int length) {
-        assert(index >= 0);
-        assert(index < tableLength);
-        if (index >= maxPrefixLength) {
-            rlcp[index] = maxPrefixLength;
-            rlongPrefixMap[index] = length;
-        }
-        else {
-            rlcp[index] = length;
-        }
-        return rlcp[index];
-    }
-
-
-    int GetL(int index) {
-        if (llcp[index] == maxPrefixLength) {
-            assert(llongPrefixMap.find(index) != llongPrefixMap.end());
-            return llongPrefixMap[index];
-        }
-        else {
-            return llcp[index];
-        }
-    }
-
-    int GetR(int index) {
-        if (rlcp[index] == maxPrefixLength) {
-            assert(rlongPrefixMap.find(index) != llongPrefixMap.end());
-            return rlongPrefixMap[index];
-        }
-        else {
-            return rlcp[index];
-        }
-    }
-
-
-    ~LCPTable() {
-        /*
-           if (llcp != NULL) 
-           delete[] llcp;
-           llcp = NULL;
-           if (rlcp != NULL)
-           delete[] rlcp;
-           rlcp = NULL;
-           */
-        // the two maps automatically go away.
-    }
-
-    void WriteLCPTable(std::ofstream &out) {
-        out.write((char*) &tableLength, sizeof(tableLength));
-        out.write((char*) llcp, sizeof(PrefixLength)*tableLength);
-        out.write((char*) rlcp, sizeof(PrefixLength)*tableLength);
-        typename LongPrefixMap::iterator llcpTableIt, llcpTableEnd;
-        int llongPrefixMapSize = llongPrefixMap.size();
-        out.write((char*) &llongPrefixMapSize, sizeof(llongPrefixMapSize));
-        for((llcpTableIt = llongPrefixMap.begin(),
-                    llcpTableEnd = llongPrefixMap.end());
-                llcpTableIt != llcpTableEnd;
-                ++llcpTableIt) {
-            out.write((char*) &llcpTableIt->first, sizeof(typename LongPrefixMap::key_type));
-            out.write((char*) &llcpTableIt->second, sizeof(typename LongPrefixMap::mapped_type));
-        }
-        typename LongPrefixMap::iterator rlcpTableIt, rlcpTableEnd;
-        int rlongPrefixMapSize = rlongPrefixMap.size();
-        out.write((char*) &rlongPrefixMapSize, sizeof(rlongPrefixMapSize));
-        for((rlcpTableIt = rlongPrefixMap.begin(),
-                    rlcpTableEnd = rlongPrefixMap.end());
-                rlcpTableIt != rlcpTableEnd;
-                ++rlcpTableIt) {
-            out.write((char*) &rlcpTableIt->first, sizeof(typename LongPrefixMap::key_type));
-            out.write((char*) &rlcpTableIt->second, sizeof(typename LongPrefixMap::mapped_type));
-        }
-    }
-
-    void ReadLCPTables(std::ifstream &in) {
-        in.read((char*) &tableLength, sizeof(tableLength));
-        in.read((char*) &llcp, sizeof(PrefixLength)*tableLength);
-        in.read((char*) &rlcp, sizeof(PrefixLength)*tableLength);
-        int longPrefixMapSize;
-        in.read((char*) &longPrefixMapSize, sizeof(longPrefixMapSize));
-        int i;
-        int index, lcpLength;
-        // The rest is stored as a tree, but read and construct this on the fly.
-        for (i = 0; i < longPrefixMapSize; i++) {
-            in.read((char*) &index, sizeof(index));
-            in.read((char*) &lcpLength, sizeof(lcpLength));
-            llongPrefixMap[index] = lcpLength;
-        }
-
-        // Read the rlcp
-        in.read((char*) &longPrefixMapSize, sizeof(longPrefixMapSize));
-        for (i = 0; i < longPrefixMapSize; i++) {
-            in.read((char*) &index, sizeof(index));
-            in.read((char*) &lcpLength, sizeof(lcpLength));
-            rlongPrefixMap[index] = lcpLength;
-        }
-    }
-
-
-    void FillTable(T* data, unsigned int *index) {
-        //
-        // This assumes that the index table is now in sorted order.
-        //
-        FillTable(0, tableLength, data, index);
-    }
-
-    void FillTable(unsigned int low, unsigned int high, T* data, unsigned int *index) {
-        if (low == high) 
-            return;
-        unsigned int mid = (low + high) / 2;
-        assert (mid != low);
-        SetL(mid, LengthLongestCommonPrefix(&data[index[low]], tableLength - index[low],
-                    &data[index[mid]], tableLength - index[mid]));
-        FillTable(low, mid, data, index);
-        assert(mid != high);
-        SetR(mid, LengthLongestCommonPrefix(&data[index[mid]], tableLength - index[mid],
-                    &data[index[high]], tableLength - index[high]));
-        FillTable(mid+1, high, data, index);
-    }
-
-};
-
-#endif // _BLASR_LCP_TABLE_HPP_
diff --git a/libcpp/alignment/suffixarray/SharedSuffixArray.hpp b/libcpp/alignment/suffixarray/SharedSuffixArray.hpp
deleted file mode 100644
index dd31437..0000000
--- a/libcpp/alignment/suffixarray/SharedSuffixArray.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-#ifndef _BLASR_SHARED_SUFFIX_ARRAY_HPP_
-#define _BLASR_SHARED_SUFFIX_ARRAY_HPP_
-
-#include <stdlib.h>
-#include <fstream>
-#include <sstream>
-#include "SuffixArray.hpp"
-#include "ipc/SharedMemoryAllocator.hpp"
-#include "tuples/DNATuple.hpp"
-#include "tuples/CompressedDNATuple.hpp"
-#include "algorithms/compare/CompareStrings.hpp"
-
-
-template<typename T, 
-    typename Sigma,
-    typename Compare = DefaultCompareStrings<T>,
-    typename Tuple   = DNATuple >
-class SharedSuffixArray : public SuffixArray<T, Sigma, Compare, Tuple> {
-public:
-    std::string shmIdTag;
-    SAIndex *indexShared;
-    int indexID;
-    std::string indexHandle;
-    SAIndex *lookupTableShared;
-    int lookupTableID;
-    std::string lookupTableHandle;
-    int lookupPrefixLength;
-
-    void InitShmIdTag() {
-        std::stringstream tagStrm;
-        tagStrm << "_" << getpid();
-        shmIdTag = tagStrm.str();
-    }
-
-
-    void ReadSharedArray(std::ifstream &saIn) {
-        std::cout << "reading a shared suffix array index." << std::endl;
-        saIn.read((char*) &this->length, sizeof(int));
-        indexHandle = "suffixarray.index." + shmIdTag;
-        AllocateMappedShare(indexHandle, this->length + 1, indexShared, indexID);
-        std::cout << "the shared index is: " << indexShared << std::endl;
-        this->index = indexShared;
-        std::cout << "the index used is: " << this->index << std::endl;
-        this->ReadAllocatedArray(saIn);
-    }
-
-    void ReadSharedLookupTable(std::ifstream &saIn) {
-        this->ReadLookupTableLengths(saIn);
-        lookupTableHandle = "suffixarray.lookuptable." + shmIdTag;
-        AllocateMappedShare(lookupTableHandle, this->lookupTableLength + 1, lookupTableShared, lookupTableID);
-        this->lookupTable = lookupTableShared;
-        this->ReadAllocatedLookupTable(saIn);
-    }
-
-    void ReadShared(std::string &inFileName) {
-        std::ifstream saIn;
-        InitShmIdTag();
-        saIn.open(inFileName.c_str(), std::ios::binary);
-        this->ReadComponentList(saIn);
-        if (this->componentList[SuffixArray<T,Sigma,Compare,Tuple>::CompArray]) {
-            this->ReadSharedArray(saIn);
-        }
-        if (this->componentList[SuffixArray<T,Sigma,Compare,Tuple>::CompLookupTable]) {
-            this->ReadSharedLookupTable(saIn);
-        }
-        saIn.close();
-    }
-
-    void FreeShared() {
-
-        if (this->componentList[SuffixArray<T,Sigma,Compare,Tuple>::CompArray]) {
-            shm_unlink(indexHandle.c_str());
-        }
-        if (this->componentList[SuffixArray<T,Sigma,Compare,Tuple>::CompLookupTable]) {
-            shm_unlink(lookupTableHandle.c_str());
-        }
-    }
-
-
-};
-
-
-#endif // _BLASR_SHARED_SUFFIX_ARRAY_HPP_
diff --git a/libcpp/alignment/suffixarray/SuffixArray.hpp b/libcpp/alignment/suffixarray/SuffixArray.hpp
deleted file mode 100644
index 907bf1b..0000000
--- a/libcpp/alignment/suffixarray/SuffixArray.hpp
+++ /dev/null
@@ -1,1197 +0,0 @@
-#ifndef _BLASR_SUFFIX_ARRAY_HPP_
-#define _BLASR_SUFFIX_ARRAY_HPP_
-
-#include <string.h>
-#include <assert.h>
-#include <iostream>
-#include <fstream>
-#include <string>
-#include <vector>
-#include "LCPTable.hpp"
-#include "defs.h"
-#include "utils.hpp"
-#include "tuples/DNATuple.hpp"
-#include "tuples/CompressedDNATuple.hpp"
-#include "qvs/QualityValue.hpp"
-#include "DNASequence.hpp"
-#include "NucConversion.hpp"
-#include "algorithms/compare/CompareStrings.hpp"
-#include "algorithms/sorting/qsufsort.hpp"
-#include "algorithms/sorting/LightweightSuffixArray.hpp"
-/*
- * Suffix array implementation, with a Manber and Meyers sort, but
- * that is typically not used.
- *
- */
-
-typedef enum E_SAType {manmy, slow, mcilroy, larsson, kark, mafe, welter} SAType;
-
-template<typename T>
-class CompareSuffixes {
-public:
-    T t;
-    int refLength;
-    CompareSuffixes(T tref, int prefLength) {
-        t = tref;
-        refLength = prefLength;
-    }
-    int operator()(int a, int b) {
-        int aSufLen = refLength - a;
-        int bSufLen = refLength - b;
-        int abMinLength = MIN(aSufLen, bSufLen);
-        int cmpRes = memcmp(&(t[a]), &(t[b]), abMinLength);
-        if (cmpRes == 0) {
-            if (aSufLen < bSufLen) {
-                return 1;
-            }
-            else {
-                return 0;
-            }
-        }
-        else {
-            return cmpRes < 0;
-        }
-    }
-};
-
-typedef uint32_t SAIndex;
-typedef uint32_t SAIndexLength;
-
-template<typename T, 
-    typename Sigma,
-    typename Compare = DefaultCompareStrings<T>,
-    typename Tuple   = DNATuple >
-class SuffixArray {
-public:
-    SAIndex *index;
-    bool deleteStructures;
-    T*  target;
-    SAIndex length;
-    SAIndex *startPosTable, *endPosTable;
-    SAIndexLength lookupTableLength;
-    SAIndex lookupPrefixLength;
-    TupleMetrics tm;
-    unsigned int magicNumber;
-    unsigned int ckMagicNumber;
-    typedef Compare CompareType;
-    enum Component { CompArray, CompLookupTable, CompLCPTable};
-    static const int ComponentListLength = 2;
-    static const int FullSearch = -1;
-    int componentList[ComponentListLength];
-
-    // vector<SAIndex> leftBound, rightBound;
-
-    inline	int LengthLongestCommonPrefix(T *a, int alen, T *b, int blen) {
-        int i;
-        for (i = 0 ; i < alen and i < blen; i++ ) 
-            if (a[i] != b[i])
-                break;
-        return i;
-    }
-
-    SuffixArray() {
-        // Not necessarily using the lookup table.
-        // The magic number is linked with a version 
-        magicNumber = 0xacac0001;
-        startPosTable = endPosTable = NULL;
-        lookupPrefixLength = 0;
-        lookupTableLength = 0;
-        deleteStructures  = true;
-        ckMagicNumber = 0;
-        length = 0;
-        int i;
-        for (i = 0; i < ComponentListLength; i++) {
-            componentList[i] = false;
-        }
-        // Must create a suffix array, but for now make it null.
-        target = NULL;
-        index = NULL;
-    }
-    ~SuffixArray() {
-        if (deleteStructures == false) {
-            //
-            // It is possible this class is referencing another structrue. In
-            // this case, do not try and delete in the destructor.
-            //
-            return;
-        }
-        if (startPosTable != NULL) {
-            delete[] startPosTable;
-        }
-        if (endPosTable != NULL) {
-            delete[] endPosTable;
-        }
-        if (index != NULL) {
-            delete[] index;
-        }
-    }
-
-    int StringLessThanEqual(T *a, int aLen, T *b, int bLen) {
-        return Compare::LessThanEqual(a, aLen, b, bLen);
-    }
-
-    int StringEquals(T *a, int aLen, T *b, int bLen) {
-        return Compare::Equal(a, aLen, b, bLen);
-    }
-    int StringLessThan(T *a, int aLen, T *b, int bLen) {
-        return Compare::LessThan(a, aLen, b, bLen);
-    }
-
-    void InitAsciiCharDNAAlphabet(std::vector<int> &dnaAlphabet) {
-        int i;
-        for (i = 0; i < 127; i++) {
-            dnaAlphabet.push_back(i);
-        }
-    }
-
-    void InitTwoBitDNAAlphabet(std::vector<int> &dnaAlphabet) {
-        dnaAlphabet.push_back(0);
-        dnaAlphabet.push_back(1);	
-        dnaAlphabet.push_back(2);
-        dnaAlphabet.push_back(3);
-    }
-
-    void InitThreeBitDNAAlphabet(std::vector<int> &dnaAlphabet) {
-        //
-        // This is initialized to have ACTG-0123, N=4, and EOF=5
-        //
-        dnaAlphabet.push_back(0);
-        dnaAlphabet.push_back(1);	
-        dnaAlphabet.push_back(2);
-        dnaAlphabet.push_back(3);
-        dnaAlphabet.push_back(4);
-        dnaAlphabet.push_back(5);
-    }
-
-    void PrintSuffices(T *target, int targetLength, int maxPrintLength) {
-        std::string seq;
-        seq.resize(maxPrintLength+1);
-        SAIndex i, s;
-        seq[maxPrintLength] = '\0';
-        for (i = 0; i < length; i++) {
-            DNALength suffixLength = maxPrintLength;
-            if (index[i] + maxPrintLength > length) {
-                suffixLength = length - index[i];
-            }
-            std::cout << index[i] << " " << suffixLength << " ";
-            seq.resize(suffixLength);
-            for (s = 0; s < suffixLength; s++ ){ 
-                seq[s] = TwoBitToAscii[target[index[i] + s]];
-            }
-            seq[suffixLength] = '\0';
-            std::cout << seq << std::endl;
-        }
-    }
-
-    void BuildLookupTable(T *target, SAIndexLength targetLength, int prefixLengthP) { 
-
-        //
-        // pprefixLength is the length used to lookup the index boundaries
-        // given a string.
-        //
-
-        SAIndexLength i;
-        tm.tupleSize = lookupPrefixLength = prefixLengthP;
-        tm.InitializeMask();
-        lookupTableLength = 1 << (2*lookupPrefixLength);
-
-        if (startPosTable) {delete [] startPosTable;}
-        startPosTable = ProtectedNew<SAIndex>(lookupTableLength);
-
-        if (endPosTable) {delete [] endPosTable;}
-        endPosTable   = ProtectedNew<SAIndex>(lookupTableLength);
-        deleteStructures = true;
-
-        Tuple curPrefix, nextPrefix;
-        SAIndex tablePrefixIndex = 0;
-
-        for (i = 0; i < lookupTableLength; i++) {
-            startPosTable[i] = endPosTable[i] = 0;
-        }
-        i = 0;
-        VectorIndex tablePos;
-        SAIndex     indexPos;
-        indexPos = 0;
-        do {
-            // Advance to the first position that may be translated into a tuple.
-            if (targetLength < lookupPrefixLength)
-                break;
-            while(indexPos < targetLength - lookupPrefixLength + 1 and 
-                    index[indexPos] + lookupPrefixLength > targetLength) {
-                indexPos++;
-            }
-            if (indexPos >= targetLength - lookupPrefixLength + 1) {
-                break;
-            }
-            while (indexPos < targetLength - lookupPrefixLength + 1 and
-                    curPrefix.FromStringLR((Nucleotide*) &target[index[indexPos]], tm) == 0) {
-                ++indexPos;
-            }
-
-            startPosTable[curPrefix.tuple] = indexPos;
-            indexPos++;
-            while(indexPos < targetLength - lookupPrefixLength + 1 and
-                    index[indexPos] + lookupPrefixLength < targetLength) {
-                nextPrefix.tuple = 0;
-                nextPrefix.FromStringLR((Nucleotide*) &target[index[indexPos]], tm);
-                if (nextPrefix.tuple != curPrefix.tuple) {
-                    break;
-                }
-                else {
-                    indexPos++;
-                }
-            }
-            endPosTable[curPrefix.tuple] = indexPos;
-        }
-        while ((indexPos < targetLength - lookupPrefixLength + 1) and 
-               (uint32_t(curPrefix.tuple) < uint32_t(lookupTableLength - 1)));
-    }
-
-    void AllocateSuffixArray(SAIndexLength stringLength) {
-        assert(index == NULL or not deleteStructures);
-        index = ProtectedNew<SAIndex>(stringLength + 1);
-        deleteStructures = true;
-        length = stringLength;
-    }
-
-    void LarssonBuildSuffixArray(T* target, SAIndexLength targetLength, Sigma &alphabet) {
-        assert(index == NULL or not deleteStructures);
-        index =  ProtectedNew<SAIndex>(targetLength+1);
-        deleteStructures = true;
-        SAIndex *p = ProtectedNew<SAIndex>(targetLength+1);
-        SAIndexLength i;
-        for (i = 0; i < targetLength; i++) { index[i] = target[i] + 1;}
-        SAIndexLength maxVal = 0;
-        for (i = 0; i < targetLength; i++) { maxVal = index[i] > maxVal ?  index[i] : maxVal;}
-        index[targetLength] = 0;
-        LarssonSuffixSort<SAIndex, UINT_MAX> sorter;
-        sorter(index, p, ((SAIndex) targetLength), ((SAIndex) maxVal+1), (SAIndex) 1 );
-        for (i = 0; i < targetLength; i++ ){ index[i] = p[i+1];};
-        length = targetLength;
-        delete[] p;
-    }
-
-    void LightweightBuildSuffixArray(T*target, SAIndexLength targetLength, int diffCoverSize=2281) {
-        assert(index == NULL or not deleteStructures);
-        index = ProtectedNew<SAIndex>(targetLength+1);
-        deleteStructures = true;
-        length = targetLength;
-        DNALength pos;
-        for (pos = 0; pos < targetLength; pos++) {
-            target[pos]++;
-        }
-        LightweightSuffixSort(target, targetLength, index, diffCoverSize);
-        for (pos = 0; pos < targetLength; pos++) {
-            target[pos]--;
-        }
-
-    }
-
-    void MMBuildSuffixArray(T* target, SAIndexLength targetLength, Sigma &alphabet) {
-        /*
-         * Manber and Myers suffix array construction.
-         */
-        length = targetLength;
-        VectorIndex a;
-        std::vector<int> prm;
-        std::vector<int> bucket;
-        std::vector<int> count;
-        // To be changed to bit vectors
-        std::vector<bool> bh, b2h;
-        bucket.resize(alphabet.size());
-
-        prm.resize(targetLength);
-        count.resize(targetLength);
-        bh.resize(targetLength+1);
-        b2h.resize(targetLength+1);
-        std::fill(bh.begin(), bh.end(), false);
-        std::fill(b2h.begin(), b2h.end(), false);
-        std::fill(count.begin(), count.end(), 0);
-        assert(index == NULL or not deleteStructures);
-        index = ProtectedNew<SAIndex>(targetLength);
-        //index = new SAIndex[targetLength];
-        deleteStructures = true;
-        for (a = 0; a < alphabet.size(); a++ ) {
-            bucket[a] = -1;
-        }
-
-        SAIndexLength i;
-        for (i = 0; i < targetLength; i++) {
-            index[i] = bucket[target[i]];
-            bucket[target[i]] = i;
-        }
-
-        int j;
-        SAIndex c;
-        std::fill(prm.begin(), prm.end(), -1);
-        //
-        // Prepare the buckets.
-        //
-        c = 0;
-        int b;
-        for (a = 0; a < alphabet.size(); a++) { 
-            b = bucket[alphabet[a]]; // position of last suffix starting with 'a'
-            while (b != -1) {
-                j = index[b];
-                prm[b] = c;
-                if (b == bucket[a]) {
-                    bh[c] = true;
-                }
-                else {
-                    bh[c] = false;
-                }
-                c = c + 1;
-                b = j;
-            }
-        }
-        b2h[targetLength] = bh[targetLength] = true;
-        // fill the index with positions sorted by the first character.
-        for (i = 0; i < targetLength; i++) {
-            index[prm[i]] = i;
-        }
-
-        SAIndex h;
-        h = 1;
-        SAIndex l, r;
-
-        while (h < targetLength) {
-            // re-order the buckets;
-            l = 0;
-            int bstart;
-            while (l < targetLength) {
-                bstart = l;
-                r = l + 1;
-                count[l] = 0;
-                //				bh[l] = 0;
-                while (bh[r] == false) {r++;} // find the begining of the next bucket.
-                while (l < r) {
-                    assert(l < targetLength);
-                    prm[index[l]] = bstart;
-                    l++;
-                }
-            }
-
-            SAIndex d = targetLength - h;
-            SAIndex e = prm[d]; 
-
-            /*
-             * Phase 1: Set up the buckets in the index and bh list.
-             */
-
-            //
-            // suffix d needs to be moved to the front of it's bucket.
-            // d should exist in the bucket starting at prm[d]
-            SAIndex i;
-
-            l = 0;
-            r = 1;
-
-            //
-            // Move each d that is h backwards up in it's 2h bucket.
-            //
-
-            d = targetLength - h; 
-            e = prm[d]; 
-            bh[e]    = true;     // e is bstart, the beginning of the bucket.
-            prm[d]   = e + count[e];
-            count[e] = count[e] + 1;
-            b2h[prm[d]] = true;
-
-            for (c = 0; c < targetLength; c++ ){
-                // d is T_i
-                d = index[c] - h;
-                if (index[c] >= h and d < targetLength) {
-                    e           = prm[d];
-                    prm[d]      = e + count[e];
-                    count[e]    = count[e] + 1;
-                    b2h[prm[d]] = true;
-                }
-            }
-
-
-            //
-            // Fix the bucket boundaries.
-            //
-
-            l = 0;
-
-
-            while(l < targetLength) {
-
-                // First assign b2h to be 1 on the entire portion of the 
-                // current bucket (from l ... bh[c]==true).
-                for (c = l; c == l or bh[c] == false; c++)  {
-                    d = index[c] - h;
-                    if (d < targetLength) {
-                        b2h[prm[d]] = true;
-                    }
-                }
-
-                //
-                // Mark the start boundaries of the 2h bucket.
-                //
-                for (c = l; c == l or bh[c] == false; c++) {
-                    d = index[c] - h;
-                    if (d < targetLength) {
-                        if (b2h[prm[d]] == true) {
-                            j = prm[d] + 1;
-                            // advance j to the next bucket.
-                            while (!(bh[j] == true or b2h[j] == false)) {
-                                j++;
-                            }
-
-                            e = j;
-                            SAIndex f;
-                            for (f = prm[d] + 1; f <= e - 1; f++) { 
-                                b2h[f] = false;
-                            }
-                        }
-                    }
-                }
-                l = c;
-            }
-
-            for (i = 0; i < targetLength; i++) { 
-                index[prm[i]] = i;
-            }
-
-            for (i = 0 ; i < targetLength; i++) {
-                if (b2h[i] == true and bh[i] == false) {
-                    bh[i] = b2h[i];
-                }
-            }
-            h <<= 1;
-        }
-    }
-
-    void BuildSuffixArray(T* target, SAIndex targetLength, Sigma &alphabet) {
-        length = targetLength;
-        assert(index == NULL or not deleteStructures);
-        index  = ProtectedNew<SAIndex>(length);
-        deleteStructures = true;
-        CompareSuffixes<T*> cmp(target, length);
-        SAIndex i;
-        for (i = 0; i < length; i++ ){ 
-            index[i] = i;
-        }
-        std::sort(index, index + length, cmp);
-    }
-
-    void WriteArray(std::ofstream &out) {
-        out.write((char*) &length, sizeof(int));
-        out.write((char*) index, sizeof(int) * (length));
-    }
-
-    void WriteLookupTable(std::ofstream &out) {
-
-        out.write((char*) &lookupTableLength, sizeof(SAIndex));
-        out.write((char*) &lookupPrefixLength, sizeof(SAIndex));
-        out.write((char*) startPosTable, sizeof(SAIndex) * (lookupTableLength));
-        out.write((char*) endPosTable, sizeof(SAIndex) * (lookupTableLength));
-    }
-
-    void WriteComponentList(std::ofstream &out) {
-        //
-        // First build the component list.
-        //
-        if (index != NULL)
-            componentList[CompArray] = 1;
-        else 
-            componentList[CompArray] = 0;
-
-        if (startPosTable != NULL)
-            componentList[CompLookupTable] = 1;
-        else
-            componentList[CompLookupTable] = 0;
-
-        out.write((char*) componentList, sizeof(int) * ComponentListLength);
-    }
-
-    void WriteLCPTable(std::ofstream &out) {
-        std::cout << "NOT YET IMPLEMENTED." << std::endl;
-        exit(1);
-    }
-
-    void Write(std::string &outFileName) {
-
-        //
-        // The suffix array is written in 2 or more parts:
-        //   1 - a preamble listing the components of the
-        //       array that are written
-        //   2 - The components.
-        //
-        // 
-        std::ofstream suffixArrayOut;
-        suffixArrayOut.open(outFileName.c_str(), std::ios::binary);
-        if (!suffixArrayOut.good()) {
-            std::cout << "Could not open " << outFileName << std::endl;
-            exit(1);
-        }
-        WriteMagicNumber(suffixArrayOut);
-        // write the preamble
-        WriteComponentList(suffixArrayOut);
-
-        // write the components
-        if (componentList[CompArray]) {
-            WriteArray(suffixArrayOut);
-        }
-        if (componentList[CompLookupTable]) {
-            WriteLookupTable(suffixArrayOut);
-        }
-        suffixArrayOut.close();
-    }
-    void WriteMagicNumber(std::ofstream &out) {
-        out.write((char*) &magicNumber, sizeof(int));
-    }
-
-    int ReadMagicNumber(std::ifstream &in) {
-        in.read((char*) &ckMagicNumber, sizeof(int));
-        if (ckMagicNumber != magicNumber) {
-            return 0;
-        }
-        else { 
-            return 1;
-        }
-    }
-
-    void ReadComponentList(std::ifstream &in) { 
-        in.read((char*) componentList, sizeof(int) * ComponentListLength);
-    }
-
-    void ReadAllocatedArray(std::ifstream &in) {
-        in.read((char*) index, sizeof(int) * length);
-    }
-
-    void LightReadArray(std::ifstream &in) {
-        in.read((char*) &length, sizeof(int));
-        // skip the actual array
-        in.seekg(length*sizeof(int), std::ios_base::cur);
-    }
-
-    void ReadArray(std::ifstream &in) {
-        in.read((char*) &length, sizeof(int));
-        assert(index == NULL or not deleteStructures);
-        index = ProtectedNew<SAIndex>(length);
-        deleteStructures = true;
-        ReadAllocatedArray(in);
-    }
-
-    void ReadAllocatedLookupTable(std::ifstream &in) {
-        in.read((char*) startPosTable, sizeof(int) * (lookupTableLength));
-        in.read((char*) endPosTable, sizeof(int) * (lookupTableLength));
-    }
-
-    void ReadLookupTableLengths(std::ifstream &in) {
-        in.read((char*) &lookupTableLength, sizeof(int));
-        in.read((char*) &lookupPrefixLength, sizeof(int));
-    }
-
-    void ReadLookupTable(std::ifstream &in) {
-        ReadLookupTableLengths(in);
-        tm.Initialize(lookupPrefixLength);
-        assert(startPosTable == NULL or not deleteStructures);
-        assert(endPosTable == NULL or not deleteStructures);
-        startPosTable = ProtectedNew<SAIndex>(lookupTableLength);
-        endPosTable   = ProtectedNew<SAIndex>(lookupTableLength);
-        deleteStructures = true;
-        ReadAllocatedLookupTable(in);
-    }
-
-    void ReadLCPTable(std::ifstream &in) {
-        std::cout <<" NOT YET IMPLEMENTED!!!" << std::endl;
-        exit(1);
-    }
-
-    bool LightRead(std::string &inFileName) {
-        std::ifstream saIn;
-        saIn.open(inFileName.c_str(), std::ios::binary);
-        int hasMagicNumber;
-        hasMagicNumber = ReadMagicNumber(saIn);
-        if (hasMagicNumber == 1) {
-            ReadComponentList(saIn);
-            LightReadArray(saIn);
-            ReadLookupTable(saIn);
-            saIn.close();
-            return true;
-        }
-        else {
-            saIn.close();
-            return false;
-        }
-    }
-
-    bool Read(std::string &inFileName) {
-        std::ifstream saIn;
-        saIn.open(inFileName.c_str(), std::ios::binary);
-        int hasMagicNumber;
-        hasMagicNumber = ReadMagicNumber(saIn);
-        if (hasMagicNumber == 1) {
-            ReadComponentList(saIn);
-            if (componentList[CompArray]) {
-                ReadArray(saIn);
-            }
-            if (componentList[CompLookupTable]) {
-                ReadLookupTable(saIn);
-            }
-            saIn.close();
-            return true;
-        }
-        else {
-            saIn.close();
-            return false;
-        }
-    }
-
-    int SearchLCP(T* target, T* query, DNALength queryLength, SAIndex &low, SAIndex &high, DNALength &lcpLength, DNALength maxlcp) {
-        //		cout << "searching lcp with query of length: " << queryLength << endl;
-        lcpLength = 0;
-        if (startPosTable != NULL and
-                queryLength >= lookupPrefixLength) {
-            Tuple lookupTuple;
-            int left, right;
-            // just in case this was changed.
-            lookupTuple.FromStringLR(query, tm);
-            left  = startPosTable[lookupTuple.tuple];
-            right = endPosTable[lookupTuple.tuple];
-            //
-            // When left == right, the k-mer in the read did not exist in the
-            // genome.  Don't even try and map it in this case.
-            //
-            if (left == right) {
-                low = high = 0;
-                return 0;
-            }
-
-            //
-            // Otherwise, the sequence of length 'lookupPrefixLength' was found
-            // in the genome.  The bounds of this prefix in the suffix array
-            // are stored in the lookup tables, so begin the binary search there.
-            //
-            lcpLength = lookupPrefixLength;
-            low = left, high = right;
-        }
-        else {
-            low = 0; high = length - 1;
-            lcpLength = 0;
-        }		
-        int prevLow = low;
-        int prevHigh = high;
-        int prevLCPLength = lcpLength - 1;
-
-        // When the boundaries and the string share a prefix, it is not necessary
-        // to use this as a comparison in further lcp searches.
-        prevLCPLength = lcpLength;
-
-        Search(target, query, queryLength, low, high, low, high, 0);
-
-        DNALength lowLCP = lookupPrefixLength, highLCP = lookupPrefixLength;
-        while (lowLCP < queryLength and index[low]+lowLCP < length and 
-                target[index[low] + lowLCP] == query[lowLCP]) lowLCP++;
-
-        while (highLCP < queryLength and index[high]+highLCP < length and 
-                target[index[high] + highLCP] == query[highLCP]) highLCP++;
-
-        DNALength minLCP = highLCP;
-        if (lowLCP < highLCP ) { 
-            minLCP = lowLCP;
-        }
-
-        while (minLCP >= (lookupPrefixLength -2 )and 
-                low > 0 and high < (length - minLCP) and high - low < 10) {
-            while(low  > 0 and StringEquals(&target[index[low]], minLCP, &target[index[high]], minLCP)) low--;
-            while(high > 0 and StringEquals(&target[index[low]], minLCP, &target[index[high]], minLCP)) high++;
-            --minLCP;
-        }
-
-        //
-        // The LCP is not an exact match to the end of the string.
-        //
-
-        prevLow  = low;
-        prevHigh = high;
-
-        low = prevLow; high = prevHigh;
-        if (low < high and high - low < 100) {
-            return queryLength;
-        }
-        else {
-            high = low - 1;
-            lcpLength = 0;
-        }
-        return lcpLength;
-    }
-
-    int Search(T* target, T* query, DNALength queryLength, SAIndex left, SAIndex right, SAIndex &low, SAIndex &high, unsigned int offset=0) {
-        if (offset >= queryLength) {
-            return high - low;
-        }
-        SearchLow(target, query, queryLength, left, right, low, offset);
-        SearchHigh(target, query, queryLength, left, right, high, offset);
-        return high - low;
-    }
-
-    int Search(T* target, T* query, DNALength queryLength, SAIndex &low, SAIndex &high, int offset = 0) {
-
-        int left = 0;
-        int right = length - 1;
-        //
-        // Constrain the lookup if a lookup table exists.
-        //
-        if (startPosTable != NULL and
-                queryLength >= lookupPrefixLength) {
-            Tuple lookupTuple;
-            lookupTuple.FromStringLR(query, tm);
-            left  = startPosTable[lookupTuple.tuple];
-            right = endPosTable[lookupTuple.tuple];
-        }
-        return Search(target, query, queryLength, left, right, low, high, offset);
-    }
-
-
-    long SearchLeftBound(T* target, long targetLength, DNALength targetOffset,  T queryChar, long l, long r) {
-        long ll, lr;
-        ll = l;
-        lr = r;
-        long m;
-        long targetSufLen = 0;
-        while (ll < lr) {
-            m = (ll + lr) / 2;
-            targetSufLen = targetLength - index[m];
-            if (targetSufLen == targetOffset) {
-                ll =m + 1;
-                continue;
-            }
-            //
-            // The suffix at index[m] is shorter than the lengths of the 
-            // two sequences being compared.  With the Larsson
-            // implementation, that means that the target suffix is lex-less
-            // than the read.
-            int comp;
-            if (targetSufLen < targetOffset) {
-                comp = -1;
-            }
-            else {
-                //
-                // There is enough sequence to compare the target suffix with
-                // the query suffix.
-                //
-                assert(index[m]+targetOffset < targetLength);
-
-                /*
-                   if (ThreeBit[target[index[m]+targetOffset]] >= 4 or 
-                   ThreeBit[queryChar] >= 4) {
-                   lr = ll;
-                   break;
-                   }
-                   */
-                comp = Compare::Compare(target[index[m]+targetOffset], queryChar);
-
-            }
-            if (comp < 0) {
-                ll = m + 1;
-            }
-            else {
-                lr = m;
-            }
-        }
-        return ll;
-    }
-
-    long SearchRightBound(T* target, long targetLength, DNALength targetOffset, 
-            T queryChar, long l, long r) {
-        long rl, rr;
-        rl = l;
-        rr = r;
-        long m;
-        long targetSufLen;
-        while (rl < rr) {
-            m = (rl + rr) / 2;
-            targetSufLen = targetLength - index[m];
-            if (targetSufLen == targetOffset) { 
-                rr = m;
-                break; 
-            }
-            if (targetSufLen < targetOffset) {
-                rr = m ;
-            }
-            else {
-                /*
-                 * Do not try and map stretches of N. These do not add
-                 * infomrative anchors.
-                 */
-                /*
-                   if (ThreeBit[target[index[m]+targetOffset]] >= 4 or
-                   ThreeBit[queryChar] >= 4) {
-                   rl = rr;
-                   break;
-                   }
-                   */
-                int comp = Compare::Compare(target[index[m] + targetOffset], queryChar);
-                if (comp <= 0) {
-                    rl = m + 1;
-                }
-                else {
-                    rr = m ;
-                }
-            }
-        }
-        return rr;
-    }
-
-    /*
-     * Search the suffix array for the bounds l and r that specify the
-     * indices in the suffix array that have the longest common prefix
-     * between the read and the genome.
-     */
-
-    int SearchLCPBounds(T*target, long targetLength, T*query, DNALength queryLength, SAIndex &l, SAIndex &r, DNALength &refOffset, DNALength &queryOffset) {
-        //	 l = 0; r = targetLength;
-        for (; refOffset < targetLength and  queryOffset < queryLength and l < r; queryOffset++, refOffset++) {
-            std::cout << "bounds: " << l << ", " << r << std::endl;
-            //
-            // Band l by the character at query[offset]
-            //
-
-            l = SearchLeftBound(target, targetLength, refOffset, query[queryOffset], l, r);
-
-            //
-            // If the current search is past the end of the suffix array, it
-            // will be impossible to extend.
-            //
-            if (index[l] + refOffset >= targetLength or 
-                    Compare::Compare(target[index[l] + refOffset], query[queryOffset]) != 0) {
-                break;
-            }
-
-            r = SearchRightBound(target, targetLength, refOffset, query[queryOffset], l, r);
-            if (Compare::Compare(query[queryOffset], target[index[l]+refOffset]) != 0 or
-                    Compare::Compare(query[queryOffset], target[index[r]+refOffset]) != 0) {
-                break;
-            }
-        }
-        return refOffset;
-    }
-
-
-    int StoreLCPBounds(T *target, long targetLength,
-            T *query,  long queryLength,
-            SAIndex &low, SAIndex &high) {
-
-        DNALength targetOffset = 0;
-        DNALength queryOffset  = 0;
-
-        DNALength lcpLength = 0;
-        low = 0; high = targetLength;
-        for (; index[low] + targetOffset < targetLength and
-                targetOffset < targetLength  and 
-                queryOffset < queryLength and 
-                low < high ;
-                targetOffset++, queryOffset++, lcpLength++) {
-            //
-            // Band l by the character at query[offset]
-            //
-
-            low = SearchLeftBound(target, targetLength, targetOffset, query[queryOffset], low, high);
-
-            //
-            // If the current search is past the end of the suffix array, it
-            // will be impossible to extend.
-            //
-            if (index[low] + targetOffset > targetLength or 
-                    Compare::Compare(target[index[low] + targetOffset], query[queryOffset]) != 0 or
-                    ThreeBit[query[queryOffset]] > 3) {
-                break;
-            }
-
-            high = SearchRightBound(target, targetLength, targetOffset, query[queryOffset], low, high);
-
-        }
-        return lcpLength;
-
-    }
-
-    int CountNumBranches(T* target, DNALength targetLength, DNALength targetOffset, SAIndex low, SAIndex high) {
-        //
-        // look to see how many different characters start suffices between
-        // low and high at targetOffset
-        //
-
-        // Check some easy boundary conditions.
-        //
-
-        // 1. No branches (indices do not define any subset of the suffix
-        // array). 
-        if (high <= low) {
-            return 0;
-        }
-        // 2. One branch, 
-        if (target[index[low] + targetOffset ] == target[index[high-1] + targetOffset]) {
-            return 1;
-        }
-        int numBranches = 1;
-        // More than one branch.
-        while ( low < high ) {
-            //
-            // Find the band where the suffices share the same chatacter
-            // 'targetOffset' bases into the suffix as the first suffix in
-            // the band given to this function.
-            //
-            SAIndex curCharHigh = high;
-            curCharHigh = SearchRightBound(target, targetLength, targetOffset, target[index[low]+targetOffset], low, high);
-            if (curCharHigh != high) {
-                ++numBranches;
-            }
-            low = curCharHigh;
-        }
-        return numBranches;
-    }
-
-
-    int StoreLCPBounds(T *target, long targetLength, // The string which the suffix array is built on.
-            T *query, DNALength queryLength, // The query string. search starts at pos 0 in this string
-            bool useLookupTable,  // Should the indices of the first k bases be determined by a lookup table?
-            int  maxMatchLength,  // Stop extending match at lcp length = maxMatchLength,
-            // Vectors containing lcpLeft and lcpRight from 0 ... lcpLength.
-            std::vector<SAIndex> &lcpLeftBounds, std::vector<SAIndex> &lcpRightBounds,
-            bool stopOnceUnique=false) {
-
-        //
-        // Precondition: target[l][0] >= query[offset]
-        //
-        long l, r;
-
-        l = 0; r = targetLength;
-        DNALength lcpLength = 0;
-        Tuple lookupTuple;
-        lookupTuple.tuple = -1;
-
-        /*
-         * Various parameters may make the search through the SA not use
-         * the full binary search. If priorLCP is > 0, the search for an
-         * LCP is limited to lcpLeftBounds[priorLCP] and lcpRightBounds[priorLCP].
-         * This is the case when continuing a search using branched
-         * re-uses previous lcp searches.
-         */
-
-        if (useLookupTable and 
-                startPosTable != NULL) {
-            // just in case this was changed.
-            if (lookupTuple.FromStringLR(query, tm)) {
-                l  = startPosTable[lookupTuple.tuple];
-                r  = endPosTable[lookupTuple.tuple];
-                lcpLength = lookupPrefixLength;
-            }
-            else {
-                //
-                // Not able to find a match for this sequence, so do not
-                // register a hit.
-                //
-                l = 0;
-                r = 0;
-                lcpLength = 0;
-                return 0;
-            }
-            //
-            // the values of startPosTable and endPosTable are the same when
-            // there are no matches.  When they are not equal, a valid range
-            // has been found, so store this.
-            //
-            if (l < r) {
-                VectorIndex off_i;
-                VectorIndex boundLength = lcpLeftBounds.size();
-                lcpLeftBounds.push_back(l);
-                lcpRightBounds.push_back(r);
-            }
-            else {
-                //
-                // No exact match found in the lookup table, do not bother
-                // searching, and return 0 lcp length.
-                //
-                return 0;
-            }
-        }
-
-        //
-        // Search the suffix array for the longest common prefix between
-        // the read and the genome.
-        //
-        while( l < r and  
-                lcpLength < queryLength // stop searching when the end of
-                // the query is reached.
-             ) {
-
-            //
-            // If there is only one match in the suffix array, and and not
-            // extending matches as far as possible (stopping the search once
-            // they are unique), halt the search.
-            if (stopOnceUnique and l == r - 1) {
-                break;
-            }
-
-            //
-            // If there is a maximal match length and it is reached, stop
-            // searchign as well.
-            //
-            if (maxMatchLength and lcpLength >= maxMatchLength) {
-                break;
-            }
-
-            //
-            // If the match extends into one or more N's, stop.  The reason
-            // for this is that sometimes people will set up genome databases
-            // by appending a stretch of N's between matches (although they
-            // should just use a multi-fasta file).  Since the reads also
-            // have stretches of N's, this tends to slow the search down
-            // dramatically. 
-            if (ThreeBit[target[index[l] + lcpLength]] >= 4) {
-                break;
-            }
-
-            //
-            // Find the bounds in the suffix array matching query[0... lcp]
-            // and target.
-            //
-
-            l = SearchLeftBound(target, targetLength, lcpLength, query[lcpLength], l, r);
-            r = SearchRightBound(target, targetLength, lcpLength, query[lcpLength], l, r);
-
-
-            //
-            // If the current search is past the end of the suffix array, it
-            // will be impossible to extend.
-            //
-            if (l == r or // if this point is reached, stop loop now since
-                    // otherwise the lcp length will be incremented by
-                    // 1, which will give one longer than the actual
-                    // LCP length.
-                    index[l] + lcpLength >= targetLength or  // This shouldn't
-                    // happen
-                    // End on a mismatch.
-                    ThreeBit[query[lcpLength]] >= 4 or 
-                    Compare::Compare(target[index[l] + lcpLength], query[lcpLength]) != 0
-
-               ) {
-                break;
-            }
-
-
-
-            //
-            // Store the bounds for the current offset.  These are used later
-            // to expand the search if necessary.
-            //
-            lcpLeftBounds.push_back(l);
-            lcpRightBounds.push_back(r);
-            lcpLength++;
-
-
-        }
-        return lcpLength;
-    }
-
-
-    int SearchLow(T *target, T *query, DNALength queryLength, SAIndex l, SAIndex r, SAIndex &low, unsigned int offset=0) {
-
-        long midPos;
-        int high;
-        int numSteps = 0;
-        // 
-        // Boundary conditions, the string is either before (lexicographically) the text
-        // or after.
-        //
-        if (StringLessThanEqual(&query[offset], 
-                    queryLength-offset, 
-                    &target[index[l]+offset], 
-                    length - index[l]-offset)) {
-            low = l;
-            return low;
-        }
-        else if (StringLessThan(&target[index[r]+offset], 
-                    length - index[r] - offset , 
-                    &query[offset], 
-                    queryLength  - offset)) {
-            low = length;
-            return low;
-        }
-
-        //
-        // The string fits somewhere in the text.
-        //
-        low = l;
-        high = r;
-        long diff = ((long) high) - ((long) low);
-        while (diff > 1) {
-            ++numSteps;
-            midPos = ((long) high) + ((long) low);
-            midPos = midPos / 2;
-            if (StringLessThanEqual(&query[offset], queryLength-offset, &target[index[midPos]+offset], length - index[midPos]-offset)) {
-                high = midPos;
-            }
-            else {
-                low = midPos;
-            }
-            diff = ((long) high) - ((long) low);
-        }
-
-        //
-        // The search is for the least position such that the query is greater than or equal to the text.
-        // High tracks the positions that may be equal to the query, and low is strictly less than the query. 
-        // At the end of the search, high is either pointing to the query, or the first element where the query
-        // could be placed before high without changing the order of target.
-        //
-        low = high;
-        diff = ((long) high) - ((long) low);
-        return low;
-        //		cout << "search low took: " << numSteps << endl;
-    }
-
-
-    int SearchHigh(T *target, T *query, DNALength queryLength, SAIndex l, SAIndex r,  SAIndex &high, unsigned int offset=0) {
-
-        //
-        // Find the last position where the query is less than the target.
-        //
-        long midPos;
-        int low;
-        int numSteps = 0;
-        // 
-        // Boundary conditions, the string is either before (lexicographically) the text
-        // or after.
-        //
-        if (StringLessThan(&target[index[r]+offset], length - index[r] - offset, &query[offset], queryLength-offset)) {
-            high = -1;
-            return high;
-        }
-
-        //
-        // The string fits somewhere in the text.
-        //
-        low = l;
-        high = r;
-        long diff = ((long) high) - ((long) low);
-        while (diff > 1) {
-            ++numSteps;
-            midPos = ((long) high) + ((long) low);
-            midPos = midPos / 2;
-            if (StringLessThan(&query[offset], queryLength - offset, &target[index[midPos]+offset], length - index[midPos] - offset)) {
-                high = midPos;
-            }
-            else {
-                low = midPos;
-            }
-            diff = ((long) high) - ((long) low);
-        }
-
-        //
-        // The search is for the last position where the query is less than or equal to the text.  High is 
-        // strictly greater than or the query.  Low is less than or equal to the query.  At the end, low will be 
-        // the last spot where query could be inserted after and not wreck the ordering of the array.
-        //
-        high = low;
-        //		cout << "search high took: " << numSteps << " steps." << endl;
-    }
-};
-
-
-
-#endif // _BLASR_SUFFIX_ARRAY_HPP_
diff --git a/libcpp/alignment/suffixarray/SuffixArrayTypes.hpp b/libcpp/alignment/suffixarray/SuffixArrayTypes.hpp
deleted file mode 100644
index a9047dc..0000000
--- a/libcpp/alignment/suffixarray/SuffixArrayTypes.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef _BLASR_SUFFIX_ARRAY_TYPES_HPP_
-#define _BLASR_SUFFIX_ARRAY_TYPES_HPP_
-
-#include <vector>
-#include "SuffixArray.hpp"
-#include "SharedSuffixArray.hpp"
-
-#include "CompressedSequence.hpp"
-#include "Compare4BitCompressed.hpp"
-#include "FASTASequence.hpp"
-
-typedef SuffixArray<Nucleotide, std::vector<int> > DNASuffixArray;
-typedef SuffixArray<Nucleotide, std::vector<int>, 
-	                  Compare4BitCompressed<Nucleotide>,
-	                  CompressedDNATuple<FASTASequence> >       CompressedDNASuffixArray;
-
-#endif // _BLASR_SUFFIX_ARRAY_TYPES_HPP_
diff --git a/libcpp/alignment/suffixarray/ssort.hpp b/libcpp/alignment/suffixarray/ssort.hpp
deleted file mode 100644
index 0a6f9b8..0000000
--- a/libcpp/alignment/suffixarray/ssort.hpp
+++ /dev/null
@@ -1,449 +0,0 @@
-/****************************************************************
-Copyright (C) Lucent Technologies 1997
-All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and
-its documentation for any purpose and without fee is hereby
-granted, provided that the above copyright notice appear in all
-copies and that both that the copyright notice and this
-permission notice and warranty disclaimer appear in supporting
-documentation, and that the name Lucent Technologies or any of
-its entities not be used in advertising or publicity pertaining
-to distribution of the software without specific, written prior
-permission.
-
-LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
-IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY
-SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
-IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
-THIS SOFTWARE.
-****************************************************************/
-/*
-	Suffix sort
-	Peter M. McIlroy
-	M. Douglas McIlroy
-
-Prototype
-	int ssort(int a[], int s[]);
-
-Purpose
-	Return in a[] a suffix array for the original
-	contents of a[].  (The original values in a[]
-	are typically serial numbers of distinct tokens
-	in some list.)  Optionally return in s[] an
-	array of shared lengths between adjacent sorted
-	suffixes.
-
-Precondition
-	Array a[] holds n values, with n>=1.  Exactly k 
-	distinct values, in the range 0..k-1, are present.
-	Value 0, an endmark, appears exactly once, at a[n-1].
-	Pointer s is 0 or points to an array of n elements.
-
-Postcondition
-	Array a[] is a copy of the internal array p[]
-	that records the sorting permutation: if i<j
-	then the original suffix a[p[i]..n-1] is
-	lexicographically less than a[p[j]..n-1].
-
-	If s is nonzero, its elements are filled in with
-	"shared lengths": s[i] is the length of the agreeing
-	prefixes of a[p[i-1]..n-1] and a[p[i]..n-1].
-	s[0] is 0.
-
-Return value
-	0 success
-	1 out of space; data unchanged
-	2 bad data; data may be changed
-
-Cost
-	Sorting takes time O(n log m), where m is the longest
-	duplicate (possibly overlapped) substring, and uses n words
-	of temporary memory.  There are at most log n passes,
-	each involving essentially 5 serial and 6 random
-	traversals of size-n arrays (a[] and p[]).  Shared
-	lengths cost an extra n words of temporary memory;
-	for time cost see comment with function shared() below.
-
-	A tradeoff desribed after step (3) below saves
-	about 20% in time at the cost of another n words.
-
-Terminology
-	"The h-gram at a[i]" is the string a[i], a[i+1], ...,
-	a[i+h-1], with subscripts taken mod n, except that
-	when h=0 the "0-gram" at a[i] is a[i].  (More succinctly,
-	the h-gram at a[i] is a[i], ..., a[i+max(h,1)-1].)
-	"The h-successor of the h-gram at a[i]" is the h-gram
-	at a[i+h].  
-	
-Method
-	Order 2h-grams by doing steps (1)-(5) below
-	for h = 0, 1, 2, 4, ...  Because of the unique endmark,
-	ordering n-grams (or longer grams) is exactly the same as 
-	ordering the suffixes of a[].
-
-	This is a fillip on radix sort.  The i-th stage of a
-	traditional radix sort distributes on the i-th "character"
-	counting from the right of the keys, thus arranging the keys
-	so that their i-character suffixes are in lexicographic order.
-	Here, instead, we distribute on h-gram prefixes of 2h-grams,
-	where h = 2^i, thus arranging 2h-grams in order.  Each 
-	h-gram is coded into one element of a[].
-	This is possible within a constant word width because
-	there are only n h-grams for any h.  With 2^i-grams being
-	placed in order at stage i, and each stage taking time O(n),
-	sorting is complete after log n stages for a total
-	time of O(n log n).
-
-	The method for shared lengths is given with the
-	shared-length code far below.
-
-History
-	The general radix-sorting notion is due to Manber and
-	Myers, SODA '91, who used a big-endian radix sort.  They
-	also made the observation that by cleverly multiplexing
-	uses of the two arrays, one can get by with O(1) extra
-	space beyond arrays a[] and p[].  The circular-array idea,
-	which greatly simplifies the program, is due to P. McIlroy.
-	Steps (1) and (2) below are based on M&M's method for
-	the first cycle (h=0); they do something entirely different
-	for the h-gram doubling cycles and develop in a[] the
-	inverse of permutation p[].  
-
-	The state of the art has improved since this code was
-	written.  A variant developed independently by (at least)
-	Larssen at Lund, Sadakane at Tokyo and Quinlan at Bell Labs
-	is several times as fast; see Larssen and Sadakane 
-	LU-CS-TR:99-214, Dept. of CS, Lund Univ. Sweden.
-
-Data used in the sort
-	a[]   array of h-gram codes.
-	al[]  linked-list area, overlaid on a[].
-	p[]   permutation.
-	pl[]  list heads, overlaid on p[].
-	s[]   array of shared lengths (optional).
-	q[]   tree of bucket refinements, for calculating s[].
-	ORIG  mark at the end of lists, originally on p[].
-	BUCK  mark at start of "buckets", stretches of p[]
-	      that point to identical codes in a[].
-
-	Were the overlaid arrays pulled apart, the algorithm would
-	simplify only slightly, mainly by dropping the inner loop from
-	steps (1) and (2).
-
-Description of steps, except for optional shared lengths
-
-(0)	(0a) Initialize p[] to contain the identity permutation.
-	(0b) Place mark ORIG on every element of p[].
-
-State before step 1
-	Each element a[i] encodes the h-gram at a[i].
-	The h-grams are coded 0,..,k-1 in increasing
-	lexicographic order.  When h>0, permutation p[] 
-	lists h-grams in lexicographic order: if i<j then
-	a[p[i]] <= a[p[j]].  When h=0, p[] contains
-	the input order 0,..,n-1.
-
-(1)	Construct in al[] linked lists of like-valued
-	codes in a[] ordered in reverse of the order
-	of their h-successors as given by p[].
-	(Done by iterating over elements of a[] in p[]-order
-	and operating on their h-predecessors.)
-
-	Place in pl[j] the head of the list of elements with
-	value j.  Thus, if a[7]=a[3]=a[9]=2, and these
-	elements were visited in this order according to p[],
-	then pl[2]=9, al[9]=3, al[3]=7.  The list is developed
-	by pushing previous contents of pl[j] onto the list.
-	In particular the original content of pl[j] (which
-	was p[j]) gets pushed to the end of the list (al[7]
-	in the example), still bearing the mark ORIG.  The mark
-	serves both to note the end of the list and to flag the
-	fact that this element contains a quantity of a different
-	kind.
-
-	During step (1), a[] contains three kinds of data:
-	unprocessed elements of a[], list links of al[]
-	and list ends, marked ORIG, that contain original
-	data from p[].  p[] contains two kinds of data:
-	elements of p[], marked ORIG, and elements of pl[].
-
-	The elements of p[] that have been displaced by pl[] 
-	are retrieved by chasing the lists; this is done by
-	a for loop.  Each list will be chased at most once in
-	step (1) and once in step (2) and the total size of
-	all lists will never exceed n, so the overhead of list
-	chasing is at most linear in n.
-
-State before step (2)
-	Array a[] has been wiped out and replaced by
-	the lists of al[], which together with pl[] give
-	exactly the same information.  The first k elements
-	of p[] are occupied by pl[] and the remaining elements
-	are occupied by ORIG-marked elements of p[].
-
-(2)	Make p[] point to the (former) elements of a[]
-	in order of increasing value.  This is done in reverse:
-	biggest values first, and for each value running out the
-	list created in (1), which is already in reverse order.
-	New values fill in the size-n array p[] from the top,
-	while the size-k array pl[] of list heads shrinks
-	toward the bottom.  Because no list is empty, the 
-	two uses of p[] cannot collide.
-
-	Place mark BUCK at each bucket start, namely the
-	element of p[] last transferred from each list.
-
-State before step 3
-	Permutation p[] lists h-grams in lexicographic order.
-	It is bucketed by h-grams.  Within each bucket h-grams
-	are ordered by their h-successors.
-
-(3)	Reconstruct codes in a[] from the buckets.  The
-	element of a[] pointed to from the first bucket is 0;
-	the elements pointed to from the second bucket are 1;
-	and so on.
-
-	This step would be unnecessary if al[] did not share
-	storage with a[].  Then steps (2) and (4) could
-	be combined.
-
-State before step 4
-	Permutation p[] is as before step 3, and code array
-	a[] is as before step 1.
-
-(4)	Refine buckets by values of h-successors in a[] by
-	placing a BUCK mark on each p[i] where the h-successors
-	of a[p[i]] and a[p[i-1]] differ.
-
-State before step 5
-	Array p[] holds an ordered, bucketed list of 2h-grams.
-
-(5)	Recode a[] according to the new buckets, exactly as
-	a[] was reconstructed in step (3).  Count the
-	buckets to determine a new value of k.  If k==n, every
-	bucket is a singleton and sorting is complete.
-
-
-Bad input
-	Code that invokes finish() is solely defensive.  It
-	could be dropped if you like to live dangerously.
-*/
-
-#include <stdlib.h>
-
-enum {
-	ORIG = ~(~0u>>1),			/* sign bit */
-	BUCK = ~(~0u>>1)
-};
-
-void shared(SAIndex a[], SAIndex n, SAIndex p[], SAIndex q[], SAIndex s[], int h);
-
-#define pred(i, h) ((t=(i)-(h))<0?  t+n: t)
-#define succ(i, h) ((t=(i)+(h))>=n? t-n: t)
-
-inline int
-ssort(SAIndex a[], SAIndex s[]) 
-{
-    SAIndex h, i, j, l, n, t;
-    SAIndex k = 0;				/* initialized for lint */
-    SAIndex *p = 0;
-    int result = 0;
-    SAIndex *q = 0;
-#	define al a
-#	define pl p
-#	define finish(r)  if(1){result=r; goto out;}else
-
-    for(j=n=0; a[n]>0; n++)			/* find n */
-        if(a[n] > j)
-            j = a[n];		/* and max element */
-    if(a[n++]<0 || j>=n)
-        finish(2);
-    //	p = malloc(n*sizeof(int));
-    p = new SAIndex[n];
-    if(p == 0)
-        finish(1);
-
-    for(i=0; i<n; i++)			/* (0) initialize */
-        p[i] = i | ORIG;
-
-    if(s) {					/* shared lengths */
-        //		q = malloc(n*sizeof(int));
-        q = new SAIndex[n];
-        if(q == 0)
-            finish(1);
-    }
-
-    for(h = 0; ; h = h==0? 1: 2*h) {
-        for(i=0; i<n; i++) {		/* (1) link */
-            for(j=p[i]; !(j&ORIG); j=al[j]);
-            j = pred(j&~ORIG, h);
-            l = a[j];
-            al[j] = pl[l];
-            pl[l] = j;
-        }
-
-        if(h == 0) {			/* find k */
-            for(k=0; k<n; k++)
-                if(pl[k]&ORIG)
-                    break;
-
-            for(i=k; i<n; i++)	/* check input */
-                if(!(pl[i]&ORIG))
-                    finish(2);
-        }
-
-        for(i=n; --k>=0; ) {		/* (2) order */
-            j = pl[k];
-            do
-                p[--i] = j;
-            while(!((j=al[j]) & ORIG));
-            p[i] |= BUCK;
-        }
-
-        for(i=0; i<n; i++) {		/* (3) reconstruct */
-            if(p[i] & BUCK)
-                k++;
-            a[p[i]&~BUCK] = k;
-        }
-
-        for(i=0, j=-1; i<n; i++, j=l) {	/* (4) refine */
-            l = a[succ(p[i]&~BUCK, h)];
-            if(l != j)
-                p[i] |= BUCK;
-
-        }
-        if(s)
-            shared(a, n, p, q, s, h);
-
-        for(i=0, k=-1; i<n; i++) {	/* (5) recode */
-            if(p[i] & BUCK)
-                k++;
-            a[p[i]&~BUCK] = k;
-            p[i] |= ORIG;		/* (0b) reinitialize */
-        }
-        if(++k >= n)
-            break;
-    }
-
-    for(i=0; i<n; i++)
-        a[i] = p[i] & ~ORIG;
-
-out:
-    delete [] p;
-    delete [] q;
-    return result;
-}
-
-/* shareda.c: shared lengths for suffix arrays by ancestor tree
-
-	a[] temporary space, used for pointers to containing buckets
-	n, p[], s[], h as in ssort()
-	q[] tree of bucket heads
-
-	Array q holds a tree of bucket heads.  Initially q[0]
-	is 0 and q[i] = -1 for i>0.  For each new bucket i
-	created in the current pass, q[i] is (notionally)
-	made to point to the previous bucket, j.  The shared
-	length between the i-1st and i-th smallest suffix
-	is stored in s[i].  The shared length between two
-	arbitrary buckets is the minimum of the stored
-	shared lengths on the paths to their nearest common
-	ancestor (excluding that ancestor).
-
-	For efficient search, paths are compressed by making
-	each bucket point to the next bucket on the path to
-	the root with a strictly smaller stored shared length.  
-	This may change the identity of the nearest common
-	ancestor, but does not affect shared lengths.
-
-Cost
-	There are 3 serial passes and 1 random pass over
-	size-n arrays per call, plus the inner loops of steps
-	(2) and (3), each of which is executed n times fpr
-	each call of ssort().  The asymptotic worst case has
-	not been analyzed, however the code has always been
-	seen to be at least as fast as a guaranteed O(n log n)
-	method that takes twice as much code.  (That method
-	keeps in element i of an integer array the minimum
-	value of s[] over the largest aligned power-of-2
-	interval beginning at i.)
-
-(0)	On the first pass, with h=0, the shared length between
-	buckets is zero, and every bucket bcomes a child of the
-	root node, 0.
-
-(1)	On subsequent passes the old bucket that each potential
-	new bucket refines is remembered in a[].  Array a[]
-	is ordered by substring places, while q[] is ordered
-	by substring values.
-
-	If the values placed in a[] were kept in another array,
-	the loops of shared() could be combined with loops of
-	lssort().
-
-(2)	When an h-gram bucket is split, the shared lengths between 
-	adjacent subbuckets is h+u, where u is the shared length
-	between the h-successors that differed (causing the split).
-	To find u, we locate the nearest common ancestor.
-
-	The common ancestor is found by searching the path from
-	the higher-numbered bucket, k1, until reaching a bucket
-	whose number does not exceed that of the lower-numbered
-	bucket, k0.  This method is justified by two observations.
-	All the new subbuckets have strictly longer shared lengths
-	than all the old buckets.  All the subbuckets of a
-	bucket fall between the bucket head and its next higher
-	numbered sibling.
-
-(3)	After new buckets have been processed, the tree q is
-	updated.  New buckets are recognized by having mark
-	BUCK and q[i]<0.
-*/
-
-inline void
-shared(SAIndex a[], SAIndex n, SAIndex p[], SAIndex q[], SAIndex s[], int h)
-{
-    SAIndex i, j, k0, k1, t, u;
-    if(h == 0) {			/* (0) initialize */
-        for(i=0; i<n; i++)
-            if(p[i]&BUCK)
-                q[i] = s[i] = 0;
-            else
-                q[i] = -1;
-        return;
-    }
-
-    for(i=j=0; i<n; i++) {		/* (1) get parents */
-        if(q[i] >= 0)
-            j = i;
-        a[p[i]&~BUCK] = j;
-    }
-
-    for(i=0; i<n; i++) {		/* (2) find lengths */
-        if(!(p[i]&BUCK))
-            continue;
-        k0 = j;			/* k0=garbage if i=0 */
-        k1 = j = a[succ(p[i]&~BUCK, h)];
-        if(q[i] >= 0)
-            continue;
-        for(u=n; k1>k0; k1=q[k1])
-            if(s[k1] < u)
-                u = s[k1];
-        s[i] = h + u;
-    }
-
-    for(i=0; i<n; i++)		/* (3) update tree */
-        if(p[i]&BUCK) {
-            if(q[i] < 0)
-                for(t=j; ;t=q[t]) {
-                    q[i] = t;
-                    if(s[i] > s[t])
-                        break;
-                }
-            j = i;
-        }
-}
diff --git a/libcpp/alignment/tuples/BaseTuple.cpp b/libcpp/alignment/tuples/BaseTuple.cpp
deleted file mode 100644
index fefbab7..0000000
--- a/libcpp/alignment/tuples/BaseTuple.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-#include <stdint.h>
-#include "Types.h"
-#include "TupleMask.h"
-#include "TupleMetrics.hpp"
-#include "BaseTuple.hpp"
-
-ULong BaseTuple::HashPowerOfFour(int nBases, TupleMetrics &tm) {
-    //
-    // When the hash can fit inside the entire tuple, just return the
-    // tuple.
-    //
-    if (tm.tupleSize > nBases) {
-        return tuple;
-    }
-    else {
-        return ((tuple & TupleMask[nBases]) + (tuple % 1063)) % (1 << (nBases*2));
-    }
-}
-
-int BaseTuple::operator<(const BaseTuple &rhs) const {
-    return tuple < rhs.tuple;
-}
-
-int BaseTuple::operator==(const BaseTuple &rhs) const {
-    return tuple == rhs.tuple;
-}
-
-int BaseTuple::operator!= (const BaseTuple &rhs) const {
-    return tuple != rhs.tuple;
-}
-
-BaseTuple BaseTuple::ShiftLeft(TupleMetrics &tm, ULong shift) {
-    tuple = tuple << shift;
-    tuple = tuple & tm.tupleMask;
-    return *this;
-}
-
-BaseTuple BaseTuple::ShiftRight(ULong shift) {
-    tuple = tuple >> shift;
-    return *this;
-}
-
-BaseTuple BaseTuple::Append(ULong val, TupleMetrics &tm, ULong nBits) {
-    tuple = tuple << nBits;
-    tuple = tuple & tm.tupleMask;
-    tuple = tuple + val;
-    return *this;
-}
-
-long BaseTuple::ToLongIndex() {
-    long tempTuple = tuple;
-    return tempTuple;
-}
diff --git a/libcpp/alignment/tuples/BaseTuple.hpp b/libcpp/alignment/tuples/BaseTuple.hpp
deleted file mode 100644
index 0a6a9ea..0000000
--- a/libcpp/alignment/tuples/BaseTuple.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef _BLASR_BASE_TUPLE_HPP_
-#define _BLASR_BASE_TUPLE_HPP_
-
-#include "tuples/TupleMetrics.hpp"
-
-class BaseTuple {
-public:
-    ULong  tuple;
-
-    ULong  HashPowerOfFour(int nBases, TupleMetrics &tm);
-
-    int operator<(const BaseTuple &rhs) const; 
-
-    int operator==(const BaseTuple &rhs) const; 
-
-    int operator!= (const BaseTuple &rhs) const;
-
-    BaseTuple ShiftLeft(TupleMetrics &tm, ULong shift=1L); 
-
-    BaseTuple ShiftRight(ULong shift=1L); 
-
-    BaseTuple Append(ULong val, TupleMetrics &tm, ULong nBits); 
-
-    long ToLongIndex(); 
-};
-
-#endif
diff --git a/libcpp/alignment/tuples/CompressedDNATuple.hpp b/libcpp/alignment/tuples/CompressedDNATuple.hpp
deleted file mode 100644
index c60a838..0000000
--- a/libcpp/alignment/tuples/CompressedDNATuple.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef _BLASR_COMPRESSED_DNA_TUPLE_HPP_
-#define _BLASR_COMPRESSED_DNA_TUPLE_HPP_
-
-#include "DNATuple.hpp"
-#include "CompressedSequence.hpp"
-
-template<typename T_Sequence>
-class CompressedDNATuple : public DNATuple {
-    static const unsigned char mask = 0xf;
-    public:
-    int FromStringLR(Nucleotide *strPtr, TupleMetrics &tm) {
-        //
-        // Make sure the sequence contains all valid characters.
-        //
-
-        if (!CompressedSequence<T_Sequence>::Only4BitACTG(strPtr, tm.tupleSize)) 
-            return 0;
-
-        if (tm.tupleSize == 0)
-            return 1;
-
-        tuple = 0;
-        Nucleotide *p;
-        Nucleotide *endPtr = &strPtr[tm.tupleSize - 1];
-        for (p = strPtr; p != endPtr; p++) {
-            tuple += TwoBit[*p & mask];
-            tuple <<=2;
-        }
-        //
-        // The tuple size is guaranteed to be at least 
-        // 1, so it's safe to add the last value.
-        // This cannot be in the previous loop since
-        // the shift shouldn't happen.
-        tuple += TwoBit[*p & mask];
-        return 1;
-    }
-
-
-    int FromStringRL(Nucleotide *strPtr, TupleMetrics &tm) {
-
-        if (!CompressedSequence<T_Sequence>::Only4BitACTG((CompressedNucleotide*)strPtr, tm.tupleSize))
-            return 0;
-
-        if (tm.tupleSize == 0)
-            return 1;
-
-        tuple = 0;
-        Nucleotide *p;
-        for (p = strPtr + tm.tupleSize - 1; p > strPtr; p--) {
-            tuple += TwoBit[*p & mask];
-            tuple <<=2;
-        }
-        //
-        // The tuple size is guaranteed to be at least 
-        // 1, so it's safe to add the last value.
-        // This cannot be in the previous loop since
-        // the shift shouldn't happen.
-        tuple += TwoBit[*p & mask];
-        return 1;
-    }
-};
-
-#endif // _BLASR_COMPRESSED_DNA_TUPLE_HPP_
diff --git a/libcpp/alignment/tuples/CountedTuple.h b/libcpp/alignment/tuples/CountedTuple.h
deleted file mode 100644
index acb997e..0000000
--- a/libcpp/alignment/tuples/CountedTuple.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef COUNTED_TUPLE_H_
-#define COUNTED_TUPLE_H_
-
-#include "tuples/DNATuple.h"
-
-class CountedDNATuple : public DNATuple {
- public:
-	int count;
-	int IncrementCount() {
-		count = count + 1;
-	}
-	
-};
-
-
-#endif
diff --git a/libcpp/alignment/tuples/DNATuple.cpp b/libcpp/alignment/tuples/DNATuple.cpp
deleted file mode 100644
index cf779dd..0000000
--- a/libcpp/alignment/tuples/DNATuple.cpp
+++ /dev/null
@@ -1,94 +0,0 @@
-#include "tuples/DNATuple.hpp"
-
-
-int DNATuple::FromStringRL(Nucleotide *strPtr, TupleMetrics &tm) {
-
-    //
-    // Tuples are created with the right-most character
-    // in the most significant bit in the sequence.
-    //
-    DNASequence tmpSeq;
-    tmpSeq.seq = strPtr;
-    tmpSeq.length = tm.tupleSize;
-    if (!OnlyACTG(tmpSeq))
-        return 0;
-
-    if (tm.tupleSize == 0)
-        return 1;
-
-    tuple = 0;
-    Nucleotide *p;
-    for (p = strPtr + tm.tupleSize - 1; p > strPtr; p--) {
-        tuple += TwoBit[*p];
-        tuple <<=2;
-    }
-    //
-    // The tuple size is guaranteed to be at least 
-    // 1, so it's safe to add the last value.
-    // This cannot be in the previous loop since
-    // the shift shouldn't happen.
-    tuple += TwoBit[*p];
-    return 1;
-}
-
-
-int DNATuple::MakeRC(DNATuple &dest, TupleMetrics &tm) {
-    int i;
-    ULong tempTuple = tuple;
-    dest.tuple = 0;
-    ULong mask = 0x3;
-    if (tm.tupleSize == 0)
-        return 0;
-    for (i = 0; i < tm.tupleSize - 1; i++ ) {
-        dest.tuple += (~tempTuple & mask);
-        tempTuple >>= 2;
-        dest.tuple <<= 2;
-    }
-    dest.tuple += (~tempTuple & mask);
-    return 1;
-}
-
-std::string DNATuple::ToString(TupleMetrics &tm) {
-    int i;
-    std::string s;
-    ULong tempTuple = tuple;
-    for (i = 0;i < tm.tupleSize;i++) {
-        s.insert(s.begin(), TwoBitToAscii[tempTuple & 3]);
-        tempTuple = tempTuple >> 2;
-    }
-    return s;
-}
-
-bool 
-CompareByTuple::operator()(const DNATuple &lhs, const DNATuple &rhs) 
-const {
-    return lhs.tuple < rhs.tuple;
-}
-
-int PositionDNATuple::operator==(const DNATuple &pTuple) const {
-    return tuple == pTuple.tuple;
-}
-
-PositionDNATuple::PositionDNATuple() : DNATuple() {
-    pos = -1;
-}
-
-PositionDNATuple::PositionDNATuple(PositionDNATuple &tupleP, DNALength posP) {
-    tuple = tupleP.tuple;
-    pos   = posP;
-}
-
-
-int 
-OrderPositionDNATuplesByPosition::operator()(
-    const PositionDNATuple &lhs, const PositionDNATuple &rhs) 
-const {
-    return lhs.pos < rhs.pos;
-}
-
-int
-OrderPositionDNATuplesByTuple::operator()(
-    const PositionDNATuple &lhs, const PositionDNATuple &rhs) 
-const {
-    return lhs.tuple < rhs.tuple;
-}
diff --git a/libcpp/alignment/tuples/DNATuple.hpp b/libcpp/alignment/tuples/DNATuple.hpp
deleted file mode 100644
index 57a12ff..0000000
--- a/libcpp/alignment/tuples/DNATuple.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-#ifndef _BLASR_DNA_TUPLE_HPP_
-#define _BLASR_DNA_TUPLE_HPP_
-
-#include <cassert>
-#include <vector>
-#include <stdint.h>
-#include <ostream>
-#include <string>
-#include "Types.h"
-#include "SeqUtils.hpp"
-#include "DNASequence.hpp"
-#include "NucConversion.hpp"
-#include "tuples/BaseTuple.hpp"
-#include "tuples/TupleMetrics.hpp"
-#include "tuples/TupleList.hpp"
-#include "tuples/TupleOperations.h"
-
-class DNATuple : public BaseTuple {
-public:
-    DNALength pos;
-
-    inline int FromStringLR(Nucleotide *strPtr, TupleMetrics &tm);
-
-    int FromStringRL(Nucleotide *strPtr, TupleMetrics &tm); 
-
-    inline int ShiftAddRL(Nucleotide nuc, TupleMetrics &tm); 
-
-    int MakeRC(DNATuple &dest, TupleMetrics &tm); 
-
-    std::string ToString(TupleMetrics &tm); 
-};
-
-class CompareByTuple {
-public:
-    bool operator()(const DNATuple &lhs, const DNATuple &rhs) const; 
-};
-
-
-class CountedDNATuple : public DNATuple {
-public:
-    int count;
-};
-
-class PositionDNATuple : public DNATuple {
-public:
-    PositionDNATuple& operator=(const PositionDNATuple &rhs) {
-        pos = rhs.pos;
-        tuple = rhs.tuple;
-        return *this;
-    }
-
-    int operator<(const PositionDNATuple & pTuple) const {
-        if (tuple < pTuple.tuple) 
-            return 1;
-        else if (tuple == pTuple.tuple) 
-            return pos < pTuple.pos;
-        else 
-            return 0;
-    }
-
-    int operator==(const PositionDNATuple &pTuple) const {
-        return tuple == pTuple.tuple and pos == pTuple.pos;
-    }
-
-    int operator<(const DNATuple &pTuple) const {
-        return (tuple < pTuple.tuple);
-    }
-
-    int operator==(const DNATuple &pTuple) const; 
-
-    int operator!=(const DNATuple &pTuple) const {
-        return tuple != pTuple.tuple;
-    }
-
-    PositionDNATuple();
-
-    PositionDNATuple(PositionDNATuple &tupleP, DNALength posP); 
-
-};
-
-class OrderPositionDNATuplesByPosition {
-public:
-    int operator()(const PositionDNATuple &lhs, const PositionDNATuple &rhs) const; 
-};
-
-class OrderPositionDNATuplesByTuple {
-public:
-    int operator()(const PositionDNATuple &lhs, const PositionDNATuple &rhs) const; 
-};
-
-
-template<typename Sequence> 
-int SearchSequenceForTuple(Sequence &seq, TupleMetrics &tm, DNATuple &queryTuple); 
-
-template<typename Sequence>
-int SequenceToTupleList(Sequence &seq, TupleMetrics &tm, TupleList<DNATuple> &tupleList);
-
-template<typename Sequence>
-int SequenceToTupleList(Sequence &seq, TupleMetrics &tm, TupleList<PositionDNATuple> &tupleList); 
-
-#include "DNATupleImpl.hpp"
-
-#endif // _BLASR_DNA_TUPLE_HPP_
diff --git a/libcpp/alignment/tuples/DNATupleImpl.hpp b/libcpp/alignment/tuples/DNATupleImpl.hpp
deleted file mode 100644
index 4ba748e..0000000
--- a/libcpp/alignment/tuples/DNATupleImpl.hpp
+++ /dev/null
@@ -1,200 +0,0 @@
-#include <cassert>
-#include "NucConversion.hpp"
-
-inline int DNATuple::FromStringLR(Nucleotide *strPtr, TupleMetrics &tm) {
-    DNASequence tmpSeq;
-    tmpSeq.seq = strPtr;
-    tmpSeq.length = tm.tupleSize;
-    if (!OnlyACTG(tmpSeq))
-        return 0;
-
-    if (tm.tupleSize == 0)
-        return 1;
-
-    tuple = 0;
-    Nucleotide *p;
-    Nucleotide *endPtr = &strPtr[tm.tupleSize - 1];
-    for (p = strPtr; p != endPtr; p++) {
-        // If it is not possible to convert this string, return null.
-        if (ThreeBit[*p] > 3) {
-            return 0;
-        }
-        tuple += TwoBit[*p];
-        tuple <<=2;
-    }
-    //
-    // The tuple size is guaranteed to be at least 
-    // 1, so it's safe to add the last value.
-    // This cannot be in the previous loop since
-    // the shift shouldn't happen.
-    tuple += TwoBit[*p];
-    return 1;
-}
-
-
-inline int DNATuple::ShiftAddRL(Nucleotide nuc, TupleMetrics &tm) {
-    if (ThreeBit[nuc] > 3) {
-        return 0;
-    }
-    else {
-        tuple >>= 2;
-        tuple += (TwoBit[nuc] << ((tm.tupleSize-1)*2));
-        return 1;
-    }
-}
-
-
-template<typename Sequence> 
-int SearchSequenceForTuple(Sequence &seq, TupleMetrics &tm, DNATuple &queryTuple) {
-    DNALength p;
-    PositionDNATuple tempTuple, upperTuple;
-
-    p = 0;
-    DNALength cur = 0;
-    DNALength curValidEnd = 0;
-
-    //
-    // Construct the mask-off bit pair for the shifted tuple.
-    //
-    PositionDNATuple maskLeftTuple;
-    maskLeftTuple.tuple = 3;
-    maskLeftTuple.tuple = maskLeftTuple.tuple << 2*tm.tupleSize;
-    maskLeftTuple.tuple = ~maskLeftTuple.tuple;
-    PositionDNATuple testTuple;
-    while (curValidEnd < seq.length) {
-        //
-        // Search for the next available window that can be translated into a tuple.
-        //
-        cur = curValidEnd;
-        while(curValidEnd < seq.length and IsACTG[seq.seq[curValidEnd]]) {
-            curValidEnd++;
-        }
-        if (curValidEnd - cur >= tm.tupleSize) {
-            //
-            // Found a span that does not have N's in it, 
-            //
-            assert (tempTuple.FromStringRL(&(seq.seq[cur]), tm) == 1);
-            p = cur;
-            if (tempTuple.tuple == queryTuple.tuple) {
-                return 1;
-            }
-            for (p++; p < curValidEnd - tm.tupleSize + 1; p++) {
-                tempTuple.tuple >>=2;
-                //				tempTuple.tuple &= maskLeftTuple.tuple;
-                upperTuple.tuple = TwoBit[seq.seq[p+tm.tupleSize-1]];
-                upperTuple.tuple = upperTuple.tuple << (2 * (tm.tupleSize-1));
-                tempTuple.tuple += upperTuple.tuple;
-                if (tempTuple.tuple == queryTuple.tuple) {
-                    return 1;
-                }
-            }
-        }
-        else {
-            ++curValidEnd;
-        }
-    }
-}
-
-
-template<typename Sequence>
-int SequenceToTupleList(Sequence &seq, TupleMetrics &tm, TupleList<DNATuple> &tupleList) {
-    DNALength p;
-    PositionDNATuple tempTuple, upperTuple;
-
-    p = 0;
-    DNALength cur = 0;
-    DNALength curValidEnd = 0;
-
-    //
-    // Construct the mask-off bit pair for the shifted tuple.
-    //
-    PositionDNATuple maskLeftTuple;
-    maskLeftTuple.tuple = 3;
-    maskLeftTuple.tuple = maskLeftTuple.tuple << 2*tm.tupleSize;
-    maskLeftTuple.tuple = ~maskLeftTuple.tuple;
-    PositionDNATuple testTuple;
-    while (curValidEnd < seq.length) {
-        //
-        // Search for the next available window that can be translated into a tuple.
-        //
-        cur = curValidEnd;
-        while(curValidEnd < seq.length and IsACTG[seq.seq[curValidEnd]]) {
-            curValidEnd++;
-        }
-        if (curValidEnd - cur >= tm.tupleSize) {
-            //
-            // Found a span that does not have N's in it, 
-            //
-            assert (tempTuple.FromStringRL(&(seq.seq[cur]), tm) == 1);
-            p = cur;
-            tupleList.Append(tempTuple);
-            for (p++; p < curValidEnd - tm.tupleSize + 1; p++) {
-                tempTuple.tuple >>=2;
-                //				tempTuple.tuple &= maskLeftTuple.tuple;
-                upperTuple.tuple = TwoBit[seq.seq[p+tm.tupleSize-1]];
-                upperTuple.tuple = upperTuple.tuple << (2 * (tm.tupleSize-1));
-                tempTuple.tuple += upperTuple.tuple;
-                //testTuple.FromStringRL(&seq.seq[p], tm);
-                //assert(testTuple.tuple == tempTuple.tuple);
-                tupleList.Append(tempTuple);
-            }
-        }
-        else {
-            ++curValidEnd;
-        }
-    }
-    return tupleList.size();
-}
-
-
-template<typename Sequence>
-int SequenceToTupleList(Sequence &seq, TupleMetrics &tm, TupleList<PositionDNATuple> &tupleList) {
-    DNALength p;
-    PositionDNATuple tempTuple, upperTuple;
-
-    p = 0;
-    DNALength cur = 0;
-    DNALength curValidEnd = 0;
-
-    //
-    // Construct the mask-off bit pair for the shifted tuple.
-    //
-    PositionDNATuple maskLeftTuple;
-    maskLeftTuple.tuple = 3;
-    maskLeftTuple.tuple = maskLeftTuple.tuple << 2*tm.tupleSize;
-    maskLeftTuple.tuple = ~maskLeftTuple.tuple;
-    PositionDNATuple testTuple;
-    while (curValidEnd < seq.length) {
-        //
-        // Search for the next available window that can be translated into a tuple.
-        //
-        cur = curValidEnd;
-        while(curValidEnd < seq.length and IsACTG[seq.seq[curValidEnd]]) {
-            curValidEnd++;
-        }
-        if (curValidEnd - cur >= tm.tupleSize) {
-            //
-            // Found a span that does not have N's in it, 
-            //
-            assert (tempTuple.FromStringRL(&(seq.seq[cur]), tm) == 1);
-            p = cur;
-            tempTuple.pos = p;
-            tupleList.Append(tempTuple);
-            for (p++; p < curValidEnd - tm.tupleSize + 1; p++) {
-                tempTuple.tuple >>=2;
-                //				tempTuple.tuple &= maskLeftTuple.tuple;
-                upperTuple.tuple = TwoBit[seq.seq[p+tm.tupleSize-1]];
-                upperTuple.tuple = upperTuple.tuple << (2 * (tm.tupleSize-1));
-                tempTuple.tuple += upperTuple.tuple;
-                tempTuple.pos = p;
-                //testTuple.FromStringRL(&seq.seq[p], tm);
-                //assert(testTuple.tuple == tempTuple.tuple);
-                tupleList.Append(tempTuple);
-            }
-        }
-        else {
-            ++curValidEnd;
-        }
-    }
-    return tupleList.size();
-}
diff --git a/libcpp/alignment/tuples/DNATupleList.h b/libcpp/alignment/tuples/DNATupleList.h
deleted file mode 100644
index a5b0dae..0000000
--- a/libcpp/alignment/tuples/DNATupleList.h
+++ /dev/null
@@ -1,53 +0,0 @@
-#ifndef TUPLES_DNA_TUPLE_LIST_H_
-#define TUPLES_DNA_TUPLE_LIST_H_
-
-#include <vector>
-#include "DNATuple.h"
-
-
-
-
-
-template<typename Sequence>
-	DNALength StoreTuplePosList(Sequence seq, TupleMetrics &tm, vector<PositionDNATuple> &tupleList) {
-	//
-	// Do this faster later on with a suffix tree -- faster than n log n construction time.
-	// 
-	DNALength s;
-	
-	PositionDNATuple tempTuple;
-	for (s = 0; s < seq.length - tm.tupleSize + 1; s++) {
-		if (tempTuple.FromStringLR(&(seq.seq[s]), tm)) {
-			tempTuple.pos = s;
-			tupleList.push_back(tempTuple);
-		}
-	}
-
-	std::sort(tupleList.begin(), tupleList.end());
-	
-		// 
-		// Be nice and leave the pos list in ascending sorted order,
-		// even though the top of this function does not specify it.
-		//
-	
-	return tupleList.size();
-}
-
-
-void WriteTuplePosList(vector<PositionDNATuple> &tupleList, int tupleSize, ofstream &out) {
-	DNALength tupleListLength = tupleList.size();
-	out.write((char*) &tupleSize, sizeof(tupleSize));
-	out.write((char*) &tupleListLength, sizeof(DNALength));
-	out.write((char*) &tupleList[0], sizeof(PositionDNATuple) * tupleList.size());
-}
-
-void ReadTuplePosList(ifstream &in, vector<PositionDNATuple> &tupleList, int &tupleSize) {
-	DNALength tupleListLength;
-	in.read((char*) &tupleSize, sizeof(int));
-	in.read((char*) &tupleListLength, sizeof(DNALength));
-	tupleList.resize(tupleListLength);
-	in.read((char*) &tupleList[0], sizeof(PositionDNATuple) * tupleListLength);
-}
-
-
-#endif
diff --git a/libcpp/alignment/tuples/HashedTupleList.hpp b/libcpp/alignment/tuples/HashedTupleList.hpp
deleted file mode 100644
index 8695844..0000000
--- a/libcpp/alignment/tuples/HashedTupleList.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef _BLASR_HASHED_TUPLE_LIST_HPP_
-#define _BLASR_HASHED_TUPLE_LIST_HPP_
-
-#include "tuples/TupleList.hpp"
-#include "tuples/TupleMetrics.hpp"
-#include "DNASequence.hpp"
-
-template<typename T_Tuple>
-class HashedTupleList {
-public:
-    long mask;
-    std::vector<TupleList<T_Tuple> > hashTable;
-    int hashLength;
-    int hashTableLength;
-    typedef T_Tuple Tuple;
-
-    //
-    // Provide a default constructor with a small 
-    // tuple size for testing.
-    //
-    HashedTupleList();
-
-    void Initialize(int _hashLength);
-
-    HashedTupleList(int _hashLength);
-
-    void clear();
-
-    void Clear();
-
-    void Sort();
-
-    void Append(T_Tuple tuple);
-
-    void Insert(T_Tuple tuple);
-
-    int Find(T_Tuple tuple);
-
-    void Print();
-
-    //
-    // Provide a version of find that stores easy access to 
-    // the original tuple.
-    //
-    int Find(T_Tuple tuple, int &hashValue, int &index);
-
-    void FindAll(T_Tuple &tuple, 
-        typename std::vector<T_Tuple>::const_iterator &firstPos, 
-        typename std::vector<T_Tuple>::const_iterator &endPos);
-
-    int GetHashLength();
-};
-
-
-template<typename T_Tuple>
-void SequenceToHash(DNASequence &seq, HashedTupleList<T_Tuple> &hash, 
-    TupleMetrics &tm);
-
-#include "tuples/HashedTupleList.hpp"
-
-#endif
diff --git a/libcpp/alignment/tuples/HashedTupleListImpl.hpp b/libcpp/alignment/tuples/HashedTupleListImpl.hpp
deleted file mode 100644
index 41d9832..0000000
--- a/libcpp/alignment/tuples/HashedTupleListImpl.hpp
+++ /dev/null
@@ -1,144 +0,0 @@
-#ifndef _BLASR_HASHED_TUPLE_LIST_IMPL_HPP_
-#define _BLASR_HASHED_TUPLE_LIST_IMPL_HPP_
-
-template<typename T_Tuple>
-HashedTupleList<T_Tuple>::
-HashedTupleList() {
-    Initialize(5);
-}
-
-template<typename T_Tuple>
-HashedTupleList<T_Tuple>::
-HashedTupleList(int _hashLength) {
-    Initialize(_hashLength);
-    cout << hashTable.size() << endl;
-}
-
-template<typename T_Tuple>
-void HashedTupleList<T_Tuple>::
-Initialize(int _hashLength) {
-    mask = 0;
-    int i;
-    hashLength = _hashLength;
-    hashTable.resize(1L << (hashLength*2));
-    hashTableLength = hashTable.size();
-
-    for (i = 0; i < hashLength; i++ ){
-        mask = mask << 2L;
-        mask = mask + 3L;
-    }
-}
-
-template<typename T_Tuple>
-void HashedTupleList<T_Tuple>::
-clear() {
-    // Synonym.
-    Clear();
-}
-
-template<typename T_Tuple>
-void HashedTupleList<T_Tuple>::
-Clear() {
-    int i;
-    for (i = 0; i < hashTableLength; i++ ){ 
-        hashTable[i].tupleList.clear();
-    }
-}
-
-
-template<typename T_Tuple>
-void HashedTupleList<T_Tuple>::
-Sort() {
-    int i;
-    for (i = 0; i < hashTableLength; i++ ){ 
-        sort(hashTable[i].tupleList.begin(), 
-             hashTable[i].tupleList.end());
-    }
-}    
-
-template<typename T_Tuple>
-void HashedTupleList<T_Tuple>::
-Append(T_Tuple tuple) {
-    int hashValue = tuple.tuple & mask;
-    std::cout << "htl adding " << tuple.tuple << std::endl;
-    hashTable[hashValue].tupleList.push_back(tuple);
-}
-
-
-template<typename T_Tuple>
-void HashedTupleList<T_Tuple>::
-Insert(T_Tuple tuple) {
-    std::cout << "htl adding " << tuple.tuple << std::endl;
-    int hashValue = tuple.tuple & mask;
-    hashTable[hashValue].Insert(tuple);
-}
-
-template<typename T_Tuple>
-int HashedTupleList<T_Tuple>::
-Find(T_Tuple tuple) {
-    int hashValue, index;
-    return Find(tuple, hashValue, index);
-}
-
-
-template<typename T_Tuple>
-void HashedTupleList<T_Tuple>::
-Print() {
-    int i;
-    for (i = 0; i < hashTableLength; i++ ){ 
-        hashTable[i].Print();
-    }
-}
-
-//
-// Provide a version of find that stores easy access to 
-// the original tuple.
-//
-template<typename T_Tuple>
-int HashedTupleList<T_Tuple>::
-Find(T_Tuple tuple, int &hashValue, int &index) {
-    hashValue = tuple.tuple & mask;
-    if (hashTable[hashValue].size()) {
-        return ((index = hashTable[hashValue].Find(tuple)) != -1);
-    }
-    else {
-        return 0;
-    }
-}
-
-
-template<typename T_Tuple>
-void HashedTupleList<T_Tuple>::
-FindAll(T_Tuple &tuple, 
-        typename vector<T_Tuple>::const_iterator &firstPos, 
-        typename vector<T_Tuple>::const_iterator &endPos ) {
-    int hashValue;
-    hashValue = tuple.tuple & mask;
-    hashTable[hashValue].FindAll(tuple, firstPos, endPos);
-}
-
-
-template<typename T_Tuple>
-int HashedTupleList<T_Tuple>::
-GetHashLength() {
-    return hashLength;
-}
-
-
-template<typename T_Tuple>
-void SequenceToHash(DNASequence &seq, HashedTupleList<T_Tuple> &hash, 
-    TupleMetrics &tm) {
-
-    int i;
-    T_Tuple tuple;
-    int res = 0;
-    for (i = 0; i < seq.length - hash.hashLength + 1; i++ ) {
-        if ((res and 
-             (res = tuple.ShiftAddRL(seq.seq[i+tm.tupleSize-1], tm))) or
-            (!res and (res = tuple.FromStringRL(&seq.seq[i], tm)))) {
-            hash.Insert(tuple);
-        }
-    }
-}
-
-#endif
diff --git a/libcpp/alignment/tuples/TupleCountTable.hpp b/libcpp/alignment/tuples/TupleCountTable.hpp
deleted file mode 100644
index 603ccd9..0000000
--- a/libcpp/alignment/tuples/TupleCountTable.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef _BLASR_TUPLE_COUNT_TABLE_HPP_
-#define _BLASR_TUPLE_COUNT_TABLE_HPP_
-
-#include <algorithm>
-#include <fstream>
-#include <iostream>
-#include <assert.h>
-#include "tuples/TupleMetrics.hpp"
-using namespace std;
-
-template<typename TSequence, typename TTuple>
-class TupleCountTable {
-public:
-	int *countTable;
-	int countTableLength;
-	int nTuples;
-	TupleMetrics tm;
-	bool deleteStructures;
-	void InitCountTable(TupleMetrics &ptm);
-
-	TupleCountTable();
-   	~TupleCountTable();
-	void Free();
-
-	void IncrementCount(TTuple &tuple);
-	void AddSequenceTupleCountsLR(TSequence &seq);
-	void Write(ofstream &out);
-	void Read(ifstream &in);
-};
-
-#include "tuples/TupleCountTableImpl.hpp"
-
-#endif
diff --git a/libcpp/alignment/tuples/TupleCountTableImpl.hpp b/libcpp/alignment/tuples/TupleCountTableImpl.hpp
deleted file mode 100644
index 805dc66..0000000
--- a/libcpp/alignment/tuples/TupleCountTableImpl.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-#ifndef _BLASR_TUPLE_COUNT_TABLE_IMPL_HPP_
-#define _BLASR_TUPLE_COUNT_TABLE_IMPL_HPP_
-
-using namespace std;
-
-template<typename TSequence, typename TTuple>
-void TupleCountTable<TSequence, TTuple>::InitCountTable(TupleMetrics &ptm) {
-    Free();
-    tm = ptm;
-    tm.InitializeMask();
-    assert(tm.tupleSize > 0);
-    // create the mask just in case the ptm is not initialized 
-    // properly.
-    countTableLength = 4;
-    countTableLength = countTableLength << ((tm.tupleSize - 1)*2);
-
-    assert(countTableLength > 0);
-    countTable = new int[countTableLength];
-    deleteStructures = true;
-    fill(&countTable[0], &countTable[countTableLength], 0);
-    nTuples = 0;
-}
-
-
-template<typename TSequence, typename TTuple>
-TupleCountTable<TSequence, TTuple>::TupleCountTable() {
-    countTable = NULL;
-    countTableLength = 0;
-    nTuples = 0;
-    deleteStructures = false;
-}
-
-
-template<typename TSequence, typename TTuple>
-TupleCountTable<TSequence, TTuple>::~TupleCountTable() {
-    Free();
-}
-
-template<typename TSequence, typename TTuple>
-void TupleCountTable<TSequence, TTuple>::Free() {
-    if (deleteStructures == false) {
-        //
-        // Do not delete this if it is referencing another structure
-        //
-        return;
-    }
-    if (countTable != NULL) {
-        delete [] countTable;
-        countTable = NULL;
-    }
-    countTableLength = nTuples = 0;
-}
-
-
-template<typename TSequence, typename TTuple>
-void TupleCountTable<TSequence, TTuple>::IncrementCount(
-    TTuple &tuple) {
-    long tupleIndex = tuple.ToLongIndex();
-    assert(tupleIndex < countTableLength);
-    countTable[tupleIndex]++;
-    ++nTuples;
-}
-
-
-template<typename TSequence, typename TTuple>
-void TupleCountTable<TSequence, TTuple>::AddSequenceTupleCountsLR(
-    TSequence &seq) {
-    VectorIndex i;
-    TTuple tuple;
-    if (seq.length>= tm.tupleSize) {
-        for (i = 0; i < seq.length - tm.tupleSize + 1; i++ ) { 
-            if (tuple.FromStringLR(&seq.seq[i], tm)) {
-                IncrementCount(tuple);
-            }
-        }
-    }
-}
-
-
-template<typename TSequence, typename TTuple>
-void TupleCountTable<TSequence, TTuple>::Write(ofstream &out) {
-    out.write((char*) &countTableLength, sizeof(int));
-    out.write((char*) &nTuples, sizeof(int));
-    out.write((char*) &tm.tupleSize, sizeof(int));
-    out.write((char*) countTable, sizeof(int) * countTableLength);
-}
-
-
-template<typename TSequence, typename TTuple>
-void TupleCountTable<TSequence, TTuple>::Read(ifstream &in) {
-    Free(); // Clear before reusing this object.
-    in.read((char*) &countTableLength, sizeof(int));
-    in.read((char*) &nTuples, sizeof(int));
-    in.read((char*) &tm.tupleSize, sizeof(int));
-    tm.InitializeMask();
-    countTable = new int[countTableLength];
-    deleteStructures = true;
-    in.read((char*) countTable, sizeof(int) * countTableLength);
-}
-
-#endif
diff --git a/libcpp/alignment/tuples/TupleList.hpp b/libcpp/alignment/tuples/TupleList.hpp
deleted file mode 100644
index 2f9eef0..0000000
--- a/libcpp/alignment/tuples/TupleList.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef _BLASR_TUPLE_LIST_HPP_
-#define _BLASR_TUPLE_LIST_HPP_
-
-#include <stdint.h>
-#include <algorithm>
-#include <string>
-#include <iostream>
-#include <fstream>
-#include <vector>
-
-#include "Types.h"
-#include "tuples/TupleMetrics.hpp"
-
-template<typename T>
-class TupleList {
-    int listLength;
-    TupleMetrics tm;
-    public:
-    typedef T Tuple;
-    std::vector<T> tupleList;
-
-    TupleList(); 
-
-    void Reset(); 
-    
-    T &operator[](int index); 
-
-    void GetTupleMetrics(TupleMetrics &ptm); 
-    
-    void SetTupleMetrics(TupleMetrics &ptm); 
-    
-    int size();
-    
-    int GetLength();
-    
-    int InitFromFile(std::string &fileName); 
-
-    void clear(); 
-
-    int WriteToFile(std::string &fileName); 
-
-    //
-    // Find one instance of a match.
-    //
-    int Find(T& tuple); 
-
-    //
-    // Find the boundaries of all instances of a match.
-    //
-    void FindAll(T &tuple, 
-        typename std::vector<T>::const_iterator &firstPos, 
-        typename std::vector<T>::const_iterator &endPos ); 
-
-    void Append( T&tuple); 
-
-    void Insert(T&tuple); 
-
-    void Sort(); 
-
-    void Print(); 
-};
-
-#include "TupleListImpl.hpp"
-#endif // _BLASR_TUPLE_LIST_HPP_
diff --git a/libcpp/alignment/tuples/TupleListImpl.hpp b/libcpp/alignment/tuples/TupleListImpl.hpp
deleted file mode 100644
index fdbf91f..0000000
--- a/libcpp/alignment/tuples/TupleListImpl.hpp
+++ /dev/null
@@ -1,134 +0,0 @@
-
-template<typename T>
-TupleList<T>::TupleList() {
-    listLength = 0;
-}
-
-template<typename T>
-void TupleList<T>::Reset() {
-    std::vector<T>().swap(tupleList);
-}
-
-template<typename T>
-T& TupleList<T>::operator[](int index) {
-    return tupleList[index];
-}
-
-template<typename T>
-void TupleList<T>::GetTupleMetrics(TupleMetrics &ptm) {
-    ptm = tm;
-}
-
-template<typename T>
-void TupleList<T>::SetTupleMetrics(TupleMetrics &ptm) {
-    tm = ptm;
-}
-
-template<typename T>
-int TupleList<T>::size() {
-    return tupleList.size();
-}
-
-template<typename T>
-int TupleList<T>::GetLength() {
-    return tupleList.size();
-}
-
-template<typename T>
-int TupleList<T>::InitFromFile(std::string &fileName) {
-    std::ifstream listIn;
-    listIn.open(fileName.c_str(), std::ios_base::binary);
-    if (!listIn)
-        return 0;
-    listIn.read((char*) &listLength, sizeof(int));
-    listIn.read((char*) &tm.tupleSize, sizeof(int));
-    tm.InitializeMask();
-    //list = new T[listLength];
-    tupleList.resize(listLength);
-    listIn.read((char*) &tupleList[0], sizeof(T) * listLength);
-    return 1;
-}
-
-template<typename T>
-void TupleList<T>::clear() {
-    tupleList.clear();
-    listLength = 0;
-}
-
-template<typename T>
-int TupleList<T>::WriteToFile(std::string &fileName) {
-    std::ofstream listOut;
-    listOut.open(fileName.c_str(), std::ios_base::binary);
-    if (!listOut)
-        return 0;
-    listLength = tupleList.size();
-    std::cout << "writing tuple lis of length " << listLength << std::endl;
-    listOut.write((char*) &listLength, sizeof(int));
-    listOut.write((char*) &tm.tupleSize, sizeof(int));
-    listOut.write((char*) &tupleList[0], sizeof(T)*listLength);
-    return 1;
-}
-
-//
-// Find one instance of a match.
-//
-template<typename T>
-int TupleList<T>::Find( T& tuple)  {
-    typename std::vector<T>::const_iterator begin, end, matchIt;
-    begin = tupleList.begin();
-    end   = tupleList.end();
-    matchIt = lower_bound(begin, end, tuple);
-    if (*matchIt != tuple) {
-        return -1;
-    }
-    else {
-        return matchIt - tupleList.begin();
-    }
-}
-
-//
-// Find the boundaries of all instances of a match.
-//
-template<typename T>
-void TupleList<T>::FindAll(T &tuple, 
-    typename std::vector<T>::const_iterator &firstPos, 
-    typename std::vector<T>::const_iterator &endPos ) {
-    firstPos = lower_bound(tupleList.begin(), tupleList.end(), tuple);
-    typename std::vector<T>::const_iterator firstPos2;
-    endPos = tupleList.end();
-    endPos = upper_bound(firstPos, endPos, tuple);
-    while (endPos != tupleList.end()) {
-        if (*endPos != tuple) {
-            return;
-        }
-        else {
-            endPos++;
-        }
-    }
-}
-
-template<typename T>
-void TupleList<T>::Append( T&tuple) {
-    tupleList.push_back(tuple);
-}
-
-template<typename T>
-void TupleList<T>::Insert(T&tuple) {
-    // insert and maintain order.
-    typename std::vector<T>::iterator pos;
-    pos = std::lower_bound(tupleList.begin(), tupleList.end(), tuple);
-    tupleList.insert(pos, tuple);
-}
-
-template<typename T>
-void TupleList<T>::Sort() {
-    sort(tupleList.begin(), tupleList.end());
-}
-
-template<typename T>
-void TupleList<T>::Print() {
-    int i;
-    for (i = 0; i< tupleList.size(); i++) {
-        std::cout << tupleList[i].tuple << std::endl;
-    }
-}
diff --git a/libcpp/alignment/tuples/TupleMask.h b/libcpp/alignment/tuples/TupleMask.h
deleted file mode 100644
index f731db1..0000000
--- a/libcpp/alignment/tuples/TupleMask.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef TUPLES_TUPLE_MASK
-#define TUPLES_TUPLE_MASK
-//
-// Each f is conveniently 2 bases.
-//
-//                     
-static unsigned long TupleMask[] = {0, 0xf, 0xff, 0xfff, 0xffff, 0xfffff, 0xffffff,  // 0 - 6
-                                  0xfffffff, 0xfffffff, 0xffffffff, 0xfffffffff,   // 7 - 9
-                                  0xffffffffff, 0xfffffffffff, 0xffffffffffff,     // 10-12
-                                  0xfffffffffffff, 0xffffffffffffff, 0xfffffffffffffff, // 13-15
-                                  0xffffffffffffffff}; // 16
-
-#endif
diff --git a/libcpp/alignment/tuples/TupleMatching.hpp b/libcpp/alignment/tuples/TupleMatching.hpp
deleted file mode 100644
index dd8c01e..0000000
--- a/libcpp/alignment/tuples/TupleMatching.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef _BLASR_TUPLE_MATCHING_HPP_
-#define _BLASR_TUPLE_MATCHING_HPP_
-
-#include "tuples/TupleMetrics.hpp"
-#include "tuples/TupleList.hpp"
-#include "tuples/BaseTuple.hpp"
-#include "tuples/DNATuple.hpp"
-#include "tuples/TupleMatching.hpp"
-
-template<typename Sequence, typename T_TupleList> 
-int SequenceToTupleList(
-    Sequence &seq, TupleMetrics &tm, T_TupleList &tupleList); 
-
-template<typename TSequence, typename TMatch, typename T_TupleList>
-int StoreMatchingPositions(
-    TSequence &querySeq, TupleMetrics &tm, T_TupleList &targetTupleList, 
-    std::vector<TMatch> &matchSet); 
-
-template<typename Sequence, typename Tuple>
-int StoreUniqueTuplePosList(Sequence seq, TupleMetrics &tm, 
-    std::vector<int> &uniqueTuplePosList); 
-
-#include "TupleMatchingImpl.hpp"
-
-#endif // _BLASR_TUPLE_MATCHING_HPP_
diff --git a/libcpp/alignment/tuples/TupleMatchingImpl.hpp b/libcpp/alignment/tuples/TupleMatchingImpl.hpp
deleted file mode 100644
index c89a247..0000000
--- a/libcpp/alignment/tuples/TupleMatchingImpl.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-#include <vector>
-#include <algorithm>
-#include <utility>
-#include <iostream>
-#include <stdint.h>
-#include "Types.h"
-#include "NucConversion.hpp"
-#include "DNASequence.hpp"
-#include "SeqUtils.hpp"
-
-using namespace std;
-
-template<typename Sequence, typename T_TupleList> 
-int SequenceToTupleList(Sequence &seq, TupleMetrics &tm, T_TupleList &tupleList) {
-    int s;
-    typename T_TupleList::Tuple tempTuple;
-    if (seq.size() < tm.tupleSize) {
-        return 1; 
-    }
-
-    // Otherwise, there is at least one tuple
-
-    tupleList.Append(tempTuple);
-    int res = 0;
-    for (s = 0; s < seq.length - tm.tupleSize + 1; s++ ) {
-        if ((res and (res = tempTuple.ShiftAddRL(seq.seq[s+tm.tupleSize-1], tm))) or
-                (!res and (res = tempTuple.FromStringRL(&seq.seq[s], tm)))) {
-            tempTuple.ShiftAddRL(seq.seq[s + tm.tupleSize - 1], tm);
-            tempTuple.pos = s;
-            tupleList.Append(tempTuple);
-        }
-    }
-    return 1;
-}
-
-
-template<typename TSequence, typename TMatch, typename T_TupleList>
-int StoreMatchingPositions(TSequence &querySeq, TupleMetrics &tm, T_TupleList &targetTupleList, vector<TMatch> &matchSet) {
-    DNALength s;
-    //	TQueryTuple queryTuple;
-    typename T_TupleList::Tuple queryTuple;
-    queryTuple.pos = 0;
-    if (querySeq.length >= tm.tupleSize) {
-        int res = 0;
-        for (s = 0; s < querySeq.length - tm.tupleSize + 1; s++) {
-            if ((res and (res = queryTuple.ShiftAddRL(querySeq.seq[s+tm.tupleSize-1], tm))) or
-                    (!res and (res = queryTuple.FromStringRL(&querySeq.seq[s], tm)))) {
-                int targetListIndex = 0;
-                typename vector<typename T_TupleList::Tuple>::const_iterator curIt, endIt;
-                targetTupleList.FindAll(queryTuple, curIt, endIt);
-
-                for(; curIt != endIt; curIt++) {
-                    matchSet.push_back(TMatch(s, (*curIt).pos));
-                    ++targetListIndex;
-                }
-            }
-        }
-    }
-    return matchSet.size();
-}
-
-
-template<typename Sequence, typename Tuple>
-int StoreUniqueTuplePosList(Sequence seq, TupleMetrics &tm, vector<int> &uniqueTuplePosList) {
-    //
-    // Do this faster later on with a suffix tree -- faster than n log n construction time.
-    // 
-    int s;
-    vector<pair<Tuple, int> > tuples;
-    Tuple tempTuple;
-    for (s = 0; s < seq.length - tm.tupleSize + 1; s++) {
-        tempTuple.FromStringRL(&(seq.seq[s]), tm);
-        tuples.push_back(make_pair(tempTuple, s));
-    }
-    std::sort(tuples.begin(), tuples.end());
-    int curUnique = 0, curPos = 0;
-
-    //
-    // Filter out the repetitive tuples.
-    //
-
-    while ( curPos < tuples.size() ) {
-        int nextPos = curPos;
-
-        while (nextPos < tuples.size() and tuples[nextPos] == tuples[curPos])
-            nextPos++;
-        if (nextPos - curPos == 1) {
-            tuples[curUnique].first == tuples[curPos].first;
-            uniqueTuplePosList.push_back(tuples[curUnique].second);
-            ++curUnique;
-            ++curPos;
-        }
-        else {
-            curPos = nextPos;
-        }
-    }
-
-    // 
-    // Be nice and leave the pos list in ascending sorted order,
-    // even though the top of this function does not specify it.
-    //
-    std::sort(uniqueTuplePosList.begin(), uniqueTuplePosList.end());
-    return uniqueTuplePosList.size();
-}
-
-
diff --git a/libcpp/alignment/tuples/TupleMetrics.cpp b/libcpp/alignment/tuples/TupleMetrics.cpp
deleted file mode 100644
index 5b00a7b..0000000
--- a/libcpp/alignment/tuples/TupleMetrics.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <stdint.h>
-#include "TupleMask.h"
-#include "TupleMetrics.hpp"
-
-TupleMetrics::TupleMetrics() {
-    tupleSize = tupleMask = 0;
-}
-
-void TupleMetrics::InitializeMask() {
-    tupleMask = TupleMask[tupleSize];
-}
-
-void TupleMetrics::Initialize(int pTupleSize) {
-    tupleSize = pTupleSize;
-    InitializeMask();
-}
diff --git a/libcpp/alignment/tuples/TupleMetrics.hpp b/libcpp/alignment/tuples/TupleMetrics.hpp
deleted file mode 100644
index 841aaf2..0000000
--- a/libcpp/alignment/tuples/TupleMetrics.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef _BLASR_TUPLE_METRICS_HPP_
-#define _BLASR_TUPLE_METRICS_HPP_
-
-#include "Types.h"
-
-class TupleMetrics {
-public:
-    unsigned int tupleSize;
-    ULong tupleMask;
-
-    TupleMetrics();
-
-    void InitializeMask();
-
-    void Initialize(int pTupleSize);
-};
-
-
-#endif //_BLASR_TUPLE_METRICS_HPP_
diff --git a/libcpp/alignment/tuples/TupleOperations.h b/libcpp/alignment/tuples/TupleOperations.h
deleted file mode 100644
index 2c7d13e..0000000
--- a/libcpp/alignment/tuples/TupleOperations.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef TUPLE_OPERATIONS_H_
-#define TUPLE_OPERATIONS_H_
-
-
-#endif
-
-
diff --git a/libcpp/alignment/tuples/TupleTranslations.h b/libcpp/alignment/tuples/TupleTranslations.h
deleted file mode 100644
index a96cf15..0000000
--- a/libcpp/alignment/tuples/TupleTranslations.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef TUPLE_OPERATIONS_H_
-#define TUPLE_OPERATIONS_H_
-
-
diff --git a/libcpp/alignment/tuples/tuple.h b/libcpp/alignment/tuples/tuple.h
deleted file mode 100644
index 5063f08..0000000
--- a/libcpp/alignment/tuples/tuple.h
+++ /dev/null
@@ -1,82 +0,0 @@
-#ifndef TUPLE_H_
-#define TUPLE_H_
-
-#include <vector>
-#include <utility>
-
-#include "Types.h"
-#include "tuples/TupleMetrics.hpp"
-
-template<typename Sequence, typename Tuple>
-  BuildTupleList(Sequence seq, vector<Tuple> &tupleList) {
-		BuildTupleList(seq, 0, seq.length, tupleList);
-	}
-
-template<typename Sequence, typename Tuple>
-	BuildTupleList(Sequence seq, int seqStart, int length, vector<Tuple> &tupleList) {
-		
-	}
-
-template<typename Sequence, typename CountedTuple>
-	BuildCountedTupleList(Sequence seq, int seqStart, int length, TupleMetrics &tm, vector<CountedTuple> &tupleList) {
-		int s;
-		CountedTuple tuple;
-		for (s = 0; s < seq.length - tm.tupleSize  + 1; s++) {
-		}
-	}
-
-
-template<typename Sequence, typename Tuple>
-	StoreUniqueTuplePosList(Sequence seq, TupleMetrics &tm, vector<int> &uniqueTuplePosList) {
-		//
-		// Do this faster later on with a suffix tree -- faster than n log n construction time.
-		// 
-		int s;
-		vector<pair<Tuple, int> > tuples;
-		Tuple tempTuple;
-		for (s = 0; s < seq.length; s++) {
-			tempTuple.FromStringLR(&(seq.seq[s]), tm);
-			tuples.push_back(make_pair(tempTuple, s));
-		}
-		std::sort(tuples.begin(), tuples.end());
-		int curUnique = 0, curPos = 0;
-
-		//
-		// Filter out the repetitive tuples.
-		//
-
-		while ( curPos < tuples.size() ) {
-			int nextPos = curPos;
-
-			while (nextPos < tuples.size() and tuples[nextPos] == tuples[curPos])
-				nextPos++;
-			if (nextPos - curPos == 1) {
-				tuples[curUnique].first == tuples[curPos].first;
-				uniqueTuplePosList.push_back(tuples[curUnique].second);
-				++curUnique;
-				++curPos;
-			}
-			else {
-				curPos = nextPos;
-			}
-		}
-
-		// 
-		// Be nice and leave the pos list in ascending sorted order,
-		// even though the top of this function does not specify it.
-		//
-		std::sort(uniqueTuplePosList.begin(), uniqueTuplePosList.end());
-	}
-
-
-
-
-	
-
-
-				
-			
-		
-
-
-#endif
diff --git a/libcpp/alignment/utils/FileOfFileNames.cpp b/libcpp/alignment/utils/FileOfFileNames.cpp
deleted file mode 100644
index da738bd..0000000
--- a/libcpp/alignment/utils/FileOfFileNames.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-#include "utils/FileOfFileNames.hpp"
-#include "HDFNewBasReader.hpp"
-#include <cstdlib>
-
-void
-FileOfFileNames::StoreFileOrFileList(std::string fileName, 
-    std::vector<std::string> &fofnList) {
-
-    std::vector<std::string> tmpList;
-    if (IsFOFN(fileName)) {
-        FOFNToList(fileName, tmpList);
-    }
-    else {
-        tmpList.push_back(fileName);
-    }
-    for (int i = 0; i < int(tmpList.size()); i++) {
-        if (FileOfFileNames::IsFOFN(tmpList[i])) {
-            std::cout << "ERROR. Nested File of File Names are not allowed. "
-                      << std::endl;
-            exit(1);
-        } else if (FileOfFileNames::IsBasH5(tmpList[i])) {
-            std::vector<std::string> baxFNs = FileOfFileNames::Bas2Bax(tmpList[i]);
-            fofnList.insert(fofnList.end(), baxFNs.begin(), baxFNs.end());
-        } else {
-            fofnList.push_back(tmpList[i]);
-        }
-    }
-}
-
-void 
-FileOfFileNames::FOFNToList(std::string &fofnFileName, 
-    std::vector<std::string> &fofnList) {
-    std::ifstream fofnIn;
-    CrucialOpen(fofnFileName, fofnIn);
-    while(fofnIn) {
-        std::string name;
-        getline(fofnIn, name);
-        if (name.size() > 0) {
-            fofnList.push_back(name);
-        }
-    }
-}
-
-bool 
-FileOfFileNames::IsFOFN(std::string &fileName) {
-    std::string::size_type dotPos = fileName.rfind(".");
-    if (dotPos != std::string::npos) {
-        std::string extension;
-        extension.assign(fileName, dotPos+1, fileName.size() - (dotPos+1));
-        if (extension == "fofn") {
-            return true;
-        }
-    }
-    return false;
-}
-
-bool 
-FileOfFileNames::IsBasH5(std::string & fileName) {
-    // Return true if file ends with bas.h5
-    if (fileName.size() > 6) {
-        if (fileName.rfind("bas.h5") == fileName.size() - 6) {
-            return true;
-        }
-    }
-    return false;
-}
-
-std::vector<std::string> 
-FileOfFileNames::Bas2Bax(std::string & basFN) {
-    // There are two types of bas.h5 files.
-    // Before SMRT 2.0, bas.h5 files contain all the /PulseData data,
-    // in this case, return the bas.h5.
-    // After SMRT 2.0, bas.h5 files have been changed to only contain
-    // paths to bax.h5 files (in the /MultiPart/Parts group), while
-    // all base calls and QVs are in bax.h5 files. In this case,
-    // return path to the bax.h5 files. Assumption is that bax.h5
-    // files are in the same directory as bas.h5 file.
-    vector<string> baxFNs;
-    HDFNewBasReader reader;
-    if (reader.Initialize(basFN) != 0) {
-        baxFNs = reader.GetBaxFileNames();
-    } else {
-        baxFNs.push_back(basFN);
-    }
-    reader.Close();
-    return baxFNs;
-}
-
-
-int
-FileOfFileNames::ExpandFileNameList(std::vector<std::string> &fileNames) {
-    int rfn;
-    std::vector<std::string> expandedFileNames;
-    for (rfn = 0; rfn < fileNames.size(); rfn++) {
-        std::vector<std::string> tmpList;
-        FileOfFileNames::StoreFileOrFileList(fileNames[rfn], tmpList);
-        expandedFileNames.insert(expandedFileNames.end(),
-                                 tmpList.begin(), tmpList.end());
-    }
-    fileNames = expandedFileNames;
-    return fileNames.size();
-}
diff --git a/libcpp/alignment/utils/FileOfFileNames.hpp b/libcpp/alignment/utils/FileOfFileNames.hpp
deleted file mode 100644
index 2aef7c6..0000000
--- a/libcpp/alignment/utils/FileOfFileNames.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef _BLASR_FILE_OF_FILE_NAMES_HPP_
-#define _BLASR_FILE_OF_FILE_NAMES_HPP_
-
-#include <iostream>
-#include <string>
-#include <vector>
-#include <fstream>
-#include "utils.hpp"
-
-class FileOfFileNames {
-public:
-    static void StoreFileOrFileList(std::string fileName,
-            std::vector<std::string> &fofnList);
-
-    static void FOFNToList(std::string &fofnFileName, 
-            std::vector<std::string> &fofnList);
-
-    static bool IsFOFN(std::string &fileName);
-
-    static bool IsBasH5(std::string &fileName);
-
-    static std::vector<std::string> Bas2Bax(std::string &basFN);
-
-    static int ExpandFileNameList(std::vector<std::string> &fileNames);
-};
-
-#endif
diff --git a/libcpp/alignment/utils/FileUtils.cpp b/libcpp/alignment/utils/FileUtils.cpp
deleted file mode 100644
index 84813e8..0000000
--- a/libcpp/alignment/utils/FileUtils.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-#include "utils/FileUtils.hpp"
-
-using namespace std;
-
-bool FileExists(string &fileName) {
-    FILE *fp = fopen(fileName.c_str(),"r");
-    if( fp ) {
-        // exists
-        fclose(fp);
-        return true;
-    } 
-    else {
-        return false;
-    }
-}
-
-void CriticalOpenRead(string &fileName, ifstream &file, std::ios::openmode mode) {
-    file.open(fileName.c_str(), mode | std::ios::in);
-    if (!file.good()) {
-        cerr << "Could not open file:"  << fileName << endl;
-        exit(1);
-    }
-}
-
-int OpenRead(string &fileName, ifstream &file, std::ios::openmode mode) {
-    file.open(fileName.c_str(), mode | std::ios::in);
-    return file.good();
-}
-
-
-void CriticalOpenWrite(string &fileName, ofstream &file, std::ios::openmode mode) {
-    file.open(fileName.c_str(), mode | std::ios::out);
-    if (!file.good()) { 
-        cerr << "Could not open file: " << fileName << endl;
-        exit(1);
-    }
-}
-
-int OpenWrite(string &fileName, ofstream &file, std::ios::openmode mode) {
-    file.open(fileName.c_str(), mode | std::ios::out);
-    return file.good();
-}
-
-
-int CountLinesInFile(string fileName) {
-    char* filePtr;
-    long fileSize;
-    int fileDes;
-    fileDes = open(fileName.c_str(), O_RDONLY);  
-    fileSize = lseek(fileDes, 0, SEEK_END);
-    lseek(fileDes, 0, SEEK_SET);
-    filePtr = (char*) mmap(0, fileSize, PROT_READ, MAP_PRIVATE, fileDes, 0);
-    long pos;
-    int numLines = 0;
-    for (pos = 0; pos < fileSize; pos++, filePtr++) {
-        if (*filePtr == '\n') {
-            numLines++;
-        }
-    }
-    return numLines;
-}
diff --git a/libcpp/alignment/utils/FileUtils.hpp b/libcpp/alignment/utils/FileUtils.hpp
deleted file mode 100644
index 7457b33..0000000
--- a/libcpp/alignment/utils/FileUtils.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef _BLASR_FILE_UTILS_HPP_
-#define _BLASR_FILE_UTILS_HPP_
-
-#include <iostream>
-#include <fstream>
-#include <string>
-#include "sys/fcntl.h"
-#include "sys/mman.h"
-#include <sys/types.h> // for lseek
-#include <unistd.h> // for lseek
-#include <stdio.h>
-
-using namespace std;
-
-bool FileExists(string &fileName);
-
-void CriticalOpenRead(string &fileName, ifstream &file, std::ios::openmode mode=std::ios::in);
-
-int OpenRead(string &fileName, ifstream &file, std::ios::openmode mode=std::ios::in);
-
-void CriticalOpenWrite(string &fileName, ofstream &file, std::ios::openmode mode=std::ios::out);
-
-int OpenWrite(string &fileName, ofstream &file, std::ios::openmode mode=std::ios::out);
-
-int CountLinesInFile(string fileName);
-
-#endif
diff --git a/libcpp/alignment/utils/LogUtils.cpp b/libcpp/alignment/utils/LogUtils.cpp
deleted file mode 100644
index 018d7bc..0000000
--- a/libcpp/alignment/utils/LogUtils.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-#include "LogUtils.hpp"
-
-double LogSumOfTwo(double value1, double value2) {
-    //
-    // value1 and value2 are in log space already.
-    //
-    double minValue, maxValue;
-    minValue = value1, maxValue = value2;
-
-    if (maxValue < minValue) {
-        minValue = value2; maxValue = value1;
-    }
-
-    // convert to log10
-    minValue *= LOG10;
-    maxValue *= LOG10;
-
-    double difference = minValue - maxValue;
-
-    if (difference < LOG_EPSILON) {
-        return maxValue / LOG10;
-    }
-    else if (difference < LOG_EPSILON2) {
-        return (maxValue + exp(difference))/LOG10;
-    }
-    else {
-        float expv = exp(difference);
-        float log1pv = log1p(expv);
-        return (maxValue + log1pv)/LOG10;
-    }
-}
-
-double LogSumOfThree(double value1, double value2, double value3) {
-    double minValue, maxValue, middleValue;
-    if (value1 > value2 and value2 > value3) {
-        maxValue = value1; middleValue = value2; minValue = value3;
-    }
-    else if (value1 > value3 and value3 > value2) {
-        maxValue = value1; middleValue = value3; minValue = value2;
-    }
-    else if (value2 > value1 and value1 > value3) {
-        maxValue = value2; middleValue = value1; minValue = value3;
-    }
-    else if (value2 > value3 and value3 > value1) {
-        maxValue = value2; middleValue = value3; minValue = value1;
-    }
-    else if (value3 > value1 and value1 > value2) {
-        maxValue = value3; middleValue = value1; minValue = value2;
-    }
-    else {
-        maxValue = value3; middleValue = value2; minValue = value1;
-    }
-    return LogSumOfTwo(maxValue, LogSumOfTwo(middleValue, minValue));
-}
-
diff --git a/libcpp/alignment/utils/LogUtils.hpp b/libcpp/alignment/utils/LogUtils.hpp
deleted file mode 100644
index 16f2ecd..0000000
--- a/libcpp/alignment/utils/LogUtils.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef _BLASR_UTILS_SUM_OF_LOG_HPP_
-#define _BLASR_UTILS_SUM_OF_LOG_HPP_
-
-#include <math.h>
-
-#define LOG_EPSILON   -30
-#define LOG_EPSILON2  -8
-#define LOG_EPSILON4  (logEpsilon/4.0)
-#define LOG10 2.3025850929
-
-double LogSumOfTwo(double value1, double value2); 
-
-double LogSumOfThree(double value1, double value2, double value3); 
-
-#endif // _BLASR_UTILS_SUM_OF_LOG_HPP_
diff --git a/libcpp/alignment/utils/PhredUtils.cpp b/libcpp/alignment/utils/PhredUtils.cpp
deleted file mode 100644
index b2653d0..0000000
--- a/libcpp/alignment/utils/PhredUtils.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <math.h>
-#include "PhredUtils.hpp"
-
-double InversePhred(double phred) {
-    float num = 1;
-    float denom = (1+pow(10,phred/10));
-    return num/denom;
-}
-
-double Phred(double pvalue) {
-    double v = log10(pvalue);
-    return -10*v;
-}
diff --git a/libcpp/alignment/utils/PhredUtils.hpp b/libcpp/alignment/utils/PhredUtils.hpp
deleted file mode 100644
index c90dbdd..0000000
--- a/libcpp/alignment/utils/PhredUtils.hpp
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _BLASR_UTILS_PHRED_UTILS_HPP_
-#define _BLASR_UTILS_PHRED_UTILS_HPP_
-
-double InversePhred(double phred); 
-
-double Phred(double pvalue); 
-
-#endif // _BLASR_UTILS_PHRED_UTILS_HPP_
diff --git a/libcpp/alignment/utils/RangeUtils.cpp b/libcpp/alignment/utils/RangeUtils.cpp
deleted file mode 100644
index 90a1458..0000000
--- a/libcpp/alignment/utils/RangeUtils.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-
-#include <stdexcept>
-
-#include "RangeUtils.hpp"
-
-using namespace std;
-
-Range::Range(UInt pStart) {
-    start = end = pStart;
-}
-Range::Range(UInt pStart, UInt pEnd) {
-    start = pStart;
-    end = pEnd;
-    if (start > end) {
-        cout << "ERROR: start of a range should be less than the end."
-             << endl;
-        exit(1);
-    }
-}
-
-bool Range::contains(const UInt & query) {
-    return (start <= query && query <= end);
-}
-bool Range::operator < (const Range & pRange) const {
-    if (start == pRange.start) {
-        return (end > pRange.end);
-    }
-    return (start < pRange.start);
-}
-
-//
-// Input is a comma-delimited string of ranges.
-// e.g. 1,2,3,10-20
-bool ParseRanges(string & rangesStr, vector<Range> & ranges) {
-    ranges.clear();
-    bool parseSucceed = true;
-    vector<string> strList;
-    ParseSeparatedList(rangesStr, strList, ',');
-    for(int i=0; i<int(strList.size()); i++) {
-        string & str = strList[i];
-        if(str.find('-') == string::npos) {
-            ranges.push_back(Range(atoi(str.c_str())));
-        } else {
-            vector<string> start_end;
-            ParseSeparatedList(str, start_end, '-');
-            if (start_end.size() != 2) {
-                parseSucceed = false;
-                break;
-            }
-            ranges.push_back(Range(atoi(start_end[0].c_str()),
-                        atoi(start_end[1].c_str())));
-        }
-    }
-    if (parseSucceed) {
-        sort(ranges.begin(), ranges.end());
-    } else {
-        ranges.clear();
-    }
-    return parseSucceed;
-}
-
-Ranges::Ranges(string rangesStr) {
-    if (!ParseRanges(rangesStr, ranges))
-        throw std::invalid_argument("bad range");
-}
-
-bool Ranges::setRanges(string rangesStr) {
-    return ParseRanges(rangesStr, ranges);
-}
-
-int Ranges::size() {
-    return ranges.size();
-}
-
-UInt Ranges::max() {
-    if (size() == 0) {
-        cout << "ERROR, could not determine the maximum value "
-             << "of an empty Ranges object." << endl;
-        exit(1);
-    }
-    return ranges.back().end;
-}
-
-bool Ranges::contains(const UInt & query) {
-    if (ranges.size() == 0) return false;
-    vector<Range> searchRanges;
-    searchRanges.push_back(Range(0, ranges.size()-1));
-    while (searchRanges.size() > 0) {
-        Range searchRange = searchRanges.back();
-        searchRanges.pop_back();
-        UInt mid = (searchRange.start + searchRange.end) / 2;
-        if (ranges[mid].contains(query)) {
-            return true;
-        }
-        if (mid > 0 && searchRange.start <= mid - 1) {
-            searchRanges.push_back(Range(searchRange.start,
-                                   mid - 1));
-        }
-        if (ranges[mid].start <= query and
-            searchRange.end >= mid + 1) {
-            searchRanges.push_back(Range(mid + 1,
-                                   searchRange.end));
-        }
-    }
-    return false;
-}
-
diff --git a/libcpp/alignment/utils/RangeUtils.hpp b/libcpp/alignment/utils/RangeUtils.hpp
deleted file mode 100644
index b0a41ba..0000000
--- a/libcpp/alignment/utils/RangeUtils.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * ============================================================================
- *
- *       Filename:  RangeUtils.h
- *
- *    Description:  Parse a list of ranges separated by commas.
- *                  Designed for specifying a set of holeNumbers to analyze.
- *
- *        Version:  1.0
- *        Created:  05/02/2013 12:51:27 PM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * ============================================================================
- */
-#include <stdlib.h>
-#include <algorithm>
-#include "StringUtils.hpp"
-#include "Types.h"
-
-class Range {
-public:
-    UInt start;  // Start position of a range, inclusive
-    UInt end;    // End position of a range, inclusive
-
-    Range(UInt pStart); 
-
-    Range(UInt pStart, UInt pEnd); 
-
-    bool contains(const UInt & query); 
-
-    bool operator < (const Range & pRange) const; 
-};
-
-// Input is a comma-delimited string of ranges.
-// e.g. 1,2,3,10-20
-bool ParseRanges(string & rangesStr, vector<Range> & ranges); 
-
-class Ranges {
-public:
-    std::vector<Range> ranges;
-    Ranges(std::string rangesStr=""); 
-
-    bool setRanges(std::string rangesStr); 
-    
-    int size(); 
-
-    UInt max(); 
-
-    bool contains(const UInt & query); 
-};
-
-
diff --git a/libcpp/alignment/utils/RegionUtils.cpp b/libcpp/alignment/utils/RegionUtils.cpp
deleted file mode 100644
index 0448f2e..0000000
--- a/libcpp/alignment/utils/RegionUtils.cpp
+++ /dev/null
@@ -1,302 +0,0 @@
-#include "utils/RegionUtils.hpp"
-
-// General functions.
-bool LookupHQRegion(int holeNumber, RegionTable &regionTable, 
-    int &start, int &end, int &score) {
-
-	int regionLowIndex, regionHighIndex;
-	regionLowIndex = regionHighIndex = 0;
-
-	regionTable.LookupRegionsByHoleNumber(holeNumber,
-        regionLowIndex, regionHighIndex);
-
-	bool readHasGoodRegion = true;
-	int  regionIndex = regionLowIndex;
-	while (regionIndex < regionHighIndex and 
-		   regionTable.GetType(regionIndex) != HQRegion) {
-		regionIndex++;
-	}
-	
-	if (regionIndex == regionHighIndex) {
-    start = end = score = 0;
-		return false;
-	}
-	else {
-		start = regionTable.GetStart(regionIndex);
-		end   = regionTable.GetEnd(regionIndex);
-        score = regionTable.GetScore(regionIndex);
-		return true;
-	}
-}
-
-// Functions of class CompareRegionIndicesByStart.
-int CompareRegionIndicesByStart::
-operator()(const int a, const int b) const {
-    if (regionTablePtr->GetStart(a) == regionTablePtr->GetStart(b)) {
-        return (regionTablePtr->GetEnd(a) < regionTablePtr->GetEnd(b));
-    }
-    else {
-        return (regionTablePtr->GetStart(a) < regionTablePtr->GetStart(b));
-    }
-}
-
-// General functions.
-int SortRegionIndicesByStart(RegionTable &regionTable, 
-    std::vector<int> &indices) {
-
-    CompareRegionIndicesByStart cmpFctr;
-    cmpFctr.regionTablePtr = ®ionTable;
-    std::sort(indices.begin(), indices.end(), cmpFctr);
-    return indices.size();
-}
-
-
-// Functions of OrderRegionsByReadStart:
-int OrderRegionsByReadStart::
-operator()(const ReadInterval &lhs, const ReadInterval &rhs) const {
-    return lhs.start < rhs.start;
-}
-
-
-// General functions.
-int FindRegionIndices(unsigned int holeNumber, RegionTable *regionTablePtr,
-    int &regionLowIndex, int &regionHighIndex) {
-
-    int regionIndex;						 
-    regionLowIndex = regionHighIndex = 0;
-
-    regionTablePtr->LookupRegionsByHoleNumber(holeNumber, 
-        regionLowIndex, regionHighIndex);  
-
-    return regionHighIndex - regionLowIndex;
-}
-
-
-int FindRegionIndices(SMRTSequence &read, RegionTable *regionTablePtr, 
-    int &regionLowIndex, int &regionHighIndex) {
-    return FindRegionIndices(read.zmwData.holeNumber, 
-        regionTablePtr, regionLowIndex, regionHighIndex);
-}
-
-
-//
-// Collect region indices for either all region types, or just a few specific region types.
-//
-//
-int CollectRegionIndices(SMRTSequence &read, RegionTable &regionTable, 
-    std::vector<int> &regionIndices, RegionType *regionTypes,
-    int numRegionTypes) {
-
-    int regionLow, regionHigh;
-    int prevNumRegionIndices = regionIndices.size();
-    if (FindRegionIndices(read, &regionTable, regionLow, regionHigh)) {
-        int i;
-        for (i = regionLow; i < regionHigh; i++) {
-            if (regionTypes == NULL) {
-                regionIndices.push_back(i);
-            }
-            else {
-                int t;
-                for (t = 0; t < numRegionTypes; t++) {
-                    if (regionTable.GetType(i) == regionTypes[t]) {
-                        regionIndices.push_back(i);
-                        break;
-                    }
-                }
-            }
-        }
-    }
-    return regionIndices.size() - prevNumRegionIndices;
-}
-
-
-// Given a vecotr of ReadInterval objects and their corresponding 
-// directions, intersect each object with an interval 
-// [hqStart, hqEnd), if there is no intersection or the intersected
-// interval is less than minIntervalLength, remove this object and
-// their corresponding directions; otherwise, replace this object 
-// with the intersected interval and keep their directions. 
-// Return index of the (left-most) longest subread interval in the
-// updated vector.
-int GetHighQualitySubreadsIntervals(
-    std::vector<ReadInterval> & subreadIntervals, 
-    std::vector<int> & subreadDirections, 
-    int hqStart, int hqEnd, int minIntervalLength) {
-
-   // Avoid using vector.erase() when possible, as it is slow.
-    int ret = -1;
-    int maxLength = 0;
-    assert(subreadIntervals.size() == subreadDirections.size());
-    std::vector<ReadInterval> subreadIntervals2; 
-    std::vector<int> subreadDirections2;
-    for(int i = 0; i < int(subreadIntervals.size()); i++) {
-        int & thisStart = subreadIntervals[i].start;
-        int & thisEnd   = subreadIntervals[i].end;
-        int & thisScore = subreadIntervals[i].score;
-
-        if (thisStart >= hqEnd or thisEnd <= hqStart) {
-            continue;
-        } 
-        if (thisStart < hqStart and thisEnd > hqStart) {
-            thisStart = hqStart;
-        }
-        if (thisStart < hqEnd   and thisEnd > hqEnd  ) {
-            thisEnd   = hqEnd;
-        }
-        if (thisEnd - thisStart >= minIntervalLength) {
-            if (maxLength < thisEnd - thisStart) {
-                ret = subreadIntervals2.size();
-                maxLength = thisEnd - thisStart;
-            }
-            subreadIntervals2.push_back(subreadIntervals[i]);
-            subreadDirections2.push_back(subreadDirections[i]);
-        }
-    }
-    subreadIntervals  = subreadIntervals2;
-    subreadDirections = subreadDirections2;
-    return ret;
-}
-
-
-// Given a vector of subreads and a vector of adapters, return 
-// indices of all fullpass subreads in the input subreads vector.
-std::vector<int> 
-GetFullPassSubreadIndices(std::vector<ReadInterval> & subreadIntervals,
-                          std::vector<ReadInterval> & adapterIntervals) {
-    std::vector<int> indices; // Indices of fullpass subread.
-    for(int i = 0; i < subreadIntervals.size(); i++) {
-        ReadInterval & subread = subreadIntervals[i];
-        bool ladapter = false, radapter = false;
-        for(int j = 0; j < adapterIntervals.size(); j++) {
-            ReadInterval & adapter = adapterIntervals[j];
-            if (abs(subread.start - adapter.end) < 10) {
-                ladapter = true;
-            } else if(abs(subread.end - adapter.start) < 10) {
-                radapter = true;
-            }
-            if (ladapter && radapter) {
-                indices.push_back(i);
-                break;
-            }
-        }
-    }
-    return indices;
-}
-
-bool cmp_index_len_pair(std::pair<int, int> x, std::pair<int, int> y) { 
-    if (x.second == y.second) {
-        return x.first < y.first;
-    } else 
-    return x.second < y.second;
-}
-
-// Given a vector of subreads and a vector of adapters, return
-// index of the (left-most) longest subread which has both
-// adapters before & after itself. If no full-pass subread available, 
-// return -1;
-int GetLongestFullSubreadIndex(std::vector<ReadInterval> & subreadIntervals,
-                               std::vector<ReadInterval> & adapterIntervals) {
-
-    std::vector<int> indices = GetFullPassSubreadIndices(subreadIntervals, adapterIntervals);
-    if (indices.size() == 0)
-        return -1;
-    std::vector<std::pair<int, int>> indices_lens;
-
-    for (int i = 0; i < indices.size(); i++) {
-        ReadInterval & subread = subreadIntervals[indices[i]];
-        indices_lens.push_back(std::make_pair(indices[i], subread.end - subread.start));
-    }
-
-    std::sort(indices_lens.begin(), indices_lens.end(), cmp_index_len_pair);
-    return indices_lens[int(indices_lens.size()-1)].first;
-}
-
-    
-// Given a vector of subreads and a vector of adapters, return
-// index of the typical fullpass subread which can represent subreads
-// of this zmw.
-// * if there is no fullpass subread, return -1;
-// * if number of fullpass subreads is less than 4, return index of the 
-//   left-most longest subread
-// * if number of fullpass subreads is greater than or equal 4, 
-//   * if length of the longest read does not exceed 
-//      meanLength + 1.96 * deviationLength
-//     then, return index of the longest left-most subread 
-//   * otherwise, return index of the second longest left-most subread
-int GetTypicalFullSubreadIndex(std::vector<ReadInterval> & subreadIntervals,
-                               std::vector<ReadInterval> & adapterIntervals) {
-
-    std::vector<int> indices = GetFullPassSubreadIndices(subreadIntervals, adapterIntervals);
-    if (indices.size() == 0)
-        return -1; // no full-pass subread in this zmw
-    std::vector<std::pair<int, int>> indices_lens;
-    std::vector<int> lengths;
-
-    for (int i = 0; i < indices.size(); i++) {
-        ReadInterval & subread = subreadIntervals[indices[i]];
-        indices_lens.push_back(std::make_pair(indices[i], subread.end - subread.start));
-        lengths.push_back(subread.end - subread.start);
-    }
-
-    std::sort(indices_lens.begin(), indices_lens.end(), cmp_index_len_pair);
-
-    int longestIndex = indices_lens[int(indices_lens.size()-1)].first; 
-    int secondLongestIndex = (indices_lens.size() <= 1)?(-1): (indices_lens[int(indices_lens.size()-2)].first);
-
-    if (indices.size() < 4) { 
-        // very few fullpass subreads, use the longest subread anyway.
-        return longestIndex;
-    } else { 
-        // if length of the longest falls out of 95% CI of all other 
-        // fullpass subreads, use the second longest. 
-        sort(lengths.begin(), lengths.end());
-        float meanLength, varLength;
-        MeanVar(lengths, meanLength, varLength);
-        if (lengths[int(lengths.size()-1)] > meanLength + 1.96 * sqrt(varLength)) {
-            return secondLongestIndex;
-        } else {
-            return longestIndex;
-        }
-    }
-}
-
-
-// Given a vector of subreads and a vector of adapters, return
-// index of the median length subread which has both
-// adapters before & after itself. If no full-pass subreads are
-// available, return -1.
-int GetMedianLengthFullSubreadIndex(
-    std::vector<ReadInterval> & subreadIntervals,
-    std::vector<ReadInterval> & adapterIntervals) {
-
-    std::vector<int> indices = GetFullPassSubreadIndices(subreadIntervals, adapterIntervals);
-    if (indices.size() == 0)
-        return -1;
-    std::vector<std::pair<int, int>> indices_lens;
-
-    for (int i = 0; i < indices.size(); i++) {
-        ReadInterval & subread = subreadIntervals[indices[i]];
-        indices_lens.push_back(std::make_pair(indices[i], subread.end - subread.start));
-    }
-    std::sort(indices_lens.begin(), indices_lens.end(), cmp_index_len_pair);
-    return indices_lens[int(indices_lens.size()/2)].first;
-}
-
-// Create a vector of n directions consisting of interleaved 0 and 1s.
-void CreateDirections(std::vector<int> & directions, const int & n) {
-    directions.clear();
-    directions.resize(n);
-    for(int i = 0; i < n; i++) {
-        directions[i] = i % 2;
-    }
-}
-
-// Flop all directions in the given vector, if flop is true.
-void UpdateDirections(std::vector<int> & directions, bool flop) { 
-    if (not flop) return;
-    for (int i = 0; i < int(directions.size()); i++) {
-        assert(directions[i] == 0 or directions[i] == 1);
-        directions[i] = (directions[i] == 0)?1:0;
-    }
-}
-
diff --git a/libcpp/alignment/utils/RegionUtils.hpp b/libcpp/alignment/utils/RegionUtils.hpp
deleted file mode 100644
index f5fb870..0000000
--- a/libcpp/alignment/utils/RegionUtils.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-#ifndef _BLASR_REGION_UTILS_HPP_
-#define _BLASR_REGION_UTILS_HPP_
-
-#include <algorithm>
-#include <cmath>
-#include "SMRTSequence.hpp"
-#include "statistics/StatUtils.hpp"
-#include "reads/ReadInterval.hpp"
-#include "reads/RegionTable.hpp"
-
-bool LookupHQRegion(int holeNumber, RegionTable &regionTable, 
-    int &start, int &end, int &score);
-
-template<typename T_Sequence>
-bool MaskRead(T_Sequence &fastaRead, ZMWGroupEntry &zmwData,
-    RegionTable &regionTable);
-
-
-template<typename T_Sequence>
-bool GetReadTrimCoordinates(T_Sequence &fastaRead,
-	ZMWGroupEntry &zmwData,	RegionTable &regionTable,
-	DNALength &readStart ,DNALength &readEnd, int &score);
-
-template<typename T_Sequence>
-bool TrimRead(T_Sequence &fastaRead, ZMWGroupEntry &zmwData,
-    RegionTable &regionTable, T_Sequence &trimmedRead);
-
-
-class CompareRegionIndicesByStart {
-public:
-	RegionTable *regionTablePtr;
-	int operator()(const int a, const int b) const;
-};
-
-		
-int SortRegionIndicesByStart(RegionTable &regionTable, 
-    std::vector<int> &indices);
-
-class OrderRegionsByReadStart {
-public:
-    int operator()(const ReadInterval &lhs, const ReadInterval &rhs) const;
-};
-
-int FindRegionIndices(unsigned int holeNumber, RegionTable *regionTablePtr,
-    int &regionLowIndex, int &regionHighIndex);
-
-int FindRegionIndices(SMRTSequence &read, RegionTable *regionTablePtr, 
-    int &regionLowIndex, int &regionHighIndex);
-
-//
-// Collect region indices for either all region types, or just a few 
-// specific region types.
-//
-int CollectRegionIndices(SMRTSequence &read, RegionTable &regionTable, 
-    std::vector<int> &regionIndices, RegionType *regionTypes=NULL,
-    int numRegionTypes = 0);
-
-
-template<typename T_Sequence>
-void CollectSubreadIntervals(T_Sequence &read, RegionTable *regionTablePtr, 
-    std::vector<ReadInterval> &subreadIntervals, bool byAdapter=false);
-
-// Get all adapter intervals of a ZMW.
-// Input:
-//   read - read.zmwData.holeNumber specifies the zmw.
-//   regionTablePtr - a pointer to a region table.
-// Output:
-//   adapterIntervals - where to assign all adapter intervals of the zmw
-template<typename T_Sequence>
-void CollectAdapterIntervals(T_Sequence &read, RegionTable *regionTablePtr,
-    std::vector<ReadInterval> &adapterIntervals);
-
-// Given a vecotr of ReadInterval objects and their corresponding 
-// directions, intersect each object with an interval 
-// [hqStart, hqEnd), if there is no intersection or the intersected
-// interval is less than minIntervalLength, remove this object and
-// their corresponding directions; otherwise, replace this object 
-// with the intersected interval and keep their directions. 
-// Return index of the (left-most) longest subread interval in the
-// updated vector.
-int GetHighQualitySubreadsIntervals(
-    std::vector<ReadInterval> & subreadIntervals, 
-    std::vector<int> & subreadDirections, 
-    int hqStart, int hqEnd, int minIntervalLength = 0); 
-
-// Given a vector of subreads and a vector of adapters, return
-// indices of all full-pass subreads.
-std::vector<int> GetFullPassSubreadIndices(
-    std::vector<ReadInterval> & subreadIntervals,
-    std::vector<ReadInterval> & adapterIntervals);
-
-// Given a vector of subreads and a vector of adapters, return
-// index of the (left-most) longest subread which has both
-// adapters before & after itself. If no full-pass subreads are
-// available, return -1.
-int GetLongestFullSubreadIndex(
-    std::vector<ReadInterval> & subreadIntervals,
-    std::vector<ReadInterval> & adapterIntervals);
-
-// Given a vector of subreads and a vector of adapters, return
-// index of the median length subread which has both
-// adapters before & after itself. If no full-pass subreads are
-// available, return -1.
-int GetMedianLengthFullSubreadIndex(
-    std::vector<ReadInterval> & subreadIntervals,
-    std::vector<ReadInterval> & adapterIntervals);
-
-
-// Given a vector of subreads and a vector of adapters, return
-// index of the typical fullpass subread which can represent subreads
-// of this zmw.
-// * if there is no fullpass subread, return -1;
-// * if number of fullpass subreads is less than 4, return index of the 
-//   left-most longest subread
-// * if number of fullpass subreads is greater than or equal 4, 
-//   * if length of the longest read does not exceed 
-//      meanLength + 1.96 * deviationLength
-//     then, return index of the longest left-most subread 
-//   * otherwise, return index of the second longest left-most subread
-int GetTypicalFullSubreadIndex(
-    std::vector<ReadInterval> & subreadIntervals,
-    std::vector<ReadInterval> & adapterIntervals);
-
-// Create a vector of n directions consisting of interleaved 0 and 1s.
-void CreateDirections(std::vector<int> & directions, const int & n);
-
-// Flop all directions in the given vector, if flop is true.
-void UpdateDirections(std::vector<int> & directions, bool flop = false);
-
-#include "utils/RegionUtilsImpl.hpp"
-
-#endif
diff --git a/libcpp/alignment/utils/RegionUtilsImpl.hpp b/libcpp/alignment/utils/RegionUtilsImpl.hpp
deleted file mode 100644
index fc4b859..0000000
--- a/libcpp/alignment/utils/RegionUtilsImpl.hpp
+++ /dev/null
@@ -1,215 +0,0 @@
-#ifndef _BLASR_REGION_UTILS_IMPL_HPP 
-#define _BLASR_REGION_UTILS_IMPL_HPP 
-
-
-template<typename T_Sequence>
-bool MaskRead(T_Sequence &fastaRead, ZMWGroupEntry &zmwData,
-    RegionTable &regionTable) {
-    int regionIndex;						 
-    int regionLowIndex, regionHighIndex;
-    regionLowIndex = regionHighIndex = 0;
-
-    regionTable.LookupRegionsByHoleNumber(zmwData.holeNumber, 
-        regionLowIndex, regionHighIndex);
-
-    bool readHasGoodRegion = true;
-
-    DNALength readPos;
-
-    regionIndex = regionLowIndex;
-    int lastHQRegionIndex;
-
-    int hqRegionStart=0, hqRegionEnd=0, hqRegionScore = 0;
-    readHasGoodRegion = LookupHQRegion(zmwData.holeNumber, 
-        regionTable, hqRegionStart, hqRegionEnd, hqRegionScore);
-
-    //
-    // Mask off the low quality portion of this read.
-    //
-    for (readPos = 0; (readPos < hqRegionStart and
-         readPos < fastaRead.length); readPos++) {
-        fastaRead.seq[readPos] = 'N';
-    }
-
-    for (readPos = hqRegionEnd; readPos < fastaRead.length; readPos++) {
-        fastaRead.seq[readPos] = 'N';
-    }
-
-    //
-    // Look to see if there is region information provided, but the
-    // entire read is bad.
-    //
-    if (hqRegionEnd == hqRegionStart) {
-        //
-        // This read is entirely bad, flag that.
-        //
-        readHasGoodRegion = false;
-    }
-
-    return readHasGoodRegion;
-}
-
-
-template<typename T_Sequence>
-bool GetReadTrimCoordinates(T_Sequence &fastaRead,
-	ZMWGroupEntry &zmwData,	RegionTable &regionTable,
-	DNALength &readStart ,DNALength &readEnd, int &score) {
-
-	int regionIndex;						 
-	int regionLowIndex, regionHighIndex;
-	regionLowIndex = regionHighIndex = 0;
-
-	regionTable.LookupRegionsByHoleNumber(zmwData.holeNumber,
-        regionLowIndex, regionHighIndex);
-
-	bool readHasGoodRegion = true;
-
-	DNALength readPos;
-
-	regionIndex = regionLowIndex;
-	int lastHQRegionIndex;
-	
-	while (regionIndex < regionHighIndex and 
-		   regionTable.GetType(regionIndex) != HQRegion) {
-	    regionIndex++;
-	}
-	
-	if (regionIndex < regionHighIndex ) {
-		readStart = regionTable.GetStart(regionIndex);
-		readEnd   = regionTable.GetEnd(regionIndex);
-        score     = regionTable.GetScore(regionIndex);
-		return true;
-	}
-	else {
-		readStart = 0;
-		readEnd   = fastaRead.length;
-		return false;
-	}
-}
-
-
-template<typename T_Sequence>
-bool TrimRead(T_Sequence &fastaRead, ZMWGroupEntry &zmwData,
-    RegionTable &regionTable, T_Sequence &trimmedRead) {
-
-	DNALength readStart, readEnd;
-
-	GetReadTrimCoordinates(fastaRead, zmwData, regionTable,
-        readStart, readEnd);
-
-	if (readEnd - readStart > 0) {
-		trimmedRead.CopySubsequence((FASTQSequence&)fastaRead, 
-			readStart, readEnd);
-		// signal that the read has a good region.
-		return true;
-	}
-	else {
-		//
-		// There is no information for this read. Make it skipped.
-		//
-		trimmedRead.seq = NULL;
-		trimmedRead.CopyTitle(fastaRead.title);
-		// signal this read has no good region.
-		return false;
-	}
-}
-
-template<typename T_Sequence>
-void CollectSubreadIntervals(T_Sequence &read, RegionTable *regionTablePtr, 
-    std::vector<ReadInterval> &subreadIntervals, bool byAdapter) {
-
-	int regionIndex;						 
-	int regionLowIndex, regionHighIndex;
-	regionLowIndex = regionHighIndex = 0;
-
-	regionTablePtr->LookupRegionsByHoleNumber(read.zmwData.holeNumber,
-        regionLowIndex, regionHighIndex);
-
-	if (byAdapter == false) { 
-        // read subreads (insert) directly from region table. 
-		for (regionIndex = regionLowIndex; 
-             regionIndex < regionHighIndex; regionIndex++) {
-			if (regionTablePtr->GetType(regionIndex) ==  Insert) {
-
-                RegionAnnotation & ra = regionTablePtr->table[regionIndex];
-				subreadIntervals.push_back(ReadInterval(
-                    ra.row[RegionAnnotation::RegionStart],
-				    ra.row[RegionAnnotation::RegionEnd],
-                    ra.row[RegionAnnotation::RegionScore]));
-			}
-		}
-	}
-	else { // Determine subreads according to adapters only.
-        std::vector<int> adapterIntervalIndices;
-		for (regionIndex = regionLowIndex; 
-             regionIndex < regionHighIndex; regionIndex++) {
-			if (regionTablePtr->GetType(regionIndex) == Adapter) {
-				adapterIntervalIndices.push_back(regionIndex);
-			}
-		}
-		// Sort indices so that the intervals appear in order on the read.
-		SortRegionIndicesByStart(*regionTablePtr, adapterIntervalIndices);
-		int curIntervalStart = 0;
-		int i;
-		if (adapterIntervalIndices.size() == 0) {
-            // no adapter, this zmw has only one subread (pass)
-			subreadIntervals.push_back(ReadInterval(0, read.length));
-		}
-		else {
-            // The first subread covers [0, RegionStart of first adapter)
-			subreadIntervals.push_back(ReadInterval(0, 
-                regionTablePtr->table[adapterIntervalIndices[0]].
-                    row[RegionAnnotation::RegionStart]));
-
-            // The subread[i] covers (RegionEnd of i-1-th adapter, RegionStart of i-th adapter)
-			for (i = 0; i + 1 < adapterIntervalIndices.size(); i++) {
-				subreadIntervals.push_back(ReadInterval(
-                    regionTablePtr->table[adapterIntervalIndices[i]].
-                        row[RegionAnnotation::RegionEnd],
-				    regionTablePtr->table[adapterIntervalIndices[i+1]].
-                        row[RegionAnnotation::RegionStart]));
-			}
-            // The last subread covers (RegionEnd of last adapter, end of read)
-			subreadIntervals.push_back(
-                ReadInterval(regionTablePtr->table[
-                    adapterIntervalIndices[adapterIntervalIndices.size()-1]].
-                        row[RegionAnnotation::RegionEnd],
-				read.length));
-		}
-	}
-	sort(subreadIntervals.begin(), subreadIntervals.end(), 
-        OrderRegionsByReadStart());
-}
-
-
-// Get all adapter intervals of a ZMW.
-// Input:
-//   read - read.zmwData.holeNumber specifies the zmw.
-//   regionTablePtr - a pointer to a region table.
-// Output:
-//   adapterIntervals - where to assign all adapter intervals of the zmw
-template<typename T_Sequence>
-void CollectAdapterIntervals(T_Sequence &read, 
-    RegionTable *regionTablePtr, 
-    std::vector<ReadInterval> &adapterIntervals) {
-
-    assert(regionTablePtr != NULL);
-    int regionLowIndex = 0, regionHighIndex = 0;
-
-    regionTablePtr->LookupRegionsByHoleNumber(read.zmwData.holeNumber,
-        regionLowIndex, regionHighIndex);
-
-    for (int regionIndex = regionLowIndex; 
-         regionIndex < regionHighIndex; regionIndex++) {
-
-        if (regionTablePtr->GetType(regionIndex) ==  Adapter) {
-            RegionAnnotation & ra = regionTablePtr->table[regionIndex];
-            adapterIntervals.push_back(ReadInterval(
-                ra.row[RegionAnnotation::RegionStart],
-                ra.row[RegionAnnotation::RegionEnd],
-                ra.row[RegionAnnotation::RegionScore]));
-        }
-    }
-}
-
-#endif
diff --git a/libcpp/alignment/utils/SimpleXMLUtils.hpp b/libcpp/alignment/utils/SimpleXMLUtils.hpp
deleted file mode 100644
index 020a4bb..0000000
--- a/libcpp/alignment/utils/SimpleXMLUtils.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-#ifndef _BLASR_SIMPLE_XML_UTILS_HPP_
-#define _BLASR_SIMPLE_XML_UTILS_HPP_
-
-#include <string>
-#include <sstream>
-
-/*
- * WARNING !!! The functions here use TONS of temoprary variables and are 
- * very slow. Do not use for high-throughput xml generation.
- */
-
-/*
- * none of this is really used... just the keyword value pair items.
- */
-
-template<typename T_String, typename T_Value>
-int OutputKeywordValuePair(T_String title, T_Value value, std::ostream out) {
-	out << title << "=\"" << value << "\" ";
-	return out.good();
-}
-
-template<typename T_String>
-int OutputBeginElement(T_String title, std::ostream out) {
-	out << "<" << title << " ";
-	return 1;
-}
-
-template<typename T_String>
-int OutputEndElement(T_String title, std::ostream out) {
-	out << "/" << title;
-	return 1;
-}
-
-template<typename T_String>
-int OutputElement(T_String title, std::ostream out) {
-	out << "<" << title << " ";
-	return 1;
-}
-
-inline
-void OutputEnd(std::ostream out) {
-	out << "/>";
-}
-
-template<typename T_String, typename T_Value> 
-T_String CreateKeywordValuePair(T_String title, T_Value value) {
-	T_String keywordPair;
-    std::stringstream sstrm;
-	sstrm << title << "=\"" << value << "\"";
-	keywordPair = sstrm.str();
-	return keywordPair;
-}
-
-template<typename T_String>
-T_String BeginDataEntry(T_String id, T_String data) {
-	T_String entry;
-	entry += "<";
-	entry += id;
-	entry += " ";
-	entry += data;
-	entry += ">";
-	return entry;
-}
-
-template<typename T_String>
-T_String EndDataEntry(T_String id) {
-	T_String entry;
-	entry = "<" + id + ">/";
-	return entry;
-}
-
-
-template<typename T_String>
-T_String CreateDataEntry(T_String id, T_String data) {
-	T_String entry;
-	entry += "<";
-	entry += id;
-	entry += " ";
-	entry += data;
-	entry += " />";
-	return entry;
-}
-
-
-template<typename T_String> 
- T_String CreateStartEntry(T_String id, T_String data) {
-	T_String entry;
-	entry = "<" + id + " " + data + ">";
-	return entry;
-}
-
-template<typename T_String>
-T_String CreateEndEntry(T_String id) {
-	T_String entry;
-	entry = "<" + id + "/>";
-	return entry;
-}
-
-#endif
diff --git a/libcpp/alignment/utils/TimeUtils.cpp b/libcpp/alignment/utils/TimeUtils.cpp
deleted file mode 100644
index 94f7851..0000000
--- a/libcpp/alignment/utils/TimeUtils.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <sstream> 
-#include <time.h>
-#include <iomanip> // std::setfill setd::setw
-#include "utils/TimeUtils.hpp"
-
-std::string GetTimestamp() {
-  time_t timer;
-  time(&timer);  // t is an integer type
-  // Prepare timestamp in the format : 2012-04-05T09:26:02.689093
-  std::stringstream timeStrm;
-  struct tm t;
-  localtime_r(&timer, &t);
-  timeStrm << t.tm_year + 1900 << "-"
-           << std::setfill('0') << std::setw(2) << t.tm_mon + 1 << "-"
-           << std::setfill('0') << std::setw(2) << t.tm_mday << "T"
-           << std::setfill('0') << std::setw(2) << t.tm_hour << ":"
-           << std::setfill('0') << std::setw(2) << t.tm_min << ":"
-           << std::setfill('0') << std::setw(2) << t.tm_sec;
-  return timeStrm.str();
-}
diff --git a/libcpp/alignment/utils/TimeUtils.hpp b/libcpp/alignment/utils/TimeUtils.hpp
deleted file mode 100644
index 543d929..0000000
--- a/libcpp/alignment/utils/TimeUtils.hpp
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef _BLASR_TIME_UTILS_HPP_
-#define _BLASR_TIME_UTILS_HPP_ 
-
-#include <string>
-std::string GetTimestamp();
-
-#endif
diff --git a/libcpp/configure.py b/libcpp/configure.py
deleted file mode 100755
index b147c09..0000000
--- a/libcpp/configure.py
+++ /dev/null
@@ -1,268 +0,0 @@
-#!/usr/bin/env python
-"""Configure the build.
-
-- Fetch HDF5 headers.
-- Create libconfig.h
-- Create defines.mk
-
-This is not used by './unittest/'.
-"""
-import commands
-import contextlib
-import os
-import sys
-
-def log(msg):
-    sys.stderr.write(msg)
-    sys.stderr.write('\n')
-
-def shell(cmd):
-    log(cmd)
-    status, output = commands.getstatusoutput(cmd)
-    if status:
-        raise Exception('%d <- %r' %(status, cmd))
-    return output
-
-def update_content(fn, content):
-    current_content = open(fn).read() if os.path.exists(fn) else None
-    if content != current_content:
-        log('writing to %r' %fn)
-        log('"""\n' + content + '"""')
-        open(fn, 'w').write(content)
-
-def compose_libconfig(pbbam=False):
-    if pbbam:
-        content = """
-#define USE_PBBAM
-"""
-    else:
-        content = """
-"""
-    return content
-
-def compose_defines_with_hdf(HDF5_INCLUDE, HDF5_LIB):
-    """We have to use := for HDF5_LIB b/c blasr
-    is using it to mean the directory, not the file,
-    and it's in the environment.
-    """
-    thisdir = os.path.dirname(os.path.abspath(__file__))
-    return """
-HDF5_INCLUDE:=%(HDF5_INCLUDE)s
-HDF5_LIB:=%(HDF5_LIB)s
-#CPPFLAGS+=-I../pbdata -I../hdf -I../alignment
-LIBPBDATA_INCLUDE     ?=../pbdata
-LIBPBIHDF_INCLUDE     ?=../hdf
-LIBBLASR_INCLUDE      ?=../alignment
-LIBPBDATA_LIB     ?=../pbdata/libpbdata.so
-LIBPBIHDF_LIB     ?=../hdf/libpbihdf.so
-LIBBLASR_LIB      ?=../alignment/libblasr.so
-"""%(dict(
-    thisdir=thisdir,
-    HDF5_INCLUDE=HDF5_INCLUDE,
-    HDF5_LIB=HDF5_LIB))
-
-
-def compose_defines_with_hdf_headers(HDF_HEADERS):
-    thisdir = os.path.dirname(os.path.abspath(__file__))
-    return """
-HDF_HEADERS:=%(HDF_HEADERS)s
-#HDF5_INCLUDE?=${HDF_HEADERS}/src
-CPPFLAGS+=-I${HDF_HEADERS}/src -I${HDF_HEADERS}/c++/src
-CPPFLAGS+=-I../pbdata -I../hdf -I../alignment
-LIBPBDATA_LIB     ?=../pbdata/libpbdata.so
-LIBPBIHDF_LIB     ?=../pbdata/libpbihdf.so
-LIBBLASR_LIB      ?=../pbdata/libblasr.so
-"""%(dict(thisdir=thisdir, HDF_HEADERS=HDF_HEADERS))
-
-def compose_defines():
-    """
-    Note that our local 'hdf' subdir will not even build
-    in this case.
-    """
-    thisdir = os.path.dirname(os.path.abspath(__file__))
-    return """
-LIBPBDATA_INCLUDE ?=../pbdata
-LIBPBIHDF_INCLUDE ?=../hdf
-LIBBLASR_INCLUDE  ?=../alignment
-LIBPBDATA_LIB     ?=%(thisdir)s/pbdata/libpbdata.so
-LIBPBIHDF_LIB     ?=%(thisdir)s/pbdata/libpbihdf.so
-LIBBLASR_LIB      ?=%(thisdir)s/pbdata/libblasr.so
-nohdf             ?=1
-"""%(dict(thisdir=thisdir))
-
-def get_OS_STRING():
-    G_BUILDOS_CMD = """bash -c 'set -e; set -o pipefail; id=$(lsb_release -si | tr "[:upper:]" "[:lower:]"); rel=$(lsb_release -sr); case $id in ubuntu) printf "$id-%04d\n" ${rel/./};; centos) echo "$id-${rel%%.*}";; *) echo "$id-$rel";; esac' 2>/dev/null"""
-    return shell(G_BUILDOS_CMD)
-def get_PREBUILT():
-    cmd = 'cd ../../../../prebuilt.out 2>/dev/null && pwd || echo -n notfound'
-    return shell(cmd)
-def get_BOOST_INCLUDE(env):
-    key_bi = 'BOOST_INCLUDE'
-    key_br = 'BOOST_ROOT'
-    if key_bi in env:
-        return env[key_bi]
-    if key_br in env:
-        return env[key_br]
-    return '${PREBUILT}/boost/boost_1_55_0'
-
-def get_PBBAM(env, prefix):
-    """
-    key = 'PBBAM'
-    if key in env:
-        return env[key]
-    cmd = 'cd $(THIRD_PARTY_PREFIX)/../staging/PostPrimary/pbbam 2>/dev/null && pwd || echo -n notfound' %(
-            THIRD_PARTY_PREFIX=prefix)
-    return shell(cmd)
-    """
-def get_HTSLIB(env, prefix):
-    """
-    key = 'HTSLIB'
-    if key in env:
-        return env[key]
-    cmd = 'cd $(THIRD_PARTY_PREFIX)/../staging/PostPrimary/htslib 2>/dev/null && pwd || echo -n notfound' %(
-            THIRD_PARTY_PREFIX=prefix)
-    return shell(cmd)
-    """
-def ifenvf(env, key, func):
-    if key in env:
-        return env[key]
-    else:
-        return func()
-def setifenvf(envout, envin, key, func):
-    envout[key] = ifenvf(envin, key, func)
-def setifenv(envout, envin, key, val):
-    envout[key] = envin.get(key, val)
-def setenv(envout, key, val):
-    envout[key] = val
-def update_env_if(envout, envin, keys):
-    for key in keys:
-        if key in envin:
-            envout[key] = envin[key]
-def compose_defs_env(env):
-    # We disallow env overrides for anything with a default from GNU make.
-    nons = ['CXX', 'CC', 'AR'] # 'SHELL'?
-    ovr    = ['%-20s ?= %s' %(k, v) for k,v in env.items() if k not in nons]
-    nonovr = ['%-20s := %s' %(k, v) for k,v in env.items() if k in nons]
-    return '\n'.join(ovr + nonovr + [''])
-def compose_defines_pacbio(envin):
-    """
-    This is used by mobs via buildcntl.sh.
-    """
-    env = dict()
-    setenv(env, 'SHELL', 'bash')
-    setifenvf(env, envin, 'OS_STRING', get_OS_STRING)
-    setifenvf(env, envin, 'PREBUILT', get_PREBUILT)
-    setifenv(env, envin, 'LIBPBDATA_INCLUDE', '../pbdata')
-    setifenv(env, envin, 'LIBPBIHDF_INCLUDE', '../hdf')
-    setifenv(env, envin, 'LIBBLASR_INCLUDE', '../alignment')
-    setifenv(env, envin, 'LIBPBDATA_LIB', '../pbdata/libpbdata.so')
-    setifenv(env, envin, 'LIBPBIHDF_LIB', '../hdf/libpbihdf.so')
-    setifenv(env, envin, 'LIBBLASR_LIB', '../alignment/libblasr.so')
-    if 'nohdf' in envin:
-        env['nohdf'] = envin['nohdf']
-        # Otherwise, do not define it at all.
-    nondefaults = set([
-            'CXX', 'AR',
-            'HDF5_INCLUDE', 'HDF5_LIB',
-            'PBBAM_INCLUDE', 'PBBAM_LIB',
-            'HTSLIB_INCLUDE', 'HTSLIB_LIB',
-            'BOOST_INCLUDE',
-            'ZLIB_LIB',
-    ])
-    update_env_if(env, envin, nondefaults)
-    return compose_defs_env(env)
-
-
- at contextlib.contextmanager
-def cd(nwd):
-    cwd = os.getcwd()
-    log('cd %r -> %r' %(cwd, nwd))
-    os.chdir(nwd)
-    yield
-    os.chdir(cwd)
-    log('cd %r <- %r' %(cwd, nwd))
-
-def fetch_hdf5_headers():
-    """Fetch into ./hdf/HEADERS directory.
-    Return actual directory path, relative to subdirs.
-    """
-    version = 'hdf5-1.8.12-headers'
-    if not os.path.isdir(os.path.join('hdf', version)):
-        with cd('hdf'):
-            cmd = 'curl -k -L https://www.dropbox.com/s/8971bcyy5o42rxb/hdf5-1.8.12-headers.tar.bz2\?dl\=0 | tar xjf -'
-            shell(cmd)
-    return os.path.join('../hdf', version) # Relative path might help caching.
-
-def update(content_defines_mk, content_libconfig_h):
-    """ Write these relative to the same directory as *this* file.
-    """
-    thisdir = os.path.dirname(os.path.abspath(__file__))
-    fn_defines_mk = os.path.join(thisdir, 'defines.mk')
-    update_content(fn_defines_mk, content_defines_mk)
-    fn_libconfig_h = os.path.join(thisdir, 'pbdata', 'libconfig.h')
-    update_content(fn_libconfig_h, content_libconfig_h)
-
-def configure_nopbbam():
-    """Use HDF5 from env-vars.
-    This is the path used by blasr in a GitHub build, for now.
-    """
-    HDF5_INCLUDE = os.environ.get('HDF5_INCLUDE')
-    if not HDF5_INCLUDE:
-        HDF5_INCLUDE = os.environ['HDF5_INC']
-    HDF5_LIB = os.environ['HDF5_LIB']
-    content1 = compose_defines_with_hdf(HDF5_INCLUDE, HDF5_LIB)
-    content2 = compose_libconfig(pbbam=False)
-    update(content1, content2)
-
-def configure_nopbbam_skip_hdf():
-    """Fetch HDF5 headers.
-    We lack HDF5 libs, so we cannot build our hdf/ subdir.
-    But the others are fine.
-    """
-    HDF_HEADERS = fetch_hdf5_headers()
-    content1 = compose_defines_with_hdf_headers(HDF_HEADERS)
-    content2 = compose_libconfig(pbbam=False)
-    update(content1, content2)
-
-def configure_nopbbam_nohdf5():
-    content1 = compose_defines()
-    content2 = compose_libconfig(pbbam=False)
-    update(content1, content2)
-
-def configure_pacbio(envin):
-    content1 = compose_defines_pacbio(envin)
-    content2 = compose_libconfig(pbbam=True)
-    update(content1, content2)
-
-def get_make_style_env(envin, args):
-    envout = dict()
-    for arg in args:
-        if '=' in arg:
-            k, v = arg.split('=')
-            envout[k] = v
-    envout.update(envin)
-    return envout
-
-def main(prog, *args):
-    """We are still deciding what env-vars to use, if any.
-    """
-    if 'NOPBBAM' in os.environ:
-        if 'NOHDF' in os.environ:
-            configure_nopbbam_nohdf5()
-        else:
-            if 'HDF5_LIB' in os.environ:
-                assert 'HDF5_INC' in os.environ or 'HDF5_INCLUDE' in os.environ, 'Hey! You have HDF5_LIB but not HDF5_INCLUDE!'
-                if 'HDF5_INC' not in os.environ:
-                    print "NOT1"
-                if 'HDF5_INCLUDE' not in os.environ:
-                    print "NOT2"
-                configure_nopbbam()
-            else:
-                configure_nopbbam_skip_hdf()
-    else:
-        envin = get_make_style_env(os.environ, args)
-        configure_pacbio(envin)
-
-
-if __name__=="__main__":
-    main(*sys.argv)
diff --git a/libcpp/hdf/BufferedHDF2DArray.cpp b/libcpp/hdf/BufferedHDF2DArray.cpp
deleted file mode 100644
index 204d4d7..0000000
--- a/libcpp/hdf/BufferedHDF2DArray.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-#include "BufferedHDF2DArray.hpp"
-/*
- *
- * Implementation of a 2-D array for IO from an HDF array.
- * This is templated, but specialized for a few data types, so that 
- * the HDF data types do not need to be specified by somebody when reading.
- *
- * Currently no support exists for reading non-contiguous blocks of data, and
- * the main intended use is to read in increments of rows.
-
- int main(int argc, char* argv[]) {
-	if (argc < 1) {
-		cout << "usage: testHDFReading hdfFile" << endl;
-		exit(0);
-	}
-
-	string hdfFileName = argv[1];
-	
-	H5File hdfFile;
-	hdfFile.openFile(hdfFileName.c_str(), H5F_ACC_RDONLY, H5P_DEFAULT);
-	BufferedHDF2DArray<uint16_t> xyArray;
-	xyArray.Initialize(hdfFile, "PulseData/BaseCalls/ZMW/HoleXY");
-	int curX = 0;
-	xyArray.Read(curX, curX + 1, 0, 2, holeXY);
-
-	or, to read a row:
-	xyArray.Read(curX, curX+1, holeXY);
-
- */
-
-UInt GetDatasetNDim(H5::CommonFG &parentGroup, std::string datasetName) {
-    HDFData tmpDataset;
-    tmpDataset.InitializeDataset(parentGroup, datasetName);
-    H5::DataSpace dataspace = tmpDataset.dataset.getSpace();
-    UInt nDims = dataspace.getSimpleExtentNdims();
-    dataspace.close();
-    tmpDataset.dataset.close();
-    return nDims;
-}
-
-#define DEFINE_TYPED_WRITE_ROW(T, Pred) template<>\
-void BufferedHDF2DArray<T>::TypedWriteRow(const T *data, const H5::DataSpace &memorySpace, const H5::DataSpace &fileSpace) {\
-	dataset.write(data, Pred, memorySpace, fileSpace);\
-}
-
-DEFINE_TYPED_WRITE_ROW(int, H5::PredType::NATIVE_INT)
-DEFINE_TYPED_WRITE_ROW(unsigned int, H5::PredType::NATIVE_UINT)
-DEFINE_TYPED_WRITE_ROW(unsigned char, H5::PredType::NATIVE_UINT8)
-DEFINE_TYPED_WRITE_ROW(uint16_t, H5::PredType::NATIVE_UINT16)
-DEFINE_TYPED_WRITE_ROW(int16_t, H5::PredType::NATIVE_INT16)
-DEFINE_TYPED_WRITE_ROW(float, H5::PredType::NATIVE_FLOAT)
-
-
-#define DEFINE_TYPED_READ_ROW(T, Pred) template<>\
-void BufferedHDF2DArray<T>::Read(int startX, int endX, int startY, int endY, T* dest) {\
-	Read(startX, endX, startY, endY, Pred, dest);\
-}
-
-DEFINE_TYPED_READ_ROW(int, H5::PredType::NATIVE_INT)
-DEFINE_TYPED_READ_ROW(unsigned int, H5::PredType::NATIVE_UINT)
-DEFINE_TYPED_READ_ROW(char, H5::PredType::NATIVE_INT8)
-DEFINE_TYPED_READ_ROW(unsigned char, H5::PredType::NATIVE_UINT8)
-DEFINE_TYPED_READ_ROW(uint16_t, H5::PredType::NATIVE_UINT16)
-DEFINE_TYPED_READ_ROW(int16_t, H5::PredType::NATIVE_INT16)
-DEFINE_TYPED_READ_ROW(float, H5::PredType::NATIVE_FLOAT)
-
-#define DEFINE_TYPED_CREATE_ROW(T, Pred) template<>\
-void BufferedHDF2DArray<T>::TypedCreate(H5::DataSpace &fileSpace, H5::DSetCreatPropList &cparms) {\
-	dataset = container->createDataSet(datasetName.c_str(), Pred, fileSpace, cparms);\
-}
-
-DEFINE_TYPED_CREATE_ROW(int, H5::PredType::NATIVE_INT)
-DEFINE_TYPED_CREATE_ROW(unsigned int, H5::PredType::NATIVE_UINT)
-DEFINE_TYPED_CREATE_ROW(char, H5::PredType::NATIVE_INT8)
-DEFINE_TYPED_CREATE_ROW(unsigned char, H5::PredType::NATIVE_UINT8)
-DEFINE_TYPED_CREATE_ROW(uint16_t, H5::PredType::NATIVE_UINT16)
-DEFINE_TYPED_CREATE_ROW(int16_t, H5::PredType::NATIVE_INT16)
-DEFINE_TYPED_CREATE_ROW(float, H5::PredType::NATIVE_FLOAT)
-
diff --git a/libcpp/hdf/BufferedHDF2DArray.hpp b/libcpp/hdf/BufferedHDF2DArray.hpp
deleted file mode 100644
index 36a4a33..0000000
--- a/libcpp/hdf/BufferedHDF2DArray.hpp
+++ /dev/null
@@ -1,158 +0,0 @@
-#ifndef _BLASR_HDF_BUFFERED_HDF_2D_ARRAY_HPP_
-#define _BLASR_HDF_BUFFERED_HDF_2D_ARRAY_HPP_
-
-#include <cstdlib>
-#include <iostream>
-#include <string>
-
-#include "H5Cpp.h"
-
-#include "Types.h"
-#include "HDFConfig.hpp"
-#include "HDFData.hpp"
-#include "HDFGroup.hpp"
-#include "HDFWriteBuffer.hpp"
-
-/*
- *
- * Implementation of a 2-D array for IO from an HDF array.
- * This is templated, but specialized for a few data types, so that 
- * the HDF data types do not need to be specified by somebody when reading.
- *
- * Currently no support exists for reading non-contiguous blocks of data, and
- * the main intended use is to read in increments of rows.
-
- int main(int argc, char* argv[]) {
-	if (argc < 1) {
-		cout << "usage: testHDFReading hdfFile" << endl;
-		exit(0);
-	}
-
-	std::string hdfFileName = argv[1];
-	
-	H5File hdfFile;
-	hdfFile.openFile(hdfFileName.c_str(), H5F_ACC_RDONLY, H5P_DEFAULT);
-	BufferedHDF2DArray<uint16_t> xyArray;
-	xyArray.Initialize(hdfFile, "PulseData/BaseCalls/ZMW/HoleXY");
-	int curX = 0;
-	xyArray.Read(curX, curX + 1, 0, 2, holeXY);
-
-	or, to read a row:
-	xyArray.Read(curX, curX+1, holeXY);
-
- *
- */
-template<typename T>
-class BufferedHDF2DArray : public HDFData, public HDFWriteBuffer<T> {
-
-private:
-    hsize_t   nDims;
-    hsize_t   *dimSize;
-    int       maxDims;
-    int       rowLength, colLength;
-
-public:
-
-    BufferedHDF2DArray(H5::CommonFG *_container, std::string _datasetName); 
-
-    BufferedHDF2DArray();
-
-    unsigned int GetNRows();
-
-    unsigned int GetNCols(); 
-
-    void Close(); 
-
-    ~BufferedHDF2DArray(); 
-
-    int InitializeForReading(HDFGroup &group, std::string datasetName);
-
-    /*
-     * Initialize HDF2D for reading.  No write buffer initialization is
-     * required.  The assumption is that the dataspace is in two
-     * dimensions, and this exits without grace if it is not. 
-     */
-    int Initialize(HDFGroup &group, std::string datasetName, unsigned int _rowLength=0, 
-        int _bufferSize=0, bool createIfMissing=true); 
-
-    int size(); 
-
-    /*
-     * Read rows in the range (startX, endX] in to dest.
-     */
-
-    void Read(int startX, int endX, H5::DataType typeID, T*dest); 
-
-    void Read(int startX, int endX, T*dest); 
-
-    /*
-     * This is the non-specialized definition.  Since this should only
-     * operate on specialized types, report an error and bail.
-     */
-    void Read(int startX, int endX, int startY, int endY, T* dest); 
-
-    void Read(int startX, int endX, int startY, int endY, H5::DataType typeID, 
-        T *dest); 
-
-    void Create(H5::CommonFG *_container, std::string _datasetName, unsigned int _rowLength); 
-
-    void TypedCreate(H5::DataSpace &fileSpace, H5::DSetCreatPropList &cparms); 
-    
-    // Append
-    void TypedWriteRow(const T*, const H5::DataSpace &memoryDataSpace, 
-        const H5::DataSpace &fileDataSpace); 
-
-    /*
-     * This code is copied directly form BufferedHDFArray.  I'm not sure
-     * how to set up the objects nicely to share the code between the
-     * two since the Flush() function is different.  There probably is a
-     * design pattern or simply better way to engineer this, but for now
-     * it's 15 lines of code.
-     */
-    void WriteRow(const T *data, int dataLength, int destRow=-1); 
-
-    void Flush(int destRow = -1); 
-};
-
-UInt GetDatasetNDim(H5::CommonFG &parentGroup, std::string datasetName);
-
-#define DECLARE_TYPED_WRITE_ROW(T, Pred) template<>\
-void BufferedHDF2DArray<T>::TypedWriteRow(const T *data, \
-    const H5::DataSpace &memorySpace, const H5::DataSpace &fileSpace) ;
-
-
-DECLARE_TYPED_WRITE_ROW(int, H5::PredType::NATIVE_INT)
-DECLARE_TYPED_WRITE_ROW(unsigned int, H5::PredType::NATIVE_UINT)
-DECLARE_TYPED_WRITE_ROW(unsigned char, H5::PredType::NATIVE_UINT8)
-DECLARE_TYPED_WRITE_ROW(uint16_t, H5::PredType::NATIVE_UINT16)
-DECLARE_TYPED_WRITE_ROW(int16_t, H5::PredType::NATIVE_INT16)
-DECLARE_TYPED_WRITE_ROW(float, H5::PredType::NATIVE_FLOAT)
-
-
-#define DECLARE_TYPED_READ_ROW(T, Pred) template<>\
-void BufferedHDF2DArray<T>::Read(int startX, int endX, int startY, int endY, T* dest);
-
-
-DECLARE_TYPED_READ_ROW(int, H5::PredType::NATIVE_INT)
-DECLARE_TYPED_READ_ROW(unsigned int, H5::PredType::NATIVE_UINT)
-DECLARE_TYPED_READ_ROW(char, H5::PredType::NATIVE_INT8)
-DECLARE_TYPED_READ_ROW(unsigned char, H5::PredType::NATIVE_UINT8)
-DECLARE_TYPED_READ_ROW(uint16_t, H5::PredType::NATIVE_UINT16)
-DECLARE_TYPED_READ_ROW(int16_t, H5::PredType::NATIVE_INT16)
-DECLARE_TYPED_READ_ROW(float, H5::PredType::NATIVE_FLOAT)
-
-#define DECLARE_TYPED_CREATE_ROW(T, Pred)template<>\
-void BufferedHDF2DArray<T>::TypedCreate(H5::DataSpace &fileSpace, \
-    H5::DSetCreatPropList &cparms) ;
-
-DECLARE_TYPED_CREATE_ROW(int, H5::PredType::NATIVE_INT)
-DECLARE_TYPED_CREATE_ROW(unsigned int, H5::PredType::NATIVE_UINT)
-DECLARE_TYPED_CREATE_ROW(char, H5::PredType::NATIVE_INT8)
-DECLARE_TYPED_CREATE_ROW(unsigned char, H5::PredType::NATIVE_UINT8)
-DECLARE_TYPED_CREATE_ROW(uint16_t, H5::PredType::NATIVE_UINT16)
-DECLARE_TYPED_CREATE_ROW(int16_t, H5::PredType::NATIVE_INT16)
-DECLARE_TYPED_CREATE_ROW(float, H5::PredType::NATIVE_FLOAT)
-
-#include "BufferedHDF2DArrayImpl.hpp"
-
-#endif
diff --git a/libcpp/hdf/BufferedHDF2DArrayImpl.hpp b/libcpp/hdf/BufferedHDF2DArrayImpl.hpp
deleted file mode 100644
index 49336ef..0000000
--- a/libcpp/hdf/BufferedHDF2DArrayImpl.hpp
+++ /dev/null
@@ -1,379 +0,0 @@
-#ifndef _BLASR_HDF_BUFFERED_HDF_2D_ARRAY_IMPL_HPP_
-#define _BLASR_HDF_BUFFERED_HDF_2D_ARRAY_IMPL_HPP_
-
-#include <cstring>
-#include <cassert>
-
-template<typename T>
-BufferedHDF2DArray<T>::BufferedHDF2DArray(H5::CommonFG *_container, 
-    std::string _datasetName) : HDFData(_container, _datasetName) {}
-
-template<typename T>
-BufferedHDF2DArray<T>::BufferedHDF2DArray() : HDFData() {
-    maxDims = 0;
-    nDims = 2;
-    dimSize =NULL;
-    rowLength = -1;
-    colLength = -1;
-}
-
-template<typename T>
-unsigned int BufferedHDF2DArray<T>::GetNRows() {
-    return rowLength;
-}
-
-template<typename T>
-unsigned int BufferedHDF2DArray<T>::GetNCols() {
-    return colLength;
-}
-
-template<typename T>
-void BufferedHDF2DArray<T>::Close() {
-
-    //
-    // Clean up the write buffer.
-    //
-    //		Flush();
-    if (dimSize != NULL) {
-        delete[] dimSize;
-        dimSize = NULL;
-    }
-    this->HDFWriteBuffer<T>::Free();
-}
-
-template<typename T>
-BufferedHDF2DArray<T>::~BufferedHDF2DArray() {
-    Close();
-}
-
-template<typename T>
-int BufferedHDF2DArray<T>::InitializeForReading(HDFGroup& group, std::string datasetName)
-{
-    return Initialize(group, datasetName, 0, 0, false);
-}
-
-/*
- * Initialize HDF2D for reading.  No write buffer initialization is
- * required.  The assumption is that the dataspace is in two
- * dimensions, and this exits without grace if it is not. 
- */
-template<typename T>
-int BufferedHDF2DArray<T>::Initialize(HDFGroup &group, std::string datasetName,
-    unsigned int _rowLength, int _bufferSize, bool createIfMissing) {
-
-    bool groupContainsDataset = group.ContainsObject(datasetName);
-    if (groupContainsDataset == false) {
-        //
-        // Do some error checking.
-        //
-        if (createIfMissing == false) {
-            std::cout << "ERROR! Could not open dataset " << datasetName << std::endl;
-            exit(1);
-        }
-        if (_rowLength == 0) {
-            std::cout << "ERROR!  Improper usage of BufferedHDF2DArray::Initialize.  The 2D Array "<<std::endl
-                << "is being created but is given a number of columns of 0." << std::endl;
-            exit(1);
-        }
-        Create(&group.group, datasetName, _rowLength);
-    }
-    else {
-        InitializeDataset(group.group, datasetName);
-        try {
-            dataspace = dataset.getSpace();
-        }
-        catch(H5::DataSetIException &e) { 
-            std::cout << e.getDetailMsg() << std::endl;
-            exit(1);
-        }
-
-        maxDims   = MAX_DIMS;
-        try {
-            nDims     = dataspace.getSimpleExtentNdims();
-            /*
-             * Prevent abuse of this class for multidimensional IO.
-             */
-            if (nDims != 2) {
-                std::cout << "ERROR in HDF format: dataset: " << datasetName << " should be 1-D, but it is not." << std::endl;
-                exit(1);
-            }
-
-            /*
-             * Load in the size of this dataset, and make a map to the whole thing.
-             */
-            if (dimSize) {
-                delete [] dimSize;
-            }
-            dimSize = new hsize_t[nDims];
-            dataspace.getSimpleExtentDims(dimSize);
-            rowLength = dimSize[0];
-            colLength = dimSize[1];
-            if (rowLength == 0) {
-                dataspace.close();
-                return 1;
-            }
-            fullSourceSpace = H5::DataSpace(2, dimSize);
-            dataspace.close();
-        }
-        catch(H5::Exception &e) {
-            std::cout << e.getDetailMsg() << std::endl;
-            exit(1);
-        }
-    }
-    return 1;
-}
-
-template<typename T>
-int BufferedHDF2DArray<T>::size() {
-    // Why assert nDims == 1 for 2D Array?
-    assert(nDims == 1);
-    dataspace.getSimpleExtentDims(dimSize);
-    return dimSize[0];
-}
-
-/*
- * Read rows in the range (startX, endX] in to dest.
- */
-template<typename T>
-void BufferedHDF2DArray<T>::Read(int startX, int endX, H5::DataType typeID, T*dest) {
-    Read(startX, endX, 0, dimSize[1], typeID, dest);
-}
-
-template<typename T>
-void BufferedHDF2DArray<T>::Read(int startX, int endX, T*dest) {
-    Read(startX, endX, 0, dimSize[1], dest);
-}
-/*
- * This is the non-specialized definition.  Since this should only
- * operate on specialized types, report an error and bail.
- */
-template<typename T>
-void BufferedHDF2DArray<T>::Read(int startX, int endX, int startY, int endY, T* dest) {
-    assert("ERROR, calling Read with an unsupported type. Use Read(startx,endx, starty,endy,datatype, dest) instead." == 0);
-    exit(1);
-}
-
-template<typename T>
-void BufferedHDF2DArray<T>::Read(int startX, int endX, int startY, int endY, H5::DataType typeID, T *dest) {
-    hsize_t memSpaceSize[2] = {0, 0};
-    memSpaceSize[0] = endX - startX;
-    memSpaceSize[1] = endY - startY;
-    hsize_t sourceSpaceOffset[2] = {0, 0};
-    sourceSpaceOffset[0] = startX;
-    sourceSpaceOffset[1] = startY;
-
-    H5::DataSpace destSpace(2, memSpaceSize);		
-    fullSourceSpace.selectHyperslab(H5S_SELECT_SET, memSpaceSize, sourceSpaceOffset);
-    dataset.read(dest, typeID, destSpace, fullSourceSpace);
-    destSpace.close();
-}
-
-template<typename T>
-void BufferedHDF2DArray<T>::Create(H5::CommonFG *_container, string _datasetName, unsigned int _rowLength) {
-    container   = _container;
-    datasetName = _datasetName;
-    rowLength   = (unsigned int)_rowLength;
-    //
-    // Make life easy if the buffer is too small to fit a row --
-    // resize it so that rows may be copied and written out in an
-    // atomic unit.
-    //
-    if (this->bufferSize < rowLength) {
-        // When the buffer size is greater than 0, the write buffer
-        // should exist.
-        if (this->bufferSize > 0) {
-            assert(this->writeBuffer != NULL);
-            delete[] this->writeBuffer;
-        }
-        this->writeBuffer = new T[rowLength];
-        this->bufferSize = rowLength;
-    }
-
-    hsize_t dataSize[2]    = {0, hsize_t(rowLength)};
-    hsize_t maxDataSize[2] = {H5S_UNLIMITED, hsize_t(rowLength)};
-    H5::DataSpace fileSpace(2, dataSize, maxDataSize);
-    H5::DSetCreatPropList cparms;
-
-    /*
-     * For some reason, chunking must be enabled when creating a dataset
-     * that  has an unlimited dimension.  Of course, this is not
-     * mentioned in the hdf5 c++ documentation, because that
-     * docuemntation was written for people who enjoy learning how to
-     * use an API by reading comments in source code.
-     */
-    hsize_t chunkDims[2] = {16384, hsize_t(rowLength)};
-    cparms.setChunk( 2, chunkDims );
-    TypedCreate(fileSpace, cparms);
-    fileSpace.close();
-
-    //
-    // Set some flags that indicate this dataset is ready for writing.
-    //
-    fileDataSpaceInitialized = true;
-    isInitialized = true;
-}
-
-template<typename T>
-void BufferedHDF2DArray<T>::TypedCreate(H5::DataSpace &fileSpace, 
-    H5::DSetCreatPropList &cparms) {
-
-    assert("Error, calling HDF2DArray<T>::TypedCreate on an unsupported type.  A specialization must be written in HDF2DArray.h" == 0);
-}
-
-// Append
-template<typename T>
-void TypedWriteRow(const T*, const H5::DataSpace &memoryDataSpace, 
-    const H5::DataSpace &fileDataSpace) {
-
-    assert("Error, calling HDF2DArray<T>::TypedWriteRow on an unsupported type.  A specialization must be written in HDF2DArray.h" == 0);
-}
-
-
-/*
- * This code is copied directly form BufferedHDFArray.  I'm not sure
- * how to set up the objects nicely to share the code between the
- * two since the Flush() function is different.  There probably is a
- * design pattern or simply better way to engineer this, but for now
- * it's 15 lines of code.
- */
-
-template<typename T>
-void BufferedHDF2DArray<T>::WriteRow(const T *data, int dataLength, int destRow) {
-    // Fill the buffer with data. When there is overflow, write
-    // that out to disk.
-    //
-    int dataIndex = 0;
-    int bufferCapacity;
-    int bufferFillSize = 0;
-    bool flushBuffer;
-    while(dataIndex < dataLength) {
-        //
-        // Compute the capacity of this buffer to fit an integral number
-        // of rows into it.
-        //
-        bufferCapacity = (this->bufferSize / rowLength)*rowLength - this->bufferIndex;
-        flushBuffer = false;
-        if (bufferCapacity  > dataLength - dataIndex) {
-            bufferFillSize = dataLength - dataIndex;
-        }
-        else {
-            bufferFillSize = bufferCapacity;
-            flushBuffer = true;
-        }
-        memcpy((void*) &this->writeBuffer[this->bufferIndex], (void*) &data[dataIndex], sizeof(T)*bufferFillSize);
-        dataIndex   += bufferFillSize;
-        this->bufferIndex += bufferFillSize;
-        if (flushBuffer) {
-            Flush(destRow);
-        }
-        //
-        //  When not appending, increment the position of where the data
-        //  is to be written.
-        //
-        if (destRow != -1) {
-            destRow += this->bufferIndex / rowLength;
-        }
-    }
-}
-
-template<typename T>
-void BufferedHDF2DArray<T>::Flush(int destRow) {
-
-    //
-    // A default writeRow of -1 implies append
-    //
-    int numRowsToCreate; // FIXME(yli): why is numRowsToCreate assigned but not used?
-    int numDataRows;
-    //
-    // this->bufferIndex points after the end of the last data in the
-    // buffer (full rows), so this->bufferIndex / rowLength is the
-    // number of number of rows to create.
-    //
-    numDataRows = this->bufferIndex / rowLength;
-
-    if (destRow < 0) {
-        numRowsToCreate = this->bufferIndex / rowLength;  
-    }
-    else {
-        numRowsToCreate = this->bufferIndex / rowLength + destRow;
-    }
-    if (numDataRows > 0) {
-        assert(fileDataSpaceInitialized);
-
-        H5::DataSpace fileSpace;
-        fileSpace = dataset.getSpace();
-
-        //
-        // Load the current size of the array on disk.
-        //
-        hsize_t fileArraySize[2], fileArrayMaxSize[2], blockStart[2];
-        fileSpace.getSimpleExtentDims(fileArraySize, fileArrayMaxSize);
-
-        // Save this for later to determine the offsets
-        blockStart[0] = fileArraySize[0];
-        blockStart[1] = fileArraySize[1];
-
-        //
-        // Calculate the number of rows to create.  This is dependent
-        // on the current file size, the destination of where the data
-        // will go, and how much to write.
-        //
-
-        if (destRow == -1) {
-            fileArraySize[0] += numDataRows;
-        }
-        else {
-            // If the data cannot fit in the current file size, extend
-            // it,  otherwise, do not toch the file array size.
-            if (destRow + numDataRows > fileArraySize[0]) {
-                fileArraySize[0] = destRow + numDataRows;
-            }
-        }
-
-        //
-        // Make room in the file for the array.
-        //
-        dataset.extend(fileArraySize);
-
-        H5::DataSpace extendedSpace = dataset.getSpace();
-        //
-        // Store the newly dimensioned dataspaces.
-        //
-        fileSpace.getSimpleExtentDims(fileArraySize, fileArrayMaxSize);			
-        //int extendedSize = extendedSpace.getSimpleExtentNpoints(); // FIXME(yli): should this be used??
-        //
-        // Configure the proper addressing to append to the array.
-        //
-        hsize_t dataSize[2];
-        dataSize[0] = numDataRows;
-        dataSize[1] = rowLength;
-        hsize_t offset[2];
-        //
-        // Determine which row to write to.
-        //
-        if (destRow == -1) {
-            offset[0] = blockStart[0];
-        }
-        else {
-            offset[0] = destRow;
-        }
-        offset[1] = 0;
-        extendedSpace.selectHyperslab(H5S_SELECT_SET, dataSize, offset);
-        H5::DataSpace memorySpace(2, dataSize);
-
-        //
-        // Finally, write out the data.  
-        // This uses a generic function which is specialized with
-        // templates later on to t
-        // memorySpace addresses the entire array in linear format
-        // fileSpace addresses the last dataLength blocks of dataset.
-        //
-        TypedWriteRow(this->writeBuffer, memorySpace, extendedSpace);
-        memorySpace.close();
-        extendedSpace.close();
-        fileSpace.close();
-    }
-    this->ResetWriteBuffer();
-}
-
-#endif // _BLASR_HDF_BUFFERED_HDF_2D_ARRAY_IMPL_HPP_
diff --git a/libcpp/hdf/BufferedHDFArray.cpp b/libcpp/hdf/BufferedHDFArray.cpp
deleted file mode 100644
index a23f6f8..0000000
--- a/libcpp/hdf/BufferedHDFArray.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-#include "BufferedHDFArray.hpp"
-
-/*
- *
- * Implementation of a 1-D array for IO from an HDF array.
- * This is templated, but specialized for a few data types, so that 
- * the HDF data types do not need to be specified by anybody.
- *
- *  Two examples of the usage of this class follow:
- *
- *	HDFArray<int> nElemArray;
- * 	nElemArray.Initialize(hdfFile, "PulseData/BaseCalls/ZMW/NumEvent");
- *  nElemArray.Read(i, i+1, &nElem);
- *
- * 	HDFArray<unsigned char> qualArray;
- *	qualArray.Initialize(hdfFile, "PulseData/BaseCalls/QualityValue");
- *  qualArray.Read(cur, cur + nElem, qual);
- *
- */
-
-//
-// Type specializations for some standard types. Use the macro for
-// vanilla specializations (that only require the HDF type ID to be
-// specified). 
-//
-#define DEFINE_TYPED_READ_ARRAY(T, Pred) template<>  \
-   	void BufferedHDFArray<T>::Read(UInt start, UInt end, T* dest) { \
-   	Read(start,end, Pred, dest); \
-	}
-
-DEFINE_TYPED_READ_ARRAY(int, H5::PredType::NATIVE_INT)
-DEFINE_TYPED_READ_ARRAY(char, H5::PredType::NATIVE_INT8)
-DEFINE_TYPED_READ_ARRAY(unsigned char, H5::PredType::NATIVE_UINT8)
-DEFINE_TYPED_READ_ARRAY(unsigned int, H5::PredType::NATIVE_UINT)
-DEFINE_TYPED_READ_ARRAY(uint16_t, H5::PredType::NATIVE_UINT16)
-DEFINE_TYPED_READ_ARRAY(float, H5::PredType::NATIVE_FLOAT)
-DEFINE_TYPED_READ_ARRAY(char*, H5::PredType::C_S1)
-
-
-#define DEFINE_TYPED_READ_DATASET(T, Pred) template<> \
-	void BufferedHDFArray<T>::ReadDataset(std::vector<T> &dest) { \
-	dest.resize(arrayLength); \
-  Read(0, arrayLength, Pred, &dest[0]); \
-}
-
-DEFINE_TYPED_READ_DATASET(int, H5::PredType::NATIVE_INT)
-DEFINE_TYPED_READ_DATASET(char, H5::PredType::NATIVE_INT8)
-DEFINE_TYPED_READ_DATASET(unsigned char, H5::PredType::NATIVE_UINT8)
-DEFINE_TYPED_READ_DATASET(unsigned int, H5::PredType::NATIVE_UINT)
-DEFINE_TYPED_READ_DATASET(uint16_t, H5::PredType::NATIVE_UINT16)
-DEFINE_TYPED_READ_DATASET(float, H5::PredType::NATIVE_FLOAT)
-DEFINE_TYPED_READ_DATASET(char*, H5::PredType::C_S1)
-
-
-#define DEFINE_TYPED_CREATE_ARRAY(T, Pred) template<> \
-	void BufferedHDFArray<T>::TypedCreate(H5::DataSpace &fileSpace, H5::DSetCreatPropList &cparms) { \
-	T zero; zero = 0;\
-	cparms.setFillValue(Pred, &zero);\
-	dataset = container->createDataSet(datasetName.c_str(), Pred, fileSpace, cparms); \
-}
-
-DEFINE_TYPED_CREATE_ARRAY(int, H5::PredType::NATIVE_INT)
-DEFINE_TYPED_CREATE_ARRAY(char, H5::PredType::NATIVE_INT8)
-DEFINE_TYPED_CREATE_ARRAY(char*, H5::StrType(0,H5T_VARIABLE))
-DEFINE_TYPED_CREATE_ARRAY(unsigned char, H5::PredType::NATIVE_UINT8)
-DEFINE_TYPED_CREATE_ARRAY(unsigned int, H5::PredType::NATIVE_UINT)
-DEFINE_TYPED_CREATE_ARRAY(float, H5::PredType::NATIVE_FLOAT)
-DEFINE_TYPED_CREATE_ARRAY(uint16_t, H5::PredType::NATIVE_UINT16)
-
-template<>
-void BufferedHDFArray<string>::TypedCreate(H5::DataSpace &space, H5::DSetCreatPropList &cparms) {
-    H5::StrType varStrType(0,H5T_VARIABLE);
-    dataset = container->createDataSet(datasetName.c_str(), varStrType, space, cparms);
-}
-
-
-#define DEFINE_TYPED_WRITE_ARRAY(T, Pred) template<> \
-void BufferedHDFArray<T>::TypedWrite(const T *data, \
-    const H5::DataSpace &memorySpace, const H5::DataSpace &fileSpace) { \
-    dataset.write(data, Pred, memorySpace, fileSpace); \
-}
-
-DEFINE_TYPED_WRITE_ARRAY(int, H5::PredType::NATIVE_INT)
-DEFINE_TYPED_WRITE_ARRAY(unsigned int, H5::PredType::NATIVE_UINT)
-DEFINE_TYPED_WRITE_ARRAY(unsigned char, H5::PredType::NATIVE_UINT8)
-DEFINE_TYPED_WRITE_ARRAY(char, H5::PredType::NATIVE_INT8)
-DEFINE_TYPED_WRITE_ARRAY(float, H5::PredType::NATIVE_FLOAT)
-DEFINE_TYPED_WRITE_ARRAY(uint16_t, H5::PredType::NATIVE_UINT16)
-DEFINE_TYPED_WRITE_ARRAY(char*, H5::StrType(0,H5T_VARIABLE))
-DEFINE_TYPED_WRITE_ARRAY(std::string, H5::StrType(0,H5T_VARIABLE))
-
-
diff --git a/libcpp/hdf/BufferedHDFArray.hpp b/libcpp/hdf/BufferedHDFArray.hpp
deleted file mode 100644
index cb1037e..0000000
--- a/libcpp/hdf/BufferedHDFArray.hpp
+++ /dev/null
@@ -1,207 +0,0 @@
-#ifndef _BLASR_BUFFERED_HDF_ARRAY_HPP_
-#define _BLASR_BUFFERED_HDF_ARRAY_HPP_
-
-#include <cassert>
-#include <cstdint>
-#include <string>
-#include <vector>
-
-// HDF5 library includes
-#include "hdf5.h"
-#include "H5Cpp.h"
-
-#include "Types.h"
-#include "HDFConfig.hpp"
-#include "HDFData.hpp"
-#include "HDFGroup.hpp"
-#include "HDFWriteBuffer.hpp"
-#include "HDFFile.hpp"
-#include "DNASequence.hpp"
-#include "FASTQSequence.hpp"
-
-/*
- *
- * Implementation of a 1-D array for IO from an HDF array.
- * This is templated, but specialized for a few data types, so that 
- * the HDF data types do not need to be specified by anybody.
- *
- *  Two examples of the usage of this class follow:
- *
- *  HDFArray<int> nElemArray;
- *  nElemArray.Initialize(hdfFile, "PulseData/BaseCalls/ZMW/NumEvent");
- *  nElemArray.Read(i, i+1, &nElem);
- *
- *  HDFArray<unsigned char> qualArray;
- *  qualArray.Initialize(hdfFile, "PulseData/BaseCalls/QualityValue");
- *  qualArray.Read(cur, cur + nElem, qual);
- *
- */
-
-template<typename T>
-class BufferedHDFArray : public HDFData, public HDFWriteBuffer<T> {
-public:
-    hsize_t   nDims;
-    hsize_t   *dimSize;
-    int       maxDims;
-    UInt      arrayLength;
-
-    /*
-     * Constructor meant to be used for data that will be written.  
-     * This allocates the write buffer.
-     */
-    BufferedHDFArray(int pBufferSize=1024);
-
-    BufferedHDFArray(H5::CommonFG* _container, std::string _datasetName);
-
-    ~BufferedHDFArray(); 
-
-    void SetBufferSize(int _bufferSize); 
-
-    void Write(const T *data, UInt dataLength, bool append=true, 
-        UInt writePos = 0);
-
-    void Flush(bool append=true, UInt writePos = 0); 
-
-    void TypedWrite(const char **data, const H5::DataSpace &memorySpace, 
-        const H5::DataSpace &extendedSpace); 
-
-    void TypedWrite(const T*data, const H5::DataSpace &memorySpace, 
-        const H5::DataSpace &extendedSpace); 
-
-    void TypedCreate(H5::DataSpace &fileSpace, H5::DSetCreatPropList &cparms); 
-
-    void Create(HDFGroup &parentGroup, std::string _datasetName); 
-
-    void Create(H5::CommonFG* _container, std::string _datasetName); 
-
-    /*
-     * Initialize for reading.
-     *
-     * Open a dataset in an hdf file. Only call this on datasets that
-     * exist, since this currently handles errors with opening datasets
-     * by ungracefully exiting the program. 
-     */
-
-    int InitializeForReading(HDFGroup &parentGroup, 
-        const std::string datasetName); 
-
-    int Initialize(HDFGroup &parentGroup, const std::string &datasetName); 
-
-    int Initialize(HDFGroup &parentGroup, const std::string &datasetName,
-        bool createIfMissing, UInt newArrayLength=0); 
-
-    int UpdateH5Dataspace(); 
-
-    int Resize(UInt newArrayLength); 
-
-    void Close(); 
-
-    UInt size(); 
-
-    /*
-     * Unspecialized form of read.
-     * Read cannot be called on a type T* that does not have a
-     * specialized template definition.  This is all determined at
-     * compile time.  To ensure this, the following
-     * default definition is provided that gives a nasty warning and
-     * exits the code.
-     */
-
-    virtual void Read(UInt start, UInt end, T* dest); 
-
-    /*
-     * Read in type T from the opened dataset from the interval (start,
-     * end].
-     */
-    void ReadDataset(std::vector<T> &dest); 
-
-    void Read(UInt start, UInt end, H5::DataType typeID, T* dest); 
-
-    void ReadCharArray(UInt start, UInt end, std::string* dest); 
-};
-
-/*
- * Type specializations for some standard types. Use the macro for
- * vanilla specializations (that only require the HDF type ID to be
- * specified). 
- */
-#define DECLARE_TYPED_READ_ARRAY(T, Pred) template<>  \
-void BufferedHDFArray<T>::Read(UInt start, UInt end, T* dest);
-
-DECLARE_TYPED_READ_ARRAY(int, H5::PredType::NATIVE_INT)
-DECLARE_TYPED_READ_ARRAY(char, H5::PredType::NATIVE_INT8)
-DECLARE_TYPED_READ_ARRAY(unsigned char, H5::PredType::NATIVE_UINT8)
-DECLARE_TYPED_READ_ARRAY(unsigned int, H5::PredType::NATIVE_UINT)
-DECLARE_TYPED_READ_ARRAY(uint16_t, H5::PredType::NATIVE_UINT16)
-DECLARE_TYPED_READ_ARRAY(float, H5::PredType::NATIVE_FLOAT)
-DECLARE_TYPED_READ_ARRAY(char*, H5::PredType::C_S1)
-
-
-#define DECLARE_TYPED_READ_DATASET(T, Pred) template<>  \
-void BufferedHDFArray<T>::ReadDataset(vector<T>  &dest);
-
-DECLARE_TYPED_READ_DATASET(int, H5::PredType::NATIVE_INT)
-DECLARE_TYPED_READ_DATASET(char, H5::PredType::NATIVE_INT8)
-DECLARE_TYPED_READ_DATASET(unsigned char, H5::PredType::NATIVE_UINT8)
-DECLARE_TYPED_READ_DATASET(unsigned int, H5::PredType::NATIVE_UINT)
-DECLARE_TYPED_READ_DATASET(uint16_t, H5::PredType::NATIVE_UINT16)
-DECLARE_TYPED_READ_DATASET(float, H5::PredType::NATIVE_FLOAT)
-DECLARE_TYPED_READ_DATASET(char*, H5::PredType::C_S1)
-
-
-#define DECLARE_TYPED_CREATE_ARRAY(T, Pred) template <> \
-void BufferedHDFArray<T>::TypedCreate(H5::DataSpace &fileSpace,  \
-    H5::DSetCreatPropList &cparms);
-
-DECLARE_TYPED_CREATE_ARRAY(int, H5::PredType::NATIVE_INT)
-DECLARE_TYPED_CREATE_ARRAY(char, H5::PredType::NATIVE_INT8)
-DECLARE_TYPED_CREATE_ARRAY(char*, H5::StrType(0,H5T_VARIABLE))
-DECLARE_TYPED_CREATE_ARRAY(unsigned char, H5::PredType::NATIVE_UINT8)
-DECLARE_TYPED_CREATE_ARRAY(unsigned int, H5::PredType::NATIVE_UINT)
-DECLARE_TYPED_CREATE_ARRAY(float, H5::PredType::NATIVE_FLOAT)
-DECLARE_TYPED_CREATE_ARRAY(uint16_t, H5::PredType::NATIVE_UINT16)
-
-template<>
-void BufferedHDFArray<std::string>::TypedCreate(H5::DataSpace &space, H5::DSetCreatPropList &cparms);
-
-#define DECLARE_TYPED_WRITE_ARRAY(T, Pred) template <> \
-void BufferedHDFArray<T>::TypedWrite(const T *data, \
-    const H5::DataSpace &memorySpace, const H5::DataSpace &fileSpace);
-
-DECLARE_TYPED_WRITE_ARRAY(int, H5::PredType::NATIVE_INT)
-DECLARE_TYPED_WRITE_ARRAY(unsigned int, H5::PredType::NATIVE_UINT)
-DECLARE_TYPED_WRITE_ARRAY(unsigned char, H5::PredType::NATIVE_UINT8)
-DECLARE_TYPED_WRITE_ARRAY(char, H5::PredType::NATIVE_INT8)
-DECLARE_TYPED_WRITE_ARRAY(float, H5::PredType::NATIVE_FLOAT)
-DECLARE_TYPED_WRITE_ARRAY(uint16_t, H5::PredType::NATIVE_UINT16)
-DECLARE_TYPED_WRITE_ARRAY(char*, H5::StrType(0,H5T_VARIABLE))
-DECLARE_TYPED_WRITE_ARRAY(std::string, H5::StrType(0,H5T_VARIABLE))
-
-//
-// This is a nonstandard definition because it requires the creation
-// of a special datatype for variable length string type.
-//
-//
-// Use this as the base class for other lists.
-//
-typedef BufferedHDFArray<void> BaseHDFArray;
-
-#define DEFINE_TYPED_CLASS(CLASS_NAME, TEMPLATE_TYPE) \
-class CLASS_NAME : public BufferedHDFArray< TEMPLATE_TYPE  > { \
-public: \
-    void Read(UInt start, UInt end, TEMPLATE_TYPE *dest) { \
-        BufferedHDFArray<TEMPLATE_TYPE>::Read(start, end, dest); \
-    } \
-}; 
-
-DEFINE_TYPED_CLASS(HDFIntArray, int)
-DEFINE_TYPED_CLASS(HDFUIntArray, unsigned int)
-DEFINE_TYPED_CLASS(HDFUCharArray, unsigned char)
-DEFINE_TYPED_CLASS(HDFCharArray, char)
-DEFINE_TYPED_CLASS(HDFUShortArray, uint16_t )
-//DEFINE_TYPED_CLASS(HDFStringArray, std::string)
-DEFINE_TYPED_CLASS(HDFFloatArray, float)
-
-#include "BufferedHDFArrayImpl.hpp"
-
-#endif
diff --git a/libcpp/hdf/BufferedHDFArrayImpl.hpp b/libcpp/hdf/BufferedHDFArrayImpl.hpp
deleted file mode 100644
index 9f890ca..0000000
--- a/libcpp/hdf/BufferedHDFArrayImpl.hpp
+++ /dev/null
@@ -1,435 +0,0 @@
-#ifndef _BLASR_HDF_BUFFERED_HDF_ARRAY_IMPL_HPP_
-#define _BLASR_HDF_BUFFERED_HDF_ARRAY_IMPL_HPP_
-
-#include <cstdlib>
-#include <iostream>
-#include <cstring>
-#include "BufferedHDFArray.hpp"
-
-template<typename T>
-BufferedHDFArray<T>::BufferedHDFArray(int pBufferSize) : HDFData() {
-    nDims = 0;
-    maxDims = 0;
-    arrayLength = 0;
-    dimSize = NULL;
-    this->bufferIndex = 0;
-    this->InitializeBuffer(pBufferSize);
-}
-
-template<typename T>
-BufferedHDFArray<T>::BufferedHDFArray(H5::CommonFG* _container, 
-    std::string _datasetName) : HDFData(_container, _datasetName) {
-    // no-op
-}
-
-template<typename T>
-BufferedHDFArray<T>::~BufferedHDFArray() {
-    //
-    // Clean up the write buffer.
-    //
-    if (dimSize != NULL) {
-        delete[] dimSize;
-        dimSize = NULL;
-    }
-    this->Free();
-}
-
-template<typename T>
-void BufferedHDFArray<T>::SetBufferSize(int _bufferSize) {
-    this->InitializeBuffer(_bufferSize);
-}
-
-template<typename T>
-void BufferedHDFArray<T>::Write(const T *data, UInt dataLength, bool append, 
-    UInt writePos) {
-
-    // Fill the buffer with data. When there is overflow, write
-    // that out to disk.
-    //
-    UInt dataIndex = 0;
-    int bufferCapacity;
-    int bufferFillSize = 0;
-    bool flushBuffer;
-    while(dataIndex < dataLength) {
-        bufferCapacity = this->bufferSize - this->bufferIndex;
-        flushBuffer = false;
-        if (bufferCapacity  > dataLength - dataIndex) {
-            bufferFillSize = dataLength - dataIndex;
-        }
-        else {
-            bufferFillSize = bufferCapacity;
-            flushBuffer = true;
-        }
-        memcpy((void*) &this->writeBuffer[this->bufferIndex], (void*) &data[dataIndex], sizeof(T)*bufferFillSize);
-        dataIndex   += bufferFillSize;
-        this->bufferIndex += bufferFillSize;
-        if (flushBuffer) {
-            Flush(append, writePos);
-        }
-    }
-}
-
-template<typename T>
-void BufferedHDFArray<T>::Flush(bool append, UInt writePos) {
-    //
-    // Flush contents of current buffer to the file.
-    //
-    if (this->WriteBufferEmpty()) {
-        // 
-        // There is no data in the buffer, so nothing can be written.
-        // HDF does not support empty arrays (as far as I can tell), so
-        // don't even bother trying to create the dataspace.
-        // 
-        return;
-    }
-
-    // fetch the current size of the dataspace
-    if (fileDataSpaceInitialized == false) {
-        std::cout << "ERROR, trying to flush a dataset that has not been ";
-        std::cout << "created or initialized" << std::endl;
-        exit(1);
-        fileDataSpaceInitialized = true;
-    }
-
-    H5::DataSpace fileSpace;
-    fileSpace = dataset.getSpace();
-
-    //
-    // Load the current size of the array on disk.
-    //
-    hsize_t fileArraySize[1], blockStart;
-    fileArraySize[0] = fileSpace.getSimpleExtentNpoints();
-    if (append) {
-        blockStart = fileSpace.getSimpleExtentNpoints();
-        fileArraySize[0] += this->bufferIndex;
-        //
-        // Make room in the file for the array.
-        //
-        dataset.extend(fileArraySize);
-    }
-    else {
-        blockStart = writePos;
-        if (blockStart + this->bufferIndex > fileArraySize[0]) {
-            fileArraySize[0] = blockStart + this->bufferIndex;
-            dataset.extend(fileArraySize);
-        }
-    }
-
-    H5::DataSpace extendedSpace = dataset.getSpace();
-    //int extendedSize        = extendedSpace.getSimpleExtentNpoints(); // FIXME(yli): why isn't this used?
-    //
-    // Configure the proper addressing to append to the array.
-    //
-    hsize_t dataSize[1];
-    hsize_t offset[1];
-    dataSize[0] = this->bufferIndex;
-    offset[0]   = blockStart;
-    extendedSpace.selectHyperslab(H5S_SELECT_SET, dataSize, offset);
-    H5::DataSpace memorySpace(1, dataSize);
-
-    //
-    // Finally, write out the data.  
-    // This uses a generic function which is specialized with
-    // templates later on to t
-    // memorySpace addresses the entire array in linear format
-    // fileSpace addresses the last dataLength blocks of dataset.
-    //
-    try {
-        TypedWrite(this->writeBuffer, memorySpace, extendedSpace);
-    }
-    catch(H5::DataSetIException e) {
-        std::cout <<"ERROR! Could not write HDF5 data." << std::endl;
-        e.printError();
-        exit(1);
-    }
-    memorySpace.close();
-    extendedSpace.close();
-    fileSpace.close();
-
-    // Clear the buffer.
-    this->ResetWriteBuffer();
-}
-
-template<typename T>
-void BufferedHDFArray<T>::TypedWrite(const char **data, const H5::DataSpace &memorySpace, 
-    const H5::DataSpace &extendedSpace) {
-
-    H5::StrType varStrType(0,H5T_VARIABLE);
-    dataset.write(data, varStrType, memorySpace, extendedSpace);
-}
-
-template<typename T>
-void BufferedHDFArray<T>::TypedWrite(const T* data, const H5::DataSpace &memorySpace, 
-    const H5::DataSpace &extendedSpace) {
-
-    assert("Calling TypedWrite on an unsupported type" == 0);
-}
-
-template<typename T>
-void BufferedHDFArray<T>::TypedCreate(H5::DataSpace &fileSpace, 
-    H5::DSetCreatPropList &cparms) {
-
-    std::cout << "DEFAULT typed create " << std::endl;
-}
-
-
-template<typename T>
-void BufferedHDFArray<T>::Create(HDFGroup &parentGroup, std::string _datasetName) {
-    return Create(&parentGroup.group, _datasetName);
-}
-
-
-template<typename T>
-void BufferedHDFArray<T>::Create(H5::CommonFG* _container, std::string _datasetName) {
-    //
-    // Initialize where the dataset will go.
-    container   = _container;
-    datasetName = _datasetName;
-
-    hsize_t dataSize[]    = {0};
-    hsize_t maxDataSize[] = {H5S_UNLIMITED};
-    H5::DataSpace fileSpace(1, dataSize, maxDataSize);
-    H5::DSetCreatPropList cparms;
-
-    /*
-     * For some reason, chunking must be enabled when creating a dataset
-     * that  has an unlimited dimension.  Of course, this is not
-     * mentioned in the hdf5 c++ documentation, because that
-     * docuemntation was written for people who enjoy learning how to
-     * use an API by reading comments in source code.
-     */
-    hsize_t      chunk_dims[1] = { 16384 };
-    cparms.setChunk( 1, chunk_dims );
-    TypedCreate(fileSpace, cparms);
-
-    //
-    // Since TypedCreate created an assigned a dataset, this array is
-    // now initialized.  Do the bookkeeping here.
-    //
-
-    isInitialized = true;
-    fileDataSpaceInitialized = true;
-    fileSpace.close();
-}
-
-
-
-/*
- * Initialize for reading.
- *
- * Open a dataset in an hdf file. Only call this on datasets that
- * exist, since this currently handles errors with opening datasets
- * by ungracefully exiting the program. 
- */
-
-template<typename T>
-int BufferedHDFArray<T>::InitializeForReading(HDFGroup &parentGroup, 
-    const std::string datasetName) {
-
-    return Initialize(parentGroup, datasetName, false);
-}
-
-template<typename T>
-int BufferedHDFArray<T>::Initialize(HDFGroup &parentGroup, 
-    const std::string &datasetName) {
-
-    return Initialize(parentGroup, datasetName, true);
-}
-
-template<typename T>
-int BufferedHDFArray<T>::Initialize(HDFGroup &parentGroup, 
-    const std::string &datasetName, bool createIfMissing, UInt newArrayLength) {
-    //
-    // For writing to this dataset, start at the first position in the
-    // write buffer.
-    //
-    this->bufferIndex = 0;
-    //
-    // It's possible that the group may be asked to initialize this
-    // dataset when the dataset does not exist.  Check that here.
-    //
-    bool parentHasObject = parentGroup.ContainsObject(datasetName);
-    if ( parentHasObject and InitializeDataset(parentGroup, datasetName) == 0) {
-        // 
-        // The parent group already contains this dataset.  Try to
-        // initialize this dataset and if it does not exist, flag fail.
-        //
-        return 0;
-    }
-
-    //
-    // This is a hack to create in read/write mode.  If the parent
-    // does not have the object, try and create it.  The problem with
-    // trying to open a dataset in append mode is it will fail if the
-    // dataset does not exist.
-    //
-    if (parentHasObject == false) {
-        if (createIfMissing) {
-            Create(parentGroup, datasetName);
-        }
-        else {
-            //
-            // Trying to open a dataset to read only, but it does not
-            // exist.  Bail.
-            //
-            return 0;
-        }
-    }
-    int ret = UpdateH5Dataspace();
-    if (newArrayLength > 0) {
-        ret *= Resize(newArrayLength);
-    }
-    return ret;
-}
-
-template<typename T>
-int BufferedHDFArray<T>::UpdateH5Dataspace() {
-    try {
-        dataspace = dataset.getSpace();
-    }
-    catch(H5::DataSetIException &e) { 
-        e.printError();
-        return 0;
-    }
-    maxDims = MAX_DIMS;
-    try {
-        nDims = dataspace.getSimpleExtentNdims();
-        /*
-         * Prevent abuse of this class for multidimensional IO.
-         */
-        if (nDims != 1) {
-            std::cout << "ERROR in HDF format: dataset: ";
-            std::cout << datasetName << " should be 1-D, but it is not."; 
-            std::cout << std::endl;
-            exit(1);
-        }
-
-        /*
-         * Load in the size of this dataset, and make a map to the whole thing.
-         */
-        if (dimSize != NULL) {
-            delete [] dimSize;
-            dimSize = NULL;
-        }
-        dimSize = new hsize_t[nDims];
-
-        dataspace.getSimpleExtentDims(dimSize);
-        arrayLength = dimSize[0];
-        if (dimSize[0] == 0) {
-            // DONT create a real dataspace if the size is 0
-            // cout << "WARNING, trying to open a zero sized dataspace." << endl;
-            dataspace.close();
-            return 1;
-        }
-        fullSourceSpace = H5::DataSpace(1, dimSize);
-        dataspace.close();
-    }
-    catch(H5::Exception& e) {
-        e.printError();
-        return 0;
-    }
-    return 1;
-}
-
-template<typename T>
-int BufferedHDFArray<T>::Resize(UInt newArrayLength) {
-    //
-    // Resize this dataset. May or may not allocate space in file.
-    // May or may not write fill value.
-    //
-    try{
-        H5::DataSpace fileSpace;
-        fileSpace = dataset.getSpace();
-
-        hsize_t fileArraySize[1];
-        fileArraySize[0] = newArrayLength;
-        arrayLength = newArrayLength;
-        dataset.extend(fileArraySize);
-        fileSpace.close();
-    } catch(H5::DataSetIException &e) { 
-        e.printError();
-        return 0;
-    }
-    return 1;
-}
-
-
-template<typename T>
-void BufferedHDFArray<T>::Close() {
-    if (dimSize != NULL) {
-        delete[] dimSize;
-        dimSize = NULL;
-        HDFData::Close();
-    }
-}
-
-template<typename T>
-UInt BufferedHDFArray<T>::size() {
-    dataspace = dataset.getSpace();
-    hsize_t dimSizeArray[1];
-    dataspace.getSimpleExtentDims(dimSizeArray);
-    dataspace.close();
-    return dimSizeArray[0];
-}
-
-/*
- * Unspecialized form of read.
- * Read cannot be called on a type T* that does not have a
- * specialized template definition.  This is all determined at
- * compile time.  To ensure this, the following
- * default definition is provided that gives a nasty warning and
- * exits the code.
- */
-
-template<typename T>
-void BufferedHDFArray<T>::Read(UInt start, UInt end, T* dest) {
-    assert("ERROR, calling Read with an unsupported type. Use Read(start,end,datatype, dest) instead." == 0);
-    exit(1); // this is in case the assert statement is removed.
-}
-
-/*
- * Read in type T from the opened dataset from the interval (start,
- * end].
- */
-
-template<typename T>
-void BufferedHDFArray<T>::ReadDataset(std::vector<T> &dest) {
-    assert("ERROR, calling ReadDataset with an unsupported type.");
-    exit(1); // this is in case the assert statement is removed.
-}
-
-template<typename T>
-void BufferedHDFArray<T>::Read(UInt start, UInt end, H5::DataType typeID, T *dest) {
-    if (end - start == 0) {
-        return;
-    }
-    hsize_t memSpaceSize[] = {0};
-    memSpaceSize[0] = end - start;
-    hsize_t sourceSpaceOffset[] = {0};
-    sourceSpaceOffset[0] = start;
-    H5::DataSpace destSpace(1, memSpaceSize);
-    fullSourceSpace.selectHyperslab(H5S_SELECT_SET, memSpaceSize, sourceSpaceOffset);
-    dataset.read(dest, typeID, destSpace, fullSourceSpace);
-    destSpace.close();
-}
-
-template<typename T>
-void BufferedHDFArray<T>::ReadCharArray(UInt start, UInt end, std::string* dest) {
-    hsize_t memSpaceSize[] = {0};
-    memSpaceSize[0] = end - start;
-    hsize_t sourceSpaceOffset[] = {0};
-    sourceSpaceOffset[0] = start;
-    H5::DataSpace destSpace(1, memSpaceSize);
-    H5::StrType strType(0, H5T_VARIABLE);
-    fullSourceSpace.selectHyperslab(H5S_SELECT_SET, memSpaceSize, sourceSpaceOffset);
-    std::vector<char*> tmpStringArray;
-    tmpStringArray.resize(end-start);
-    dataset.read(&tmpStringArray[0], strType, destSpace, fullSourceSpace);
-    UInt i;
-    for (i = 0; i < tmpStringArray.size(); i++) {
-        dest[i] = tmpStringArray[i];
-    }
-    destSpace.close();
-}
-
-#endif // _BLASR_HDF_BUFFERED_HDF_ARRAY_IMPL_HPP_
diff --git a/libcpp/hdf/DatasetCollection.cpp b/libcpp/hdf/DatasetCollection.cpp
deleted file mode 100644
index 3184e49..0000000
--- a/libcpp/hdf/DatasetCollection.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-#include "DatasetCollection.hpp"
-
-void DatasetCollection::MakeFieldRequired(std::string &fieldName) {
-    includedFields[fieldName] = true;
-    requiredFields[fieldName] = true;
-}
-
-void DatasetCollection::MakeFieldOptional(std::string &fieldName) {
-    includedFields[fieldName] = true;
-    requiredFields[fieldName] = false;
-}
-
-void DatasetCollection::InitializeAllFields(bool value) {
-    size_t f;
-    for (f = 0; f < fieldNames.size(); f++ ) {
-        includedFields[fieldNames[f]] = value;
-    }
-}
-
-void DatasetCollection::InitializeFields(std::vector<std::string> &fieldList) {
-    size_t i;
-    for (i = 0; i < fieldList.size(); i++) {
-        includedFields[fieldList[i]] = true;
-    }
-}
-
-void DatasetCollection::InitializeFields(std::vector<char*> &fieldList) {
-    size_t i;
-    InitializeAllFields(false);
-    for (i = 0; i < fieldList.size(); i++) {
-        includedFields[fieldList[i]] = true;
-    }
-}
-
-int DatasetCollection::IncludeField(std::string fieldName) {
-    if (includedFields.find(fieldName) == includedFields.end()) {
-        return 0;
-    }	
-    else {
-        includedFields[fieldName] = true;
-    }
-    return 1;
-}
-
-bool DatasetCollection::FieldIsIncluded(std::string fieldName) {
-    if (includedFields.find(fieldName) == includedFields.end()) {
-        return false;
-    }
-    else {
-        return includedFields[fieldName];
-    }
-}
-
-bool DatasetCollection::ContainsField(std::string fieldName) {
-    size_t f;
-    for (f = 0; f < fieldNames.size(); f++) {
-        if (fieldNames[f] == fieldName) return true;
-    }
-    return false;
-}
-
diff --git a/libcpp/hdf/DatasetCollection.hpp b/libcpp/hdf/DatasetCollection.hpp
deleted file mode 100644
index b3305f7..0000000
--- a/libcpp/hdf/DatasetCollection.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef _BLASR_DATASET_COLLECTION_HPP_
-#define _BLASR_DATASET_COLLECTION_HPP_
-
-#include <map>
-#include <vector>
-#include <string>
-#include <iostream>
-#include "HDFGroup.hpp"
-#include "HDFData.hpp"
-
-
-class DatasetCollection {
-public:
-    std::vector<std::string> fieldNames;
-    std::map<std::string,bool> includedFields;
-    std::map<std::string,bool> requiredFields;
-
-    void MakeFieldRequired(std::string &fieldName); 
-
-    void MakeFieldOptional(string &fieldName); 
-
-    void InitializeAllFields(bool value); 
-
-    void InitializeFields(std::vector<std::string> &fieldList); 
-
-    void InitializeFields(std::vector<char*> &fieldList); 
-
-    int IncludeField(std::string fieldName); 
-
-    bool FieldIsIncluded(std::string fieldName); 
-
-    bool ContainsField(std::string fieldName); 
-
-    template <typename T_Dataset>
-    bool InitializeDataset(HDFGroup &group, T_Dataset &dataset, std::string datasetName); 
-
-};
-
-#include "DatasetCollectionImpl.hpp"
-
-#endif
diff --git a/libcpp/hdf/DatasetCollectionImpl.hpp b/libcpp/hdf/DatasetCollectionImpl.hpp
deleted file mode 100644
index 7344e9f..0000000
--- a/libcpp/hdf/DatasetCollectionImpl.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef _BLASR_DATASET_COLLECTION_IMPL_HPP_
-#define _BLASR_DATASET_COLLECTION_IMPL_HPP_
-
-template <typename T_Dataset>
-bool DatasetCollection::InitializeDataset(HDFGroup &group, 
-    T_Dataset &dataset, std::string datasetName) {
-
-    //
-    // Perform initialization of the dataset in a way that keep track
-    // of which datasets in the collection are present.
-    //
-    if (includedFields[datasetName]) {
-        if (dataset.Initialize(group, datasetName) == false) {
-            if (requiredFields[datasetName]) {
-                return false;
-            }
-            else {
-                //
-                // This field was supposed to be included but it either does
-                // not exist or there was a problem otherwise in creating
-                // it.  Don't try and read from it later on.
-                //
-                includedFields[datasetName] = false;
-            }
-        }
-    }
-    return true;
-}
-#endif
diff --git a/libcpp/hdf/HDF2DArray.hpp b/libcpp/hdf/HDF2DArray.hpp
deleted file mode 100644
index 1e76e6e..0000000
--- a/libcpp/hdf/HDF2DArray.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef _BLASR_HDF_2DARRAY_HPP_
-#define _BLASR_HDF_2DARRAY_HPP_
-
-#include "BufferedHDF2DArray.hpp"
-
-template<typename T>
-class HDF2DArray : public BufferedHDF2DArray<T> {
-public:
-
-    void WriteRow(const T*data, int dataLength, int destRow=-1) {
-        this->writeBuffer = (T*) data;
-        this->bufferIndex = dataLength;
-        this->bufferSize  = dataLength;
-        this->Flush(destRow);
-        //
-        // Reset status of buffer so that no methods are tricked into
-        // thinking this is a valid pointer.
-        //
-        this->writeBuffer = NULL;
-        this->bufferIndex = 0;
-        this->bufferSize  = 0;
-    }
-};
-
-#endif
diff --git a/libcpp/hdf/HDFAlnGroup.hpp b/libcpp/hdf/HDFAlnGroup.hpp
deleted file mode 100644
index ebdc05e..0000000
--- a/libcpp/hdf/HDFAlnGroup.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef _BLASR_HDF_ALN_GROUP_HPP_
-#define _BLASR_HDF_ALN_GROUP_HPP_
-
-#include "HDFArray.h"
-#include "HDFGroup.h"
-
-class HDFAlnGroup {
- public:
-  HDFGroup alnGroup;
-  HDFArray<unsigned int> idArray;
-  HDFStringArray pathArray;
-
-  void Initialize(HDFGroup &parent) {
-    alnGroup.Initialize(parent.group, "AlnGroup");
-    idArray.Initialize(alnGroup.group, "ID");
-  }
-  
-  void Read(AlnGroup &aln) {
-    // Seem to write data in this HDFAlnGroup obj to AlnGroup & aln
-    int idNElem = idArray.arrayLength;
-    int pathNElem = pathArray.arrayLength;
-    if (idNElem > 0) {
-
-      aln.id.resize(idNElem);
-      idArray.Read(0, idNElem);
-
-      aln.path.resize(pathNElem);
-      unsigned int i;
-      for (i = 0; i < pathNElem; i++) {
-        pathArray.Read(i, i+1, &aln.path[i]);
-      }
-    }
-  }
-
-  int AddPath(string &path) {
-    int id;
-    pathArray.Write(&path, 1);
-    id = pathArray.size();
-    idArray.Write(&id, 1);
-    return id;
-  }
-
-  ~HDFAlnGroup() {
-    alnGroup.Close();
-  }
-
-};
-
-
-#endif
diff --git a/libcpp/hdf/HDFAlnGroupGroup.cpp b/libcpp/hdf/HDFAlnGroupGroup.cpp
deleted file mode 100644
index 959098e..0000000
--- a/libcpp/hdf/HDFAlnGroupGroup.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-#include "HDFAlnGroupGroup.hpp"
-
-using namespace std;
-
-bool HDFAlnGroupGroup::Create(HDFGroup &parent) {
-    parent.AddGroup("AlnGroup");
-    if (alnGroup.Initialize(parent.group, "AlnGroup") == 0) { return 0; }
-    idArray.Create(alnGroup, "ID");
-    pathArray.Create(alnGroup, "Path");
-    return true;
-}
-
-int HDFAlnGroupGroup::AddPath(string path) {
-    pathArray.Write(&path, 1);
-    unsigned int id = pathArray.size();
-    idArray.Write(&id, 1);
-    int size = pathArray.size();
-    return size;
-}
-
-int HDFAlnGroupGroup::Initialize(HDFGroup &parent) {
-    if (alnGroup.Initialize(parent.group, "AlnGroup") == 0) { 
-        cout << "ERROR, could not open /AlnGroup group." << endl;
-        exit(1); 
-    }
-    if (idArray.Initialize(alnGroup, "ID") == 0) {
-        cout << "ERROR, could not open /AlnGroup/ID." << endl;
-        exit(1); 
-    }
-    if (pathArray.Initialize(alnGroup, "Path") == 0) {
-        cout << "ERROR, could not open /AlnGroup/Path." << endl;
-        exit(1); 
-    }
-    return 1;
-}
-
-void HDFAlnGroupGroup::Read(AlnGroup &aln) {
-    UInt nRow = idArray.size();
-    if (nRow > 0) {
-        aln.id.resize(nRow);
-        idArray.Read(0, nRow, &aln.id[0]);
-        aln.path.resize(nRow);
-        unsigned int i;
-        for (i = 0; i < nRow; i++) {
-            pathArray.Read(i, i+1, &aln.path[i]);
-        }
-    }
-}
-
-HDFAlnGroupGroup::~HDFAlnGroupGroup() {
-    alnGroup.Close();
-}
diff --git a/libcpp/hdf/HDFAlnGroupGroup.hpp b/libcpp/hdf/HDFAlnGroupGroup.hpp
deleted file mode 100644
index 8045e48..0000000
--- a/libcpp/hdf/HDFAlnGroupGroup.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef _BLASR_HDF_ALN_GROUP_HPP_
-#define _BLASR_HDF_ALN_GROUP_HPP_
-
-#include <string>
-#include "HDFArray.hpp"
-#include "HDFGroup.hpp"
-#include "saf/AlnGroup.hpp"
-
-class HDFAlnGroupGroup {
-public:
-    HDFGroup alnGroup;
-    HDFArray<unsigned int> idArray;
-    HDFStringArray pathArray;
-
-    bool Create(HDFGroup &parent); 
-
-    int AddPath(std::string path); 
-
-    int Initialize(HDFGroup &parent); 
-
-    void Read(AlnGroup &aln); 
-
-    ~HDFAlnGroupGroup(); 
-};
-
-
-#endif
diff --git a/libcpp/hdf/HDFAlnInfoGroup.cpp b/libcpp/hdf/HDFAlnInfoGroup.cpp
deleted file mode 100644
index 4beba5f..0000000
--- a/libcpp/hdf/HDFAlnInfoGroup.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-#include "HDFAlnInfoGroup.hpp"
-
-using namespace std;
-
-int HDFAlnInfoGroup::InitializeNumPasses() {
-    numPasses.Initialize(alnInfoGroup, "NumPasses");
-    return 1;
-}
-
-void HDFAlnInfoGroup::InitializeDefaultColumnNames(vector<string> &defaultColumnNames) {
-    defaultColumnNames.push_back("AlnID");
-    defaultColumnNames.push_back("AlnGroupID");
-    defaultColumnNames.push_back("MovieID");
-    defaultColumnNames.push_back("RefGroupID");
-    defaultColumnNames.push_back("tStart");
-    defaultColumnNames.push_back("tEnd");
-    defaultColumnNames.push_back("RCRefStrand");
-    defaultColumnNames.push_back("HoleNumber");
-    defaultColumnNames.push_back("SetNumber");
-    defaultColumnNames.push_back("StrobeNumber");
-    defaultColumnNames.push_back("MoleculeID");
-    defaultColumnNames.push_back("rStart");
-    defaultColumnNames.push_back("rEnd");
-    defaultColumnNames.push_back("MapQV");
-    defaultColumnNames.push_back("nM");
-    defaultColumnNames.push_back("nMM");
-    defaultColumnNames.push_back("nIns");
-    defaultColumnNames.push_back("nDel");
-    defaultColumnNames.push_back("Offset_begin");
-    defaultColumnNames.push_back("Offset_end");
-    defaultColumnNames.push_back("nBackRead");
-    defaultColumnNames.push_back("nReadOverlap");
-}
-
-bool HDFAlnInfoGroup::Create(HDFGroup &parent) {
-    parent.AddGroup("AlnInfo");
-    // Make sure it was created, and intialize this group to reference the newly created one.
-    if (alnInfoGroup.Initialize(parent.group, "AlnInfo") == 0) { return 0; }
-    vector<string> defaultColumnNames;
-    InitializeDefaultColumnNames(defaultColumnNames);
-    columnNames.Create(alnInfoGroup.group, "ColumnNames", defaultColumnNames);
-
-    alnIndexArray.Create(&alnInfoGroup.group, "AlnIndex", defaultColumnNames.size());
-    return true;
-}
-
-int HDFAlnInfoGroup::Initialize(HDFGroup &rootGroup) {
-    if (alnInfoGroup.Initialize(rootGroup.group, "AlnInfo") == 0) { return 0; }
-    if (alnIndexArray.Initialize(alnInfoGroup, "AlnIndex") == 0) { return 0; }
-    /*
-     * This functionality should go into the python.
-     if (!alnIndexArray.ContainsAttribute("ColumnNames")) {
-     try {
-     vector<string> defaultColumnNames;
-     InitializeDefaultColumnNames(defaultColumnNames);
-     columnNames.Create(alnIndexArray.dataset, "ColumnNames", defaultColumnNames);
-     }
-     catch(Execption e) {
-    //
-    // If the dataset is not writable
-    }
-    }
-    */
-    return 1;
-}
-
-HDFAlnInfoGroup::~HDFAlnInfoGroup() {
-    alnInfoGroup.Close();
-}
-
-// Return size of /AlnInfo/AlnIndex in KB
-UInt HDFAlnInfoGroup::GetAlnIndexSize() {
-    return alnIndexArray.GetNRows() / 1024 * sizeof (unsigned int) * NCols;
-}
-
-void HDFAlnInfoGroup::Read(AlnInfo &alnInfo) {
-
-    UInt nAlignments = alnIndexArray.GetNRows();
-    alnInfo.alignments.resize(nAlignments);
-    UInt alignmentIndex;
-    UInt alignmentRow[NCols];
-    for (alignmentIndex = 0; alignmentIndex < nAlignments; alignmentIndex++) {
-        // Input the values.
-        alnIndexArray.Read(alignmentIndex, alignmentIndex + 1, alignmentRow);
-        alnInfo.alignments[alignmentIndex].StoreAlignmentIndex(alignmentRow, NCols);
-    }
-}
-
-int HDFAlnInfoGroup::GetNAlignments() {
-    return alnIndexArray.GetNRows();
-}
-
-unsigned int HDFAlnInfoGroup::WriteAlnIndex(vector<unsigned int> &aln) {
-    alnIndexArray.WriteRow(&aln[0], aln.size());
-    return alnIndexArray.GetNRows();
-}
-
-void HDFAlnInfoGroup::ReadCmpAlignment(UInt alignmentIndex, CmpAlignment &cmpAlignment) {
-    UInt alignmentRow[NCols];
-    alnIndexArray.Read(alignmentIndex, alignmentIndex + 1, alignmentRow);
-    cmpAlignment.StoreAlignmentIndex(alignmentRow, NCols);
-}
diff --git a/libcpp/hdf/HDFAlnInfoGroup.hpp b/libcpp/hdf/HDFAlnInfoGroup.hpp
deleted file mode 100644
index 4941b1b..0000000
--- a/libcpp/hdf/HDFAlnInfoGroup.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef _BLASR_HDF_ALN_INFO_GROUP_HPP_
-#define _BLASR_HDF_ALN_INFO_GROUP_HPP_
-
-#include <cinttypes>
-#include <vector>
-#include <string>
-#include "HDFGroup.hpp"
-#include "HDFAtom.hpp"
-#include "HDFArray.hpp"
-#include "HDF2DArray.hpp"
-#include "saf/AlnInfo.hpp"
-#include "alignment/CmpAlignment.hpp"
-
-class HDFAlnInfoGroup {
-public:
-    HDFGroup alnInfoGroup;
-    HDF2DArray<unsigned int> alnIndexArray;
-    HDFArray<float> startTime;
-    static const int NCols=22;
-    HDFArray<unsigned int> numPasses;
-    HDFAtom<vector<string> > columnNames;
-    HDFAtom<int> frameRate;
-
-    int Initialize(HDFGroup &rootGroup); 
-
-    int InitializeNumPasses(); 
-
-    void InitializeDefaultColumnNames(std::vector<std::string> &defaultColumnNames); 
-
-    bool Create(HDFGroup &parent); 
-
-    ~HDFAlnInfoGroup(); 
-
-    // Return size of /AlnInfo/AlnIndex in KB
-    UInt GetAlnIndexSize(); 
-
-    void Read(AlnInfo &alnInfo); 
-
-    int GetNAlignments(); 
-
-    unsigned int WriteAlnIndex(std::vector<unsigned int> &aln); 
-
-    void ReadCmpAlignment(UInt alignmentIndex, CmpAlignment &cmpAlignment); 
-};
-
-#endif
diff --git a/libcpp/hdf/HDFArray.hpp b/libcpp/hdf/HDFArray.hpp
deleted file mode 100644
index af4c66a..0000000
--- a/libcpp/hdf/HDFArray.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-#ifndef _BLASR_HDF_ARRAY_HPP_
-#define _BLASR_HDF_ARRAY_HPP_
-
-#include <assert.h>
-#include <iostream>
-
-#include "H5Cpp.h"
-
-#include "HDFConfig.hpp"
-#include "HDFData.hpp"
-#include "BufferedHDFArray.hpp"
-#include "DNASequence.hpp"
-#include "FASTQSequence.hpp"
-
-/*
- *
- * Implementation of a 1-D array for IO from an HDF array.
- * This is templated, but specialized for a few data types, so that 
- * the HDF data types do not need to be specified by anybody.
- *
- *  Two examples of the usage of this class follow:
- *
- *	HDFArray<int> nElemArray;
- * 	nElemArray.Initialize(hdfFile, "PulseData/BaseCalls/ZMW/NumEvent");
- *  nElemArray.Read(i, i+1, &nElem);
- *
- * 	HDFArray<unsigned char> qualArray;
- *	qualArray.Initialize(hdfFile, "PulseData/BaseCalls/QualityValue");
- *  qualArray.Read(cur, cur + nElem, qual);
- *
- */
-
-template<typename T>
-class HDFArray : public BufferedHDFArray<T> {
-public:
-
-    HDFArray() : BufferedHDFArray<T>() {}
-    HDFArray(H5::CommonFG* _container, std::string _datasetName) : 
-        BufferedHDFArray<T>(_container, _datasetName) {}
-
-    /*
-     *  An unbuffered write is simply a write immediately followed by a flush. 
-     */
-    void WriteToPos(const T*data, int dataLength, UInt writePos) {
-        this->writeBuffer = (T*) data;
-        this->bufferIndex = dataLength;
-        this->bufferSize  = dataLength;
-        this->Flush(false, writePos);
-        ResetBuffer();
-    }
-
-    void ResetBuffer() {
-        this->writeBuffer = NULL;
-        this->bufferIndex = 0;
-        this->bufferSize  = 0;
-    }
-
-    void Write(const T *data, int dataLength) {
-        this->writeBuffer = (T*) data;
-        this->bufferIndex = dataLength;
-        this->bufferSize  = dataLength;
-        this->Flush();
-        //
-        // Reset status of buffer so that no methods are tricked into
-        // thinking this is a valid pointer.
-        //
-        ResetBuffer();
-    }
-
-    ~HDFArray() {} 
-};
-
-
-class HDFStringArray: public HDFArray<std::string> {
-public:
-    void Read(UInt start, UInt end, std::string* dest) {
-        std::vector<char*> tmpDestCharPtrs;
-        if (end == start) return;
-        assert(end > start);
-        tmpDestCharPtrs.resize(end-start);
-        //  ReadCharArray(start, end, (char**) &tmpDestCharPtrs[0]);
-        ReadCharArray(start, end, dest);
-    }
-};
-#endif
diff --git a/libcpp/hdf/HDFAtom.cpp b/libcpp/hdf/HDFAtom.cpp
deleted file mode 100644
index ef23749..0000000
--- a/libcpp/hdf/HDFAtom.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-#include "HDFAtom.hpp"
-
-template<>
-void HDFAtom<std::string>::Create(H5::H5Location &object, std::string atomName) {
-    H5::StrType strType(0, H5T_VARIABLE);
-    hsize_t defaultDims[] = {1};
-    H5::DataSpace defaultDataSpace(1, defaultDims);
-    attribute = object.createAttribute(atomName.c_str(), strType, H5::DataSpace(H5S_SCALAR));
-    initialized= true;
-}
-
-
-#define DEFINE_TYPED_CREATE_ATOM(T, predtype) template<> \
-	void HDFAtom<T>::TypedCreate(H5::H5Location &object, std::string &atomName, H5::DataSpace &defaultDataSpace) {				\
-  attribute = object.createAttribute(atomName.c_str(), (predtype), defaultDataSpace );	\
-}
-
-
-DEFINE_TYPED_CREATE_ATOM(int, H5::PredType::NATIVE_INT)
-DEFINE_TYPED_CREATE_ATOM(unsigned int, H5::PredType::NATIVE_UINT)
-DEFINE_TYPED_CREATE_ATOM(unsigned char, H5::PredType::NATIVE_UINT8)
-DEFINE_TYPED_CREATE_ATOM(char, H5::PredType::NATIVE_INT8)
-DEFINE_TYPED_CREATE_ATOM(float, H5::PredType::NATIVE_FLOAT)
-DEFINE_TYPED_CREATE_ATOM(uint64_t, H5::PredType::STD_I64LE)
-
-
-template<>
-void HDFAtom<std::vector<int> >::Write(const std::vector<int> vect) {
-  hsize_t  length = vect.size();
-  H5::DataType baseType = H5::PredType::NATIVE_INT;
-  H5::ArrayType arrayDataType(baseType, 1, &length);
-  attribute.write(arrayDataType, &((vect)[0]));
-}
-
-
-template<>
-void HDFAtom<std::string>::Write(std::string value) {
-  //	H5::StrType strType(0, value.size());
-	H5::StrType strType(0, H5T_VARIABLE);
-	attribute.write(strType, std::string(value.c_str()));
-}
-
-template<>
-void HDFAtom<uint64_t>::Write(uint64_t value) {
-	attribute.write( H5::PredType::STD_I64LE, &value);
-}
-
-template<>
-void HDFAtom<int>::Write(int value) {
-	attribute.write( H5::PredType::NATIVE_INT, &value);
-}
-
-template<>
-void HDFAtom<unsigned int>::Write(unsigned int value) {
-	attribute.write( H5::PredType::NATIVE_INT, &value);
-}
-
-template<>
-void HDFAtom<unsigned char>::Write(unsigned char value) {
-	attribute.write( H5::PredType::NATIVE_UINT8, &value);
-}
-
-template<>
-void HDFAtom<char>::Write(char value) {
-	attribute.write( H5::PredType::NATIVE_INT8, &value);
-}
-
-template<>
-void HDFAtom<float>::Write(float value) {
-	attribute.write( H5::PredType::NATIVE_FLOAT, &value);
-}
-
-template<>
-void HDFAtom<std::string>::Read(std::string &value) {
-	/*
-	 * Read in a std::string that has been stored either as an array or a
-	 * variable length std::string.  To decide which, query the
-	 * isVariableStr() option.
-	 */
-	H5::StrType stringType = attribute.getStrType();
-	bool stringIsVariableLength = stringType.isVariableStr();
-	if (stringIsVariableLength) 
-		attribute.read(stringType, value);
-	else {
-		hsize_t stsize = attribute.getStorageSize();
-		value.resize(stsize);
-		//		char *valueStr = new char[stsize+1];
-		attribute.read(stringType, &value[0]);
-		if (stsize > 0 and value[stsize-1] == '\0') {
-			value.resize(stsize-1);
-		}
-	}
-}
-
-template<>
-void HDFAtom<int>::Read(int &value) {
-	H5::DataType intType(H5::PredType::NATIVE_INT);
-	attribute.read(intType, &value);
-}
-
-template<>
-void HDFAtom<uint64_t>::Read(uint64_t &value) {
-	H5::DataType intType(H5::PredType::STD_I64LE);
-	attribute.read(intType, &value);
-}
-
-template<>
-void HDFAtom<unsigned int>::Read(unsigned int &value) {
-	H5::DataType uintType(H5::PredType::NATIVE_UINT);
-	attribute.read(uintType, &value);
-}
-
-template<>
-void HDFAtom<float>::Read(float &value) {
-	H5::DataType type(H5::PredType::NATIVE_FLOAT);
-	attribute.read(type, &value);
-}
-
-template<>
-void HDFAtom<std::vector<std::string> >::Read(std::vector<std::string> &values) {
-	std::string value;
-	/*
-	 * This attribute is an array of std::strings. They are read in by
-	 * storing pointers to std::strings in memory controlled by HDF.  To read
-	 * the std::strings, read the pointers into a temporary array, then copy
-	 * those std::strings to the values array. This way when the values array
-	 * is destroyed, it will not try and get rid of space that is under
-	 * HDF control.
-	 */
-    H5::DataSpace attributeSpace = attribute.getSpace();
-	hsize_t nPoints;
-	nPoints = attributeSpace.getSelectNpoints();
-	H5::DataType attrType = attribute.getDataType(); // necessary for attr.read()
-
-	// Declare and initialize std::vector of pointers to std::string attribute list.
-	std::vector<char*> ptrsToHDFControlledMemory;
-	ptrsToHDFControlledMemory.resize(nPoints);
-	// Copy the pointers.
-	attribute.read(attrType, &ptrsToHDFControlledMemory[0]);
-	// Copy the std::strings into memory the main program has control over.
-	unsigned int i;
-	for (i = 0; i < ptrsToHDFControlledMemory.size(); i++ ){
-		values.push_back(ptrsToHDFControlledMemory[i]);
-		free(ptrsToHDFControlledMemory[i]);
-	}
-}
-
-// Explict instantiate classes
-template class HDFAtom<int>;
-template class HDFAtom<unsigned int>;
-template class HDFAtom<char>;
-template class HDFAtom<unsigned char>;
-template class HDFAtom<uint64_t>;
-template class HDFAtom<float>;
-template class HDFAtom< std::string >;
-template class HDFAtom< std::vector <int> >;
-template class HDFAtom< std::vector <unsigned int> >;
-template class HDFAtom< std::vector <string> >;
-
diff --git a/libcpp/hdf/HDFAtom.hpp b/libcpp/hdf/HDFAtom.hpp
deleted file mode 100644
index f8934df..0000000
--- a/libcpp/hdf/HDFAtom.hpp
+++ /dev/null
@@ -1,176 +0,0 @@
-#ifndef _BLASR_HDF_ATOM_HPP_
-#define _BLASR_HDF_ATOM_HPP_
-
-#include <cassert>
-#include <string>
-#include <vector>
-#include <cstdint>
-#include "H5Cpp.h"
-
-#include "HDFConfig.hpp"
-#include "HDFGroup.hpp"
-#include "HDFData.hpp"
-
-template<typename T>
-class HDFAtom : public HDFData {
-public:
-    H5::Attribute attribute;
-
-    bool initialized;
-    HDFAtom() {
-        initialized = false;
-    }
-    ~HDFAtom() {
-        if (initialized) {
-            attribute.close();
-        }
-    }
-
-    H5::H5Location *GetObject() {
-        return NULL;
-    }
-
-    int Initialize(H5::H5Location &object, std::string attributeName, bool createIfMissing=false) {
-        attribute = object.openAttribute(attributeName.c_str());
-        initialized = true;
-        return 1;
-    }
-
-    int Initialize(HDFGroup &group, std::string attributeName, bool createIfMissing=false) {
-        return Initialize(group.group, attributeName);
-    }
-
-    int Initialize(HDFData &data, std::string attributeName, bool createIfMissing=false) {
-        return Initialize(data.dataset, attributeName);
-    }
-
-    int Initialize(H5::Group &object, std::string attributeName, bool createIfMissing=false) {
-        try {
-            attribute = object.openAttribute(attributeName.c_str());
-        }
-        catch (H5::Exception e) {
-            cout << "ERROR. Could not open attribute " << attributeName << endl;
-            exit(1);
-        }
-        initialized  = true;
-        return 1;
-    }
-
-    int Initialize(H5::H5File &hdfFile, std::string groupName, std::string attributeName) {
-        HDFGroup group;
-        group.Initialize(hdfFile, groupName);
-        attribute = group.group.openAttribute(attributeName.c_str());
-        initialized = true;
-        return 1;
-    }
-
-    //
-    // This handles creation of all non-std::string types.  A specialization
-    // for std::strings is provided below.
-    //
-    void Create(H5::H5Location &object, std::string atomName) {
-        hsize_t defaultDims[] = {1};
-        H5::DataSpace defaultDataSpace(1, defaultDims);
-        TypedCreate(object, atomName, defaultDataSpace);
-    }
-
-
-    void Create(H5::H5Location &object, std::string name, std::string value) {
-        H5::StrType strType(0, value.size());
-        attribute = object.createAttribute(name.c_str(), strType, H5::DataSpace(0,NULL));
-        initialized = true;
-        attribute.write(strType, value.c_str());
-    }
-
-    void Create(H5::H5Location &object, std::string name, std::vector<int> &vect) {
-        hsize_t length = vect.size();
-        H5::ArrayType arrayDataType(H5::PredType::NATIVE_INT, 1, &length);
-        attribute = object.createAttribute(name.c_str(), H5::PredType::NATIVE_INT, H5::DataSpace(1, &length));
-        attribute.write(H5::PredType::NATIVE_INT, &((vect)[0]));    
-    }
-
-    void Create(H5::H5Location &object, std::string name, std::vector<std::string> &vect) {
-        hsize_t length = vect.size();
-        H5::StrType strType(0,H5T_VARIABLE);
-        H5::ArrayType arrayDataType(strType, 1, &length);
-        attribute = object.createAttribute(name.c_str(), strType, H5::DataSpace(1, &length));
-        attribute.write(strType, &((vect)[0]));    
-    }
-
-    void TypedCreate(H5::H5Location &object, std::string &atomName, H5::DataSpace &dataSpace) {
-        assert("Calling HDFAtom<T>::typedCreate on an unsupported type" == 0);
-    }
-
-    void Write(T value) {
-        assert("Calling HDFAtom<T>::Write on an unsupported type" == 0);
-    }
-
-    void Read(T& value) {
-        assert("Calling read on an unsupported type!" == 0);
-    }
-
-};
-
-//
-// Special create for std::strings.  Since this uses a H5::StrType for the
-// typename rather than specifying a H5::PredType, it mertis its own
-// function.
-//
-
-template<>
-void HDFAtom<std::string>::Create(H5::H5Location &object, std::string atomName);
-
-#define DECLARE_TYPED_CREATE_ATOM(T, predtype) template<> \
-	void HDFAtom<T>::TypedCreate(H5::H5Location &object, std::string &atomName, H5::DataSpace &defaultDataSpace);
-
-DECLARE_TYPED_CREATE_ATOM(int, H5::PredType::NATIVE_INT)
-DECLARE_TYPED_CREATE_ATOM(unsigned int, H5::PredType::NATIVE_UINT)
-DECLARE_TYPED_CREATE_ATOM(unsigned char, H5::PredType::NATIVE_UINT8)
-DECLARE_TYPED_CREATE_ATOM(char, H5::PredType::NATIVE_INT8)
-DECLARE_TYPED_CREATE_ATOM(float, H5::PredType::NATIVE_FLOAT)
-DECLARE_TYPED_CREATE_ATOM(uint64_t, H5::PredType::STD_I64LE)
-
-
-template<>
-void HDFAtom<std::vector<int> >::Write(const std::vector<int> vect);
-
-template<>
-void HDFAtom<std::string>::Write(std::string value);
-
-template<>
-void HDFAtom<uint64_t>::Write(uint64_t value);
-
-template<>
-void HDFAtom<int>::Write(int value);
-
-template<>
-void HDFAtom<unsigned int>::Write(unsigned int value);
-
-template<>
-void HDFAtom<unsigned char>::Write(unsigned char value);
-
-template<>
-void HDFAtom<char>::Write(char value);
-
-template<>
-void HDFAtom<float>::Write(float value);
-
-template<>
-void HDFAtom<std::string>::Read(std::string &value);
-
-template<>
-void HDFAtom<int>::Read(int &value);
-
-template<>
-void HDFAtom<uint64_t>::Read(uint64_t &value);
-
-template<>
-void HDFAtom<unsigned int>::Read(unsigned int &value);
-
-template<>
-void HDFAtom<float>::Read(float &value);
-
-template<>
-void HDFAtom<std::vector<std::string> >::Read(std::vector<std::string> &values);
-
-#endif
diff --git a/libcpp/hdf/HDFAttributable.cpp b/libcpp/hdf/HDFAttributable.cpp
deleted file mode 100644
index da57d08..0000000
--- a/libcpp/hdf/HDFAttributable.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
-#include <cassert>
-#include "HDFAttributable.hpp"
-
-using namespace std;
-using namespace H5;
-
-void CallStoreAttributeName(H5Location &obj, string attrName, void *attrList){ 
-    ((vector<string>*)attrList)->push_back(attrName);
-}
-
-void HDFAttributable::StoreAttributeNames(H5Location &thisobject, 
-    std::vector<std::string> &attributeNames) {
-    int nAttr = thisobject.getNumAttrs();
-    unsigned int bounds[2];
-    bounds[0] = 0;
-    bounds[1] = nAttr;
-    attributeNameList.clear();
-    thisobject.iterateAttrs(&CallStoreAttributeName, 
-            bounds, (void*) &attributeNames);
-}
-
-H5Location* HDFAttributable::GetObject() {
-    return NULL;
-}
-
-int HDFAttributable::ContainsAttribute(string attributeName) {
-    size_t i;
-    std::vector<std::string> tmpAttributeNames;
-    try{
-        H5Location *obj = GetObject();
-        assert(obj != NULL);
-        StoreAttributeNames(*obj, tmpAttributeNames);
-        for (i = 0; i < tmpAttributeNames.size(); i++) {
-            if (tmpAttributeNames[i] == attributeName) return true;
-        }
-    } catch (H5::Exception e) {
-        //Failed to read attribute // e.printError();
-    }
-    return false;
-}
-
diff --git a/libcpp/hdf/HDFAttributable.hpp b/libcpp/hdf/HDFAttributable.hpp
deleted file mode 100644
index 4b223c7..0000000
--- a/libcpp/hdf/HDFAttributable.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _BLASR_HDF_ATTRIBUTABLE_HPP_
-#define _BLASR_HDF_ATTRIBUTABLE_HPP_
-
-#include <string>
-#include <vector>
-#include "H5Cpp.h"
-
-void CallStoreAttributeName(H5::H5Location &obj, std::string attrName, void *attrListPtr);
-
-class HDFAttributable {
-public:
-    std::vector<std::string> attributeNameList;
-
-    void StoreAttributeNames(H5::H5Location &thisobject, 
-        std::vector<std::string> &attributeNames); 
-
-    virtual H5::H5Location* GetObject(); 
-
-    int ContainsAttribute(std::string attributeName); 
-
-};
-
-#endif
diff --git a/libcpp/hdf/HDFBasReader.cpp b/libcpp/hdf/HDFBasReader.cpp
deleted file mode 100644
index 48e375d..0000000
--- a/libcpp/hdf/HDFBasReader.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-#include "HDFBasReader.hpp"
-
-//
-// Below is sample code for using the bas reader to read in sequences
-// from a .bas.h5 or .pls.h5 file.  
-// One may select which quality value fields to read.  By default,
-// none are read in.  To read in the rich quality values (insertionQV,
-// deletionQV, substitutionQV, mergeQV, substitutionTag, deletionTag),
-// call InitializeDefaultIncludedFields() BEFORE initializing the
-// reader on the file name.
-//
-//#include "data/hdf/HDFBasReader.h"
-//#include "SMRTSequence.h"
-//#include <string>
-//
-//int main(int argc, char* argv[]) {
-//	
-//	string basFile = argv[1];
-//
-//	HDFBasReader reader;
-//  reader.InitializeDefaultIncludedFields();
-//	reader.Initialize(basFile);
-//
-//	SMRTSequence read;
-//
-//	while(reader.GetNext(read)) {
-//		read.PrintQualSeq(cout);
-//	}
-//
-//
-//	return 0;
-//}
-//
-// * If you wanted to read only fasta sequences and not fastq, use:
-// 
-// FASTASequence read;
-// while (reader.GetNext(read) {
-//   read.PritnSeq(cout);
-// }
-//
-
-int HDFSmrtReader::Advance(int nSteps) {
-	int retVal;
-	retVal = ((T_HDFBasReader<FASTQSequence>*)this)->Advance(nSteps);
-	return retVal;
-}
diff --git a/libcpp/hdf/HDFBasReader.hpp b/libcpp/hdf/HDFBasReader.hpp
deleted file mode 100644
index 23fe235..0000000
--- a/libcpp/hdf/HDFBasReader.hpp
+++ /dev/null
@@ -1,1178 +0,0 @@
-#ifndef _BLASR_HDF_BAS_READER_HPP_
-#define _BLASR_HDF_BAS_READER_HPP_
-
-#include <cstdlib>
-#include <sstream>
-#include <vector>
-#include <string>
-#include <cstdint>
-
-#include "Enumerations.h"
-#include "FASTQSequence.hpp"
-#include "SMRTSequence.hpp"
-#include "VectorUtils.hpp"
-#include "ChangeListID.hpp"
-#include "reads/BaseFile.hpp"
-
-#include "HDFArray.hpp"
-#include "HDF2DArray.hpp"
-#include "HDFAtom.hpp"
-#include "HDFGroup.hpp"
-#include "HDFZMWReader.hpp"
-#include "HDFScanDataReader.hpp"
-#include "HDFPulseDataFile.hpp"
-#include "DatasetCollection.hpp"
-
-//
-// Below is sample code for using the bas reader to read in sequences
-// from a .bas.h5 or .pls.h5 file.  
-// One may select which quality value fields to read.  By default,
-// none are read in.  To read in the rich quality values (insertionQV,
-// deletionQV, substitutionQV, mergeQV, substitutionTag, deletionTag),
-// call InitializeDefaultIncludedFields() BEFORE initializing the
-// reader on the file name.
-//
-//#include "data/hdf/HDFBasReader.h"
-//#include "SMRTSequence.h"
-//#include <string>
-//
-//int main(int argc, char* argv[]) {
-//	
-//	string basFile = argv[1];
-//
-//	HDFBasReader reader;
-//  reader.InitializeDefaultIncludedFields();
-//	reader.Initialize(basFile);
-//
-//	SMRTSequence read;
-//
-//	while(reader.GetNext(read)) {
-//		read.PrintQualSeq(cout);
-//	}
-//
-//
-//	return 0;
-//}
-//
-// * If you wanted to read only fasta sequences and not fastq, use:
-// 
-// FASTASequence read;
-// while (reader.GetNext(read) {
-//   read.PritnSeq(cout);
-// }
-//
-
-template<typename T_Sequence>
-class T_HDFBasReader : public DatasetCollection, public HDFPulseDataFile {
-public:
-    DNALength curBasePos;
-    int curRead;
-    unsigned int nBases;
-
-
-    //bool readPulseInformation;
-    bool hasRegionTable;
-
-    HDFArray<int> zmwXCoordArray;
-    HDFArray<int> zmwYCoordArray;
-    HDFArray<unsigned char> baseArray;
-    HDFArray<unsigned char> deletionQVArray;
-    HDFArray<unsigned char> deletionTagArray;
-    HDFArray<unsigned char> insertionQVArray;
-    HDFArray<unsigned char> substitutionTagArray;
-    HDFArray<unsigned char> substitutionQVArray;
-    HDFArray<unsigned char> mergeQVArray;
-    HDFArray<unsigned char> qualArray;
-    HDFArray<unsigned int> simulatedCoordinateArray;
-    HDFArray<unsigned int> simulatedSequenceIndexArray;
-    HDFArray<uint16_t> basWidthInFramesArray;
-    HDFArray<uint16_t> preBaseFramesArray;
-    HDFArray<int> pulseIndexArray;
-    HDFArray<int> holeIndexArray;
- 
-    // useful ZMWMetrics data
-    HDF2DArray<float> hqRegionSNRMatrix;
-    HDFArray<float> readScoreArray;
-
-    HDFGroup baseCallsGroup;
-    HDFGroup zmwMetricsGroup;
-    HDFGroup zmwGroup;
-    //	HDFArray<HalfWord> pulseWidthArray; This is deprecated
-    HDFAtom<std::string> changeListIDAtom;
-
-    //bool useWidthInFrames,  usePulseIndex, 
-    bool useZmwReader;
-    //    bool usePulseWidth; This is deprecated
-
-    std::string baseCallsGroupName;
-    std::string zmwMetricsGroupName;
-    bool qualityFieldsAreCritical;
-
-    //bool useHoleNumbers, useHoleStatus;
-    //bool usePreBaseFrames;
-    bool useBasHoleXY;
-    //bool useBasecall;
-    //bool useQuality;
-    bool readBasesFromCCS;
-    ChangeListID changeList;
-    QVScale qvScale;
-
-    PlatformId GetPlatform() {
-        return scanDataReader.platformId;
-    }
-
-    std::string GetMovieName() {
-        return scanDataReader.GetMovieName();
-    }
-
-    int GetReadAt(int index, SMRTSequence &read) {
-        //
-        // The first time this is called there may be no table of read
-        // offset positions.  Check for that and build if it does not
-        // exist. 
-        //
-        if (preparedForRandomAccess == false) {
-            PrepareForRandomAccess();
-        }
-        curRead = index;
-        curBasePos = eventOffset[index];
-        zmwReader.curZMW = index;
-        return GetNext(read);
-    }
-
-    std::string GetRunCode() {
-        return scanDataReader.GetRunCode();
-    }
-
-    T_HDFBasReader() {
-        curRead      = 0;
-        curBasePos   = 0;
-        nBases       = 0;
-        preparedForRandomAccess = false;
-        readBasesFromCCS = false;
-        baseCallsGroupName = "BaseCalls";
-        zmwMetricsGroupName = "ZMWMetrics";
-        qualityFieldsAreCritical = true;
-        useZmwReader = false;
-        useBasHoleXY = true;
-        hasRegionTable = false;
-        qvScale = POverOneMinusP; //default 0 = POverOneMinusP
-        fieldNames.push_back("Basecall");
-        fieldNames.push_back("DeletionQV");
-        fieldNames.push_back("DeletionTag");
-        fieldNames.push_back("InsertionQV");
-        fieldNames.push_back("SubstitutionTag");
-        fieldNames.push_back("SubstitutionQV");
-        fieldNames.push_back("QualityValue");
-        fieldNames.push_back("WidthInFrames");
-        fieldNames.push_back("PulseIndex");
-        fieldNames.push_back("PreBaseFrames");
-        fieldNames.push_back("MergeQV");
-        fieldNames.push_back("SimulatedCoordinate");
-        fieldNames.push_back("SimulatedSequenceIndex");
-        // Useful ZMWMetrics fields
-        fieldNames.push_back("HQRegionSNR");
-        fieldNames.push_back("ReadScore");
-        // Start out with no fields being read.
-        InitializeAllFields(false);
-        // Then by default always read bases.
-        IncludeField("Basecall");
-    }
-
-
-    void InitializeDefaultCCSIncludeFields() {
-        InitializeAllFields(false);
-        IncludeField("Basecall");
-        IncludeField("DeletionQV");
-        IncludeField("DeletionTag");
-        IncludeField("InsertionQV");
-        IncludeField("SubstitutionQV");
-        IncludeField("SubstitutionTag");
-        IncludeField("QualityValue");
-    }
-
-    void InitializeDefaultRawBasIncludeFields() {
-        IncludeField("Basecall");
-        IncludeField("QualityValue");
-        IncludeField("InsertionQV");
-        IncludeField("DeletionQV");
-        IncludeField("MergeQV");
-        IncludeField("SubstitutionQV");
-        IncludeField("DeletionTag");
-        IncludeField("SubstitutionTag"); // used in IDSScoreFunction
-        // FIXME: The following QVs are not really used by downstream
-        // analysis such as Quiver, make them optional to include.
-        IncludeField("WidthInFrames");
-        IncludeField("PulseIndex");
-        IncludeField("PreBaseFrames");
-        IncludeField("HQRegionSNR");
-        IncludeField("ReadScore");
-    }
-    void InitializeDefaultIncludedFields() {
-        if (readBasesFromCCS == false) {
-            InitializeDefaultRawBasIncludeFields();
-        }
-        else { 
-            InitializeDefaultCCSIncludeFields();
-        }
-    }
-
-    void InitializeDefaultRequiredFields() {
-        requiredFields["Basecall"] = true;
-    }
-
-    bool HasRegionTable() {
-        return hasRegionTable;
-    }
-
-
-    bool HasSimulatedCoordinatesStored() {
-        if (baseCallsGroup.ContainsObject("SimulatedCoordinate") and
-                baseCallsGroup.ContainsObject("SimulatedSequenceIndex")) {
-            return true;
-        }
-        else {
-            return false;
-        }
-    }
-
-    void SetReadBasesFromCCS() {
-        InitializeDefaultCCSIncludeFields();
-        readBasesFromCCS = true;
-    }
-
-    void GetChangeListID(std::string &changeListID) {
-        if (changeListIDAtom.initialized) {
-            changeListIDAtom.Read(changeListID);
-        }
-        else {
-            changeListID = "0";
-        }
-    }
- 
-    /// Get BindingKit, SequencingKit and Base Caller Version.
-    void GetChemistryTriple(std::string & bindingKit,
-                            std::string & sequencingKit, 
-                            std::string & baseCallerVersion) {
-        scanDataReader.ReadBindingKit(bindingKit);
-        scanDataReader.ReadSequencingKit(sequencingKit);
-        baseCallerVersion = changeList.GetVersion();
-    }
-
-    int InitializeForReadingBases() {
-
-        //
-        // Initialize root group + scan data information.
-        //
-        if (HDFPulseDataFile::Initialize(rootGroupPtr) == 0) return 0;
-
-        //
-        // Open the base group, this contains all the required information.  
-        //
-
-        if (readBasesFromCCS) {
-            baseCallsGroupName = "ConsensusBaseCalls";
-        }
-        if (pulseDataGroup.ContainsObject(baseCallsGroupName) == 0 or
-                baseCallsGroup.Initialize(pulseDataGroup.group, baseCallsGroupName) == 0) {
-            return 0;
-        }
-        if (baseCallsGroup.ContainsAttribute("ChangeListID")) {
-            changeListIDAtom.Initialize(baseCallsGroup.group, "ChangeListID");
-            std::string changeListIdString;
-            GetChangeListID(changeListIdString);
-            changeList = ChangeListID(changeListIdString);
-            qvScale = changeList.DetermineQVScaleFromChangeListID();
-        }
-        if (pulseDataGroup.ContainsObject("Regions")) {
-            hasRegionTable = true;
-        }
-        else {
-            hasRegionTable = false;
-        }
-
-        //
-        // Initialize read and quality arrays for reading.
-        //
-        if (this->InitializeSequenceFields(baseCallsGroup) == 0) {
-            return 0;
-        }
-
-        //
-        // Initialize simulated coordinate fields if they exist.  They are
-        // automatically opened and read from when they are in the bas.h5
-        // file since they are used for debugging.
-        //
-
-        if (baseCallsGroup.ContainsObject("SimulatedCoordinate")) {
-            includedFields["SimulatedCoordinate"] = true;
-            InitializeDataset(baseCallsGroup, simulatedCoordinateArray, "SimulatedCoordinate");
-        }
-        else {
-            includedFields["SimulatedCoordinate"] = false;
-        }
-
-        if (baseCallsGroup.ContainsObject("SimulatedSequenceIndex")) {
-            includedFields["SimulatedSequenceIndex"] = true;
-            InitializeDataset(baseCallsGroup, simulatedSequenceIndexArray, "SimulatedSequenceIndex");
-        }
-        else {
-            includedFields["SimulatedSequenceIndex"] = false;
-        }
-        nBases = baseArray.arrayLength;
-
-        return 1;
-    }
-
-
-    int InitializeCommon() {
-
-        //
-        // Initialize the smallest set of fields required to import bases.
-        //
-        if (InitializeForReadingBases() == 0) {
-            return 0;
-        }
-
-
-        return 1;
-    }
-
-    template<typename T_Dataset>
-        void InitializeRequiredField(HDFGroup &group, std::string arrayName, T_Dataset &field) {
-            if (group.ContainsObject(arrayName)) {
-                if (field.Initialize(group, arrayName) != 0) {
-                    return;
-                }
-            }
-            cout << "ERROR. Could not initialize dataset " << arrayName << endl;
-            exit(1);
-        }
-
-    template<typename T>
-        int InitializeField(HDFGroup &rootGroup, std::string arrayName,
-                T &field, bool &initialized) {
-            initialized = false;
-            if (rootGroup.ContainsObject(arrayName)) {
-                if (field.Initialize(rootGroup, arrayName) != 0) {
-                    initialized = true;
-                    return true;
-                }
-            }
-            return false;
-        }
-
-    template<typename T>
-        int InitializeAttribute(HDFGroup &rootGroup, std::string arrayName,
-                T &field, bool &initialized,
-                bool fieldIsCritical = true) {
-            int success = 1;
-            initialized = false;
-            if (rootGroup.ContainsAttribute(arrayName)) {
-                if (field.Initialize(rootGroup, arrayName) == 0) {
-                    success = 0;
-                }
-                else {
-                    initialized = true;
-                }
-            }
-            else {
-                // the field does not exist
-                success = 0;
-            }
-            if (fieldIsCritical) {
-                return success;
-            }
-            else {
-                return 1;
-            }
-        }
-
-    int InitializeSequenceFields(HDFGroup &baseCallsGroup) {
-        //
-        // The only field that is absoultely required is Basecall
-        if (baseArray.InitializeForReading(baseCallsGroup, "Basecall")        == false) return 0;
-        if (includedFields["QualityValue"] and qualArray.InitializeForReading(baseCallsGroup, "QualityValue")    == false) return 0;
-        if (includedFields["InsertionQV"] and insertionQVArray.InitializeForReading(baseCallsGroup, "InsertionQV")     == false) return 0;
-        if (includedFields["DeletionQV"] and deletionQVArray.InitializeForReading(baseCallsGroup, "DeletionQV")      == false) return 0;
-        if (includedFields["DeletionTag"] and deletionTagArray.InitializeForReading(baseCallsGroup, "DeletionTag")     == false) return 0;
-        if (includedFields["SubstitutionQV"] and substitutionQVArray.InitializeForReading(baseCallsGroup, "SubstitutionQV")  == false) return 0;
-        if (includedFields["SubstitutionTag"] and substitutionTagArray.InitializeForReading(baseCallsGroup, "SubstitutionTag") == false) return 0;
-        // if (includedFields["PreBaseFrames"] and preBaseFramesArray.InitializeForReading(baseCallsGroup, "PreBaseFrames")   == false) return 0;
-
-        if (baseCallsGroup.ContainsObject("PreBaseFrames")) {
-            if (preBaseFramesArray.InitializeForReading(baseCallsGroup, "PreBaseFrames") == false) return 0;
-        } else {
-            includedFields["PreBaseFrames"] = false;
-        }
-
-        //
-        // These fields are not always present in bas.h5 files.
-        //
-        if (baseCallsGroup.ContainsObject("PulseIndex")) {
-            if (pulseIndexArray.InitializeForReading(baseCallsGroup,        "PulseIndex")      == false) return 0;
-        }
-        else {
-            includedFields["PulseIndex"] = false;
-        }
-
-        if (baseCallsGroup.ContainsObject("WidthInFrames")) {    
-            if (basWidthInFramesArray.InitializeForReading(baseCallsGroup,  "WidthInFrames")   == false) return 0;
-        }
-        else {
-            includedFields["WidthInFrames"] = false;
-        }
-
-        if (baseCallsGroup.ContainsObject("MergeQV")) {
-            if (includedFields["MergeQV"] and mergeQVArray.InitializeForReading(baseCallsGroup, "MergeQV") == false) return false;
-        }
-        else {
-            includedFields["MergeQV"] = false;
-        }
-
-        if ((includedFields["HQRegionSNR"] or includedFields["ReadScore"]) and
-                (baseCallsGroup.ContainsObject(zmwMetricsGroupName) == 0 or
-                zmwMetricsGroup.Initialize(baseCallsGroup.group, zmwMetricsGroupName) == 0)) {
-            includedFields["HQRegionSNR"] = false;
-            includedFields["ReadScore"] = false;
-        }
-        if (includedFields["HQRegionSNR"] and (zmwMetricsGroup.ContainsObject("HQRegionSNR") == 0 or
-                GetDatasetNDim(zmwMetricsGroup.group, "HQRegionSNR") != 2 or
-                hqRegionSNRMatrix.InitializeForReading(zmwMetricsGroup, "HQRegionSNR") == false or
-                hqRegionSNRMatrix.GetNCols() != 4)) {
-            includedFields["HQRegionSNR"] = false;
-        }
-        if (includedFields["ReadScore"] and (zmwMetricsGroup.ContainsObject("ReadScore") == 0 or
-                readScoreArray.InitializeForReading(zmwMetricsGroup, "ReadScore")) == false) {
-            includedFields["ReadScore"] = false;
-        }
-
-        return 1;
-    }
-
-    int InitializeAstro() {
-        useBasHoleXY = true;
-        return 1;
-    }
-
-    int InitializeSpringfield() {
-        //
-        // For now, no special initialization is required.
-        //
-        return 1;
-    }
-
-    int Initialize(HDFGroup *rootGroupP) {
-        rootGroupPtr= rootGroupP;
-        return Initialize();
-    }
-
-
-    int Initialize() {
-
-        // Return 0 if any of the array inializations do not work.
-        if (InitializeCommon() == 0) {
-            return 0;
-        }
-
-        // Must have zmw information.
-        if (zmwReader.Initialize(&baseCallsGroup) == 0) {
-            return 0;
-        }
-        else {
-            useZmwReader = true;
-        }
-        //
-        // Get information about the chip - how many zmw's, the hole
-        // number indices to keep track of reads, etc..
-        //
-        nReads = zmwReader.numEventArray.arrayLength;
-
-
-
-        if (scanDataReader.platformId == Astro) {
-            if (InitializeAstro() == 0) {
-                return 0;
-            }
-        }
-        else if (scanDataReader.platformId == Springfield) {
-            if (InitializeSpringfield() == 0) {
-                return 0;
-            }
-        }
-
-        /*
-         * Initialize state variables.
-         */
-
-        curBasePos = 0;
-        curRead    = 0;
-
-        /*
-         * All ok, return that.
-         */
-        return 1;
-    }
-
-    int InitializeHDFFile(std::string hdfBasFileName, 
-            const H5::FileAccPropList & fileAccPropList = H5::FileAccPropList::DEFAULT) { 
-        /*
-         * Initialize access to the HDF file.  For reading bas files, this
-         * involves:
-         *   - Opening the file, and initializing both base and zmw grops.
-         */
-        if (OpenHDFFile(hdfBasFileName, fileAccPropList) == 0) {
-            return 0;
-        }
-
-        if (rootGroup.Initialize(hdfBasFile, "/") == 0) {
-            return 0;
-        }
-        rootGroupPtr = &rootGroup;
-        return 1;
-    }
-
-    int Initialize(std::string hdfBasFileName,
-            const H5::FileAccPropList & fileAccPropList = H5::FileAccPropList::DEFAULT) {
-        int init = InitializeHDFFile(hdfBasFileName, fileAccPropList);
-        if (init == 0) return 0;
-        return Initialize();
-    }
-
-    int GetNumReads() {
-        return nReads;
-    }
-
-    void BuildReadTitle(std::string movieTitle, unsigned int holeNumber, std::string &readTitle, unsigned int simIndex=0, unsigned int simCoordinate=0) {
-        std::stringstream readTitleStrm;
-        readTitleStrm << movieTitle << "/" << holeNumber;
-        readTitle = readTitleStrm.str();
-    }
-
-    int GetNext(FASTASequence &seq) {
-        if (curRead == nReads) {
-            return 0;
-        }
-
-        int seqLength;
-        try {
-            seqLength = GetNextWithoutPosAdvance(seq);
-        } catch(H5::DataSetIException e) {
-            cout << "ERROR, could not read base calls for FASTA Sequence "
-                << seq.GetName() << endl;
-            exit(1);
-        }
-        curBasePos += seqLength;
-        seq.StorePlatformId(scanDataReader.platformId);
-        return 1;
-    }
-
-
-    int GetNext(FASTQSequence &seq) {
-        try {
-            if (curRead == nReads) {
-                return 0;
-            }
-            int seqLength = GetNextWithoutPosAdvance(seq);
-            seq.length = seqLength;
-
-            if (seqLength > 0 ) {
-                if (includedFields["QualityValue"]) {
-                    seq.AllocateQualitySpace(seqLength);
-                    qualArray.Read((int)curBasePos, (int) curBasePos + seqLength, (unsigned char*) seq.qual.data);
-                }
-            }
-
-            if (includedFields["DeletionQV"]) {
-                GetNextDeletionQV(seq);
-            }
-            if (includedFields["DeletionTag"]) {
-                GetNextDeletionTag(seq);
-            }
-            if (includedFields["InsertionQV"]) {
-                GetNextInsertionQV(seq);
-            }
-            if (includedFields["SubstitutionQV"]) {
-                GetNextSubstitutionQV(seq);
-            }
-            if (includedFields["SubstitutionTag"]) {
-                GetNextSubstitutionTag(seq);
-            }
-            if (includedFields["MergeQV"]) {
-                GetNextMergeQV(seq);
-            }
-            seq.SetQVScale(qvScale);
-            curBasePos += seqLength;
-        } catch(H5::DataSetIException e) {
-            cout << "ERROR, could not read quality metrics for FASTQ Sequence " 
-                << seq.GetName() << endl;
-            exit(1);
-        }
-        return 1;
-    }
-
-    //
-    // Read a SMRTSequence, but only the basecalls and maybe the QVs. This
-    // makes pls2fasta more efficient.
-    //
-    int GetNextBases(SMRTSequence &seq, bool readQVs) {
-        try {
-            if (curRead == nReads) {
-                return 0;
-            }
-
-            // must be done before GetNextWithoutPosAdvance (which increments curRead)
-            // get ZMWMetrics fields
-            if (includedFields["HQRegionSNR"]) {
-                GetNextHQRegionSNR(seq);
-            }
-            if (includedFields["ReadScore"]) {
-                GetNextReadScore(seq);
-            }
-
-            int seqLength = GetNextWithoutPosAdvance(seq);
-            seq.length = seqLength;
-            if(readQVs) {
-                if (seqLength > 0 ) {
-                    if (includedFields["QualityValue"]) {
-                        seq.AllocateQualitySpace(seqLength);
-                        qualArray.Read((int)curBasePos, 
-                                       (int) curBasePos + seqLength, 
-                                       (unsigned char*) seq.qual.data);
-                    }
-                }
-            }
-
-            seq.SetQVScale(qvScale);
-            curBasePos += seqLength;
-
-            seq.subreadStart = 0;
-            seq.subreadEnd   = seq.length;
-            zmwReader.GetNext(seq.zmwData);
-            seq.xy[0] = seq.zmwData.x;
-            seq.xy[1] = seq.zmwData.y;
-        } catch (H5::DataSetIException e) {
-            cout << "ERROR, could not read bases or QVs for SMRTSequence "
-                << seq.GetName() << endl;
-            exit(1);
-        }
-        return 1;
-    }
-
-    //
-    // Reading of SMRT Sequences reads both the sequence fields, and the
-    // fields with ZMW information for identification of this read.
-    //
-
-    int GetNext(SMRTSequence &seq) {
-        //
-        // Read in quality values.
-        //
-        int retVal;
-
-        DNALength  curBasPosCopy = curBasePos;
-        //
-        // Getting next advances the curBasPos to the end of 
-        // the current sequence. 
-        //
-        try {
-            // must check before looking at HQRegionSNR/ReadScore!!
-            if (curRead == nReads) {
-                return 0;
-            }
-
-            // get ZMWMetrics fields, must be done before GetNext
-            // (which calls GetNextWithoutAdvancePos, which increments curRead)
-            if (includedFields["HQRegionSNR"]) {
-                GetNextHQRegionSNR(seq);
-            }
-            if (includedFields["ReadScore"]) {
-                GetNextReadScore(seq);
-            }
-
-        //
-        // Bail now if the file is already done
-        //
-        if ((retVal = this->GetNext((FASTQSequence&)seq)) == 0) {
-            return 0;
-        }
-
-            DNALength nextBasePos = curBasePos;
-            curBasePos = curBasPosCopy;
-
-            if (includedFields["WidthInFrames"] ) {
-                assert(nextBasePos <= basWidthInFramesArray.arrayLength);
-                GetNextWidthInFrames(seq);
-            }
-            if (includedFields["PreBaseFrames"]) { 
-                GetNextPreBaseFrames(seq);
-            }
-            if (includedFields["PulseIndex"]) { 
-                GetNextPulseIndex(seq);
-            }
-            curBasePos = nextBasePos;
-
-            //
-            // By default, the subread of a read without subread information is
-            // the whole read.
-            //
-            seq.subreadStart = 0;
-            seq.subreadEnd   = seq.length;
-            zmwReader.GetNext(seq.zmwData);
-            seq.xy[0] = seq.zmwData.x;
-            seq.xy[1] = seq.zmwData.y;
-        } catch(H5::DataSetIException e) {
-            cout << "ERROR, could not read pulse metrics for SMRTSequence " 
-                << seq.GetName() << endl;
-            exit(1);
-        }
-        return retVal;
-    }
-    /*
-       int16_t xy[2];
-       if (zmwReader.readHoleXY) {
-       zmwReader.xyArray.Read(curRead, curRead+1, 0, 2, xy);
-       }
-       else {
-       xy[0] = xy[1] = 0;
-       }
-       seq.StoreXY(xy);
-       */
-    void GetAllPulseIndex(std::vector<int> &pulseIndex) {
-        CheckMemoryAllocation(pulseIndexArray.arrayLength, maxAllocNElements, "PulseIndex");
-        pulseIndex.resize(pulseIndexArray.arrayLength);
-        pulseIndexArray.Read(0, pulseIndexArray.arrayLength, &pulseIndex[0]);
-    }
-
-    void GetAllPreBaseFrames(std::vector<uint16_t> &preBaseFrames) {
-        CheckMemoryAllocation(preBaseFramesArray.arrayLength, maxAllocNElements, "PreBaseFrames");
-        preBaseFrames.resize(nBases);
-        preBaseFramesArray.Read(0, nBases, &preBaseFrames[0]);
-    }
-
-    void GetAllWidthInFrames(std::vector<uint16_t> &widthInFrames) { 
-        CheckMemoryAllocation(basWidthInFramesArray.arrayLength, maxAllocNElements, "WidthInFrames");
-        widthInFrames.resize(nBases);
-        basWidthInFramesArray.Read(0, nBases, &widthInFrames[0]);
-    }
-
-    int GetAllHoleStatus(std::vector<unsigned char> &holeStatus) {
-        CheckMemoryAllocation(zmwReader.holeStatusArray.arrayLength, maxAllocNElements, "HoleStatus (base)");
-        holeStatus.resize(nReads);
-        zmwReader.holeStatusArray.Read(0,nReads, (unsigned char*)&holeStatus[0]);
-        return holeStatus.size();
-    }
-
-    int GetAllReadLengths(std::vector<int> &readLengths) {
-        readLengths.resize(nReads);
-        zmwReader.numEventArray.ReadDataset(readLengths);
-        return readLengths.size();
-    }
-
-    int Advance(int nSeq) {
-        int i;
-        // cannot advance past the end of this file
-        if (curRead + nSeq >= nReads) { return 0; }
-        for (i = curRead; i < curRead + nSeq && i < nReads; i++ ) {
-            int seqLength;
-            zmwReader.numEventArray.Read(i, i+1, &seqLength);
-            curBasePos += seqLength;
-        }
-        curRead += nSeq;
-        zmwReader.Advance(nSeq);
-        return curRead;
-    }
-
-    int GetNextWithoutPosAdvance(FASTASequence &seq) {
-        int seqLength;
-
-        zmwReader.numEventArray.Read(curRead, curRead+1, &seqLength);
-        seq.length = 0;
-        seq.seq = NULL;
-
-        if (includedFields["Basecall"]) {
-            if (seqLength > 0) {
-                ResizeSequence(seq, seqLength);
-                baseArray.Read(curBasePos, curBasePos + seqLength, (unsigned char*) seq.seq);
-            }
-        }
-
-        std::string readTitle;
-        unsigned int holeNumber;
-        unsigned char holeStatus;
-        zmwReader.holeNumberArray.Read(curRead, curRead+1, &holeNumber);
-        seq.StoreHoleNumber(holeNumber);
-
-        zmwReader.holeStatusArray.Read(curRead, curRead+1, &holeStatus);
-        seq.StoreHoleStatus(holeStatus);
-
-        DNALength simIndex=0, simCoordinate=0;
-
-        if (includedFields["SimulatedSequenceIndex"] == true) {
-            simulatedSequenceIndexArray.Read(curRead,curRead+1,&simIndex);
-        }
-        if (includedFields["SimulatedCoordinate"] == true) {
-            simulatedCoordinateArray.Read(curRead, curRead+1, &simCoordinate);
-        }
-
-        BuildReadTitle(scanDataReader.GetMovieName(), holeNumber, readTitle, simIndex, simCoordinate);
-
-        seq.CopyTitle(readTitle);
-        curRead++;
-        return seqLength;
-    }
-
-    int GetNextDeletionQV(FASTQSequence &seq) {
-        if (seq.length == 0) return 0;
-        seq.AllocateDeletionQVSpace(seq.length);
-        deletionQVArray.Read((int)curBasePos, (int) curBasePos + seq.length, (unsigned char*) seq.deletionQV.data);
-        return seq.length;
-    }
-
-    int GetNextMergeQV(FASTQSequence &seq) {
-        if (seq.length == 0) return 0;
-        seq.AllocateMergeQVSpace(seq.length);
-        mergeQVArray.Read((int)curBasePos, (int) curBasePos + seq.length, (unsigned char*) seq.mergeQV.data);
-        return seq.length;
-    }
-
-    int GetNextDeletionTag(FASTQSequence &seq) {
-        if (seq.length == 0) return 0;
-        seq.AllocateDeletionTagSpace(seq.length);
-        deletionTagArray.Read((int)curBasePos, (int) curBasePos + seq.length, (unsigned char*) seq.deletionTag);
-        return seq.length;
-    }
-
-    int GetNextInsertionQV(FASTQSequence &seq) {
-        if (seq.length == 0) return 0;
-        seq.AllocateInsertionQVSpace(seq.length);
-        insertionQVArray.Read((int)curBasePos, (int) curBasePos + seq.length, (unsigned char*) seq.insertionQV.data);
-        return seq.length;
-    }
-
-    int GetNextWidthInFrames(SMRTSequence &seq) {
-        if (seq.length == 0) return 0;
-        if (seq.widthInFrames) {
-            delete [] seq.widthInFrames;
-            seq.widthInFrames = NULL;
-        }
-        seq.widthInFrames = new HalfWord[seq.length];
-        basWidthInFramesArray.Read((int)curBasePos, (int) curBasePos + seq.length, (HalfWord*) seq.widthInFrames);
-        return seq.length;
-    }
-
-    int GetNextPreBaseFrames(SMRTSequence &seq) {
-        if (seq.length == 0) return 0;
-        if (seq.preBaseFrames) {
-            delete [] seq.preBaseFrames;
-            seq.preBaseFrames = NULL;
-        }
-        seq.preBaseFrames = new HalfWord[seq.length];
-        preBaseFramesArray.Read((int)curBasePos, (int) curBasePos + seq.length, (HalfWord*) seq.preBaseFrames);
-        return seq.length;
-    }
-    int GetNextPulseIndex(SMRTSequence &seq) {
-        if (seq.length == 0) return 0;
-        if (seq.pulseIndex) {
-            delete [] seq.pulseIndex;
-            seq.pulseIndex = NULL;
-        }
-        seq.pulseIndex = new int[seq.length];
-        pulseIndexArray.Read((int)curBasePos, (int) curBasePos + seq.length, (int*) seq.pulseIndex);
-        return seq.length;
-    }
-    int GetNextHQRegionSNR(SMRTSequence &seq) {
-        hqRegionSNRMatrix.Read(curRead, curRead + 1, seq.hqRegionSnr);
-        return 4;
-    }
-    int GetNextReadScore(SMRTSequence &seq) {
-        readScoreArray.Read(curRead, curRead + 1, &seq.readScore);
-        return 1;
-    }
-    int GetNextSubstitutionQV(FASTQSequence &seq) {
-        if (seq.length == 0) return 0;
-        seq.AllocateSubstitutionQVSpace(seq.length);
-        substitutionQVArray.Read((int)curBasePos, (int) curBasePos + seq.length, (unsigned char*) seq.substitutionQV.data);
-        return seq.length;
-    }
-
-    int GetNextSubstitutionTag(FASTQSequence &seq) {
-        if (seq.length == 0) return 0;
-        seq.AllocateSubstitutionTagSpace(seq.length);
-        substitutionTagArray.Read((int)curBasePos, (int) curBasePos + seq.length, (unsigned char*) seq.substitutionTag);		
-        return seq.length;
-    }
-
-    void Close() {
-
-        baseCallsGroup.Close();
-        zmwXCoordArray.Close();
-        zmwYCoordArray.Close();
-        baseArray.Close();
-        qualArray.Close();
-        if (useZmwReader) {
-            zmwReader.Close();
-        }
-
-        if (includedFields["DeletionQV"]) {
-            deletionQVArray.Close();
-        }
-        if (includedFields["DeletionTag"]) {
-            deletionTagArray.Close();
-        }
-        if (includedFields["MergeQV"]) {
-            mergeQVArray.Close();
-        }
-        if (includedFields["InsertionQV"]) {
-            insertionQVArray.Close();
-        }
-        if (includedFields["SubstitutionTag"]) {
-            substitutionTagArray.Close();
-        }
-        if (includedFields["SubstitutionQV"]) {
-            substitutionQVArray.Close();
-        }
-        if (includedFields["WidthInFrames"]) {
-            basWidthInFramesArray.Close();
-        }
-        if (includedFields["PreBaseFrames"]) {
-            preBaseFramesArray.Close();
-        }
-        if (includedFields["PulseIndex"]) {
-            pulseIndexArray.Close();
-        }
-
-        // ZMWMetrics fields
-        if (includedFields["HQRegionSNR"]) {
-            hqRegionSNRMatrix.Close();
-        }
-        if (includedFields["ReadScore"]) {
-            readScoreArray.Close();
-        }
-
-        HDFPulseDataFile::Close();
-    }
-
-    void ReadAllHoleXY(BaseFile &baseFile) {
-        baseFile.holeXY.resize(nReads);
-        int i;
-        for (i = 0; i < nReads; i++) {
-            zmwReader.xyArray.Read(i,i+1, baseFile.holeXY[i].xy);
-        }
-    }
-
-    //
-    // Return size of an entire field.
-    //
-    UInt GetFieldSize(const std::string & field) {
-        if (not includedFields[field]) {
-            cout << "ERROR, field [" << field << "] is not included in the base file." << endl;
-            exit(1);
-        }
-        if (field == "Basecall") {
-            return baseArray.arrayLength / 1024 * sizeof(unsigned char);
-        } else if (field == "QualityValue") {
-            return qualArray.arrayLength / 1024 * sizeof(unsigned char);
-        } else if (field == "DeletionQV") {
-            return deletionQVArray.arrayLength / 1024 * sizeof(unsigned char);
-        } else if (field == "DeletionTag")  {
-            return deletionTagArray.arrayLength / 1024 * sizeof(unsigned char);
-        } else if (field == "MergeQV") {
-            return mergeQVArray.arrayLength / 1024 * sizeof(unsigned char);
-        } else if (field == "InsertionQV") { 
-            return insertionQVArray.arrayLength / 1024 * sizeof(unsigned char);
-        } else if (field == "SubstitutionQV") {
-            return substitutionQVArray.arrayLength / 1024 * sizeof(unsigned char);
-        } else if (field == "SubstitutionTag") {
-            return substitutionTagArray.arrayLength / 1024 * sizeof(unsigned char);
-        } else if (field == "WidthInFrames") {
-            return basWidthInFramesArray.arrayLength / 1024 * sizeof(uint16_t);
-        } else if (field == "PreBaseFrames") {
-            return preBaseFramesArray.arrayLength / 1024 * sizeof(uint16_t);
-        } else if (field == "PulseIndex") {
-            return pulseIndexArray.arrayLength / 1024 * sizeof(int);
-        } else {
-            cout << "ERROR, field [" << field << "] is not supported. " << endl ;
-            exit(1);
-        }
-    }
-
-    //
-    // Read an entire field.
-    //
-    void ReadField(BaseFile & baseFile, const std::string & field) {
-        if (not includedFields[field]) {
-            cout << "ERROR, field [" << field << "] is not included in the base file." << endl;
-            exit(1);
-        }
-        if (field == "Basecall") {
-            assert(nBases == baseArray.arrayLength);
-            baseArray.ReadDataset(baseFile.baseCalls); 
-        } else if (field == "QualityValue") {
-            qualArray.ReadDataset(baseFile.qualityValues);
-        } else if (field == "DeletionQV") {
-            deletionQVArray.ReadDataset(baseFile.deletionQV);
-        } else if (field == "DeletionTag")  {
-            deletionTagArray.ReadDataset(baseFile.deletionTag);
-        } else if (field == "MergeQV") {
-            mergeQVArray.ReadDataset(baseFile.mergeQV);
-        } else if (field == "InsertionQV") { 
-            insertionQVArray.ReadDataset(baseFile.insertionQV);
-        } else if (field == "SubstitutionQV") {
-            substitutionQVArray.ReadDataset(baseFile.substitutionQV);			
-        } else if (field == "SubstitutionTag") {
-            substitutionTagArray.ReadDataset(baseFile.substitutionTag);
-        } else if (field == "WidthInFrames") {
-            basWidthInFramesArray.ReadDataset(baseFile.basWidthInFrames);
-        } else if (field == "PreBaseFrames") {
-            preBaseFramesArray.ReadDataset(baseFile.preBaseFrames);
-        } else if (field == "PulseIndex") {
-            pulseIndexArray.ReadDataset(baseFile.pulseIndex);
-        } else {
-            cout << "ERROR, field [" << field << "] is not supported. " << endl ;
-            exit(1);
-        }
-    }
-
-    //
-    // Clear memory allocated for a field
-    //
-    void ClearField(BaseFile & baseFile, const std::string & field) {
-        if (not includedFields[field]) {
-            cout << "ERROR, field [" << field << "] is not included in the base file." << endl;
-            exit(1);
-        }
-        if (field == "Basecall") {
-            ClearMemory(baseFile.baseCalls);
-        } else if (field == "QualityValue") {
-            ClearMemory(baseFile.qualityValues);
-        } else if (field == "DeletionQV") {
-            ClearMemory(baseFile.deletionQV);
-        } else if (field == "DeletionTag")  {
-            ClearMemory(baseFile.deletionTag);
-        } else if (field == "MergeQV") {
-            ClearMemory(baseFile.mergeQV); 
-        } else if (field == "InsertionQV") { 
-            ClearMemory(baseFile.insertionQV);
-        } else if (field == "SubstitutionQV") {
-            ClearMemory(baseFile.substitutionQV);
-        } else if (field == "SubstitutionTag") {
-            ClearMemory(baseFile.substitutionTag);
-        } else if (field == "WidthInFrames") {
-            ClearMemory(baseFile.basWidthInFrames);
-        } else if (field == "PreBaseFrames") {
-            ClearMemory(baseFile.preBaseFrames); 
-        } else if (field == "PulseIndex") {
-            ClearMemory(baseFile.pulseIndex);
-        } else {
-            cout << "ERROR, field [" << field << "] is supported. " << endl ;
-            exit(1);
-        }
-    }
-
-    //
-    // Initialization for reading a base file.  
-    //
-    void ReadBaseFileInit(BaseFile & baseFile) {
-        if (scanDataReader.fileHasScanData) {
-            scanDataReader.Read(baseFile.scanData);
-        }
-
-        baseFile.nReads = nReads;
-
-        if (useBasHoleXY) {
-            ReadAllHoleXY(baseFile);
-        }
-        GetAllHoleNumbers(baseFile.holeNumbers);
-        GetAllHoleStatus(baseFile.holeStatus);
-        zmwReader.numEventArray.ReadDataset(baseFile.readLengths);
-
-        //
-        // Cache the start positions of all reads.
-        //
-        assert(baseFile.nReads == baseFile.readLengths.size());
-        baseFile.readStartPositions.resize(baseFile.readLengths.size()+1);
-
-        if ( baseFile.readLengths.size() > 0 ) {
-            int i;
-            baseFile.readStartPositions[0] = 0;
-            for (i = 1; i < baseFile.readLengths.size()+1; i++) {
-                baseFile.readStartPositions[i] = 
-                    (baseFile.readStartPositions[i-1] +
-                     baseFile.readLengths[i-1]);
-            }
-        }
-    }
-
-    //
-    // Read a base file.
-    //
-    void ReadBaseFile(BaseFile &baseFile) {
-        ReadBaseFileInit(baseFile);
-
-        if (includedFields["Basecall"]) {
-            baseFile.baseCalls.resize(nBases);
-            baseArray.Read(0,nBases, &baseFile.baseCalls[0]);
-        }
-
-        /*
-         * This can probably be fixed eventually with an object factory or
-         * collection of some sorts.
-         */
-        if (includedFields["WidthInFrames"]) {
-            basWidthInFramesArray.ReadDataset(baseFile.basWidthInFrames);
-        }
-        if (includedFields["PreBaseFrames"]) {
-            preBaseFramesArray.ReadDataset(baseFile.preBaseFrames);
-        }
-        if (includedFields["PulseIndex"]) {
-            pulseIndexArray.ReadDataset(baseFile.pulseIndex);
-        }
-        if (includedFields["QualityValue"]) {
-            qualArray.ReadDataset(baseFile.qualityValues);
-        }
-        if (includedFields["InsertionQV"]) {
-            insertionQVArray.ReadDataset(baseFile.insertionQV);
-        }
-        if (includedFields["SubstitutionTag"]) {
-            substitutionTagArray.ReadDataset(baseFile.substitutionTag);
-        }
-        if (includedFields["SubstitutionQV"]) {
-            substitutionQVArray.ReadDataset(baseFile.substitutionQV);			
-        }
-        if (includedFields["MergeQV"]) {
-            mergeQVArray.ReadDataset(baseFile.mergeQV);			
-        }
-        if (includedFields["DeletionQV"]) {
-            deletionQVArray.ReadDataset(baseFile.deletionQV);
-        }
-        if (includedFields["DeletionTag"]) {
-            deletionTagArray.ReadDataset(baseFile.deletionTag);
-        }
-
-        baseFile.nBases = nBases;
-        baseFile.scanData.platformId = scanDataReader.platformId;
-    }
-    
-    void GetMinMaxHoleNumber(UInt &minHole, UInt &maxHole) {
-        assert(nReads >= 0);
-        // Assume that hole numbers are ascendingly sorted in ZMW/HoleNumber.
-        if (not zmwReader.GetHoleNumberAt(0, minHole) or 
-            not zmwReader.GetHoleNumberAt(nReads - 1, maxHole)) {
-            cout << "ERROR, could not get the minimum and maximum hole numbers "
-                    << "from ZMW HoleNumbers." << endl;
-            exit(1);
-        }
-    }
-};
-
-class HDFSmrtReader: public T_HDFBasReader<SMRTSequence> {
-public:
-    int Advance(int nSteps);
-};
-
-typedef T_HDFBasReader<FASTASequence> HDFBasReader;
-typedef T_HDFBasReader<FASTQSequence> HDFQualReader;
-
-
-#endif
diff --git a/libcpp/hdf/HDFBasWriter.hpp b/libcpp/hdf/HDFBasWriter.hpp
deleted file mode 100644
index dc4bac9..0000000
--- a/libcpp/hdf/HDFBasWriter.hpp
+++ /dev/null
@@ -1,390 +0,0 @@
-#ifndef _BLASR_HDF_BAS_WRITER_HPP_
-#define _BLASR_HDF_BAS_WRITER_HPP_
-
-#include <sstream>
-#include "Types.h"
-#include "Enumerations.h"
-#include "utils/SMRTReadUtils.hpp"
-#include "SMRTSequence.hpp"
-#include "HDFAtom.hpp"
-#include "HDFFile.hpp"
-#include "DatasetCollection.hpp"
-#include "HDFArray.hpp"
-#include "HDFScanDataWriter.hpp"
-#include "HDF2DArray.hpp"
-
-using namespace H5;
-using namespace std;
-
-class HDFBasWriter : public DatasetCollection {
-	HDFFile outFile;
-	string hdfFileName;
-	static const int bufferSize = 16;
-	
-	string changeListID;
-	HDFAtom<string> changeListIDAtom;
-
-	BufferedHDFArray<int> nElemArray;
-	BufferedHDFArray<int> zmwXCoordArray;
-	BufferedHDFArray<int> zmwYCoordArray;
-	BufferedHDFArray<unsigned char> baseArray;
-	BufferedHDFArray<unsigned char> qualArray;
-	BufferedHDFArray<unsigned int> simulatedCoordinateArray;
-	BufferedHDFArray<unsigned int> simulatedSequenceIndexArray;
-
-
-	//
-	// Astro specific arrays.
-	//
-	BufferedHDF2DArray<int16_t> holeXY2D;
-
-	//
-	// Springfield specific arrays.
-	//
-	BufferedHDFArray<unsigned int> holeNumberArray;
-	BufferedHDFArray<unsigned char> holeStatusArray;
-	
-	//
-	// Define arrays for rich quality values.
-	// 
-	BufferedHDFArray<unsigned char> deletionQVArray;
-	BufferedHDFArray<unsigned char> deletionTagArray;
-	BufferedHDFArray<unsigned char> insertionQVArray;
-	BufferedHDFArray<unsigned char> substitutionTagArray;
-	BufferedHDFArray<unsigned char> substitutionQVArray;
-	BufferedHDFArray<unsigned char> mergeQVArray;
-	BufferedHDFArray<HalfWord> preBaseFramesArray;
-	BufferedHDFArray<HalfWord> widthInFramesArray;
-	BufferedHDFArray<int> pulseIndexArray;
-	BufferedHDF2DArray<unsigned char> preBaseDeletionQVArray;
-	HDFGroup rootGroup;
-
-	HDFGroup baseCallGroup;
-	HDFGroup zmwGroup;
-	HDFGroup plsZMWGroup;
-
-	PlatformId platformId;
-    ScanData sd;
-public:
-	HDFGroup pulseDataGroup;
-	~HDFBasWriter() { 
-		//
-		// Assume that flushing out and closing the hdf file must be one
-		// manually and not in a destructor.
-		//
-	}
-	void InitializeDefaultIncludedFields() {
-		IncludeField("Basecall");
-		IncludeField("DeletionQV");
-		IncludeField("DeletionTag");
-		IncludeField("InsertionQV");
-		IncludeField("SubstitutionTag");
-		IncludeField("SubstitutionQV");
-		IncludeField("QualityValue");
-		IncludeField("WidthInFrames");
-		IncludeField("PulseIndex");
-		IncludeField("PreBaseFrames");
-		IncludeField("HoleNumber");    
-    IncludeField("HoleStatus");
-    IncludeField("MergeQV");
-	}
-	
-
-	void Flush() {
-		nElemArray.Flush();
-
-		if (includedFields["zmwXCoord"])
-		    zmwXCoordArray.Flush();
-		if (includedFields["zmwYCoord"])
-			zmwYCoordArray.Flush();
-		if (includedFields["Basecall"])
-			baseArray.Flush();
-		if (includedFields["QualityValue"])
-			qualArray.Flush();
-		if (includedFields["DeletionQV"])
-			deletionQVArray.Flush();
-		if (includedFields["DeletionTag"])
-			deletionTagArray.Flush();
-		if (includedFields["InsertionQV"])
-			insertionQVArray.Flush();
-		if (includedFields["SubstitutionTag"])
-			substitutionTagArray.Flush();
-		if (includedFields["SubstitutionQV"])
-			substitutionQVArray.Flush();
-		if (includedFields["HoleNumber"])
-			holeNumberArray.Flush();
-		if (includedFields["HoleStatus"])
-			holeStatusArray.Flush();
-		if (includedFields["PreBaseFrames"])
-			preBaseFramesArray.Flush();
-    if (includedFields["PulseIndex"]) 
-      pulseIndexArray.Flush();
-		if (includedFields["WidthInFrames"])
-			widthInFramesArray.Flush();
-		if (includedFields["HoleXY"])
-			holeXY2D.Flush();
-    if (includedFields["MergeQV"]) 
-      mergeQVArray.Flush();
-		if (includedFields["SimulatedCoordinate"])
-			simulatedCoordinateArray.Flush();
-		if (includedFields["SimulatedSequenceIndex"]) 
-	    	simulatedSequenceIndexArray.Flush();
-	}
-
-	HDFBasWriter() {
-		/*
-		 * Default to astro for now.  This may need to change to a NO_ID
-		 * platform, in which case it must be set with Initialize().
-		 */
-		fieldNames.push_back("zmwXCoord");
-		fieldNames.push_back("zmwYCoord");
-		fieldNames.push_back("QualityValue");
-		fieldNames.push_back("Basecall");
-		fieldNames.push_back("DeletionQV");
-		fieldNames.push_back("DeletionTag");
-		fieldNames.push_back("InsertionQV");
-		fieldNames.push_back("SubstitutionQV");
-		fieldNames.push_back("SubstitutionTag");
-		fieldNames.push_back("MergeQV");
-		fieldNames.push_back("WidthInFrames");
-		fieldNames.push_back("HoleNumber");
-		fieldNames.push_back("HoleStatus");
-		fieldNames.push_back("HoleXY");
-		fieldNames.push_back("PreBaseFrames");
-		fieldNames.push_back("PulseIndex");
-		fieldNames.push_back("SimulatedCoordinate");
-		fieldNames.push_back("SimulatedSequenceIndex");
-		InitializeAllFields(false);
-		sd.platformId = Springfield;
-	}
-
-	void Close() {
-		Flush();
-		outFile.Close();
-	}
-
-	void SetPlatform(PlatformId _platform) {
-        sd.platformId = platformId = _platform;
-	}
-	void SetMovieName(string _movieName) {
-        sd.movieName = _movieName;
-	}
-	void SetRunCode(string _runCode) {
-        sd.runCode = _runCode;
-	}
-	void SetChangeListID(string _changeListID) {
-		changeListID = _changeListID;
-	}
-
-	
-	/*
-	 * Initialization without a runCode is implicitly a springfield
-	 * platform.  You can change it if you really want.
-	 */
-	void Initialize(string _hdfFileName, string movieName, string _changeListID) {
-        SetChangeListID(_changeListID);
-        SetPlatform(Springfield);
-        SetMovieName(movieName);
-		Initialize(_hdfFileName);
-	}
-
-	void Initialize(string _hdfFileName, string movieName, PlatformId _platform = Springfield) {
-        SetMovieName(movieName);
-        SetPlatform(Springfield);
-		Initialize(_hdfFileName);
-	}
-
-	void Initialize(string _hdfFileName, string movieName, string runCode, string _changeListID ) {
-        SetChangeListID(_changeListID);
-        SetMovieName(movieName);
-        SetRunCode(runCode);
-		Initialize(_hdfFileName);
-	}
-
-
-	void WriteSimulatedCoordinate(unsigned int coord) {
-		simulatedCoordinateArray.Write(&coord,1);
-	}
-
-	void WriteSimulatedSequenceIndex(unsigned int index) {
-		simulatedSequenceIndexArray.Write(&index,1);
-	}
-
-	void Initialize(string _hdfFileName, const H5::FileAccPropList & 
-                    fileAccPropList = H5::FileAccPropList::DEFAULT) {
-		hdfFileName = _hdfFileName;
-		outFile.Open(hdfFileName, H5F_ACC_TRUNC, fileAccPropList);
-		outFile.rootGroup.AddGroup("PulseData"); 
-
-        if (pulseDataGroup.Initialize(outFile.rootGroup, "PulseData") == 0) {
-            cout << "ERROR, could not create file " << hdfFileName 
-                 << ".  Error creating group /PulseData." << endl;
-            exit(1);
-        }
-
-        pulseDataGroup.AddGroup("BaseCalls"); 
-        if (baseCallGroup.Initialize(pulseDataGroup, "BaseCalls") == 0) {
-            cout << "ERROR, could not create file " << hdfFileName 
-                 << ".  Error creating group /PulseData/BaseCall." << endl;
-            exit(1);
-        }
-
-        baseCallGroup.AddGroup("ZMW"); 
-        if (zmwGroup.Initialize(baseCallGroup, "ZMW") == 0) {
-            cout << "ERROR, could not create file " << hdfFileName 
-                 << ".  Error creating group /PulseData/BaseCall/ZMW." << endl;
-            exit(1);
-        }
-
-        HDFScanDataWriter sdWriter(outFile);
-        // 
-        // Reset ScanData attributes if neccessary.
-        //
-        sdWriter.Write(sd);
-
-		if (changeListID != "") {
-			changeListIDAtom.Create(baseCallGroup.group, "ChangeListID", changeListID);
-		}
-
-		nElemArray.Initialize(zmwGroup, "NumEvent");
-		if (includedFields["Basecall"])
-			baseArray.Initialize(baseCallGroup, "Basecall");
-		if (includedFields["QualityValue"])
-			qualArray.Initialize(baseCallGroup, "QualityValue");
-		if (includedFields["DeletionQV"])
-			deletionQVArray.Initialize(baseCallGroup, "DeletionQV");
-		if (includedFields["DeletionTag"])
-			deletionTagArray.Initialize(baseCallGroup, "DeletionTag");
-		if (includedFields["InsertionQV"])
-			insertionQVArray.Initialize(baseCallGroup, "InsertionQV");
-		if (includedFields["MergeQV"])
-			mergeQVArray.Initialize(baseCallGroup, "MergeQV");
-		if (includedFields["PreBaseDeletionQV"])
-			preBaseDeletionQVArray.Initialize(baseCallGroup, "PreBaseDeletionQV", 4);
-		if (includedFields["SubstitutionTag"])
-			substitutionTagArray.Initialize(baseCallGroup,   "SubstitutionTag");
-		if (includedFields["SubstitutionQV"])
-			substitutionQVArray.Initialize(baseCallGroup,    "SubstitutionQV");
-		if (includedFields["WidthInFrames"])
-			widthInFramesArray.Initialize(baseCallGroup, "WidthInFrames");
-		if (includedFields["PreBaseFrames"])
-			preBaseFramesArray.Initialize(baseCallGroup, "PreBaseFrames");
-        
-		if (includedFields["SimulatedCoordinate"]) {
-			simulatedCoordinateArray.Initialize(baseCallGroup, "SimulatedCoordinate");
-		}
-		if (includedFields["SimulatedSequenceIndex"]) {
-			simulatedSequenceIndexArray.Initialize(baseCallGroup, "SimulatedSequenceIndex");
-		}
-        if (includedFields["PulseIndex"]) {
-            pulseIndexArray.Initialize(baseCallGroup, "PulseIndex");
-        }
-
-        if (platformId == Astro or includedFields["HoleXY"]) {
-            holeXY2D.Initialize(zmwGroup, "HoleXY", 2);
-        }
-        includedFields["HoleNumber"] = true;
-        holeNumberArray.Initialize(zmwGroup, "HoleNumber");
-        includedFields["HoleStatus"] = true;
-        holeStatusArray.Initialize(zmwGroup, "HoleStatus");
-    }
-
-	int WriteHoleXY(int x=0, int y=0) {
-		int16_t xy[2] = {static_cast<int16_t>(x), static_cast<int16_t>(y)};
-		holeXY2D.WriteRow(xy, 2);
-	}		
-
-	int WriteIdentifiers(UInt holeNumber, unsigned char holeStatus, int x=0, int y=0 ) {
-		//
-		// Write hole number regardless of platform type.
-		//
-        holeNumberArray.Write(&holeNumber, 1);
-        holeStatusArray.Write(&holeStatus, 1);
-        if (platformId == Astro or includedFields["HoleXY"]) {
-            WriteHoleXY(x,y);
-        }
-        return 1;
-	}
-	
-
-	int WriteQualities(FASTQSequence &seq) {
-		qualArray.Write(seq.qual.data, seq.length);
-
-		if (includedFields["DeletionQV"] and seq.deletionQV.Empty() == false) {
-			deletionQVArray.Write(seq.deletionQV.data, seq.length);
-		}
-		if (includedFields["PreBaseDeletionQV"] and seq.preBaseDeletionQV.Empty() == false) {
-			DNALength readPos;
-			for (readPos = 0; readPos < seq.length; readPos++) {
-				preBaseDeletionQVArray.WriteRow(&seq.preBaseDeletionQV[readPos*4], 4);
-			}
-		}
-		if (includedFields["DeletionTag"] and seq.deletionTag != NULL) {
-			deletionTagArray.Write(seq.deletionTag, seq.length);
-		}
-		if (includedFields["InsertionQV"] and seq.insertionQV.Empty() == false) {
-			insertionQVArray.Write(seq.insertionQV.data, seq.length);
-		}
-		if (includedFields["SubstitutionQV"] and seq.substitutionQV.Empty() == false) {
-			substitutionQVArray.Write(seq.substitutionQV.data, seq.length);
-		}
-		if (includedFields["SubstitutionTag"] and seq.substitutionTag != NULL) {
-			substitutionTagArray.Write(seq.substitutionTag, seq.length);
-		}
-		if (includedFields["MergeQV"] and seq.mergeQV.Empty() == false) {
-			mergeQVArray.Write(seq.mergeQV.data, seq.length);
-		}
-
-	}
-
-	int WriteBases(FASTASequence &seq ) {
-		int lenArray[1] = {static_cast<int>(seq.length)};
-		nElemArray.Write(lenArray, 1);
-		baseArray.Write((const unsigned char*) seq.seq, seq.length);
-		return 1;
-	}
-
-	int Write(SMRTSequence &seq) {
-		WriteBases(seq);
-		WriteQualities(seq);
-
-		if (includedFields["PreBaseFrames"] and seq.preBaseFrames != NULL) {
-			preBaseFramesArray.Write(seq.preBaseFrames, seq.length);
-		}
-		if (includedFields["WidthInFrames"] and seq.widthInFrames != NULL) {
-			widthInFramesArray.Write(seq.widthInFrames, seq.length);
-		}
-        if (includedFields["PulseIndex"] and seq.pulseIndex != NULL) {
-            pulseIndexArray.Write(seq.pulseIndex, seq.length);
-        }
-		WriteIdentifiers(seq.zmwData.holeNumber, seq.zmwData.holeStatus,  seq.xy[0], seq.xy[1]);
-
-		return 1;
-	}
-
-	int Write(FASTQSequence &seq) {
-        int x, y;
-        UInt holeNumber;
-        unsigned char holeStatus;
-
-        WriteBases(seq);
-        WriteQualities(seq);
-
-        if (platformId == Astro) {
-            //
-            // now extract the x an y coordinates.
-            GetSMRTReadCoordinates(seq, x, y);
-            holeStatus = 0;
-            seq.GetHoleNumber((int&) holeNumber);
-        }
-        if (platformId == Springfield){ 
-            GetSpringfieldHoleNumberFromTitle(seq, holeNumber);
-        }
-
-        WriteIdentifiers(holeNumber,holeStatus,x,y);
-
-        return 1;
-	}
-};
-
-#endif
diff --git a/libcpp/hdf/HDFCCSReader.hpp b/libcpp/hdf/HDFCCSReader.hpp
deleted file mode 100644
index c93be14..0000000
--- a/libcpp/hdf/HDFCCSReader.hpp
+++ /dev/null
@@ -1,257 +0,0 @@
-#ifndef _BLASR_HDF_CCS_READER_HPP_
-#define _BLASR_HDF_CCS_READER_HPP_
-
-#include "HDFBasReader.hpp"
-
-template<typename T_Sequence>
-class HDFCCSReader : public T_HDFBasReader<T_Sequence> {
- public:
-	HDFGroup ccsGroup, passesGroup;
-
-	HDFArray<Byte> baseCallArray;
-	HDFArray<UInt> passStartPulseArray, passNumPulsesArray, passStartBaseArray,
-		passNumBasesArray, numPassesArray;
-	HDFArray<Byte> passDirectionArray, adapterHitAfterArray, adapterHitBeforeArray;
-	
-	HDFZMWReader zmwReader;
-	T_HDFBasReader<SMRTSequence> ccsBasReader;
-	int curPassPos;
-
-  HDFCCSReader() : T_HDFBasReader<T_Sequence>() {
-		curPassPos = 0;
-		this->fieldNames.push_back("AdapterHitAfter");
-		this->fieldNames.push_back("AdapterHitBefore");
-		this->fieldNames.push_back("NumPasses");
-		this->fieldNames.push_back("PassDirection");
-		this->fieldNames.push_back("PassNumPase");
-		this->fieldNames.push_back("PassStartBase");
-		this->fieldNames.push_back("PassStartPulse");
-		this->fieldNames.push_back("PassNumPulses");
-		InitializeAllCCSFields(true);
-	}
-
-	void InitializeAllCCSFields(bool value) {
-		this->includedFields["AdapterHitAfter"]  = value;
-		this->includedFields["AdapterHitBefore"] = value;
-		this->includedFields["NumPasses"]        = value;
-		this->includedFields["PassDirection"]    = value;
-		this->includedFields["PassNumPase"]      = value;
-		this->includedFields["PassStartBase"]    = value;
-		this->includedFields["PassStartPulse"]   = value;
-		this->includedFields["PassNumPulses"]    = value;
-	}
-
-	bool BasFileHasCCS(string ccsBasFileName) {
-		try {
-      H5::Exception::dontPrint();
-			this->hdfBasFile.openFile(ccsBasFileName.c_str(), H5F_ACC_RDONLY, H5P_DEFAULT);
-		}
-		catch (H5::Exception &e) {
-			cout << "ERROR, could not open hdf file " << ccsBasFileName << " Stopping." << endl;
-			exit(1);
-		}
-
-		HDFGroup ccsBasecallsGroup;
-		bool fileContainsCCS = false;
-		HDFGroup pulseDataGroup;
-		if (pulseDataGroup.Initialize(this->hdfBasFile, "PulseData") == 0) {
-      cout << "ERROR, ccs base file " << ccsBasFileName 
-           << " does not have a PulseData field." << endl;
-      exit(1);
-    }
-		if (pulseDataGroup.ContainsObject("ConsensusBaseCalls")) {
-			fileContainsCCS = true;
-		}
-
-		this->hdfBasFile.close();
-		return fileContainsCCS;
-	}
-
-	int Advance(int nSteps) {
-		cout << "ERROR! Advance is not yet implemented for ccs reader" << endl;
-		assert(0);
-		return 0;
-	}
-
-	int Initialize(string ccsBasFileName,
-            const H5::FileAccPropList & fileAccPropList = H5::FileAccPropList::DEFAULT) {
-		//
-		// Open the file and initialize for reading reads.
-		//
-
-		// 
-		// First, initialize for reading the unrolled bases from this
-		// file.
-		//
-	  if (this->T_HDFBasReader<T_Sequence>::Initialize(ccsBasFileName, fileAccPropList) == 0) {
-        cout << "ERROR, Could not initialize ccs file " << ccsBasFileName << endl;
-        exit(1);
-      }
-
-		if (this->pulseDataGroup.ContainsObject("ConsensusBaseCalls") and
-				ccsGroup.Initialize(this->hdfBasFile, "PulseData/ConsensusBaseCalls") == 0) {
-			cout << "ERROR, attempting to read cicular consensus data from '" << ccsBasFileName 
-					 << "', which does not contain a ConsensusBaseCalls field." << endl;
-			cout << "Check HDF file structure." << endl;
-			exit(1);
-		}
-		curPassPos = 0;
-		int passesSuccess = 1;
-		if (ccsGroup.ContainsObject("Passes") == 0) { 
-			passesSuccess = 0;
-		}
-		else {
-			if (passesGroup.Initialize(ccsGroup.group,"Passes") == 0) {
-				passesSuccess = 0;
-			}
-		}
-
-		if (passesSuccess == 0) {
-			cout <<"ERROR, attempting to read circular consensus group Passes but it does not exist. " << endl;
-			cout <<"Check HDF file structure."<<endl;
-			exit(1);
-		}
-		
-		//
-		// Initialize the bas reader to read ccs reads as normal bas reads.
-		//
-		
-		// Next, the location of the bases is in a non-standard group.
-		ccsBasReader.baseCallsGroupName = "ConsensusBaseCalls";
-
-
-		//
-		// Read in the CCS fields that are the same as the base fields,
-		// but in a different group.
-		//
-
-		//		ccsBasReader.OpenHDFFile(ccsBasFileName);
-		
-		//
-		// Initialize the fields that are read.
-		//
-		ccsBasReader.IncludeField("Basecall");
-		ccsBasReader.IncludeField("InsertionQV");
-		ccsBasReader.IncludeField("DeletionQV");
-		ccsBasReader.IncludeField("DeletionTag");
-		ccsBasReader.IncludeField("SubstitutionQV");
-		ccsBasReader.IncludeField("SubstitutionTag");
-		ccsBasReader.IncludeField("QualityValue");
-		//
-		// Initialize this without opening a file.
-		//
-		ccsBasReader.Initialize(&this->rootGroup);
-		//ccsBasReader.InitializeForReadingPulseInformation();
-		//ccsBasReader.LoadRunInfo();
-		/*
-		 * Initialize pass information for reading.
-		 */
-		if (this->InitializeField(passesGroup, "AdapterHitAfter", adapterHitAfterArray, this->includedFields["AdapterHitAfter"]) == 0) return 0;
-		if (this->InitializeField(passesGroup, "AdapterHitBefore", adapterHitBeforeArray, this->includedFields["AdapterHitBefore"]) == 0) return 0;
-		if (this->InitializeField(passesGroup, "NumPasses", numPassesArray, this->includedFields["NumPasses"]) == 0) return 0;
-		if (this->InitializeField(passesGroup, "PassDirection", passDirectionArray, this->includedFields["PassDirection"]) == 0) return 0;
-		if (this->InitializeField(passesGroup, "PassNumBases", passNumBasesArray, this->includedFields["PassNumBases"]) == 0) return 0;
-		if (this->InitializeField(passesGroup, "PassStartBase", passStartBaseArray, this->includedFields["PassStartBase"]) == 0) return 0;
-		//
-		// The following two fields are not critical.
-		//
-		this->InitializeField(passesGroup, "PassStartPulse", passStartPulseArray, this->includedFields["PassStartPulse"]);
-		this->InitializeField(passesGroup, "PassNumPulses", passNumPulsesArray, this->includedFields["PassNumPulses"]);
-
-		//
-		// The zmw reader contains the group that hols all pass information
-		//
-		zmwReader.Initialize(&ccsBasReader.baseCallsGroup);
-			
-		return 1;
-	}
-
-  unsigned int GetNumPasses(int readIndex) {
-    unsigned int numPasses;
-		numPassesArray.Read(readIndex, readIndex+1, &numPasses);
-    return numPasses;
-  }
-
-	int GetNext(T_Sequence &ccsSequence) {
-		//
-		// Read in all ccs pass data.
-		//
-
-		ccsSequence.Free();
-		int retVal = 0;
-		if (this->curRead == ccsBasReader.nReads) {
-			return 0;
-		}
-		if (this->curBasePos == ccsBasReader.nBases) {
-			return 0;
-		}
-        try {
-        UInt numPasses;
-		numPassesArray.Read(this->curRead, this->curRead+1, &numPasses);
-		if (numPasses > 0) {
-			// Read in the ccs bases
-			if ((retVal = ccsBasReader.GetNext((SMRTSequence&)ccsSequence)) == 0)
-                return 0;
-
-            ccsSequence.numPasses = numPasses;
-
-			if (this->includedFields["AdapterHitAfter"]) {
-				ccsSequence.adapterHitAfter.resize(ccsSequence.numPasses);
-				adapterHitAfterArray.Read(curPassPos,  curPassPos + ccsSequence.numPasses, &ccsSequence.adapterHitAfter[0]);
-			}
-			if (this->includedFields["AdapterHitBefore"]) {
-				ccsSequence.adapterHitBefore.resize(ccsSequence.numPasses);
-				adapterHitBeforeArray.Read(curPassPos, curPassPos + ccsSequence.numPasses, &ccsSequence.adapterHitBefore[0]);
-			}
-			if (this->includedFields["PassDirection"]) {
-				ccsSequence.passDirection.resize(ccsSequence.numPasses);
-				passDirectionArray.Read(curPassPos,    curPassPos + ccsSequence.numPasses, &ccsSequence.passDirection[0]);
-			}
-			if (this->includedFields["PassNumBases"]) {
-				ccsSequence.passNumBases.resize(ccsSequence.numPasses);
-				passNumBasesArray.Read(curPassPos,     curPassPos + ccsSequence.numPasses, &ccsSequence.passNumBases[0]);
-			}
-			if (this->includedFields["PassStartBase"]) {
-				ccsSequence.passStartBase.resize(ccsSequence.numPasses);
-				passStartBaseArray.Read(curPassPos,    curPassPos + ccsSequence.numPasses, &ccsSequence.passStartBase[0]);
-			}
-			if (this->includedFields["PassStartPulse"]) {
-				ccsSequence.passStartPulse.resize(ccsSequence.numPasses);
-				passStartPulseArray.Read(curPassPos,   curPassPos + ccsSequence.numPasses, &ccsSequence.passStartPulse[0]);
-			}
-			if (this->includedFields["PassNumPulses"]) { 
-				ccsSequence.passNumPulses.resize(ccsSequence.numPasses);
-				passNumPulsesArray.Read(curPassPos,    curPassPos + ccsSequence.numPasses, &ccsSequence.passNumPulses[0]);			
-			}
-			curPassPos += ccsSequence.numPasses;
-		}
-		else {
-			// advance a read in the ccs sequence without advancing positions.
-			ccsBasReader.curRead++;
-		}
-		//
-		// Regardless whether or not a ccs read was called, read the next
-		// unrolled read, since an unrolled read is called for each zmw.
-		//
-		retVal = ((T_HDFBasReader<SMRTSequence>*)this)->GetNext(ccsSequence.unrolledRead);
-        ccsSequence.zmwData = ccsSequence.unrolledRead.zmwData;
-		ccsSequence.CopyTitle(ccsSequence.unrolledRead.title);
-    string newTitle = string(ccsSequence.title) + string("/ccs");
-    ccsSequence.CopyTitle(newTitle.c_str());
-        } catch (H5::DataSetIException e) {
-            cout << "ERROR, could not read ccs data for CCS Sequence " 
-                 << ccsSequence.unrolledRead.title << endl; 
-            exit(1);
-        }
-		//		cout << "title: " << ccsSequence.title << endl;
-		if (retVal == 0) {
-			return 0;
-		}
-		else {
-			return 1;
-		}
-	}
-};
-
-
-#endif
diff --git a/libcpp/hdf/HDFCmpData.hpp b/libcpp/hdf/HDFCmpData.hpp
deleted file mode 100644
index dd9e54e..0000000
--- a/libcpp/hdf/HDFCmpData.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef _BLASR_HDF_CMP_DATA_HPP_
-#define _BLASR_HDF_CMP_DATA_HPP_
-
-#include "HDFAtom.hpp"
-#include "HDFCmpRefAlignmentGroup.hpp"
-
-class HDFCmpData {
-public:
-    HDFAtom<std::string> commandLine;
-    H5::H5File hdfCmpFile;
-    HDFArray<int> movieNameIdArray;
-    HDFStringArray movieNameArray;
-
-    HDFStringArray readGroupPathArray;
-    HDFArray<int>    readGroupPathIdArray;
-
-    HDFArray<int>    refSeqNameIdArray;
-    HDFStringArray refSeqNameArray;
-    static const int NCols=22;
-    vector<HDFAtom<std::string> >  colNameAtoms;
-    vector<HDFCmpRefAlignmentGroup*> refAlignGroups;
-    map<std::string, int> nameToAlignmentGroupIndex;
-    static const char *colNameIds[];
-
-    void Close() {
-        hdfCmpFile.close();
-    }
-};
-
-const char * HDFCmpData::colNameIds[] = {
-    "00", "01", "02", "03", "04", "05", "06", "07", "08", "09",
-    "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
-    "20", "21"};
-
-
-#endif
diff --git a/libcpp/hdf/HDFCmpExperimentGroup.cpp b/libcpp/hdf/HDFCmpExperimentGroup.cpp
deleted file mode 100644
index 6f6459c..0000000
--- a/libcpp/hdf/HDFCmpExperimentGroup.cpp
+++ /dev/null
@@ -1,193 +0,0 @@
-#include <iostream>
-#include "HDFCmpExperimentGroup.hpp"
-
-using namespace std;
-
-bool HDFCmpExperimentGroup::Create(HDFGroup &parent, 
-    string experimentGroupName) {
-
-    parent.AddGroup(experimentGroupName);
-    if (experimentGroup.Initialize(parent.group, experimentGroupName) == 0) { return 0; }
-    alignmentArray.Create(experimentGroup, "AlnArray");
-    return true;
-}
-
-
-void HDFCmpExperimentGroup::AddAlignment(std::vector<unsigned char> &alignment, 
-    unsigned int &offsetBegin, unsigned int &offsetEnd) {
-
-    offsetBegin = offsetEnd = 0;
-    if (alignment.size() == 0 ) {
-        // 
-        // Do not increment anything.
-        //
-        return;
-    }
-
-    // Make a copy of alignment.
-    vector<unsigned char> paddedAlignment = alignment;
-    // Pad '0' to the end of the alignment.
-    paddedAlignment.push_back(0);
-
-    offsetBegin = alignmentArray.size(); // 0 based, inclusive
-    offsetEnd   = offsetBegin + alignment.size(); // 0 based, exclusive
-    // alignmentArray[offsetEnd] is not a part of the real alignment, it is the padded 0.
-    alignmentArray.Write(&paddedAlignment[0], paddedAlignment.size());
-}
-
-//template<typename T>
-//void HDFCmpExperimentGroup::AddQualityValues(const std::vector<T> &qualityValues,
-//                                             const std::string &fieldName,
-//                                             unsigned int *offsetBegin,
-//                                             unsigned int *offsetEnd) {
-//
-//  std::vector<T> paddedQualityValues = qualityValues;
-//  paddedQualityValues.push_back(0);
-//  HDFArray<T> *arrayPtr = NULL;
-//  
-//  // This seems to be how we do it 
-//  if (fieldName == "DeletionQV") {
-//      arrayPtr = &deletionQV;
-//  } else if (fieldName == "InsertionQV") {
-//      arrayPtr = &insertionQV;
-//  } else if (fieldName == "MergeQV") {
-//      arrayPtr = &mergeQV;
-//  } else if (fieldName == "SubstitutionQV") {
-//      arrayPtr = &substitutionQV;
-//  } else if (fieldName == "DeletionTag") {
-//      arrayPtr = &deletionTag;
-//  } else if (fieldName == "SubstitutionTag") {
-//      arrayPtr = &substitutionTag;
-//  } else {
-//      assert(false);
-//  }
-//
-//  *offsetBegin = arrayPtr->size();
-//  *offsetEnd = arrayPtr->size() + qualityValues.size();
-//  
-//  arrayPtr->Write(&paddedQualityValues[0], paddedQualityValues.size());
-//}
-//
-//// One for tags, one for QVs
-//template void HDFCmpExperimentGroup::AddQualityValues<char>(
-//        const std::vector<char>&, const std::string&,
-//        unsigned int*, unsigned int*);
-//
-//template void HDFCmpExperimentGroup::AddQualityValues<UChar>(
-//        const std::vector<UChar>&, const std::string&,
-//        unsigned int*, unsigned int*);
-//
-int HDFCmpExperimentGroup::Initialize(HDFGroup &refGroup, 
-    string experimentGroupName, set<string> &fieldNames) {
-    //
-    // Normal initialization that prepares for reading alignments
-    //
-    Initialize(refGroup, experimentGroupName);
-
-    //
-    // Field initialization for reading in pulse/quality information.
-    //
-    set<string>::iterator fieldNameIt, fieldEnd;
-    fieldEnd = fieldNames.end();
-    for (fieldNameIt = fieldNames.begin(); fieldNameIt != fieldEnd; ++fieldNameIt) {
-        if (supportedFields.find(*fieldNameIt) != supportedFields.end() and
-                experimentGroup.ContainsObject(*fieldNameIt)) {
-            fields[*fieldNameIt]->Initialize(experimentGroup, *fieldNameIt);
-        }
-        else {
-            cout << "Unable to initialize requested field " << *fieldNameIt << " in experiment group " << experimentGroupName << endl;
-        }
-    }
-    return 1;
-}
-
-int HDFCmpExperimentGroup::Initialize(HDFGroup &refGroup, string experimentGroupName) {
-
-    if (experimentGroup.Initialize(refGroup.group, experimentGroupName) == 0) { return 0; }
-    if (alignmentArray.Initialize(experimentGroup, "AlnArray") == 0) { return 0; }
-    return 1;
-}
-
-
-HDFCmpExperimentGroup::HDFCmpExperimentGroup() {
-    fields["StartTimeOffset"] = &this->startTimeOffset;
-    fields["QualityValue"] = &this->qualityValue;
-    fields["IPD"] = &this->ipd;
-    fields["PreBaseFrames"] = &this->preBaseFrames;
-    fields["DeletionQV"] = &this->deletionQV;
-    fields["InsertionQV"] = &this->insertionQV;
-    fields["ClassifierQV"] = &this->classifierQV;
-    fields["SubstitutionQV"] = &this->substitutionQV;
-    fields["Light"] = &this->light;
-    fields["WidthInFrames"] = &this->widthInFrames;
-    fields["PulseWidth"] = &this->pulseWidth;
-    fields["StartFrame"] = &this->startTime;
-    // StartFrame computed from Pulse metrics and Base metrics
-    fields["StartFramePulse"] = &this->startTimePulse;
-    fields["StartFrameBase"] = &this->startTimeBase;
-
-    fields["pkmid"] = &this->pkmid;
-    fields["pkmax"] = &this->pkmax;
-    fields["pkmean"] = &this->pkmean;
-    fields["DeletionTag"] = &this->deletionTag;
-    fields["SubstitutionTag"] = &this->substitutionTag;
-    fields["PulseIndex"] = &this->pulseIndex;
-    fields["MergeQV"] = &this->mergeQV;
-}
-
-// Return reference alignment AlnArray size in KB.
-UInt HDFCmpExperimentGroup::GetAlnArraySize() {
-    return alignmentArray.arrayLength / 1024 * sizeof (unsigned char);
-}
-
-void HDFCmpExperimentGroup::AddQVs(const std::vector<UChar> &qualityValues,
-                                   const std::string &fieldName,
-                                   unsigned int *offsetBegin,
-                                   unsigned int *offsetEnd) {
-    std::vector<UChar> paddedQualityValues = qualityValues;
-    paddedQualityValues.push_back(0);
-    HDFArray<UChar> *arrayPtr = NULL;
-    
-    // This seems to be how we do it 
-    if (fieldName == "DeletionQV") {
-        arrayPtr = &deletionQV;
-    } else if (fieldName == "InsertionQV") {
-        arrayPtr = &insertionQV;
-    } else if (fieldName == "MergeQV") {
-        arrayPtr = &mergeQV;
-    } else if (fieldName == "SubstitutionQV") {
-        arrayPtr = &substitutionQV;
-    } else {
-        assert(false);
-    }
-    
-    if (!arrayPtr->isInitialized) arrayPtr->Initialize(experimentGroup, fieldName);
-    *offsetBegin = arrayPtr->size();
-    *offsetEnd = arrayPtr->size() + qualityValues.size();
-    
-    arrayPtr->Write(&paddedQualityValues[0], paddedQualityValues.size());
-}
-
-void HDFCmpExperimentGroup::AddTags(const std::vector<char> &qualityValues,
-                                    const std::string &fieldName,
-                                    unsigned int *offsetBegin,
-                                    unsigned int *offsetEnd) {
-    std::vector<char> paddedQualityValues = qualityValues;
-    paddedQualityValues.push_back(0);
-    HDFArray<char> *arrayPtr = NULL;
-    
-    if (fieldName == "DeletionTag") {
-        arrayPtr = &deletionTag;
-    } else if (fieldName == "SubstitutionTag") {
-        arrayPtr = &substitutionTag;
-    } else {
-        assert(false);
-    }
-
-    if (!arrayPtr->isInitialized) arrayPtr->Initialize(experimentGroup, fieldName);
-    *offsetBegin = arrayPtr->size();
-    *offsetEnd = arrayPtr->size() + qualityValues.size();
-    
-    arrayPtr->Write(&paddedQualityValues[0], paddedQualityValues.size());
-}
-
diff --git a/libcpp/hdf/HDFCmpExperimentGroup.hpp b/libcpp/hdf/HDFCmpExperimentGroup.hpp
deleted file mode 100644
index 05d5cfb..0000000
--- a/libcpp/hdf/HDFCmpExperimentGroup.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-#ifndef _BLASR_HDF_CMP_EXPERIMENT_GROUP_HPP_
-#define _BLASR_HDF_CMP_EXPERIMENT_GROUP_HPP_
-
-#include <map>
-#include <vector>
-#include <set>
-#include <cstdint>
-#include "Types.h"
-#include "HDFGroup.hpp"
-#include "HDFArray.hpp"
-#include "HDFCmpSupportedFields.hpp"
-
-class HDFCmpExperimentGroup {
-public:
-    HDFCmpSupportedFields supportedFields;
-    HDFArray<unsigned int> startTimeOffset;
-    HDFArray<HalfWord> ipd;
-    HDFArray<HalfWord> preBaseFrames;
-    HDFArray<char>  deletionTag;
-    HDFArray<char>  substitutionTag;
-    HDFArray<UChar> qualityValue;
-    HDFArray<UChar> deletionQV;
-    HDFArray<UChar> insertionQV;
-    HDFArray<float> classifierQV; 
-    // ClassifierQV date type is float in cmp.h5
-    HDFArray<UChar> substitutionQV;
-    HDFArray<UChar> mergeQV;
-    HDFArray<HalfWord> light;
-    HDFArray<HalfWord> widthInFrames;
-    HDFArray<HalfWord> pulseWidth;
-    HDFArray<unsigned int> startTime;
-    // StartFrame computed from Pulse metrics and Base metric
-    HDFArray<unsigned int> startTimeBase;
-    HDFArray<unsigned int> startTimePulse;
-    HDFArray<float> pkmid;
-    HDFArray<float> pkmax;
-    HDFArray<float> pkmean;
-    HDFArray<uint32_t>   numPasses;
-    HDFArray<uint32_t> pulseIndex;
-    std::map<std::string, HDFData*> fields;
-    HDFGroup experimentGroup;
-    HDFArray<unsigned char> alignmentArray;
-
-    bool Create(HDFGroup &parent, string experimentGroupName); 
-
-    void AddAlignment(std::vector<unsigned char> &alignment, 
-        unsigned int &offsetBegin, unsigned int &offsetEnd); 
-    
-    // AddQVs and AddTags are like AddAlignment, but for QVs and Tags,
-    // respectively. They are responsible for initializing and writing to the
-    // correct member HDFArray, given a vector of values to write and the name
-    // of the QV or Tag 
-    void AddQVs(const std::vector<UChar> &qualityValues, const std::string &fieldName,
-                unsigned int *offsetBegin, unsigned int *offsetEnd);
-    void AddTags(const std::vector<char> &qualityValues, const std::string &fieldName,
-                 unsigned int *offsetBegin, unsigned int *offsetEnd);
-                           
-    int Initialize(HDFGroup &refGroup, std::string experimentGroupName, 
-        std::set<string> &fieldNames); 
-
-    int Initialize(HDFGroup &refGroup, std::string experimentGroupName); 
-
-    void Read();
-
-    HDFCmpExperimentGroup(); 
-
-    // Return reference alignment AlnArray size in KB.
-    UInt GetAlnArraySize(); 
-};
-#endif
diff --git a/libcpp/hdf/HDFCmpFile.hpp b/libcpp/hdf/HDFCmpFile.hpp
deleted file mode 100644
index d4d6984..0000000
--- a/libcpp/hdf/HDFCmpFile.hpp
+++ /dev/null
@@ -1,844 +0,0 @@
-#ifndef _BLASR_HDF_CMP_FILE_HPP_
-#define _BLASR_HDF_CMP_FILE_HPP_
-
-#include <iostream>
-#include <assert.h>
-#include <sstream>
-#include <map>
-
-#include "H5Cpp.h"
-
-#include "HDFAtom.hpp"
-#include "HDFArray.hpp"
-#include "HDF2DArray.hpp"
-#include "HDFCmpData.hpp"
-#include "HDFCmpRefAlignmentGroup.hpp"
-#include "HDFCmpExperimentGroup.hpp"
-#include "HDFAlnGroupGroup.hpp"
-#include "HDFAlnInfoGroup.hpp"
-
-#include "HDFRefGroupGroup.hpp"
-#include "HDFRefInfoGroup.hpp"
-#include "HDFMovieInfoGroup.hpp"
-#include "HDFCmpRootGroup.hpp"
-#include "HDFCmpSupportedFields.hpp"
-#include "HDFFileLogGroup.hpp"
-
-#include "SMRTSequence.hpp"
-
-#include "datastructures/alignment/CmpFile.hpp"
-#include "datastructures/alignment/Alignment.hpp"
-#include "datastructures/alignment/AlignmentCandidate.hpp"
-#include "alignment/CmpAlignment.hpp"
-#include "datastructures/alignment/CmpReadGroupTable.h"
-#include "datastructures/alignment/CmpRefSeqTable.h"
-#include "datastructures/alignment/ByteAlignment.h"
-#include "saf/RefInfo.hpp"
-
-using namespace H5;
-using namespace std;
-
-template<typename T_Alignment>
-class HDFCmpFile : public HDFCmpData {
-public:
-    map<int,int>  movieNameIdToArrayIndex,  readGroupPathIdToArrayIndex, refGroupIdToArrayIndex;
-    map<string, int> refNameToArrayIndex;
-    //  map<string,string> readGroupPathToReadGroup;
-    map<int, string> alnGroupIdToReadGroupName;
-
-    HDFAlnGroupGroup alnGroupGroup;
-    HDFAlnInfoGroup alnInfoGroup;
-    HDFMovieInfoGroup movieInfoGroup;
-    HDFRefGroupGroup refGroupGroup;
-    HDFRefInfoGroup refInfoGroup;
-    HDFCmpRootGroup<T_Alignment> rootGroup;
-    set<string> includedFields;
-    HDFCmpSupportedFields supportedFields;
-    HDFAtom<string> readTypeAtom;
-    HDFFileLogGroup fileLogGroup;
-
-    void AstroInitializeColumnNameMap() {
-        CmpAlignmentBase::columnNameToIndex["AlignmentId"] = 0;
-        CmpAlignmentBase::columnNameToIndex["ReadGroupId"] = 1;
-        CmpAlignmentBase::columnNameToIndex["MovieId"] = 2;
-        CmpAlignmentBase::columnNameToIndex["RefSeqId"] = 3;
-        CmpAlignmentBase::columnNameToIndex["tStart"] = 4;
-        CmpAlignmentBase::columnNameToIndex["tEnd"] = 5;
-        CmpAlignmentBase::columnNameToIndex["AlignedStrand"] = 6;
-        CmpAlignmentBase::columnNameToIndex["ExpId"] = 7;
-        CmpAlignmentBase::columnNameToIndex["RunId"] = 8;
-        CmpAlignmentBase::columnNameToIndex["Panel"] = 9;
-        CmpAlignmentBase::columnNameToIndex["x"] = 10;
-        CmpAlignmentBase::columnNameToIndex["y"] = 11;
-        CmpAlignmentBase::columnNameToIndex["SubreadId"] = 12;
-        CmpAlignmentBase::columnNameToIndex["rStart"] = 13;
-        CmpAlignmentBase::columnNameToIndex["rEnd"] = 14;
-        CmpAlignmentBase::columnNameToIndex["Z"] = 15;
-        CmpAlignmentBase::columnNameToIndex["nM"] = 16;
-        CmpAlignmentBase::columnNameToIndex["nMM"] = 17;
-        CmpAlignmentBase::columnNameToIndex["nIns"] = 18;
-        CmpAlignmentBase::columnNameToIndex["nDel"] = 19;
-        CmpAlignmentBase::columnNameToIndex["offset_begin"] = 20;
-        CmpAlignmentBase::columnNameToIndex["offset_end"] = 21;
-    }
-
-    void SpringfieldInitializeColumnNameMap() {
-        CmpAlignmentBase::columnNameToIndex["AlignmentId"] = 0;
-        CmpAlignmentBase::columnNameToIndex["ReadGroupId"] = 1;
-        CmpAlignmentBase::columnNameToIndex["AlnGroupID"] = 1;
-        CmpAlignmentBase::columnNameToIndex["AlnGroupId"] = 1;
-        CmpAlignmentBase::columnNameToIndex["MovieId"] = 2;
-        CmpAlignmentBase::columnNameToIndex["RefSeqId"] = 3;
-        CmpAlignmentBase::columnNameToIndex["tStart"] = 4;
-        CmpAlignmentBase::columnNameToIndex["tEnd"] = 5;
-        CmpAlignmentBase::columnNameToIndex["RCRefStrand"] = 6;
-        CmpAlignmentBase::columnNameToIndex["HoleNumber"] = 7;
-        CmpAlignmentBase::columnNameToIndex["SetNumber"] = 8;
-        CmpAlignmentBase::columnNameToIndex["StrobeNumber"] = 9;
-        CmpAlignmentBase::columnNameToIndex["SubreadId"] = 10;
-        CmpAlignmentBase::columnNameToIndex["rStart"] = 11;
-        CmpAlignmentBase::columnNameToIndex["rEnd"] = 12;
-        CmpAlignmentBase::columnNameToIndex["MapQV"] = 13;
-        CmpAlignmentBase::columnNameToIndex["nM"] = 14;
-        CmpAlignmentBase::columnNameToIndex["nMM"] = 15;
-        CmpAlignmentBase::columnNameToIndex["nIns"] = 16;
-        CmpAlignmentBase::columnNameToIndex["nDel"] = 17;
-        CmpAlignmentBase::columnNameToIndex["offset_begin"] = 18;
-        CmpAlignmentBase::columnNameToIndex["offset_end"] = 19;
-        CmpAlignmentBase::columnNameToIndex["nBackRead"] = 20;
-        CmpAlignmentBase::columnNameToIndex["nReadOverlap"] = 21;
-
-        // All synonyms, the code requiring these should be refactored so
-        // that it no synonyms are needed.
-        //
-        CmpAlignmentBase::columnNameToIndex["AlnID"] = 0;
-        CmpAlignmentBase::columnNameToIndex["AlnGroupID"] = 1;
-        CmpAlignmentBase::columnNameToIndex["MovieID"] = 2;
-        CmpAlignmentBase::columnNameToIndex["RefGroupID"] = 3;
-        CmpAlignmentBase::columnNameToIndex["RefGroupId"] = 3;
-        CmpAlignmentBase::columnNameToIndex["MoleculeID"] = 10;
-        CmpAlignmentBase::columnNameToIndex["Offset_begin"] = 18;
-        CmpAlignmentBase::columnNameToIndex["Offset_end"] = 19;
-
-    }
-
-
-    int Initialize(string &hdfCmpFileName, set<string> includedFieldsP, unsigned int flags=H5F_ACC_RDONLY, const H5::FileAccPropList & fileAccPropList = H5::FileAccPropList::DEFAULT) {
-        Initialize(hdfCmpFileName, flags, fileAccPropList);
-        includedFields = includedFieldsP;
-    }
-
-    void Create(string &hdfCmpFileName) {
-        H5File newFile(hdfCmpFileName.c_str(), H5F_ACC_TRUNC, FileCreatPropList::DEFAULT, FileAccPropList::DEFAULT);  
-        hdfCmpFile.openFile(hdfCmpFileName.c_str(), H5F_ACC_RDWR, H5P_DEFAULT);    
-        rootGroup.Initialize(hdfCmpFile);
-        refGroupGroup.Create(rootGroup.rootGroup);
-        alnGroupGroup.Create(rootGroup.rootGroup);
-        refInfoGroup.Create(rootGroup.rootGroup);
-        movieInfoGroup.Create(rootGroup.rootGroup);
-        alnInfoGroup.Create(rootGroup.rootGroup);
-        fileLogGroup.Create(rootGroup.rootGroup);
-
-        //
-        // Add atom data
-        //
-        readTypeAtom.Create(rootGroup.rootGroup.group, "ReadType");
-        readTypeAtom.Write("standard");
-
-        // Add some proxy data for now.
-        HDFAtom<string> primaryVersionAtom, versionAtom;
-        primaryVersionAtom.Create(rootGroup.rootGroup.group, "PrimaryVersion");
-        primaryVersionAtom.Write("2.0.0.135558");
-        versionAtom.Create(rootGroup.rootGroup.group, "Version");
-        versionAtom.Write("2.0.0");
-    }
-
-    void SetReadType(string readType) {
-        readTypeAtom.Write(readType.c_str());
-    }
-
-    void GenerateNextRefGroupName(string &name) { 
-        stringstream nameStrm;
-        nameStrm << "ref";
-        nameStrm.width(6);
-        nameStrm.fill('0');
-        nameStrm << right << refGroupIdToArrayIndex.size() + 1;
-        name = nameStrm.str();
-    }
-
-
-    int AddReference(string refName, unsigned int length, string md5, string &refGroupName) {
-        //
-        // Adding a reference requires:
-        //
-        // 1. Creating a new refgroup name. 
-        // 2. Create the new reference group to add alignments to.
-        // 3. Adding this new name to the set of paths of ref groups.
-        // 4. Adding information for this ref group.
-        //
-
-        // 1.
-        this->GenerateNextRefGroupName(refGroupName);
-
-        // 2.
-        HDFCmpRefAlignmentGroup *newGroup = new HDFCmpRefAlignmentGroup;
-        newGroup->Create(rootGroup.rootGroup, refGroupName);
-        refAlignGroups.push_back(newGroup);
-        unsigned int id = refAlignGroups.size();
-
-        // 3.
-        refGroupGroup.AddPath("/" + refGroupName, id);
-        refGroupIdToArrayIndex[id] = id - 1;
-        refNameToArrayIndex[refName] = id - 1;
-        // 4.
-        refInfoGroup.AddRefInfo(refName, id, length, md5);
-        return id;
-    }
-
-    int StoreAlnArray(vector<unsigned char> &alnArray, string refName, string &experimentName,
-            unsigned int &offsetBegin,
-            unsigned int &offsetEnd) {
-        //
-        // First find the reference group.
-        //
-        assert(refNameToArrayIndex.find(refName) != refNameToArrayIndex.end());
-        int refIndex = refNameToArrayIndex[refName];
-        assert(refIndex < refAlignGroups.size());
-        HDFCmpExperimentGroup *expGroup;
-        expGroup = refAlignGroups[refIndex]->GetExperimentGroup(experimentName);
-        expGroup->AddAlignment(alnArray, offsetBegin, offsetEnd);
-    }
-    
-    // Write a vector of quality values to the appropriate experiment group.
-    // This is similar to StoreAlignment, but for QVs 
-    int StoreQVs(const vector<UChar> &qvArray, const string &refName, const string &fieldName,
-                 const string &experimentName, unsigned int *offsetBegin,
-                 unsigned int *offsetEnd) {
-        assert(refNameToArrayIndex.find(refName) != refNameToArrayIndex.end());
-        int refIndex = refNameToArrayIndex[refName];
-        assert(refIndex < refAlignGroups.size());
-        HDFCmpExperimentGroup *expGroup;
-        expGroup = refAlignGroups[refIndex]->GetExperimentGroup(experimentName);
-        expGroup->AddQVs(qvArray, fieldName, offsetBegin, offsetEnd);
-    }
-
-    // Write a vector of tag to the appropriate experiment group.
-    // This is similar to StoreAlignment, but for DeletionTag and
-    // SubstitutionTag.
-    int StoreTags(const vector<char> &qvArray, const string &refName, const string &fieldName,
-                  const string &experimentName, unsigned int *offsetBegin,
-                  unsigned int *offsetEnd) {
-        assert(refNameToArrayIndex.find(refName) != refNameToArrayIndex.end());
-        int refIndex = refNameToArrayIndex[refName];
-        assert(refIndex < refAlignGroups.size());
-        HDFCmpExperimentGroup *expGroup;
-        expGroup = refAlignGroups[refIndex]->GetExperimentGroup(experimentName);
-        expGroup->AddTags(qvArray, fieldName, offsetBegin, offsetEnd);
-    }
-
-    int Initialize(string &hdfCmpFileName, 
-            unsigned int flags=H5F_ACC_RDONLY,
-            const H5::FileAccPropList fileAccPropList=H5::FileAccPropList::DEFAULT) {
-        /*
-         * Initialize access to the HDF file.
-         */
-        try {
-            hdfCmpFile.openFile(hdfCmpFileName.c_str(), flags, fileAccPropList);
-        }
-        catch (Exception &e) {
-            cout << e.getDetailMsg() << endl;
-            return 0;
-        }
-
-        rootGroup.Initialize(hdfCmpFile);
-        readTypeAtom.Initialize(rootGroup.rootGroup, "ReadType");
-
-        if (alnGroupGroup.Initialize(rootGroup.rootGroup) == 0)  {
-            cout << "ERROR, could not read AlnGroup of the cmp file." << endl;
-            exit(1);
-        }
-        if (refInfoGroup.Initialize(rootGroup.rootGroup) == 0)   {
-            cout << "ERROR, could not read RefInfo of the cmp file." << endl;
-            exit(1);
-        }
-        if (refGroupGroup.Initialize(rootGroup.rootGroup) == 0)  {
-            cout << "ERROR, could not read RefGroup of the cmp file." << endl;
-            exit(1);
-        }
-        if (movieInfoGroup.Initialize(rootGroup.rootGroup) == 0) {
-            cout << "ERROR, could not read MovieInfo of the cmp file." << endl;
-            exit(1);
-        }
-        if (alnInfoGroup.Initialize(rootGroup.rootGroup) == 0)   {
-            cout << "ERROR, could not read AlnInfo of the cmp file." << endl;
-            exit(1);
-        }
-        if (fileLogGroup.Initialize(rootGroup.rootGroup)   == 0) { 
-            cout << "ERROR, could not read FileLog of the cmp file." << endl;
-            exit(1);
-        }
-
-        SpringfieldInitializeColumnNameMap();    
-
-        return 1;
-    }
-
-    bool HasNoAlignments() {
-    // return true if there is no alignment in the cmp file.
-        if (alnInfoGroup.alnIndexArray.GetNRows()==0) {
-            return true;
-        }
-        return false;
-    }
-
-    unsigned int GetAlignmentIndexSize() {
-        if (alnInfoGroup.alnInfoGroup.groupIsInitialized == false) {
-            cout << "ERROR, getting the size of an index before initializing the cmp.h5 file." << endl;
-            exit(1);
-        }
-        return alnInfoGroup.alnIndexArray.GetNRows();
-    }
-
-    // Add synonym 
-    unsigned int GetNAlignments() {
-        return GetAlignmentIndexSize();
-    }
-
-    static void ParseReadGroupPath(string &path, string &refName, string &readGroupName){ 
-        int delimPos;
-        delimPos = path.find_last_of('/');
-        if (delimPos != path.npos) {
-            refName = path.substr(0, delimPos);
-            //
-            // Check the ref name to see if it has a preceeding '/'
-            //
-            readGroupName = path.substr(delimPos+1, path.size());
-        } 
-        else {
-            refName ="";
-            readGroupName = "";
-        }
-    }
-
-    void StorePlatformId(CmpFile &cmpFile) {
-        //
-        // For now, hard wire as a springfield.  Later if the fields
-        // change per platform, this may be updated.
-        //
-        cmpFile.platformId = Springfield;
-    }
-
-    void ReadAlignmentDescriptions(CmpFile &cmpFile) {
-
-        //
-        // Gather run information.
-        //
-        rootGroup.ReadAttributes(cmpFile);
-
-        string readTypeString;
-        readTypeAtom.Read(readTypeString);
-        cmpFile.StoreReadType(readTypeString);
-        //
-        // Read in the groups that describe what alignments are present.
-        //
-
-        alnGroupGroup.Read(cmpFile.alnGroup);
-        alnInfoGroup.Read(cmpFile.alnInfo);
-        refGroupGroup.Read(cmpFile.refGroup);
-        movieInfoGroup.Read(cmpFile.movieInfo);
-        refInfoGroup.Read(cmpFile.refInfo);
-        StorePlatformId(cmpFile);
-
-    }
-
-    void ReadStructure(CmpFile &cmpFile) {
-        //
-        // Now for every reference group in the cmp file, create a group.
-        //
-        map<string,int> refNameToArrayIndex;
-
-        unsigned int refSeqIndex;
-
-        for (refSeqIndex = 0; refSeqIndex < cmpFile.refGroup.path.size(); refSeqIndex++) {
-            HDFCmpRefAlignmentGroup* refAlignGroup;
-            refAlignGroup = new HDFCmpRefAlignmentGroup;
-            refAlignGroup->Initialize(rootGroup.rootGroup.group, cmpFile.refGroup.path[refSeqIndex]);
-            int refAlignGroupIndex = refAlignGroups.size();
-            refAlignGroups.push_back(refAlignGroup);
-            //
-            // Allow one to index directly into this group given a string
-            // representing the reference name.
-            //
-            refNameToArrayIndex[cmpFile.refGroup.path[refSeqIndex]] = refAlignGroupIndex;
-            refGroupIdToArrayIndex[cmpFile.refGroup.id[refSeqIndex]] = refAlignGroupIndex;
-        }
-
-        // 
-        // Now that all ref groups are created, add read groups that
-        // are aligned to the ref groups.
-        //
-        // Note that groups are not necessarily named by movie, especially in 
-        // a deep-sorted cmp.h5, read groups may look like:
-        // /ref00001/rg8953-0
-        // /ref00001/rg2453-1
-        //
-        unsigned int alnGroupIndex;
-        for (alnGroupIndex = 0; alnGroupIndex < cmpFile.alnGroup.path.size(); alnGroupIndex++) {
-            string refName, readGroupName;
-            ParseReadGroupPath(cmpFile.alnGroup.path[alnGroupIndex], refName, readGroupName);
-
-            //
-            // Create an index that maps alnGroupId (/AlnGroup/Id) to readGroupName
-            //
-            alnGroupIdToReadGroupName[cmpFile.alnGroup.id[alnGroupIndex]] = readGroupName;
-
-            //
-            // Look up the group where this alignment should be found.
-            //
-            unsigned int refGroupArrayIndex;
-            if (refNameToArrayIndex.find(refName) != refNameToArrayIndex.end()) {
-                refGroupArrayIndex = refNameToArrayIndex[refName];
-            }
-            else {
-                cout << "ERROR! The reference name '" << refName << "' does not have an entry though it is "
-                    << " specified in the path for " << cmpFile.readGroupTable.names[alnGroupIndex] 
-                    << endl;
-                assert(0);
-            }
-
-            HDFCmpExperimentGroup *alnGroupPtr;
-            alnGroupPtr = refAlignGroups[refGroupArrayIndex]->InitializeExperimentGroup(readGroupName, includedFields);
-            // experimentNameToIndex should have been set in InitializeExperimentGroup();
-            assert( refAlignGroups[refGroupArrayIndex]->experimentNameToIndex[readGroupName] 
-                    == refAlignGroups[refGroupArrayIndex]->readGroups.size()-1);
-            refAlignGroups[refGroupArrayIndex]->experimentNameToIndex[readGroupName] = refAlignGroups[refGroupArrayIndex]->readGroups.size()-1;
-        }
-    }
-
-    void Read(CmpFile &cmpFile, bool readAllAlignments = true) {
-
-        ReadAlignmentDescriptions(cmpFile);
-        ReadStructure(cmpFile);
-
-        if (!readAllAlignments)
-            return;
-
-        /*
-         * Now that the alignment indices are all read in, read the base-by-base alignments.
-         */
-
-        unsigned int alignmentIndex;
-
-        for (alignmentIndex = 0; alignmentIndex < cmpFile.alnInfo.alignments.size(); alignmentIndex++) {
-            unsigned int alnGroupId = cmpFile.alnInfo.alignments[alignmentIndex].GetAlnGroupId();
-            unsigned int refGroupId = cmpFile.alnInfo.alignments[alignmentIndex].GetRefGroupId();
-            string refSeqName;
-
-            //
-            // Make sure the refGroupId specified in the alignment index exists in the alignment groups.
-            //
-            int refGroupArrayIndex;
-            if (refGroupIdToArrayIndex.find(refGroupId) == refGroupIdToArrayIndex.end()) {
-                cout << "ERROR! Alignment " << cmpFile.alnInfo.alignments[alignmentIndex].GetAlignmentId()
-                    << " has ref seq id " << refGroupId << " that does not exist in the HDF file." << endl;
-                assert(0);
-            }
-            else {
-                refGroupArrayIndex = refGroupIdToArrayIndex[refGroupId];
-            }
-
-            //
-            // Point to the refGroup that this alignment is part of.
-            //
-            HDFCmpRefAlignmentGroup* refAlignGroup = refAlignGroups[refGroupArrayIndex];
-
-            //
-            // Now locate the read group that is part of this ref align group.
-            //
-            string readGroupName = alnGroupIdToReadGroupName[alnGroupId]; 
-
-            if (refAlignGroup->experimentNameToIndex.find(readGroupName) ==
-                    refAlignGroup->experimentNameToIndex.end()) {
-                cout << "Internal ERROR! The read group name " << readGroupName << " is specified as part of "
-                    << " the path in alignment " << cmpFile.alnInfo.alignments[alignmentIndex].GetAlignmentId() 
-                    << " though it does not exist in the ref align group specified for this alignment." << endl;
-                assert(0);
-            }
-
-            int experimentIndex;
-            experimentIndex = refAlignGroup->experimentNameToIndex[readGroupName];
-
-            unsigned int alignmentLength = cmpFile.alnInfo.alignments[alignmentIndex].GetOffsetEnd() - 
-            cmpFile.alnInfo.alignments[alignmentIndex].GetOffsetBegin();
-
-            vector<unsigned char> alignmentArray;
-            vector<UChar> fieldArray;
-
-            if (alignmentArray.size() < alignmentLength) {
-                alignmentArray.resize(alignmentLength);
-            }
-
-            /* 
-             * Read in the base by base alignment.
-             */
-
-            refAlignGroup->readGroups[experimentIndex]->alignmentArray.Read(cmpFile.alnInfo.alignments[alignmentIndex].GetOffsetBegin(),
-                    cmpFile.alnInfo.alignments[alignmentIndex].GetOffsetEnd(),
-                    &alignmentArray[0]);
-
-            cmpFile.alnInfo.alignments[alignmentIndex].StoreAlignmentArray(&alignmentArray[0], alignmentLength);
-
-            /*
-             * Read in all additional fields such as quality values, etc..
-             */
-            set<string>::iterator fieldIt, fieldEnd;
-            fieldEnd = includedFields.end();
-
-            for (fieldIt = includedFields.begin(); fieldIt != fieldEnd; ++fieldIt) {
-                if (fieldArray.size() < alignmentLength) {
-                    fieldArray.resize(alignmentLength);
-                }
-                HDFArray<UChar>* fieldArrayPtr = dynamic_cast<HDFArray<UChar>* >(refAlignGroup->readGroups[experimentIndex]->fields[*fieldIt]);
-
-                int ob = cmpFile.alnInfo.alignments[alignmentIndex].GetOffsetBegin();
-                int oe = cmpFile.alnInfo.alignments[alignmentIndex].GetOffsetEnd();
-                fieldArrayPtr->Read(ob, oe, &fieldArray[0]);
-
-                cmpFile.alnInfo.alignments[alignmentIndex].StoreField(*fieldIt, &fieldArray[0], alignmentLength);
-            }
-        }
-    }
-
-    void IncludeField(string fieldName) {
-        if (supportedFields.find(fieldName) == supportedFields.end()) {
-            cout << "ERROR, attempting to include field " << fieldName << " that is not supported." << endl;
-            exit(1);
-        }
-        includedFields.insert(fieldName);
-    }
-
-    template<typename T_Value, typename T_QV>
-        void StoreQualityValueFromAlignment(vector<T_Value> &fieldValues,
-                vector<int> &baseToAlignmentMap,
-                T_QV *qv) {
-            int i;
-            for (i = 0; i < baseToAlignmentMap.size();i++) {
-                qv[i] = fieldValues[baseToAlignmentMap[i]];
-            }
-        }
-    /*
-       void ReadAlignment(int alignmentIndex, CmpAlignment &cmpAlignment) {
-       alnInfoGroup.ReadCmpAlignment(alignmentIndex, cmpAlignment);
-       ReadAlignmentArray(alignmentIndex, cmpAlignment.alignmentArray);
-       }
-       */
-    void ReadAlignment(int alignmentIndex, T_Alignment &alignment) {
-        CmpAlignment cmpAln;
-        ReadAlignment(alignmentIndex, cmpAln);
-
-        string   refSequence;
-        string   readSequence;
-        readSequence.resize(cmpAln.alignmentArray.size());
-        refSequence.resize(cmpAln.alignmentArray.size());
-
-        ByteAlignmentToQueryString(&cmpAln.alignmentArray[0], cmpAln.alignmentArray.size(), &readSequence[0]);
-        ByteAlignmentToRefString(&cmpAln.alignmentArray[0], cmpAln.alignmentArray.size(), &refSequence[0]);         
-        string ungappedRead, ungappedRef;    
-        RemoveGaps(readSequence, ungappedRead);
-        RemoveGaps(refSequence, ungappedRef);
-
-        GappedStringsToAlignment(readSequence, refSequence, alignment);
-        FASTASequence qAlignedSeq, rAlignedSeq;
-        qAlignedSeq.seq = (Nucleotide*) &ungappedRead[0];
-        qAlignedSeq.length = ungappedRead.size();
-        rAlignedSeq.seq = (Nucleotide*) &ungappedRef[0];
-        rAlignedSeq.length = ungappedRef.size();
-
-        alignment.tAlignedSeq.Copy(rAlignedSeq);
-        alignment.qAlignedSeq.Copy(qAlignedSeq);
-
-        unsigned int qStart = cmpAln.GetQueryStart();
-        unsigned int tStart = cmpAln.GetRefStart();
-
-        alignment.tPos = cmpAln.GetRefStart();
-        alignment.qPos = cmpAln.GetQueryStart();
-        alignment.nIns   = cmpAln.GetNInsertions();
-        alignment.nDel   = cmpAln.GetNDeletions();
-        alignment.nMatch = cmpAln.GetNMatch();
-        alignment.nMismatch=cmpAln.GetNMismatch();
-        alignment.qStrand= 0;
-        alignment.tStrand = cmpAln.GetTStrand();
-        alignment.pctSimilarity = ((float)alignment.nMatch) / (alignment.nMatch + alignment.nMismatch + alignment.nIns + alignment.nDel);
-        alignment.mapQV  = cmpAln.GetMapQV();
-    }
-
-    void ReadAlignmentArray(int alignmentIndex, ByteAlignment &alignmentArray) {
-        CmpAlignment cmpAlignment;
-        alnInfoGroup.ReadCmpAlignment(alignmentIndex, cmpAlignment);
-
-        //
-        // Cache some stats about the read, and where it was aligned to.
-        //
-        int queryStart = cmpAlignment.GetQueryStart();
-        int queryEnd   = cmpAlignment.GetQueryEnd();
-        int refGroupId = cmpAlignment.GetRefGroupId();
-        int alnGroupId = cmpAlignment.GetAlnGroupId();
-
-        int refGroupIndex    = refGroupIdToArrayIndex[refGroupId];
-        if (alnGroupIdToReadGroupName.find(alnGroupId) == 
-                alnGroupIdToReadGroupName.end()) {
-            cout << "INTERNAL ERROR! Could not find read group name for alignment "
-                << "group with Id " << alnGroupId << "." << endl;
-            assert(0);
-        }
-        string readGroupName = alnGroupIdToReadGroupName[alnGroupId]; 
-        if (refAlignGroups[refGroupIndex]->experimentNameToIndex.find(readGroupName) ==
-                refAlignGroups[refGroupIndex]->experimentNameToIndex.end()) {
-            cout << "Internal ERROR! The read group name " << readGroupName << " is specified as part of "
-                << " the path in alignment " << alignmentIndex
-                << " though it does not exist in the ref align group specified for this alignment." << endl;
-            assert(0);
-        }
-        int readGroupIndex   = refAlignGroups[refGroupIndex]->experimentNameToIndex[readGroupName];
-
-        HDFCmpExperimentGroup* expGroup = refAlignGroups[refGroupIndex]->readGroups[readGroupIndex];
-
-        int offsetBegin = cmpAlignment.GetOffsetBegin();
-        int offsetEnd   = cmpAlignment.GetOffsetEnd();
-
-        int alignedSequenceLength = offsetEnd - offsetBegin;
-
-        if (alignedSequenceLength >= 0) {
-            alignmentArray.resize(alignedSequenceLength);
-        }
-        else {
-            return;
-        }
-        //
-        // Read the alignment string.  All alignments 
-        //
-        refAlignGroups[refGroupIndex]->readGroups[readGroupIndex]->alignmentArray.Read(offsetBegin, 
-                offsetEnd, 
-                &alignmentArray[0]);
-    }
-
-    void ImportReadFromCmpH5(int alignmentIndex, CmpAlignment &cmpAlignment, SMRTSequence &read) {
-        alnInfoGroup.ReadCmpAlignment(alignmentIndex, cmpAlignment);
-
-        //
-        // Cache some stats about the read, and where it was aligned to.
-        //
-        int queryStart = cmpAlignment.GetQueryStart();
-        int queryEnd   = cmpAlignment.GetQueryEnd();
-        read.holeNumber = cmpAlignment.GetHoleNumber();
-        int refGroupId = cmpAlignment.GetRefGroupId();
-        int alnGroupId = cmpAlignment.GetAlnGroupId();
-        int refGroupIndex  = refGroupIdToArrayIndex[refGroupId];
-        if (alnGroupIdToReadGroupName.find(alnGroupId) == alnGroupIdToReadGroupName.end()) {
-            cout << "INTERNAL ERROR! Could not find read group name for alignment "
-                << "group with Id " << alnGroupId << "." << endl;
-            assert(0);
-        }
-        string readGroupName = alnGroupIdToReadGroupName[alnGroupId];
-
-        if (refAlignGroups[refGroupIndex]->experimentNameToIndex.find(readGroupName) ==
-                refAlignGroups[refGroupIndex]->experimentNameToIndex.end()) {
-            cout << "Internal ERROR! The read group name " << readGroupName << " is specified as part of "
-                << " the path in alignment " << alignmentIndex
-                << " though it does not exist in the ref align group specified for this alignment." << endl;
-            assert(0);
-        }
-
-        int readGroupIndex = refAlignGroups[refGroupIndex]->experimentNameToIndex[readGroupName];
-        HDFCmpExperimentGroup* expGroup = refAlignGroups[refGroupIndex]->readGroups[readGroupIndex];
-
-        int offsetBegin = cmpAlignment.GetOffsetBegin();
-        int offsetEnd   = cmpAlignment.GetOffsetEnd();
-
-        int alignedSequenceLength = offsetEnd - offsetBegin;
-        string   alignedSequence;
-        string   readSequence;
-        vector<unsigned char> byteAlignment;
-
-        if (alignedSequenceLength >= 0) {
-            alignedSequence.resize(alignedSequenceLength);
-            byteAlignment.resize(alignedSequenceLength);
-        }
-
-        //
-        // Read the alignment string.  All alignments 
-        //
-        refAlignGroups[refGroupIndex]->readGroups[readGroupIndex]->alignmentArray.Read(offsetBegin, 
-                offsetEnd, 
-                &byteAlignment[0]);
-
-        //
-        // Convert to something we can compare easily.
-        //
-        ByteAlignmentToQueryString(&byteAlignment[0], byteAlignment.size(), &alignedSequence[0]);
-
-
-        // 
-        // Initialize the sequence of the read.
-        //
-        RemoveGaps(alignedSequence, readSequence);
-
-        //
-        // Make space for the sequence and all fields.
-        //
-        read.length = readSequence.size();
-        read.Allocate(read.length);
-        memcpy(read.seq, readSequence.c_str(), readSequence.size() * sizeof(char));
-
-        vector<int> baseToAlignmentMap;
-        CreateSequenceToAlignmentMap(byteAlignment, baseToAlignmentMap);
-
-        //
-        // Read in the quality values
-        //
-
-
-        vector<unsigned char> storedQVArray;
-
-        vector<UChar> qvValues;
-        vector<HalfWord> frameValues;
-        int length = offsetEnd - offsetBegin;
-        qvValues.resize(length);
-        frameValues.resize(length);
-        int i;
-
-
-        if (expGroup->experimentGroup.ContainsObject("QualityValue")) {
-            expGroup->qualityValue.Read(offsetBegin, offsetEnd, &qvValues[0]);
-            StoreQualityValueFromAlignment(qvValues, baseToAlignmentMap, &read.qual.data[0]);
-            int i;
-            for (i= 0; i < read.length; i++) {
-                assert(read.qual[i] < 100);
-            }
-        }
-
-        if (expGroup->experimentGroup.ContainsObject("InsertionQV")) {
-            expGroup->insertionQV.Read(offsetBegin, offsetEnd, &qvValues[0]);
-            StoreQualityValueFromAlignment(qvValues, baseToAlignmentMap, &read.insertionQV.data[0]);
-        }
-
-        if (expGroup->experimentGroup.ContainsObject("SubstitutionQV")) {
-            expGroup->substitutionQV.Read(offsetBegin, offsetEnd, &qvValues[0]);
-            StoreQualityValueFromAlignment(qvValues, baseToAlignmentMap, &read.substitutionQV.data[0]);
-        }
-
-        if (expGroup->experimentGroup.ContainsObject("DeletionQV")) {
-            expGroup->deletionQV.Read(offsetBegin, offsetEnd, &qvValues[0]);
-            StoreQualityValueFromAlignment(qvValues, baseToAlignmentMap, &read.deletionQV.data[0]);
-        }
-
-        if (expGroup->experimentGroup.ContainsObject("DeletionTag")) {
-            vector<char> deletionTagValues;
-            deletionTagValues.resize(offsetEnd-offsetBegin);
-            expGroup->deletionTag.Read(offsetBegin, offsetEnd, &deletionTagValues[0]);
-            StoreQualityValueFromAlignment(deletionTagValues, baseToAlignmentMap, read.deletionTag);
-        }
-
-        if (expGroup->experimentGroup.ContainsObject("SubstitutionTag")) {
-            vector<char> substitutionTagValues;
-            substitutionTagValues.resize(offsetEnd-offsetBegin);
-            expGroup->substitutionTag.Read(offsetBegin, offsetEnd, &substitutionTagValues[0]);
-            StoreQualityValueFromAlignment(substitutionTagValues, baseToAlignmentMap, read.substitutionTag);
-        }
-
-        if (expGroup->experimentGroup.ContainsObject("PulseIndex")) {
-            vector<uint32_t> pulseIndexValues;
-            pulseIndexValues.resize(offsetEnd-offsetBegin);
-            expGroup->pulseIndex.Read(offsetBegin, offsetEnd, &pulseIndexValues[0]);
-            StoreQualityValueFromAlignment(pulseIndexValues, baseToAlignmentMap, read.pulseIndex);
-        }
-
-        if (expGroup->experimentGroup.ContainsObject("PreBaseFrames")) {
-            expGroup->preBaseFrames.Read(offsetBegin, offsetEnd, &frameValues[0]);
-            StoreQualityValueFromAlignment(frameValues, baseToAlignmentMap, read.preBaseFrames);
-        }
-
-        if (expGroup->experimentGroup.ContainsObject("WidthInFrames")) {
-            expGroup->widthInFrames.Read(offsetBegin, offsetEnd, &frameValues[0]);
-            StoreQualityValueFromAlignment(frameValues, baseToAlignmentMap, read.widthInFrames);
-        }
-
-    }
-
-    void ReadReadGroupPathTable(CmpIndexedStringTable &readGroupPathTable) {
-        UInt numElem = readGroupPathTable.ids.size();
-        readGroupPathTable.resize(numElem); // resizes all tables
-        readGroupPathIdArray.Read(0, numElem, &readGroupPathTable.ids[0]);
-        readGroupPathArray.Read(0, numElem, &readGroupPathTable.names[0]);
-        readGroupPathTable.StoreArrayIndexMap();
-    }
-
-    void ReadRefSeqTable(CmpIndexedStringTable &refSeqTable) {
-        UInt numElem = refSeqTable.ids.size();
-        refSeqTable.resize(numElem);
-        refSeqNameIdArray.Read(0, numElem, &refSeqTable.ids[0]);
-        refSeqNameArray.Read(0, numElem, &refSeqTable.names[0]);
-        refSeqTable.StoreArrayIndexMap();
-    }
-
-    void ReadMovieNameTable(CmpIndexedStringTable &movieTable) {
-        UInt numElem = movieTable.ids.size();
-        movieTable.resize(numElem);
-        movieNameIdArray.Read(0, numElem, &movieTable.ids[0]);
-        movieNameArray.Read(0,   numElem, &movieTable.names[0]);
-        movieTable.StoreArrayIndexMap();
-    }
-
-    // Store reference FullName, ID, Length and MD5 to /RefInfo 
-    unsigned int AddRefInfo(string refName, unsigned int length, string md5) {
-        return refInfoGroup.AddRefInfo(refName, length, md5);
-    }
-    
-    unsigned int AddRefGroup(string refName, unsigned int refInfoId,
-        string & refGroupName) {
-        if (refInfoId > 999999) {
-            // ref000001 ~ ref999999
-            cout << "ERROR. Could not store more than 999999 references in " 
-                 << " a cmp.h5 file." << endl;
-            exit(1);
-        } 
-
-        // Adding a new refGroup requires:
-        // 1. Creating a new refgroup name, e.g., /ref000001.
-        // 2. Create the new reference group to add alignments to.
-        // 3. Adding this new name to the set of paths of ref groups.
-        // 4. Adding information for this ref group.
- 
-        // 1.
-        GenerateRefGroupName(refInfoId, refGroupName);
-        
-        // 2.
-        HDFCmpRefAlignmentGroup *newGroup = new HDFCmpRefAlignmentGroup;
-        newGroup->Create(rootGroup.rootGroup, refGroupName);
-        refAlignGroups.push_back(newGroup);
-
-        // 3.
-        unsigned int refGroupId = refGroupGroup.AddPath("/" + refGroupName, refInfoId);
-
-        // 4.
-        refGroupIdToArrayIndex[refGroupId] = refGroupId - 1;
-        refNameToArrayIndex[refName] = refGroupId - 1;
-
-        return refGroupId;
-    }
-
-    void GenerateRefGroupName(unsigned int refInfoId, string & name) { 
-        // In order to mimic the behaviour of compareSequences, 
-        // refGroupName should equal to ref00000x, where x is refInfoId.
-        // (x used to be refGroupIdToArrayIndex.size() + 1)
-        stringstream nameStrm;
-        nameStrm << "ref";
-        nameStrm.width(6);
-        nameStrm.fill('0');
-        nameStrm << right << refInfoId;
-        name = nameStrm.str();
-    }
-
-};
-
-#endif
diff --git a/libcpp/hdf/HDFCmpReader.hpp b/libcpp/hdf/HDFCmpReader.hpp
deleted file mode 100644
index f12d2e6..0000000
--- a/libcpp/hdf/HDFCmpReader.hpp
+++ /dev/null
@@ -1,663 +0,0 @@
-#ifndef _BLASR_HDF_CMP_READER_HPP_
-#define _BLASR_HDF_CMP_READER_HPP_
-
-#include "H5Cpp.h"
-#include <iostream>
-#include <assert.h>
-#include "datastructures/alignment/CmpFile.h"
-#include "datastructures/alignment/Alignment.h"
-#include "datastructures/alignment/AlignmentCandidate.h"
-#include "datastructures/alignment/CmpAlignment.h"
-#include "datastructures/alignment/CmpReadGroupTable.h"
-#include "datastructures/alignment/CmpRefSeqTable.h"
-#include "datastructures/alignment/ByteAlignment.h"
-#include "data/hdf/HDFAtom.h"
-#include "data/hdf/HDFArray.h"
-#include "data/hdf/HDF2DArray.h"
-#include "data/hdf/HDFCmpData.h"
-#include "data/hdf/HDFCmpRefAlignmentGroup.h"
-#include "data/hdf/HDFCmpExperimentGroup.h"
-#include "HDFAlnGroupGroup.h"
-#include "HDFAlnInfoGroup.h"
-#include "HDFRefGroupGroup.h"
-#include "HDFRefInfoGroup.h"
-#include "HDFMovieInfoGroup.h"
-#include "HDFCmpRootGroup.h"
-#include "HDFCmpSupportedFields.h"
-#include "SMRTSequence.h"
-#include <sstream>
-#include <map>
-
-using namespace H5;
-using namespace std;
-
-template <typename T_Alignment>
-class HDFCmpReader : public HDFCmpData {
-public:
-    map<int,int>  movieNameIdToArrayIndex,  readGroupPathIdToArrayIndex, refGroupIdToArrayIndex;
-    map<string,string> readGroupPathToReadGroup;
-    HDFAlnGroupGroup alnGroupGroup;
-    HDFAlnInfoGroup alnInfoGroup;
-    HDFMovieInfoGroup movieInfoGroup;
-    HDFRefGroupGroup refGroupGroup;
-    HDFRefInfoGroup refInfoGroup;
-    HDFCmpRootGroup<T_Alignment> rootGroup;
-    set<string> includedFields;
-    HDFCmpSupportedFields supportedFields;
-    HDFAtom<string> readTypeAtom;
-
-    void AstroInitializeColumnNameMap() {
-        CmpAlignmentBase::columnNameToIndex["AlignmentId"] = 0;
-        CmpAlignmentBase::columnNameToIndex["ReadGroupId"] = 1;
-        CmpAlignmentBase::columnNameToIndex["MovieId"] = 2;
-        CmpAlignmentBase::columnNameToIndex["RefSeqId"] = 3;
-        CmpAlignmentBase::columnNameToIndex["tStart"] = 4;
-        CmpAlignmentBase::columnNameToIndex["tEnd"] = 5;
-        CmpAlignmentBase::columnNameToIndex["AlignedStrand"] = 6;
-        CmpAlignmentBase::columnNameToIndex["ExpId"] = 7;
-        CmpAlignmentBase::columnNameToIndex["RunId"] = 8;
-        CmpAlignmentBase::columnNameToIndex["Panel"] = 9;
-        CmpAlignmentBase::columnNameToIndex["x"] = 10;
-        CmpAlignmentBase::columnNameToIndex["y"] = 11;
-        CmpAlignmentBase::columnNameToIndex["SubreadId"] = 12;
-        CmpAlignmentBase::columnNameToIndex["rStart"] = 13;
-        CmpAlignmentBase::columnNameToIndex["rEnd"] = 14;
-        CmpAlignmentBase::columnNameToIndex["Z"] = 15;
-        CmpAlignmentBase::columnNameToIndex["nM"] = 16;
-        CmpAlignmentBase::columnNameToIndex["nMM"] = 17;
-        CmpAlignmentBase::columnNameToIndex["nIns"] = 18;
-        CmpAlignmentBase::columnNameToIndex["nDel"] = 19;
-        CmpAlignmentBase::columnNameToIndex["offset_begin"] = 20;
-        CmpAlignmentBase::columnNameToIndex["offset_end"] = 21;
-    }
-
-    void SpringfieldInitializeColumnNameMap() {
-        CmpAlignmentBase::columnNameToIndex["AlignmentId"] = 0;
-        CmpAlignmentBase::columnNameToIndex["ReadGroupId"] = 1;
-        CmpAlignmentBase::columnNameToIndex["AlnGroupID"] = 1;
-        CmpAlignmentBase::columnNameToIndex["AlnGroupId"] = 1;
-        CmpAlignmentBase::columnNameToIndex["MovieId"] = 2;
-        CmpAlignmentBase::columnNameToIndex["RefSeqId"] = 3;
-        CmpAlignmentBase::columnNameToIndex["tStart"] = 4;
-        CmpAlignmentBase::columnNameToIndex["tEnd"] = 5;
-        CmpAlignmentBase::columnNameToIndex["RCRefStrand"] = 6;
-        CmpAlignmentBase::columnNameToIndex["HoleNumber"] = 7;
-        CmpAlignmentBase::columnNameToIndex["SetNumber"] = 8;
-        CmpAlignmentBase::columnNameToIndex["StrobeNumber"] = 9;
-        CmpAlignmentBase::columnNameToIndex["SubreadId"] = 10;
-        CmpAlignmentBase::columnNameToIndex["rStart"] = 11;
-        CmpAlignmentBase::columnNameToIndex["rEnd"] = 12;
-        CmpAlignmentBase::columnNameToIndex["MapQV"] = 13;
-        CmpAlignmentBase::columnNameToIndex["nM"] = 14;
-        CmpAlignmentBase::columnNameToIndex["nMM"] = 15;
-        CmpAlignmentBase::columnNameToIndex["nIns"] = 16;
-        CmpAlignmentBase::columnNameToIndex["nDel"] = 17;
-        CmpAlignmentBase::columnNameToIndex["offset_begin"] = 18;
-        CmpAlignmentBase::columnNameToIndex["offset_end"] = 19;
-        CmpAlignmentBase::columnNameToIndex["nBackRead"] = 20;
-        CmpAlignmentBase::columnNameToIndex["nReadOverlap"] = 21;
-
-        // All synonyms, the code requiring these should be refactored so
-        // that it no synonyms are needed.
-        //
-        CmpAlignmentBase::columnNameToIndex["AlnID"] = 0;
-        CmpAlignmentBase::columnNameToIndex["AlnGroupID"] = 1;
-        CmpAlignmentBase::columnNameToIndex["MovieID"] = 2;
-        CmpAlignmentBase::columnNameToIndex["RefGroupID"] = 3;
-        CmpAlignmentBase::columnNameToIndex["RefGroupId"] = 3;
-        CmpAlignmentBase::columnNameToIndex["MoleculeID"] = 10;
-        CmpAlignmentBase::columnNameToIndex["Offset_begin"] = 18;
-        CmpAlignmentBase::columnNameToIndex["Offset_end"] = 19;
-
-    }
-
-
-    int Initialize(string &hdfCmpFileName, set<string> includedFieldsP, unsigned int flags=H5F_ACC_RDONLY, const H5::FileAccPropList & fileAccPropList=H5::FileAccPropList::DEFAULT) {
-        Initialize(hdfCmpFileName, flags, fileAccPropList);
-        includedFields = includedFieldsP;
-    }
-
-    int Initialize(string &hdfCmpFileName, unsigned int flags=H5F_ACC_RDONLY, const H5::FileAccPropList & fileAccPropList=H5::FileAccPropList::DEFAULT) {
-        /*
-         * Initialize access to the HDF file.
-         */
-        try {
-            hdfCmpFile.openFile(hdfCmpFileName.c_str(), flags, fileAccPropList);
-        }
-        catch (Exception &e) {
-            cout << e.getDetailMsg() << endl;
-            return 0;
-        }
-
-        rootGroup.Initialize(hdfCmpFile);
-        readTypeAtom.Initialize(rootGroup.rootGroup, "ReadType");
-
-        if (alnGroupGroup.Initialize(rootGroup.rootGroup) == 0)  {
-            cout << "ERROR, could not read AlnGroup of the cmp file." << endl;
-            exit(1);
-        }
-        if (refInfoGroup.Initialize(rootGroup.rootGroup) == 0)   {
-            cout << "ERROR, could not read RefInfo of the cmp file." << endl;
-            exit(1);
-        }
-        if (refGroupGroup.Initialize(rootGroup.rootGroup) == 0)  {
-            cout << "ERROR, could not read RefGroup of the cmp file." << endl;
-            exit(1);
-        }
-        if (movieInfoGroup.Initialize(rootGroup.rootGroup) == 0) {
-            cout << "ERROR, could not read MovieInfo of the cmp file." << endl;
-            exit(1);
-        }
-        if (alnInfoGroup.Initialize(rootGroup.rootGroup) == 0)   {
-            cout << "ERROR, could not read AlnInfo of the cmp file." << endl;
-            exit(1);
-        }
-        if (fileLogGroup.Initialize(rootGroup.rootGroup)   == 0) { 
-            cout << "ERROR, could not read FileLog of the cmp file." << endl;
-            exit(1);
-        }
-
-        SpringfieldInitializeColumnNameMap();    
-
-        return 1;
-    }
-
-    unsigned int GetAlignmentIndexSize() {
-        if (alnInfoGroup.alnInfoGroup.groupIsInitialized == false) {
-            cout << "ERROR, getting the size of an index before initializing the cmp.h5 file." << endl;
-            exit(1);
-        }
-        return alnInfoGroup.alnIndexArray.GetNRows();
-    }
-
-    // Add synonym 
-    unsigned int GetNAlignments() {
-        return GetAlignmentIndexSize();
-    }
-
-    static void ParseReadGroupPath(string &path, string &refName, string &readGroupName){ 
-        int delimPos;
-        delimPos = path.find_last_of('/');
-        if (delimPos != path.npos) {
-            refName = path.substr(0, delimPos);
-            //
-            // Check the ref name to see if it has a preceeding '/'
-            //
-            readGroupName = path.substr(delimPos+1, path.size());
-        } 
-        else {
-            refName ="";
-            readGroupName = "";
-        }
-    }
-
-    void StorePlatformId(CmpFile &cmpFile) {
-        //
-        // For now, hard wire as a springfield.  Later if the fields
-        // change per platform, this may be updated.
-        //
-        cmpFile.platformId = Springfield;
-    }
-
-    void ReadAlignmentDescriptions(CmpFile &cmpFile) {
-
-        //
-        // Gather run information.
-        //
-        rootGroup.ReadAttributes(cmpFile);
-
-        string readTypeString;
-        readTypeAtom.Read(readTypeString);
-        cmpFile.StoreReadType(readTypeString);
-        //
-        // Read in the groups that describe what alignments are present.
-        //
-
-        alnGroupGroup.Read(cmpFile.alnGroup);
-        alnInfoGroup.Read(cmpFile.alnInfo);
-        refGroupGroup.Read(cmpFile.refGroup);
-        movieInfoGroup.Read(cmpFile.movieInfo);
-        refInfoGroup.Read(cmpFile.refInfo);
-        StorePlatformId(cmpFile);
-
-    }
-
-    void ReadStructure(CmpFile &cmpFile) {
-        //
-        // Now for every reference group in the cmp file, create a group.
-        //
-        map<string,int> refNameToArrayIndex;
-
-        unsigned int refSeqIndex;
-
-        for (refSeqIndex = 0; refSeqIndex < cmpFile.refGroup.path.size(); refSeqIndex++) {
-            HDFCmpRefAlignmentGroup* refAlignGroup;
-            refAlignGroup = new HDFCmpRefAlignmentGroup;
-            refAlignGroup->Initialize(rootGroup.rootGroup.group, cmpFile.refGroup.path[refSeqIndex]);
-            int refAlignGroupIndex = refAlignGroups.size();
-            refAlignGroups.push_back(refAlignGroup);
-            //
-            // Allow one to index directly into this group given a string
-            // representing the reference name.
-            //
-            refNameToArrayIndex[cmpFile.refGroup.path[refSeqIndex]] = refAlignGroupIndex;
-            refGroupIdToArrayIndex[cmpFile.refGroup.id[refSeqIndex]] = refAlignGroupIndex;
-        }
-
-        // 
-        // Now that all ref groups are created, add read groups that
-        // are aligned to the ref groups.
-        //
-        // Note that groups are not necessarily named by movie, especially in 
-        // a deep-sorted cmp.h5, read groups may look like:
-        // /ref00001/rg8953-0
-        // /ref00001/rg2453-1
-        //
-        unsigned int alnGroupIndex;
-        for (alnGroupIndex = 0; alnGroupIndex < cmpFile.alnGroup.path.size(); alnGroupIndex++) {
-            string refName, readGroupName;
-            ParseReadGroupPath(cmpFile.alnGroup.path[alnGroupIndex], refName, readGroupName);
-
-            //
-            // Create an index that maps alnGroupId (/AlnGroup/Id) to readGroupName
-            //
-            alnGroupIdToReadGroupName[cmpFile.alnGroup.id[alnGroupIndex]] = readGroupName;
-
-            //
-            // Look up the group where this alignment should be found.
-            //
-            unsigned int refGroupArrayIndex;
-            if (refNameToArrayIndex.find(refName) != refNameToArrayIndex.end()) {
-                refGroupArrayIndex = refNameToArrayIndex[refName];
-            }
-            else {
-                cout << "ERROR! The reference name '" << refName << "' does not have an entry though it is "
-                    << " specified in the path for " << cmpFile.readGroupTable.names[alnGroupIndex] 
-                    << endl;
-                assert(0);
-            }
-
-            HDFCmpExperimentGroup *alnGroupPtr;
-            alnGroupPtr = refAlignGroups[refGroupArrayIndex]->InitializeExperimentGroup(readGroupName, includedFields);
-            // experimentNameToIndex should have been set in InitializeExperimentGroup();
-            assert( refAlignGroups[refGroupArrayIndex]->experimentNameToIndex[readGroupName] 
-                    == refAlignGroups[refGroupArrayIndex]->readGroups.size()-1);
-            refAlignGroups[refGroupArrayIndex]->experimentNameToIndex[readGroupName] = refAlignGroups[refGroupArrayIndex]->readGroups.size()-1;
-        }
-    }
-
-    void Read(CmpFile &cmpFile) {
-
-        ReadAlignmentDescriptions(cmpFile);
-        ReadStructure(cmpFile);
-
-        /*
-         * Now that the alignment indices are all read in, read the base-by-base alignments.
-         */
-
-        unsigned int alignmentIndex;
-
-        for (alignmentIndex = 0; alignmentIndex < cmpFile.alnInfo.alignments.size(); alignmentIndex++) {
-            unsigned int alnGroupId = cmpFile.alnInfo.alignments[alignmentIndex].GetAlnGroupId();
-            unsigned int refGroupId = cmpFile.alnInfo.alignments[alignmentIndex].GetRefGroupId();
-            string refSeqName;
-
-            //
-            // Make sure the refGroupId specified in the alignment index exists in the alignment groups.
-            //
-            int refGroupArrayIndex;
-            if (refGroupIdToArrayIndex.find(refGroupId) == refGroupIdToArrayIndex.end()) {
-                cout << "ERROR! Alignment " << cmpFile.alnInfo.alignments[alignmentIndex].GetAlignmentId()
-                    << " has ref seq id " << refGroupId << " that does not exist in the HDF file." << endl;
-                assert(0);
-            }
-            else {
-                refGroupArrayIndex = refGroupIdToArrayIndex[refGroupId];
-            }
-
-            //
-            // Point to the refGroup that this alignment is part of.
-            //
-            HDFCmpRefAlignmentGroup* refAlignGroup = refAlignGroups[refGroupArrayIndex];
-
-            //
-            // Now locate the read group that is part of this ref align group.
-            //
-            string readGroupName = alnGroupIdToReadGroupName[alnGroupId]; 
-
-            if (refAlignGroup->experimentNameToIndex.find(readGroupName) ==
-                    refAlignGroup->experimentNameToIndex.end()) {
-                cout << "Internal ERROR! The read group name " << readGroupName << " is specified as part of "
-                    << " the path in alignment " << cmpFile.alnInfo.alignments[alignmentIndex].GetAlignmentId() 
-                    << " though it does not exist in the ref align group specified for this alignment." << endl;
-                assert(0);
-            }
-
-            int experimentIndex;
-            experimentIndex = refAlignGroup->experimentNameToIndex[readGroupName];
-
-            unsigned int alignmentLength = cmpFile.alnInfo.alignments[alignmentIndex].GetOffsetEnd() - 
-            cmpFile.alnInfo.alignments[alignmentIndex].GetOffsetBegin();
-
-            vector<unsigned char> alignmentArray;
-            vector<float> fieldArray;
-
-            if (alignmentArray.size() < alignmentLength) {
-                alignmentArray.resize(alignmentLength);
-            }
-
-            /* 
-             * Read in the base by base alignment.
-             */
-
-            refAlignGroup->readGroups[experimentIndex]->alignmentArray.Read(cmpFile.alnInfo.alignments[alignmentIndex].GetOffsetBegin(),
-                    cmpFile.alnInfo.alignments[alignmentIndex].GetOffsetEnd(),
-                    &alignmentArray[0]);
-
-            cmpFile.alnInfo.alignments[alignmentIndex].StoreAlignmentArray(&alignmentArray[0], alignmentLength);
-
-            /*
-             * Read in all additional fields such as quality values, etc..
-             */
-            set<string>::iterator fieldIt, fieldEnd;
-            fieldEnd = includedFields.end();
-
-            for (fieldIt = includedFields.begin(); fieldIt != fieldEnd; ++fieldIt) {
-                if (fieldArray.size() < alignmentLength) {
-                    fieldArray.resize(alignmentLength);
-                }
-                HDFArray<float>* fieldArrayPtr = dynamic_cast<HDFArray<float>* >(refAlignGroup->readGroups[experimentIndex]->fields[*fieldIt]);
-
-                int ob = cmpFile.alnInfo.alignments[alignmentIndex].GetOffsetBegin();
-                int oe = cmpFile.alnInfo.alignments[alignmentIndex].GetOffsetEnd();
-                fieldArrayPtr->Read(ob, oe, &fieldArray[0]);
-
-                cmpFile.alnInfo.alignments[alignmentIndex].StoreFloatField(*fieldIt, &fieldArray[0], alignmentLength);
-            }
-        }
-    }
-
-    void IncludeField(string fieldName) {
-        if (supportedFields.find(fieldName) == supportedFields.end()) {
-            cout << "ERROR, attempting to include field " << fieldName << " that is not supported." << endl;
-            exit(1);
-        }
-        includedFields.insert(fieldName);
-    }
-
-    template<typename T_Value, typename T_QV>
-        void StoreQualityValueFromAlignment(vector<T_Value> &fieldValues,
-                vector<int> &baseToAlignmentMap,
-                T_QV *qv) {
-            int i;
-            for (i = 0; i < baseToAlignmentMap.size();i++) {
-                qv[i] = fieldValues[baseToAlignmentMap[i]];
-            }
-        }
-
-    void ReadAlignment(int alignmentIndex, CmpAlignment &cmpAlignment) {
-        alnInfoGroup.ReadCmpAlignment(alignmentIndex, cmpAlignment);
-        ReadAlignmentArray(alignmentIndex, cmpAlignment.alignmentArray);
-    }
-
-    void ReadAlignment(int alignmentIndex, AlignmentCandidate<FASTASequence, FASTASequence> &alignment) {
-        CmpAlignment cmpAln;
-        ReadAlignment(alignmentIndex, cmpAln);
-
-        string   refSequence;
-        string   readSequence;
-        readSequence.resize(cmpAln.alignmentArray.size());
-        refSequence.resize(cmpAln.alignmentArray.size());
-
-        ByteAlignmentToQueryString(&cmpAln.alignmentArray[0], cmpAln.alignmentArray.size(), &readSequence[0]);
-        ByteAlignmentToRefString(&cmpAln.alignmentArray[0], cmpAln.alignmentArray.size(), &refSequence[0]);				
-        string ungappedRead, ungappedRef;    
-        RemoveGaps(readSequence, ungappedRead);
-        RemoveGaps(refSequence, ungappedRef);
-
-        GappedStringsToAlignment(readSequence, refSequence, alignment);
-        FASTASequence qAlignedSeq, rAlignedSeq;
-        qAlignedSeq.seq = (Nucleotide*) &ungappedRead[0];
-        qAlignedSeq.length = ungappedRead.size();
-        rAlignedSeq.seq = (Nucleotide*) &ungappedRef[0];
-        rAlignedSeq.length = ungappedRef.size();
-
-        alignment.tAlignedSeq.Copy(rAlignedSeq);
-        alignment.qAlignedSeq.Copy(qAlignedSeq);
-
-        unsigned int qStart = cmpAln.GetQueryStart();
-        unsigned int tStart = cmpAln.GetRefStart();
-
-        alignment.tPos = cmpAln.GetRefStart();
-        alignment.qPos = cmpAln.GetQueryStart();
-        alignment.nIns   = cmpAln.GetNInsertions();
-        alignment.nDel   = cmpAln.GetNDeletions();
-        alignment.nMatch = cmpAln.GetNMatch();
-        alignment.nMismatch=cmpAln.GetNMismatch();
-        alignment.qStrand= 0;
-        alignment.tStrand = cmpAln.GetTStrand();
-        alignment.pctSimilarity = ((float)alignment.nMatch) / (alignment.nMatch + alignment.nMismatch + alignment.nIns + alignment.nDel);
-        alignment.mapQV  = cmpAln.GetMapQV();
-    }
-
-    void ReadAlignmentArray(int alignmentIndex, ByteAlignment &alignmentArray) {
-        CmpAlignment cmpAlignment;
-        alnInfoGroup.ReadCmpAlignment(alignmentIndex, cmpAlignment);
-
-        //
-        // Cache some stats about the read, and where it was aligned to.
-        //
-        int queryStart = cmpAlignment.GetQueryStart();
-        int queryEnd   = cmpAlignment.GetQueryEnd();
-        int refGroupId = cmpAlignment.GetRefGroupId();
-        int alnGroupId = cmpAlignment.GetAlnGroupId();
-
-        int refGroupIndex    = refGroupIdToArrayIndex[refGroupId];
-        if (alnGroupIdToReadGroupName.find(alnGroupId) == 
-                alnGroupIdToReadGroupName.end()) {
-            cout << "INTERNAL ERROR! Could not find read group name for alignment "
-                << "group with Id " << alnGroupId << "." << endl;
-            assert(0);
-        }
-        string readGroupName = alnGroupIdToReadGroupName[alnGroupId]; 
-        if (refAlignGroups[refGroupIndex]->experimentNameToIndex.find(readGroupName) ==
-                refAlignGroups[refGroupIndex]->experimentNameToIndex.end()) {
-            cout << "Internal ERROR! The read group name " << readGroupName << " is specified as part of "
-                << " the path in alignment " << alignmentIndex
-                << " though it does not exist in the ref align group specified for this alignment." << endl;
-            assert(0);
-        }
-        int readGroupIndex   = refAlignGroups[refGroupIndex]->experimentNameToIndex[readGroupName];
-
-        HDFCmpExperimentGroup* expGroup = refAlignGroups[refGroupIndex]->readGroups[readGroupIndex];
-
-        int offsetBegin = cmpAlignment.GetOffsetBegin();
-        int offsetEnd   = cmpAlignment.GetOffsetEnd();
-
-        int alignedSequenceLength = offsetEnd - offsetBegin;
-
-        if (alignedSequenceLength >= 0) {
-            alignmentArray.resize(alignedSequenceLength);
-        }
-        else {
-            return;
-        }
-        //
-        // Read the alignment string.  All alignments 
-        //
-        refAlignGroups[refGroupIndex]->readGroups[readGroupIndex]->alignmentArray.Read(offsetBegin, 
-                offsetEnd, 
-                &alignmentArray[0]);
-    }
-
-    void ImportReadFromCmpH5(int alignmentIndex, SMRTSequence &read) {
-        CmpAlignment cmpAlignment;
-        alnInfoGroup.ReadCmpAlignment(alignmentIndex, cmpAlignment);
-
-        //
-        // Cache some stats about the read, and where it was aligned to.
-        //
-        int queryStart = cmpAlignment.GetQueryStart();
-        int queryEnd   = cmpAlignment.GetQueryEnd();
-        read.holeNumber = cmpAlignment.GetHoleNumber();
-        int refGroupId = cmpAlignment.GetRefGroupId();
-        int alnGroupId = cmpAlignment.GetAlnGroupId();
-        int refGroupIndex  = refGroupIdToArrayIndex[refGroupId];
-        if (alnGroupIdToReadGroupName.find(alnGroupId) == alnGroupIdToReadGroupName.end()) {
-            cout << "INTERNAL ERROR! Could not find read group name for alignment "
-                << "group with Id " << alnGroupId << "." << endl;
-            assert(0);
-        }
-        string readGroupName = alnGroupIdToReadGroupName[alnGroupId];
-
-        if (refAlignGroups[refGroupIndex]->experimentNameToIndex.find(readGroupName) ==
-                refAlignGroups[refGroupIndex]->experimentNameToIndex.end()) {
-            cout << "Internal ERROR! The read group name " << readGroupName << " is specified as part of "
-                << " the path in alignment " << alignmentIndex
-                << " though it does not exist in the ref align group specified for this alignment." << endl;
-            assert(0);
-        }
-
-        int readGroupIndex = refAlignGroups[refGroupIndex]->experimentNameToIndex[readGroupName];
-        HDFCmpExperimentGroup* expGroup = refAlignGroups[refGroupIndex]->readGroups[readGroupIndex];
-
-        int offsetBegin = cmpAlignment.GetOffsetBegin();
-        int offsetEnd   = cmpAlignment.GetOffsetEnd();
-
-        int alignedSequenceLength = offsetEnd - offsetBegin;
-        string   alignedSequence;
-        string   readSequence;
-        vector<unsigned char> byteAlignment;
-
-        if (alignedSequenceLength >= 0) {
-            alignedSequence.resize(alignedSequenceLength);
-            byteAlignment.resize(alignedSequenceLength);
-        }
-
-        //
-        // Read the alignment string.  All alignments 
-        //
-        refAlignGroups[refGroupIndex]->readGroups[readGroupIndex]->alignmentArray.Read(offsetBegin, 
-                offsetEnd, 
-                &byteAlignment[0]);
-
-        //
-        // Convert to something we can compare easily.
-        //
-        ByteAlignmentToQueryString(&byteAlignment[0], byteAlignment.size(), &alignedSequence[0]);
-
-
-        // 
-        // Initialize the sequence of the read.
-        //
-        RemoveGaps(alignedSequence, readSequence);
-
-        //
-        // Make space for the sequence and all fields.
-        //
-        read.length = readSequence.size();
-        read.Allocate(read.length);
-        memcpy(read.seq, readSequence.c_str(), readSequence.size() * sizeof(char));
-
-        vector<int> baseToAlignmentMap;
-        CreateSequenceToAlignmentMap(byteAlignment, baseToAlignmentMap);
-
-        //
-        // Read in the quality values
-        //
-
-
-        vector<unsigned char> storedQVArray;
-
-        vector<UChar> qvValues;
-        vector<HalfWord> frameValues;
-        int length = offsetEnd - offsetBegin;
-        qvValues.resize(length);
-        frameValues.resize(length);
-        int i;
-
-
-        if (expGroup->experimentGroup.ContainsObject("QualityValue")) {
-            expGroup->qualityValue.Read(offsetBegin, offsetEnd, &qvValues[0]);
-            StoreQualityValueFromAlignment(qvValues, baseToAlignmentMap, &read.qual.data[0]);
-            int i;
-            for (i= 0; i < read.length; i++) {
-                assert(read.qual[i] < 100);
-            }
-        }
-
-        if (expGroup->experimentGroup.ContainsObject("InsertionQV")) {
-            expGroup->insertionQV.Read(offsetBegin, offsetEnd, &qvValues[0]);
-            StoreQualityValueFromAlignment(qvValues, baseToAlignmentMap, &read.insertionQV.data[0]);
-        }
-
-        if (expGroup->experimentGroup.ContainsObject("SubstitutionQV")) {
-            expGroup->substitutionQV.Read(offsetBegin, offsetEnd, &qvValues[0]);
-            StoreQualityValueFromAlignment(qvValues, baseToAlignmentMap, &read.substitutionQV.data[0]);
-        }
-
-        if (expGroup->experimentGroup.ContainsObject("DeletionQV")) {
-            expGroup->deletionQV.Read(offsetBegin, offsetEnd, &qvValues[0]);
-            StoreQualityValueFromAlignment(qvValues, baseToAlignmentMap, &read.deletionQV.data[0]);
-        }
-
-        if (expGroup->experimentGroup.ContainsObject("DeletionTag")) {
-            vector<char> deletionTagValues;
-            deletionTagValues.resize(offsetEnd-offsetBegin);
-            expGroup->deletionTag.Read(offsetBegin, offsetEnd, &deletionTagValues[0]);
-            StoreQualityValueFromAlignment(deletionTagValues, baseToAlignmentMap, read.deletionTag);
-        }
-
-        if (expGroup->experimentGroup.ContainsObject("SubstitutionTag")) {
-            vector<char> substitutionTagValues;
-            substitutionTagValues.resize(offsetEnd-offsetBegin);
-            expGroup->substitutionTag.Read(offsetBegin, offsetEnd, &substitutionTagValues[0]);
-            StoreQualityValueFromAlignment(substitutionTagValues, baseToAlignmentMap, read.substitutionTag);
-        }
-
-        if (expGroup->experimentGroup.ContainsObject("PulseIndex")) {
-            vector<uint32_t> pulseIndexValues;
-            pulseIndexValues.resize(offsetEnd-offsetBegin);
-            expGroup->pulseIndex.Read(offsetBegin, offsetEnd, &pulseIndexValues[0]);
-            StoreQualityValueFromAlignment(pulseIndexValues, baseToAlignmentMap, read.pulseIndex);
-        }
-
-        if (expGroup->experimentGroup.ContainsObject("PreBaseFrames")) {
-            expGroup->preBaseFrames.Read(offsetBegin, offsetEnd, &frameValues[0]);
-            StoreQualityValueFromAlignment(frameValues, baseToAlignmentMap, read.preBaseFrames);
-        }
-
-        if (expGroup->experimentGroup.ContainsObject("WidthInFrames")) {
-            expGroup->widthInFrames.Read(offsetBegin, offsetEnd, &frameValues[0]);
-            StoreQualityValueFromAlignment(frameValues, baseToAlignmentMap, read.widthInFrames);
-        }
-
-    }
-
-    void ReadReadGroupPathTable(CmpIndexedStringTable &readGroupPathTable) {
-        UInt numElem = readGroupPathTable.ids.size();
-        readGroupPathTable.resize(numElem); // resizes all tables
-        readGroupPathIdArray.Read(0, numElem, &readGroupPathTable.ids[0]);
-        readGroupPathArray.Read(0, numElem, &readGroupPathTable.names[0]);
-        readGroupPathTable.StoreArrayIndexMap();
-    }
-
-    void ReadRefSeqTable(CmpIndexedStringTable &refSeqTable) {
-        UInt numElem = refSeqTable.ids.size();
-        refSeqTable.resize(numElem);
-        refSeqNameIdArray.Read(0, numElem, &refSeqTable.ids[0]);
-        refSeqNameArray.Read(0, numElem, &refSeqTable.names[0]);
-        refSeqTable.StoreArrayIndexMap();
-    }
-
-    void ReadMovieNameTable(CmpIndexedStringTable &movieTable) {
-        UInt numElem = movieTable.ids.size();
-        movieTable.resize(numElem);
-        movieNameIdArray.Read(0, numElem, &movieTable.ids[0]);
-        movieNameArray.Read(0,   numElem, &movieTable.names[0]);
-        movieTable.StoreArrayIndexMap();
-    }
-
-};
-
-#endif
diff --git a/libcpp/hdf/HDFCmpRefAlignmentGroup.hpp b/libcpp/hdf/HDFCmpRefAlignmentGroup.hpp
deleted file mode 100644
index 69650ec..0000000
--- a/libcpp/hdf/HDFCmpRefAlignmentGroup.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-#ifndef _BLASR_HDF_CMP_REF_ALIGNMENT_GROUP_HPP_
-#define _BLASR_HDF_CMP_REF_ALIGNMENT_GROUP_HPP_
-
-#include <map>
-#include <string>
-#include "H5Cpp.h"
-#include "HDFData.hpp"
-#include "HDFGroup.hpp"
-#include "HDFCmpExperimentGroup.hpp"
-
-using namespace std;
-
-class HDFCmpRefAlignmentGroup {
- public:
-	HDFGroup  refGroup;
-	string refGroupName;
-	vector<HDFCmpExperimentGroup*> readGroups;
-	HDFAtom<string> annotationStringAtom;
-	map<string,int> experimentNameToIndex;
-    // A RefAlignmentGroup may contain one or more 
-    // ExperimentGroups. The following shows a 
-    // RefAlignmentGroup containing two ExperimentGroups.
-    // /ref00001/m121219_103658_42194_c000447032559900001500000112311426_s1_p0
-    // /ref00001/m121219_103658_42194_c000447032559900001500000112311426_s2_p0
-    //
-    // But these ExperimentGroups are not necessarily
-    // grouped by movie. For example, the following groups
-    // can be seen in deep-sorted cmp.h5
-    // /ref00001/rg8953-0
-    // /ref00001/rg2453-1
-
-	int Initialize(H5::CommonFG &group, string _refGroupName) {
-		refGroupName = _refGroupName;
-		refGroup.Initialize(group, _refGroupName);
-		//		annotationStringAtom.Initialize(refGroup.group, "annotationString");
-	}
-
-  void Create(HDFGroup parent, string refGroupNameP) {
-    refGroupName = refGroupNameP;
-    parent.AddGroup(refGroupName);
-    refGroup.Initialize(parent, refGroupName);
-  }
-
-  HDFCmpExperimentGroup *GetExperimentGroup(string readGroupName) {
-    //
-    // In contrast to initialization, only create one group.
-    //
-    map<string,int>::iterator it = experimentNameToIndex.find(readGroupName);
-		if (it != experimentNameToIndex.end()) {
-      assert(it->second < readGroups.size());
-      return readGroups[it->second];
-    }
-
-    //
-    // Allocate the new group structure
-    //
-    int newReadGroupIndex = readGroups.size();
-    HDFCmpExperimentGroup* readGroupPtr = new HDFCmpExperimentGroup;
-    readGroups.push_back(readGroupPtr);
-    experimentNameToIndex[readGroupName] = newReadGroupIndex;
-
-    //
-    // Now add it to the cmp.h5 file.
-    //
-    if (readGroupPtr->Create(refGroup, readGroupName) == 0) {
-      delete readGroupPtr;
-      experimentNameToIndex[readGroupName] = -1;
-      return NULL;
-    }
-    return readGroupPtr;
-  }
-
-  bool ContainsExperimentGroup(string readGroupName) {
-    return experimentNameToIndex.find(readGroupName) != experimentNameToIndex.end();
-  }
-
-	HDFCmpExperimentGroup* InitializeExperimentGroup(string experimentGroupName, set<string> &includedFields) {
-		if (refGroup.ContainsObject(experimentGroupName)) {
-			HDFCmpExperimentGroup* newGroup = new HDFCmpExperimentGroup;
-
-			if (newGroup->Initialize(refGroup, experimentGroupName, includedFields) == 0) {
-				cout << "ERROR, could not initialize the exp group." << endl;
-				exit(1);
-			}
-			experimentNameToIndex[experimentGroupName] = readGroups.size();
-			readGroups.push_back(newGroup);
-			return newGroup;
-		}
-		else {
-			return NULL;
-		}
-	}
-
-  
-	HDFCmpExperimentGroup* InitializeExperimentGroup(string experimentGroupName) {
-    set<string> EMPTYIncludedFields;
-    return InitializeExperimentGroup(experimentGroupName, EMPTYIncludedFields);
-	}
-};
-
-
-#endif
diff --git a/libcpp/hdf/HDFCmpRootGroup.hpp b/libcpp/hdf/HDFCmpRootGroup.hpp
deleted file mode 100644
index d84084f..0000000
--- a/libcpp/hdf/HDFCmpRootGroup.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-#ifndef _BLASR_HDF_CMP_ROOT_GROUP_HPP_
-#define _BLASR_HDF_CMP_ROOT_GROUP_HPP_
-
-#include "HDFAtom.hpp"
-#include "HDF2DArray.hpp"
-#include "datastructures/alignment/CmpFile.hpp"
-template <typename T_Alignment>
-class HDFCmpRootGroup {
- public:
-	HDFGroup rootGroup;
-	HDFAtom<string> version;
-	HDFAtom<string> index;
-	HDFAtom<string> readType;
-	HDFAtom<string> commandLine;
-	HDF2DArray<string> fileLog;
-
-	~HDFCmpRootGroup() {
-		rootGroup.Close();
-	}
-
-	int Initialize(H5::H5File &cmpFile) {
-		if (rootGroup.Initialize(cmpFile, "/") == 0) { return 0; }
-		if (rootGroup.ContainsObject("Version")) {
-			if (version.Initialize(rootGroup.group, "Version") == 0) { return 0; }		
-		}
-		if (rootGroup.ContainsObject("Index")) {
-			if (index.Initialize(rootGroup.group, "Index") == 0) { return 0; }
-		}
-		if (rootGroup.ContainsObject("ReadType")) {
-			if (readType.Initialize(rootGroup.group, "ReadType") == 0) { return 0; }
-		}
-		if (rootGroup.ContainsObject("CommandLine")) {
-			if (commandLine.Initialize(rootGroup.group, "CommandLine") == 0) { return 0; }
-		}
-		
-		//
-		// For now, disable file log initialization until
-		// hdf2darray<string> is tested more thoroughly 
-		//
-		// if (fileLog.Initialize(rootGroup.group, "FileLog") == 0) {
-		// return 0;}
-		//
-		return 1;
-	}
-	
-	void ReadAttributes(CmpFile &cmpFile) {
-		if (rootGroup.ContainsObject("Version")) {
-		version.Read(cmpFile.version);
-		}
-		if (rootGroup.ContainsObject("Index")) {
-			index.Read(cmpFile.index);
-		}
-		if (rootGroup.ContainsObject("ReadType")) {
-      string readTypeString;
-      readType.Read(readTypeString);
-      cmpFile.StoreReadType(readTypeString);
-		}
-		if (rootGroup.ContainsObject("CommandLine")) {
-		commandLine.Read(cmpFile.commandLine);
-		}
-	}
-};
- 
-	
-
-#endif
diff --git a/libcpp/hdf/HDFCmpSupportedFields.cpp b/libcpp/hdf/HDFCmpSupportedFields.cpp
deleted file mode 100644
index b240d39..0000000
--- a/libcpp/hdf/HDFCmpSupportedFields.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "HDFCmpSupportedFields.hpp"
-
-HDFCmpSupportedFields::HDFCmpSupportedFields() {
-    this->insert("StartTimeOffset");
-    this->insert("QualityValue");
-    this->insert("IPD");
-    this->insert("PreBaseFrames");
-    this->insert("DeletionQV");
-    this->insert("InsertionQV");
-    this->insert("ClassifierQV");
-    this->insert("SubstitutionQV");
-    this->insert("MergeQV");
-    this->insert("Light");
-    this->insert("WidthInFrames");
-    this->insert("PulseWidth");
-    this->insert("StartTime");
-    this->insert("pkmid");
-    this->insert("pkmax");
-    this->insert("pkmean");
-    this->insert("pkmean");
-    this->insert("SubstitutionTag");
-    this->insert("DeletionTag");
-    this->insert("PulseIndex");
-
-}
diff --git a/libcpp/hdf/HDFCmpSupportedFields.hpp b/libcpp/hdf/HDFCmpSupportedFields.hpp
deleted file mode 100644
index 8ac0e87..0000000
--- a/libcpp/hdf/HDFCmpSupportedFields.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _BLASR_CMP_SUPPORTED_FIELDS_HPP_
-#define _BLASR_CMP_SUPPORTED_FIELDS_HPP_
-
-#include <string>
-#include <set>
-
-class HDFCmpSupportedFields : public std::set<std::string> {
-public:
-    HDFCmpSupportedFields(); 
-};
-
-
-#endif
diff --git a/libcpp/hdf/HDFCommonFG.hpp b/libcpp/hdf/HDFCommonFG.hpp
deleted file mode 100644
index 2b859eb..0000000
--- a/libcpp/hdf/HDFCommonFG.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _BLASR_HDF_COMMON_FG_HPP_
-#define _BLASR_HDF_COMMON_FG_HPP_
-
-
-
-using namespace std;
-using namespace H5;
-
-class HDFCommonFG {
- public:
-
-};
-#endif
diff --git a/libcpp/hdf/HDFConfig.hpp b/libcpp/hdf/HDFConfig.hpp
deleted file mode 100644
index 6dbd24a..0000000
--- a/libcpp/hdf/HDFConfig.hpp
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef _BLASR_HDF_CONFIG_HPP_
-#define _BLASR_HDF_CONFIG_HPP_
-
-#define MAX_DIMS 10
-
-
-#endif
diff --git a/libcpp/hdf/HDFData.cpp b/libcpp/hdf/HDFData.cpp
deleted file mode 100644
index 0283992..0000000
--- a/libcpp/hdf/HDFData.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-#include "HDFData.hpp"
-
-using namespace std;
-using namespace H5;
-
-H5Location* HDFData::GetObject() {
-    return &dataset;
-}
-
-HDFData::HDFData(CommonFG* _container, string _datasetName) {
-    container   = _container;
-    datasetName = _datasetName;
-    fileDataSpaceInitialized = false;
-    isInitialized = false;
-}
-
-HDFData::HDFData() {
-    container = NULL;
-    fileDataSpaceInitialized = false;
-    isInitialized = false;
-}
-
-bool HDFData::IsInitialized() {
-    return isInitialized;
-}
-
-//
-// Allow derived classes to be initialized generically.
-//
-int HDFData::Initialize(HDFGroup &parentGroup, const string &datasetName) { 
-    cout << "ERROR! Only a subclass should call this." << endl;
-    exit(1);
-}
-
-int HDFData::BaseInitializeDataset(CommonFG &hdfFile, string _datasetName) {
-    dataset   = hdfFile.openDataSet(_datasetName.c_str());
-    isInitialized = true;
-    fileDataSpaceInitialized = true;
-    return 1;
-}
-
-int HDFData::InitializeDataset(HDFGroup &group, string _datasetName) {
-    return InitializeDataset(group.group, _datasetName);
-}
-
-int HDFData::InitializeDataset(CommonFG &hdfFile, string _datasetName) {
-    try {
-        datasetName = _datasetName;
-        dataset   = hdfFile.openDataSet(_datasetName.c_str());
-        isInitialized = true;
-        fileDataSpaceInitialized = true;
-    }
-    catch(FileIException &e) {
-        cerr << e.getDetailMsg() <<endl;
-        return 0;
-    }
-    catch(GroupIException &e) {
-        cerr << e.getDetailMsg() << endl;
-        return 0;
-    }
-    catch(H5::Exception &e) {
-        cerr << e.getDetailMsg() << endl;
-        return 0;
-    }
-    return 1;
-}
-
-void HDFData::Close() {
-    if (isInitialized) {
-        dataspace.close();
-        dataset.close();
-        isInitialized = false;
-    }
-}
diff --git a/libcpp/hdf/HDFData.hpp b/libcpp/hdf/HDFData.hpp
deleted file mode 100644
index 5ca1455..0000000
--- a/libcpp/hdf/HDFData.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef _BLASR_HDF_DATA_HPP_
-#define _BLASR_HDF_DATA_HPP_
-
-#include <string>
-#include "H5Cpp.h"
-#include "HDFConfig.hpp"
-#include "HDFGroup.hpp"
-#include "HDFAttributable.hpp"
-
-class HDFData : public HDFAttributable {
-public:
-    H5::DataSet   dataset;
-    H5::DataSpace dataspace;
-    H5::DataSpace sourceSpace, destSpace;
-    H5::DataSpace fullSourceSpace;
-    bool      fileDataSpaceInitialized;
-    H5::CommonFG  *container;
-    std::string    datasetName;
-    bool      isInitialized;
-
-    H5::H5Location* GetObject(); 
-
-    HDFData(H5::CommonFG* _container, std::string _datasetName); 
-
-    HDFData(); 
-
-    bool IsInitialized(); 
-
-    //
-    // Allow derived classes to be initialized generically.
-    //
-    // FIXME(yli): This method and the Initialize methods in
-    // subclasses cause compilation warnings under clang.  For
-    // example, see the discussion here:
-    //
-    // http://stackoverflow.com/questions/18515183/c-overloaded-virtual-function-warning-by-clang
-    //
-    // To fix the problem here may require rethinking the initialize
-    // method more carefully.
-    //
-    virtual int Initialize(HDFGroup &parentGroup, const std::string &datasetName);
-
-    int BaseInitializeDataset(H5::CommonFG &hdfFile, std::string _datasetName); 
-
-    int InitializeDataset(HDFGroup &group, std::string _datasetName); 
-
-    int InitializeDataset(H5::CommonFG &hdfFile, std::string _datasetName); 
-
-    void Close(); 
-};
-
-#endif
diff --git a/libcpp/hdf/HDFFile.cpp b/libcpp/hdf/HDFFile.cpp
deleted file mode 100644
index 285b8f6..0000000
--- a/libcpp/hdf/HDFFile.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-#include "HDFFile.hpp"
-
-using namespace H5;
-using namespace std;
-
-HDFFile::HDFFile() {
-}
-
-//
-//  Open a file.  By default, if the file already exists, open it in
-//  read/write mode.  The only other flag that is allowed is
-//  H5F_ACC_TRUNC, which will truncate the file to zero size.
-//
-void HDFFile::Open(string fileName, unsigned int flags, 
-    const FileAccPropList& fileAccPropList) {
-
-    assert (flags == H5F_ACC_RDWR || flags == H5F_ACC_TRUNC || flags == H5F_ACC_RDONLY);
-    ifstream testIn(fileName.c_str());
-    bool fileExists = static_cast<bool>(testIn);
-    bool flagsIsNotTrunc = flags != H5F_ACC_TRUNC;
-
-    if (fileExists and H5File::isHdf5(fileName.c_str()) and flagsIsNotTrunc) {
-        try {
-            hdfFile.openFile(fileName.c_str(), flags, fileAccPropList);
-        }
-        catch (FileIException e) {
-            cout << "Error opening file " << fileName << endl;
-            exit(1);
-        }
-    }
-    else {
-        try {
-            //
-            // Open a new file with TRUNC permissions, always read/write.
-            //
-            FileCreatPropList filePropList;
-            filePropList.setUserblock(512);
-            hdfFile = H5File(fileName.c_str(), H5F_ACC_TRUNC, filePropList);
-        }
-        catch (FileIException fileException) {
-            cout << "Error creating file " << fileName << endl;
-            exit(1);
-        }
-    }
-    if (rootGroup.Initialize(hdfFile, "/") != 1) {
-        cout << "Error initializing the root group for file " << fileName << endl;
-        exit(1);
-    }
-}
-
-void HDFFile::Close() {
-    hdfFile.close();
-}
diff --git a/libcpp/hdf/HDFFile.hpp b/libcpp/hdf/HDFFile.hpp
deleted file mode 100644
index ae67c3e..0000000
--- a/libcpp/hdf/HDFFile.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef _BLASR_HDF_FILE_HPP_
-#define _BLASR_HDF_FILE_HPP_
-
-#include <iostream>
-#include <string>
-#include <vector>
-#include "H5Cpp.h"
-#include "HDFConfig.hpp"
-#include "HDFGroup.hpp"
-
-class HDFFile {
-public:
-    // Make this public for easy access.
-    H5::H5File hdfFile;	
-    HDFGroup rootGroup;
-
-    HDFFile(); 
-
-    //
-    //  Open a file.  By default, if the file already exists, open it in
-    //  read/write mode.  The only other flag that is allowed is
-    //  H5F_ACC_TRUNC, which will truncate the file to zero size.
-    //
-    void Open(string fileName, unsigned int flags=H5F_ACC_RDWR, 
-        const H5::FileAccPropList& fileAccPropList=H5::FileAccPropList::DEFAULT); 
-
-    void Close(); 
-
-};
-
-
-#endif
diff --git a/libcpp/hdf/HDFFileLogGroup.hpp b/libcpp/hdf/HDFFileLogGroup.hpp
deleted file mode 100644
index caaca07..0000000
--- a/libcpp/hdf/HDFFileLogGroup.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef HDF_FILE_LOG_GROUP_H_
-#define HDF_FILE_LOG_GROUP_H_
-#include "HDFGroup.hpp"
-#include "HDFArray.hpp"
-
-class HDFFileLogGroup {
- public:
-  HDFGroup group;
-  HDFStringArray commandLineArray;
-  HDFStringArray versionArray;
-  HDFStringArray timestampArray;
-  HDFArray<unsigned int> idArray;
-  HDFStringArray logArray;
-  HDFStringArray programArray;
-
-  int Initialize(HDFGroup &parentGroup) {
-    if (group.Initialize(parentGroup.group, "FileLog") == 0) { return 0; }
-    int ret = 1;
-    ret *= commandLineArray.Initialize(group, "CommandLine");
-    ret *= versionArray.Initialize(group, "Version");
-    ret *= timestampArray.Initialize(group, "Timestamp");
-    ret *= idArray.Initialize(group, "ID");
-    ret *= logArray.Initialize(group, "Log");
-    ret *= programArray.Initialize(group, "Program");
-    return ret;
-  }
-
-  
-  void AddEntry(string command, string log, string program, string timestamp, string version) {
-    commandLineArray.Write(&command, 1);
-    versionArray.Write(&version, 1);
-    timestampArray.Write(&timestamp, 1);
-    programArray.Write(&program, 1);
-    logArray.Write(&log, 1);
-    
-    unsigned int id = idArray.size();
-    id = id + 1;
-    idArray.Write(&id, 1);
-    
-  }
-
-  bool Create(HDFGroup &parent) {
-    parent.AddGroup("FileLog");
-    if (group.Initialize(parent.group, "FileLog") == 0) { return 0; }
-    commandLineArray.Create(group, "CommandLine");
-    versionArray.Create(group, "Version");
-    timestampArray.Create(group, "Timestamp");
-    programArray.Create(group, "Program");
-    logArray.Create(group, "Log");
-    idArray.Create(group, "ID");
-  }    
-
-};
-
-#endif
diff --git a/libcpp/hdf/HDFGroup.cpp b/libcpp/hdf/HDFGroup.cpp
deleted file mode 100644
index 396943b..0000000
--- a/libcpp/hdf/HDFGroup.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-#include "HDFGroup.hpp"
-
-using namespace H5;
-using namespace std;
-
-HDFGroup::HDFGroup() : HDFAttributable() {
-    groupIsInitialized = false;
-}
-
-void HDFGroup::AddGroup(string groupName) {
-    group.createGroup(groupName);
-    return;
-}
-
-H5Location* HDFGroup::GetObject() {
-    return &group;
-}
-
-int HDFGroup::Initialize(CommonFG &fg, string groupName){ 
-    try {
-        group   = fg.openGroup(groupName.c_str());
-        groupIsInitialized = true;
-        return 1;
-    }
-    catch(FileIException &e) {
-        return 0;
-    }
-    catch(GroupIException &e) {
-        return 0;
-    }
-    catch(Exception &e ) {
-        return 0;
-    }
-    return 1;
-}
-
-int HDFGroup::Initialize(HDFGroup & parentGroup, string groupName) {
-    return Initialize(parentGroup.group, groupName);
-}
-
-bool HDFGroup::ContainsObject(string queryObjectName) {
-    hsize_t objIdx;
-    hsize_t numGroupObjs = group.getNumObjs();
-    for (objIdx = 0; objIdx < numGroupObjs; objIdx++) {
-        H5std_string groupObjectName;
-        groupObjectName = group.getObjnameByIdx(objIdx);
-        if (groupObjectName == queryObjectName) {
-            return true;
-        }
-    }
-    return false;
-}
-
-void HDFGroup::Close() {
-    if (groupIsInitialized) {
-        group.close();
-    }
-}
diff --git a/libcpp/hdf/HDFGroup.hpp b/libcpp/hdf/HDFGroup.hpp
deleted file mode 100644
index e9f806c..0000000
--- a/libcpp/hdf/HDFGroup.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef _BLASR_HDF_GROUP_HPP_
-#define _BLASR_HDF_GROUP_HPP_
-
-#include <vector>
-#include <iostream>
-#include <string>
-#include <stdlib.h>
-#include "H5Cpp.h"
-#include "HDFAttributable.hpp"
-#include "StringUtils.hpp"
-
-
-class HDFGroup : public HDFAttributable {
-public:
-    std::vector<std::string> objectNames;
-    std::string objectName;
-    H5::Group group;
-    bool  groupIsInitialized;
-
-    HDFGroup();
-
-    void AddGroup(std::string groupName); 
-
-    H5::H5Location* GetObject(); 
-
-    int Initialize(H5::CommonFG& fg, std::string groupName);
-
-    int Initialize(HDFGroup& parentGroup, std::string groupName); 
-
-    bool ContainsObject(std::string queryObjectName); 
-
-    void Close(); 
-};
-
-
-#endif
diff --git a/libcpp/hdf/HDFMovieInfoGroup.hpp b/libcpp/hdf/HDFMovieInfoGroup.hpp
deleted file mode 100644
index 988bc95..0000000
--- a/libcpp/hdf/HDFMovieInfoGroup.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-#ifndef HDF_MOVIE_INFO_GROUP_H_
-#define HDF_MOVIE_INFO_GROUP_H_
-
-#include "HDFGroup.hpp"
-#include "HDFArray.hpp"
-#include "saf/MovieInfo.hpp"
-
-class HDFMovieInfoGroup {
- public:
-	
-	HDFGroup movieInfoGroup;
-	HDFArray<UInt> idArray;
-	HDFStringArray  nameArray;
-	
-	HDFStringArray whenStartedArray;
-	HDFArray<float> frameRateArray;
-
-	~HDFMovieInfoGroup() {
-		movieInfoGroup.Close();
-	}
-
-  bool Create(HDFGroup &parentGroup) {
-    parentGroup.AddGroup("MovieInfo");
-		if (movieInfoGroup.Initialize(parentGroup.group, "MovieInfo") == 0) { return 0; }
-    idArray.Create(movieInfoGroup, "ID");
-    nameArray.Create(movieInfoGroup, "Name");
-    return true;
-  }
-
-	int Initialize(HDFGroup &parentGroup) {
-		if (movieInfoGroup.Initialize(parentGroup.group, "MovieInfo") == 0) { return 0; }
-		if (idArray.Initialize(movieInfoGroup, "ID") == 0) { return 0; }
-		if (nameArray.Initialize(movieInfoGroup, "Name") == 0) { return 0; }
-		return 1;
-	}
-	
-	void Read(MovieInfo &movieInfo) {
-		int nId = idArray.arrayLength;
-		movieInfo.id.resize(nId);
-		idArray.Read(0, nId, &movieInfo.id[0]);
-		
-		int nName = nameArray.arrayLength;
-		movieInfo.name.resize(nName);
-		int i;
-		for (i = 0; i < nName; i++ ){
-			nameArray.Read(i,i+1,&movieInfo.name[i]);
-		}
-	}
-
-  int AddMovie(string &movieName) {
-    nameArray.Write(&movieName, 1);
-    unsigned int id = nameArray.size();
-    idArray.Write(&id, 1);
-    return id;
-  }
-
-  void StoreFrameRate(int movieIndex, float frameRate) {
-    if (movieIndex < 0) {
-      cout << "ERROR. Invalid movie index " << movieIndex << endl;
-      exit(1);
-    }
-
-    if (!frameRateArray.IsInitialized()) {
-      if (!movieInfoGroup.ContainsObject("FrameRate")) {
-        frameRateArray.Create(movieInfoGroup, "FrameRate");
-      }
-      else {
-        frameRateArray.Initialize(movieInfoGroup, "FrameRate");
-      }
-    }
-    frameRateArray.WriteToPos(&frameRate, 1, movieIndex);
-  }
-  
-};
-			
-			
-			
-				
-#endif
diff --git a/libcpp/hdf/HDFNewBasReader.cpp b/libcpp/hdf/HDFNewBasReader.cpp
deleted file mode 100644
index 14ddc3a..0000000
--- a/libcpp/hdf/HDFNewBasReader.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-#include "HDFNewBasReader.hpp"
-
-int 
-HDFNewBasReader::Initialize (const std::string & hdfBasFileName) {
-    //
-    // Initialize access to the HDF file.  For reading bas files, this
-    // involves:
-    //   - Opening the h5 file, and initializing the rootGroup. 
-    //
-    try {
-        H5::Exception::dontPrint();
-        hdfBasFile.openFile(hdfBasFileName.c_str(), 
-                            H5F_ACC_RDONLY);
-    } catch (H5::Exception &e) {
-        std::cout << "ERROR, could not open bas.h5 file" << hdfBasFileName 
-                  << ", exiting." << std::endl;
-        return 0;
-    }
-
-    if (rootGroup.Initialize(hdfBasFile, "/") == 0) {
-        return 0;
-    }
-    // If /MultiPart/Parts exists, initialize and return 1; 
-    // otherwise, return 0
-    if (rootGroup.ContainsObject("MultiPart") and 
-        multiPartGroup.Initialize(rootGroup.group, "MultiPart") != 0) {
-        if (multiPartGroup.ContainsObject("Parts") and 
-            partsArray.InitializeForReading(multiPartGroup, "Parts") != 0) {
-            basFileName = hdfBasFileName;
-            return 1; // Success
-        }
-    }
-    return 0; // Fail 
-}
-
-std::vector<std::string> 
-HDFNewBasReader::GetBaxMovieNames() {
-    // Read bax.h5 names from /MultiPart/Parts, not including path prefix.
-    // e.g., m...._s1_p0.1.bax.h5
-    std::vector<std::string> baxNames;
-    baxNames.resize(BAXPERBAS); // 3 bax files per bas file.
-    for (int i = 0;  i < BAXPERBAS;  i++) {
-        partsArray.Read(i, i+1, &baxNames[i]);
-    }
-    return baxNames;
-}
-
-std::vector<std::string> 
-HDFNewBasReader::GetBaxFileNames() {
-    // Get full paths to bax.h5 files,
-    // e.g., /mnt/data3/vol53/2450598/0001/Analysis_Results/m..._s1_p0.1.bax.h5
-    // Assumption: bax.h5 files are in the same directory as bas.h5.
-    std::string prefix = "";
-    size_t slashPos = basFileName.rfind("/");
-    if (slashPos != std::string::npos) {
-        prefix = basFileName.substr(0, slashPos + 1);
-    }
-    std::vector<std::string> baxNames = GetBaxMovieNames();
-    for (int i = 0; i < int(baxNames.size()); i++) {
-        baxNames[i] = prefix + baxNames[i];
-    }
-    return baxNames;
-}
-
-void
-HDFNewBasReader::Close() {
-    partsArray.Close();
-    multiPartGroup.Close();
-    rootGroup.Close();
-    hdfBasFile.close();
-    basFileName = "";
-}
diff --git a/libcpp/hdf/HDFNewBasReader.hpp b/libcpp/hdf/HDFNewBasReader.hpp
deleted file mode 100644
index 4992cff..0000000
--- a/libcpp/hdf/HDFNewBasReader.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef _BLASR_HDF_NEW_BAS_READER_HPP_
-#define _BLASR_HDF_NEW_BAS_READER_HPP_
-
-#include <stdlib.h>
-#include <sstream>
-#include <vector>
-
-#include "HDFArray.hpp"
-#include "HDFGroup.hpp"
-
-const int BAXPERBAS = 3; // Number of bax files per base file.
-
-class HDFNewBasReader {
-// The new bas.h5 file contains:
-// /MultiPart group, 
-// /MultiPart/HoleLookup Dataset (which is ignored), and
-// /MultiPart/Parts Dataset.
-public:
-    H5::H5File hdfBasFile;
-	HDFGroup rootGroup;
-	HDFGroup multiPartGroup; 
-	//HDFArray<std::string> partsArray;
-    HDFStringArray partsArray;
-    std::string basFileName;
-
-	HDFNewBasReader() {
-        basFileName = "";
-    }
-
-    int Initialize (const std::string & hdfBasFileName);
-   
-    std::vector<std::string> GetBaxMovieNames();
-
-    std::vector<std::string> GetBaxFileNames();
-
-    void Close();
-};
-
-#endif
diff --git a/libcpp/hdf/HDFPlsReader.hpp b/libcpp/hdf/HDFPlsReader.hpp
deleted file mode 100644
index 750be08..0000000
--- a/libcpp/hdf/HDFPlsReader.hpp
+++ /dev/null
@@ -1,542 +0,0 @@
-#ifndef _BLASR_HDF_PLS_READER_HPP_
-#define _BLASR_HDF_PLS_READER_HPP_
-
-#include "HDFArray.hpp"
-#include "HDF2DArray.hpp"
-#include "HDFAtom.hpp"
-#include "HDFGroup.hpp"
-#include "HDFBasReader.hpp"
-#include "HDFPulseDataFile.hpp"
-#include "DatasetCollection.hpp"
-#include "HDFZMWReader.hpp"
-#include "reads/PulseFile.hpp"
-#include "HDFScanDataReader.hpp"
-#include "FASTQSequence.hpp"
-#include "VectorUtils.hpp"
-#include <sstream>
-#include <vector>
-#include <set>
-using namespace H5;
-using namespace std;
-/*
- * Interface for reading pulse information from a .pls.h5 file.
- * To read both pls and bas information, use the HDFBasReader.
- */
-
-class HDFPlsReader : public DatasetCollection, public HDFPulseDataFile  {
-	DNALength curPos;
-	int curRead;
-
-	HDFGroup pulseCallsGroup;
-
-  int meanSignalNDims, midSignalNDims, maxSignalNDims;
-  
-	HDF2DArray<uint16_t>   meanSignalMatrix;
-	HDF2DArray<uint16_t>   midSignalMatrix;
-	HDF2DArray<uint16_t>   maxSignalMatrix;
-	HDFArray<uint16_t>     meanSignalArray;
-	HDFArray<uint16_t>     midSignalArray;
-	HDFArray<uint16_t>     maxSignalArray;
-	HDFArray<uint16_t>     plsWidthInFramesArray;
-	HDFArray<unsigned int> startFrameArray;
-	HDFArray<float>        classifierQVArray;
-
-
- public:
- HDFPlsReader() : HDFPulseDataFile(), DatasetCollection() {
-		fieldNames.push_back("MeanSignal");
-		fieldNames.push_back("MidSignal");
-		fieldNames.push_back("MaxSignal");
-		fieldNames.push_back("StartFrame");
-		fieldNames.push_back("ClassifierQV");
-		fieldNames.push_back("WidthInFrames");
-		fieldNames.push_back("FrameRate");
-		fieldNames.push_back("WhenStarted");
-		fieldNames.push_back("NumEvent"); // this is read from the zmw, but control it here.
-		InitializeAllFields(false);
-	}
-
-	int InitializeCommon() {
-		return 1;
-	}
-
-	int Initialize(string hdfPlsFileName, const H5::FileAccPropList & fileAccPropList=H5::FileAccPropList::DEFAULT) {
-		/*
-		 * Initialize access to the HDF file.
-		 */
-
-		if (HDFPulseDataFile::Initialize(hdfPlsFileName, fileAccPropList) == 0) {
-			return 0;
-		}
-
-		if (pulseDataGroup.ContainsObject("PulseCalls") == 0 or
-				pulseCallsGroup.Initialize(pulseDataGroup.group, "PulseCalls") == 0) {
-			return 0;
-		}
-		zmwReader.Initialize(&pulseCallsGroup);
-
-
-		//
-		// Initialize arrays for reading.  This has been preconfigured to 
-		//
-		if (!InitializePulseGroup()) return 0;
-
-    if ( (meanSignalNDims = GetDatasetNDim(pulseCallsGroup.group, "MeanSignal")) == 1) {
-      if (!meanSignalArray.Initialize(pulseCallsGroup, "MeanSignal"))    return 0;
-    }
-    else if (meanSignalNDims == 2) {
-      if (!meanSignalMatrix.Initialize(pulseCallsGroup, "MeanSignal"))    return 0;
-    }
-    
-    if ((midSignalNDims = GetDatasetNDim(pulseCallsGroup.group, "MidSignal")) == 1) {
-      if (!midSignalArray.Initialize(pulseCallsGroup, "MidSignal"))     return 0;
-    }
-    else if (midSignalNDims == 2) {
-      if (!midSignalMatrix.Initialize(pulseCallsGroup, "MidSignal"))     return 0;
-    }
-
-    if ((maxSignalNDims = GetDatasetNDim(pulseCallsGroup.group, "MaxSignal")) == 1) {
-      if (!maxSignalArray.Initialize(pulseCallsGroup, "MaxSignal")) return 0;
-    }
-    else if (maxSignalNDims == 2) {
-      if (!maxSignalMatrix.Initialize(pulseCallsGroup, "MaxSignal"))     return 0;
-    }
-    
-    //
-    // Astro pulse files may not have the ClassifierQV dataset, check
-    // to see if it exists, and then try and initialize it.
-    //
-    if (pulseCallsGroup.ContainsObject("ClassifierQV")) {
-      if (!classifierQVArray.Initialize(pulseCallsGroup, "ClassifierQV"))  return 0;
-    } else {
-        includedFields["ClassifierQV"] = false;
-    }
-
-    //
-    // These are all required fields.
-    //
-		if (!startFrameArray.Initialize(pulseCallsGroup, "StartFrame"))    return 0;
-		if (!plsWidthInFramesArray.Initialize(pulseCallsGroup, "WidthInFrames")) return 0;
-
-        curRead = 0;
-        nReads  = zmwReader.numEventArray.arrayLength;
-		return 1;
-	}
-
-    UInt GetStartFrameSize() {
-        return startFrameArray.arrayLength;
-    }
-
-	void GetAllMeanSignal(vector<uint16_t> &meanSignal) {
-    if (meanSignalNDims == 1) {
-      CheckMemoryAllocation(meanSignalArray.arrayLength, maxAllocNElements, "MeanSignal");
-      meanSignal.resize(meanSignalArray.arrayLength);
-      meanSignalArray.Read(0, meanSignalArray.arrayLength, &meanSignal[0]);
-    }   
-    else if (meanSignalNDims == 2) {
-      CheckMemoryAllocation(meanSignalMatrix.GetNCols() * meanSignalMatrix.GetNRows(), maxAllocNElements, "MeanSignal");
-      meanSignal.resize(meanSignalMatrix.GetNCols() * meanSignalMatrix.GetNRows());
-      meanSignalMatrix.Read(0, meanSignalMatrix.GetNRows(), &meanSignal[0]);
-    } 
-	}
-
-	void GetAllMidSignal(vector<uint16_t> &midSignal) {
-    if (midSignalNDims == 1) {
-      CheckMemoryAllocation(midSignalArray.arrayLength, maxAllocNElements, "MidSignal");
-      midSignal.resize(midSignalArray.arrayLength);
-      midSignalArray.Read(0, midSignalArray.arrayLength, &midSignal[0]);
-    }
-    else if (midSignalNDims == 2) {
-      CheckMemoryAllocation(midSignalMatrix.GetNCols() * midSignalMatrix.GetNRows(), maxAllocNElements, "MidSignal");
-      midSignal.resize(midSignalMatrix.GetNCols() * midSignalMatrix.GetNRows());
-      midSignalMatrix.Read(0, midSignalMatrix.GetNRows(), &midSignal[0]);
-    }
-	}
-
-	void GetAllMaxSignal(vector<uint16_t> &maxSignal) {
-    if (maxSignalNDims == 1) {
-      CheckMemoryAllocation(maxSignalArray.arrayLength, maxAllocNElements, "MaxSignal");
-      maxSignal.resize(maxSignalArray.arrayLength);
-      maxSignalArray.Read(0, maxSignalArray.arrayLength, &maxSignal[0]);
-    }
-    else if (maxSignalNDims == 2) {
-      CheckMemoryAllocation(maxSignalMatrix.GetNCols() * maxSignalMatrix.GetNRows(), maxAllocNElements, "MaxSignal");
-      maxSignal.resize(maxSignalMatrix.GetNCols() * maxSignalMatrix.GetNRows());
-      maxSignalMatrix.Read(0, maxSignalMatrix.GetNRows(), &maxSignal[0]);
-    }
-	}
-
-	void GetAllStartFrames(vector<UInt> &startFrame) {
-		CheckMemoryAllocation(startFrameArray.arrayLength, maxAllocNElements, "StartFrame");
-		startFrame.resize(startFrameArray.arrayLength);
-		startFrameArray.Read(0,startFrameArray.arrayLength, &startFrame[0]);
-	}
-
-	void GetAllPlsWidthInFrames(vector<uint16_t> &widthInFrames) {
-		CheckMemoryAllocation(plsWidthInFramesArray.arrayLength, maxAllocNElements, "WidthInFrames (pulse)");
-		widthInFrames.resize(plsWidthInFramesArray.arrayLength);
-		plsWidthInFramesArray.Read(0,plsWidthInFramesArray.arrayLength, &widthInFrames[0]);
-	}
-	
-	void GetAllClassifierQV(vector<float> &classifierQV) {
-		CheckMemoryAllocation(classifierQVArray.arrayLength, maxAllocNElements, "ClassifierQV (pulse)");
-		classifierQV.resize(classifierQVArray.arrayLength);
-		classifierQVArray.Read(0, classifierQVArray.arrayLength, &classifierQV[0]);
-	}
-
-	void GetAllNumEvent(vector<int> &numEvent) {
-		CheckMemoryAllocation(zmwReader.numEventArray.arrayLength, maxAllocNElements, "NumEvent (pulse)");
-		numEvent.resize(zmwReader.numEventArray.arrayLength);
-		zmwReader.numEventArray.Read(0, zmwReader.numEventArray.arrayLength, &numEvent[0]);
-	}
-
-    // Always call ReadPulseFileInit before calling ReadPulseFile()
-    // or ReadField()
-    void ReadPulseFileInit(PulseFile & pulseFile) {
-        if (scanDataReader.fileHasScanData) {
-            scanDataReader.Read(pulseFile.scanData);
-        }
-        // Get hole numbers in PulseCalls/ZMW/HoleNumber. Note that
-        // PulseCalls/ZMW/HoleNumber and BaseCalls/ZMW/HoleNumber are
-        // not always identical.
-        GetAllHoleNumbers(pulseFile.holeNumbers);
-
-        // By default, always get the num event.  This is used
-        // later to copy reads from the pls file.
-        GetAllNumEvent(pulseFile.numEvent);
-        assert(pulseFile.holeNumbers.size() == pulseFile.numEvent.size());
-        if (pulseFile.numEvent.size() > 0) {
-            pulseFile.pulseStartPositions.resize(pulseFile.numEvent.size());
-            pulseFile.pulseStartPositions[0] = 0;
-            for (int i = 1; i < pulseFile.numEvent.size(); i++) {
-                pulseFile.pulseStartPositions[i] = pulseFile.pulseStartPositions[i-1] +
-                                                   pulseFile.numEvent[i-1];
-            }
-        }
-    }
-	
-    void ReadPulseFile(PulseFile &pulseFile) {
-        ReadPulseFileInit(pulseFile);
-
-		if (includedFields["StartFrame"]) {
-			GetAllStartFrames(pulseFile.startFrame);
-		}
-		if (includedFields["WidthInFrames"]) {
-			GetAllPlsWidthInFrames(pulseFile.plsWidthInFrames);
-		}
-		if (includedFields["MeanSignal"]) {
-			GetAllMeanSignal(pulseFile.meanSignal);
-      pulseFile.meanSignalNDims = meanSignalNDims;
-		}
-		if (includedFields["MidSignal"]) {
-			GetAllMidSignal(pulseFile.midSignal);
-      pulseFile.midSignalNDims = midSignalNDims;
-		}
-		if (includedFields["MaxSignal"]) {
-			GetAllMaxSignal(pulseFile.maxSignal);
-      pulseFile.maxSignalNDims = maxSignalNDims;
-		}
-
-		if (includedFields["ClassifierQV"]) {
-			GetAllClassifierQV(pulseFile.classifierQV);
-		}
-	}
-
-    //
-    // Return size of the entire field in KB.
-    //
-    UInt GetFieldSize(const string & field) {
-        if (not includedFields[field]) {
-            cout << "ERROR, field " << field << " is not included in the pulse file. " << endl;
-            exit(1); 
-        }
-        if (field == "StartFrame") {
-            return startFrameArray.arrayLength / 1024 * sizeof(unsigned int);
-        } else if (field == "WidthInFrames") {
-            return plsWidthInFramesArray.arrayLength / 1024 * sizeof (uint16_t);
-        } else if (field == "MeanSignal") {
-            return meanSignalArray.arrayLength / 1024 * sizeof(uint16_t);
-        } else if (field == "MidSignal") {
-            return midSignalArray.arrayLength / 1024 * sizeof(uint16_t);
-        } else if (field == "MaxSignal") {
-            return maxSignalArray.arrayLength / 1024 * sizeof(uint16_t);
-        } else if (field == "NumEvent") {
-            return  zmwReader.numEventArray.arrayLength / 1024 * sizeof (int);
-        } else if (field == "ClassifierQV") {
-            return classifierQVArray.arrayLength /1024 * sizeof(float);
-        } else {
-            cout << "ERROR, field [" << field << "] is not supported. " << endl ;
-            exit(1);
-        }
-    }
-
-    //
-    // Read the entire field to memory
-    // 
-    void ReadField(PulseFile & pulseFile, const string & field) {
-        if (not includedFields[field]) {
-            cout << "ERROR, field " << field << " is not included in the pulse file. " << endl;
-            exit(1); 
-        }
-        if (field == "StartFrame") {
-            GetAllStartFrames(pulseFile.startFrame);
-        } else if (field == "WidthInFrames") {
-			GetAllPlsWidthInFrames(pulseFile.plsWidthInFrames);
-        } else if (field == "MeanSignal") {
-			GetAllMeanSignal(pulseFile.meanSignal);
-            pulseFile.meanSignalNDims = meanSignalNDims;
-        } else if (field == "MidSignal") {
-            GetAllMidSignal(pulseFile.midSignal);
-            pulseFile.midSignalNDims = midSignalNDims;
-        } else if (field == "MaxSignal") {
-            GetAllMaxSignal(pulseFile.maxSignal);
-            pulseFile.maxSignalNDims = maxSignalNDims;
-        } else if (field == "NumEvent") {
-            GetAllNumEvent(pulseFile.numEvent);
-        } else if (field == "ClassifierQV") {
-            // GetAllClassifierQV(pulseFile.classifierQV) is equivalent to 
-            // classifierQVArray.ReadDataset(pulseFile.classifierQV) with 
-            // memory check 
-			GetAllClassifierQV(pulseFile.classifierQV);
-        } else {
-            cout << "ERROR, field [" << field << "] is not supported. " << endl ;
-            exit(1);
-        }
-    } 
-    
-    // Copy a field for a hole
-    void CopyFieldAt(PulseFile & pulseFile, const string & field, 
-            int holeIndex, int * basToPlsIndex, 
-            void * dest, int destLength, const string & destSequence="") {
-
-        Nucleotide * destSeqCopy = NULL;
-        if (destSequence != "") {
-            destSeqCopy = new Nucleotide[destSequence.size()];
-            for(int i = 0 ; i < destSequence.size(); i++) {
-                destSeqCopy[i] = (Nucleotide)destSequence[i];
-            }
-        }
-
-        if (not includedFields[field]) {
-            cout << "ERROR, field " << field << " is not included in the pulse file. " << endl;
-            exit(1);
-        }
-        UInt pulseStartPos= pulseFile.pulseStartPositions[holeIndex];
-
-        if (field == "StartFrame") {
-            assert(pulseFile.startFrame.size() > 0 and 
-                   pulseFile.startFrame.size() > pulseStartPos);
-            StoreField(pulseFile.startFrame, basToPlsIndex, ((UInt*)dest), destLength);
-        } else if (field == "WidthInFrames") {
-            assert(pulseFile.plsWidthInFrames.size() > 0 and 
-                   pulseFile.plsWidthInFrames.size() > pulseStartPos);
-            StoreField(pulseFile.plsWidthInFrames, basToPlsIndex, (uint16_t*)dest, destLength);
-
-        } else if (field == "MeanSignal") {
-            assert(pulseFile.meanSignal.size() > 0 and 
-                   pulseFile.meanSignal.size() >  pulseStartPos);
-            assert(destLength ==  destSequence.size());
-
-            pulseFile.CopySignal((HalfWord*)(&pulseFile.meanSignal[0]), 
-                    meanSignalNDims, 
-                    0, //basToPlsIndex maps bases to abs pulse positions
-                    basToPlsIndex,
-                    destSeqCopy, destLength,
-                    (HalfWord*)dest);
-
-        } else if (field == "MidSignal") {
-            assert(pulseFile.midSignal.size() > 0 and 
-                   pulseFile.midSignal.size() > pulseStartPos);
-            assert(destLength ==  destSequence.size());
-
-            pulseFile.CopySignal((HalfWord*)(&pulseFile.midSignal[0]), 
-                    midSignalNDims, 
-                    0, //basToPlsIndex maps bases to abs pulse positions
-                    basToPlsIndex,
-                    destSeqCopy, destLength,
-                    (HalfWord*)dest);
-
-        } else if (field == "MaxSignal") {
-            assert(pulseFile.maxSignal.size() > 0 and 
-                   pulseFile.maxSignal.size() > pulseStartPos);
-            assert(destLength ==  destSequence.size());
-            pulseFile.CopySignal((HalfWord*)(&pulseFile.maxSignal[0]), 
-                    maxSignalNDims, 
-                    0, //basToPlsIndex maps bases to abs pulse positions
-                    basToPlsIndex,
-                    destSeqCopy, destLength,
-                    (HalfWord*)dest);
-
-        } else if (field == "ClassifierQV") {
-            assert(pulseFile.classifierQV.size() > 0 and 
-                   pulseFile.classifierQV.size() > pulseStartPos);
-            StoreField(pulseFile.classifierQV, basToPlsIndex, (float*)dest, destLength);
-
-        } else if (field == "NumEvent") {
-            cout << "ERROR, control of copying numEvent should not go here." << endl;
-            exit(1);
-        } else {
-            cout << "ERROR, field [" << field << "] is not supported. " << endl ;
-            exit(1);
-        }
-
-        if (destSeqCopy != NULL) {
-            delete [] destSeqCopy;
-        }
-    }
-
-    // Clear memory allocated for the specified field
-    void ClearField(PulseFile & pulseFile, const string & field) {
-        if (not includedFields[field]) {
-            cout << "ERROR, field " << field << " is not included in the pulse file. " << endl;
-            exit(1); 
-        }
-        if (field == "StartFrame") {
-            ClearMemory(pulseFile.startFrame);
-        } else if (field == "WidthInFrames") {
-            ClearMemory(pulseFile.plsWidthInFrames);
-        } else if (field == "MeanSignal") {
-            ClearMemory(pulseFile.meanSignal);
-            pulseFile.meanSignalNDims = -1;
-        } else if (field == "MidSignal") {
-            ClearMemory(pulseFile.midSignal);
-            pulseFile.midSignalNDims = -1;
-        } else if (field == "MaxSignal") {
-            ClearMemory(pulseFile.maxSignal);
-            pulseFile.maxSignalNDims = -1; 
-        } else if (field == "NumEvent") {
-            ClearMemory(pulseFile.numEvent);
-        } else if (field == "ClassifierQV") {
-			ClearMemory(pulseFile.classifierQV);
-        } else {
-            cout << "ERROR, field [" << field << "] is not supported. " << endl ;
-            exit(1);
-        }
-    }
-
-
-  int GetReadAt(int holeNumber, int* &basToPlsIndex, SMRTSequence &read) {
-    if (preparedForRandomAccess == false) {
-      PrepareForRandomAccess();
-    }
-    curRead = holeNumber;
-    curPos  = eventOffset[holeNumber];
-    zmwReader.curZMW = holeNumber;
-    return GetNextFlattenedToBase(read, basToPlsIndex);
-  }
-
-  template<typename T_FieldType>
-  void StoreField(vector<T_FieldType> &source, int *basToPlsIndex, T_FieldType *dest, int destLength) {
-    int i;
-    for (i = 0 ; i < destLength; i++) {
-      dest[i] = source[basToPlsIndex[i]];
-    }
-  }
-  
-  void ReadSignal(string fieldName,
-                  HDFArray<HalfWord> &signalArray, 	HDF2DArray<HalfWord> &signalMatrix, 
-                  int plsSeqLength, int nDims, 
-                  Nucleotide *basSeq, int basSeqLength,
-                  int *basToPlsIndex, HalfWord* dest) {
-
-		if (includedFields[fieldName]) {
-      vector<HalfWord> signal;
-      if (nDims == 2) {
-        signal.resize(plsSeqLength * 4);
-        signalMatrix.Read(curPos, curPos + plsSeqLength, &signal[0]); // read off one row.
-        int i;
-        for (i = 0; i < basSeqLength; i++) {
-          dest[i] = signal[basToPlsIndex[i]*4 + scanDataReader.baseMap[basSeq[i]]];
-        }
-      }
-      else {
-        signal.resize(plsSeqLength);
-        signalArray.Read(curPos, curPos + plsSeqLength, &signal[0]);
-        int i;
-        for (i = 0; i < basSeqLength; i++) {
-          dest[i] = signal[basToPlsIndex[i]];
-        }
-      }
-    }
-  }
-
-	int GetNextFlattenedToBase(SMRTSequence &read, int* basToPlsIndex) {
-
-    /*
-     * Get the pulse values, but only store values that correspond to called bases. 
-     * This requires that the read has the read.seq field assigned.
-     */
-    assert(read.seq != NULL);
-    int seqLength;
-    
-    try{
-    //
-    // Find out how many pulses are called for this read.
-		zmwReader.numEventArray.Read(curRead, curRead+1, &seqLength);
-    
-    if (includedFields["StartFrame"]) {
-      vector<unsigned int> pulseStartFrame;
-      pulseStartFrame.resize(seqLength);
-      startFrameArray.Read(curPos, curPos + seqLength, &pulseStartFrame[0]);
-      if (read.startFrame) {delete [] read.startFrame; read.startFrame = NULL;}
-      read.startFrame = new unsigned int[read.length];
-      StoreField(pulseStartFrame, basToPlsIndex, read.startFrame, read.length);
-    }
-
-    if (includedFields["WidthInFrames"]) {
-      vector<HalfWord> pulseWidthInFrames;
-      pulseWidthInFrames.resize(seqLength);
-      plsWidthInFramesArray.Read(curPos, curPos + seqLength, &pulseWidthInFrames[0]);
-      if (read.widthInFrames) {delete [] read.widthInFrames; read.widthInFrames = NULL;}
-      read.widthInFrames = new HalfWord[read.length];
-      StoreField(pulseWidthInFrames, basToPlsIndex, read.widthInFrames, read.length);
-    }
-    
-		if (includedFields["MidSignal"]) {
-            if (read.midSignal) {delete [] read.midSignal; read.midSignal = NULL;}
-      read.midSignal = new HalfWord[read.length];
-      ReadSignal("MidSignal", midSignalArray, midSignalMatrix, seqLength, midSignalNDims, 
-                 read.seq, read.length, basToPlsIndex, read.midSignal);
-    }
-    
-		if (includedFields["MaxSignal"]) {
-        if (read.maxSignal) {delete [] read.maxSignal; read.maxSignal = NULL;}
-      read.maxSignal = new HalfWord[read.length];
-      ReadSignal("MaxSignal", maxSignalArray, maxSignalMatrix, seqLength, maxSignalNDims, 
-                 read.seq, read.length, basToPlsIndex, read.maxSignal);
-		}
-
-		if (includedFields["MeanSignal"]) {
-            if (read.meanSignal) {delete [] read.meanSignal; read.meanSignal = NULL;}
-      read.meanSignal = new HalfWord[read.length];
-      ReadSignal("MeanSignal", meanSignalArray, meanSignalMatrix, seqLength, meanSignalNDims, 
-                 read.seq, read.length, basToPlsIndex, read.meanSignal);
-		}
-
-		if (includedFields["ClassifierQV"]) {
-      vector<float> pulseClassifierQV;
-      pulseClassifierQV.resize(seqLength);
-      classifierQVArray.Read(curPos, curPos + seqLength, &pulseClassifierQV[0]);
-      if (read.classifierQV) {delete [] read.classifierQV; read.classifierQV = NULL;}
-      read.classifierQV = new float[read.length];
-      StoreField(pulseClassifierQV, basToPlsIndex, read.classifierQV, read.length);
-		}
-    
-    curRead++;
-    curPos += seqLength;
-    } catch (DataSetIException e) {
-        cout << "ERROR, could not read pulse metrics for SMRTSequence "
-             << read.GetName() << endl;
-        exit(1);
-    }
-    return 1;
-	}
-	
-
-	void Close() {
-		
-	}
-};
-
-
-#endif
diff --git a/libcpp/hdf/HDFPlsWriter.hpp b/libcpp/hdf/HDFPlsWriter.hpp
deleted file mode 100644
index 9efc92b..0000000
--- a/libcpp/hdf/HDFPlsWriter.hpp
+++ /dev/null
@@ -1,195 +0,0 @@
-#ifndef _BLASR_HDF_PLS_WRITER_HPP_
-#define _BLASR_HDF_PLS_WRITER_HPP_
-
-#include "data/hdf/HDFArray.h"
-#include "data/hdf/BufferedHDFArray.h"
-#include "data/hdf/HDF2DArray.h"
-#include "data/hdf/BufferedHDF2DArray.h"
-#include "data/hdf/HDFAtom.h"
-#include "data/hdf/HDFFile.h"
-#include "data/hdf/PlatformId.h"
-#include "utils/SMRTReadUtils.h"
-#include "FASTQSequence.h"
-#include <sstream>
-
-using namespace H5;
-using namespace std;
-
-class HDFPlsWriter {
-	HDFFile outFile;
-	string hdfFileName;
-	string movieName, runCode;
-	PlatformId platformId;
-	static const int bufferSize = 16;
-	
-	BufferedHDFArray<int> nElemArray;
-	BufferedHDFArray<int> zmwXCoordArray;
-	BufferedHDFArray<int> zmwYCoordArray;
-	BufferedHDFArray<char> baseArray;
-	BufferedHDFArray<unsigned char> qualArray;
-
-	/*
-	HDFArray<int> nElemArray;
-	HDFArray<int> zmwXCoordArray;
-	HDFArray<int> zmwYCoordArray;
-	HDFArray<char> baseArray;
-	HDFArray<unsigned char> qualArray;
-	*/
-	HDFAtom<string> movieNameAtom, runCodeAtom;
-
-	//
-	// Astro specific arrays.
-	//
-	BufferedHDF2DArray<uint16_t> holeXY2D;
-
-	//
-	// Springfield specific arrays.
-	//
-	BufferedHDFArray<unsigned int> holeNumberArray;
-	
-	//
-	// Define arrays for rich quality values.
-	// 
-
-	BufferedHDFArray<unsigned char> deletionQVArray;
-	BufferedHDFArray<unsigned char> deletionTagArray;
-	BufferedHDFArray<unsigned char> insertionQVArray;
-	BufferedHDFArray<unsigned char> substitutionTagArray;
-	BufferedHDFArray<unsigned char> substitutionQVArray;
-
-
-	BufferedHDF2DArray<unsigned char> preBaseDeletionQVArray;
-	HDFGroup rootGroup;
-	Group runInfoGroup;
-	Group baseCallGroup;
-	Group zmwGroup;
- public:
-	~HDFPlsWriter() { 
-		nElemArray.Flush();
-		zmwXCoordArray.Flush();
-		zmwYCoordArray.Flush();
-		baseArray.Flush();
-		qualArray.Flush();
-		deletionQVArray.Flush();
-		deletionTagArray.Flush();
-		insertionQVArray.Flush();
-		substitutionTagArray.Flush();
-		substitutionQVArray.Flush();
-		holeNumberArray.Flush();
-	}
-	
-	HDFPlsWriter() {
-		/*
-		 * Default to astro for now.  This may need to change to a NO_ID
-		 * platform, in which case it must be set with Initialize().
-		 */
-		platformId = Astro;
-	}
-	void AddMovieName(string movieName) {
-		movieNameAtom.Create(runInfoGroup, "MovieName",movieName);
-	}
-	/*
-	 * Initialization without a runCode is implicitly a springfield
-	 * platform.  You can change it if you really want.
-	 */
-	void Initialize(string _hdfFileName, string movieName, PlatformId _platformId = SpringfieldPlatform) {
-		Initialize(_hdfFileName, _platformId);
-		AddMovieName(movieName);
-	}
-	void Initialize(string _hdfFileName, string movieName, string runCode, PlatformId _platformId = Astro) {
-		Initialize(_hdfFileName, _platformId);
-		if (movieName != "" and runCode != "")
-			AddRunInfo(movieName, runCode);
-	}
-
-	void AddRunInfo(string movieName, string runCode) {
-		AddMovieName(movieName);
-		runCodeAtom.Create(runInfoGroup, "RunCode", runCode);
-	}
-
-	void Initialize(string _hdfFileName, PlatformId _platformId) {
-		hdfFileName = _hdfFileName;
-		platformId  = _platformId;
-		outFile.Create(hdfFileName);
-		rootGroup.Initialize(*outFile.hdfFile, "/");
-		rootGroup.AddGruop("PulseData");
-		rootGroup.AddGroup("PulseData/BaesCalls");
-		rootGroup.AddGroup("PulseData/BaseCalls/ZMW"); 
-		rootGroup.AddGroup("ScanData/RunInfo"); 
-		outFile.OpenGroup("ScanData/RunInfo", runInfoGroup);
-		outFile.OpenGroup("PulseData/BaseCalls", baseCallGroup);
-		outFile.OpenGroup("PulseData/BaseCalls/ZMW", zmwGroup);
-
-		nElemArray.Initialize(&zmwGroup, "NumEvent", bufferSize);
-		baseArray.Initialize(&baseCallGroup, "Basecall", bufferSize);
-		qualArray.Initialize(&baseCallGroup, "QualityValue", bufferSize);
-
-		deletionQVArray.Initialize(&baseCallGroup, "DeletionQV", bufferSize);
-		deletionTagArray.Initialize(&baseCallGroup, "DeletionTag", bufferSize);
-		insertionQVArray.Initialize(&baseCallGroup, "InsertionQV", bufferSize);
-		preBaseDeletionQVArray.Initialize(&baseCallGroup, "PreBaseDeletionQV", 4, bufferSize);
-		substitutionTagArray.Initialize(&baseCallGroup, "SubstitutionTag", bufferSize);
-		substitutionQVArray.Initialize(&baseCallGroup, "SubstitutionQV", bufferSize);
-
-		if (platformId == Astro) {
-			holeXY2D.Initialize(&zmwGroup, "HoleXY", 2, bufferSize);
-		}
-		else if (platformId == SpringfieldPlatform) {
-			holeNumberArray.Initialize(&zmwGroup, "HoleNumber", bufferSize);
-		}
-	}
-
-	int Write(FASTQSequence &seq) {
-		int lenArray[1] = {seq.length};
-		nElemArray.Write(lenArray, 1);
-		qualArray.Write(seq.qual, seq.length);
-		baseArray.Write((const char*) seq.seq, seq.length);
-
-		if (seq.deletionQV != NULL) {
-			deletionQVArray.Write(seq.deletionQV, seq.length);
-		}
-		if (seq.preBaseDeletionQV != NULL) {
-			DNALength readPos;
-			for (readPos = 0; readPos < seq.length; readPos++) {
-				preBaseDeletionQVArray.WriteRow(&seq.preBaseDeletionQV[readPos*4], 4);
-			}
-		}
-		if (seq.deletionTag != NULL) {
-			deletionTagArray.Write(seq.deletionTag, seq.length);
-		}
-		if (seq.insertionQV != NULL) {
-			insertionQVArray.Write(seq.insertionQV, seq.length);
-		}
-		if (seq.substitutionQV != NULL) {
-			substitutionQVArray.Write(seq.substitutionQV, seq.length);
-		}
-		if (seq.substitutionTag != NULL) {
-			substitutionTagArray.Write(seq.substitutionTag, seq.length);
-		}
-
-		if (platformId == Astro) {
-			// now extract the x an y coordinates.
-			int x, y;
-			GetSMRTReadCoordinates(seq, x, y);
-			uint16_t xy[2] = {(uint16_t) x, (uint16_t) y};
-			holeXY2D.WriteRow(xy, 2);
-			int holeNumber = 0;
-			seq.GetHoleNumber(holeNumber);
-			holeNumberArray.Write(&holeNumber, 1);			
-		}
-		else if( platformId == SpringfieldPlatform){ 
-			unsigned int holeNumber;
-			GetSpringfieldHoleNumberFromTitle(seq, holeNumber);
-			holeNumberArray.Write(&holeNumber, 1);
-		}
-		// For now say this always works. HDF will choke if a problem
-		// happens.
-		return 1;
-	}
-};
-
-
-
-
-
-#endif
diff --git a/libcpp/hdf/HDFPulseDataFile.cpp b/libcpp/hdf/HDFPulseDataFile.cpp
deleted file mode 100644
index cd88874..0000000
--- a/libcpp/hdf/HDFPulseDataFile.cpp
+++ /dev/null
@@ -1,151 +0,0 @@
-#include "HDFPulseDataFile.hpp"
-
-using namespace std;
-
-int HDFPulseDataFile::GetAllReadLengths(vector<DNALength> &readLengths) {
-    nReads = zmwReader.numEventArray.arrayLength;
-    readLengths.resize(nReads);
-    zmwReader.numEventArray.Read(0,nReads, (int*) &readLengths[0]);
-    return readLengths.size();
-}
-
-void HDFPulseDataFile::CheckMemoryAllocation(long allocSize, long allocLimit, const char *fieldName) {
-    if (allocSize > allocLimit) {
-        if (fieldName == NULL) {
-            cout << "Allocating too large of memory" << endl;
-        }
-        else {
-            cout << "Allocate size " << allocSize << " > allocate limit " << allocLimit << endl;
-            cout << "ERROR! Reading the dataset " << fieldName << " will use too much memory." << endl;
-            cout << "The pls/bas file is too large, exiting." << endl;
-        }
-        exit(1);
-    }
-}
-
-HDFPulseDataFile::HDFPulseDataFile() {
-    pulseDataGroupName = "PulseData";
-    nReads             = 0;
-    useScanData        = false;
-    closeFileOnExit    = false;
-    maxAllocNElements  = INT_MAX;
-    preparedForRandomAccess = false;
-    rootGroupPtr       = NULL;
-}
-
-void HDFPulseDataFile::PrepareForRandomAccess() {
-    GetAllReadLengths(eventOffset);
-    size_t i;
-    int curOffset = 0;
-    for (i = 0; i < eventOffset.size(); i++) {
-        int curLength = eventOffset[i];
-        eventOffset[i] = curOffset;
-        curOffset = curOffset + curLength;
-    }
-    nReads = eventOffset.size();
-    preparedForRandomAccess = true;
-}
-
-
-int HDFPulseDataFile::OpenHDFFile(string fileName, 
-    const H5::FileAccPropList & fileAccPropList) {
-
-    try {
-        H5::FileAccPropList propList = fileAccPropList;
-        H5::Exception::dontPrint();
-        hdfBasFile.openFile(fileName.c_str(), H5F_ACC_RDONLY, propList);	
-    }
-    catch (H5::Exception &e) {
-        cout << "ERROR, could not open hdf file" << fileName << ", exiting." << endl;
-        exit(1);
-    }
-    closeFileOnExit = true;
-    return 1;
-}
-
-//
-// All pulse data files contain the "PulseData" group name.
-// 
-//
-int HDFPulseDataFile::InitializePulseDataFile(string fileName, 
-    const H5::FileAccPropList & fileAccPropList) {
-
-    if (OpenHDFFile(fileName, fileAccPropList) == 0) return 0;
-    return 1;
-}
-
-int HDFPulseDataFile::Initialize(string fileName, 
-    const H5::FileAccPropList & fileAccPropList) {
-
-    if (InitializePulseDataFile(fileName, fileAccPropList) == 0) {
-        return 0;
-    }
-    //
-    // The pulse group is contained directly below the root group.
-    //
-    if (rootGroup.Initialize(hdfBasFile, "/") == 0) {
-        return 0;
-    }
-    rootGroupPtr = &rootGroup;
-    return Initialize();
-}
-
-//
-// Initialize inside another open group.
-//
-int HDFPulseDataFile::Initialize(HDFGroup *rootGroupP) {
-    rootGroupPtr = rootGroupP;
-    return Initialize();
-}
-
-//
-// Initialize all fields 
-//
-int HDFPulseDataFile::Initialize() {
-    preparedForRandomAccess = false;		
-    if (InitializePulseGroup() == 0) return 0;
-    if (rootGroupPtr->ContainsObject("ScanData")) {
-        if (scanDataReader.Initialize(rootGroupPtr) == 0) {
-            return 0;
-        }
-        else {
-            useScanData = true;
-        }
-    }
-    return 1;
-}
-
-int HDFPulseDataFile::InitializePulseGroup() {
-    if (pulseDataGroup.Initialize(rootGroupPtr->group, pulseDataGroupName) == 0) return 0;
-    return 1;
-}
-
-int HDFPulseDataFile::GetAllHoleNumbers(vector<unsigned int> &holeNumbers) {
-    CheckMemoryAllocation(zmwReader.holeNumberArray.arrayLength, maxAllocNElements, "HoleNumbers (base)");
-    holeNumbers.resize(nReads);
-    zmwReader.holeNumberArray.Read(0,nReads, (unsigned int*)&holeNumbers[0]);
-    return holeNumbers.size();
-}	
-
-void HDFPulseDataFile::Close() {
-    if (useScanData) {
-        scanDataReader.Close();
-    }
-
-    pulseDataGroup.Close();
-    if (rootGroupPtr == &rootGroup) {
-        rootGroup.Close();
-    }
-    /*
-       cout << "there are " <<  hdfBasFile.getObjCount(H5F_OBJ_FILE) << " open files upon closing." <<endl;
-       cout << "there are " <<  hdfBasFile.getObjCount(H5F_OBJ_DATASET) << " open datasets upon closing." <<endl;
-       cout << "there are " <<  hdfBasFile.getObjCount(H5F_OBJ_GROUP) << " open groups upon closing." <<endl;
-       cout << "there are " <<  hdfBasFile.getObjCount(H5F_OBJ_DATATYPE) << " open datatypes upon closing." <<endl;
-       cout << "there are " <<  hdfBasFile.getObjCount(H5F_OBJ_ATTR) << " open attributes upon closing." <<endl;
-       */
-    if (closeFileOnExit) {
-        hdfBasFile.close();
-    }
-
-
-}
diff --git a/libcpp/hdf/HDFPulseDataFile.hpp b/libcpp/hdf/HDFPulseDataFile.hpp
deleted file mode 100644
index 0cec337..0000000
--- a/libcpp/hdf/HDFPulseDataFile.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef _BLASR_HDF_PULSE_DATA_FILE_HPP_
-#define _BLASR_HDF_PULSE_DATA_FILE_HPP_
-
-#include <string>
-#include <vector>
-#include "H5Cpp.h"
-#include "HDFGroup.hpp"
-#include "HDFZMWReader.hpp"
-#include "HDFScanDataReader.hpp"
-
-class HDFPulseDataFile {
-public:
-    H5::H5File hdfBasFile;
-    HDFGroup pulseDataGroup;
-    HDFGroup rootGroup;
-    HDFGroup *rootGroupPtr;
-    string pulseDataGroupName;
-    HDFScanDataReader scanDataReader;
-    bool useScanData;
-    bool closeFileOnExit;
-    int  maxAllocNElements;
-    HDFZMWReader zmwReader;
-    std::vector<unsigned int> eventOffset;
-    int nReads;
-    bool preparedForRandomAccess;
-
-    int GetAllReadLengths(std::vector<DNALength> &readLengths); 
-
-    void CheckMemoryAllocation(long allocSize, long allocLimit, 
-        const char *fieldName = NULL); 
-
-    HDFPulseDataFile(); 
-
-    void PrepareForRandomAccess(); 
-
-    int OpenHDFFile(std::string fileName, 
-        const H5::FileAccPropList & fileAccPropList=H5::FileAccPropList::DEFAULT); 
-
-    //
-    // All pulse data files contain the "PulseData" group name.
-    // 
-    //
-    int InitializePulseDataFile(std::string fileName, 
-        const H5::FileAccPropList & fileAccPropList=H5::FileAccPropList::DEFAULT); 
-
-    int Initialize(std::string fileName, 
-        const H5::FileAccPropList & fileAccPropList=H5::FileAccPropList::DEFAULT); 
-
-    //
-    // Initialize inside another open group.
-    //
-    int Initialize(HDFGroup *rootGroupP); 
-
-    //
-    // Initialize all fields 
-    //
-    int Initialize(); 
-
-    int InitializePulseGroup(); 
-
-    int GetAllHoleNumbers(std::vector<unsigned int> &holeNumbers); 
-
-    void Close(); 
-
-};
-
-#endif
diff --git a/libcpp/hdf/HDFRefGroupGroup.hpp b/libcpp/hdf/HDFRefGroupGroup.hpp
deleted file mode 100644
index 727b311..0000000
--- a/libcpp/hdf/HDFRefGroupGroup.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-#ifndef HDF_REF_GROUP_H_
-#define HDF_REF_GROUP_H_
-
-#include "HDFAtom.hpp"
-#include "HDFArray.hpp"
-#include "HDFGroup.hpp"
-#include "saf/RefGroup.hpp"
-
-class HDFRefGroupGroup {
- public:
-	HDFGroup refGroup;
-	HDFArray<uint32_t>  idArray;
-	HDFStringArray pathArray;
-
-	HDFArray<uint32_t> refInfoIdArray;
-
-	~HDFRefGroupGroup() {
-		refGroup.Close();
-	}
-	
-  bool Create(HDFGroup &parent) {
-    parent.AddGroup("RefGroup");
-		if (refGroup.Initialize(parent.group, "RefGroup") == 0) {
-      return 0;
-    }
-    idArray.Create(refGroup, "ID");
-    pathArray.Create(refGroup, "Path");
-    refInfoIdArray.Create(refGroup, "RefInfoID");
-    return true;
-  }
-
-  int AddPath(string path, unsigned int refInfoId) {
-    pathArray.Write(&path, 1);
-    unsigned int numPath = pathArray.size();
-    idArray.Write(&numPath, 1);
-    refInfoIdArray.Write(&refInfoId, 1);
-    return numPath;
-  }
-
-	int Initialize(HDFGroup &rootGroup) {
-		refGroup.Initialize(rootGroup.group, "RefGroup");
-		
-		if (idArray.Initialize(refGroup, "ID") == 0) { return 0; }
-		if (pathArray.Initialize(refGroup, "Path") == 0) { return 0; }
-		if (refInfoIdArray.Initialize(refGroup, "RefInfoID") == 0) { return 0; }
-		
-		return 1;
-	}
-
-	void Read(RefGroup &refGroup) {
-        int pathArrayNElem = pathArray.arrayLength;
-        refGroup.path.resize(pathArrayNElem);
-        pathArray.Read(0, pathArrayNElem, &refGroup.path[0]);
-
-		int idArrayNElem = idArray.arrayLength;
-		refGroup.id.resize(idArrayNElem);
-		idArray.Read(0, idArrayNElem, &refGroup.id[0]);
-
-		int refIDNElem = refInfoIdArray.arrayLength;
-		refGroup.refInfoId.resize(refIDNElem);
-		refInfoIdArray.Read(0, refIDNElem, &refGroup.refInfoId[0]);
-	}
-};
-
-#endif
diff --git a/libcpp/hdf/HDFRefInfoGroup.hpp b/libcpp/hdf/HDFRefInfoGroup.hpp
deleted file mode 100644
index 72a85fe..0000000
--- a/libcpp/hdf/HDFRefInfoGroup.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-#ifndef _BLASR_HDF_REF_INFO_HPP_
-#define _BLASR_HDF_REF_INFO_HPP_
-
-#include "saf/RefInfo.hpp"
-
-class HDFRefInfoGroup {
- public:
-  HDFGroup refInfoGroup;
-  HDFStringArray fullNameArray;
-  HDFArray<uint32_t> idArray;
-  HDFArray<uint32_t> lengthArray;
-  HDFStringArray md5Array;
-
-  bool Create(HDFGroup &parent) {
-    parent.AddGroup("RefInfo");
-    if (refInfoGroup.Initialize(parent.group, "RefInfo") == 0) { return 0; }
-    
-    fullNameArray.Create(refInfoGroup, "FullName");
-    idArray.Create(refInfoGroup, "ID");
-    lengthArray.Create(refInfoGroup, "Length");
-    md5Array.Create(refInfoGroup, "MD5");
-    return true;
-  }
-
-  void AddRefInfo(string &fullName, unsigned int id, unsigned int length, string md5) {
-    fullNameArray.Write(&fullName, 1);
-    idArray.Write(&id, 1);
-    lengthArray.Write(&length, 1);
-    md5Array.Write(&md5, 1);
-  }
-  
-  
-  unsigned int AddRefInfo(string &fullName, unsigned int length, string md5) {
-    unsigned int numRefs = fullNameArray.size();
-    unsigned int id = numRefs + 1; // refInfo Id is 1 based
-    assert(numRefs == idArray.size() &&
-           numRefs == lengthArray.size() &&
-           numRefs == md5Array.size());
-    AddRefInfo(fullName, id, length, md5);
-    return id;
-  }
-  
-  int Initialize(HDFGroup &parentGroup) {
-    if (refInfoGroup.Initialize(parentGroup.group, "RefInfo") == 0) { return 0; }
-    if (fullNameArray.Initialize(refInfoGroup, "FullName") == 0) { return 0;}
-    if (idArray.Initialize(refInfoGroup,"ID") == 0) { return 0;}
-    if (lengthArray.Initialize(refInfoGroup, "Length") == 0) { return 0;}
-    if (md5Array.Initialize(refInfoGroup, "MD5") == 0) { return 0;}
-    return 1;
-  }
-
-  ~HDFRefInfoGroup() {
-    refInfoGroup.Close();
-  }
-
-  void Read(RefInfo &refInfo) {
-    UInt nRow = fullNameArray.size();
-    refInfo.fullName.resize(nRow);
-    refInfo.id.resize(nRow);
-    refInfo.length.resize(nRow);
-    refInfo.md5.resize(nRow);
-    /*
-    if (refInfo.fullName.size() != refInfo.id.size() or
-        refInfo.id.size() != refInfo.length.size() or
-        refInfo.length.size() != refInfo.md5.size()) {
-      cout << "Error with the RefInfo group in a cmp.h5 file.  The datasets " << endl
-           << "are of different lengths but should be the same." << endl;
-      exit(1);
-    }
-    */
-    int i;
-    for (i = 0; i < refInfo.fullName.size();i++) {
-      fullNameArray.Read(i,i+1,&refInfo.fullName[i]);
-    }
-    for (i = 0; i < refInfo.md5.size(); i++) {
-      md5Array.Read(i, i+1, &refInfo.md5[i]);
-    }
-    lengthArray.Read(0, refInfo.length.size(), &refInfo.length[0]);
-    idArray.Read(0, refInfo.id.size(), &refInfo.id[0]);
-  }
-};
-
-
-#endif
diff --git a/libcpp/hdf/HDFRegionTableReader.cpp b/libcpp/hdf/HDFRegionTableReader.cpp
deleted file mode 100644
index 80bc2db..0000000
--- a/libcpp/hdf/HDFRegionTableReader.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-#include "HDFRegionTableReader.hpp"
-
-using namespace std;
-
-int HDFRegionTableReader::Initialize(string &regionTableFileName, 
-        const H5::FileAccPropList & fileAccPropList) {
-    /*
-     * Initialize access to the HDF file.
-     */
-    try {
-        regionTableFile.Open(regionTableFileName.c_str(), H5F_ACC_RDONLY, fileAccPropList);
-    }
-    catch (H5::Exception &e) {
-        cout << e.getDetailMsg() << endl;
-        return 0;
-    }
-    if (pulseDataGroup.Initialize(regionTableFile.rootGroup, "PulseData") == 0) {
-        return 0;
-    }
-    if (pulseDataGroup.ContainsObject("Regions") == 0) {
-        fileContainsRegionTable = false;
-        return 0;
-    }
-    else {
-        fileContainsRegionTable = true;
-    }
-
-    if (regions.Initialize(pulseDataGroup, "Regions") == 0) {
-        return 0;
-    }
-
-    nRows = regions.GetNRows();
-
-    if (columnNames.Initialize(regions.dataset, "ColumnNames") == 0) {
-        return 0;
-    }
-    if (regionTypes.Initialize(regions.dataset, "RegionTypes") == 0) {
-        return 0;
-    }
-    if (regionDescriptions.Initialize(regions.dataset, "RegionDescriptions") == 0) {
-        return 0;
-    }
-    if (regionSources.Initialize(regions.dataset,  "RegionSources") == 0) {
-        return 0;
-    }
-
-    curRow = 0;
-    return 1;
-}
-
-int HDFRegionTableReader::GetNext(RegionAnnotation &annotation) {
-    //
-    // Bail with no-op if this is the last row.
-    //
-
-    if (fileContainsRegionTable == false) {
-        return 0;
-    }
-
-    if (curRow == nRows) {
-        return 0;
-    }
-
-    regions.Read(curRow, curRow+1, annotation.row);
-    ++curRow;
-    return 1;
-}	
-
-void HDFRegionTableReader::RegionTypesToMap(RegionTable &table) {
-    size_t i;
-    table.regionTypeEnums.resize(table.regionTypes.size());
-    for (i = 0;i < table.regionTypes.size(); i++) {
-        if (table.regionTypes[i] == "GlobalAccuracy") {
-            table.regionTypeEnums[i] = GlobalAccuracy;
-        }
-        else if (table.regionTypes[i] == "HQRegion") {
-            table.regionTypeEnums[i] = HQRegion;
-        }
-        else if (table.regionTypes[i] == "Adapter") {
-            table.regionTypeEnums[i] = Adapter;
-        }
-        else if (table.regionTypes[i] == "Insert") {
-            table.regionTypeEnums[i] = Insert;
-        }
-        else if (table.regionTypes[i] == "Accuracy") {
-            table.regionTypeEnums[i] = Insert;
-        }
-        else if (table.regionTypes[i] == "ArtifactRegion") {
-            table.regionTypeEnums[i] = ArtifactRegion;
-        }
-        else {
-            cout << "ERROR! Region Type " << table.regionTypes[i] << " is not supported.  Check Enumerations.h" << endl;
-            assert(0);
-        }
-    }
-}
-
-int HDFRegionTableReader::ReadTableAttributes(RegionTable &table) {
-    if (fileContainsRegionTable == false) {
-        return 0;
-    }
-    columnNames.Read(table.columnNames);
-    regionTypes.Read(table.regionTypes);
-    RegionTypesToMap(table);
-    regionDescriptions.Read(table.regionDescriptions);
-    regionSources.Read(table.regionSources);
-    // All ok.
-    return 1;
-}
-
-void HDFRegionTableReader::Close() {
-    pulseDataGroup.Close();
-    regions.Close();
-    regionTableFile.Close();
-}
-
-void HDFRegionTableReader::ReadTable(RegionTable &table) {
-    if (fileContainsRegionTable == false) {
-        return;
-    }
-    ReadTableAttributes(table);
-    table.table.resize(nRows);
-    int i = 0;
-    while(GetNext(table.table[curRow])) {
-        i++;
-    }
-}
-
-
-void HDFRegionTableReader::GetMinMaxHoleNumber(UInt &minHole,
-                                               UInt &maxHole) {
-    // Hole numbers may not be sorted ascendingly, so do not
-    // return the first and last hole numbers as the min and max.
-    UInt saveCurRow = curRow;
-    curRow = 0;
-    bool init = false;
-    RegionAnnotation annotation;
-    while (GetNext(annotation) == 1) {
-        UInt curHole = annotation.GetHoleNumber();
-        if (not init) {
-            minHole = maxHole = curHole;
-            init = true;
-        } else {
-            minHole = (minHole > curHole)?(curHole):(minHole);
-            maxHole = (maxHole < curHole)?(curHole):(maxHole);
-        }
-    }
-    curRow = saveCurRow;
-}
diff --git a/libcpp/hdf/HDFRegionTableReader.hpp b/libcpp/hdf/HDFRegionTableReader.hpp
deleted file mode 100644
index 470cddf..0000000
--- a/libcpp/hdf/HDFRegionTableReader.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef _BLASR_HDF_REGION_TABLE_READER_HPP_
-#define _BLASR_HDF_REGION_TABLE_READER_HPP_
-
-#include <string>
-#include <vector>
-
-#include "H5Cpp.h"
-
-#include "reads/RegionTable.hpp"
-#include "HDFFile.hpp"
-#include "HDFArray.hpp"
-#include "HDF2DArray.hpp"
-#include "HDFAtom.hpp"
-
-
-class HDFRegionTableReader {
-public:
-    HDFFile regionTableFile;
-    HDFGroup pulseDataGroup;
-    HDF2DArray<int> regions;
-
-    HDFAtom<std::vector<std::string> > regionTypes;
-    HDFAtom<std::vector<std::string> > regionDescriptions;
-    HDFAtom<std::vector<std::string> > regionSources;
-    HDFAtom<std::vector<std::string> > columnNames;
-    int curRow;
-    int nRows;
-    bool fileContainsRegionTable;
-
-    int Initialize(std::string &regionTableFileName, 
-            const H5::FileAccPropList & fileAccPropList = H5::FileAccPropList::DEFAULT); 
-
-    int GetNext(RegionAnnotation &annotation); 
-
-    void RegionTypesToMap(RegionTable &table); 
-
-    int ReadTableAttributes(RegionTable &table); 
-
-    void Close(); 
-
-    void ReadTable(RegionTable &table); 
-    
-    void GetMinMaxHoleNumber(UInt &minHole, UInt &maxHole);
-};
-
-
-#endif
diff --git a/libcpp/hdf/HDFRegionTableWriter.hpp b/libcpp/hdf/HDFRegionTableWriter.hpp
deleted file mode 100644
index f1c38b9..0000000
--- a/libcpp/hdf/HDFRegionTableWriter.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-#ifndef _BLASR_HDF_REGION_TABLE_WRITER_HPP_
-#define _BLASR_HDF_REGION_TABLE_WRITER_HPP_
-
-#include <string>
-
-#include "Enumerations.h"
-#include "reads/RegionTable.hpp"
-#include "HDFFile.hpp"
-#include "HDFArray.hpp"
-#include "HDF2DArray.hpp"
-#include "HDFAtom.hpp"
-
-
-using namespace H5;
-using namespace std;
-
-
-class HDFRegionTableWriter {
-public:
-	HDFFile regionTableFile;
-
-	HDF2DArray<int> regions;
-	HDFAtom<vector<string> > regionTypes;
-	HDFAtom<vector<string> > regionDescriptions;
-	HDFAtom<vector<string> > regionSources;
-	HDFAtom<vector<string> > columnNames;
-	int curRow;
-	int nRows;
-	HDFGroup *parentGroupPtr, pulseDataGroup;
-
-    void CreateGroupStructure() {
-
-        regionTableFile.rootGroup.AddGroup("PulseData");
-        if (pulseDataGroup.Initialize(regionTableFile.rootGroup, "PulseData") == 0) {
-            cout << "Could not create group PulseData. This is a bug." << endl;
-            exit(1);
-        }
-        parentGroupPtr = &pulseDataGroup;
-        regions.Initialize(pulseDataGroup, "Regions", RegionAnnotation::NCOLS);
-
-    }
-
-    int Create(string fileName) {
-        H5File newFile(fileName.c_str(), H5F_ACC_TRUNC, FileCreatPropList::DEFAULT, FileAccPropList::DEFAULT);  
-        regionTableFile.hdfFile.openFile(fileName.c_str(), H5F_ACC_RDWR, H5P_DEFAULT);    
-        regionTableFile.rootGroup.Initialize(regionTableFile.hdfFile, "/");
-        CreateGroupStructure();
-    }
-
-    HDFRegionTableWriter() {
-        curRow = 0;
-        nRows  = 0;
-        parentGroupPtr = NULL;
-    }
-
-    int Initialize(HDFGroup &parentGroupP) {
-        /*
-         * Initialize in an existing file.
-         */
-        parentGroupPtr = &parentGroupP;
-        return Initialize();
-    }
-
-    int Initialize(string &regionTableFileName, 
-            const H5::FileAccPropList & fileAccPropList = H5::FileAccPropList::DEFAULT) {
-        /*
-         * Initialize access to the HDF file.
-         */
-        try {
-            regionTableFile.Open(regionTableFileName, H5F_ACC_TRUNC, fileAccPropList);
-        }
-        catch (Exception &e) {
-            cout << e.getDetailMsg() << endl;
-            return 0;
-        }
-        CreateGroupStructure();
-        return 1;
-    }
-
-    int Initialize() {
-
-        if (regions.Initialize(*parentGroupPtr, "Regions", RegionAnnotation::NCOLS) == 0) {
-            return 0;
-        }
-        nRows = regions.GetNRows();
-
-
-        curRow = 0;
-        return 1;
-    }
-
-    void Finalize(vector<string> &columnNamesVect, 
-            vector<string> &regionTypesVect,
-            vector<string> &regionDescriptionsVect,
-            vector<string> &regionSourcesVect) {
-        //
-        // Make sure data has been written to the dataset.  If not, the
-        // dataset will not exist and creating the attributes will fail.
-        //
-        if (curRow > 0) {
-            regionTypes.Create(regions.dataset, "RegionTypes", regionTypesVect);
-            columnNames.Create(regions.dataset, "ColumnNames", columnNamesVect);
-            regionDescriptions.Create(regions.dataset, "RegionDescriptions", regionDescriptionsVect);
-            regionSources.Create(regions.dataset,  "RegionSources", regionSourcesVect);
-        }
-    }
-
-    void WriteRows(vector<RegionAnnotation> &annotations) {
-        int i;
-        for (i = 0; i < annotations.size(); i++) {
-            Write(annotations[i]);
-        }
-    }
-
-    int Write(RegionAnnotation &annotation, int at=-1) {
-        if (at == -1) {
-            regions.WriteRow(annotation.row, annotation.NCOLS);
-            ++curRow;
-        }
-        else {
-
-        }
-        return 1;
-    }	
-
-    void Close() {
-        regions.Close();
-        //
-        // Check to see if this is external
-        //
-        if (parentGroupPtr == &pulseDataGroup) {
-            pulseDataGroup.Close();
-        }
-        regionTableFile.rootGroup.Close();
-    }
-
-};
-
-
-#endif
diff --git a/libcpp/hdf/HDFSMRTSequenceReader.hpp b/libcpp/hdf/HDFSMRTSequenceReader.hpp
deleted file mode 100644
index 737f19e..0000000
--- a/libcpp/hdf/HDFSMRTSequenceReader.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-#ifndef _BLASR_HDF_SMRT_SEQUENCE_READER_HPP_
-#define _BLASR_HDF_SMRT_SEQUENCE_READER_HPP_
-
-#include "data/hdf/HDFBasReader.h"
-#include "data/hdf/HDFZMWReader.h"
-#include "SMRTSequence.h"
-
-template<typename T_SMRT_Sequence>
-class HDFSMRTSequenceReader : public HDFBasReader {
- public:
-	HDFZMWReader zmwReader;
-	bool readQuality;
-	int Initialize(string hdfBasFileName, bool _readQuality=true, const H5::FileAccPropList & fileAccProplist=H5::FileAccPropList::DEFAULT) {
-		HDFBasReader::Initialize(hdfBasFileName, fileAccPropList);
-		zmwReader.Initialize(hdfBasFile);
-		readQuality = _readQuality;
-		if (baseCallsGroup.ContainsObject("WidthInFrames")) {
-			useWidthInFrames = InitializeField(baseCallsGroup, "WidthInFrames");
-		}
-		if (baseCallsGroup.ContainsObject("PreBaseFrames")) {
-			usePreBaseFrames = InitializeField(baseCallsGroup, "PreBaseFrames");
-		}
-		if (baseCallsGroup.ContainsObject("PulseIndex")) {
-			usePulseIndex = InitializeField(baseCallsGroup, "PulseIndex");
-		}
-		
-	}
-
-
-	int GetNext(T_SMRT_Sequence &seq) {
-		int retVal;
-		//
-		// Copy the curBasePos from the bas reader since it gets advanced
-		// in the GetNext function.
-		//
-		DNALength curBasePosCopy = curBasePos;
-		retVal = HDFBasReader::GetNext(seq);
-		//
-		// Bail now if the file is already done
-		if (retVal == 0) {
-			return retVal;
-		}
-		zmwReader.GetNext(seq.zmwData);
-		return retVal;
-	}
-	int Advance(int nSteps) {
-		int retVal;
-		retVal = HDFBasReader::Advance(nSteps);
-		zmwReader.Advance(nSteps);
-		return retVal;
-	}
-
-
-};
-
-template<>
-int HDFSMRTSequenceReader<FASTASequence>::GetNext(FASTASequence &seq) {
-		int retVal;
-		if (readQuality) {
-			retVal = HDFBasReader::GetNext(seq);
-		}
-		//
-		// Bail now if the file is already done
-		if (retVal == 0) {
-			return retVal;
-		}
-		zmwReader.GetNext(seq.zmwData);
-		return retVal;
-	}
-
-#endif
diff --git a/libcpp/hdf/HDFScanDataReader.cpp b/libcpp/hdf/HDFScanDataReader.cpp
deleted file mode 100644
index daed4b2..0000000
--- a/libcpp/hdf/HDFScanDataReader.cpp
+++ /dev/null
@@ -1,262 +0,0 @@
-#include "HDFScanDataReader.hpp"
-
-using namespace std;
-
-HDFScanDataReader::HDFScanDataReader() {
-    //
-    // Assume the file is written without a movie name.  This is
-    // flipped when a movie name is found.
-    //
-    Reset();
-}
-
-void HDFScanDataReader::Reset() {
-    useMovieName    = false;
-    useRunCode      = false;
-    useWhenStarted  = false;
-    fileHasScanData = false;
-    movieName = "";
-    runCode   = "";
-    platformId      = NoPlatform;
-    initializedAcqParamsGroup = initializedRunInfoGroup = false;
-}
-
-int HDFScanDataReader::InitializeAcqParamsAtoms() {
-    if (frameRateAtom.Initialize(acqParamsGroup.group, "FrameRate") == 0) { return 0; }
-    if (numFramesAtom.Initialize(acqParamsGroup.group, "NumFrames") == 0) { return 0; }
-    if (acqParamsGroup.ContainsAttribute("WhenStarted")) {
-        if (whenStartedAtom.Initialize(acqParamsGroup.group, "WhenStarted") == 0) { return 0; }
-        useWhenStarted = true;
-    }
-    return 1;
-}
-
-//
-// This is created on top of a file that is already opened, so
-// instead of initializing by opening a file, it is initialized by
-// passing the root group that should contain the ScanData group.  
-// When shutting down, no file handle needs to be closed.
-//
-int HDFScanDataReader::Initialize(HDFGroup *pulseDataGroup) {
-
-    //
-    // Initiailze groups for reading data.
-    //
-
-    initializedAcqParamsGroup = false;
-    initializedRunInfoGroup   = false;
-    if (pulseDataGroup->ContainsObject("ScanData") == 0 or 
-            scanDataGroup.Initialize(pulseDataGroup->group, "ScanData") == 0) {
-        return 0;
-    }
-    fileHasScanData = true;
-
-    if (scanDataGroup.ContainsObject("DyeSet") == 0 or
-            dyeSetGroup.Initialize(scanDataGroup.group, "DyeSet") == 0) {
-        return 0;
-    }
-
-    if (scanDataGroup.ContainsObject("AcqParams") == 0 or
-            acqParamsGroup.Initialize(scanDataGroup.group, "AcqParams") == 0) {
-        return 0;
-    }
-    initializedAcqParamsGroup = true;
-
-    if (scanDataGroup.ContainsObject("RunInfo") == 0 or
-            runInfoGroup.Initialize(scanDataGroup.group, "RunInfo") == 0) {
-        return 0;
-    }
-    initializedRunInfoGroup = true;
-    if (InitializeAcqParamsAtoms() == 0) {
-        return 0;
-    }
-
-    //
-    // Read in the data that will be used later on either per read or
-    // when the entire bas/pls file is read.
-    //
-
-    if (ReadPlatformId(platformId) == 0) {
-        return 0;
-    }
-
-    if (runInfoGroup.ContainsAttribute("RunCode") and
-            runCodeAtom.Initialize(runInfoGroup, "RunCode")) {
-        useRunCode = true;
-    }
-
-    //
-    // Load baseMap which maps bases (ATGC) to channel orders.
-    // This should always be present.
-    //
-    if (LoadBaseMap(baseMap) == 0)
-        return 0;
-
-    //
-    // Attempt to load the movie name.  This is not always present.
-    //
-    LoadMovieName(movieName);
-
-    return 1;
-}
-
-string HDFScanDataReader::GetMovieName() {
-    // If this object is correctly initialized, movieName
-    // is guaranteed to be loaded if it exists, no need to reload.
-    return movieName;
-}
-
-string HDFScanDataReader::GetRunCode() {
-    return runCode;
-}
-
-int HDFScanDataReader::Read(ScanData &scanData) {
-    // All parameters below are required.
-    if (ReadPlatformId(scanData.platformId) == 0) return 0;
-    LoadMovieName(scanData.movieName);
-    LoadBaseMap(scanData.baseMap);
-
-    if (useRunCode) {
-        runCodeAtom.Read(scanData.runCode);
-    }
-    frameRateAtom.Read(scanData.frameRate);
-    numFramesAtom.Read(scanData.numFrames);
-
-    if (useWhenStarted) {
-        whenStartedAtom.Read(scanData.whenStarted);
-    }
-
-    return 1;
-}
-
-void HDFScanDataReader::ReadWhenStarted(string &whenStarted) {
-    whenStartedAtom.Read(whenStarted);
-}
-
-PlatformId HDFScanDataReader::GetPlatformId() {
-    return platformId;
-}
-
-int HDFScanDataReader::ReadPlatformId(PlatformId &pid) {
-    if (runInfoGroup.ContainsAttribute("PlatformId")) {
-        if (platformIdAtom.Initialize(runInfoGroup, "PlatformId") == 0) {
-            return 0;
-        }
-        platformIdAtom.Read((unsigned int&)pid);
-    }
-    else {
-        pid = Astro;
-    }
-    return 1;
-}
-
-int HDFScanDataReader::ReadStringAttribute(std::string & attributeValue,
-        const std::string & attributeName, HDFGroup & group,
-        HDFAtom<std::string> & atom) {
-
-    if (group.ContainsAttribute(attributeName) and
-        (atom.isInitialized or atom.Initialize(group, attributeName))) {
-        atom.Read(attributeValue);
-        return 1;
-    } else {
-        return 0;
-    }
-}
-
-int HDFScanDataReader::ReadBindingKit(std::string &bindingKit)
-{
-    return ReadStringAttribute(bindingKit, "BindingKit", runInfoGroup, bindingKitAtom);
-}
-
-int HDFScanDataReader::ReadSequencingKit(std::string &sequencingKit)
-{
-    return ReadStringAttribute(sequencingKit, "SequencingKit", runInfoGroup, sequencingKitAtom);
-}
-
-int HDFScanDataReader::LoadMovieName(string &movieNameP) {
-    // Groups for building read names
-    if (ReadStringAttribute(movieNameP, "MovieName", runInfoGroup, movieNameAtom) == 0) {
-        // Internal analysis may manually edit the movie name and set STRSIZE to a value
-        // which != movie name length. Handle this case. 
-        movieNameP = string(movieNameP.c_str()); 
-        return 0;
-    } else {
-        useMovieName = true;
-        int e = movieNameP.size() - 1;
-        while (e > 0 and movieNameP[e] == ' ') e--;
-        movieNameP = movieNameP.substr(0, e+1);
-        movieNameP = string(movieNameP.c_str());
-        return 1;
-    }
-}
-
-int HDFScanDataReader::LoadBaseMap(map<char, int> & baseMap) {
-    // Map bases to channel order in hdf pls file.
-    if (dyeSetGroup.ContainsAttribute("BaseMap") and
-            baseMapAtom.Initialize(dyeSetGroup, "BaseMap")) {
-        string baseMapStr;
-        baseMapAtom.Read(baseMapStr);
-        if (baseMapStr.size() != 4) {
-            cout << "ERROR, there are more than four types of bases "
-                << "according to /ScanData/DyeSet/BaseMap." << endl;
-            exit(1);
-        }
-        baseMap.clear();
-        for(size_t i = 0; i < baseMapStr.size(); i++) {
-            baseMap[toupper(baseMapStr[i])] = i;
-            baseMap[tolower(baseMapStr[i])] = i;
-        }
-        return 1;
-    }
-    return 0;
-}
-
-void HDFScanDataReader::Close() {
-    if (useMovieName) {
-        movieNameAtom.dataspace.close();
-    }
-    if (useRunCode) {
-        runCodeAtom.dataspace.close();
-    }
-    if (useWhenStarted) {
-        whenStartedAtom.dataspace.close();
-    }
-    baseMapAtom.dataspace.close();
-    platformIdAtom.dataspace.close();
-    frameRateAtom.dataspace.close();
-    numFramesAtom.dataspace.close();
-    sequencingKitAtom.dataspace.close();
-    bindingKitAtom.dataspace.close();
-
-    scanDataGroup.Close();
-    dyeSetGroup.Close();
-    acqParamsGroup.Close();
-    runInfoGroup.Close();
-    Reset();
-}
-
-
-std::string HDFScanDataReader::GetMovieName_and_Close(std::string & fileName) {
-    HDFFile file;
-    file.Open(fileName, H5F_ACC_RDONLY);
-
-    fileHasScanData = false;
-    if (file.rootGroup.ContainsObject("ScanData") == 0 or 
-        scanDataGroup.Initialize(file.rootGroup, "ScanData") == 0) {
-        return ""; 
-    }
-    fileHasScanData = true;
-
-    initializedRunInfoGroup = false;
-    if (scanDataGroup.ContainsObject("RunInfo") == 0 or
-        runInfoGroup.Initialize(scanDataGroup.group, "RunInfo") == 0) {
-        return "";
-    }
-    initializedRunInfoGroup = true;
-    
-    string movieName;
-    LoadMovieName(movieName);
-    Close();
-    file.Close();
-    return movieName;
-}
diff --git a/libcpp/hdf/HDFScanDataReader.hpp b/libcpp/hdf/HDFScanDataReader.hpp
deleted file mode 100644
index 7da6649..0000000
--- a/libcpp/hdf/HDFScanDataReader.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-#ifndef _BLASR_HDF_SCAN_DATA_READER_HPP_
-#define _BLASR_HDF_SCAN_DATA_READER_HPP_
-
-#include <map>
-#include <string>
-#include "Enumerations.h"
-#include "reads/ScanData.hpp"
-#include "HDFGroup.hpp"
-#include "HDFFile.hpp"
-#include "HDFAtom.hpp"
-
-//
-// The SanDataReader cannot live outside 
-
-class HDFScanDataReader {
-public:
-    bool fileHasScanData, useRunCode;
-    HDFGroup scanDataGroup;
-    HDFGroup dyeSetGroup;
-    HDFGroup acqParamsGroup;
-    HDFGroup runInfoGroup;
-    bool initializedAcqParamsGroup, initializedRunInfoGroup;
-    bool useWhenStarted;
-    HDFAtom<std::string> whenStartedAtom;
-    HDFAtom<unsigned int> platformIdAtom;
-    HDFAtom<float> frameRateAtom;
-    HDFAtom<unsigned int> numFramesAtom;
-    HDFAtom<std::string> movieNameAtom;
-    HDFAtom<std::string> runCodeAtom;
-    HDFAtom<std::string> baseMapAtom;
-    HDFAtom<std::string> bindingKitAtom;
-    HDFAtom<std::string> sequencingKitAtom;
-
-    //
-    // It is useful to cache the movie name in the reader since this is
-    // loaded once upon initialization, and may be fetched when loading
-    // reads one at a time.
-    //
-    bool   useMovieName;
-    std::string movieName, runCode;
-    std::map<char, int> baseMap;
-    PlatformId platformId;
-
-    HDFScanDataReader(); 
-
-    void Reset();
-
-    int InitializeAcqParamsAtoms(); 
-
-    //
-    // This is created on top of a file that is already opened, so
-    // instead of initializing by opening a file, it is initialized by
-    // passing the root group that should contain the ScanData group.  
-    // When shutting down, no file handle needs to be closed.
-    //
-    int Initialize(HDFGroup *pulseDataGroup); 
-
-    std::string GetMovieName(); 
-    
-    // Given a PacBio (pls/plx/bas/bax/ccs/rgn).h5 file, which contains its movie 
-    // name in group /ScanData/RunInfo attribute MovieName, open the file, return
-    // its movie name and finally close the file. Return "" if the movie name 
-    // does not exist. This is a short path to get movie name.
-    std::string GetMovieName_and_Close(std::string & fileName);
-
-    std::string GetRunCode(); 
-
-    int Read(ScanData &scanData); 
-
-    void ReadWhenStarted(std::string &whenStarted); 
-
-    PlatformId GetPlatformId(); 
-
-    int ReadPlatformId(PlatformId &pid); 
-
-    /// Reads value of Attribute /ScanData/RunInfo/BindingKit
-    int ReadBindingKit(std::string &bindingKit);
-
-    /// Reads value of Attribute /ScanData/RunInfo/SequencingKit
-    int ReadSequencingKit(std::string &sequencingKit);
-
-    int LoadMovieName(std::string &movieName); 
-
-    int LoadBaseMap(map<char, int> & baseMap); 
-
-    void Close(); 
-
-private:
-    /// Reads value of a string attribute within a HDFGroup.
-    /// \returns 1 if succesfully read value of the string attribute, 0 otherwise.
-    /// \param[out] attributeValue, value of a string attribute.
-    /// \param[in] attributeName, name of the string attribute.
-    /// \param[in] group, HDFGroup of the string attribute .
-    /// \param[in] atom, initialized HDFAtom obj for reading attribute .
-    int ReadStringAttribute(std::string & attributeValue, 
-                            const std::string & attributeName, 
-                            HDFGroup & group, HDFAtom<std::string> & atom); 
-
-};
-
-#endif
diff --git a/libcpp/hdf/HDFScanDataWriter.cpp b/libcpp/hdf/HDFScanDataWriter.cpp
deleted file mode 100644
index 874aba0..0000000
--- a/libcpp/hdf/HDFScanDataWriter.cpp
+++ /dev/null
@@ -1,164 +0,0 @@
-#include "HDFScanDataWriter.hpp"
-
-void HDFScanDataWriter::CreateAcqParamsGroup() {
-    if (acqParamsGroup.Initialize(scanDataGroup, "AcqParams") == 0) {
-        std::cout << "ERROR could not create /ScanData/AcqParams." << std::endl;
-        exit(1);
-    }
-    frameRateAtom.Create(acqParamsGroup.group, "FrameRate");
-    numFramesAtom.Create(acqParamsGroup.group, "NumFrames");
-    whenStartedAtom.Create(acqParamsGroup.group, "WhenStarted");
-}
-
-void HDFScanDataWriter::CreateDyeSetGroup(){
-    if (dyeSetGroup.Initialize(scanDataGroup, "DyeSet") == 0) {
-        std::cout << "ERROR could not create /ScanData/DyeSet." << std::endl;
-        exit(1);
-    }
-    baseMapAtom.Create(dyeSetGroup.group, "BaseMap");
-    numAnalogAtom.Create(dyeSetGroup.group, "NumAnalog");
-}
-
-void HDFScanDataWriter::CreateRunInfoGroup(){
-    if (runInfoGroup.Initialize(scanDataGroup, "RunInfo") == 0) {
-        std::cout << "ERROR, could not create /ScanDta/RunInfo." << std::endl;
-        exit(1);
-    }
-    movieNameAtom.Create(runInfoGroup.group, "MovieName");
-    platformIdAtom.Create(runInfoGroup.group, "PlatformId");
-    platformNameAtom.Create(runInfoGroup.group, "PlatformName");
-    runCodeAtom.Create(runInfoGroup.group, "RunCode");
-}
-
-HDFScanDataWriter::HDFScanDataWriter(HDFFile & _outFile) {
-    Initialize(_outFile.rootGroup);
-}
-
-HDFScanDataWriter::HDFScanDataWriter(HDFGroup & _rootGroup) {
-    Initialize(_rootGroup);
-}
-
-HDFScanDataWriter::~HDFScanDataWriter() { 
-    // Assume that closing the hdf file must be done
-    // manually and not in a destructor.
-}
-
-int HDFScanDataWriter::Initialize(HDFGroup & _rootGroup) {
-    rootGroupPtr = &(_rootGroup);
-    rootGroupPtr->AddGroup("ScanData"); 
-    if (scanDataGroup.Initialize(*(rootGroupPtr), "ScanData") == 0) {
-        std::cout << "ERROR, could not create /ScanData group." << std::endl;
-        exit(1);
-    }
-    scanDataGroup.AddGroup("AcqParams");
-    scanDataGroup.AddGroup("DyeSet");
-    scanDataGroup.AddGroup("RunInfo");
-
-    CreateAcqParamsGroup();
-    CreateDyeSetGroup();
-    CreateRunInfoGroup();
-
-    return 1;
-}
-
-void HDFScanDataWriter::Write(ScanData & scanData) {
-    WriteFrameRate((scanData.frameRate==0)?
-            (75):(scanData.frameRate));
-    WriteNumFrames((scanData.numFrames==0)?
-            (1000000):(scanData.numFrames));
-    WriteWhenStarted((scanData.whenStarted.empty())?
-            ("2013-01-01T01:01:01"):(scanData.whenStarted));
-    std::string baseMapStr = BaseMapToStr(scanData.baseMap);
-    WriteBaseMap((baseMapStr == "")?("TGAC"):baseMapStr);
-    WriteNumAnalog(4);
-
-    WriteMovieName((scanData.movieName.empty()?
-                ("simulated_movie"):scanData.movieName));
-    WriteRunCode((scanData.runCode.empty())?
-            "simulated_runcode":(scanData.runCode));
-    WritePlatformId((scanData.platformId==NoPlatform)?
-            (Springfield):(scanData.platformId));
-}
-
-void HDFScanDataWriter::WriteFrameRate(float frameRate) {
-    // Write /ScanData/AcqParams/FrameRate attribute.
-    frameRateAtom.Write(frameRate);
-}
-
-void HDFScanDataWriter::WriteNumFrames(unsigned int numFrames) {
-    // Write /ScanData/AcqParams/NumFrames attribute.
-    numFramesAtom.Write(numFrames);
-}
-
-void HDFScanDataWriter::WriteWhenStarted(const std::string whenStarted) {
-    // Write /ScanData/AcqParams/WhenStarted attribute.
-    whenStartedAtom.Write(whenStarted);
-}
-
-std::string HDFScanDataWriter::BaseMapToStr(std::map<char, int> & baseMap) {
-    std::string baseMapStr = ""; //4 dye channels.
-    if (not baseMap.empty()) {
-        baseMapStr = "    ";
-        map<char, int>::iterator it;
-        for (it = baseMap.begin(); it != baseMap.end(); ++it){
-            if (it->second > 4 or it->second < 0) {
-                std::cout << "ERROR, there are more than four dye channels."
-                          << std::endl;
-                exit(1);
-            }
-            baseMapStr[it->second]= it->first;
-        }
-    }
-    return baseMapStr;
-}
-
-void HDFScanDataWriter::WriteBaseMap(const std::string baseMapStr) {
-    //Write /ScanData/DyeSet/BaseMap attribute.
-    baseMapAtom.Write(baseMapStr);
-}
-
-void HDFScanDataWriter::WriteNumAnalog(const unsigned int numAnalog) {
-    //Write /ScanData/DyeSet/NumAnalog attribute.
-    numAnalogAtom.Write(numAnalog);
-}
-
-void HDFScanDataWriter::WritePlatformId(const PlatformId id) {
-    //Write /ScanData/RunInfo/Flatform attribute.
-    platformIdAtom.Write(id);
-    std::string name = (id == Springfield)?"Springfield":"Astro";
-    platformNameAtom.Write(name);
-}
-
-void HDFScanDataWriter::WriteMovieName(const std::string movieName) {
-    //Write /ScanData/RunInfo/MovieName attribute.
-    movieNameAtom.Write(movieName);
-}
-
-void HDFScanDataWriter::WriteRunCode(const std::string runCode) {
-    //Write /ScanData/RunInfo/MovieName attribute.
-    runCodeAtom.Write(runCode);
-}
-
-void HDFScanDataWriter::Close() {
-    // Close /ScanData/AcqParams attributes.
-    whenStartedAtom.dataspace.close();
-    frameRateAtom.dataspace.close();
-    numFramesAtom.dataspace.close();
-
-    // Close /ScanData/DyeSet attributes.
-    baseMapAtom.dataspace.close();
-
-    // Close /ScanData/RunInfo attributes.
-    movieNameAtom.dataspace.close();
-    runCodeAtom.dataspace.close();
-    platformIdAtom.dataspace.close();
-    platformNameAtom.dataspace.close();
-
-    // Close /ScanData/AcqParams|DyeSet|RunInfo.
-    acqParamsGroup.Close();
-    dyeSetGroup.Close();
-    runInfoGroup.Close();
-
-    // Close /ScanData
-    scanDataGroup.Close();
-}
diff --git a/libcpp/hdf/HDFScanDataWriter.hpp b/libcpp/hdf/HDFScanDataWriter.hpp
deleted file mode 100644
index f92d8e6..0000000
--- a/libcpp/hdf/HDFScanDataWriter.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-#ifndef DATA_HDF_HDF_SCAN_DATA_WRITER_H_
-#define DATA_HDF_HDF_SCAN_DATA_WRITER_H_
-
-#include <string>
-#include <iostream>
-#include "HDFFile.hpp"
-#include "HDFGroup.hpp"
-#include "HDFAtom.hpp"
-#include "Enumerations.h"
-#include "reads/ScanData.hpp"
-
-class HDFScanDataWriter {
-private:
-    HDFGroup * rootGroupPtr;
-	HDFGroup scanDataGroup;
-	HDFGroup acqParamsGroup;
-    HDFGroup dyeSetGroup;
-	HDFGroup runInfoGroup;
-
-	HDFAtom<std::string> whenStartedAtom;
-	HDFAtom<float> frameRateAtom;
-	HDFAtom<unsigned int> numFramesAtom;
-
-    HDFAtom<std::string> baseMapAtom;
-    HDFAtom<unsigned int> numAnalogAtom;
-
-	HDFAtom<std::string> movieNameAtom;
-	HDFAtom<std::string> runCodeAtom;
-
-	HDFAtom<unsigned int> platformIdAtom;
-	HDFAtom<std::string> platformNameAtom;
-
-    void CreateAcqParamsGroup();
-
-    void CreateDyeSetGroup();
-
-    void CreateRunInfoGroup();
-
-public:
-	HDFScanDataWriter(HDFFile & _outFile);
-
-    HDFScanDataWriter(HDFGroup & _rootGroup);
-
-    ~HDFScanDataWriter();
-    
-    int Initialize(HDFGroup & _rootGroup);
-      
-    void Write(ScanData & scanData);
-   
-	void WriteFrameRate(float frameRate);
-
-    void WriteNumFrames(unsigned int numFrames);
-
-    void WriteWhenStarted(const std::string whenStarted);
-
-    std::string BaseMapToStr(std::map<char, int> & baseMap);
-   
-    void WriteBaseMap(const std::string baseMapStr);
-   
-    void WriteNumAnalog(const unsigned int numAnalog);
-
-    void WritePlatformId(const PlatformId id);
-   
-    void WriteMovieName(const std::string movieName);
-
-    void WriteRunCode(const std::string runCode);
-
-	void Close();
-};
-
-#endif
diff --git a/libcpp/hdf/HDFSentinalFile.hpp b/libcpp/hdf/HDFSentinalFile.hpp
deleted file mode 100644
index 71f7de8..0000000
--- a/libcpp/hdf/HDFSentinalFile.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef _BLASR_SENTINAL_FILE_HPP_
-#define _BLASR_SENTINAL_FILE_HPP_
-
-#include "HDFArray.h"
-#include "HDF2DArray.h"
-
-class HDFSentinal {
- public:
-  HDFStringArray parts;
-  HDF2DArray<unsigned int> holeLookup;
-  HDFGroup multiPartGroup;
-
-  void Initialize(HDFGroup &rootGroup) {
-    multiPartGroup.Initialize(rootGroup, "MultiPart");
-    parts.Initialize(multiPartGroup, "Parts");
-    holeLookup.Initialize(multiPartGroup, "HoleLookup");
-  }
-};
-
-
-#endif
diff --git a/libcpp/hdf/HDFUtils.cpp b/libcpp/hdf/HDFUtils.cpp
deleted file mode 100644
index ad0739b..0000000
--- a/libcpp/hdf/HDFUtils.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-#include "HDFUtils.hpp"
-
-std::string GetH5MovieName(std::string fileName) {
-    HDFScanDataReader reader;
-    return reader.GetMovieName_and_Close(fileName);
-}
-
-std::vector<std::string> GetH5MovieNames(const std::vector<std::string> & fileNames) {
-    std::vector<std::string> ret;
-    for (size_t i = 0 ; i < fileNames.size(); i++) {
-        ret.push_back(GetH5MovieName(fileNames[i]));
-    }
-    return ret;
-}
-
-std::vector< std::pair<UInt, UInt> > GetMinMaxHoleNumbers(
-    const std::vector<std::string> & fileNames, bool isRGN) {
-    std::vector< std::pair<UInt, UInt> > ret;
-    for (size_t i = 0 ; i < fileNames.size(); i++) {
-        ret.push_back(GetMinMaxHoleNumber(fileNames[i], isRGN));
-    }
-    return ret;
-}
-
-std::pair<UInt, UInt> GetMinMaxHoleNumber(
-        std::string fileName, bool isRGN) {
-    UInt minHole, maxHole;
-
-    if (isRGN) { // is region table
-        HDFRegionTableReader rgnReader;
-        rgnReader.Initialize(fileName);
-        rgnReader.GetMinMaxHoleNumber(minHole, maxHole);
-        rgnReader.Close();
-    } else { // is bas/bax/pls/plx/ccs.h5
-        HDFBasReader basReader;
-        basReader.Initialize(fileName);
-        vector<UInt> holes;
-        basReader.GetMinMaxHoleNumber(minHole, maxHole);
-        basReader.Close();
-    }
-    return std::make_pair(minHole, maxHole);
-}
-
-std::vector<int> MapPls2Rgn(const std::vector<std::string> & plsFNs,
-        const std::vector<std::string> & rgnFNs) {
-    if (plsFNs.size() != rgnFNs.size() && rgnFNs.size() != 0) {
-        std::cout << "ERROR, the number of plx/bax.h5 files and the number of "
-            << "region tables are not the same." << std::endl;
-        exit(1);
-    }
-
-    // Movie names of pulse files in P.
-    std::vector<std::string> plsMovies = GetH5MovieNames(plsFNs);
-    // Movie names of region tables in R.
-    std::vector<std::string> rgnMovies = GetH5MovieNames(rgnFNs);
-
-    // The first and last hole numbers of pulse files in P.
-    std::vector< std::pair<UInt, UInt> > plsHoles = GetMinMaxHoleNumbers(plsFNs, false);
-    // The first and last hole numbers of region tables in R.
-    std::vector< std::pair<UInt, UInt> > rgnHoles = GetMinMaxHoleNumbers(rgnFNs, true);
-
-    std::vector<int> ret;
-    for (size_t i = 0; i < plsFNs.size(); i++) {
-        size_t j = 0;
-        for (; j < rgnFNs.size(); j++) {
-            if (plsMovies[i] == rgnMovies[j] and
-                plsHoles[i].first <= rgnHoles[j].first and
-                plsHoles[i].second >= rgnHoles[j].second) {
-                break;
-            }
-        }
-        if (j >= rgnFNs.size()) {
-            std::cout << "ERROR, could not find any region table for file "
-                 << plsFNs[i] << " [" << plsHoles[i].first << ", " << plsHoles[i].second 
-                 <<"." << std::endl;
-            exit(1);
-        }
-        ret.push_back(j);
-    }
-    return ret;
-}
-
diff --git a/libcpp/hdf/HDFUtils.hpp b/libcpp/hdf/HDFUtils.hpp
deleted file mode 100644
index ee9409e..0000000
--- a/libcpp/hdf/HDFUtils.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef _BLASR_HDF_UTILS_HPP_
-#define _BLASR_HDF_UTILS_HPP_
-
-#include <vector>
-#include <string>
-
-#include "HDFFile.hpp"
-#include "HDFScanDataReader.hpp"
-#include "HDFBasReader.hpp"
-#include "HDFRegionTableReader.hpp"
-#include "reads/RegionTable.hpp"
-
-
-// Given a PacBio (pls/plx/bas/bax/ccs/rgn).h5 file, which contains its movie 
-// name in group /ScanData/RunInfo attribute MovieName, return its' movie name
-std::string GetH5MovieName(std::string fileName);
-
-// Given a vector of h5 files, return their movie names.
-std::vector<std::string> GetH5MovieNames(const std::vector<std::string> & fileNames);
-
-// Given a PacBio rgn.h5 file, return the smallest and largest holeNumber in
-// group /PulseData/Regions.
-std::pair<UInt, UInt> GetMinMaxHoleNumber(std::string fileName, 
-                                          bool isRGN=false);
-
-std::vector<std::pair<UInt, UInt> > GetMinMaxHoleNumbers(
-    std::string fileName, bool isRGN=false);
-
-// Pulse files in input.fofn and regions tables in rgn.fofn may not
-// match, return mapping from plsFNs indices to rgnFNs indices.
-//
-// Input : plsFNs - pulse file names in input.fofn, e.g.,
-//                  P=(p_0, ..., p_{n-1})
-//         rgnFNs - region table file names in rgn.fofn, e.g.,
-//                  R=(r_0, ..., p_{n-1})
-// Output: mapping from plsFNs indices to rgnFNs indices, e.g.,
-//                  M=(m_0, ..., m_{n-1})
-//         so that for all i from 0 to n-1,
-//                  r_{m_{i}} matches p_i
-//
-std::vector<int> MapPls2Rgn(const std::vector<std::string> & plsFNs,
-                            const std::vector<std::string> & rgnFNs);
-
-#endif
diff --git a/libcpp/hdf/HDFWriteBuffer.hpp b/libcpp/hdf/HDFWriteBuffer.hpp
deleted file mode 100644
index 3600c5a..0000000
--- a/libcpp/hdf/HDFWriteBuffer.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef _BLASR_HDF_WRITE_BUFFER_HPP_
-#define _BLASR_HDF_WRITE_BUFFER_HPP_
-
-#include <cstddef>
-
-template<typename T>
-class HDFWriteBuffer {
-public:
-    T         *writeBuffer;
-    int       bufferIndex;
-    int       bufferSize;
-
-    HDFWriteBuffer() {
-        writeBuffer = NULL;
-        bufferIndex = 0;
-        bufferSize  = 0;
-    }
-
-    void InitializeBuffer(int pBufferSize) {
-        Free(); // Free before reusing the buffer.
-        bufferSize = pBufferSize;
-        if (bufferSize > 0) {
-            writeBuffer = new T[bufferSize];
-        }
-        else {
-            writeBuffer = NULL;
-        }
-    }		
-
-    void Free() {
-        if (writeBuffer) {
-            delete[] writeBuffer;
-            writeBuffer = NULL;
-        }
-    }
-
-    ~HDFWriteBuffer() {
-        Free();
-    }
-
-    void ResetWriteBuffer() {
-        bufferIndex = 0;
-    }
-
-    bool WriteBufferEmpty() {
-        return (bufferIndex == 0);
-    }
-
-};
-
-
-#endif
diff --git a/libcpp/hdf/HDFZMWReader.cpp b/libcpp/hdf/HDFZMWReader.cpp
deleted file mode 100644
index a79107e..0000000
--- a/libcpp/hdf/HDFZMWReader.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-#include "Types.h"
-#include "HDFZMWReader.hpp"
-
-HDFZMWReader::HDFZMWReader() {
-    closeFileOnExit = false;
-    readHoleNumber  = false;
-    readHoleXY      = false;
-    readNumEvent    = false;
-    readHoleStatus  = false;
-    nZMWEntries = curZMW = 0;
-    parentGroupPtr = NULL;
-}
-
-int HDFZMWReader::Initialize(HDFGroup *parentGroupP) {
-    parentGroupPtr = parentGroupP;
-    closeFileOnExit = false;
-    return Initialize();
-}
-
-int HDFZMWReader::Initialize() {
-
-    //
-    // Make sure we can open the component containing the zmw information.
-    //
-    if (parentGroupPtr->ContainsObject("ZMW") == 0 or
-            zmwGroup.Initialize(parentGroupPtr->group, "ZMW") == 0) {
-        return 0;
-    }
-
-    //
-    // Now open all the important datasets in the zmw group.  Some of
-    // these are optional, so flags must be set if they do not exist.
-    //
-    if (zmwGroup.ContainsObject("HoleNumber")) {
-        if (holeNumberArray.Initialize(zmwGroup, "HoleNumber") == 0) {
-            return 0;
-        }
-        readHoleNumber = true;
-    }
-    else {
-        readHoleNumber = false;
-    }
-
-    if (zmwGroup.ContainsObject("HoleStatus")) {
-        if (holeStatusArray.Initialize(zmwGroup, "HoleStatus") == 0) {
-            return 0;
-        }
-        readHoleStatus = true;
-    }
-    else {
-        readHoleStatus = false;
-    }
-
-
-    if (zmwGroup.ContainsObject("HoleXY")) {
-        if (xyArray.Initialize(zmwGroup, "HoleXY") == 0) {
-            return 0;
-        }
-        readHoleXY = true;
-    }
-    else {
-        readHoleXY = false;
-    }
-    if (numEventArray.Initialize(zmwGroup, "NumEvent") == 0) {
-        return 0;
-    }
-    nZMWEntries = numEventArray.arrayLength;
-    readNumEvent = true;
-    curZMW      = 0;
-    return 1;
-}
-
-int HDFZMWReader::Advance(int nSteps) {
-    if (curZMW >= nZMWEntries) {
-        return 0;
-    }
-    else {
-        curZMW += nSteps;
-        return 1;
-    }
-}
-
-bool HDFZMWReader::GetNext(ZMWGroupEntry &groupEntry) {
-    if (curZMW == nZMWEntries) {
-        return false;
-    }
-    if (readHoleNumber) {
-        holeNumberArray.Read(curZMW, curZMW+1, &groupEntry.holeNumber);
-    }
-    if (readHoleStatus) {
-        holeStatusArray.Read(curZMW, curZMW+1, &groupEntry.holeStatus);
-    }
-    if (readHoleXY){ 
-        int16_t holeXY[2];
-        xyArray.Read(curZMW, curZMW+1, holeXY);
-        groupEntry.x = holeXY[0];
-        groupEntry.y = holeXY[1];
-    }
-    numEventArray.Read(curZMW, curZMW+1, &groupEntry.numEvents);
-    curZMW++;
-    return true;
-}
-
-void HDFZMWReader::Close() {
-    if (readHoleNumber) {
-        holeNumberArray.Close();
-    }
-    if (readHoleStatus) {
-        holeStatusArray.Close();
-    }
-    if (readHoleXY) {
-        xyArray.Close();
-    }
-    if (readNumEvent) {
-        numEventArray.Close();
-    }
-
-    if (closeFileOnExit == true) {
-        //
-        // This instance is owner of it's reader.  Close the reader file.
-        //
-        hdfPlsFile.close();
-    }
-    zmwGroup.Close();
-
-}
-
-bool HDFZMWReader::GetHoleNumberAt(UInt index, UInt &holeNumber) {
-    if (index >= nZMWEntries) { return false; }
-    holeNumberArray.Read(index, index + 1, (UInt *)&holeNumber); 
-    return true;
-}
-
-HDFZMWReader::~HDFZMWReader() {
-    Close();
-}
diff --git a/libcpp/hdf/HDFZMWReader.hpp b/libcpp/hdf/HDFZMWReader.hpp
deleted file mode 100644
index 8cd7d2d..0000000
--- a/libcpp/hdf/HDFZMWReader.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef _BLASR_HDF_ZMW_READER_HPP_
-#define _BLASR_HDF_ZMW_READER_HPP_
-
-#include <cstdint>
-#include "H5Cpp.h"
-#include "reads/ZMWGroupEntry.hpp"
-#include "HDFArray.hpp"
-#include "HDF2DArray.hpp"
-#include "HDFGroup.hpp"
-
-class HDFZMWReader {
-public:
-    HDFGroup *parentGroupPtr;
-    HDFGroup zmwGroup;
-    HDFArray<unsigned int> holeNumberArray;
-    HDFArray<unsigned char> holeStatusArray;
-    HDF2DArray<int16_t> xyArray;
-    HDFArray<int> numEventArray;
-    bool readHoleNumber, readHoleStatus;
-    bool readHoleXY;
-    bool readNumEvent;
-    UInt curZMW;
-    UInt nZMWEntries;
-    bool  closeFileOnExit;
-    H5::H5File hdfPlsFile;
-
-    HDFZMWReader(); 
-
-    int Initialize(HDFGroup *parentGroupP); 
-
-    int Initialize(); 
-
-    int Advance(int nSteps); 
-
-    bool GetNext(ZMWGroupEntry &groupEntry); 
-
-    void Close(); 
-    
-    // Return true if get hole number at ZMW/HoleNumber[index].
-    bool GetHoleNumberAt(UInt index, UInt & holeNumber);
-
-    ~HDFZMWReader(); 
-};
-
-#endif
diff --git a/libcpp/hdf/build.mk b/libcpp/hdf/build.mk
deleted file mode 120000
index 2247f36..0000000
--- a/libcpp/hdf/build.mk
+++ /dev/null
@@ -1 +0,0 @@
-makefile
\ No newline at end of file
diff --git a/libcpp/hdf/makefile b/libcpp/hdf/makefile
deleted file mode 100644
index c92a229..0000000
--- a/libcpp/hdf/makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-all:
-
-include ../rules.mk
-include ../defines.mk
-
-CXXOPTS  += -std=c++11 -pedantic -MMD -MP
-INCLUDES += ${LIBPBDATA_INCLUDE} ${HDF5_INCLUDE} ${PBBAM_INCLUDE} ${HTSLIB_INCLUDE} ${BOOST_INCLUDE}
-DEP_LIBS += ${LIBPBDATA_LIB} ${HDF5_LIB} ${PBBAM_LIB} ${HTSLIB_LIB} ${ZLIB_LIB}
-LDFLAGS  += $(patsubst %,$(dirname %),${DEP_LIBS})
-
-all: libpbihdf.a libpbihdf.so
-
-sources := $(wildcard *.cpp)
-objects := $(sources:.cpp=.o)
-shared_objects := $(sources:.cpp=.shared.o)
-dependencies := $(objects:.o=.d) $(shared_objects:.o=.d)
-
-libpbihdf.a: $(objects)
-	$(AR) $(ARFLAGS) $@ $^
-
-libpbihdf.so: $(shared_objects) $(DEP_LIBS)
-	$(CXX) $(LD_SHAREDFLAGS) -o $@ -Wl,-soname,$@ $^
-
-clean: 
-	@rm -f libpbihdf.a libpbihdf.so
-	@rm -f $(objects) $(shared_objects) $(dependencies)
-
--include $(dependencies)
diff --git a/libcpp/hdf/old.Makefile b/libcpp/hdf/old.Makefile
deleted file mode 100644
index 1998195..0000000
--- a/libcpp/hdf/old.Makefile
+++ /dev/null
@@ -1,94 +0,0 @@
-
-include ../common.mk
-
-# To enable building a shared library, invoke as "make SHARED_LIB=true ..."
-ifneq ($(SHARED_LIB),)
-    # Generating shared library
-    CXX_SHAREDFLAGS := -fPIC
-    LD_SHAREDFLAGS  := -shared -fPIC
-    TARGET_LIB      := libpbihdf.so
-    # Developers should set these to appropriate defaults (other systems 
-    # will override these on the command line):
-    HDF5_LIB        := ../../../../prebuilt.out/prebuilt.out/hdf5/hdf5-1.8.12/centos-5/lib/libhdf5.so
-    ZLIB_LIB        := ../../../../prebuilt.tmpsrc/zlib/zlib_1.2.8/_output/install/lib/libz.so
-    HTSLIB_LIB      := ../../../staging/PostPrimary/pbbam/_output/install-build/lib/libpbbam.so
-    PBBAM_LIB       := ../../../staging/PostPrimary/pbbam/third-party/htslib/_output/install-build/lib/libhts.so
-    LIBPBDATA_LIB   := ../../../staging/PostPrimary/pbbam/third-party/htslib/_output/install-build/lib/libhts.so
-else
-    # Generating shared library
-    CXX_SHAREDFLAGS :=
-    LD_SHAREDFLAGS  :=
-    TARGET_LIB      := libpbihdf.a
-    HDF5_LIB        :=
-    ZLIB_LIB        :=
-    HTSLIB_LIB      :=
-    PBBAM_LIB       :=
-    LIBPBDATA_LIB   :=
-endif
-
-DEP_LIBS := $(HDF5_LIB) $(ZLIB_LIB) $(HTSLIB_LIB) $(PBBAM_LIB) $(PBDATA_LIB)
-
-# FIXME: remove PBDATA_INCLUDE and assign directly to LIBPBDATA_INCLUDE.
-#        Use only LIBPBDATA_INCLUDE to be consistent with the libblasr Makefile
-PBDATA_INCLUDE := ../pbdata
-LIBPBDATA_INCLUDE := $(PBDATA_INCLUDE)
-PBBAM_INCLUDE := $(PBBAM)/include
-HTSLIB_INCLUDE ?= $(HTSLIB)
-
-INCLUDES = -I$(LIBPBDATA_INCLUDE)
-
-
-ifeq ($(origin nopbbam), undefined)
-    INCLUDES += -I$(PBBAM_INCLUDE) -I$(HTSLIB_INCLUDE) -I$(BOOST_INCLUDE)
-endif
-
-ifneq ($(ZLIB_ROOT), notfound)
-	INCLUDES += -I$(ZLIB_ROOT)/include
-endif
-
-CXXOPTS := -std=c++11 -pedantic -MMD -MP
-sources := $(wildcard *.cpp)
-objects := $(sources:.cpp=.o)
-shared_objects := $(sources:.cpp=.shared.o)
-dependencies := $(objects:.o=.d) $(shared_objects:.o=.d)
-
-ifneq ($(HDF5_INC),)
-HDF_HEADERS :=
-INCLUDES += -I$(HDF5_INC)
-else
-HDF_HEADERS := hdf5-1.8.12-headers
-INCLUDES += -I./$(HDF_HEADERS)/src -I./$(HDF_HEADERS)/c++/src
-endif
-
-all : CXXFLAGS ?= -O3
-
-debug : CXXFLAGS ?= -g -ggdb -fno-inline
-
-profile : CXXFLAGS ?= -Os -pg
-
-g : CXXFLAGS ?= -g -ggdb -fno-inline -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -fno-omit-frame-pointer 
-
-all debug profile g: $(HDF_HEADERS) $(TARGET_LIB)
-
-libpbihdf.a: $(objects)
-	$(AR_pp) $(ARFLAGS) $@ $^
-
-libpbihdf.so: $(shared_objects) $(DEP_LIBS)
-	$(CXX) $(LD_SHAREDFLAGS) -o $@ $^
-
-%.o: %.cpp
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCLUDES) -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.o) $(@:%.o=%.d)" -c $< -o $@
-
-%.shared.o: %.cpp
-	$(CXX) $(CXX_SHAREDFLAGS) $(CXXOPTS) $(CXXFLAGS) $(INCLUDES) -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.o) $(@:%.o=%.d)" -c $< -o $@
-
-$(HDF_HEADERS): 
-	curl -k -L https://www.dropbox.com/s/8971bcyy5o42rxb/hdf5-1.8.12-headers.tar.bz2\?dl\=0 | tar xjf - 
-
-# .INTERMEDIATE: $(objects)
-
-clean: 
-	@rm -f libpbihdf.a libpbihdf.so
-	@rm -f $(objects) $(shared_objects) $(dependencies)
-
--include $(dependencies)
diff --git a/libcpp/makefile b/libcpp/makefile
deleted file mode 100644
index 64a113b..0000000
--- a/libcpp/makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-SHELL=/bin/bash
-
-.PHONY: all debug profile gtest clean cleanall
-
-# $Change: 140182 $ 
-
-all:
-	${MAKE} -C pbdata all
-	${MAKE} -C hdf all
-	${MAKE} -C alignment all
-
-debug:
-	${MAKE} subs
-
-profile:
-	${MAKE} subs
-
-g:
-	${MAKE} subs
-
-gtest:
-	${MAKE} -C unittest -f normal.Makefile gtest
-
-clean:
-	${MAKE} -C pbdata clean
-	${MAKE} -C hdf clean
-	${MAKE} -C alignment clean
-	#@${MAKE} -C unittest clean
-
-cleanall: clean
-
-# Note: hdf/ will not build if nohdf=1 is configured.
diff --git a/libcpp/old.Makefile b/libcpp/old.Makefile
deleted file mode 100644
index 1e52e1d..0000000
--- a/libcpp/old.Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-SHELL=/bin/bash
-
-.PHONY: all debug profile gtest clean cleanall
-
-subs:
-	${MAKE} -C pbdata all
-	${MAKE} -C hdf all
-	${MAKE} -C alignment all
-
-debug:
-	${MAKE} subs
-
-profile:
-	${MAKE} subs
-
-g:
-	${MAKE} subs
-
-gtest:
-	${MAKE} -C unittest gtest
-
-clean:
-	@${MAKE} -C pbdata clean
-	@${MAKE} -C hdf clean
-	@${MAKE} -C alignment clean
-	@${MAKE} -C unittest clean
-
-cleanall: clean
diff --git a/libcpp/pbdata/.gitignore b/libcpp/pbdata/.gitignore
deleted file mode 100644
index 4c3cf0b..0000000
--- a/libcpp/pbdata/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/libconfig.h
-/defines.mk
diff --git a/libcpp/pbdata/CCSSequence.cpp b/libcpp/pbdata/CCSSequence.cpp
deleted file mode 100644
index 1f8e5b9..0000000
--- a/libcpp/pbdata/CCSSequence.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-#include "CCSSequence.hpp"
-
-void CCSSequence::Free() {
-    numPasses = 0;
-    numConsensusBases = 0;
-    SMRTSequence::Free();
-    unrolledRead.Free();
-    /*
-    ClearMemory(passStartPulse);
-    ClearMemory(passNumPulses);
-    ClearMemory(passStartBase);
-    ClearMemory(passNumBases);
-    ClearMemory(passDirection);
-    ClearMemory(adapterHitBefore);
-    ClearMemory(adapterHitAfter);
-    ClearMemory(adapterHitConfidence);
-    */
-}
-
-int CCSSequence::GetStorageSize() {
-    return SMRTSequence::GetStorageSize() + unrolledRead.GetStorageSize();
-}
-
-//
-// In the first iteration, Explode simply pulls the subreads out
-// that are used in the ccs.   Eventually, it will pull out all
-// high-quality subreads.
-// 
-void CCSSequence::Explode(std::vector<SMRTSequence> &subreads) {
-    subreads.resize(numPasses);
-    int subreadIndex;
-    for (subreadIndex = 0; subreadIndex < numPasses; subreadIndex++) {
-        subreads[subreadIndex].ReferenceSubstring(this->unrolledRead, passStartBase[subreadIndex], passNumBases[subreadIndex]);
-    }
-}
diff --git a/libcpp/pbdata/CCSSequence.hpp b/libcpp/pbdata/CCSSequence.hpp
deleted file mode 100644
index 15e89d6..0000000
--- a/libcpp/pbdata/CCSSequence.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef _BLASR_CCS_SEQUENCE_HPP_
-#define _BLASR_CCS_SEQUENCE_HPP_
-
-#include "Enumerations.h"
-#include "SMRTSequence.hpp"
-#include "VectorUtils.hpp"
-
-//
-// A CCS Sequence is both a SMRTSequence itself, and contains a list of SMRTSequences.
-//
-class CCSSequence : public SMRTSequence {
- public:
-	UInt numPasses;
-	UInt numConsensusBases;
-	std::vector<DNALength> passStartPulse, passNumPulses, passStartBase, passNumBases;
-	std::vector<Byte> passDirection;
-	std::vector<Byte>      adapterHitBefore, adapterHitAfter, adapterHitConfidence;
-	//
-	// The CCS Sequence originates from a full length read.  That read
-	// is stored here for reference later on.  The ccs read is stored in
-	// the inherited fields from SMRTSequence so that it may be worked
-	// with as if it were a normal non-ccs sequence.
-	//
-	SMRTSequence      unrolledRead;
-
-    inline ~CCSSequence();
-	void Free(); 
-
-	int GetStorageSize(); 
-	//
-	//
-	// In the first iteration, Explode simply pulls the subreads out
-	// that are used in the ccs.   Eventually, it will pull out all
-	// high-quality subreads.
-	// 
-	void Explode(std::vector<SMRTSequence> &subreads); 
-};
-
-inline CCSSequence::~CCSSequence() {
-    CCSSequence::Free();
-}
-
-#endif // _BLASR_CCS_SEQUENCE_HPP_
diff --git a/libcpp/pbdata/ChangeListID.cpp b/libcpp/pbdata/ChangeListID.cpp
deleted file mode 100644
index 2b99c42..0000000
--- a/libcpp/pbdata/ChangeListID.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
-#include <sstream>
-#include "ChangeListID.hpp"
-
-using namespace std;
-
-ChangeListID::ChangeListID() {}
-ChangeListID::ChangeListID(string &idStringP) {
-    StoreString(idStringP);
-}
-
-void ChangeListID::StoreString(string &idStringP) {
-    idString = idStringP;
-    stringstream ss(idString);
-    string part;
-    intVer.clear();
-    while(getline(ss, part, '.')) {
-        intVer.push_back(atoi(part.c_str()));
-    }
-}
-
-int ChangeListID::LessThan(ChangeListID &rhs, int depth) {
-    if (depth == 0) {
-        depth = min(intVer.size(), rhs.intVer.size());
-    }
-    int i;
-    for (i = 0; i < depth; i++) {
-        if (intVer[i] != rhs.intVer[i]) {
-            return intVer[i] < rhs.intVer[i];
-        }
-    }
-    return 0; // making it here they are equal
-}
-
-
-QVScale ChangeListID::DetermineQVScaleFromChangeListID() {
-    ChangeListID phredCL;
-    phredCL.intVer.resize(3);
-    phredCL.intVer[0] = 1; phredCL.intVer[1] = 2; phredCL.intVer[2] = 2;
-    if (LessThan(phredCL)) {
-        return POverOneMinusP;
-    }
-    else {
-        return PHRED;
-    }
-}
-
-// utility method
-void AppendPerforceChangelist(string perforceVersionString, string &version) {
-    if (perforceVersionString.size() > 12) {
-        version.insert(version.size(), ".");
-        version.insert(version.size(), perforceVersionString, 9, perforceVersionString.size() - 11);
-    }
-}
-
-std::string ChangeListID::GetVersion() {
-    stringstream ss;
-    if (intVer.size() == 1) {
-        ss << intVer[0];
-    } else if(intVer.size() >= 2) {
-        ss << intVer[0] << "." << intVer[1];
-    }
-    return ss.str();
-}
-
diff --git a/libcpp/pbdata/ChangeListID.hpp b/libcpp/pbdata/ChangeListID.hpp
deleted file mode 100644
index eda525e..0000000
--- a/libcpp/pbdata/ChangeListID.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef UTILS_CHANGELIST_ID_H_
-#define UTILS_CHANGELIST_ID_H_
-
-#include <string>
-#include <vector>
-#include <stdlib.h>
-#include <sstream>
-
-#ifndef _QVScale_
-#define _QVScale_
-enum QVScale {POverOneMinusP, // popularized by Illumina
-              PHRED};
-#endif
-
-class ChangeListID {
-public:
-    std::string idString;
-    std::vector<std::string> strVer;
-    std::vector<int> intVer;
-    ChangeListID();
-    ChangeListID(std::string &idStringP); 
-
-    void StoreString(std::string &idStringP); 
-
-    int LessThan(ChangeListID &rhs, int depth = 0); 
-
-    QVScale DetermineQVScaleFromChangeListID();
-
-    /// Get version string from ChangeListID.
-    /// changeListID "2.3.0.144058" --> Version "2.3".
-    /// \returns version string
-    std::string GetVersion();
-
-};
-
-void AppendPerforceChangelist(std::string perforceVersionString, std::string &version); 
-
-#endif
diff --git a/libcpp/pbdata/CommandLineParser.cpp b/libcpp/pbdata/CommandLineParser.cpp
deleted file mode 100644
index 2f1c92e..0000000
--- a/libcpp/pbdata/CommandLineParser.cpp
+++ /dev/null
@@ -1,846 +0,0 @@
-#include "CommandLineParser.hpp"
-
-CommandLineParser::
-CommandLineParser() {
-    lineLength = 80;
-    numUnnamedOptions = 0;
-    specialVersionFlag = false;
-}
-
-void CommandLineParser::
-SetProgramSummary(std::string summaryp) {
-    programSummary = summaryp;
-}
-	
-void CommandLineParser::
-SetHelp(std::string _help) {
-    helpString = _help;
-}
-
-void CommandLineParser::
-SetConciseHelp(std::string _conciseHelp) {
-    conciseHelp = _conciseHelp;
-}
-
-void CommandLineParser::
-SetProgramName(std::string namep) {
-    programName = namep;
-}
-
-void CommandLineParser::
-SetVersion(std::string versionp) {
-    specialVersionFlag = true;
-    version = versionp;
-}
-	
-void CommandLineParser::
-SetVerboseHelp(std::string helpp) {
-    verboseHelp = helpp;
-}
-
-void CommandLineParser::
-SetExamples(std::string examplesp) {
-    examples = examplesp;
-}
-
-void CommandLineParser::
-RegisterPreviousFlagsAsHidden() {
-    VectorIndex i;
-    for (i = 0; i < named.size(); i++ ){ 
-        named[i] = false;
-    }
-    numUnnamedOptions = named.size();
-}
-
-void CommandLineParser::
-RegisterVersionFlag(bool *value) {
-    specialVersionFlag = true;
-    RegisterFlagOption("version", value, "Print version number.");
-}
-
-
-void CommandLineParser::
-RegisterFlagOption(std::string option, bool *value, 
-    std::string description, bool required) {
-
-    named.push_back(true);
-    optionList.push_back(option);
-    optionTypeList.push_back(Flag);
-    optionValueIndexList.push_back(boolValues.size());
-    boolValues.push_back(value);
-    descriptions.push_back(description);
-    optionRequired.push_back(required);
-    optionUsed.push_back(false);
-}
-
-void CommandLineParser::
-RegisterIntOption(std::string option, int *value, 
-    std::string description, OptionType type, bool required, bool hidden) {
-
-    named.push_back(true);
-    optionList.push_back(option);
-    optionTypeList.push_back(type);
-    optionValueIndexList.push_back(intValues.size());
-    intValues.push_back(value);
-    descriptions.push_back(description);
-    optionRequired.push_back(required);
-    optionUsed.push_back(false);
-}
-
-void CommandLineParser::
-RegisterFloatOption(std::string option, float *value, 
-    std::string description, OptionType type, bool required) {
-
-    named.push_back(true);
-    optionList.push_back(option);
-    optionTypeList.push_back(type);
-    optionValueIndexList.push_back(floatValues.size());
-    floatValues.push_back(value);
-    descriptions.push_back(description);
-    optionRequired.push_back(required);
-    optionUsed.push_back(false);
-}
-
-void CommandLineParser::
-RegisterStringOption(std::string option, std::string *value,
-    std::string description, bool required) {
-
-    named.push_back(true);
-    optionList.push_back(option);
-    optionTypeList.push_back(String);
-    optionValueIndexList.push_back(stringValues.size());
-    stringValues.push_back(value);
-    descriptions.push_back(description);
-    optionRequired.push_back(required);
-    optionUsed.push_back(false);
-}
-
-void CommandLineParser::
-RegisterStringListOption(std::string option, 
-    std::vector<std::string> *value, std::string description, 
-    bool required) {
-
-    named.push_back(true);
-    optionList.push_back(option);
-    optionTypeList.push_back(StringList);
-    optionValueIndexList.push_back(stringListValues.size());
-    stringListValues.push_back(value);
-    descriptions.push_back(description);
-    optionRequired.push_back(required);
-    optionUsed.push_back(false);
-}
-
-
-void CommandLineParser::
-RegisterIntListOption(std::string option, std::vector<int> *value, 
-    std::string description, bool required) {
-
-    named.push_back(true);
-    optionList.push_back(option);
-    optionTypeList.push_back(IntegerList);
-    optionValueIndexList.push_back(intListValues.size());
-    intListValues.push_back(value);
-    descriptions.push_back(description);
-    optionRequired.push_back(required);
-    optionUsed.push_back(false);
-}
-
-
-int CommandLineParser::
-IsOption(char *str) {
-    int len = strlen(str);
-    if (len == 0) {
-        return 0;
-    }
-    else {
-        return str[0] == '-';
-    }
-}
-
-int CommandLineParser::
-IsInteger(char *str) {
-    int len = strlen(str);
-    int i;
-    if (len == 0)
-        return 0;
-    if (!(str[0] == '-' or (str[0] >= '0' and str[0] <= '9')))
-        return 0;
-    for (i = 1; i < len; i++) {
-        if (!isdigit(str[i]))
-            return 0;
-    }
-    return 1;
-}
-
-int CommandLineParser::
-IsFloat(char *str) {
-    int len = strlen(str);
-    int i;
-    if (len == 0) {
-        return 0;
-    }
-    int nDot = 0;
-    int nDigit = 0;
-    for (i = 0; i < len; i++) {
-        if (isdigit(str[i])) nDigit++;
-        if (str[i] == '.') nDot++;
-    }
-    if (nDot > 1)
-        return 0;
-    if (nDigit == 0)
-        return 0;
-    if (!isdigit(str[0]) and str[0] != '-' and str[0] != '.')
-        return 0;
-    //
-    // passed all checks, ok!
-    //
-    return 1;
-}
-
-int CommandLineParser::
-FindOption(char *option) {
-    VectorIndex i;
-    for (i = 0; i < optionList.size(); i++ ){ 
-        if (optionList[i].compare(option) == 0) {
-            return i;
-        }
-    }
-    return -1;
-}
-
-void CommandLineParser::
-CommandLineToString(int argc, char* argv[], 
-    std::string& commandLine) {
-
-    std::stringstream outstrm;
-    int i;
-    for (i = 0; i< argc; i++) {
-        outstrm << argv[i] << " ";
-    }
-    commandLine = outstrm.str();
-}
-
-
-int CommandLineParser::
-ParseCommandLine(int argc, char* argv[], bool isProgramNameOnlyAllowed) {
-    std::vector<std::string> ufv;
-    return ParseCommandLine(argc, argv, ufv, isProgramNameOnlyAllowed);
-}
-
-int CommandLineParser::
-ParseCommandLine(int argc, char* argv[], 
-    std::vector<std::string> &unflaggedValues, bool isProgramNameOnlyAllowed) {
-
-    VectorIndex argi = 1;
-    int curUnnamedOption = 0;
-    ErrorValue ev; 
-    //
-    // Check for a help flag.
-    //
-    int i;
-    for (i = 1; i < argc; i++) {
-        if (strcmp(argv[i], "-h") == 0 or
-            (strcmp(argv[i], "--help") == 0 and 
-            // Check to see if there is non default argument for help
-            IsOption(argv[i]) and !FindOption(&argv[i][1]))) {
-            PrintUsage();
-            exit(0);
-        }
-        else if (strcmp(argv[i], "-version") == 0 and specialVersionFlag) {
-            //
-            // Using -version is an early exit since programs will print the 
-            // version and then return.
-            //
-            assert(IsOption(argv[i]) and FindOption(&argv[argi][1]));
-            PrintVersion();
-            exit(0);
-        }
-    }
-
-    if ( !isProgramNameOnlyAllowed ) {
-        if ( argc == 1 || argc < numUnnamedOptions) {
-            if (conciseHelp != "") {
-                std::cout << conciseHelp;
-            }
-            else {
-                PrintUsage();
-            }
-            exit(0);
-        }
-    }
-
-    // 
-    // Now parse the (probably optional) options.
-    //
-    while (argi < (VectorIndex) argc){
-        if (IsOption(argv[argi])) {
-            // 
-            // Find which option is specified.
-            //
-            int optionIndex = FindOption(&argv[argi][1]);
-            if (optionIndex == -1) {
-                ev = CLBadOption;
-            }
-            else {
-                argi++;
-
-                //
-                // Record that this option has been specified.
-                //
-                optionUsed[optionIndex] = true;
-                ev = ParseOption(optionIndex, argi, argc, argv);
-            }
-            if (ev != CLGood) {
-                PrintUsage();
-                PrintErrorMessage(ev, &argv[argi][1]);
-                exit(1);
-            }
-        }
-        else {
-            unflaggedValues.push_back(argv[argi]);
-            if (curUnnamedOption < numUnnamedOptions) {
-                ev = ParseOption(curUnnamedOption, argi, argc, argv);
-                optionUsed[curUnnamedOption] = true;
-                curUnnamedOption++;
-            }
-            else {
-                ++argi;
-            }
-        }
-    }
-
-    ev = PrintErrorOnMissingOptions();
-    if (ev != CLGood) {
-        PrintUsage();
-        PrintErrorMessage(ev, &argv[argi][1]);
-        exit(1);
-    }
-    return 1;
-}
-
-CommandLineParser::ErrorValue CommandLineParser::
-ParseOption(VectorIndex optionIndex, VectorIndex &argi, 
-    int argc, char *argv[]) {
-
-    ErrorValue ev;
-    // 
-    // Extract the value type of this option.
-    //
-    int optionValueIndex = optionValueIndexList[optionIndex];
-    OptionType optionType = optionTypeList[optionIndex];
-
-    switch(optionType) {
-        case(Flag):
-            ev = ParseFlag(optionValueIndex, argi, argc, argv);
-            break;
-        case(Integer):
-            ev = ParseInteger(optionValueIndex, argi, argc, argv);
-            break;
-        case(PositiveInteger):
-            ev = ParsePositiveInteger(optionValueIndex, argi, argc, argv);
-            break;
-        case(NonNegativeInteger):
-            ev = ParseNonNegativeInteger(optionValueIndex, argi, argc, argv);
-            break;
-        case(Float):
-            ev = ParseFloat(optionValueIndex, argi, argc, argv);
-            break;
-        case( PositiveFloat):
-            ev = ParsePositiveFloat(optionValueIndex, argi, argc, argv);
-            break;
-        case(NonNegativeFloat):
-            ev = ParseNonNegativeFloat(optionValueIndex, argi, argc, argv);
-            break;
-        case(String):
-            ev = ParseString(optionValueIndex, argi, argc, argv);
-            break;
-        case(StringList):
-            ev = ParseStringList(optionValueIndex, argi, argc, argv);
-            break;
-        case(IntegerList):
-            ev = ParseIntList(optionValueIndex, argi, argc, argv);
-            break;
-    };
-    if (ev == CLGood) {
-        optionUsed[optionValueIndex] = true;
-    }
-    return ev;
-}
-
-void CommandLineParser::
-PrintErrorMessage(ErrorValue ev, char *option) {
-    switch(ev) {
-        case(CLBadOption):
-            std::cout << "ERROR: " << option 
-                      << " is not a valid option." << std::endl;
-            break;
-        case(CLMissingValue):
-            std::cout << "ERROR: " << option 
-                      << " requires a value." << std::endl;
-            break;
-        case(CLInvalidInteger):
-            std::cout << "ERROR: " << option  << " requires an "
-                      << "integer value (...,-2,-1,0,1,2,...)" 
-                      << std::endl;
-            break;
-        case(CLInvalidPositiveInteger):
-            std::cout << "ERROR: " << option 
-                      << " requires an integer greater than 0."
-                      << std::endl;
-            break;
-        case(CLInvalidNonNegativeInteger):
-            std::cout << "ERROR: " << option 
-                      << " requires an interger greater " 
-                      << "than or equal to 0." << std::endl;
-            break;
-        case(CLInvalidFloat):
-            std::cout << "ERROR: " << option 
-                      << " requires a number as input." << std::endl;
-            break;
-        case(CLInvalidPositiveFloat):
-            std::cout << "ERROR: " << option 
-                      << " must be greater than 0 (eg. .0001)." 
-                      << std::endl;
-            break;
-        case (CLInvalidNonNegativeFloat):
-            std::cout << "ERROR: " << option 
-                      << " must be greater than or equal to 0."
-                      << std::endl;
-            break;
-        default:
-            break;
-    };
-}
-
-
-CommandLineParser::ErrorValue CommandLineParser::
-ParseFlag(VectorIndex optionValueIndex, VectorIndex &argi, 
-    int argc, char *argv[]) {
-
-    *boolValues[optionValueIndex] = !(*boolValues[optionValueIndex]);
-    return CLGood;
-}
-
-
-CommandLineParser::ErrorValue CommandLineParser::
-ParseInteger(VectorIndex optionValueIndex, VectorIndex &argi, 
-    int argc, char *argv[]) {
-
-    if (argi >= argc) {
-        --argi;
-        return CLMissingValue;
-    }
-    if (IsInteger(argv[argi])) {
-        *intValues[optionValueIndex] = atoi(argv[argi]);
-        ++argi;
-        return CLGood;
-    }
-    else {
-        // reset argi to the flag that was broken.
-        --argi;
-        return CLInvalidInteger;
-    }
-}
-
-
-CommandLineParser::ErrorValue CommandLineParser::
-ParsePositiveInteger(VectorIndex optionValueIndex, 
-    VectorIndex &argi, int argc, char *argv[]) {
-
-    int value;
-    if (argi >= argc) {
-        --argi;
-        return CLMissingValue;
-    }
-    if (IsInteger(argv[argi])) {
-        value =  atoi(argv[argi]);
-        if (value > 0) {
-            *intValues[optionValueIndex] = value;
-            ++argi;
-            return CLGood;
-        }
-    }
-    // reset argi to the flag that was broken.
-    --argi;
-    return CLInvalidPositiveInteger;
-}
-
-CommandLineParser::ErrorValue CommandLineParser::
-ParseNonNegativeInteger(VectorIndex optionValueIndex,
-    VectorIndex &argi, int argc, char *argv[]) {
-
-    int value;
-    if (argi >= argc) {
-        --argi;
-        return CLMissingValue;
-    }
-    if (IsInteger(argv[argi])) {
-        value =  atoi(argv[argi]);
-        if (value >= 0) {
-            *intValues[optionValueIndex] = value;
-            ++argi;
-            return CLGood;
-        }
-    }
-    // reset argi to the flag that was broken.
-    --argi;
-    return CLInvalidNonNegativeInteger;
-}
-
-
-CommandLineParser::ErrorValue CommandLineParser::
-ParseFloat(VectorIndex optionValueIndex, 
-    VectorIndex &argi, int argc, char *argv[]) {
-
-    if (argi >= argc) {
-        --argi;
-        return CLMissingValue;
-    }
-    if (IsFloat(argv[argi])) {
-        *floatValues[optionValueIndex] = atof(argv[argi]);
-        ++argi;
-        return CLGood;
-    }
-    else {
-        // reset argi to the flag that was broken.
-        --argi;
-        return CLInvalidFloat;
-    }
-}
-
-
-CommandLineParser::ErrorValue CommandLineParser::
-ParsePositiveFloat(VectorIndex optionValueIndex, 
-    VectorIndex &argi, int argc, char *argv[]) {
-
-    float value;
-    if (argi >= argc) {
-        --argi;
-        return CLMissingValue;
-    }
-    if (IsFloat(argv[argi])) {
-        value = atof(argv[argi]);
-        if (value > 0) {
-            *floatValues[optionValueIndex] = value;
-            ++argi;
-            return CLGood;
-        }
-    }
-    // reset argi pointer to bad flag
-    --argi;
-    return CLInvalidPositiveFloat;
-}
-
-
-CommandLineParser::ErrorValue CommandLineParser::
-ParseNonNegativeFloat(VectorIndex optionValueIndex, 
-    VectorIndex &argi, int argc, char *argv[]) {
-
-    float value;
-    if (argi >= argc) {
-        --argi;
-        return CLMissingValue;
-    }
-    if (IsFloat(argv[argi])) {
-        value = atof(argv[argi]);
-        if (value >= 0) {
-            *floatValues[optionValueIndex] = value;
-            ++argi;
-            return CLGood;
-        }
-    }			
-    // reset argi to the flag that was broken.
-    --argi;
-    return CLInvalidNonNegativeFloat;
-}
-
-
-CommandLineParser::ErrorValue CommandLineParser::
-ParseString(VectorIndex optionValueIndex, 
-    VectorIndex &argi, int argc, char *argv[]) {
-
-    if (argi >= argc) {
-        --argi;
-        return CLMissingValue;
-    }
-    if (argi < (unsigned int) argc) {
-        *stringValues[optionValueIndex] = argv[argi];
-        ++argi;
-        return CLGood;
-    }
-    else {
-        // reset argi to the flag that was broken.
-        --argi;
-        return CLMissingValue;
-    }
-}
-
-bool CommandLineParser::
-IsValuedOption(OptionType optType) {
-    if (optType == Integer or 
-            optType == PositiveInteger or
-            optType == NonNegativeInteger or
-            optType == Float or 
-            optType == PositiveFloat or 
-            optType == NonNegativeFloat or
-            optType == String or
-            optType == StringList) {
-        return true;
-    }
-    else {
-        return false;
-    }
-}
-
-
-CommandLineParser::ErrorValue CommandLineParser::
-ParseIntList(VectorIndex optionValueIndex, 
-    VectorIndex &argi, int argc, char *argv[]) {
-    
-    if (argi >= argc) {
-        --argi;
-        return CLMissingValue;
-    }
-    ErrorValue ev;
-    ev = CLMissingValue;
-    while (argi < (unsigned int) argc and !IsOption(argv[argi])) {
-        if (IsInteger(argv[argi])) {
-            intListValues[optionValueIndex]->push_back(atoi(argv[argi]));
-            ++argi;
-            ev = CLGood;
-        }
-        else {
-            ev = CLInvalidInteger;
-            --argi;
-            break;
-        }
-    }
-    if (ev == CLMissingValue) {
-        // reset argi to the flag that was broken.
-        --argi;
-    }
-    return ev;
-}
-
-CommandLineParser::ErrorValue CommandLineParser::
-ParseStringList(VectorIndex optionValueIndex, 
-    VectorIndex &argi, int argc, char *argv[]) {
-
-    if (argi >= argc) {
-        --argi;
-        return CLMissingValue;
-    }
-    ErrorValue ev;
-    ev = CLMissingValue;
-    while (argi < (unsigned int) argc and !IsOption(argv[argi])) {
-        stringListValues[optionValueIndex]->push_back(argv[argi]);
-        ++argi;
-        ev = CLGood;
-    }
-    if (ev == CLMissingValue) {
-        // reset argi to the flag that was broken.
-        --argi;
-    }
-    return ev;
-}
-
-
-void CommandLineParser::
-PrintVersion() {
-    std::cout << programName << "\t" << version << std::endl;
-}
-
-
-void CommandLineParser::
-PrintUsage() {
-    std::ios::fmtflags f = std::cout.flags();
-    if (helpString != "") {
-        std::cout << helpString << std::endl;
-        return;
-    }
-    else {
-        if (programSummary.size() > 0) {
-            std::cout << programName << " ";
-
-            PrintIndentedText(std::cout, programSummary, 
-                programName.size(), lineLength);
-
-            std::cout << std::endl;
-        }
-        std::cout << std::endl << "usage: " << programName;
-        VectorIndex i = 0;
-        int maxOptionLength = GetMaxOptionLength();
-        while (i < optionList.size() and named[i] == false) {
-            std::cout << " ";
-            if (optionRequired[i] == false) {
-                std::cout << "[";
-            }
-            std::cout << optionList[i];
-            if (optionRequired[i] == false) {
-                std::cout << "]";
-            }
-            i++;
-        }
-        if (i < optionList.size()) {
-            std::cout << " [options] ";
-        }
-        std::cout << std::endl << std::endl;
-        i = 0;
-        while (i < optionList.size() and named[i] == false) { 
-            if (!named[i]) {
-                std::cout << "   " << std::setw(maxOptionLength) 
-                          << std::left << optionList[i] << std::endl;
-
-                PrintIndentedText(cout, descriptions[i], 15, 
-                    (int)lineLength, 15);
-
-                std::cout << std::endl;
-            }
-            i++;
-        }
-        for (; i < optionList.size(); i++) {
-            std::string wholeName = "-";
-            wholeName += optionList[i];
-            if (IsValuedOption(optionTypeList[i])) {
-                wholeName += " value ";
-            }
-            std::cout << "  "   << std::setw(maxOptionLength) 
-                      << std::left <<  wholeName << std::endl;
-
-            PrintIndentedText(cout, descriptions[i], 15, 
-                (int)lineLength, 15);
-            
-            std::cout << std::endl;
-        }
-    }
-    if (examples.size() > 0) {
-        std::cout << std::endl << std::endl;
-        PrintIndentedText(cout, examples, 5, (int) lineLength, 5);
-        std::cout << std::endl;
-    }
-    std::cout.flags(f);
-}
-
-int CommandLineParser::
-GetNextWordLength(std::string &text, int pos) {
-    int startPos = pos;
-    int textLength = text.size();
-    while (pos < textLength and (!IsWhitespace(text[pos]))) {
-        pos++;
-    }
-    return pos - startPos;
-}
-
-void CommandLineParser::
-PrintIndentedText(std::ostream &out, std::string &text, 
-    int allLineIndent, int lineLength, int firstLineIndent) {
-
-    int textPos = 0;
-    std::vector<std::string> words;
-    ToWords(text, words);
-    int w = 0;
-    int wordsOnLine;
-    int curLineLength;
-    int curLineIndent = 0;
-    int i;
-    if (firstLineIndent == 0) {
-        curLineIndent = 0;
-        curLineLength = allLineIndent;
-    }
-    else {
-        for (i = 0; i < firstLineIndent; i++) {
-            out << " ";
-        }
-        curLineIndent = allLineIndent;
-        curLineLength = allLineIndent;
-    }
-    std::string indentation;
-    indentation.insert(0, allLineIndent, ' ');
-    int textLength = text.size();
-    while (textPos < textLength) {
-        // Print some whitespace
-        while (textPos < textLength and 
-               curLineLength < lineLength and 
-               IsWhitespace(text[textPos])) {
-            out << text[textPos];
-            // Some extra logic in case 
-            if (text[textPos] == '\n') {
-                // an extra line was printed, so skip to the next line.
-                curLineLength = lineLength + 1; 
-                // done printing this line.
-                curLineLength = 0;
-                if (textPos < textLength) {
-                    out << indentation;
-                    curLineLength = allLineIndent;
-                }
-            }
-            else {
-                curLineLength++;
-                if (curLineLength == lineLength) {
-                    std::cout << std::endl;
-                    curLineLength = 0;
-                    if (textPos < textLength) {
-                        out << indentation;
-                        curLineLength = allLineIndent;
-                    }
-                }
-            }
-            textPos++;
-        }
-        // Possibly print a word.
-        if (!IsWhitespace(text[textPos])) {
-            int nextWordLength = GetNextWordLength(text, textPos);
-            if (nextWordLength + curLineLength >= lineLength) {
-                //
-                // The next word runs past the end of this line, 
-                // print it on a newline, or print part of it on 
-                // this line if the whole word wraps.
-                //
-                if (nextWordLength > lineLength) {
-                    // This word will never fit on a line, print part of it.
-                    int substringLength = lineLength - curLineLength;
-                    for (; curLineLength < lineLength; 
-                         curLineLength++, textPos++) {
-                        out << text[textPos];
-                    }
-                }
-                out << std::endl;
-                out << indentation;
-                curLineLength = allLineIndent;
-            }
-            else {
-                int i;
-                for (i = 0; i < nextWordLength; 
-                     i++, textPos++, curLineLength++) {
-                    out << text[textPos];
-                }
-            }
-        }
-    }
-}
-
-unsigned int  CommandLineParser::
-GetMaxOptionLength() {
-    VectorIndex i;
-    VectorIndex maxLength = 0;
-    for (i = 0; i < optionList.size(); i++ ){
-        if (optionList[i].size() > maxLength)
-            maxLength = optionList[i].size();
-    }
-    return maxLength;
-}
-
-
-CommandLineParser::ErrorValue  CommandLineParser::
-PrintErrorOnMissingOptions() {
-    VectorIndex i;
-    ErrorValue ev = CLGood;
-    for (i = 0; i < optionList.size(); i++ ){ 
-        if (optionRequired[i] and !optionUsed[i]) {
-            std::cout << "ERROR, the option " << optionList[i]
-                      << " must be specified." << std::endl;
-            ev = CLMissingOption;
-        }
-    }
-    return ev;
-}
diff --git a/libcpp/pbdata/CommandLineParser.hpp b/libcpp/pbdata/CommandLineParser.hpp
deleted file mode 100644
index 8cc7a8e..0000000
--- a/libcpp/pbdata/CommandLineParser.hpp
+++ /dev/null
@@ -1,175 +0,0 @@
-#ifndef _BLASR_COMMAND_LINE_PARSER_HPP_
-#define _BLASR_COMMAND_LINE_PARSER_HPP_
-
-#include <vector>
-#include <cstring>
-#include <iostream>
-#include <iomanip>
-#include <stdlib.h>
-#include <assert.h>
-#include "Types.h"
-#include <sstream>
-#include "StringUtils.hpp"
-
-class CommandLineParser {
-public:
-    enum ErrorValue {
-        CLGood,
-        CLBadOption,
-        CLMissingOption,
-        CLMissingValue,
-        CLInvalidInteger,
-        CLInvalidPositiveInteger,
-        CLInvalidNonNegativeInteger,
-        CLInvalidFloat,
-        CLInvalidPositiveFloat,
-        CLInvalidNonNegativeFloat };
-
-
-    enum OptionType {
-        Flag,
-        Integer,
-        PositiveInteger, // > 0
-        NonNegativeInteger, // >= 0
-        IntegerList,
-        Float,
-        PositiveFloat,  // > 0
-        NonNegativeFloat, // >= 0
-        String,
-        StringList };
-
-    std::vector<bool*> boolValues;
-    std::vector<int*> intValues;
-    std::vector<float*> floatValues;
-    std::vector<std::string*> stringValues;
-    std::vector<std::vector<std::string> *>stringListValues;
-    std::vector<std::vector<int> *> intListValues;
-    std::vector<int*> flagList;
-    std::vector<std::string> optionList;
-    std::vector<OptionType>    optionTypeList;
-    std::vector<int>    optionValueIndexList;
-    std::vector<std::string> descriptions;
-    std::vector<char>   optionRequired;
-    std::vector<char>   optionUsed;
-    std::vector<char>   named;
-
-    std::string programName;
-    std::string programSummary;
-    std::string conciseHelp;
-    std::string verboseHelp;
-    std::string helpString;
-    std::string examples;
-    std::string version;
-
-    int lineLength;
-    int numUnnamedOptions;
-    bool specialVersionFlag;
-
-    CommandLineParser();
-
-    void SetProgramSummary(std::string summaryp);
-
-    void SetHelp(std::string _help);
-
-    void SetConciseHelp(std::string _conciseHelp) ;
-
-    void SetProgramName(std::string namep);
-
-    void SetVersion(std::string versionp);
-
-    void SetVerboseHelp(std::string helpp);
-
-    void SetExamples(std::string examplesp);
-
-    void RegisterPreviousFlagsAsHidden();
-
-    void RegisterVersionFlag(bool *value);
-
-    void RegisterFlagOption(std::string option, bool *value, 
-        std::string description, bool required=false);
-
-    void RegisterIntOption(std::string option, int *value, 
-        std::string description, OptionType type, 
-        bool required=false, bool hidden=false);
-
-    void RegisterFloatOption(std::string option, float *value, 
-        std::string description, OptionType type, bool required=false);
-
-    void RegisterStringOption(std::string option, std::string *value, 
-        std::string description, bool required=false);
-
-    void RegisterStringListOption(std::string option, 
-        std::vector<std::string> *value, std::string description, 
-        bool required=false);
-
-    void RegisterIntListOption(std::string option, std::vector<int> *value, 
-        std::string description, bool required=false);
-
-    int IsOption(char *str);
-
-    int IsInteger(char *str);
-
-    int IsFloat(char *str);
-
-    int FindOption(char *option);
-
-    static void CommandLineToString(int argc, char* argv[], 
-        std::string& commandLine);
-
-    int ParseCommandLine(int argc, char* argv[], bool isProgramNameOnlyAllowed=false);
-
-    int ParseCommandLine(int argc, char* argv[], 
-        std::vector<std::string> &unflaggedValues, bool isProgramNameOnlyAllowed=false);
-
-    ErrorValue ParseOption(VectorIndex optionIndex,
-        VectorIndex &argi, int argc, char *argv[]);
-
-    void PrintErrorMessage(ErrorValue ev, char *option);
-
-    ErrorValue ParseFlag(VectorIndex optionValueIndex, 
-        VectorIndex &argi, int argc, char *argv[]);
-
-    ErrorValue ParseInteger(VectorIndex optionValueIndex, 
-        VectorIndex &argi, int argc, char *argv[]);
-
-    ErrorValue ParsePositiveInteger(VectorIndex optionValueIndex, 
-        VectorIndex &argi, int argc, char *argv[]);
-
-    ErrorValue ParseNonNegativeInteger(VectorIndex optionValueIndex, 
-        VectorIndex &argi, int argc, char *argv[]);
-
-    ErrorValue ParseFloat(VectorIndex optionValueIndex, 
-        VectorIndex &argi, int argc, char *argv[]);
-
-    ErrorValue ParsePositiveFloat(VectorIndex optionValueIndex, 
-        VectorIndex &argi, int argc, char *argv[]);
-
-    ErrorValue ParseNonNegativeFloat(VectorIndex optionValueIndex, 
-        VectorIndex &argi, int argc, char *argv[]);
-
-    ErrorValue ParseString(VectorIndex optionValueIndex, VectorIndex &argi, 
-        int argc, char *argv[]);
-
-    bool IsValuedOption(OptionType optType);
-
-    ErrorValue ParseIntList(VectorIndex optionValueIndex, VectorIndex &argi, 
-        int argc, char *argv[]);
-
-    ErrorValue ParseStringList(VectorIndex optionValueIndex, VectorIndex &argi, 
-        int argc, char *argv[]);
-
-    void PrintVersion();
-
-    void PrintUsage();
-
-    int GetNextWordLength(std::string &text, int pos);
-
-    void PrintIndentedText(std::ostream &out, std::string &text, 
-        int allLineIndent, int lineLength = 80, int firstLineIndent=0);
-
-    unsigned int GetMaxOptionLength();
-
-    ErrorValue PrintErrorOnMissingOptions();
-};
-
-#endif
diff --git a/libcpp/pbdata/Compare4BitCompressed.hpp b/libcpp/pbdata/Compare4BitCompressed.hpp
deleted file mode 100644
index f94f37f..0000000
--- a/libcpp/pbdata/Compare4BitCompressed.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * ============================================================================
- *
- *       Filename:  Compare4BitCompressed.h
- *
- *    Description:  Imported from BLASR algorithm/compare
- *
- *        Version:  1.0
- *        Created:  12/19/2013 05:22:46 PM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * ============================================================================
- */
-#ifndef _BLASR_COMPARE_4BIT_COMPRESSED_HPP_
-#define _BLASR_COMPARE_4BIT_COMPRESSED_HPP_
-
-#include "defs.h"
-
-template<typename TNuc>
-class Compare4BitCompressed {
-  public:
-	const static unsigned char MaskCount = 0xf;
-
-	static int Compare(TNuc *lhs, TNuc *rhs) {
-		return ThreeBit[*lhs & MaskCount] - ThreeBit[*rhs & MaskCount];
-	}
-
-	static int Compare(TNuc *lhs, TNuc *rhs, int length) {
-		int i;
-		int res;
-		i = 0;
-		TNuc *lhsptr;
-		TNuc *rhsptr;
-		lhsptr = lhs;
-		rhsptr = rhs;
-		char *lhsend = lhs + length;
-		res = 0;
-		while (lhsptr != lhsend and res == 0) {
-			res = ThreeBit[*lhsptr & MaskCount] - ThreeBit[*rhsptr & MaskCount];
-			++lhsptr;
-			++rhsptr;
-		}
-		return res;
-	}
-
-	static int Equal(TNuc a, TNuc b) {
-		return (a & MaskCount) == (b & MaskCount);
-	}
-
-	static int LessThan(TNuc *a, int aLen, TNuc *b, int bLen) {
-		int minabLen = MIN(aLen, bLen);
-		if (minabLen <= 0)
-			return 0;
-		//		int cmpRes;
-
-		int cmpRes = Compare(a, b, minabLen);
-		if (cmpRes < 0) {
-			return 1;
-		}
-		else {
-			return 0;
-		}
-	}
-
-	static int LessThanEqual(TNuc *a, int aLen, TNuc *b, int bLen) {
-		int minabLen = MIN(aLen, bLen);
-		if (minabLen <= 0)
-			return 1;
-		int cmpRes = Compare(a, b, minabLen);
-		if (cmpRes <= 0) {
-			return 1;
-		}
-		else {
-			return 0;
-		}
-	}
-
-	static int Equals(TNuc *a, int aLen, TNuc *b, int bLen) {
-		int minabLen = MIN(aLen, bLen);
-		if (minabLen < 0)
-			return 0;
-		if (minabLen == 0)
-			return 1;
-		
-		int cmpRes = Compare(a, b, minabLen);
-		if (cmpRes == 0 and aLen <= bLen) {
-			return 1;
-		}
-		else {
-			return 0;
-		}
-	}
-};
-#endif
diff --git a/libcpp/pbdata/CompressedDNASequence.hpp b/libcpp/pbdata/CompressedDNASequence.hpp
deleted file mode 100644
index a3fa6d1..0000000
--- a/libcpp/pbdata/CompressedDNASequence.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-#ifndef _BLASR_COMPRESSED_DNA_SEQUENCE_HPP_
-#define _BLASR_COMPRESSED_DNA_SEQUENCE_HPP_
-
-#include "DNASequence.hpp"
-#include "FASTASequence.hpp"
-#include "defs.h"
-#include <string.h>
-#include "qvs/QualityValue.hpp"
-#include "Compare4BitCompressed.hpp"
-
-typedef unsigned char CompressedNucleotide;
-
-class CompressedDNASequence: public DNASequence {
-	static const unsigned char MaskCount = 0xf;
-	static const unsigned char MaskNuc   = 0xf0;
-	static const unsigned char ShiftCount = 4;
-
- public:
-	char *title;
-	int titleLength;
-	//
-	// This is just a placeholder for now.  
-	// No extra data here, just the ability to decompress.  Right now 
-	// the utilities for the compressed dna sequences
-	// are in CompressedSeqUtils.h, which could move here later.
-	//
-	QualityValue *qual;
-
-	CompressedDNASequence() {
-		const char t[] = "Compressed sequence\0";
-		titleLength = strlen(t);
-		title = new char[titleLength+1];
-		strcpy(title, t);
-		title[titleLength] = '\0';
-	}
-		
-	void MakeRC(CompressedDNASequence &rc) {
-		rc.Allocate(length);
-		DNALength i;
-		for (i = 0; i < length; i++) {
-			rc.seq[length - i - 1] = ReverseComplementNuc[ThreeBit[seq[i] & MaskCount]];
-			rc.seq[length - i - 1] += (seq[i] & MaskNuc); 
-		}
-		memcpy(rc.title, title, titleLength);
-		rc.titleLength = titleLength;
-	}
-	
-	Nucleotide operator[](DNALength i) {
-		return GetNuc(i);
-	}
-
-	Nucleotide GetNuc(DNALength i) {
-		return (seq[i] & MaskCount);
-	}
-
-	unsigned char GetCount(DNALength i) {
-		return seq[i] >> ShiftCount;
-	}
-
-	char *GetName() {
-		return (char*) title;
-	}
-	
-	void Copy(FASTASequence &rhs) {
-		seq = new CompressedNucleotide[rhs.length];
-		memcpy(seq, rhs.seq, rhs.length);
-		length = rhs.length;
-		if (title != NULL) {
-			delete[] title;
-		}
-		title = new char[rhs.titleLength+1];
-		memcpy(title, rhs.title, rhs.titleLength);
-		titleLength = rhs.titleLength;
-		title[titleLength] = '\0';
-	}
-	float GetAverageQuality() {
-		return 0.0;
-	}
-
-	void SortHomopolymerQualities() {
-		cout << "qualities are not implemented for compressed sequences." << endl;
-		assert(0);
-	}
-};
-
-	
-
-
-#endif
diff --git a/libcpp/pbdata/CompressedSequence.hpp b/libcpp/pbdata/CompressedSequence.hpp
deleted file mode 100644
index 45b3aaa..0000000
--- a/libcpp/pbdata/CompressedSequence.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-#ifndef _BLASR_COMPRESSED_SEQUENCE_HPP_
-#define _BLASR_COMPRESSED_SEQUENCE_HPP_
-#include <cassert>
-#include <stdint.h>
-#include <iostream>
-#include <fstream>
-#include <ostream>
-#include <cstring>
-#include "utils.hpp"
-#include "Types.h"
-#include "Enumerations.h"
-#include "NucConversion.hpp"
-#include "DNASequence.hpp"
-#include "qvs/QualityValue.hpp"
-#include "reads/ZMWGroupEntry.hpp"
-#include "FASTASequence.hpp"
-#include "ReverseCompressIndex.hpp"
-
-typedef unsigned char CompressedNucleotide;
-
-template<typename T_Sequence>
-class CompressedSequence : public FASTASequence {
-private:
-    int hasIndex;
-    int hasTitle;
-    ReverseCompressIndex index;
-
-    static const unsigned char MaskCount = 0xf;
-    static const unsigned char MaskNuc   = 0xf0;
-    static const unsigned char ShiftCount = 4;
-
-public:
-    //
-    // This is just a placeholder for now.  
-    // No extra data here, just the ability to decompress.  Right now 
-    // the utilities for the compressed dna sequences
-    // are in CompressedSeqUtils.h, which could move here later.
-    //
-    QualityValue *qual;
-
-    void CopyConfiguration(CompressedSequence<T_Sequence> &rhs); 
-
-    void ShallowCopy(CompressedSequence<T_Sequence> &rhs); 
-
-    void MakeRC(CompressedSequence &rc); 
-
-    Nucleotide operator[](DNALength i); 
-
-    Nucleotide GetNuc(DNALength i); 
-
-    unsigned char GetCount(DNALength i); 
-
-    char *GetName();
-
-    void Copy(FASTASequence &rhs); 
-
-    float GetAverageQuality(); 
-
-    void SortHomopolymerQualities(); 
-
-    CompressedSequence(); 
-    ~CompressedSequence(); 
-
-    void Free(); 
-
-    void SetHasTitle(); 
-
-    void SetHasIndex(); 
-
-    void Write(std::string outFileName); 
-
-    void Read(std::string inFileName); 
-
-    int BuildFourBitReverseIndex(int binSize); 
-
-    int BuildReverseIndex(int maxRun, int binSize); 
-
-    long Lookup4BitCompressedSequencePos(int cpPos); 
-
-    int LookupSequencePos(int cpPos); 
-
-    char GetCount(unsigned char ch); 
-
-    DNALength FourBitCompressHomopolymers(); 
-
-    static int Only4BitACTG(CompressedNucleotide *seq, int seqLength); 
-
-    int Only4BitACTG(); 
-
-    void RemoveCompressionCounts(); 
-
-    DNALength FourBitDecompressHomopolymers(int start, int end,
-            T_Sequence &decompSeq); 
-
-    DNALength CondenseHomopolymers();
-};
-
-#include "CompressedSequenceImpl.hpp"
-
-#endif // _BLASR_COMPRESSED_SEQUENCE_HPP_
diff --git a/libcpp/pbdata/CompressedSequenceImpl.hpp b/libcpp/pbdata/CompressedSequenceImpl.hpp
deleted file mode 100644
index 7759541..0000000
--- a/libcpp/pbdata/CompressedSequenceImpl.hpp
+++ /dev/null
@@ -1,343 +0,0 @@
-#ifndef _BLASR_COMPRESSED_SEQUENCES_IMPL_HPP_
-#define _BLASR_COMPRESSED_SEQUENCES_IMPL_HPP_
-
-template<typename T_Sequence>
-void CompressedSequence<T_Sequence>::CopyConfiguration(CompressedSequence<T_Sequence> &rhs) {
-    hasIndex = rhs.hasIndex;
-    hasTitle = rhs.hasTitle;
-}
-
-template<typename T_Sequence>
-void CompressedSequence<T_Sequence>::ShallowCopy(CompressedSequence<T_Sequence> &rhs) {
-    //
-    // Copy over non sequence information
-    index.ShallowCopy(rhs.index);
-    CopyConfiguration(rhs);
-
-    // Copy sequence information
-    ((FASTASequence*)this)->ShallowCopy((FASTASequence&)rhs);
-}
-
-template<typename T_Sequence>
-void CompressedSequence<T_Sequence>::MakeRC(CompressedSequence &rc) {
-    rc.Free(); //Free rc.seq and rc.title before allocate.
-
-    rc.Allocate(length);
-    DNALength i;
-    for (i = 0; i < length; i++) {
-        rc.seq[length - i - 1] = ReverseComplementNuc[ThreeBit[seq[i] & MaskCount]];
-        rc.seq[length - i - 1] += (seq[i] & MaskNuc); 
-    }
-
-    rc.CopyTitle(title, titleLength);
-}
-
-template<typename T_Sequence>
-Nucleotide CompressedSequence<T_Sequence>::operator[](DNALength i) {
-    return GetNuc(i);
-}
-
-template<typename T_Sequence>
-Nucleotide CompressedSequence<T_Sequence>::GetNuc(DNALength i) {
-    return (seq[i] & MaskCount);
-}
-
-template<typename T_Sequence>
-unsigned char CompressedSequence<T_Sequence>::GetCount(DNALength i) {
-    return seq[i] >> ShiftCount;
-}
-
-template<typename T_Sequence>
-char* CompressedSequence<T_Sequence>::GetName() {
-    return (char*) title;
-}
-
-template<typename T_Sequence>
-void CompressedSequence<T_Sequence>::Copy(FASTASequence &rhs) {
-    seq = new CompressedNucleotide[rhs.length];
-    memcpy(seq, rhs.seq, rhs.length);
-    length = rhs.length;
-    if (title != NULL) {
-        delete[] title;
-    }
-    title = new char[rhs.titleLength+1];
-    memcpy(title, rhs.title, rhs.titleLength);
-    titleLength = rhs.titleLength;
-    title[titleLength] = '\0';
-}
-
-template<typename T_Sequence>
-float CompressedSequence<T_Sequence>::GetAverageQuality() {
-    return 0.0;
-}
-
-template<typename T_Sequence>
-void CompressedSequence<T_Sequence>::SortHomopolymerQualities() {
-    std::cout << "qualities are not implemented for compressed sequences." 
-    << std::endl;
-}
-
-template<typename T_Sequence>
-CompressedSequence<T_Sequence>::CompressedSequence() {
-    hasIndex = 0;
-    hasTitle = 0;
-    qual = NULL;
-    FASTASequence();
-}
-
-template<typename T_Sequence>
-CompressedSequence<T_Sequence>::~CompressedSequence() {
-    CompressedSequence::Free();
-}
-
-template<typename T_Sequence>
-void CompressedSequence<T_Sequence>::Free() {
-    if (hasIndex) {
-        index.Free();
-    }
-    if(qual) {delete [] qual; qual = NULL;}
-    FASTASequence::Free();
-    hasIndex = 0;
-    hasTitle = 0;
-}
-
-template<typename T_Sequence>
-void CompressedSequence<T_Sequence>::SetHasTitle() {
-    hasTitle = 1;
-}
-template<typename T_Sequence>
-
-void CompressedSequence<T_Sequence>::SetHasIndex() {
-    hasIndex = 1;
-}
-
-template<typename T_Sequence>
-void CompressedSequence<T_Sequence>::Write(std::string outFileName) {
-    std::ofstream out;
-    CrucialOpen(outFileName,out, std::ios::binary | std::ios::in);
-    out.write((char*) &hasTitle, sizeof(int));
-    out.write((char*) &hasIndex, sizeof(int));
-    if (hasTitle) {
-        out.write((char*)&titleLength, sizeof(int));
-        out.write((char*)title, titleLength);
-    }
-    out.write((char*) &length, sizeof(int));
-    out.write((char*) seq, sizeof(char) * length);
-    if (hasIndex) {
-        index.Write(out);
-    }
-    out.close();
-}
-
-template<typename T_Sequence>
-void CompressedSequence<T_Sequence>::Read(std::string inFileName) {
-    Free(); //Free before reusing this object.
-    std::ifstream in;
-    CrucialOpen(inFileName, in, std::ios::binary | std::ios::in);
-    // step 1, read in the options.
-    in.read((char*) &hasTitle, sizeof(int));
-    in.read((char*) &hasIndex, sizeof(int));
-    if (hasTitle) {
-        int inTitleLength;
-        in.read((char*) &inTitleLength, sizeof(int));
-        char * inTitle = new char[inTitleLength+1];
-        in.read((char*) inTitle, inTitleLength);
-        inTitle[titleLength] = '\0';
-        CopyTitle(inTitle, inTitleLength);
-        delete [] inTitle;
-    }
-    in.read((char*) &length, sizeof(DNALength));
-    seq = new Nucleotide[length];
-    in.read((char*) seq, length * sizeof(Nucleotide));
-    if (hasIndex) {
-        index.Read(in);
-    }
-    deleteOnExit = true;
-}
-
-template<typename T_Sequence>
-int CompressedSequence<T_Sequence>::BuildFourBitReverseIndex(int binSize) {
-    BuildReverseIndex(15, binSize);
-}
-
-template<typename T_Sequence>
-int CompressedSequence<T_Sequence>::BuildReverseIndex(int maxRun, int binSize) {
-    hasIndex = 1;
-
-    DNALength i;
-    DNALength hpi;
-
-    // 
-    // Phase 1. Count the number of nucleotide transitions-1
-    //
-
-    hpi = 0;
-    for (i = 0; i < length; i++) { 
-        //		if (hpi % binSize == 0 ){
-        //			index.push_back(i);
-        //		}
-        int run = 1;
-        while (i < length - 1 
-                and ThreeBit[seq[i]] == ThreeBit[seq[i+1]] and
-                (run == 0 or 
-                 run < maxRun)) {i++, run++;};
-        hpi++;
-    }
-
-
-    //
-    // Phase 2. Store the index.
-    //
-    index.Free();
-    index.indexLength = hpi/index.binSize + 1;
-    index.index = new int[index.indexLength];
-    hpi = 0;
-    int ii = 0;
-    for (i = 0; i < length; i++) { 
-        if (hpi % index.binSize == 0 ) {
-            assert(ii < index.indexLength);
-            index.index[ii] = i;
-            ++ii;
-        }
-        int run = 1;
-        while (i < length - 1 
-                and ThreeBit[seq[i]] == ThreeBit[seq[i+1]] and
-                (run == 0 or 
-                 run < maxRun)) {i++, run++;};
-        hpi++;
-    }
-
-    return index.size();
-}
-
-template<typename T_Sequence>
-long CompressedSequence<T_Sequence>::Lookup4BitCompressedSequencePos(int cpPos) {
-    int      bin = cpPos / index.binSize;
-    int  origPos = index.index[bin];
-    int cpBinPos = bin * index.binSize;
-    int cp;
-    for (cp = cpBinPos; cp < cpPos; cp++ ){
-        origPos += GetCount(seq[cp]);
-    }
-    return origPos;
-}
-
-
-template<typename T_Sequence>
-int CompressedSequence<T_Sequence>::LookupSequencePos(int hpPos) {
-    int origPos = index.index[hpPos % index.binSize];
-    int hpi;
-    for (hpi = (hpPos / index.binSize) * index.binSize; hpi < hpPos; hpi++, origPos++ ) {
-        // 
-        // advance orig across all homopolymer stretches.
-        //
-        while (origPos < length - 1 and
-                seq[origPos] == seq[origPos+1])
-            ++origPos;
-    }
-    return origPos;
-}
-
-template<typename T_Sequence>
-char CompressedSequence<T_Sequence>::GetCount(unsigned char ch) {
-    return (ch >> 4);
-}
-
-template<typename T_Sequence>
-DNALength CompressedSequence<T_Sequence>::FourBitCompressHomopolymers() {
-    VectorIndex i, c;
-    unsigned char count = 0;
-    for (i =0, c = 0; i < length; c++, i++) {
-        count = 1;
-        while (count < 15 and 
-                i < length - 1 
-                and ThreeBit[seq[i]] == ThreeBit[seq[i+1]]) {
-            i++; count++;
-        }
-        // store nuc into the lower 4 bits
-        seq[c] = ThreeBit[seq[i]];
-
-        // store count into the upper 4 bits.
-        count = count << 4;
-        seq[c] = seq[c] | count;
-
-    }
-    length = c;	
-    return length;
-}
-
-template<typename T_Sequence>
-int CompressedSequence<T_Sequence>::Only4BitACTG(CompressedNucleotide *seq, int seqLength) {
-    int i;
-    for (i = 0; i < seqLength; i++ ){
-        if (ThreeBit[seq[i] & MaskCount] > 3) {
-            return 0;
-        }
-    }
-    return 1;
-}
-
-template<typename T_Sequence>
-int CompressedSequence<T_Sequence>::Only4BitACTG() {
-    return Only4BitACTG(seq, length);
-}
-
-template<typename T_Sequence>
-void CompressedSequence<T_Sequence>::RemoveCompressionCounts() {
-    DNALength i;
-    unsigned char mask =0xf;
-    for (i = 0; i< length; i++) {
-        seq[i] = seq[i] & mask;
-    }
-}
-
-template<typename T_Sequence>
-DNALength CompressedSequence<T_Sequence>::FourBitDecompressHomopolymers(int start, int end, 
-        T_Sequence &decompSeq) {
-    decompSeq.Free(); // Free before decomp;
-
-    //
-    // first compute the length of the decoded 
-    //
-    DNALength i;
-    decompSeq.length = 0;
-    for (i = start; i < end; i++ ){ 
-        unsigned char count;
-        count = (unsigned char) seq[i];
-        count >>= 4;
-        decompSeq.length += count;
-    }
-    decompSeq.seq = new Nucleotide[decompSeq.length];
-
-    //
-    // Now store the actual decompressed seq.
-    //
-    int d = 0;
-    unsigned char mask = 0xf;
-    for (i = start; i < end; i++ ){ 
-        unsigned char count;
-        count = (unsigned char) seq[i];
-        count >>= 4;
-        int j;
-        for (j = 0; j < count; j++ ){ 
-            decompSeq.seq[d] = FourBitToAscii[(seq[i] & mask)];
-            d++;
-        }
-    }
-    decompSeq.bitsPerNuc = 4;
-    decompSeq.deleteOnExit = true;
-    return decompSeq.length;
-}
-
-template<typename T_Sequence>
-DNALength CompressedSequence<T_Sequence>::CondenseHomopolymers() {
-    VectorIndex i, c;
-    for (i =0, c = 0; i < length; c++, i++) {
-        while (i < length - 1 and ThreeBit[seq[i]] == ThreeBit[seq[i+1]]) i++;
-        seq[c] = seq[i];
-    }
-    length = c;
-    return length;
-}
-
-#endif
diff --git a/libcpp/pbdata/DNASequence.cpp b/libcpp/pbdata/DNASequence.cpp
deleted file mode 100644
index cec3fab..0000000
--- a/libcpp/pbdata/DNASequence.cpp
+++ /dev/null
@@ -1,402 +0,0 @@
-#include <cassert>
-#include <cstring>
-#include "Types.h"
-#include "DNASequence.hpp"
-
-DNALength DNASequence::size() {
-    return length;
-}
-
-void DNASequence::TakeOwnership(DNASequence &rhs) {
-    CheckBeforeCopyOrReference(rhs);
-    // Free this DNASequence before take owner ship from rhs.
-    DNASequence::Free();
-
-    seq = rhs.seq;
-    length = rhs.length;
-    deleteOnExit = rhs.deleteOnExit;
-
-    rhs.deleteOnExit = false;
-}
-
-void DNASequence::Append(const DNASequence &rhs, DNALength appendPos) {
-    assert(deleteOnExit); // must have control over seq.
-    //
-    // Simply append rhs to this seuqence, unless appendPos is nonzero
-    // in which case rhs is inserted at attendPos, overwriting this
-    // sequence from appendPos to the end.
-    //
-    Nucleotide *newSeq;
-    //
-    // Handle the two cases (appendPos == 0 and appendPos > 0)
-    // separately in order to handle memory deallocation correctly.
-    //
-    if (appendPos == 0) {
-        DNALength  newSeqLength = length + rhs.length;
-        newSeq = new Nucleotide[newSeqLength];
-        memcpy(newSeq, seq, length);
-        memcpy(&newSeq[length], rhs.seq, rhs.length);
-
-        if (length != 0) {
-            delete[] seq;
-        }
-        seq = newSeq;
-        length = newSeqLength;
-    }
-    else {
-        if (appendPos + rhs.length < length) {
-            memcpy(&seq[appendPos], rhs.seq, rhs.length);
-            length = appendPos + rhs.length;
-        }
-        else {
-            DNALength lengthCopy = length;
-            length = appendPos;
-            DNALength newSeqLength;
-            newSeqLength = length + rhs.length;
-            newSeq = new Nucleotide[newSeqLength];
-            memcpy(newSeq, seq, length);
-            memcpy(&newSeq[length], rhs.seq, rhs.length);
-            if (deleteOnExit and lengthCopy != 0) {
-                delete[] seq;
-            }
-            seq = newSeq;
-            length = newSeqLength;
-        }
-    }
-    deleteOnExit = true;
-}
-
-// Copy FROM rhs to this DNASequence. 
-DNASequence& DNASequence::Copy(const DNASequence &rhs, DNALength rhsPos, DNALength rhsLength) {
-    CheckBeforeCopyOrReference(rhs);
-    // Free this DNASequence before copying from rhs
-    DNASequence::Free();
-
-    //
-    // When initializing a vector of DNASequence's, the copy
-    // constructor will initialze a list and call this
-    // function with a zero-length DNASequence as the rhs to
-    // initialize every element in the vector   The check
-    // below will fail on zero-length sequences, so add a boundary
-    // condition check before that to allow the copy-constructor to
-    // work.
-    //
-    if (rhs.length == 0) {
-        seq = NULL;
-        length = 0;
-        deleteOnExit = true;
-        return *this;
-    }
-
-    //
-    // Silently ignoring this case could lead to problems later on,
-    // catastrophically assert here if the input is not valid.
-    // In case rhsLength + rhsPos > ULONG_MAX (4294967295), check 
-    // both rhsLength and rhsPos, fix bug 21794
-    //
-    if (not (rhsLength <= rhs.length     && 
-             rhsPos    <= rhs.length + 1 &&
-             rhsLength + rhsPos <= rhs.length + 2 )) {
-        std::cout << "ERROR.  The subsequence to copy is out of bounds." 
-            << std::endl
-            << "        Failed to copy a subsequence starting at " << rhsPos 
-            << std::endl
-            << "        with length "<< rhsLength 
-            << " from a sequence of length " << rhs.length << "." 
-            << std::endl;
-        exit(1);
-    }
-
-    if (rhsLength == 0) {
-        rhsLength = rhs.length - rhsPos;
-    }
-    if (rhsLength == 0) {
-        seq = NULL;
-    }
-    else {
-        seq = new Nucleotide [rhsLength];
-        memcpy(seq, &rhs.seq[rhsPos], rhsLength);
-    }
-    length = rhsLength;
-    deleteOnExit = true;
-    return *this;
-}
-
-DNASequence& DNASequence::Copy(const std::string &rhsSeq) {
-    // Free this DNASequence before copying from rhs
-    DNASequence::Allocate(static_cast<DNALength>(rhsSeq.size()));
-    memcpy(seq, rhsSeq.c_str(), length);
-    return *this;
-}
-
-DNASequence & DNASequence::operator=(const std::string & rhsSeq) {
-    return DNASequence::Copy(rhsSeq);
-}
-
-void DNASequence::ShallowCopy(const DNASequence &rhs) {
-    seq = rhs.seq;
-    length = rhs.length;
-    deleteOnExit = false;
-}
-
-int DNASequence::GetStorageSize() {
-    return (length * sizeof(Nucleotide));
-}
-
-DNASequence &DNASequence::operator=(const DNASequence &rhs){ 
-    DNASequence::Copy(rhs);
-    return *this;
-}
-
-//
-// synonym for printseq
-//
-void DNASequence::Print(std::ostream &out, int lineLength) {
-    PrintSeq(out, lineLength);
-}
-
-void DNASequence::PrintSeq(std::ostream &out, int lineLength) {
-    if (lineLength == 0) {
-        std::string line;
-        line.assign((char*)seq, length);
-        out << line;
-    }
-    else {
-        //
-        // Make sure this isn't 
-        assert(lineLength > 0);
-        DNALength curPos = 0;
-        int curLineLength = lineLength;
-        while (curPos < length) {
-            if (curPos + curLineLength > length) {
-                curLineLength = length - curPos;
-            }
-            std::string line;
-            line.assign((char*) &seq[curPos], curLineLength);
-            out << line << std::endl;
-            curPos += curLineLength;
-        }
-    }
-}
-
-void DNASequence::Allocate(DNALength plength) {
-    DNASequence::Free();
-
-    seq = new Nucleotide [plength];
-    length = plength;
-    deleteOnExit = true;
-}
-
-void DNASequence::ReferenceSubstring(const DNASequence &rhs, DNALength pos, DNALength substrLength) {
-    CheckBeforeCopyOrReference(rhs); 
-
-    // Free this DNASequence before referencing rhs.
-    DNASequence::Free();
-
-    //
-    // This makes a reference therefore it should not be deleted.
-    //
-    assert(pos >= 0 && pos <= rhs.length &&
-           substrLength >= 0 && substrLength <= rhs.length);
-    if (substrLength == 0) {
-        substrLength = rhs.length - pos;
-    }
-    assert(pos + substrLength <= rhs.length);
-    seq = &rhs.seq[pos];
-    length = substrLength;
-    deleteOnExit = false;
-}
-
-DNALength DNASequence::MakeRCCoordinate(DNALength forPos ) {
-    return length - forPos - 1;
-}
-
-// Create a reverse complement DNAsequence of this DNASequence and assign to rc.
-void DNASequence::MakeRC(DNASequence &rc, DNALength pos, DNALength rcLength) {
-    if (rcLength == 0) {
-        rcLength = length - pos;
-    }
-
-    ((DNASequence&)rc).Allocate(rcLength);
-    DNALength i;
-    for (i = 0; i < rcLength; i++) {
-        rc.seq[rcLength - i - 1] = ReverseComplementNuc[seq[i+pos]];
-    }
-    rc.length = rcLength;
-    rc.deleteOnExit = true;
-}
-
-void DNASequence::ToTwoBit() {
-    DNALength i;
-    for (i = 0; i < length; i++) {
-        seq[i] = TwoBit[seq[i]];
-    }
-    bitsPerNuc = 2;
-}
-
-void DNASequence::ToFourBit() {
-    DNALength i;
-    if (bitsPerNuc != 4) 
-        for (i = 0; i < length; i++) { seq[i] = FourBit[seq[i]]; }
-    bitsPerNuc = 4;
-}
-
-void DNASequence::ConvertThreeBitToAscii() {
-    DNALength i;
-    for (i = 0; i < length; i++ ){
-        seq[i] = ThreeBitToAscii[seq[i]];
-    }
-}
-
-void DNASequence::ToAscii() {
-    DNALength i;
-    if (bitsPerNuc != 8) {
-        for (i = 0; i < length; i++ ){ 
-            seq[i] = FourBitToAscii[seq[i]];
-        }
-        bitsPerNuc = 8;
-    }
-}
-
-// Copy rhs[start:start+plength] to this DNASequence.
-void DNASequence::Assign(DNASequence &ref, DNALength start, DNALength plength) {
-    CheckBeforeCopyOrReference(ref);
-    // Free this DNASequence before assigning anything
-    DNASequence::Free();
-    
-    if (plength) {
-        length = plength;
-        seq = new Nucleotide[length];
-        memcpy(seq, &ref.seq[start], length);
-    }
-    else if (start) {
-        length = ref.length - start;
-        seq = new Nucleotide[length];
-        memcpy(seq, &ref.seq[start], length);
-    }
-    else {
-        ((DNASequence*)this)->Copy(ref);
-    }
-    deleteOnExit = true;
-}
-
-void DNASequence::ToLower() {
-    DNALength i;
-    for (i = 0; i < length; i++) {
-        seq[i] = AllToLower[seq[i]];
-    }
-}
-
-void DNASequence::ToUpper() {
-    DNALength i;
-    for (i = 0; i < length; i++) {
-        seq[i] = AllToUpper[seq[i]];
-    }
-}
-
-void DNASequence::Concatenate(const Nucleotide *moreSeq, DNALength moreSeqLength) {
-    DNALength prevLength = length;
-    length += moreSeqLength;
-    Nucleotide *prev = seq;
-    seq = new Nucleotide[length];
-    if (prev != NULL) {
-        memcpy(seq, prev, prevLength);
-        delete[] prev;
-    }
-    memcpy((Nucleotide*) &seq[prevLength], moreSeq, moreSeqLength);
-    deleteOnExit = true;
-}
-
-std::string DNASequence::GetTitle() const {
-    return std::string("");
-}
-
-void DNASequence::Concatenate(const Nucleotide* moreSeq) {
-    DNALength moreSeqLength = strlen((char*) moreSeq);
-    Concatenate(moreSeq, moreSeqLength);
-}
-
-void DNASequence::Concatenate(DNASequence &seq) {
-    Concatenate(seq.seq, seq.length);
-}
-
-int DNASequence::Compare(DNALength pos, DNASequence &rhs, DNALength rhsPos, DNALength length) {
-    return memcmp(&seq[pos], &rhs.seq[rhsPos], length);
-}
-
-int DNASequence::LessThanEqual(DNALength pos, DNASequence &rhs, DNALength rhsPos, DNALength length) {
-    int res = Compare(pos, rhs, rhsPos, length);
-    if (res <= 0) 
-        return 1;
-    else
-        return 0;
-}
-
-int DNASequence::Equals(DNASequence &rhs, DNALength rhsPos, DNALength length, DNALength pos) {
-    int res = Compare(pos, rhs, rhsPos, length);
-    return res == 0;
-}
-
-int DNASequence::LessThan(DNALength pos,  DNASequence &rhs, DNALength rhsPos, DNALength length) {
-    int res=  Compare(pos, rhs, rhsPos, length);
-    return (res < 0);
-}
-
-void DNASequence::CleanupASCII() {
-    DNALength i;
-    for (i = 0; i < length; i++ ){
-        if (ThreeBit[seq[i]] == 255) {
-            seq[i] = 'N';
-        }
-    }
-}
-
-Nucleotide DNASequence::GetNuc(DNALength i) {
-    return seq[i];
-}
-
-DNALength DNASequence::GetRepeatContent() {
-    DNALength i;
-    DNALength nRepeat = 0;
-    for (i =0 ; i < length;i++) {
-        if (tolower(seq[i]) == seq[i]) { nRepeat++;}
-    }
-    return nRepeat;
-}
-
-void DNASequence::CleanupOnFree() {
-    deleteOnExit = true;
-}
-
-void DNASequence::Free() {
-    if (deleteOnExit == true) {
-        // if has control, delete seq 
-        // Otherwise, seq in memory is controlled by another object, 
-        // and will be deleted later.
-        if (seq != NULL) {
-            delete[] seq;
-        }
-    } 
-    // Reset seq, length and deleteOnExit
-    seq = NULL;
-    length = 0;
-    deleteOnExit = false;
-}
-
-void DNASequence::Resize(DNALength newLength) {
-    DNASequence::Free();
-    seq = new Nucleotide[newLength];
-    length = newLength;
-    deleteOnExit = true;
-}
-
-DNALength DNASequence::GetSeqStorage() {
-    return length;
-}
-
-#ifdef USE_PBBAM
-DNASequence & DNASequence::Copy(const PacBio::BAM::BamRecord & record) {
-    return DNASequence::Copy(record.Sequence());
-}
-#endif
-
diff --git a/libcpp/pbdata/DNASequence.hpp b/libcpp/pbdata/DNASequence.hpp
deleted file mode 100644
index 286e7d8..0000000
--- a/libcpp/pbdata/DNASequence.hpp
+++ /dev/null
@@ -1,183 +0,0 @@
-#ifndef  _BLASR_DNA_SEQUENCE_HPP_
-#define  _BLASR_DNA_SEQUENCE_HPP_
-
-#include <stdint.h>
-#include <stdlib.h>
-#include <iostream>
-#include <string>
-#include <cassert>
-#include "Types.h"
-#include "NucConversion.hpp"
-#include "libconfig.h"
-
-#ifdef USE_PBBAM
-#include "pbbam/BamRecord.h"
-#endif
-
-
-class DNASequence {
-public:
-    DNALength length;
-    Nucleotide *seq;
-    int bitsPerNuc;
-    bool deleteOnExit;
-
-    inline DNASequence();
-    inline ~DNASequence();
-
-    //--- functions ---//
-    
-    DNALength size();
-
-    inline void CheckBeforeCopyOrReference(const DNASequence & rhs, std::string seqType = "DNASequence"); 
-
-    void TakeOwnership(DNASequence &rhs);
-
-    void Append(const DNASequence &rhs, DNALength appendPos=0);
-
-    DNASequence &Copy(const DNASequence &rhs, DNALength rhsPos=0, DNALength rhsLength=0);
-
-    void ShallowCopy(const DNASequence &rhs);
-
-    DNASequence & Copy(const std::string & rhs);
-
-    int GetStorageSize();
-
-    DNASequence &operator=(const DNASequence &rhs);
-
-    DNASequence &operator=(const std::string &rhs);
-
-    void Print(std::ostream &out, int lineLength = 50);
-
-    void PrintSeq(std::ostream &out, int lineLength = 50);
-
-    void Allocate(DNALength plength);
-
-    void ReferenceSubstring(const DNASequence &rhs, DNALength pos=0, DNALength substrLength=0); 
-
-    DNALength MakeRCCoordinate(DNALength forPos );
-
-    inline void CopyAsRC(DNASequence &rc, DNALength pos=0, DNALength rcLength =0);
-
-    void MakeRC(DNASequence &rc, DNALength pos=0, DNALength rcLength=0);
-
-    void ToTwoBit();
-
-    inline void ToThreeBit();
-
-    void ToFourBit();
-
-    void ConvertThreeBitToAscii();
-
-    void ToAscii();
-
-    void Assign(DNASequence &ref, DNALength start=0, DNALength plength=0);
-
-    void ToLower();
-
-    void ToUpper(); 
-
-    void Concatenate(const Nucleotide *moreSeq, DNALength moreSeqLength); 
-
-    std::string GetTitle() const; 
-
-    void Concatenate(const Nucleotide* moreSeq);
-
-    void Concatenate(DNASequence &seq); 
-
-    int Compare(DNALength pos, DNASequence &rhs, DNALength rhsPos, DNALength length); 
-
-    int LessThanEqual(DNALength pos, DNASequence &rhs, DNALength rhsPos, DNALength length); 
-
-    int Equals(DNASequence &rhs, DNALength rhsPos, DNALength length, DNALength pos=0 ); 
-
-    int LessThan(DNALength pos,  DNASequence &rhs, DNALength rhsPos, DNALength length); 
-
-    void CleanupASCII(); 
-
-    Nucleotide operator[](int i) {
-        return seq[i];
-    }
-
-    Nucleotide GetNuc(DNALength i); 
-
-    DNALength GetRepeatContent(); 
-
-    void CleanupOnFree();
-
-    virtual void Free(); 
-
-    void Resize(DNALength newLength);
-
-    DNALength GetSeqStorage();
-
-#ifdef USE_PBBAM
-    /// Copies a BamRecord as a DNASequence.
-    DNASequence & Copy(const PacBio::BAM::BamRecord & record);
-#endif 
-};
-
-inline DNASequence::DNASequence() {
-    seq = NULL;
-    length = 0;
-    bitsPerNuc = 8;
-    deleteOnExit = false;
-}
-
-inline DNASequence::~DNASequence() {
-    DNASequence::Free();
-}
-
-
-// Sanity check:
-// If this DNASequence and rhs are pointing to the same seq 
-// in memory, make sure this DNASequence's deleteOnExit is false.
-// (otherwise, seq in memory will be deleted before being copied)
-inline void DNASequence::CheckBeforeCopyOrReference(const DNASequence & rhs, std::string seqType) {
-
-    if (seq == rhs.seq and seq != NULL and deleteOnExit) {
-        std::cout << "ERROR, trying to copying a " << seqType << " to itself." << std::endl;
-        exit(1);
-    }
-}
-
-inline void DNASequence::ToThreeBit() {
-    DNALength i;
-    if (bitsPerNuc != 3) 
-        for (i = 0; i < length; i++) { seq[i] = ThreeBit[seq[i]]; }
-    bitsPerNuc = 3;
-}
-
-inline void DNASequence::CopyAsRC(DNASequence &rc, DNALength pos, DNALength rcLength) {
-    // Free rc before copying any data to rc.
-    ((DNASequence&)rc).Free();
-    //
-    // Different way of accounting for position. The position is on
-    // the rc strand, not the forward strand.
-    //
-    if (rcLength == 0) {
-        rcLength = length - pos;
-    }
-    DNALength rcStart = length - (pos + rcLength);
-    ((DNASequence&)rc).Resize(rcLength);
-    DNALength i;
-    for (i = 0; i < rcLength; i++) {
-        rc.seq[i] = ReverseComplementNuc[seq[rcStart - 1 + (rcLength - i)]];
-    }
-
-    // The reverse complement controls its own memory now.
-    rc.deleteOnExit = true;
-}
-
-
-template<typename T>
-DNALength ResizeSequence(T &dnaseq, DNALength newLength) {
-    assert(newLength > 0);
-    ((T&)dnaseq).Free();
-    dnaseq.seq = new Nucleotide[newLength];
-    dnaseq.length = newLength;
-    dnaseq.deleteOnExit = true;
-    return newLength;
-}
-
-#endif // _BLASR_DNA_SEQUENCE_HPP_
diff --git a/libcpp/pbdata/Enumerations.h b/libcpp/pbdata/Enumerations.h
deleted file mode 100644
index b51575b..0000000
--- a/libcpp/pbdata/Enumerations.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef _BLASR_ENUMERATIONS_HPP_
-#define _BLASR_ENUMERATIONS_HPP_
-
-typedef enum T_FileType {Fasta,
-    Fastq,
-    HDFPulse,
-    Fourbit,
-    HDFBase,
-    HDFCCS,
-    HDFCCSONLY,
-    PBBAM,
-    None
-} FileType;
-
-typedef enum T_Strand {Forward, Reverse} Strand;
-
-typedef enum T_PlatformType {
-    Springfield,
-    Astro,
-    NoPlatform
-} PlatformId;
-
-typedef enum T_RegionType {
-    GlobalAccuracy,
-    HQRegion,
-    Adapter,
-    Insert, 
-    ArtifactRegion
-} RegionType;
-
-typedef enum T_PulseMetricType {
-    QualityValueMetric,ClassifierQVMetric,StartTimeMetric,PulseWidthMetric,WidthInFramesMetric,
-    pkmidMetric,IPDMetric,LightMetric, PreBaseFramesMetric
-} PulseMetricType;
-
-
-typedef enum T_AlignMode { NoAlignMode, Fullread, Subread, CCSDeNovo, CCSFullPass, CCSAllPass, ZmwSubreads } AlignMode;
-
-#endif
diff --git a/libcpp/pbdata/FASTAReader.cpp b/libcpp/pbdata/FASTAReader.cpp
deleted file mode 100644
index 6477fc0..0000000
--- a/libcpp/pbdata/FASTAReader.cpp
+++ /dev/null
@@ -1,420 +0,0 @@
-#include <stdlib.h>
-#include <string>
-#include <iostream>
-#include <vector>
-#include <limits.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include "sys/mman.h"
-#include "sys/fcntl.h"
-
-#include "Enumerations.h"
-#include "NucConversion.hpp"
-#include "FASTASequence.hpp"
-#include "FASTAReader.hpp"
-
-using namespace std;
-
-void FASTAReader::SetFileSize() {
-    //
-    // Seek operation returns the amount seeked forwared in bytes.
-    // This is the size used to map (which is rounded up by the 
-    // system).
-    //
-    fileSize = lseek(fileDes, 0, SEEK_END);
-    lseek(fileDes, 0, SEEK_SET);
-}
-
-void FASTAReader::Init() {
-    padding = 0;
-    fileDes = -1;
-    fileSize = 0;
-    endOfReadDelim = '>';
-    readStartDelim = '>';
-    doToUpper = false;
-    convMat = PreserveCase;
-    computeMD5 = false;
-    filePtr = NULL;
-    curPos = 0;
-}
-
-FASTAReader::FASTAReader() {
-    Init();
-}
-
-FASTAReader::FASTAReader(string &fileName) {
-    Init(); // initialze defaults.
-    Init(fileName); // open file.
-    padding = 0;
-    endOfReadDelim = '>';
-    readStartDelim = '>';
-}
-
-void FASTAReader::SetSpacePadding(int _padding) {
-    assert(_padding >= 0);
-    padding = _padding;
-}
-
-void FASTAReader::SetToUpper() {
-    doToUpper = true;
-    convMat   = AllToUpper;
-}
-
-//
-// Synonym for Init() for consistency.
-//
-int FASTAReader::Initialize(string &seqInName) {
-    return Init(seqInName);
-}
-
-int FASTAReader::Init(string &seqInName, int passive) {
-    fileDes = open(seqInName.c_str(), O_RDONLY);
-    padding = 0;
-    if (fileDes == -1) {
-        if (passive) {
-            return 0;
-        }
-        else {
-            cout << "Could not open FASTA file " << seqInName << endl;
-            exit(1);
-        }
-    }
-    SetFileSize();
-    filePtr = (char*) mmap(0, fileSize, PROT_READ, MAP_PRIVATE, fileDes, 0);
-    if (filePtr == NULL) {
-        cout << "ERROR, Fail to load FASTA file " << seqInName 
-             << " to virtual memory." << endl;
-        exit(1);
-    }
-    curPos = 0;
-    return 1;
-}
-
-void FASTAReader::AdvanceToTitleStart(long &p, char delim) {
-    while (p < fileSize and 
-            filePtr[p] != delim) { 
-        p++;
-    }
-}
-
-
-void FASTAReader::CheckValidTitleStart(long &p, char delim) {
-    if (p >= fileSize or filePtr[p] != delim) {
-        cout << "ERROR, FASTA entry must begin with \"" << delim << "\"" << endl;
-        exit(1);
-    }
-}
-
-long FASTAReader::ReadAllSequencesIntoOne(FASTASequence &seq, SequenceIndexDatabase<FASTASequence> *seqDBPtr) {
-    seq.Free();
-    long p = curPos;
-    AdvanceToTitleStart(p);
-    CheckValidTitleStart(p);
-    ReadTitle(p, seq); 
-     
-    if (seq.title == NULL) {
-        cout << "ERROR, sequence must have a nonempty title." << endl;
-        exit(1);
-    }
-    if (seqDBPtr != NULL) {
-        seqDBPtr->growableName.push_back(seq.title);
-    }
-    long seqLength;
-    seqLength = fileSize - p;
-    long memorySize = seqLength+padding+1;
-
-    long a = memorySize;
-    if (memorySize > UINT_MAX) {
-        cout << "ERROR! Reading fasta files greater than 4Gbytes is not supported." << endl;
-        exit(1);
-    }
-    seq.Resize(memorySize);
-    long i;
-    i = 0L;
-    for (; p < fileSize; p++, i++ ) {
-        seq.seq[i] = filePtr[p];
-    }
-    i = p = 0;
-    while (p < seqLength) {
-        //
-        // If this is the beginning of another read, add an 'N' 
-        // to delineate spaces between reads.
-        //
-
-        while (p < seqLength and
-                (seq.seq[p] == ' ' or
-                 seq.seq[p] == '\n' or 
-                 seq.seq[p] == '\t' or
-                 seq.seq[p] == '\r')) {
-            p++;
-        }
-        if (p < seqLength and seq.seq[p] == '>') {
-            seq.seq[i] = 'N';
-
-            long titleStartPos = p+1;
-            i++;
-            while (p < seqLength and seq.seq[p] != '\n') p++;
-            if (seqDBPtr != NULL and p < seqLength) {
-                string title;
-                long tp;
-                for (tp = titleStartPos; tp < p; tp++) {
-                    title.push_back(seq.seq[tp]);
-                }
-
-                seqDBPtr->growableName.push_back(title);
-                seqDBPtr->growableSeqStartPos.push_back(i);
-                int nSeq = seqDBPtr->growableSeqStartPos.size();
-                if (nSeq > 1 and computeMD5) {
-                    string md5Str;
-                    MakeMD5((const char*) &seq.seq[seqDBPtr->growableSeqStartPos[nSeq-2]],
-                            seqDBPtr->growableSeqStartPos[nSeq-1] - seqDBPtr->growableSeqStartPos[nSeq-2] - 1,
-                            md5Str);
-                    seqDBPtr->md5.push_back(md5Str);
-                }
-            }
-        }
-        else if (p < seqLength)  {
-            // Otherwise, p may be at whitespace
-            // advance past that as well.
-            seq.seq[i] = convMat[seq.seq[p]];
-            i++;
-            p++;
-        }
-    }
-    if (i > UINT_MAX) {
-        cout << "ERROR! Sequences greater than 4Gbase are not supported." << endl;
-        exit(1);
-    }
-    //
-    // Append an 'N' at the end of the last sequence for consistency
-    // between different orderings of reference input. 
-    //
-    seq.seq[i] = 'N';
-    i++;
-    seq.length = i;
-    // fill padding.
-    for (; i < memorySize; i++ ){
-        seq.seq[i] = 0;
-    }
-    seq.deleteOnExit = true;
-    if (seqDBPtr != NULL) {
-        seqDBPtr->growableSeqStartPos.push_back(seq.length);
-        int nSeq = seqDBPtr->growableSeqStartPos.size();
-        if (nSeq > 1 and computeMD5) {
-            string md5Str;
-            MakeMD5((const char*) &seq.seq[seqDBPtr->growableSeqStartPos[nSeq-2]],
-                    seqDBPtr->growableSeqStartPos[nSeq-1] - seqDBPtr->growableSeqStartPos[nSeq-2] - 1,
-                    md5Str);
-            seqDBPtr->md5.push_back(md5Str);
-        }
-        seqDBPtr->Finalize();
-    }
-    return seq.length;
-}
-
-void FASTAReader::ReadTitle(long &p, FASTASequence & seq) {
-    char * seqTitle = NULL;
-    int seqTitleLen; 
-    ReadTitle(p, seqTitle, seqTitleLen);
-    seq.CopyTitle(seqTitle, seqTitleLen);
-    if (seqTitle) {delete seqTitle;}
-}
-
-void FASTAReader::ReadTitle(long &p, char *&title, int &titleLength) {
-    // 
-    // Extract the title.  The length of the title does not include the newline.
-    //
-    p++; // Move past '>'
-    curPos = p;
-    while (p < fileSize and
-            filePtr[p] != '\n') { 
-        p++;
-    }
-    titleLength = p - curPos;
-    if (titleLength > 0) {
-        if (title) {delete [] title; title = NULL;}
-        title = new char[titleLength+1];
-        int t = 0;
-        for (p = curPos; p < curPos + titleLength; p++, t++) {
-            title[t] = filePtr[p];
-        }
-        title[titleLength] = '\0';
-    }
-    else {
-        title = NULL;
-        titleLength = 0;
-    }
-}
-
-int FASTAReader::GetNext(FASTASequence &seq) {
-    if (curPos == fileSize) {
-        return 0;
-    }
-
-    seq.Free(); //Free seq before read
-
-    // 
-    // Extract the title of the current record.
-    //
-    long p = curPos;
-
-    AdvanceToTitleStart(p);
-
-    // 
-    // Make sure there is a '>'
-    //
-    CheckValidTitleStart(p);
-
-    ReadTitle(p, seq); 
-
-    //
-    // Read in the next sequence.
-    //
-
-    // Count the length of the sequence.
-
-    long seqLength = 0;
-    curPos = p;
-    char c;
-    while (p < fileSize and
-            (c = filePtr[p]) != endOfReadDelim) {
-        if (c != ' ' and
-                c != '\t' and
-                c != '\n' and
-                c != '\r') {
-            seqLength++;
-        }
-        p++;
-    }
-    if (seqLength > UINT_MAX) {
-        cout << "ERROR! Reading sequences stored in more than 4Gbytes of space is not supported." << endl;
-        exit(1);
-    }
-
-    seq.length = 0;
-    if (seqLength > 0) {
-        seq.length = seqLength;
-        seq.seq = new Nucleotide[seqLength+padding+1];
-        p = curPos;
-        seq.deleteOnExit = true;
-        long s = 0;
-        while (p < fileSize and
-                (c = filePtr[p]) != endOfReadDelim) {
-            if (c != ' ' and
-                    c != '\t' and
-                    c != '\n' and
-                    c != '\r') {
-                seq.seq[s] = convMat[filePtr[p]];
-                s++;
-            }
-            p++;
-        }
-        seq.seq[seqLength] = 0;
-    }
-    curPos = p;
-
-    if (computeMD5) {
-        MakeMD5((const char*) &seq.seq, seq.length, curReadMD5);
-    }
-    return 1;
-}
-/*
-   Advance to the read nSeq forward.
-
-input: nSeq, the number of sequences to skip.
-output: 
-returns 1 if after advancing nSeq sequences, the file pointer is pointing to 
-a new sequence.
-0 otherwise. 
-A return value of 0 will signal that the file is done being processed if it is 
-iterting over reads.
-*/
-int FASTAReader::Advance(int nSeq) {
-
-    int nAdvanced = 0;
-    long p = curPos;
-    // base case -- it's always ok to advance 0
-    if (nSeq == 0) { return 1; }
-
-    // Make sure the advance starts at 
-    // the beginning of a sequence.
-    while(p < fileSize and filePtr[p] != endOfReadDelim) p++;
-    // No sequence was found, coudln't advance.
-    if (p >= fileSize) { return 0; }
-
-    p++;
-    nAdvanced = 1;
-    while (nAdvanced <= nSeq and p < fileSize) {
-        if (filePtr[p] == endOfReadDelim) {
-            if (nAdvanced == nSeq) {
-                //
-                // Want to end with the reader on a '>', so return before
-                // hitting the rest of the loop.
-                //
-                curPos = p;
-                return 1;
-            }
-            else {
-                nAdvanced++; 
-            }
-        }
-        p++;
-    }
-    curPos = p;
-    return 0;
-}
-
-int FASTAReader::CriticalGetNext(FASTASequence &seq) {
-    if (!GetNext(seq)) {
-        cout << "Could not read a sequence." << endl;
-        exit(1);
-    }
-    return 1;
-}
-
-int FASTAReader::ConcatenateNext(FASTASequence &cur) {
-    FASTASequence next;
-    int retVal;	
-    if ((retVal = GetNext(next))) {
-        next.CleanupASCII();
-        cur.Concatenate((Nucleotide*) "N");
-        cur.Concatenate(next);	
-    }
-    next.Free();
-    return retVal;
-}
-
-void FASTAReader::Close() {
-    if (fileDes == -1) {
-        cout << "ERROR, calling close on an uninitialized fasta reader" << endl;
-        exit(1);
-    }
-    else {
-        munmap(filePtr, fileSize);
-        close(fileDes);
-        fileDes = -1;
-    }
-}
-
-void FASTAReader::ReadAllSequences(vector<FASTASequence> &sequences) {
-    //
-    // Step 1, compute the number of reads in the file.
-    // 
-
-    long p;
-    p = 0;
-    int nSeq = 0;
-    while (p < fileSize) { 
-        if (filePtr[p] == '>') {
-            ++nSeq;
-        }
-        p++;
-    }
-
-    p = 0;
-    sequences.resize(nSeq);
-    int curSeq = 0;
-    while(GetNext(sequences[curSeq])) {
-        ++curSeq;
-    }
-}
diff --git a/libcpp/pbdata/FASTAReader.hpp b/libcpp/pbdata/FASTAReader.hpp
deleted file mode 100644
index 6cc5ca9..0000000
--- a/libcpp/pbdata/FASTAReader.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-#ifndef _BLASR_FASTA_READER_HPP_
-#define _BLASR_FASTA_READER_HPP_
-#include <stdint.h>
-#include <string>
-#include "FASTASequence.hpp"
-#include "metagenome/SequenceIndexDatabase.hpp"
-
-class FASTAReader {
-protected:
-    long fileSize;
-    int fileDes;
-    char* filePtr;
-    long curPos;
-    int padding;
-    char endOfReadDelim;
-    char readStartDelim;
-    bool doToUpper;
-    unsigned char *convMat;
-    //
-    // Quick check to see how much to read.
-    //
-    void SetFileSize(); 
-
-    void ReadTitle(long &p, char *&title, int &titleLength); 
-
-public:
-    bool computeMD5;
-    std::string curReadMD5;
-
-    void Init(); 
-
-    FASTAReader(); 
-
-    FASTAReader(std::string &fileName); 
-
-    void SetSpacePadding(int _padding); 
-
-    void SetToUpper(); 
-    
-    //
-    // Synonym for Init() for consistency.
-    //
-    int Initialize(std::string &seqInName); 
-
-    int Init(std::string &seqInName, int passive=0); 
-
-    void AdvanceToTitleStart(long &p, char delim='>'); 
-
-    void CheckValidTitleStart(long &p, char delim='>'); 
-
-    long ReadAllSequencesIntoOne(FASTASequence &seq, SequenceIndexDatabase<FASTASequence> *seqDBPtr=NULL); 
-
-    void ReadTitle(long &p, FASTASequence & seq);
-
-    int GetNext(FASTASequence &seq); 
-    /*
-       Advance to the read nSeq forward.
-
-input: nSeq, the number of sequences to skip.
-output: 
-returns 1 if after advancing nSeq sequences, the file pointer is pointing to 
-a new sequence.
-0 otherwise. 
-A return value of 0 will signal that the file is done being processed if it is 
-iterting over reads.
-*/
-    int Advance(int nSeq); 
-
-    int CriticalGetNext(FASTASequence &seq); 
-    
-    int ConcatenateNext(FASTASequence &cur); 
-
-    void Close(); 
-
-    void ReadAllSequences(vector<FASTASequence> &sequences); 
-
-}; 
-
-
-#endif // _BLASR_FASTA_READER_HPP_
diff --git a/libcpp/pbdata/FASTASequence.cpp b/libcpp/pbdata/FASTASequence.cpp
deleted file mode 100644
index 4b579cc..0000000
--- a/libcpp/pbdata/FASTASequence.cpp
+++ /dev/null
@@ -1,246 +0,0 @@
-#include <stdlib.h>
-#include "FASTASequence.hpp"
-
-using namespace std;
-
-FASTASequence::FASTASequence() : DNASequence() {
-    title = NULL;
-    titleLength = 0;
-    deleteTitleOnExit = false; 
-    // If deleteTitleOnExist is false, whether to delete title
-    // or not should depend on deleteOnExit; otherwise, delete title
-    // regardless of deleteOnExit.
-}
-
-void FASTASequence::PrintSeq(ostream &out, int lineLength, char delim) {
-    out << delim;
-    if (title) out << title;
-    out << endl;
-    static_cast<DNASequence*>(this)->PrintSeq(out, lineLength); 
-}
-
-int FASTASequence::GetStorageSize() {
-    if (!title) 
-        return DNASequence::GetStorageSize();
-    return strlen(title) + DNASequence::GetStorageSize();
-}
-
-string FASTASequence::GetName() const {
-    string name;
-    int i;
-    for (i = 0; i < titleLength; i++) {
-        if (title[i] != ' ' and
-                title[i] != '\t' and
-                title[i] != '\n' and
-                title[i] != '\r') {
-            name.push_back(title[i]);
-        }
-        else {
-            break;
-        }
-    }
-    return name;
-}
-
-//
-// Define  some no-ops to satisfy instantiating templates that
-// expect these to exist.
-//
-bool FASTASequence::StoreHoleNumber(int holeNumber) {return false;}
-bool FASTASequence::StoreHoleStatus(unsigned char holeStatus) {return false;}
-bool FASTASequence::StorePlatformId(PlatformId platformId) { return false;}
-bool FASTASequence::StoreZMWData(ZMWGroupEntry &data) { return false;}
-bool GetHoleNumber (int &holeNumberP) {
-    //
-    // There is no notion of a hole number for a fasta sequence.
-    //
-    return false;
-}
-
-bool FASTASequence::StoreXY(int16_t xy[]) {return false;}
-
-bool FASTASequence::GetXY(int xyP[]) {
-    //
-    // Although the xyP is stored in the fasta title for astro reads
-    // this class is more general than an astro read, so do not assume 
-    // that it may be found in the title.
-    //
-    // So, this function is effectively a noop.
-    //
-    xyP[0] = xyP[1] = 0;
-    return false;
-}
-
-
-void FASTASequence::ShallowCopy(const FASTASequence &rhs) {
-    CheckBeforeCopyOrReference(rhs, "FASTASequence");
-    FASTASequence::Free();
-
-    static_cast<DNASequence*>(this)->ShallowCopy(rhs);
-
-    title = rhs.title;
-    titleLength = rhs.titleLength;
-    deleteTitleOnExit = false;
-}
-
-string FASTASequence::GetTitle() const {
-    return string(title);
-}
-
-// Delete title if this FASTASequence is under control or 
-// only title is under control.
-void FASTASequence::DeleteTitle() {
-    if (deleteOnExit or deleteTitleOnExit) {
-        if (title != NULL) {
-            delete[] title;
-        }
-    } // otherwise, title is controlled by another obj
-    title = NULL;
-    titleLength = 0;
-    deleteTitleOnExit = false;
-}
-
-void FASTASequence::CopyTitle(const char* str, int strlen) {
-    FASTASequence::DeleteTitle();
-
-    // No segfault when str is NULL;
-    if (str == NULL) {
-        title = NULL;
-        titleLength = 0;
-    } else {
-        title = new char[strlen+1];
-        memcpy(title, str, strlen);
-        titleLength = strlen;
-        title[titleLength] = '\0';
-    }
-
-    // In some cases, (e.g., when ReferenceSubstring and CopyTitle
-    // are called together), this Sequence may only have control over
-    // title but not seq.
-    deleteTitleOnExit = true;
-}
-
-void FASTASequence::CopyTitle(string str) {
-    FASTASequence::CopyTitle(str.c_str(), str.size());
-}
-
-void FASTASequence::GetFASTATitle(string& fastaTitle) {
-    // look for the first space, and return the string until there.
-    int i;
-    for (i = 0; i < titleLength; i++ ){
-        if (title[i] == ' ' or
-                title[i] == '\t') {
-            break;
-        }
-    }
-    fastaTitle.assign(title, i);
-}
-
-// Copy rhs.seq[readStart:readEnd] to this Sequence.
-void FASTASequence::CopySubsequence(FASTASequence &rhs, int readStart, int readEnd) {
-    CheckBeforeCopyOrReference(rhs, "FASTASequence");
-    
-    // Free before copying anything 
-    FASTASequence::Free();
-
-    if (readEnd == -1) {
-        readEnd = rhs.length;
-    }
-
-    if (readEnd > readStart) {
-        length = readEnd - readStart;
-        DNASequence::Copy(rhs, readStart, length);
-    }
-    else {
-        seq = NULL;
-        length = 0;
-        deleteOnExit = true;
-    }
-    FASTASequence::CopyTitle(rhs.title);
-}
-
-void FASTASequence::AppendToTitle(string str) {
-    int newLength = titleLength + str.size() + 1;
-    if (newLength == 0) {
-        DeleteTitle();
-        return;
-    }
-
-    char *tmpTitle = new char[newLength];
-    memcpy(tmpTitle, title, titleLength);
-    memcpy(&tmpTitle[titleLength], str.c_str(), str.size());
-    tmpTitle[newLength-1] = '\0';
-    delete[] title;
-    title = tmpTitle;
-    titleLength = newLength;
-    deleteTitleOnExit = true;
-}
-
-void FASTASequence::Assign(FASTASequence &rhs) {
-    *this = (FASTASequence&)rhs;
-}
-
-// Create a reverse complement FASTASequence of *this and assign to rhs.
-void FASTASequence::MakeRC(FASTASequence &rhs, DNALength rhsPos, DNALength rhsLength) {
-    rhs.Free();
-    DNASequence::MakeRC((DNASequence&) rhs, rhsPos, rhsLength);
-    if (title != NULL) {
-        (static_cast<FASTASequence*>(&rhs))->CopyTitle(title);
-    }
-}
-
-void FASTASequence::ReverseComplementSelf() {
-    DNALength i;
-    for (i = 0; i < length/2 + length % 2; i++) {
-        char c = seq[i];
-        seq[i] = ReverseComplementNuc[seq[length - i - 1]];
-        seq[length - i - 1] = ReverseComplementNuc[static_cast<int>(c)];
-    }
-}
-
-void FASTASequence::operator=(const FASTASequence &rhs) {
-    CheckBeforeCopyOrReference(rhs, "FASTASequence");
-
-    // Free before copying anything 
-    FASTASequence::Free();
-
-    // Copy seq from rhs
-    ((DNASequence*)this)->Copy((DNASequence&)rhs);
-
-    assert(deleteOnExit);
-
-    // Copy title from rhs
-    FASTASequence::CopyTitle(rhs.title, rhs.titleLength);
-
-    assert(deleteOnExit);
-}
-
-void FASTASequence::Copy(const std::string & rhsTitle, const std::string & rhsSeq) {
-    this->Copy(rhsSeq);
-    this->CopyTitle(rhsTitle);
-}
-
-void FASTASequence::Copy(const std::string & rhsSeq) {
-    (static_cast<DNASequence*>(this))->Copy(rhsSeq);
-}
-
-void FASTASequence::Copy(const FASTASequence &rhs) {
-    *this = (FASTASequence&)rhs;
-}
-
-#ifdef USE_PBBAM
-void FASTASequence::Copy(const PacBio::BAM::BamRecord & record) {
-    FASTASequence::Copy(record.Impl().Name(), record.Sequence());
-}
-#endif
-
-void FASTASequence::Free() {
-    // Delete title if title is under control, reset deleteTitleOnExit.
-    FASTASequence::DeleteTitle();
-
-    // Delete seq if under control, reset deleteOnExit.
-    // Don't call Free() before calling DeleteTitle().
-    DNASequence::Free();
-}
-
-template DNALength ResizeSequence<FASTASequence>(FASTASequence &, DNALength);
diff --git a/libcpp/pbdata/FASTASequence.hpp b/libcpp/pbdata/FASTASequence.hpp
deleted file mode 100644
index bfadb58..0000000
--- a/libcpp/pbdata/FASTASequence.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-#ifndef _BLASR_FASTA_SEQUENCE_HPP_
-#define _BLASR_FASTA_SEQUENCE_HPP_
-
-#include <string>
-#include <iostream>
-#include <stdint.h>
-#include <string>
-#include <cstring>
-#include <ostream>
-#include "Types.h"
-#include "NucConversion.hpp"
-#include "Enumerations.h"
-#include "DNASequence.hpp"
-#include "reads/ZMWGroupEntry.hpp"
-
-//
-// NO proteins for now.
-class FASTASequence : public DNASequence {
-private:
-    // Whether or not to delete title in Free() 
-    // regardless of deleteOnExit (to prevent memory leak
-    // when ReferenceSubstring and CopyTitle are called together).
-    bool deleteTitleOnExit; 
-
-public:
-    char *title;
-    int titleLength;
-
-    FASTASequence();
-    inline ~FASTASequence();
-
-    void PrintSeq(std::ostream &out, int lineLength = 50, char delim='>');
-
-    int GetStorageSize();
-
-    std::string GetName() const;
-
-    virtual bool StoreHoleNumber(int holeNumber);
-    virtual bool StoreHoleStatus(unsigned char holeStatus);
-    virtual bool StorePlatformId(PlatformId platformId);
-    virtual bool StoreZMWData(ZMWGroupEntry &data);
-    virtual bool StoreXY(int16_t xy[]);
-
-    bool GetHoleNumber (int &holeNumberP); 
-
-    bool GetXY(int xyP[]); 
-
-    void ShallowCopy(const FASTASequence &rhs); 
-
-    std::string GetTitle() const; 
-
-    void DeleteTitle();
-
-    void CopyTitle(const char* str, int strlen); 
-
-    void CopyTitle(std::string str);
-
-    void GetFASTATitle(std::string& fastaTitle); 
-
-    void CopySubsequence(FASTASequence &rhs, int readStart, int readEnd=-1); 
-
-    void AppendToTitle(std::string str); 
-
-    void Assign(FASTASequence &rhs); 
-
-    void MakeRC(FASTASequence &rhs, DNALength rhsPos=0, DNALength rhsLength=0); 
-
-    void ReverseComplementSelf(); 
-
-    void operator=(const FASTASequence &rhs); 
-
-    void Copy(const FASTASequence &rhs); 
-
-    void Copy(const std::string & rhsTitle, const std::string & rhsSeq);
-
-    void Copy(const std::string & rhsSeq);
-
-#ifdef USE_PBBAM
-    /// Copies a BamRecord as a FASTASequence.
-    void Copy(const PacBio::BAM::BamRecord & record);
-#endif
-
-    void Free(); 
-};
-
-
-inline FASTASequence::~FASTASequence(){
-    FASTASequence::Free();
-}
-
-#endif
diff --git a/libcpp/pbdata/FASTQReader.cpp b/libcpp/pbdata/FASTQReader.cpp
deleted file mode 100644
index 324d57a..0000000
--- a/libcpp/pbdata/FASTQReader.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-#include <cstdio>
-#include <climits>
-#include <cmath>
-#include "FASTQReader.hpp"
-
-FASTQReader::FASTQReader() : FASTAReader() {
-    endOfReadDelim = '\n';
-}
-
-long FASTQReader::GetNext(FASTASequence &seq) {
-    return ((FASTAReader*)this)->GetNext(seq);
-}
-
-unsigned char FASTQReader::phredQVtoPacbioQV(unsigned char phredQV){
-    int qual = floor(100.0 * log10(pow(10.0, phredQV/10.0) - 1.0) + 0.5); 
-    qual = qual > 250 ? 250 : qual;
-    qual = qual < 1   ? 1   : qual;
-    return (unsigned char) qual;
-}
-
-int FASTQReader::GetNext(FASTQSequence &seq) {
-    seq.Free(); // Free seq before being reused. 
-    char c;
-    while( curPos < fileSize and ( (c = filePtr[curPos]) == ' ' or c == '\t' or c == '\n' or c == '\r') ) {
-        curPos++;
-    }
-
-    if (curPos >= fileSize) {
-        return false;
-    }
-    long p = curPos;
-    AdvanceToTitleStart(p, '@');
-    CheckValidTitleStart(p,'@');
-    ReadTitle(p, seq);
-    // Title ends on '\n', consume that;
-    p++;
-    long p2;
-    p2 = p;
-    while(p2 < fileSize and filePtr[p2] != '\n') { p2++;}
-    if (p2 - p > UINT_MAX) {
-        cout << "ERROR! Reading sequences stored in more than 4Gbytes of space is not supported." << endl;
-        exit(1);
-    }
-
-    seq.length = p2 - p;
-    long seqPos;
-    if (seq.length > 0) {
-        seq.seq = new Nucleotide[seq.length];
-        p2 = p;
-        seqPos = 0;
-        while(p2 < fileSize and filePtr[p2] != '\n') { seq.seq[seqPos] = filePtr[p2]; p2++; seqPos++;}
-    }
-    else {
-        seq.seq = 0;
-    }
-    p = p2;
-
-    AdvanceToTitleStart(p,'+');
-    CheckValidTitleStart(p,'+');
-    while(p < fileSize and filePtr[p] != '\n') { p++;}
-    p++; // skip '\n'
-    p2 = p;
-    while(p2 < fileSize and filePtr[p2] != '\n') { p2++;}
-    seq.length = p2 - p;
-    if (seq.length > 0) {
-        seq.qual.Allocate(seq.length);
-        p2 = p;
-        long seqPos = 0;
-        while(p2 < fileSize and filePtr[p2] != '\n') { 
-            seq.qual[seqPos] = filePtr[p2] - FASTQSequence::charToQuality;
-            p2++; seqPos++;
-        }
-    }
-    else {
-        seq.qual.data = NULL;
-    }
-    curPos = p2;
-    seq.deleteOnExit = true;
-    return true;
-}
-
-
-
-int FASTQReader::Advance(int nSteps) {
-    // An advance of a FASTQ file is simply twice the number of
-    // advances of FASTA, since each nucleotide sequence has a quality
-    // sequence. 
-    return ((FASTAReader*)this)->Advance(nSteps*2);
-}
diff --git a/libcpp/pbdata/FASTQReader.hpp b/libcpp/pbdata/FASTQReader.hpp
deleted file mode 100644
index 4caeab3..0000000
--- a/libcpp/pbdata/FASTQReader.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef _BLASR_FASTQ_READER_HPP_
-#define _BLASR_FASTQ_READER_HPP_
-
-#include "FASTASequence.hpp"
-#include "FASTAReader.hpp"
-#include "FASTQSequence.hpp"
-#include "qvs/QualityValue.hpp"
-
-class FASTQReader : public FASTAReader {
-public:
-
-    FASTQReader();
-
-    long GetNext(FASTASequence &seq); 
-
-    unsigned char phredQVtoPacbioQV(unsigned char phredQV);
-
-    int GetNext(FASTQSequence &seq); 
-
-    int Advance(int nSteps); 
-};
-
-
-#endif // _BLASR_FASTQ_READER_HPP_
diff --git a/libcpp/pbdata/FASTQSequence.cpp b/libcpp/pbdata/FASTQSequence.cpp
deleted file mode 100644
index 26789ac..0000000
--- a/libcpp/pbdata/FASTQSequence.cpp
+++ /dev/null
@@ -1,651 +0,0 @@
-#include <cassert>
-#include <vector>
-#include <cstring>
-#include <iostream>
-#include <iomanip>
-#include <algorithm>
-#include <stdint.h>
-#include "Types.h"
-#include "NucConversion.hpp"
-#include "DNASequence.hpp"
-#include "Enumerations.h"
-#include "FASTQSequence.hpp"
-
-using namespace std;
-
-//
-// Initialize a read with quality probabilities from one with quality values.
-//
-int FASTQSequence::charToQuality = FASTQ_CHAR_TO_QUALITY;
-
-QVScale FASTQSequence::GetQVScale() {
-    return qvScale;
-}
-
-void FASTQSequence::SetQVScale(QVScale qvScaleP) {
-    qvScale                   = qvScaleP;
-    qual.qvScale              = qvScale;
-    deletionQV.qvScale        = qvScale;
-    preBaseDeletionQV.qvScale = qvScale;
-    insertionQV.qvScale       = qvScale;
-    substitutionQV.qvScale    = qvScale;
-    mergeQV.qvScale           = qvScale;
-}
-
-QualityValueVector<QualityValue>* 
-FASTQSequence::GetQVPointerByIndex(int index) {
-    if (index == 0) { return &qual; }
-    if (index == 1) { return &insertionQV; }
-    if (index == 2) { return &deletionQV; }
-    if (index == 3) { return &substitutionQV; }
-    if (index == 4) { return &mergeQV; }
-    return NULL;
-}
-
-int FASTQSequence::GetStorageSize() {
-    int total = 0;
-    int nQV = 0;
-    int nTag =0;
-    if (!qual.Empty()) {
-        nQV++;
-    }
-    if (!deletionQV.Empty()) { 
-        nQV++;
-    }
-    if (!preBaseDeletionQV.Empty()) {
-        nQV+=4;
-    }
-    if (!insertionQV.Empty()) {
-        nQV++;
-    }
-    if (!substitutionQV.Empty()) {
-        nQV++;
-    }
-    if (!mergeQV.Empty()) {
-        nQV++;
-    }
-    if (deletionTag != NULL) {
-        nTag++;
-    }
-    if (substitutionTag !=NULL) {
-        nTag++;
-    }
-    total = nQV*sizeof(QualityValue)*length + nTag*sizeof(Nucleotide)*length;
-    return total + FASTASequence::GetStorageSize();
-}
-
-FASTQSequence::FASTQSequence() : FASTASequence() {
-    deletionTag       = NULL;
-    substitutionTag   = NULL;
-
-    //
-    // For now assume a prior distribution to be the variation of the human genome.
-    // FIXME: these were set to 0.001, which ends up being 0 because these priors are integer types
-    //        I'm setting these explicitly to 0 to silence the warning and maintain behavior,
-    //        but mkinsella recommends revisiting these for potential removal
-    //
-    deletionQVPrior = 0;
-    insertionQVPrior = 0;
-    substitutionQVPrior = 0;
-    preBaseDeletionQVPrior = 0;
-
-    subreadStart = subreadEnd = 0;
-    qvScale = PHRED;
-}
-
-QualityValue FASTQSequence::GetDeletionQV(DNALength pos) {
-    assert(pos < ((unsigned int)-1));
-    assert(pos < length);
-    if (deletionQV.Empty()) {
-        return deletionQVPrior;
-    }
-    else {
-        return deletionQV[pos];
-    }
-}
-
-QualityValue FASTQSequence::GetMergeQV(DNALength pos) {
-    assert(pos < ((unsigned int)-1));
-    assert(pos < length);
-    if (mergeQV.Empty()) {
-        return 0;
-    }
-    else {
-        return mergeQV[pos];
-    }
-}
-
-Nucleotide FASTQSequence::GetSubstitutionTag(DNALength pos) {
-    if (substitutionTag == NULL) {
-        return 'N';
-    }
-    assert(pos < ((unsigned int)-1));
-    assert(pos < length);
-    return substitutionTag[pos];
-}
-
-Nucleotide FASTQSequence::GetDeletionTag(DNALength pos) {
-    if (deletionTag == NULL) {
-        return 'N';
-    }
-    assert(pos < ((unsigned int)-1));
-    assert(pos < length);
-    return deletionTag[pos];
-}
-
-QualityValue FASTQSequence::GetInsertionQV(DNALength pos) {
-    if (insertionQV.Empty()) {
-        return insertionQVPrior;
-    }
-    assert(pos < ((unsigned int)-1));
-    assert(pos < length);
-    return insertionQV[pos];
-}
-
-QualityValue FASTQSequence::GetSubstitutionQV(DNALength pos) {
-    if (substitutionQV.Empty()) {
-        return substitutionQVPrior;
-    }
-    assert(pos < ((unsigned int)-1));
-    assert(pos < length);
-    return substitutionQV[pos];
-}
-
-QualityValue FASTQSequence::GetPreBaseDeletionQV(DNALength pos, Nucleotide nuc) {
-    if (preBaseDeletionQV.Empty()) {
-        return preBaseDeletionQVPrior;
-    }
-    assert(pos < ((unsigned int)-1));
-    assert(pos < length);
-    return preBaseDeletionQV[pos*4 + TwoBit[nuc]];
-}
-
-void FASTQSequence::ShallowCopy(const FASTQSequence &rhs) {
-    CheckBeforeCopyOrReference(rhs, "FASTQSequence");
-    FASTQSequence::Free();
-
-    qual.ShallowCopy(rhs.qual, 0, length);
-    FASTASequence::ShallowCopy(rhs);
-}
-
-void FASTQSequence::ReferenceSubstring(const FASTQSequence &rhs) {
-    FASTQSequence::ReferenceSubstring(rhs, 0, rhs.length);
-}
-
-void FASTQSequence::ReferenceSubstring(const FASTQSequence &rhs, DNALength pos) {
-    FASTQSequence::ReferenceSubstring(rhs, pos, rhs.length - pos);
-}
-
-void FASTQSequence::ReferenceSubstring(const FASTQSequence &rhs, DNALength pos, DNALength substrLength) {
-    // Sanity check.
-    CheckBeforeCopyOrReference(rhs, "FASTQSequence");
-
-    // Free this FASTQSequence before referencing rhs.
-    FASTQSequence::Free();
-
-    SetQVScale(rhs.qvScale);
-    if (substrLength == 0) {
-        substrLength = rhs.length - pos;
-    }
-    FASTASequence::ReferenceSubstring(rhs,pos,substrLength);
-    if (rhs.qual.Empty() == false) {
-        qual.ShallowCopy(rhs.qual, pos, substrLength);
-    }
-    if (rhs.deletionQV.Empty() == false) {
-        deletionQV.ShallowCopy(rhs.deletionQV, pos, substrLength);
-    }
-    if (rhs.mergeQV.Empty() == false) {
-        mergeQV.ShallowCopy(rhs.mergeQV, pos, substrLength);
-    }
-    if (rhs.insertionQV.Empty() == false) {
-        insertionQV.ShallowCopy(rhs.insertionQV, pos, substrLength);
-    }
-    if (rhs.preBaseDeletionQV.Empty() == false ){
-        preBaseDeletionQV.ShallowCopy(rhs.preBaseDeletionQV, pos, substrLength);
-    }
-    if (rhs.deletionTag != NULL) {
-        deletionTag = &rhs.deletionTag[pos];
-    }
-    if (rhs.substitutionTag != NULL) {
-        substitutionTag = &rhs.substitutionTag[pos];
-    }
-    if (rhs.substitutionQV.Empty() == false) {
-        substitutionQV.ShallowCopy(rhs.substitutionQV, pos, substrLength);
-    }
-    deletionQVPrior = rhs.deletionQVPrior;
-    insertionQVPrior = rhs.insertionQVPrior;
-    substitutionQVPrior = rhs.substitutionQVPrior;
-    preBaseDeletionQVPrior = rhs.preBaseDeletionQVPrior;
-}
-
-void FASTQSequence::ClearAndNull(QualityValue *value) {
-    if (value != NULL) {
-        delete[] value;
-    }
-    value = NULL;
-}
-
-void FASTQSequence::CopyQualityValues(const FASTQSequence &rhs) {
-    // Make sure QVs and seq are all under control, if seq is referenced
-    // while QVs are copied, memory leak can happen. 
-    assert(deleteOnExit);
-
-    SetQVScale(rhs.qvScale);
-    qual.Copy(rhs.qual, rhs.length);
-    deletionQV.Copy(rhs.deletionQV, rhs.length);
-    insertionQV.Copy(rhs.insertionQV, rhs.length);
-    substitutionQV.Copy(rhs.substitutionQV, rhs.length);
-    mergeQV.Copy(rhs.mergeQV, rhs.length);
-    //
-    // Handle the tags separtely (and verbosely)
-    //
-    if (rhs.deletionTag) {
-        AllocateDeletionTagSpace(rhs.length);
-        memcpy(deletionTag, rhs.deletionTag, sizeof(Nucleotide)*rhs.length);
-    }
-    else { 
-        ClearAndNull(deletionTag);
-    }
-
-    if (rhs.substitutionTag) {
-        AllocateSubstitutionTagSpace(rhs.length);
-        memcpy(substitutionTag, rhs.substitutionTag, sizeof(Nucleotide)*rhs.length);
-    }
-    else {
-        ClearAndNull(substitutionTag);
-    }
-}
-
-void FASTQSequence::AllocateQualitySpace(DNALength qualLength) {
-    qual.Allocate(qualLength);
-}
-
-void FASTQSequence::AllocateDeletionQVSpace(DNALength qualLength) {
-    deletionQV.Allocate(qualLength);
-}
-
-void FASTQSequence::AllocateMergeQVSpace(DNALength len) {
-    mergeQV.Allocate(len);
-}
-
-void FASTQSequence::AllocateDeletionTagSpace(DNALength qualLength) {
-    if (deletionTag != NULL) delete[] deletionTag;
-    deletionTag = new Nucleotide[qualLength];
-}
-
-void FASTQSequence::AllocatePreBaseDeletionQVSpace(DNALength qualLength) {
-    preBaseDeletionQV.Allocate(qualLength);
-}
-
-void FASTQSequence::AllocateInsertionQVSpace(DNALength qualLength) {
-    insertionQV.Allocate(qualLength);
-}
-
-void FASTQSequence::AllocateSubstitutionQVSpace(DNALength qualLength ){ 
-    substitutionQV.Allocate(qualLength);
-}
-
-void FASTQSequence::AllocateSubstitutionTagSpace(DNALength qualLength ){ 
-    if (substitutionTag != NULL) delete[] substitutionTag;
-    substitutionTag = new Nucleotide[qualLength];
-}
-
-void FASTQSequence::AllocateRichQualityValues(DNALength qualLength) {
-    AllocateDeletionQVSpace(qualLength);
-    AllocateDeletionTagSpace(qualLength);
-    AllocatePreBaseDeletionQVSpace(qualLength);
-    AllocateInsertionQVSpace(qualLength);
-    AllocateSubstitutionQVSpace(qualLength);
-    AllocateSubstitutionTagSpace(qualLength);
-    AllocateMergeQVSpace(qualLength);
-}
-
-void FASTQSequence::Copy(const FASTQSequence &rhs) {
-    CheckBeforeCopyOrReference(rhs, "FASTQSequence");
-
-    // Free *this before copying anything.
-    FASTQSequence::Free();
-
-    // Copy FASTASequence from rhs, including seq and title
-    FASTASequence::Copy(rhs); 
-
-    assert(deleteOnExit);
-
-    // Copy Quality values from rhs.
-    FASTQSequence::CopyQualityValues(rhs);
-}
-
-FASTQSequence& FASTQSequence::operator=(const FASTQSequence &rhs) {
-    ((FASTQSequence*)this)->Copy(rhs);
-    return *this;
-}
-
-FASTQSequence::FASTQSequence(const FASTQSequence &rhs) {
-    ((FASTQSequence*)this)->Copy(rhs);
-}
-
-// Copy rhs to this, including seq, title and QVs.
-void FASTQSequence::Assign(FASTQSequence &rhs) {
-    CheckBeforeCopyOrReference(rhs);
-    FASTQSequence::Free();
-
-    // copy the nucleotide part
-    FASTASequence::Assign(rhs);
-    // copy the qual part, qual scal is set in CopyQualityValues
-    FASTQSequence::CopyQualityValues(rhs);
-}
-
-void FASTQSequence::PrintFastq(ostream &out, int lineLength) {
-    PrintSeq(out, lineLength, '@');
-    if (lineLength == 0) { 
-        out << endl;
-    }
-    PrintFastqQuality(out, lineLength);
-    if (lineLength == 0) {
-        out << endl;
-    }
-}
-
-void FASTQSequence::PrintFastqQuality(ostream &out, int lineLength) {
-    out << "+" << endl;
-    PrintAsciiQual(out, lineLength);
-}
-
-bool FASTQSequence::GetQVs(const QVIndex & qvIndex, std::vector<uint8_t> & qvs, bool reverse) {
-    qvs.clear();
-    uint8_t *  qualPtr;
-    int charOffset = charToQuality;
-    if (qvIndex == I_QualityValue) {
-        qualPtr = qual.data;
-    } else if (qvIndex == I_InsertionQV) {
-        qualPtr = insertionQV.data;
-    } else if (qvIndex == I_DeletionQV) {
-        qualPtr = deletionQV.data;
-    } else if (qvIndex == I_SubstitutionQV) {
-        qualPtr = substitutionQV.data;
-    } else if (qvIndex == I_MergeQV) {
-        qualPtr = mergeQV.data;
-    } else if (qvIndex == I_SubstitutionTag) {
-        qualPtr = (uint8_t*)(substitutionTag);
-        charOffset = 0;
-    } else if (qvIndex == I_DeletionTag) {
-        qualPtr = (uint8_t*)(deletionTag);
-        charOffset = 0;
-    }
-    if (qualPtr == NULL) {
-        return false;
-    }
-
-    qvs.resize(length);
-    for (DNALength i = 0; i < length; i++) {
-        if (not reverse) { // The same orientation
-            qvs[i] = static_cast<uint8_t>(qualPtr[i] + charOffset);
-        } else if (qvIndex != I_SubstitutionTag and qvIndex != I_DeletionTag) {
-            // Reverse orientation, reverse QVs, except SubstitutionTag and DeletionTag
-            qvs[i] = static_cast<uint8_t>(qualPtr[length - i - 1] + charOffset);
-        } else { // Reverse and complement SubstitutionTag and DeletionTag
-            qvs[i] = static_cast<uint8_t>(ReverseComplementNuc[qualPtr[length - i - 1] + charOffset]);
-        }
-        //assert(qvs[i] > 32 and qvs[i] < 127);
-    }
-    return true;
-}
-
-QVIndex FASTQSequence::GetQVIndex(const std::string & qvName) {
-    if (qvName == "QualityValue") {
-        return I_QualityValue;
-    } else if (qvName == "InsertionQV") {
-        return I_InsertionQV;
-    } else if (qvName == "DeletionQV") {
-        return I_DeletionQV;
-    } else if (qvName == "SubstitutionQV") {
-        return I_SubstitutionQV;
-    } else if (qvName == "MergeQV") {
-        return I_MergeQV;
-    } else if (qvName == "SubstitutionTag") {
-        return  I_SubstitutionTag;
-    } else if (qvName == "DeletionTag"){
-        return I_DeletionTag;
-    } else {
-        std::cout << "ERROR: unknown Quality Value " << qvName << std::endl;
-        assert(false);
-    }
-}
-
-bool FASTQSequence::GetQVs(const std::string & qvName, std::vector<uint8_t> & qvs, bool reverse){
-    return GetQVs(GetQVIndex(qvName), qvs, reverse);
-}
-
-bool FASTQSequence::GetQVs(const std::string & qvName, std::string & qvsStr, bool reverse) {
-    std::vector<uint8_t> qvs;
-    bool OK = GetQVs(qvName, qvs, reverse);
-    qvsStr = string(qvs.begin(), qvs.end());
-    return OK;
-}
-
-void FASTQSequence::PrintAsciiRichQuality(ostream &out, 
-        int whichQuality, int lineLength) {
-    vector<uint8_t> qvs;
-    bool OK = GetQVs(static_cast<QVIndex>(whichQuality), qvs);
-    
-    DNALength i;
-    if (lineLength == 0) {
-        for (i = 0; i < length; i++) {
-            if (OK) {
-                out << static_cast<char>(qvs[i]);
-            }
-            else {
-                // Fake bad quality
-                out << "5";
-            }
-        }
-    }
-    else {
-        for (i = 0; i < length; i++) {
-            if (OK) {
-                out << static_cast<char>(qvs[i]);
-            }
-            else {
-                // Fake pretty bad quality.
-                out << "5";
-            }
-            assert(lineLength != 0);
-            if (i > 0 and (i+1) % lineLength==0) {
-                out << endl;
-            }
-        }
-        if (i == 0 or i % lineLength != 0) {
-            out << endl;
-        }
-    }
-}
-
-void FASTQSequence::PrintAsciiQual(ostream &out, int lineLength) {
-    PrintAsciiRichQuality(out, 0, lineLength);
-}
-
-void FASTQSequence::PrintQual(ostream &out, int lineLength) {
-    out << ">" << this->title << endl;
-    DNALength i;
-    for (i = 0; i < length; i++ ){
-        out << (int) qual[i];
-        if (i > 0 and (i+1) % lineLength == 0)
-            out << endl;
-        else 
-            out << " ";
-    }
-    if (i == 0 or i % lineLength != 0) {
-        out << endl;
-    }
-}
-
-void FASTQSequence::PrintQualSeq(ostream &out, int lineLength) {
-    FASTASequence::PrintSeq(out, lineLength);
-    lineLength /= 4;
-    PrintQual(out, lineLength);
-}
-
-// Create a reverse complement FASTQSequence of *this and assign to rhs.
-void FASTQSequence::MakeRC(FASTQSequence &rc) {
-    rc.Free();
-    FASTASequence::MakeRC(rc);
-    rc.SetQVScale(qvScale);
-
-    if (not qual.Empty()) {
-        // QVs are independent of one another. A FASTQSequence can have
-        // insertionQV without having QualityValue.
-        (static_cast<FASTQSequence*>(&rc))->AllocateQualitySpace(length);
-        for (DNALength pos = 0; pos < length; pos++ ){
-            rc.qual.data[length - pos - 1] = qual[pos];
-        }
-    }
-
-    //
-    // The read contains rich quality values. Reverse them here.
-    //
-    if (deletionQV.Empty() == false) {
-        (static_cast<FASTQSequence*>(&rc))->AllocateDeletionQVSpace(length);
-        for (DNALength pos = 0; pos < length; pos++) {
-            rc.deletionQV[length - pos - 1] = deletionQV[pos];
-        }
-    }
-
-    if (insertionQV.Empty() == false) {
-        (static_cast<FASTQSequence*>(&rc))->AllocateInsertionQVSpace(length);
-        for (DNALength pos = 0; pos < length; pos++) {
-            rc.insertionQV[length - pos - 1] = insertionQV[pos];
-        }
-    }
-
-    if (substitutionQV.Empty() == false) {
-        (static_cast<FASTQSequence*>(&rc))->AllocateSubstitutionQVSpace(length);
-        for (DNALength pos = 0; pos < length; pos++) {
-            rc.substitutionQV[length - pos - 1] = substitutionQV[pos];
-        }
-    }
-
-    if (mergeQV.Empty() == false) {
-        (static_cast<FASTQSequence*>(&rc))->AllocateMergeQVSpace(length);
-        for (DNALength pos = 0; pos < length; pos++) {
-            rc.mergeQV[length - pos - 1] = mergeQV[pos];
-        }
-    }
-
-    if (substitutionTag != NULL) {
-        (static_cast<FASTQSequence*>(&rc))->AllocateSubstitutionTagSpace(length);
-        for (DNALength pos = 0; pos < length; pos++) {
-            rc.substitutionTag[length - pos - 1] = ReverseComplementNuc[substitutionTag[pos]];
-        }
-    }
-
-    if (deletionTag != NULL) {
-        (static_cast<FASTQSequence*>(&rc))->AllocateDeletionTagSpace(length);
-        for (DNALength pos = 0; pos < length; pos++) {
-            rc.deletionTag[length - pos - 1] = ReverseComplementNuc[deletionTag[pos]];
-        }
-    }
-
-    if (preBaseDeletionQV.Empty() == false) {
-        (static_cast<FASTQSequence*>(&rc))->AllocatePreBaseDeletionQVSpace(length);
-        for (DNALength pos = 0; pos < length; pos++) {
-            rc.preBaseDeletionQV[length - pos - 1] = preBaseDeletionQV[pos];
-        }
-    }
-
-    deletionQVPrior = rc.deletionQVPrior;
-    insertionQVPrior = rc.insertionQVPrior;
-    substitutionQVPrior = rc.substitutionQVPrior;
-    preBaseDeletionQVPrior = rc.preBaseDeletionQVPrior;
-}
-
-void FASTQSequence::Free() {
-    if (deleteOnExit == true) { // Free Quality Values if under control
-        qual.Free();
-        deletionQV.Free();
-        preBaseDeletionQV.Free();
-        insertionQV.Free();
-        substitutionQV.Free();
-        mergeQV.Free();
-        if (deletionTag != NULL) {
-            delete[] deletionTag;
-        }
-        if (substitutionTag != NULL) {
-            delete[] substitutionTag;
-        }
-    }
-    //Reset deletionTag and substitionTag anyway
-    deletionTag = NULL;
-    substitutionTag = NULL;
-
-    // Free seq and title, reset deleteOnExit. 
-    // Don't call FASTASequence::Free before freeing QVs.
-    FASTASequence::Free();
-}
-
-void FASTQSequence::LowerCaseMask(int qThreshold) {
-    int i;
-    if (qual.Empty() == true) return;
-
-   for (i = 0; i < length; i++ ){
-        if (qual[i] < qThreshold) {
-            seq[i] = tolower(seq[i]);
-        }
-    }
-}
-
-float FASTQSequence::GetAverageQuality() {
-    DNALength p;
-    float totalQ;
-    if (qual.Empty() == true) { return 0.0; }
-    assert(qual.Empty() == false);
-    assert(length > 0);
-    for (p = 0, totalQ = 0.0; p < length; p++) {
-        totalQ += qual[p];
-    }
-    return totalQ / length;
-}
-
-#ifdef USE_PBBAM
-void FASTQSequence::Copy(const PacBio::BAM::BamRecord & record) {
-    FASTQSequence::Free();
-
-    // Copy title and sequence.
-    static_cast<FASTASequence*>(this)->Copy(record);
-
-    // Copy QVs.
-    qual.Copy(record.Qualities().Fastq());
-
-    // iq
-    if (record.HasInsertionQV()) {
-        insertionQV.Copy(record.InsertionQV().Fastq());
-    }
-    // dq
-    if (record.HasDeletionQV()) {
-        deletionQV.Copy(record.DeletionQV().Fastq());
-    }
-    // sq
-    if (record.HasSubstitutionQV()) {
-        substitutionQV.Copy(record.SubstitutionQV().Fastq());
-    }
-    // mq
-    if (record.HasMergeQV()) {
-        mergeQV.Copy(record.MergeQV().Fastq());
-    }
-    // st
-    if (record.HasSubstitutionTag()) {
-        std::string qvs = record.SubstitutionTag();
-        AllocateSubstitutionTagSpace(static_cast<DNALength>(qvs.size()));
-        std::memcpy(substitutionTag, qvs.c_str(), qvs.size() * sizeof(char));
-    }
-    // dt
-    if (record.HasDeletionTag()) {
-        std::string qvs = record.DeletionTag();
-        AllocateDeletionTagSpace(static_cast<DNALength>(qvs.size()));
-        std::memcpy(deletionTag, qvs.c_str(), qvs.size() * sizeof(char));
-    }
-    // preBaseQVs are not included in BamRecord, and will not be copied.
-    
-    subreadStart = static_cast<int>(record.QueryStart());
-    subreadEnd = static_cast<int>(record.QueryEnd());
-}
-#endif
diff --git a/libcpp/pbdata/FASTQSequence.hpp b/libcpp/pbdata/FASTQSequence.hpp
deleted file mode 100644
index f94b2b0..0000000
--- a/libcpp/pbdata/FASTQSequence.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-#ifndef _BLASR_FASTQ_SEQUENCE_HPP_
-#define _BLASR_FASTQ_SEQUENCE_HPP_
-
-#include "DNASequence.hpp"
-#include "FASTASequence.hpp"
-#include "qvs/QualityValue.hpp"
-#include "qvs/QualityValueVector.hpp"
-#include "matrix/Matrix.hpp"
-#include "reads/ZMWGroupEntry.hpp"
-
-enum QVList {InsertionQV=0x1, DeletionQV=0x2, SubstitutionQV=0x4, MergeQV=0x8, SubstitutionTag=0x10, DeletionTag=0x20};
-enum QVIndex {I_QualityValue=0, I_InsertionQV=1,I_DeletionQV=2,I_SubstitutionQV=3,I_MergeQV=4, I_SubstitutionTag=5,I_DeletionTag=6};
-
-class FASTQSequence : public FASTASequence {
-public:
-    static int charToQuality;
-    QualityValueVector<QualityValue> qual;
-    QualityValueVector<QualityValue> deletionQV;
-    QualityValueVector<QualityValue> preBaseDeletionQV;
-    QualityValueVector<QualityValue> insertionQV;
-    QualityValueVector<QualityValue> substitutionQV;
-    QualityValueVector<QualityValue> mergeQV;
-    Nucleotide *deletionTag;
-    Nucleotide *substitutionTag;
-    int subreadStart, subreadEnd;
-    QualityValue deletionQVPrior, insertionQVPrior, substitutionQVPrior, preBaseDeletionQVPrior;
-
-    QVScale qvScale;
-
-    QVScale GetQVScale(); 
-
-    void SetQVScale(QVScale qvScaleP); 
-
-    QualityValueVector<QualityValue>* GetQVPointerByIndex(int index);
-
-    int GetStorageSize(); 
-
-    FASTQSequence();
-    inline ~FASTQSequence();
-
-    QualityValue GetDeletionQV(DNALength pos); 
-
-    QualityValue GetMergeQV(DNALength pos); 
-
-    Nucleotide GetSubstitutionTag(DNALength pos); 
-
-    Nucleotide GetDeletionTag(DNALength pos); 
-
-    QualityValue GetInsertionQV(DNALength pos); 
-
-    QualityValue GetSubstitutionQV(DNALength pos); 
-
-    QualityValue GetPreBaseDeletionQV(DNALength pos, Nucleotide nuc); 
-
-    void ShallowCopy(const FASTQSequence &rhs); 
-
-    void ReferenceSubstring(const FASTQSequence &rhs); 
-
-    void ReferenceSubstring(const FASTQSequence &rhs, DNALength pos);
-
-    void ReferenceSubstring(const FASTQSequence &rhs, DNALength pos, DNALength substrLength); 
-
-    void ClearAndNull(QualityValue *value); 
-
-    void CopyQualityValues(const FASTQSequence &rhs);
-
-    void AllocateQualitySpace(DNALength qualLength); 
-
-    void AllocateDeletionQVSpace(DNALength qualLength); 
-
-    void AllocateMergeQVSpace(DNALength len);
-
-    void AllocateDeletionTagSpace(DNALength qualLength); 
-
-    void AllocatePreBaseDeletionQVSpace(DNALength qualLength); 
-
-    void AllocateInsertionQVSpace(DNALength qualLength); 
-
-    void AllocateSubstitutionQVSpace(DNALength qualLength );
-
-    void AllocateSubstitutionTagSpace(DNALength qualLength );
-
-    void AllocateRichQualityValues(DNALength qualLength); 
-
-    void Copy(const FASTQSequence &rhs); 
-
-    FASTQSequence& operator=(const FASTQSequence &rhs); 
-
-    FASTQSequence(const FASTQSequence &rhs); 
-
-    void Assign(FASTQSequence &rhs); 
-
-    void PrintFastq(std::ostream &out, int lineLength=50); 
-
-    void PrintFastqQuality(std::ostream &out, int lineLength=50); 
-
-    QVIndex GetQVIndex(const std::string & qvName);
-
-    /// Get QVs in vector<uint8_t> associated with the given QVIndex.
-    /// \returns true if qvs are available, false otherwise
-    /// \param [in] qvIndex - enum QVIndex
-    /// \param [out] qvs - obtained QVs.
-    /// \param [in] reverse - reverse orders of QVs or not
-    bool GetQVs(const QVIndex & qvIndex, std::vector<uint8_t> & qvs, bool reverse=false);
-
-    /// Get QVs in vector<uint8_t>, given with QV Name.
-    /// \returns true if qvs are available, false, otherwise
-    /// \param [in] qvName - InsertionQV, DeletionQV, SubstitionQV, MergeQV, SubstitutionTag, DeletionTag
-    /// \param [out] qvs - obtians QVs.
-    /// \param [in] reverse - reverse orders of QVs or not.
-    bool GetQVs(const std::string & qvName, std::vector<uint8_t> & qvs, bool reverse=false);
-
-    /// Get QVs in string, given with QV Name.
-    /// \returns true if qvs are available, false, otherwise
-    /// \param [in] qvName - InsertionQV, DeletionQV, SubstitionQV, MergeQV, SubstitutionTag, DeletionTag
-    /// \param [out] qvs - obtians QVs.
-    /// \param [in] reverse - reverse order of QVs or not
-    bool GetQVs(const std::string & qvName, std::string & qvs, bool reverse=false);
-
-    void PrintAsciiRichQuality(std::ostream &out, int whichQuality, int lineLength=50);
-
-    void PrintAsciiQual(std::ostream &out, int lineLength=50) ;
-
-    void PrintQual(std::ostream &out, int lineLength = 50); 
-
-    void PrintQualSeq(std::ostream &out, int lineLength = 50);
-
-    void MakeRC(FASTQSequence &rc); 
-
-    void Free(); 
-
-    void LowerCaseMask(int qThreshold); 
-
-    float GetAverageQuality(); 
-
-#ifdef USE_PBBAM
-    /// Copy name, sequence, and QVs from BamRecord.
-    void Copy(const PacBio::BAM::BamRecord & record);
-#endif 
-};
-
-inline FASTQSequence::~FASTQSequence() {
-    FASTQSequence::Free();
-}
-
-#endif // _BLASR_FASTQ_SEQUENCE_HPP_
diff --git a/libcpp/pbdata/GFFFile.cpp b/libcpp/pbdata/GFFFile.cpp
deleted file mode 100644
index d9f36e1..0000000
--- a/libcpp/pbdata/GFFFile.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-#include "GFFFile.hpp"
-
-GFFEntry::GFFEntry(std::string & _name, std::string & _source,
-                  std::string & _type, UInt & _start, UInt & _end,
-                  float & _score, char & _strand,
-                  std::string & _frame, std::string _attributes) {
-    name = _name; 
-    source = _source;
-    type = _type;
-    start = _start;
-    end = _end;
-    score = _score;
-    strand = _strand;
-    frame = _frame;
-}
-
-void GFFFile::ReadAll(std::string & gffFileName) {
-  std::fstream gffIn;
-  CrucialOpen(gffFileName, gffIn, std::ios::in);
-  while(gffIn) {
-    std::string line;
-    getline(gffIn, line);
-    std::stringstream linestrm(line);
-    std::string name, source, type;
-    UInt start, end;
-    char strand;
-    float score;
-    std::string frame, attributes;
-    // A sample record in adapterGffFile:
-    // ref000001   .   adapter 10955   10999   0.00    +   .   xxxx
-    linestrm >> name >> source >> type 
-             >> start >> end >> score 
-             >> strand >> frame >> attributes;
-    entries.push_back(GFFEntry(
-      name, source, type, start, end, 
-      score, strand, frame, attributes));
-    }
-    gffIn.close();
-}
diff --git a/libcpp/pbdata/GFFFile.hpp b/libcpp/pbdata/GFFFile.hpp
deleted file mode 100644
index 2e410ec..0000000
--- a/libcpp/pbdata/GFFFile.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef _BLASR_GFF_FILE_HPP_
-#define _BLASR_GFF_FILE_HPP_
-
-#include <iostream>
-#include <fstream>
-#include <sstream>
-#include <string>
-#include <vector>
-
-#include "utils.hpp"
-#include "Types.h"
-
-class GFFEntry {
-public:
-    std::string name, type, source;
-    UInt start, end;
-    char strand;
-    float score;
-    std::string frame;
-    std::string attributes;
-    GFFEntry(std::string & _name, std::string & _source,
-             std::string & _type, UInt & _start, UInt & _end,
-             float & _score, char & _strand,
-             std::string & _frame, std::string _attributes);
-};
-
-class GFFFile {
-public:
-    std::vector<GFFEntry> entries;
-    void ReadAll(std::string & gffFileName);
-};
-
-#endif
diff --git a/libcpp/pbdata/MD5Utils.cpp b/libcpp/pbdata/MD5Utils.cpp
deleted file mode 100644
index dd1f45a..0000000
--- a/libcpp/pbdata/MD5Utils.cpp
+++ /dev/null
@@ -1,464 +0,0 @@
-
-// MD5.CC - source code for the C++/object oriented translation and 
-//          modification of MD5.
-
-// Translation and modification (c) 1995 by Mordechai T. Abzug 
-
-// This translation/ modification is provided "as is," without express or 
-// implied warranty of any kind.
-
-// The translator/ modifier does not claim (1) that MD5 will do what you think 
-// it does; (2) that this translation/ modification is accurate; or (3) that 
-// this software is "merchantible."  (Language for this disclaimer partially 
-// copied from the disclaimer below).
-
-/* based on:
-
-   MD5C.C - RSA Data Security, Inc., MD5 message-digest algorithm
-   MDDRIVER.C - test driver for MD2, MD4 and MD5
-
-
-   Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
-rights reserved.
-
-License to copy and use this software is granted provided that it
-is identified as the "RSA Data Security, Inc. MD5 Message-Digest
-Algorithm" in all material mentioning or referencing this software
-or this function.
-
-License is also granted to make and use derivative works provided
-that such works are identified as "derived from the RSA Data
-Security, Inc. MD5 Message-Digest Algorithm" in all material
-mentioning or referencing the derived work.
-
-RSA Data Security, Inc. makes no representations concerning either
-the merchantability of this software or the suitability of this
-software for any particular purpose. It is provided "as is"
-without express or implied warranty of any kind.
-
-These notices must be retained in any copies of any part of this
-documentation and/or software.
-
- */
-
-#include <assert.h>
-#include <strings.h>
-#include <iostream>
-#include "MD5Utils.hpp"
-
-using namespace std;
-
-// MD5 simple initialization method
-
-MD5::MD5(){
-
-  init();
-
-}
-
-// MD5 block update operation. Continues an MD5 message-digest
-// operation, processing another message block, and updating the
-// context.
-
-void MD5::update (uint1 *input, uint4 input_length) {
-
-  uint4 input_index, buffer_index;
-  uint4 buffer_space;                // how much space is left in buffer
-
-  if (finalized){  // so we can't update!
-    cerr << "MD5::update:  Can't update a finalized digest!" << endl;
-    return;
-  }
-
-  // Compute number of bytes mod 64
-  buffer_index = (unsigned int)((count[0] >> 3) & 0x3F);
-
-  // Update number of bits
-  if (  (count[0] += ((uint4) input_length << 3))<((uint4) input_length << 3) )
-    count[1]++;
-
-  count[1] += ((uint4)input_length >> 29);
-
-
-  buffer_space = 64 - buffer_index;  // how much space is left in buffer
-
-  // Transform as many times as possible.
-  if (input_length >= buffer_space) { // ie. we have enough to fill the buffer
-    // fill the rest of the buffer and transform
-    memcpy (buffer + buffer_index, input, buffer_space);
-    transform (buffer);
-
-    // now, transform each 64-byte piece of the input, bypassing the buffer
-    for (input_index = buffer_space; input_index + 63 < input_length; 
-	 input_index += 64)
-      transform (input+input_index);
-
-    buffer_index = 0;  // so we can buffer remaining
-  }
-  else
-    input_index=0;     // so we can buffer the whole input
-
-
-  // and here we do the buffering:
-  memcpy(buffer+buffer_index, input+input_index, input_length-input_index);
-}
-
-
-// MD5 update for files.
-// Like above, except that it works on files (and uses above as a primitive.)
-
-void MD5::update(FILE *file){
-
-    unsigned char buffer[1024];
-    int len = 0;
-
-    while ( (len=fread(buffer, 1, 1024, file) and len != 0))
-        update(buffer, len);
-
-    fclose (file);
-}
-
-
-// MD5 update for istreams.
-// Like update for files; see above.
-
-void MD5::update(istream& stream){
-
-  unsigned char buffer[1024];
-  int len;
-
-  while (stream.good()){
-    stream.read((char*) buffer, 1024); // note that return value of read is unusable.
-    len=stream.gcount();
-    update(buffer, len);
-  }
-
-}
-
-
-
-
-
-
-// MD5 update for ifstreams.
-// Like update for files; see above.
-
-void MD5::update(ifstream& stream){
-
-  unsigned char buffer[1024];
-  int len;
-
-  while (stream.good()){
-    stream.read((char*)buffer, 1024); // note that return value of read is unusable.
-    len=stream.gcount();
-    update(buffer, len);
-  }
-
-}
-
-
-
-
-
-
-// MD5 finalization. Ends an MD5 message-digest operation, writing the
-// the message digest and zeroizing the context.
-
-
-void MD5::finalize (){
-
-  unsigned char bits[8];
-  unsigned int index, padLen;
-  static uint1 PADDING[64]={
-    0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-    };
-
-  if (finalized){
-    cerr << "MD5::finalize:  Already finalized this digest!" << endl;
-    return;
-  }
-
-  // Save number of bits
-  encode (bits, count, 8);
-
-  // Pad out to 56 mod 64.
-  index = (uint4) ((count[0] >> 3) & 0x3f);
-  padLen = (index < 56) ? (56 - index) : (120 - index);
-  update (PADDING, padLen);
-
-  // Append length (before padding)
-  update (bits, 8);
-
-  // Store state in digest
-  encode (digest, state, 16);
-
-  // Zeroize sensitive information
-  memset (buffer, 0, sizeof(*buffer));
-
-  finalized=1;
-
-}
-
-
-
-
-MD5::MD5(FILE *file){
-
-  init();  // must be called be all constructors
-  update(file);
-  finalize ();
-}
-
-
-
-
-MD5::MD5(istream& stream){
-
-  init();  // must called by all constructors
-  update (stream);
-  finalize();
-}
-
-
-
-MD5::MD5(ifstream& stream){
-
-  init();  // must called by all constructors
-  update (stream);
-  finalize();
-}
-
-
-
-unsigned char *MD5::raw_digest(){
-
-  uint1 *s = new uint1[16];
-
-  if (!finalized){
-    cerr << "MD5::raw_digest:  Can't get digest if you haven't "<<
-      "finalized the digest!" <<endl;
-    //return ( (unsigned char*) "");
-    delete [] s;
-    return NULL;
-  }
-
-  memcpy(s, digest, 16);
-  return s;
-}
-
-
-
-char *MD5::hex_digest(){
-
-  int i;
-  char *s= new char[33];
-
-  if (!finalized){
-    cerr << "MD5::hex_digest:  Can't get digest if you haven't "<<
-      "finalized the digest!" <<endl;
-    delete [] s;
-    return NULL;
-  }
-
-  for (i=0; i<16; i++)
-    sprintf(s+i*2, "%02x", digest[i]);
-
-  s[32]='\0';
-
-  return s;
-}
-
-
-
-
-
-
-
-// PRIVATE METHODS:
-
-
-
-void MD5::init(){
-  finalized=0;  // we just started!
-
-  // Nothing counted, so count=0
-  count[0] = 0;
-  count[1] = 0;
-
-  // Load magic initialization constants.
-  state[0] = 0x67452301;
-  state[1] = 0xefcdab89;
-  state[2] = 0x98badcfe;
-  state[3] = 0x10325476;
-}
-
-
-
-// Constants for MD5Transform routine.
-// Although we could use C++ style constants, defines are actually better,
-// since they let us easily evade scope clashes.
-
-#define S11 7
-#define S12 12
-#define S13 17
-#define S14 22
-#define S21 5
-#define S22 9
-#define S23 14
-#define S24 20
-#define S31 4
-#define S32 11
-#define S33 16
-#define S34 23
-#define S41 6
-#define S42 10
-#define S43 15
-#define S44 21
-
-
-
-
-// MD5 basic transformation. Transforms state based on block.
-void MD5::transform (uint1 block[64]){
-
-  uint4 a = state[0], b = state[1], c = state[2], d = state[3], x[16];
-
-  decode (x, block, 64);
-
-  assert(!finalized);  // not just a user error, since the method is private
-
-  /* Round 1 */
-  FF (a, b, c, d, x[ 0], S11, 0xd76aa478); /* 1 */
-  FF (d, a, b, c, x[ 1], S12, 0xe8c7b756); /* 2 */
-  FF (c, d, a, b, x[ 2], S13, 0x242070db); /* 3 */
-  FF (b, c, d, a, x[ 3], S14, 0xc1bdceee); /* 4 */
-  FF (a, b, c, d, x[ 4], S11, 0xf57c0faf); /* 5 */
-  FF (d, a, b, c, x[ 5], S12, 0x4787c62a); /* 6 */
-  FF (c, d, a, b, x[ 6], S13, 0xa8304613); /* 7 */
-  FF (b, c, d, a, x[ 7], S14, 0xfd469501); /* 8 */
-  FF (a, b, c, d, x[ 8], S11, 0x698098d8); /* 9 */
-  FF (d, a, b, c, x[ 9], S12, 0x8b44f7af); /* 10 */
-  FF (c, d, a, b, x[10], S13, 0xffff5bb1); /* 11 */
-  FF (b, c, d, a, x[11], S14, 0x895cd7be); /* 12 */
-  FF (a, b, c, d, x[12], S11, 0x6b901122); /* 13 */
-  FF (d, a, b, c, x[13], S12, 0xfd987193); /* 14 */
-  FF (c, d, a, b, x[14], S13, 0xa679438e); /* 15 */
-  FF (b, c, d, a, x[15], S14, 0x49b40821); /* 16 */
-
- /* Round 2 */
-  GG (a, b, c, d, x[ 1], S21, 0xf61e2562); /* 17 */
-  GG (d, a, b, c, x[ 6], S22, 0xc040b340); /* 18 */
-  GG (c, d, a, b, x[11], S23, 0x265e5a51); /* 19 */
-  GG (b, c, d, a, x[ 0], S24, 0xe9b6c7aa); /* 20 */
-  GG (a, b, c, d, x[ 5], S21, 0xd62f105d); /* 21 */
-  GG (d, a, b, c, x[10], S22,  0x2441453); /* 22 */
-  GG (c, d, a, b, x[15], S23, 0xd8a1e681); /* 23 */
-  GG (b, c, d, a, x[ 4], S24, 0xe7d3fbc8); /* 24 */
-  GG (a, b, c, d, x[ 9], S21, 0x21e1cde6); /* 25 */
-  GG (d, a, b, c, x[14], S22, 0xc33707d6); /* 26 */
-  GG (c, d, a, b, x[ 3], S23, 0xf4d50d87); /* 27 */
-  GG (b, c, d, a, x[ 8], S24, 0x455a14ed); /* 28 */
-  GG (a, b, c, d, x[13], S21, 0xa9e3e905); /* 29 */
-  GG (d, a, b, c, x[ 2], S22, 0xfcefa3f8); /* 30 */
-  GG (c, d, a, b, x[ 7], S23, 0x676f02d9); /* 31 */
-  GG (b, c, d, a, x[12], S24, 0x8d2a4c8a); /* 32 */
-
-  /* Round 3 */
-  HH (a, b, c, d, x[ 5], S31, 0xfffa3942); /* 33 */
-  HH (d, a, b, c, x[ 8], S32, 0x8771f681); /* 34 */
-  HH (c, d, a, b, x[11], S33, 0x6d9d6122); /* 35 */
-  HH (b, c, d, a, x[14], S34, 0xfde5380c); /* 36 */
-  HH (a, b, c, d, x[ 1], S31, 0xa4beea44); /* 37 */
-  HH (d, a, b, c, x[ 4], S32, 0x4bdecfa9); /* 38 */
-  HH (c, d, a, b, x[ 7], S33, 0xf6bb4b60); /* 39 */
-  HH (b, c, d, a, x[10], S34, 0xbebfbc70); /* 40 */
-  HH (a, b, c, d, x[13], S31, 0x289b7ec6); /* 41 */
-  HH (d, a, b, c, x[ 0], S32, 0xeaa127fa); /* 42 */
-  HH (c, d, a, b, x[ 3], S33, 0xd4ef3085); /* 43 */
-  HH (b, c, d, a, x[ 6], S34,  0x4881d05); /* 44 */
-  HH (a, b, c, d, x[ 9], S31, 0xd9d4d039); /* 45 */
-  HH (d, a, b, c, x[12], S32, 0xe6db99e5); /* 46 */
-  HH (c, d, a, b, x[15], S33, 0x1fa27cf8); /* 47 */
-  HH (b, c, d, a, x[ 2], S34, 0xc4ac5665); /* 48 */
-
-  /* Round 4 */
-  II (a, b, c, d, x[ 0], S41, 0xf4292244); /* 49 */
-  II (d, a, b, c, x[ 7], S42, 0x432aff97); /* 50 */
-  II (c, d, a, b, x[14], S43, 0xab9423a7); /* 51 */
-  II (b, c, d, a, x[ 5], S44, 0xfc93a039); /* 52 */
-  II (a, b, c, d, x[12], S41, 0x655b59c3); /* 53 */
-  II (d, a, b, c, x[ 3], S42, 0x8f0ccc92); /* 54 */
-  II (c, d, a, b, x[10], S43, 0xffeff47d); /* 55 */
-  II (b, c, d, a, x[ 1], S44, 0x85845dd1); /* 56 */
-  II (a, b, c, d, x[ 8], S41, 0x6fa87e4f); /* 57 */
-  II (d, a, b, c, x[15], S42, 0xfe2ce6e0); /* 58 */
-  II (c, d, a, b, x[ 6], S43, 0xa3014314); /* 59 */
-  II (b, c, d, a, x[13], S44, 0x4e0811a1); /* 60 */
-  II (a, b, c, d, x[ 4], S41, 0xf7537e82); /* 61 */
-  II (d, a, b, c, x[11], S42, 0xbd3af235); /* 62 */
-  II (c, d, a, b, x[ 2], S43, 0x2ad7d2bb); /* 63 */
-  II (b, c, d, a, x[ 9], S44, 0xeb86d391); /* 64 */
-
-  state[0] += a;
-  state[1] += b;
-  state[2] += c;
-  state[3] += d;
-
-  // Zeroize sensitive information.
-  memset ( (uint1 *) x, 0, sizeof(x));
-
-}
-
-// Encodes input (UINT4) into output (unsigned char). Assumes len is
-// a multiple of 4.
-void MD5::encode (uint1 *output, uint4 *input, uint4 len) {
-
-  unsigned int i, j;
-
-  for (i = 0, j = 0; j < len; i++, j += 4) {
-    output[j]   = (uint1)  (input[i] & 0xff);
-    output[j+1] = (uint1) ((input[i] >> 8) & 0xff);
-    output[j+2] = (uint1) ((input[i] >> 16) & 0xff);
-    output[j+3] = (uint1) ((input[i] >> 24) & 0xff);
-  }
-}
-
-
-
-
-// Decodes input (unsigned char) into output (UINT4). Assumes len is
-// a multiple of 4.
-void MD5::decode (uint4 *output, uint1 *input, uint4 len){
-
-  unsigned int i, j;
-
-  for (i = 0, j = 0; j < len; i++, j += 4)
-    output[i] = ((uint4)input[j]) | (((uint4)input[j+1]) << 8) |
-      (((uint4)input[j+2]) << 16) | (((uint4)input[j+3]) << 24);
-}
-
-
-
-
-
-// Note: Replace "for loop" with standard memcpy if possible.
-void MD5::memcpy (uint1 *output, uint1 *input, uint4 len){
-
-  unsigned int i;
-
-  for (i = 0; i < len; i++)
-    output[i] = input[i];
-}
-
-
-
-// Note: Replace "for loop" with standard memset if possible.
-void MD5::memset (uint1 *output, uint1 value, uint4 len){
-
-  unsigned int i;
-
-  for (i = 0; i < len; i++)
-    output[i] = value;
-}
diff --git a/libcpp/pbdata/MD5Utils.hpp b/libcpp/pbdata/MD5Utils.hpp
deleted file mode 100644
index 8957933..0000000
--- a/libcpp/pbdata/MD5Utils.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-#ifndef _BLASR_UTILS_M5UTILS_HPP_
-#define _BLASR_UTILS_M5UTILS_HPP_
-
-// MD5.CC - source code for the C++/object oriented translation and 
-//          modification of MD5.
-
-// Translation and modification (c) 1995 by Mordechai T. Abzug 
-
-// This translation/ modification is provided "as is," without express or 
-// implied warranty of any kind.
-
-// The translator/ modifier does not claim (1) that MD5 will do what you think 
-// it does; (2) that this translation/ modification is accurate; or (3) that 
-// this software is "merchantible."  (Language for this disclaimer partially 
-// copied from the disclaimer below).
-
-/* based on:
-
-   MD5.H - header file for MD5C.C
-   MDDRIVER.C - test driver for MD2, MD4 and MD5
-
-   Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
-   rights reserved.
-
-   License to copy and use this software is granted provided that it
-   is identified as the "RSA Data Security, Inc. MD5 Message-Digest
-   Algorithm" in all material mentioning or referencing this software
-   or this function.
-
-   License is also granted to make and use derivative works provided
-   that such works are identified as "derived from the RSA Data
-   Security, Inc. MD5 Message-Digest Algorithm" in all material
-   mentioning or referencing the derived work.
-
-   RSA Data Security, Inc. makes no representations concerning either
-   the merchantability of this software or the suitability of this
-   software for any particular purpose. It is provided "as is"
-   without express or implied warranty of any kind.
-
-   These notices must be retained in any copies of any part of this
-   documentation and/or software.
-
-*/
-
-#include <stdio.h>
-#include <fstream>
-#include <iostream>
-
-class MD5 {
-
-public:
-    // methods for controlled operation:
-    MD5              ();  // simple initializer
-    void  update     (unsigned char *input, unsigned int input_length);
-    void  update     (std::istream& stream);
-    void  update     (FILE *file);
-    void  update     (std::ifstream& stream);
-    void  finalize   ();
-
-    // constructors for special circumstances.  All these constructors finalize
-    // the MD5 context.
-    MD5              (unsigned char *string); // digest string, finalize
-    MD5              (std::istream& stream);       // digest stream, finalize
-    MD5              (FILE *file);            // digest file, close, finalize
-    MD5              (std::ifstream& stream);      // digest stream, close, finalize
-
-    // methods to acquire finalized result
-    unsigned char    *raw_digest ();  // digest as a 16-byte binary array
-    char *            hex_digest ();  // digest as a 33-byte ascii-hex string
-    friend std::ostream&   operator<< (std::ostream&, MD5 context);
-
-private:
-
-    // first, some types:
-    typedef unsigned       int uint4; // assumes integer is 4 words long
-    typedef unsigned short int uint2; // assumes short integer is 2 words long
-    typedef unsigned      char uint1; // assumes char is 1 word long
-
-    // next, the private data:
-    uint4 state[4];
-    uint4 count[2];     // number of *bits*, mod 2^64
-    uint1 buffer[64];   // input buffer
-    uint1 digest[16];
-    uint1 finalized;
-
-    // last, the private methods, mostly static:
-    void init             ();               // called by all constructors
-    void transform        (uint1 *buffer);  // does the real update work.  Note 
-    // that length is implied to be 64.
-
-    static void encode    (uint1 *dest, uint4 *src, uint4 length);
-    static void decode    (uint4 *dest, uint1 *src, uint4 length);
-    static void memcpy    (uint1 *dest, uint1 *src, uint4 length);
-    static void memset    (uint1 *start, uint1 val, uint4 length);
-
-    static inline uint4  rotate_left (uint4 x, uint4 n);
-    static inline uint4  F           (uint4 x, uint4 y, uint4 z);
-    static inline uint4  G           (uint4 x, uint4 y, uint4 z);
-    static inline uint4  H           (uint4 x, uint4 y, uint4 z);
-    static inline uint4  I           (uint4 x, uint4 y, uint4 z);
-    static inline void   FF  (uint4& a, uint4 b, uint4 c, uint4 d, uint4 x, 
-            uint4 s, uint4 ac);
-    static inline void   GG  (uint4& a, uint4 b, uint4 c, uint4 d, uint4 x, 
-            uint4 s, uint4 ac);
-    static inline void   HH  (uint4& a, uint4 b, uint4 c, uint4 d, uint4 x, 
-            uint4 s, uint4 ac);
-    static inline void   II  (uint4& a, uint4 b, uint4 c, uint4 d, uint4 x, 
-            uint4 s, uint4 ac);
-};
-
-#include "MD5UtilsImpl.hpp"
-
-#endif // _BLASR_UTILS_M5UTILS_HPP_
diff --git a/libcpp/pbdata/MD5UtilsImpl.hpp b/libcpp/pbdata/MD5UtilsImpl.hpp
deleted file mode 100644
index 3e8f78e..0000000
--- a/libcpp/pbdata/MD5UtilsImpl.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef _BLASR_MD5_UTILS_IMPL_HPP_
-#define _BLASR_MD5_UTILS_IMPL_HPP_
-// ROTATE_LEFT rotates x left n bits.
-
-inline unsigned int MD5::rotate_left  (uint4 x, uint4 n){
-  return (x << n) | (x >> (32-n))  ;
-}
-
-// F, G, H and I are basic MD5 functions.
-
-inline unsigned int MD5::F            (uint4 x, uint4 y, uint4 z){
-  return (x & y) | (~x & z);
-}
-
-inline unsigned int MD5::G            (uint4 x, uint4 y, uint4 z){
-  return (x & z) | (y & ~z);
-}
-
-inline unsigned int MD5::H            (uint4 x, uint4 y, uint4 z){
-  return x ^ y ^ z;
-}
-
-inline unsigned int MD5::I            (uint4 x, uint4 y, uint4 z){
-  return y ^ (x | ~z);
-}
-
-
-
-// FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4.
-// Rotation is separate from addition to prevent recomputation.
-
-
-inline void MD5::FF(uint4& a, uint4 b, uint4 c, uint4 d, uint4 x, 
-		    uint4  s, uint4 ac){
- a += F(b, c, d) + x + ac;
- a = rotate_left (a, s) +b;
-}
-
-inline void MD5::GG(uint4& a, uint4 b, uint4 c, uint4 d, uint4 x, 
-		    uint4 s, uint4 ac){
- a += G(b, c, d) + x + ac;
- a = rotate_left (a, s) +b;
-}
-
-inline void MD5::HH(uint4& a, uint4 b, uint4 c, uint4 d, uint4 x, 
-		    uint4 s, uint4 ac){
- a += H(b, c, d) + x + ac;
- a = rotate_left (a, s) +b;
-}
-
-inline void MD5::II(uint4& a, uint4 b, uint4 c, uint4 d, uint4 x, 
-			     uint4 s, uint4 ac){
- a += I(b, c, d) + x + ac;
- a = rotate_left (a, s) +b;
-}
-
-#endif
diff --git a/libcpp/pbdata/NucConversion.cpp b/libcpp/pbdata/NucConversion.cpp
deleted file mode 100644
index ba46f6b..0000000
--- a/libcpp/pbdata/NucConversion.cpp
+++ /dev/null
@@ -1,409 +0,0 @@
-#include "NucConversion.hpp"
-
-int TwoBit[] = {
-  	0,  1,  2,  3,  0,  1,  2,  3,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,  0,255,  1,255,255,255,  2,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,  3,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,  0,255,  1,255,255,255,  2,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,  3,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255
-};
-
-
-//
-// Map from charcter to 3 bit.  Treat all non ACGT IUPAC as N
-// IPUAC: ACGT U M R W S Y K V H D N
-// 
-
-int ThreeBit[] = {
-  	0,  1,  2,  3,    4,255,255,255, // 0..3 are native nucletides, 4
-																		 // is an 'N', which is
-																		 // represented just fine in the 3
-																		 // bit mode.
-		255,255,255,255,255,255,255,255, // 8
-		255,255,255,255,255,255,255,255, // 16
-		255,255,255,255,255,255,255,255, // 24
-		255,255,255,255,  5,255,255,255, // 32  define '$' for bwt.
-		255,255,255,255,255,255,255,255, // 40
-		255,255,255,255,255,255,255,255, // 48
-		255,255,255,255,255,255,255,255, // 56
-		255,  0,  4,  1,  4,255,255,  2, // 64
-		  4,255,255,  4,255,  4,  4,255, // 72
-		255,255,  4,  4,  3,  4,  4,  4, // 80
-		255,  4,255,255,255,255,255,  4, // 88
-		255,  0,  4,  1,  4,255,255,  2, // 96
-		  4,255,255,  4,255,  4,  4,255, // 104
-		255,255,  4,  4,  3,  4,  4,  4, // 112
-		  4,  4,255,255,255,255,255,255, // 120
-		255,255,255,255,255,255,255,255, // 128
-		255,255,255,255,255,255,255,255, // 136
-		255,255,255,255,255,255,255,255, // 144
-		255,255,255,255,255,255,255,255, // 152
-		255,255,255,255,255,255,255,255, // 160
-		255,255,255,255,255,255,255,255, // 168
-		255,255,255,255,255,255,255,255, // 176
-		255,255,255,255,255,255,255,255, // 184
-		255,255,255,255,255,255,255,255, // 192
-		255,255,255,255,255,255,255,255, // 200
-		255,255,255,255,255,255,255,255, // 208
-		255,255,255,255,255,255,255,255, // 216
-		255,255,255,255,255,255,255,255, // 224
-		255,255,255,255,255,255,255,255, // 232
-		255,255,255,255,255,255,255,255, // 240
-		255,255,255,255,255,255,255,255  // 248
-};
-
-int IsACTG[] = {
-   	1,  1,  1,  1,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  1,  0,  1,  0,  0,  0,  1,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  1,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  1,  0,  1,  0,  0,  0,  1,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  1,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0
-};
-
-int IsLowerCase[] = {
-   	0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  1,  0,  1,  0,  0,  0,  1,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  1,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0,
-    0,  0,  0,  0,  0,  0,  0,  0
-};
-
-
-int FourBit[] = {
-   	0,  1,  2,  3,  4,  5,  6,  7,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,  0,255,  1,255,255,255,  2,
-  255,255,255,255,255,255,  8,255,
-  255,255,255,255,  3,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,  4,255,  5,255,255,255,  6,
-  255,255,255,255,255,255,  8,255,
-  255,255,255,255,  7,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255
-};
-
-int FourBitToAscii[]  = {'A', 'C', 'G', 'T', 'a', 'c', 'g', 't', 'N', 'X'};
-int ThreeBitToAscii[] = {'A', 'C', 'G', 'T', 'N', '$'};
-
-int MaskedFourBit[] = {
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,0,9,1,9,9,9,2,
-  9,9,9,9,9,9,8,9,
-  9,9,9,9,3,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,4,9,5,9,9,9,6,
-  9,9,9,9,9,9,8,9,
-  9,9,9,9,7,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9,
-  9,9,9,9,9,9,9,9
-};
-
-unsigned char AllToUpper[] = {
-	'A','C','G','T','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','A','N','C','N','N','N','G',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','T','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','A','N','C','N','N','N','G',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','T','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N'
-};
-char AllToLower[] = {
-	'a','c','g','t','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','a','N','c','N','N','N','g',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','t','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','a','N','c','N','N','N','g',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','t','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N',
-  'N','N','N','N','N','N','N','N'
-};
-
-unsigned char PreserveCase[] = {
-0,1,2,3,4,5,6,7,
-8,9,10,11,12,13,14,15,
-16,17,18,19,20,21,22,23,
-24,25,26,27,28,29,30,31,
-32,33,34,35,36,37,38,39,
-40,41,42,43,44,45,46,47,
-48,49,50,51,52,53,54,55,
-56,57,58,59,60,61,62,63,
-64,65,66,67,68,69,70,71,
-72,73,74,75,76,77,78,79,
-80,81,82,83,84,85,86,87,
-88,89,90,91,92,93,94,95,
-96,97,98,99,100,101,102,103,
-104,105,106,107,108,109,110,111,
-112,113,114,115,116,117,118,119,
-120,121,122,123,124,125,126,127,
-128,129,130,131,132,133,134,135,
-136,137,138,139,140,141,142,143,
-144,145,146,147,148,149,150,151,
-152,153,154,155,156,157,158,159,
-160,161,162,163,164,165,166,167,
-168,169,170,171,172,173,174,175,
-176,177,178,179,180,181,182,183,
-184,185,186,187,188,189,190,191,
-192,193,194,195,196,197,198,199,
-200,201,202,203,204,205,206,207,
-208,209,210,211,212,213,214,215,
-216,217,218,219,220,221,222,223,
-224,225,226,227,228,229,230,231,
-232,233,234,235,236,237,238,239,
-240,241,242,243,244,245,246,247,
-248,249,250,251,252,253,254,255};
-
-
-char TwoBitToAscii[] = {'A', 'C', 'G', 'T'};
-
-
-unsigned char ReverseComplementNuc[] = {
-    3,  2,  1,  0,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,'T',127,'G',127,127,127,'C',
-	127,127,127,127,127,127,'N',127,
-  127,127,127,127,'A',127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,'t',127,'g',127,127,127,'c',
-  127,127,127,127,127,127,'n',127,
-  127,127,127,127,'a',127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127,
-  127,127,127,127,127,127,127,127
-};
-
-//
-// HDF Column Orders: GTAC
-// A - column 2; C - column 3;
-// G - column 0; T - column 1;
-// Ascii code:
-// A=65, C=67, G=71,  T=84
-// a=97, c=99, g=116, t=103
-//
-int NucToHdfColumnOrder[] = {
-  	2,  3,  1,  0,  2,  3,  1,  0,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,  2,255,  3,255,255,255,  1,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,  0,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,  2,255,  3,255,255,255,  1,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,  0,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255,
-  255,255,255,255,255,255,255,255
-};
diff --git a/libcpp/pbdata/NucConversion.hpp b/libcpp/pbdata/NucConversion.hpp
deleted file mode 100644
index 892dd07..0000000
--- a/libcpp/pbdata/NucConversion.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef _BLASR_NUC_CONVERSION_HPP_
-#define _BLASR_NUC_CONVERSION_HPP_
-
-//
-// Map from ascii to 2 bit representation.
-//
-extern int TwoBit[256];
-
-//
-// Map from charcter to 3 bit.  Treat all non ACGT IUPAC as N
-// IPUAC: ACGT U M R W S Y K V H D N
-// 
-extern int ThreeBit[256]; 
-
-extern int IsACTG[256];
-
-extern int IsLowerCase[256]; 
-
-extern int FourBit[256];
-
-extern int FourBitToAscii[10];
-
-extern int ThreeBitToAscii[6];
-
-extern int MaskedFourBit[256];
-
-extern unsigned char AllToUpper[256];
-
-extern char AllToLower[256];
-
-extern unsigned char PreserveCase[256];
-
-extern char TwoBitToAscii[4];
-
-extern unsigned char ReverseComplementNuc[256];
-
-//
-// HDF Column Orders: GTAC
-// A - column 2; C - column 3;
-// G - column 0; T - column 1;
-// Ascii code:
-// A=65, C=67, G=71,  T=84
-// a=97, c=99, g=116, t=103
-//
-extern int NucToHdfColumnOrder[256];
-
-// Convert a FASTQ character to Quality.
-const unsigned int FASTQ_CHAR_TO_QUALITY = 33; 
-
-#endif // _BLASR_NUC_CONVERSION_HPP_
diff --git a/libcpp/pbdata/PackedDNASequence.cpp b/libcpp/pbdata/PackedDNASequence.cpp
deleted file mode 100644
index 957839b..0000000
--- a/libcpp/pbdata/PackedDNASequence.cpp
+++ /dev/null
@@ -1,233 +0,0 @@
-#include "utils.hpp"
-#include "PackedDNASequence.hpp"
-
-const PackedDNAWord PackedDNASequence::NucPosMask[] = {7, 56, 448, 
-    3584, 28672, 229376, 
-    1835008, 14680064, 117440512, 
-    939524096};
-
-const PackedDNAWord PackedDNASequence::NegMask[] = { 4294967288,// 11111111 11111111 11111111 11111000
-    4294967239,// 11111111 11111111 11111111 11000111
-    4294966847, /// and so on...
-    4294963711, 4294938623, 4294737919, 
-    4293132287, 4280287231, 4177526783, 
-    3355443199};
-
-// Masks from the rightmost pos 'R' all to the end of the left side of
-// the word.
-const PackedDNAWord PackedDNASequence::MaskRL[] = {1073741823, 1073741816, 1073741760, 
-    1073741312, 1073737728, 1073709056,
-    1073479680, 1071644672, 1056964608, 
-    939524096};
-
-// Masks from starting position 'L' to the rightmost 'R'
-const PackedDNAWord PackedDNASequence::MaskLR[] = {7, 63, 511, 4095, 32767, 262143, 2097151, 16777215, 134217727, 1073741823};
-
-/*
- * Count nucleotides by Xor'ing with the complement of the bit pattern. 
- */
-const PackedDNAWord PackedDNASequence::xorMask[] = {
-    1073741823, // mask A=000 by 111111111111111111111111111111
-    920350134,  // mask C=001 by 110110110110110110110110110110
-    766958445,  // mask G=010 by 101101101101101101101101101101 
-    613566756,  // mask T=011 by 100100100100100100100100100100
-    460175067,  // mask N=100 by 011011011011011011011011011011
-    153391689,  // mask 001001001001001001001001001001 *unused*, can mask X=110
-    306783378,  // mask 010010010010010010010010010010 *unused*, can mask X'=101
-    0};         // mask 000000000000000000000000000000 *unused*, mask X''=111
-
-
-
-Nucleotide PackedDNASequence::Get(DNALength pos) {
-    PackedDNAWord offset = pos% NucsPerWord;
-    return (seq[pos/NucsPerWord] >> (3*offset)) & NucMask ;
-}
-
-Nucleotide PackedDNASequence::operator[](DNALength pos){
-    return Get(pos);
-}
-
-PackedDNASequence::PackedDNASequence() {
-    nCountInWord = 0;
-    nCountNuc = 0;
-    length = arrayLength = 0;
-    seq = NULL;
-}
-
-PackedDNASequence::~PackedDNASequence() {
-    nCountInWord = 0;
-    nCountNuc = 0;
-    length = arrayLength = 0;
-    if (seq) {
-        delete [] seq; 
-        seq = NULL;
-    }
-}
-
-void PackedDNASequence::Allocate(DNALength numberOfNucleotides) {
-    arrayLength = CeilOfFraction(numberOfNucleotides, NucsPerWord);
-    length = numberOfNucleotides;
-    if (seq) {delete [] seq; seq = NULL;}
-    if (arrayLength > 0) {
-        seq = new PackedDNAWord[arrayLength];
-        std::fill(seq, seq + arrayLength, 0);
-    }
-}
-
-void PackedDNASequence::CreateFromDNASequence(DNASequence &dnaSeq) {
-    arrayLength = CeilOfFraction(dnaSeq.length, NucsPerWord);
-    length = dnaSeq.length;
-    if (seq) {delete [] seq; seq = NULL;}
-    if (arrayLength > 0) {
-        seq = new PackedDNAWord[arrayLength];
-        DNALength pos;
-        for (pos = 0; pos < dnaSeq.length; pos++) {
-            Set(pos, ThreeBit[dnaSeq[pos]]);
-        }
-    }
-}
-
-void PackedDNASequence::Set(DNALength pos, Nucleotide threeBitValue) {
-    DNALength wordPos = pos/NucsPerWord;
-    DNALength wordOffset = pos%NucsPerWord;
-    //
-    // Pull the value to update out of memory.
-    //
-    PackedDNAWord word     = seq[wordPos];
-
-    //
-    // Expand the 3 bit value into a whole word.
-    //
-    PackedDNAWord nuc      = threeBitValue;
-
-    word = word & NegMask[wordOffset];
-    nuc  = nuc << (3*(pos%NucsPerWord));
-    word = word + nuc;
-    //
-    // Write back the whole word.
-    //
-    seq[wordPos] = word;
-}
-
-
-DNALength PackedDNASequence::CountInWord(PackedDNAWord word, PackedDNAWord wordMask, Nucleotide nuc) {
-
-    /*
-     * Count the number of times a nucleotide (3-mer) appears in a word.
-     * This is done by a series of masking and ands.
-     * The packed format is a triplet of bits (b2,b1,b0), where N is a
-     * mask bit, and n1n0 specifies the nucleotide.  
-     *
-     * The sequence CCGN appears as
-     * 001001010100
-     * 
-     * To count C's: perform xor mask with a complement mask that will
-     * produce a triplet of 111 on every position where there is a C,
-     * followed by an and with a stride-isolation mask.
-     *
-     *     b0              b1            b2            
-     *     001001010100	   001001010100  001001010100  
-     * xor 110110110110	   110110110110  110110110110
-     *     ------------	   ------------  ------------  
-     *     111111100100	   111111100100  111111100100
-
-     * and 001001001001	   010010010010  100100100100  
-     *     ------------	   ------------  ------------  
-     *     001001000000	   010010000010  000000000100  
-     *
-     * Shift b1 by 1 to get parity with b0.
-     * 010010000010 -> 001001000001
-     *                          001001000001
-     * And with b0 pattern      001001000000
-     * to count masked nucs.    ------------
-     *               nuc_count= 001001000000 
-     * Shift the b2 by 2 to set up the and-gate.
-     * 000000000100 -> 000000000001
-     * and ~MASK with nuc_count to get rid of masked columns if the
-     * whole word is not being calculated.
-     * 111111111110 & 001001000000 = 001001000000 
-     * Finally, use 64-bit multiplication bit-hack to count the number
-     * of set-bits:
-     * CountInWord(001001000000) = 2
-     *
-     */
-    PackedDNAWord w0,w1,w2, w;
-    PackedDNAWord w01, w12; 
-    Nucleotide tbn = ThreeBit[nuc];
-    PackedDNAWord xorMaskNuc = xorMask[tbn];
-    w0 = w1 = w2 = (word ^ xorMaskNuc);
-    w0 = (w0)  & Mask0All;
-    w1 = ((w1) & Mask1All) >> 1;
-    w2 = ((w2) & Mask2All) >> 2;
-    // Ideally the architecture will parallelize all these
-    // Do a cascaded.
-    //		w01 = (w0 & w1);
-    //		w12 = (w1 & w2);
-    //		w = w01 & w12;
-    w = ((w0 & w1) & w2) & wordMask;
-    //		++nCountInWord;
-    return CountBits(w);
-}
-
-DNALength PackedDNASequence::CountNuc(DNALength start, DNALength end, Nucleotide nuc) {
-    DNALength startWordIndex, endWordIndex, wordIndex;
-    DNALength startInWord, endInWord;
-    Nucleotide tbn = ThreeBit[nuc];
-    endInWord = NucsPerWord;
-    startInWord = start % NucsPerWord;
-    startWordIndex = start / NucsPerWord; 
-    endWordIndex   = end   / NucsPerWord;
-
-    // 
-    // Process all whole words.
-    //
-    DNALength nNuc = 0;
-    for (wordIndex = startWordIndex; wordIndex < endWordIndex; wordIndex++) {
-        endInWord = NucsPerWord;
-        nNuc += CountInWord(seq[wordIndex] & MaskRL[startInWord], MaskRL[startInWord], nuc);
-        startInWord = 0;
-    }
-    /* 
-     * Look to see if there is extra sequence to process when the seq
-     * does not end on a word boundary.
-     */
-    if (end % NucsPerWord != 0) {
-        endInWord = end % NucsPerWord;
-        nNuc += CountInWord(seq[wordIndex] & MaskRL[startInWord] & MaskLR[endInWord-1], 
-                MaskRL[startInWord] & MaskLR[endInWord-1], 
-                nuc);
-    }
-    //		++nCountNuc;
-    return nNuc;
-}
-
-void PackedDNASequence::Write(std::ostream &out) {
-    out.write((char*)&arrayLength, sizeof(arrayLength));
-    out.write((char*)&length, sizeof(length));
-    if (arrayLength > 0) {
-        out.write((char*)seq, sizeof(PackedDNAWord)*arrayLength);
-    }
-}
-
-void PackedDNASequence::Read(std::istream &in) {
-    in.read((char*)&arrayLength, sizeof(arrayLength));
-    in.read((char*)&length, sizeof(length));
-    if (seq) {delete [] seq; seq = NULL;}
-    if (arrayLength > 0) {
-        seq = new PackedDNAWord[arrayLength];
-        in.read((char*)seq, sizeof(PackedDNAWord)*arrayLength);
-    }
-}
-
-void PackedDNASequence::PrintUnpacked(std::ostream &out, int lineLength) {
-    DNALength p;
-    for (p = 0; p < length; p++) {
-        out << (char) ThreeBitToAscii[Get(p)];
-        if (p % lineLength == lineLength-1) {
-            out << std::endl;
-        }
-    }
-    if (p % lineLength != 0) {
-        out << std::endl;
-    }
-}
diff --git a/libcpp/pbdata/PackedDNASequence.hpp b/libcpp/pbdata/PackedDNASequence.hpp
deleted file mode 100644
index d780c0e..0000000
--- a/libcpp/pbdata/PackedDNASequence.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef _BLASR_PACKED_DNA_SEQUENCE_HPP_
-#define _BLASR_PACKED_DNA_SEQUENCE_HPP_
-
-#include <fstream>
-#include "DNASequence.hpp"
-#include "NucConversion.hpp"
-#include "utils/BitUtils.hpp"
-
-/* 
- * Implement a structure to maintain DNA as 3 bits per nucleotide.
- * The extra bit is required for N's in the sequence.  A key is that
- * this structure is read-only through the operator[].  It may be set
- * with the PackedDNASequence::Set(pos,value) command.
- */
-
-typedef unsigned int PackedDNAWord;
-
-class PackedDNASequence {
-public:
-    static const PackedDNAWord Mask2All = 613566756; //100100100...
-    static const PackedDNAWord Mask1All = 306783378; //010010010...
-    static const PackedDNAWord Mask0All = 153391689; //001001001...
-    static const PackedDNAWord xorMask[];
-    static const PackedDNAWord NucPosMask[];
-    static const PackedDNAWord NegMask[];
-    static const PackedDNAWord MaskRL[];
-    static const PackedDNAWord MaskLR[];
-    static const PackedDNAWord NucMask = 7;
-    static const DNALength NucsPerWord = 10;
-    PackedDNAWord *seq;
-    int nCountInWord;
-    int nCountNuc;
-    DNALength length;
-    DNALength arrayLength;
-
-    Nucleotide Get(DNALength pos); 
-
-    Nucleotide operator[](DNALength pos);
-
-    PackedDNASequence(); 
-    ~PackedDNASequence(); 
-
-    void Allocate(DNALength numberOfNucleotides); 
-
-    void CreateFromDNASequence(DNASequence &dnaSeq); 
-
-    void Set(DNALength pos, Nucleotide threeBitValue); 
-
-    DNALength CountInWord(PackedDNAWord word, PackedDNAWord wordMask, Nucleotide nuc); 
-
-    DNALength CountNuc(DNALength start, DNALength end, Nucleotide nuc); 
-
-    void Write(std::ostream &out); 
-
-    void Read(std::istream &in); 
-
-    void PrintUnpacked(std::ostream &out, int lineLength = 50); 
-};
-
-#endif // _BLASR_PACKED_DNA_SEQUENCE_HPP_
diff --git a/libcpp/pbdata/ReverseCompressIndex.cpp b/libcpp/pbdata/ReverseCompressIndex.cpp
deleted file mode 100644
index 5179735..0000000
--- a/libcpp/pbdata/ReverseCompressIndex.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-#include <iostream>
-#include <fstream>
-#include "ReverseCompressIndex.hpp"
-
-ReverseCompressIndex::ReverseCompressIndex() {
-    index = NULL;
-    indexLength = binSize = maxRun = 0;
-}
-
-ReverseCompressIndex::~ReverseCompressIndex() {
-    ReverseCompressIndex::Free();
-}
-
-void ReverseCompressIndex::Free() {
-    if (index) {delete [] index; index = NULL;}
-    indexLength = binSize = maxRun = 0;
-}
-
-void ReverseCompressIndex::Write(std::ofstream &out) {
-    out.write((char*) &indexLength, sizeof(int));
-    out.write((char*) &binSize, sizeof(int));
-    out.write((char*) &maxRun, sizeof(int));
-    out.write((char*) index, sizeof(int) * indexLength);
-}
-
-void ReverseCompressIndex::Read(std::ifstream &in) {
-    in.read((char*) &indexLength, sizeof(int));
-    in.read((char*) &binSize, sizeof(int));
-    in.read((char*) &maxRun, sizeof(int));
-    index = new int[indexLength];
-    in.read((char*) index, sizeof(int) *indexLength);
-} 
-
-void ReverseCompressIndex::ShallowCopy(ReverseCompressIndex &rhs) {
-    ReverseCompressIndex::Free(); // Free before shallow copy.
-    index = rhs.index;
-    indexLength = rhs.indexLength;
-    binSize = rhs.binSize;
-    maxRun  = rhs.maxRun;
-}
diff --git a/libcpp/pbdata/ReverseCompressIndex.hpp b/libcpp/pbdata/ReverseCompressIndex.hpp
deleted file mode 100644
index bfa2601..0000000
--- a/libcpp/pbdata/ReverseCompressIndex.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef _BLASR_REVERSE_COMPRESS_INDEX_HPP_
-#define _BLASR_REVERSE_COMPRESS_INDEX_HPP_
-
-class ReverseCompressIndex {
-public:
-    int *index;
-    int indexLength;
-    int binSize;
-    int maxRun;
-    int size() { return indexLength;}
-
-    ReverseCompressIndex(); 
-    ~ReverseCompressIndex(); 
-
-    void Write(std::ofstream &out); 
-
-    void Read(std::ifstream &in); 
-
-    void ShallowCopy(ReverseCompressIndex &rhs);
-
-    void Free();
-};
-
-
-#endif // _BLASR_REVERSE_COMPRESS_INDEX_HPP_
diff --git a/libcpp/pbdata/SMRTSequence.cpp b/libcpp/pbdata/SMRTSequence.cpp
deleted file mode 100644
index baabf57..0000000
--- a/libcpp/pbdata/SMRTSequence.cpp
+++ /dev/null
@@ -1,283 +0,0 @@
-#include <stdlib.h> 
-#include "SMRTSequence.hpp"
-
-using namespace std;
-
-void SMRTSequence::SetNull() {
-    pulseIndex    = NULL;
-    preBaseFrames = NULL;
-    widthInFrames = NULL;
-    xy[0] = 0; xy[1] = 0;
-    // These are not allocted by default.
-    meanSignal = maxSignal = midSignal = NULL;
-    classifierQV = NULL;
-    startFrame   = NULL;
-    platform     = NoPlatform;
-    // By default, allow the entire read.
-    lowQualityPrefix = lowQualitySuffix = 0;
-    highQualityRegionScore = 0;
-    // ZMWMetrics
-    for (size_t i = 0; i < 4; i++) {
-        hqRegionSnr[i] = -1;
-    }
-    readScore = -1;
-    holeNumber = static_cast<UInt>(-1);
-    readGroupId = "";
-    copiedFromBam = false;
-#ifdef USE_PBBAM
-    bamRecord = PacBio::BAM::BamRecord();
-#endif
-}
-
-SMRTSequence::SMRTSequence() : FASTQSequence() {
-    SetNull();
-}
-
-void SMRTSequence::Allocate(DNALength length) {
-    // Assert *this has no allocated space.
-    if (not (seq == NULL && preBaseFrames == NULL &&
-             widthInFrames == NULL and pulseIndex == NULL)) {
-        cout << "ERROR, trying to double-allocate memory for a SMRTSequence." << endl;
-        exit(1);
-    }
-
-    FASTQSequence::AllocateRichQualityValues(length);
-    seq           = new Nucleotide[length];
-    qual.Allocate(length);
-    preBaseFrames = new HalfWord[length];
-    widthInFrames = new HalfWord[length];
-    pulseIndex    = new int[length];
-    subreadEnd    = length;
-    deleteOnExit  = true;
-}
-
-void SMRTSequence::SetSubreadTitle(SMRTSequence &subread, DNALength subreadStart, DNALength subreadEnd) {
-    stringstream titleStream;
-    titleStream << title << "/"<< subreadStart << "_" << subreadEnd;
-    subread.CopyTitle(titleStream.str());
-}    
-
-void SMRTSequence::SetSubreadBoundaries(SMRTSequence &subread, DNALength subreadStart, DNALength subreadEnd) {
-    if (subreadEnd == -1) {
-        subreadEnd = length;
-    }
-    assert(subreadEnd - subreadStart <= length);
-    subread.subreadStart= subreadStart;
-    subread.subreadEnd  = subreadEnd;
-    SetSubreadTitle(subread, subreadStart, subreadEnd);
-}
-
-void SMRTSequence::MakeSubreadAsMasked(SMRTSequence &subread, 
-    DNALength subreadStart, int subreadEnd) {
-    subread.Free();
-    //
-    // This creates the entire subread, but masks out the portions
-    // that do not correspond to this insert.
-    //
-    static_cast<SMRTSequence*>(&subread)->Copy(*this);
-    SetSubreadBoundaries(subread, subreadStart, subreadEnd);
-    DNALength pos;
-    for (pos = 0; pos < subreadStart; pos++) { subread.seq[pos] = 'N'; }
-    for (pos = subreadEnd; pos < length; pos++) { subread.seq[pos] = 'N'; }
-    // This is newly allocated memory, free it on exit.
-    assert(subread.deleteOnExit);
-}
-
-void SMRTSequence::MakeSubreadAsReference(SMRTSequence &subread, 
-    DNALength subreadStart, int subreadEnd) {
-    subread.Free();
-    //
-    // Just create a reference to a substring of this read.  
-    //
-    static_cast<FASTQSequence*>(&subread)->ReferenceSubstring(*this, subreadStart, subreadEnd - subreadStart);
-    SetSubreadBoundaries(subread, subreadStart, subreadEnd);
-    // The subread references this read, protect the memory.
-    assert(not subread.deleteOnExit);
-}
-
-void SMRTSequence::Copy(const SMRTSequence &rhs) {
-    SMRTSequence::Copy(rhs, 0, rhs.length);
-}
-
-void SMRTSequence::Copy(const SMRTSequence &rhs, int rhsPos, int rhsLength) {
-    // Sanity check
-    CheckBeforeCopyOrReference(rhs, "SMRTSequence");
-    
-    // Free this SMRTSequence before copying anything from rhs.
-    SMRTSequence::Free();
-
-    FASTQSequence subseq; 
-    // subseq.seq is referenced, while seq.title is not, we need to call 
-    // subseq.Free() to prevent memory leak.
-    static_cast<FASTQSequence*>(&subseq)->ReferenceSubstring(rhs, rhsPos, rhsLength);
-    static_cast<FASTQSequence*>(&subseq)->CopyTitle(rhs.title, rhs.titleLength); 
-
-    if (rhs.length == 0) {
-        static_cast<FASTQSequence*>(this)->Copy(subseq);
-        //
-        // Make sure that no values of length 0 are allocated by returning here.
-        //
-    }
-    else {
-        assert(rhs.seq != seq);
-        assert(rhsLength <= rhs.length);
-        assert(rhsPos < rhs.length);
-
-        // Copy seq, title and FASTQ QVs from subseq
-        static_cast<FASTQSequence*>(this)->Copy(subseq); 
-
-        // Copy SMRT QVs
-        if (rhs.preBaseFrames != NULL) {
-            preBaseFrames = new HalfWord[length];
-            memcpy(preBaseFrames, rhs.preBaseFrames, length*sizeof(HalfWord));
-        }
-        if (rhs.widthInFrames != NULL) {
-            widthInFrames = new HalfWord[length];
-            memcpy(widthInFrames, rhs.widthInFrames, length*sizeof(HalfWord));
-        }
-        if (rhs.pulseIndex != NULL) {
-            pulseIndex = new int[length];
-            memcpy(pulseIndex, rhs.pulseIndex, sizeof(int) * length);
-        }
-    }
-
-    // Copy other member variables from rhs
-    subreadStart = rhs.subreadStart;
-    subreadEnd   = rhs.subreadEnd;
-    lowQualityPrefix = rhs.lowQualityPrefix;
-    lowQualitySuffix = rhs.lowQualitySuffix;
-    highQualityRegionScore = rhs.highQualityRegionScore;
-    zmwData = rhs.zmwData;
-
-    assert(deleteOnExit); // should have control over seq and all QVs
-
-    subseq.Free();
-    copiedFromBam = rhs.copiedFromBam;
-#ifdef USE_PBBAM
-    bamRecord = rhs.bamRecord;
-#endif
-}
-
-void SMRTSequence::Print(ostream &out) {
-    out << "SMRTSequence for zmw " << zmwData.holeNumber
-        << ", [" << subreadStart << ", " << subreadEnd << ")" << endl;
-    DNASequence::Print(out);
-}
-
-SMRTSequence& SMRTSequence::operator=(const SMRTSequence &rhs) {
-    SMRTSequence::Copy(rhs);
-    return *this;
-}
-
-void SMRTSequence::Free() {
-    if (deleteOnExit == true) {
-        if (preBaseFrames)  {
-            delete[] preBaseFrames;
-        }
-        if (widthInFrames) {
-            delete[] widthInFrames;
-        }
-        if (pulseIndex) {
-            delete[] pulseIndex;
-        }
-        if (startFrame) {
-            delete[] startFrame;
-        }
-        // meanSignal, maxSignal, midSignal and classifierQV
-        // need to be handled separatedly.
-    }
-
-    // Reset SMRT QV pointers anyway
-    preBaseFrames = NULL;
-    widthInFrames = NULL;
-    pulseIndex = NULL;
-    startFrame = NULL;
-
-    // Reset member variables
-    xy[0] = 0; xy[1] = 0;
-    lowQualityPrefix = lowQualitySuffix = 0;
-    highQualityRegionScore = 0;
-    holeNumber = static_cast<UInt>(-1);
-    readGroupId = "";
-    copiedFromBam = false;
-#ifdef USE_PBBAM
-    bamRecord = PacBio::BAM::BamRecord();
-#endif 
-
-    // Free seq, title and FASTQ QVs, also reset deleteOnExit.
-    // Don't call FASTQSequence::Free() before freeing SMRT QVs.
-    FASTQSequence::Free();
-}
-
-bool SMRTSequence::StoreXY(int16_t xyP[]) {
-    xy[0] = xyP[0];
-    xy[1] = xyP[1];
-    return true;
-}
-
-bool SMRTSequence::StorePlatformId(PlatformId pid) {
-    platform = pid;
-    return true;
-}
-
-bool SMRTSequence::StoreHoleNumber(UInt holeNumberP){ 
-    zmwData.holeNumber = holeNumber = holeNumberP;
-    return true;
-}
-
-bool SMRTSequence::StoreHoleStatus(unsigned char s) {
-    zmwData.holeStatus = s;
-    return true;
-}
-
-bool SMRTSequence::StoreZMWData(ZMWGroupEntry &data) {
-    zmwData = data;
-    return true;
-}
-
-bool SMRTSequence::GetXY(int xyP[]) {
-    xyP[0] = xy[0];
-    xyP[1] = xy[1];
-    return true;
-}
-
-bool SMRTSequence::GetHoleNumber(UInt & holeNumberP) {
-    holeNumberP = holeNumber;
-    return true;
-}
-
-std::string SMRTSequence::GetReadGroupId() {
-    return readGroupId;
-}
-
-void SMRTSequence::SetReadGroupId(const std::string & rid) {
-    readGroupId = rid;
-}
-
-#ifdef USE_PBBAM
-void SMRTSequence::Copy(const PacBio::BAM::BamRecord & record) {
-    Free();
-
-    copiedFromBam = true;
-
-    bamRecord = PacBio::BAM::BamRecord(record);
-    
-    // Only copy insertionQV, deletionQV, substitutionQV, mergeQV, 
-    // deletionTag and substitutionTag from BamRecord to SMRTSequence.
-    // Do NOT copy other SMRTQVs such as startFrame, meanSignal...
-    (static_cast<FASTQSequence*>(this))->Copy(record);
-
-    // Copy read group id from BamRecord.
-    SetReadGroupId(record.ReadGroupId());
-
-    // PacBio bam for secondary analysis does NOT carry zmw
-    // info other than holeNumber, including holeStatus, holeX,
-    // holeY, numEvents. 
-    zmwData.holeNumber = static_cast<UInt> (record.HoleNumber()); 
-
-    // Set hq region read score
-    if (record.Impl().HasTag("rq"))
-        highQualityRegionScore = record.Impl().TagValue("rq").ToInt32();
-
-}
-#endif
diff --git a/libcpp/pbdata/SMRTSequence.hpp b/libcpp/pbdata/SMRTSequence.hpp
deleted file mode 100644
index f7cff1c..0000000
--- a/libcpp/pbdata/SMRTSequence.hpp
+++ /dev/null
@@ -1,115 +0,0 @@
-#ifndef _BLASR_SMRT_SEQUENCE_HPP_
-#define _BLASR_SMRT_SEQUENCE_HPP_
-
-#include <cassert>
-#include <iostream>
-#include <sstream>
-
-#include "Types.h"
-#include "Enumerations.h"
-#include "NucConversion.hpp"
-#include "FASTQSequence.hpp"
-#include "reads/RegionTable.hpp"
-#include "reads/ZMWGroupEntry.hpp"
-
-class SMRTSequence : public FASTQSequence {
-public:
-    int16_t xy[2];
-    UInt holeNumber;
-    float hqRegionSnr[4];
-    float readScore;
-    ZMWGroupEntry zmwData;
-    PlatformId platform;
-    HalfWord *preBaseFrames;
-    HalfWord *widthInFrames;
-    //
-    // The following are fields that are read in from the pulse file.
-    // Because they are not standard in bas.h5 files, these fields
-    // should not be preallocated when resizing a SMRTSequence, and
-    // memory should be managed separately.  For now, these fields all
-    // have the same length as the number of bases, but this could
-    // change so that all pulse values are stored in a SMRTSequence.
-    //
-    HalfWord *meanSignal, *maxSignal, *midSignal;
-    float *classifierQV;
-    unsigned int *startFrame;
-    int *pulseIndex;
-    DNALength lowQualityPrefix, lowQualitySuffix;
-    int highQualityRegionScore; // High quality region score in region table.
-
-protected:
-    // read group id associated with each SMRTSequence
-    std::string readGroupId; 
-
-public:
-    // Whether or not this is originally copied from a BamRecord.
-    bool copiedFromBam;
-
-    void SetNull(); 
-
-    SMRTSequence();
-    inline ~SMRTSequence();
-
-    void Allocate(DNALength length); 
-
-    void SetSubreadTitle(SMRTSequence &subread, DNALength subreadStart, 
-        DNALength subreadEnd); 
-
-    void SetSubreadBoundaries(SMRTSequence &subread, DNALength subreadStart, 
-        DNALength subreadEnd); 
-
-    void MakeSubreadAsMasked(SMRTSequence &subread, DNALength subreadStart = 0, 
-        int subreadEnd = -1); 
-
-    void MakeSubreadAsReference(SMRTSequence &subread, DNALength subreadStart = 0, 
-        int subreadEnd = -1); 
-
-    void Copy(const SMRTSequence &rhs); 
-
-    void Copy(const SMRTSequence &rhs, int rhsPos, int rhsLength); 
-
-    void Print(std::ostream &out); 
-
-    SMRTSequence& operator=(const SMRTSequence &rhs); 
-
-    void Free(); 
-
-    bool StoreXY(int16_t xyP[]); 
-
-    bool StorePlatformId(PlatformId pid); 
-
-    bool StoreHoleNumber(UInt holeNumberP);
-
-    bool StoreHoleStatus(unsigned char s); 
-
-    bool StoreZMWData(ZMWGroupEntry &data); 
-
-    bool GetXY(int xyP[]); 
-
-    bool GetHoleNumber(UInt & holeNumberP);   
-
-    // Get read group id for this sequence.
-    std::string GetReadGroupId();
-
-    // Set readGroup Id for this sequence.
-    void SetReadGroupId(const std::string & rid);
-    
-#ifdef USE_PBBAM
-public:
-    // Copy read sequence, title, holeNumber, readGroupId, and QVs
-    // (iq, dq, sq, mq, st, dt) from BamRecord to this SMRTSequence.
-    void Copy(const PacBio::BAM::BamRecord & record);
-
-    // Keep track of BamRecord from which this SMRTSequence is 
-    // originally copied. However, one should NOT assume
-    // that this SMRTSequence has the same sequence, title, QVs as 
-    // the BamRecord, because this SMRTSequence may be created by
-    // MakeSubreadAsMasked(...) or MakeRC(...).
-    PacBio::BAM::BamRecord bamRecord;
-#endif 
-};
-
-inline SMRTSequence::~SMRTSequence(){
-    SMRTSequence::Free();
-}
-#endif  // _BLASR_SMRT_SEQUENCE_HPP_
diff --git a/libcpp/pbdata/SeqUtils.hpp b/libcpp/pbdata/SeqUtils.hpp
deleted file mode 100644
index 8e0b087..0000000
--- a/libcpp/pbdata/SeqUtils.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef _BLASR_SEQ_UTILS_HPP_
-#define _BLASR_SEQ_UTILS_HPP_
-
-#include "DNASequence.hpp"
-
-template< typename T_Sequence>
-int OnlyACTG(T_Sequence &seq); 
-
-template< typename T_Sequence>
-DNALength CountMasked(T_Sequence &seq); 
-
-template< typename T_Sequence>
-int CountNotMasked(T_Sequence &seq); 
-
-#include "SeqUtilsImpl.hpp"
-
-#endif // _BLASR_SEQ_UTILS_HPP_
diff --git a/libcpp/pbdata/SeqUtilsImpl.hpp b/libcpp/pbdata/SeqUtilsImpl.hpp
deleted file mode 100644
index 35754d9..0000000
--- a/libcpp/pbdata/SeqUtilsImpl.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-#include <vector>
-#include <iostream>
-#include <stdint.h>
-#include "utils.hpp"
-#include "DNASequence.hpp"
-#include "NucConversion.hpp"
-#include "SeqUtils.hpp"
-
-template< typename T_Sequence>
-int OnlyACTG(T_Sequence &seq) {
-    DNALength p;
-    for (p = 0; p < seq.length; p++) { 
-        if (ThreeBit[seq.seq[p]] > 3)
-            return 0;
-    }
-    return 1;
-}
-
-template< typename T_Sequence>
-DNALength CountMasked(T_Sequence &seq) {
-    DNALength p;
-    DNALength nMasked = 0;
-    for (p = 0; p < seq.length; p++) {
-        if ((seq.seq[p] >= 'a' and
-                    seq.seq[p] <= 'z') or
-                seq.seq[p] == 'N')	{
-            nMasked++;
-        }
-    }
-    return nMasked;
-}
-
-template< typename T_Sequence>
-int CountNotMasked(T_Sequence &seq) {
-    int p;
-    int nUnmasked = 0;
-    for (p = 0; p < seq.length; p++ ) {
-        if (seq.seq[p] == 'A' or
-                seq.seq[p] == 'C' or
-                seq.seq[p] == 'G' or
-                seq.seq[p] == 'T') {
-            nUnmasked++;
-        }
-    }
-
-    return nUnmasked;
-}
diff --git a/libcpp/pbdata/StringUtils.cpp b/libcpp/pbdata/StringUtils.cpp
deleted file mode 100644
index 2b008d4..0000000
--- a/libcpp/pbdata/StringUtils.cpp
+++ /dev/null
@@ -1,133 +0,0 @@
-#include <string>
-#include <stdint.h>
-#include <vector>
-#include <sstream>
-#include "Types.h"
-#include "MD5Utils.hpp"
-#include "StringUtils.hpp"
-
-int ExactPatternMatch(string orig, string pattern) {
-    string::size_type pos = orig.find(pattern);
-    if (pos == orig.npos) {
-        return 0;
-    }
-    else {
-        return 1;
-    }
-}
-
-void MakeMD5(const char *data, unsigned int dataLength, string &md5Str, int nChars) {
-
-    MD5 md5engine;
-    md5engine.update((unsigned char*) data, dataLength);
-    md5engine.finalize();
-
-    char *md5c_str = md5engine.hex_digest();
-    assert(md5c_str != NULL);
-    if (nChars == 0) {
-        nChars = 32;
-    }
-    md5Str.assign(md5c_str, nChars);
-    delete[] md5c_str;
-}
-
-
-void MakeMD5(string &data, string &md5Str, int nChars) {
-    MakeMD5(data.c_str(), data.size(), md5Str, nChars);
-}
-
-
-int IsWhitespace(char c) {
-    return (c == ' ' or c == '\t' or c == '\n' or c == '\r' or c == '\0');
-}
-
-int IsSpace(char c) {
-    return (c == ' ' or c == '\t');
-}
-
-int ToWords(string &orig, vector<string> &words) {
-    int curWordStart, curWordEnd;
-    curWordStart = 0;
-    while(curWordStart < orig.size()) {
-        while (curWordStart < orig.size() and IsSpace(orig[curWordStart])) { curWordStart++; }
-        curWordEnd = curWordStart;
-        while (curWordEnd < orig.size() and !IsSpace(orig[curWordEnd])) { curWordEnd++; }
-        string word;
-        if (curWordEnd != curWordStart) {
-            word.assign(orig, curWordStart, curWordEnd - curWordStart);
-            words.push_back(word);
-        }
-        curWordStart = curWordEnd;
-    }
-    return words.size();
-}
-
-// Splice a string by pattern and save to a vector of token strings.
-int Splice(const string & orig, const string & pattern, vector<string> & tokens) {
-    assert(pattern.size() > 0);
-
-    tokens.clear();
-    size_t search_start = 0;
-    size_t find_pos = orig.find(pattern, search_start);
-    while(find_pos != string::npos) {
-        string x = orig.substr(search_start, find_pos - search_start);
-        tokens.push_back(x);
-        search_start = find_pos + pattern.size();
-        find_pos = orig.find(pattern, search_start);
-    }
-    tokens.push_back(orig.substr(search_start));
-    return tokens.size();
-}
-
-void ParseSeparatedList(const string &csl, vector<string> &values, char delim) {
-    stringstream cslStrm(csl);
-    string valString;
-    string next;
-    do {
-        if (getline(cslStrm, valString, delim)) {
-            if (valString.size() > 0) {
-                values.push_back(valString);
-            }
-        }
-    }
-    while (cslStrm);
-}
-
-int AssignUntilFirstSpace(char *orig, int origLength, string &result) {
-    int i;
-    for (i = 0; i < origLength; i++ ){ 
-        if (orig[i] == ' ' or orig[i] == '\t' or orig[i] == '\n' or orig[i] == '\r' or orig[i] == '\0') {
-            break;
-        }
-    }
-    result.assign(orig, i);
-    return i;
-}
-
-string RStrip(string & fileName) {
-    // Remove right-ended spaces
-    int i = fileName.size();
-    if (i == 0) {
-        return "";
-    }
-    while (i >= 1) {
-        i--;
-        if (not IsWhitespace(fileName[i])) {
-            break;
-        }
-    }
-    return fileName.substr(0, i + 1);
-}
-
-string MakeReadGroupId(const string & movieName, const ReadType::ReadTypeEnum & readType) {
-    // PBBAM spec 3.0b5:
-    // Read Group Id is computed as MD5(${movieName}//${readType})[0:8], where
-    // movieName is PacBio platform unit id, e.g., (m140905_042...77_s1_X0),
-    // readtype is SUBREAD, CCS or UNKNOWN, 
-    // CCS reads for a movie named "movie32" would have 
-    // RGID STRING = "f5b4ffb6"
-    string seed = movieName + "//" + ReadType::ToString(readType);
-    string readGroupId;
-    MakeMD5(seed, readGroupId, 8);
-    return readGroupId;
-}
diff --git a/libcpp/pbdata/StringUtils.hpp b/libcpp/pbdata/StringUtils.hpp
deleted file mode 100644
index ea895a2..0000000
--- a/libcpp/pbdata/StringUtils.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-#ifndef UTILS_STRING_UTILS_H_
-#define UTILS_STRING_UTILS_H_
-
-#include <cassert>
-#include <string>
-#include <vector>
-#include <sstream>
-#include "Types.h"
-#include "MD5Utils.hpp"
-#include "reads/ReadType.hpp"
-
-using namespace std;
-
-int ExactPatternMatch(string orig, string pattern); 
-
-void MakeMD5(const char *data, unsigned int dataLength, string &md5Str, int nChars = 0); 
-
-void MakeMD5(string &data, string &md5Str, int nChars=0); 
-
-int IsWhitespace(char c); 
-
-int IsSpace(char c); 
-
-int ToWords(string &orig, vector<string> &words); 
-
-int Splice(const string & orig, const string & pattern, vector<string> &tokens); 
-
-void ParseSeparatedList(const string &csl, vector<string> &values, char delim=','); 
-
-int AssignUntilFirstSpace(char *orig, int origLength, string &result); 
-
-template<typename T_Value>
-void ParseSeparatedList(const string &csl, vector<T_Value> &values, char delim, int maxVals) {
-  //Parse up to 'maxVals' lines of lists.
-  stringstream cslStrm(csl);
-  T_Value val;
-  string valString;
-  string next;
-  int valIndex = 0;
-  do {
-    if (maxVals == 0 or valIndex < maxVals - 1 ) {
-      getline(cslStrm, valString, delim);
-    }
-    else {
-      // If on last value, get the rest of the line.
-      getline(cslStrm, valString);
-    }
-    if (cslStrm and valString.size() > 0) {
-      stringstream valStrm(valString);
-      if (! (valStrm  >> val) ) {
-        cout << "Error, value " << valString << " is malformatted." << endl;
-      }
-      else {
-        values.push_back(val);
-      }
-    }
-    valIndex++;
-  }
-  while (cslStrm);
-}
-
-template<typename T_Value>
-void ParseSeparatedList(const string &csl, vector<T_Value> &values, char delim=',') {
-	ParseSeparatedList(csl, values, delim, 0);
-}
-
-string RStrip(string & fileName);
-
-/// \returns Read Group Id, given movieName and readType.
-string MakeReadGroupId(const string & movieName, const ReadType::ReadTypeEnum & readType);
-#endif
diff --git a/libcpp/pbdata/Types.h b/libcpp/pbdata/Types.h
deleted file mode 100644
index 54fb856..0000000
--- a/libcpp/pbdata/Types.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef _BLASR_TYPES_H_
-#define _BLASR_TYPES_H_
-
-#include <stdint.h>
-
-typedef unsigned long ULong;
-
-// Move DNA sequence related definitions.
-typedef uint32_t DNALength;
-typedef unsigned char Nucleotide;
-
-//
-// Add definitions to handle 64/32 bit computing environments
-//
-typedef uint32_t VectorIndex;
-typedef uint32_t UInt;
-typedef uint8_t  Byte;
-typedef uint8_t  UChar;
-typedef uint16_t HalfWord;
-typedef float MatchWeight;
-#endif // _BLASR_TYPES_H_
diff --git a/libcpp/pbdata/VectorUtils.hpp b/libcpp/pbdata/VectorUtils.hpp
deleted file mode 100644
index c654c9d..0000000
--- a/libcpp/pbdata/VectorUtils.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef _BLASR_VECTOR_UTILS_HPP_
-#define _BLASR_VECTOR_UTILS_HPP_
-
-#include <vector>
-
-// Clear all memory allocated by this vector
-template <typename T>
-void ClearMemory(std::vector<T> & vt) {
-    // Create an empty vector
-    std::vector<T> emptyVector;
-    // First clear the content
-    vt.clear();
-    // Then swap vt with the empty vector 
-    vt.swap(emptyVector);
-}
-
-#endif // _BLASR_VECTOR_UTILS_HPP_
diff --git a/libcpp/pbdata/alignment/CmpAlignment.cpp b/libcpp/pbdata/alignment/CmpAlignment.cpp
deleted file mode 100644
index d3569d4..0000000
--- a/libcpp/pbdata/alignment/CmpAlignment.cpp
+++ /dev/null
@@ -1,219 +0,0 @@
-#include "CmpAlignment.hpp"
-
-std::map<std::string,int> CmpAlignmentBase::columnNameToIndex;
-
-unsigned int* CmpAlignmentBase::GetAlignmentIndex() {
-    return &alignmentIndex[0];
-}
-int CmpAlignmentBase::GetAlignmentIndexSize() {
-    return alignmentIndex.size();
-}
-unsigned int CmpAlignmentBase::GetAlignedStrand() {
-    return LookupColumnValue("AlignedStrand");
-}
-
-unsigned int CmpAlignmentBase::GetRCRefStrand() {
-    return LookupColumnValue("RCRefStrand");
-}
-
-// synonym 
-unsigned int CmpAlignmentBase::GetTStrand() {
-    return GetRCRefStrand();
-}
-
-bool CmpAlignmentBase::GetX(int &xp) {
-    if (alignmentIndex.size() > 0) {
-        xp = alignmentIndex[columnNameToIndex["x"]];
-        return true;
-    }
-    else {
-        xp = -1;
-        return false;
-    }
-}
-
-unsigned int CmpAlignmentBase::GetAlignmentId() {
-    return LookupColumnValue("AlnID");
-}
-
-unsigned int CmpAlignmentBase::GetX() {
-    return LookupColumnValue("x");
-}
-
-unsigned int CmpAlignmentBase::GetY() {
-    return LookupColumnValue("y");
-}
-
-unsigned int CmpAlignmentBase::GetMovieId() {
-    return LookupColumnValue("MovieId");
-}
-
-unsigned int CmpAlignmentBase::GetAlnGroupId() {
-    return LookupColumnValue("AlnGroupId");
-}
-
-unsigned int CmpAlignmentBase::GetReadGroupId() {
-    return LookupColumnValue("ReadGroupId");
-}
-
-
-unsigned int CmpAlignmentBase::LookupColumnValue(const char * columnName) {
-    if (columnNameToIndex.find(columnName) != columnNameToIndex.end()) {
-        int columnIndex = columnNameToIndex[columnName];
-        return alignmentIndex[columnIndex];
-    }
-    else {
-        std::cout << "ERROR, For now cmp files must contain a column " << columnName << std::endl;
-        std::cout << "size of columnNameToIndex: " << columnNameToIndex.size() << std::endl;
-        assert(0);
-    }
-}		
-
-
-void CmpAlignmentBase::InitializeColumnNameToIndex(std::vector<std::string> &columnNames) {
-    int i;
-    for (i = 0; i < columnNames.size(); i++ ){
-        columnNameToIndex[columnNames[i]] = i;
-    }
-}
-
-
-unsigned int CmpAlignmentBase::GetHoleNumber() {
-    return LookupColumnValue("HoleNumber");
-}
-
-unsigned int CmpAlignmentBase::GetRefGroupId() {
-    return LookupColumnValue("RefGroupId");
-}
-
-unsigned int CmpAlignmentBase::GetRefSeqId() {
-    return LookupColumnValue("RefSeqId");
-}
-
-unsigned int CmpAlignmentBase::GetOffsetBegin() {
-    return LookupColumnValue("offset_begin");
-}
-
-unsigned int CmpAlignmentBase::GetOffsetEnd() {
-    return LookupColumnValue("offset_end");
-}
-
-unsigned int CmpAlignmentBase::GetQueryStart() {
-    return LookupColumnValue("rStart");
-}
-
-unsigned int CmpAlignmentBase::GetQueryEnd() {
-    return LookupColumnValue("rEnd");
-}
-
-unsigned int CmpAlignmentBase::GetRefStart() {
-    return LookupColumnValue("tStart");
-}
-
-unsigned int CmpAlignmentBase::GetRefEnd() {
-    return LookupColumnValue("tEnd");
-}
-
-unsigned int CmpAlignmentBase::GetNMatch() {
-    return LookupColumnValue("nM");
-}
-
-unsigned int CmpAlignmentBase::GetNMismatch() {
-    return LookupColumnValue("nMM");
-}
-
-unsigned int CmpAlignmentBase::GetNInsertions() {
-    return LookupColumnValue("nIns");
-}
-
-unsigned int CmpAlignmentBase::GetNDeletions() {
-    return LookupColumnValue("nDel");
-}
-
-unsigned int CmpAlignmentBase::GetMapQV() {
-    return LookupColumnValue("MapQV");
-}
-
-unsigned int CmpAlignmentBase::GetSubreadId() {
-    return LookupColumnValue("SubreadId");
-}
-
-unsigned int CmpAlignmentBase::GetStrobeNumber() {
-    return LookupColumnValue("StrobeNumber");
-}
-
-unsigned int CmpAlignmentBase::GetSetNumber() {
-    return LookupColumnValue("SetNumber");
-}
-
-CmpAlignmentBase::CmpAlignmentBase(PlatformId platformIdP) {
-    platformId = platformIdP;
-}
-
-void CmpAlignmentBase::SetPlatformId(PlatformId platformIdP) {
-    platformId = platformIdP;
-}
-
-// CmpAlignment
-
-CmpAlignment::CmpAlignment(PlatformId pid) : CmpAlignmentBase(pid) {
-}
-
-void CmpAlignment::StoreAlignmentIndex(unsigned int *alignmentIndexPtr, 
-    int alignmentIndexLength) {
-
-    alignmentIndex.clear();
-    alignmentIndex.insert(alignmentIndex.begin(), &alignmentIndexPtr[0], 
-        &alignmentIndexPtr[alignmentIndexLength]);
-}
-
-void CmpAlignment::StoreAlignmentArray(unsigned char* alignmentArrayPtr, 
-    int alignmentArrayLength) {
-
-    alignmentArray.resize(alignmentArrayLength);
-    unsigned int a;
-    for (a = 0; a < alignmentArrayLength; a++ ){
-        alignmentArray[a] = alignmentArrayPtr[a];
-    }
-}
-
-CmpAlignment &CmpAlignment::operator=(const CmpAlignment &rhs) {
-    // deep copy the alignment index
-    alignmentIndex.resize(rhs.alignmentIndex.size());
-    copy(rhs.alignmentIndex.begin(), rhs.alignmentIndex.end(), alignmentIndex.begin());
-    // deep copy the alignment array
-    alignmentArray.resize(rhs.alignmentIndex.size());
-    copy(rhs.alignmentArray.begin(), rhs.alignmentArray.end(), alignmentArray.begin());
-    // copy fields
-    Z = rhs.Z;
-    index = rhs.index; readGroupId = rhs.readGroupId; movieId = rhs.movieId;
-    refSeqId = rhs.refSeqId;
-    expId = rhs.expId; runId = rhs.runId; panel = rhs.panel;
-    x = rhs.x; y = rhs.y;
-    rcRefStrand = rhs.rcRefStrand;
-    holeNumber = rhs.holeNumber;
-    offsetBegin = rhs.offsetBegin; offsetEnd = rhs.offsetEnd;
-    setNumber = rhs.setNumber, strobeNumber = rhs.strobeNumber, mapQV = rhs.mapQV, nBackRead = rhs.nBackRead, nReadOverlap = rhs.nReadOverlap;
-    subreadId = rhs.subreadId;
-    nMatch = rhs.nMatch, nMismatch = rhs.nMismatch, nIns = rhs.nIns, nDel = rhs.nDel;
-    return *this;
-}
-
-int CmpAlignment::operator<(const CmpAlignment &rhs) const {
-    if (alignmentArray[1] == rhs.alignmentArray[1]) {
-        if (alignmentArray[2] == rhs.alignmentArray[2]) {
-            if (alignmentArray[10] == rhs.alignmentArray[10]) {
-                return (alignmentArray[4] < rhs.alignmentArray[4]);
-            }
-            else {
-                return alignmentArray[10] < rhs.alignmentArray[10];
-            }
-        }
-        else {
-            return alignmentArray[2] < rhs.alignmentArray[2];
-        }
-    }
-    else {
-        return alignmentArray[1] < rhs.alignmentArray[1];
-    }
-}
diff --git a/libcpp/pbdata/alignment/CmpAlignment.hpp b/libcpp/pbdata/alignment/CmpAlignment.hpp
deleted file mode 100644
index 484bfa1..0000000
--- a/libcpp/pbdata/alignment/CmpAlignment.hpp
+++ /dev/null
@@ -1,126 +0,0 @@
-#ifndef DATASTRUCTURES_ALIGNMENT_CMP_ALIGNMENT_H_
-#define DATASTRUCTURES_ALIGNMENT_CMP_ALIGNMENT_H_
-#include <map>
-#include <vector>
-#include <string>
-#include <iostream>
-#include <assert.h>
-#include <algorithm>
-
-#include "Types.h"
-#include "Enumerations.h"
-
-class CmpAlignmentBase  {
-public:
-    //
-    // For use in referencing alignment sets. TODO: subclass.
-    //
-    PlatformId platformId;
-    int Z;
-    unsigned int index, readGroupId, movieId, refSeqId; 
-    unsigned int expId, runId, panel;
-    unsigned int x, y;
-    unsigned int rcRefStrand;
-    unsigned int holeNumber;
-    unsigned int offsetBegin, offsetEnd;
-    unsigned int setNumber, strobeNumber, mapQV, nBackRead, nReadOverlap;
-    unsigned int subreadId;
-    unsigned int nMatch, nMismatch, nIns, nDel;
-    std::vector<unsigned char> alignmentArray;
-    std::vector<unsigned int> alignmentIndex;
-    static std::map<std::string,int> columnNameToIndex;
-    static bool initializedColumnNameToIndex;
-    std::map<std::string, std::vector<UChar> > fields;
-
-    unsigned int *GetAlignmentIndex(); 
-
-    int GetAlignmentIndexSize(); 
-
-    unsigned int GetAlignedStrand(); 
-
-    unsigned int GetRCRefStrand(); 
-
-    // synonym 
-    unsigned int GetTStrand(); 
-
-    bool GetX(int &xp); 
-
-    unsigned int GetAlignmentId(); 
-
-    unsigned int GetX(); 
-
-    unsigned int GetY(); 
-
-    unsigned int GetMovieId(); 
-
-    unsigned int GetAlnGroupId(); 
-
-    unsigned int GetReadGroupId(); 
-
-    unsigned int LookupColumnValue(const char * columnName); 
-
-    void InitializeColumnNameToIndex(std::vector<std::string> &columnNames); 
-
-    unsigned int GetHoleNumber(); 
-
-    unsigned int GetRefGroupId(); 
-
-    unsigned int GetRefSeqId(); 
-
-    unsigned int GetOffsetBegin(); 
-
-    unsigned int GetOffsetEnd(); 
-
-    unsigned int GetQueryStart();
-
-    unsigned int GetQueryEnd(); 
-
-    unsigned int GetRefStart(); 
-
-    unsigned int GetRefEnd();
-
-    unsigned int GetNMatch(); 
-
-    unsigned int GetNMismatch();
-
-    unsigned int GetNInsertions();
-
-    unsigned int GetNDeletions(); 
-
-    unsigned int GetMapQV(); 
-
-    unsigned int GetSubreadId(); 
-
-    unsigned int GetStrobeNumber(); 
-
-    unsigned int GetSetNumber(); 
-
-    CmpAlignmentBase(PlatformId platformIdP=Springfield); 
-
-    void SetPlatformId(PlatformId platformIdP); 
-};
-
-class CmpAlignment : public CmpAlignmentBase {
-public:
-    int qStrand, tStrand;
-    int qStart, qLength;
-    int tStart, tLength;
-    //
-    // Default constructor just calls the base constructor to initialize platoformType
-    CmpAlignment(PlatformId pid=Springfield);
-
-    void StoreAlignmentIndex(unsigned int *alignmentIndexPtr, int alignmentIndexLength);
-
-    void StoreAlignmentArray(unsigned char* alignmentArrayPtr, int alignmentArrayLength); 
-
-    template<typename T_Field>
-    void StoreField(std::string fieldName, T_Field* fieldValues, int length); 
-
-    CmpAlignment &operator=(const CmpAlignment &rhs); 
-
-    int operator<(const CmpAlignment &rhs) const; 
-
-};
-
-#include "CmpAlignmentImpl.hpp"
-#endif
diff --git a/libcpp/pbdata/alignment/CmpAlignmentImpl.hpp b/libcpp/pbdata/alignment/CmpAlignmentImpl.hpp
deleted file mode 100644
index e8b9a5f..0000000
--- a/libcpp/pbdata/alignment/CmpAlignmentImpl.hpp
+++ /dev/null
@@ -1,6 +0,0 @@
-
-template<typename T_Field>
-void CmpAlignment::StoreField(std::string fieldName, T_Field* fieldValues, int length) {
-    fields[fieldName].resize(length);
-    memcpy(&fields[fieldName][0], fieldValues, length * sizeof(T_Field));
-}    
diff --git a/libcpp/pbdata/amos/AfgBasWriter.cpp b/libcpp/pbdata/amos/AfgBasWriter.cpp
deleted file mode 100644
index 2817bce..0000000
--- a/libcpp/pbdata/amos/AfgBasWriter.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-#include "AfgBasWriter.hpp"
-
-unsigned char AfgBasWriter::pacbioQVtoPhredQV(unsigned char pacbio){
-    return (unsigned char) floor( 10.0 * log10( 1.0 + pow(10.0, pacbio / 100.0) ) + 0.5 );
-}
-
-AfgBasWriter::AfgBasWriter() {
-    firstRecord = true;
-    recordCount = 1;
-    defaultQuality = 5;
-}
-
-AfgBasWriter::~AfgBasWriter() {
-    firstRecord = true;
-    recordCount = 1;
-    defaultQuality = 5;
-}
-
-void AfgBasWriter::Initialize(std::string _afgFileName){
-    afgFileName = _afgFileName;
-    CrucialOpen(afgFileName, afgOut);
-}
-
-void AfgBasWriter::Close() {
-    afgOut.close();
-}
-
-void AfgBasWriter::SetDefaultQuality(int _defaultQuality){
-    defaultQuality = _defaultQuality;
-}
-
-int AfgBasWriter::Write(SMRTSequence &seq) {
-    if (firstRecord){
-        WriteHeader();
-        firstRecord = false;
-    }
-    WriteOpen(seq);
-    WriteIdentifier(seq);
-    WriteBases(seq);
-    WriteQualities(seq);
-    WriteClose();
-    return 1;
-}
-
-void AfgBasWriter::WriteHeader() {
-    afgOut << "{UNV" << std::endl;
-    afgOut << "iid:1" << std::endl;
-    afgOut << "com:" << std::endl;
-    afgOut << "generated by AfgBasWriter" << std::endl;
-    afgOut << "Mon Jun 28 14:43:52 2010" << std::endl; // TODO put in real date
-    afgOut << "." << std::endl << "}" << std::endl;
-    afgOut << "{LIB" << std::endl << "iid:1" << std::endl;
-    afgOut << "{DST" << std::endl << "mea:0" << std::endl << "std:0" << std::endl << "}" << std::endl << "}" << std::endl;
-}
-
-void AfgBasWriter::WriteOpen(SMRTSequence &seq) {
-    afgOut << "{RED" << std::endl;
-    afgOut << "frg:" << recordCount + 1 << std::endl;
-    afgOut << "iid:" << recordCount << std::endl;
-}
-
-void AfgBasWriter::WriteIdentifier(SMRTSequence &seq) {
-    afgOut << "clr:0," << seq.length << std::endl;
-
-    afgOut << "eid:";
-    std::string fastaTitle;
-    seq.GetFASTATitle(fastaTitle);
-    afgOut << fastaTitle << std::endl;
-}
-
-void AfgBasWriter::WriteClose() {
-    recordCount++;
-    afgOut << "}" << std::endl;
-    afgOut << "{FRG" << std::endl;
-    afgOut << "iid:" << recordCount << std::endl;
-    afgOut << "lib:1" << std::endl << "typ:I" << std::endl << "}" << std::endl;
-    recordCount++;
-}
-
-void AfgBasWriter::WriteBases(SMRTSequence &seq) {
-    afgOut << "seq:" << std::endl;
-    (static_cast<DNASequence*>(&seq))->PrintSeq( afgOut, lineLength );
-    afgOut << "." << std::endl;
-}
-
-void AfgBasWriter::WriteQualities(SMRTSequence &seq) {
-    afgOut << "qlt:" << std::endl;
-    int i;
-    for (i = 0; i < seq.length; i++ ){
-        unsigned char quality =  seq.qual.data ?  seq.qual[i] : defaultQuality;
-        quality = quality + charToQuality;
-        quality = quality > maxAfgQuality ? maxAfgQuality : quality;
-        quality = quality < minAfgQuality ? minAfgQuality : quality;
-        afgOut << quality;
-        if (i > 0 and (i+1) % lineLength == 0)
-            afgOut << std::endl;
-    }
-    if (i == 0 or i % lineLength != 0) {
-        afgOut << std::endl;
-    }
-    afgOut << "." << std::endl;
-}
diff --git a/libcpp/pbdata/amos/AfgBasWriter.hpp b/libcpp/pbdata/amos/AfgBasWriter.hpp
deleted file mode 100644
index c945f88..0000000
--- a/libcpp/pbdata/amos/AfgBasWriter.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef _BLASR_AMOS_AFG_BAS_WRITER_HPP_
-#define _BLASR_AMOS_AFG_BAS_WRITER_HPP_
-
-#include <cmath>
-#include <fstream>
-#include <sstream>
-#include "SMRTSequence.hpp"
-#include "qvs/QualityValueVector.hpp"
-
-class AfgBasWriter {
-    // TODO correct file type? outFile
-    // TODO change SMRTSequence to FASTQ sequence? then maybe fasta2afg would be 
-    // easier to write
-    std::string afgFileName;
-    std::ofstream afgOut;
-    bool firstRecord;
-    int recordCount;
-    int defaultQuality;
-    // Use 122 = '{' - 1 because '{' and '}' are the message delimiters in AMOS.
-    static const unsigned char maxAfgQuality = 122; 
-    static const unsigned char charToQuality = 48;
-    static const unsigned char minAfgQuality = charToQuality + 1; 
-    static const int lineLength = 80;
-
-  private:
-
-    unsigned char pacbioQVtoPhredQV(unsigned char pacbio);
-    
-  public:
-    // Assume that closing the afg file must be done
-    // manually and not in a destructor.
-    ~AfgBasWriter();
-
-    AfgBasWriter();
-
-    void Initialize(std::string _afgFileName);
-
-    void Close();
-
-    int Write(SMRTSequence &seq);
-
-    void SetDefaultQuality(int _defaultQuality);
-
-  private:
-
-    void WriteHeader();
-
-    void WriteOpen(SMRTSequence &seq);
-
-    void WriteIdentifier(SMRTSequence &seq);
-
-    void WriteClose();
-
-    void WriteBases(SMRTSequence &seq);
-
-    void WriteQualities(SMRTSequence &seq);
-};
-
-#endif
diff --git a/libcpp/pbdata/build.mk b/libcpp/pbdata/build.mk
deleted file mode 120000
index 2247f36..0000000
--- a/libcpp/pbdata/build.mk
+++ /dev/null
@@ -1 +0,0 @@
-makefile
\ No newline at end of file
diff --git a/libcpp/pbdata/defs.h b/libcpp/pbdata/defs.h
deleted file mode 100644
index c01d625..0000000
--- a/libcpp/pbdata/defs.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef DEFS_H_
-#define DEFS_H_
-
-#ifndef MIN
-#define MIN(a, b) ((a) < (b) ? (a) : (b))
-#endif
-
-
-#ifndef MAX
-#define MAX(a, b) ((a) > (b) ? (a) : (b))
-#endif
-
-#define SWAP(a, b) (((a) == (b)) ? 0 : ((a) ^= (b), (b) ^= (a), (a) ^= (b)))
-
-#ifndef INF_INT
-#define INF_INT INT_MAX
-#endif
-
-#endif
diff --git a/libcpp/pbdata/loadpulses/MetricField.cpp b/libcpp/pbdata/loadpulses/MetricField.cpp
deleted file mode 100644
index 1e95a46..0000000
--- a/libcpp/pbdata/loadpulses/MetricField.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-#include "MetricField.hpp"
-
-Field::Field(std::string n, FieldType t) {
-    name = n;
-    type = t;
-}
-
-bool Field::operator==(const Field &another) const {
-    return (name == another.name && 
-            type == another.type);
-}
-
-FieldsRequirement::FieldsRequirement(const std::string & m) {
-    metric = m;
-    if (metric == "QualityValue"   ||  metric == "InsertionQV"     ||
-        metric == "MergeQV"        ||  metric == "DeletionQV"      ||
-        metric == "DeletionTag"    ||  metric == "SubstitutionTag" ||
-        metric == "SubstitutionQV" ||  metric == "PreBaseFrames"   ||
-        metric == "PulseIndex"     ||  metric == "Basecall") {
-        fieldsUseBasFile.push_back(Field (metric         , BasField));
-
-    } else if (metric == "ClassifierQV") {
-        fieldsUsePlsFile.push_back(Field (metric         , PlsField));
-        fieldsUsePlsFile.push_back(Field ("NumEvent"     , PlsField));
-        fieldsUsePlsFile.push_back(Field ("PulseIndex"   , BasField));
-
-    } else if (metric == "StartTimeOffset") {
-        fieldsUsePlsFile.push_back(Field ("StartFrame"   , PlsField));
-        fieldsUsePlsFile.push_back(Field ("NumEvent"     , PlsField));
-        fieldsUsePlsFile.push_back(Field ("PulseIndex"   , BasField));
-
-    } else if (metric == "StartFramePulse") {// Compute StartFrame from PulseCalls only
-        fieldsUsePlsFile.push_back(Field ("StartFrame"   , PlsField));
-        fieldsUsePlsFile.push_back(Field ("NumEvent"     , PlsField));
-        fieldsUsePlsFile.push_back(Field ("PulseIndex"   , BasField));
-
-    } else if (metric == "StartFrameBase") {// Compute StartFrame from BaseCalls only
-        fieldsUseBasFile.push_back(Field ("PreBaseFrames", BasField));
-        fieldsUseBasFile.push_back(Field ("WidthInFrames", BasField));
-
-    } else if (metric == "WhenStarted") {
-        // WhenStarted does not require any field because it only requires an attribute
-    
-    } else if (metric == "pkmid") {
-        fieldsUsePlsFile.push_back(Field ("MidSignal"    , PlsField));
-        fieldsUsePlsFile.push_back(Field ("NumEvent"     , PlsField));
-        fieldsUsePlsFile.push_back(Field ("PulseIndex"   , BasField));
-
-    } else if (metric == "Light") {
-        fieldsUsePlsFile.push_back(Field ("WidthInFrames", PlsField));
-        fieldsUsePlsFile.push_back(Field ("MeanSignal"   , PlsField));
-        fieldsUsePlsFile.push_back(Field ("NumEvent"     , PlsField));
-        fieldsUsePlsFile.push_back(Field ("PulseIndex"   , BasField));
-
-    } else if (metric == "PulseWidth"     ||  metric == "WidthInFrames") {
-        // Both metrics require a field "WidthInFrames", which can be read from 
-        // either bas.h5 or pls.h5.
-        fieldsUseBasFile.push_back(Field ("WidthInFrames", BasField));
-
-        fieldsUsePlsFile.push_back(Field ("WidthInFrames", PlsField));
-        fieldsUsePlsFile.push_back(Field ("NumEvent"     , PlsField));
-        fieldsUsePlsFile.push_back(Field ("PulseIndex"   , BasField));
-
-    } else if (metric == "StartFrame") { 
-        // Compute StartFrame from either PulseCalls or BaseCalls
-        fieldsUseBasFile.push_back(Field ("PreBaseFrames", BasField));
-        fieldsUseBasFile.push_back(Field ("WidthInFrames", BasField));
-
-        fieldsUsePlsFile.push_back(Field ("StartFrame"   , PlsField));
-        fieldsUsePlsFile.push_back(Field ("NumEvent"     , PlsField));
-        fieldsUsePlsFile.push_back(Field ("PulseIndex"   , BasField));
-    } else if (metric == "IPD") {
-        // IPD can be obtained from basFile.PreBaseFrames or computed from 
-        // plsFile.WidthInFrames and plsFile.StartFrame. Use the second method if possible
-        fieldsUseBasFile.push_back(Field ("PreBaseFrames", BasField));
-
-        fieldsUsePlsFile.push_back(Field ("StartFrame"   , PlsField));
-        fieldsUsePlsFile.push_back(Field ("WidthInFrames", PlsField));
-        fieldsUsePlsFile.push_back(Field ("NumEvent"     , PlsField));
-        fieldsUsePlsFile.push_back(Field ("PulseIndex"   , BasField));
-    } else if (metric == "") {
-        // No metric, no required fields.
-    } else {
-        std::cout << "ERROR, metric [" << metric << "] is not supported." << std::endl;
-        exit(1);
-    }
-}
diff --git a/libcpp/pbdata/loadpulses/MetricField.hpp b/libcpp/pbdata/loadpulses/MetricField.hpp
deleted file mode 100644
index a930017..0000000
--- a/libcpp/pbdata/loadpulses/MetricField.hpp
+++ /dev/null
@@ -1,115 +0,0 @@
-#ifndef _LOADPULSES_METRICFIELD_HPP_
-#define _LOADPULSES_METRICFIELD_HPP_
-#include <iostream>
-#include <string>
-#include <vector>
-
-#include <stdlib.h>
-
-#include "Types.h"
-
-enum FieldType {BasField, PlsField};
-
-class Field {
-public:
-    std::string name;
-    FieldType type;
-    Field(std::string n, FieldType t);
-    bool operator == (const Field &another) const;
-};
-
-class FieldsRequirement {
-public:
-    std::string metric;
-    std::vector<Field> fieldsUseBasFile;
-    std::vector<Field> fieldsUsePlsFile;
-
-    // Return fields that are required for computing this metric. 
-    // Eighteen metrics are supported in total.
-    // [1/18] metric requires only an attribute (not a field):
-    //     WhenStarted 
-    //
-    // [9/18] metrics require exactly one BaseCall field
-    //     QualityValue InsertionQV     MergeQV           DeletionQV
-    //     DeletionTag  SubstitutionTag SubstitutionQV    PreBaseFrames 
-    //     PulseIndex
-    //       
-    // [4/18] metrics require more than one field and can be computed using 
-    // only one method:
-    //                         BaseCall         PulseCall
-    //     ----------------------------------------------------
-    //     ClassifierQV        PulseIndex       NumEvent
-    //                                          ClassifierQV
-    //     ----------------------------------------------------
-    //     pkmid               PulseIndex       NumEvent
-    //                                          MidSignal
-    //     ----------------------------------------------------
-    //     Light               PulseIndex       NumEvent
-    //                                          WidthInFrames
-    //                                          MeanSignal
-    //     ----------------------------------------------------
-    //     StartTimeOffset     PulseIndex       NumEvent
-    //                                          StartFrame
-    //     ----------------------------------------------------
-    // [4/18] metrics can be computed from both BaseCalls and PulseCalls. 
-    // But sometimes the value computed from BaseCalls can be wrong, 
-    // because the value of BaseCalls/PreBaseFrames may exceed 2^16-1.
-    //                Method   BaseCall         PulseCall
-    //     ----------------------------------------------------
-    //     PulseWidth  (1)     WidthInFrames    
-    //                  =======================================
-    //                 (2)     PulseIndex       NumEvent
-    //                                          WidthInFrames    
-    //     ----------------------------------------------------
-    //     WidthInFrames  : The same as PulseWidth
-    //     ----------------------------------------------------
-    //     StartFrame  (1)     PreBaseFrames 
-    //                         WidthInFrames
-    //                  =======================================
-    //                 (2)     PulseIndex       NumEvent
-    //                                          StartFrame
-    //     ----------------------------------------------------
-    //     IPD         (1)     PreBaseFrames    
-    //                  =======================================
-    //                 (2)     PulseIndex       NumEvent
-    //                                          StartFrame
-    //                                          WidthInFrames
-    //     ----------------------------------------------------
-    // Note: PulseWidth and WidthInFrames have the same meaning and are 
-    // computed in the same way.
-    //
-    // Note: StartFrame can be loaded for both bas.h5 and pls.h5 files
-    //       for bas.h5, StartFrame is computed from PreBaseFrames and WidthInFrames
-    //           Let x = PreBaseFrames for bases 0 ... n-1, where x[0] is 0 and 
-    //                   x[i] is the inter-pulse distance between start of pulse 
-    //                   for base i and end of pulse for base i-1
-    //           Let y = WidthInFrames for bases 0 ... n-1, where y[i] is the 
-    //                   number of pulses within base i
-    //       Then, 
-    //           StartFrame[0] = x[0]
-    //           StartFrame[i] = sum(x[0] ... x[i]) + sum(y[0] ... y[i-1]) 
-    //                           for i in [1 ... n-1]
-    //       for pls.h5, StartFrame can be directly read from dataset
-    //       /PulseData/PulseCalls/StartFrame
-    //
-    // Note: StartTimeOffset is the StartFrame for the very first base of a read, it 
-    //       can only be computed from PulseCalls
-    //
-    // Note: IPD has the same meaning as PreBaseFrames:
-    //           = the inter-pulse distance between this base and end of last base,
-    //           = the number of Frames between the ending pulse of the last base and 
-    //           the starting pulse of this base.
-    //       However, PreBaseFrames can only be read directly from BaseCalls, while
-    //       IPD can also be computed from PulseCalls
-    //           If use BaseCalls, 
-    //               IPD[i] = PreBaseFrames[i]        for i in [0 ... n-1]
-    //           If use PulseCalls,
-    //               IPD[0] = 0
-    //               IPD[i] = StartFrame[i] - StartFrame[i-1] - WidthInFrames[i-1]
-    //                                                for i in [1 ... n-1]
-    //
-    //void GetRequiredFieldsForMetric(const string & metric, FieldType & field){
-    FieldsRequirement(const std::string & m);
-};
-
-#endif
diff --git a/libcpp/pbdata/loadpulses/MovieAlnIndexLookupTable.cpp b/libcpp/pbdata/loadpulses/MovieAlnIndexLookupTable.cpp
deleted file mode 100644
index 51140d3..0000000
--- a/libcpp/pbdata/loadpulses/MovieAlnIndexLookupTable.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-#include "MovieAlnIndexLookupTable.hpp"
-
-
-MovieAlnIndexLookupTable::MovieAlnIndexLookupTable() {
-    skip = true;
-    //skip this alignment unless we can find all the information
-}
-
-void MovieAlnIndexLookupTable::SetValue(
-                const bool & skipP,            
-                const int  & movieAlignmentIndexP,
-                const UInt & alignmentIndexP,  
-                const int  & refGroupIndexP,   
-                const int  & readGroupIndexP,  
-                const UInt & holeNumberP,
-                const UInt & offsetBeginP,     
-                const UInt & offsetEndP,
-                const int  & queryStartP,      
-                const int  & queryEndP,
-                const int  & readIndexP,
-                const int  & readStartP,       
-                const int  & readLengthP,
-                const int  & plsReadIndexP) {
-    skip = skipP; 
-    movieAlignmentIndex = movieAlignmentIndexP;
-    alignmentIndex      = alignmentIndexP;
-    refGroupIndex       = refGroupIndexP;
-    readGroupIndex      = readGroupIndexP;
-    holeNumber          = holeNumberP;
-    offsetBegin         = offsetBeginP;
-    offsetEnd           = offsetEndP;
-    queryStart          = queryStartP;
-    queryEnd            = queryEndP;
-    readIndex           = readIndexP;
-    readStart           = readStartP;
-    readLength          = readLengthP;
-    plsReadIndex        = plsReadIndexP;
-}
-
-
-void MovieAlnIndexLookupTable::print() {
-    // Print this lookup table for debugging . 
-    if (skip) 
-        std::cout << "skip = True, ";
-    else 
-        std::cout << "skip = False, ";
-    std::cout << "movieAlnIndex    = " << alignmentIndex << ", refGroupIndex = " << refGroupIndex
-            << ", readGroupIndex = " << readGroupIndex << ", holeNumber    = " << holeNumber
-            << ", offsetBegin    = " << offsetBegin    << ", offsetEnd     = " << offsetEnd
-            << ", queryStart     = " << queryStart     << ", queryEnd      = " << queryEnd
-            << ", readIndex      = " << readIndex      << ", readStart     = " << readStart
-            << ", readLength     = " << readLength     << ", plsReadIndex  = " << plsReadIndex
-            << std::endl;
-}
diff --git a/libcpp/pbdata/loadpulses/MovieAlnIndexLookupTable.hpp b/libcpp/pbdata/loadpulses/MovieAlnIndexLookupTable.hpp
deleted file mode 100644
index f69811c..0000000
--- a/libcpp/pbdata/loadpulses/MovieAlnIndexLookupTable.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  MovieAlnIndexLookupTable.h
- *
- *    Description:  For cpp/pbihdfutils/LoadPulses.cpp use only.
- *                  Cache all the information required for loading metric from pls/bas
- *                  to cmp file.
- *                  mapping movieAlignmentIndex in movieIndexSets[movieIndex] to:
- *                  alignmentIndex: index of this alignment in cmpFile.alnInfo.alignments
- *                  refGroupIndex : index of this alignment in cmpReader.refAlignGroups
- *                  readGroupIndex: index of this alignment in cmpReader.refAlignGroups\
- *                                  [refGroupIndex]->readGroupds[readGroupIndex]
- *                  offsetBegin   : offset begin for this alignment in cmpFile 
- *                                  dataset /ref/movie/AlnArray
- *                  offsetEnd     : offset enda
- *                  queryStart    : start position of query of this alignment 
- *                  queryEnd      : end position of query of this alignment 
- *                  readIndex     : index of this alignment in baseFile.readStartPositions
- *                  readStart     : start position of this alignment in baseFile
- *                  readLength    : read length of this alignment in baseFile
- *                  plsReadIndex  : index of this alignment in pulseFile.pulseStartPositions
- *                  alignedSequence
- *                                : aligned sequence of this alignment
- *                  
- *        Version:  1.0
- *        Created:  12/19/2012 03:50:21 PM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#ifndef _LOADPULSES_MovieAlnIndexLookupTable_HPP_
-#define _LOADPULSES_MovieAlnIndexLookupTable_HPP_
-#include <iostream>
-#include <string>
-
-#include "Types.h"
-
-class MovieAlnIndexLookupTable {
-public: 
-    bool  skip;                   
-    // as movies may split into multiple parts, skip=true if 
-    // this alignment is not found in the movie
-     
-    int   movieAlignmentIndex;    
-    // movieIndexSets[movieIndex][toFrom[movieAlignmentIndex]] 
-    
-    UInt  alignmentIndex;         
-    // cmpFile.alnInfo.alignments[alignmentIndex]
-    
-    UInt  holeNumber;
-    // holeNumber corresponding to this alignment in baseFile
-    
-    int   refGroupIndex;          
-    // cmpReader.refAlignGroups[refGroupIndex]
-    
-    int   readGroupIndex;         
-    // cmpReader.refAlignGroups[refGroupIndex]->readGroups[readGroupIndex]
-    
-    UInt  offsetBegin, offsetEnd; 
-    // offset begin and end for this alignment in /ref/movie/AlnArray
-    // = cmpFile.alnInfo.alignments[alignmentIndex].GetOffsetBegin/End()
-    
-    int   queryStart,  queryEnd;  
-    // start/end for this read = cmpFile.alnInfo.
-    // alignments[alignmentIndex].GetQueryStart/End()
-
-    int   readIndex;              
-    // index of this alignment in baseFile.readStartPositions
-    // = index of this hole number in BaseCalls/ZMW/HoleNumber
-    // baseFile.LookupReadIndexByHoleNumber(holeNumber, out=readIndex)
-    
-    int   readStart;              
-    // start pos of this alignment in baseFile
-    // = baseFile.readStartPositions[readIndex]
-
-    int   readLength;             
-    // read length of this alignment in baseFile
-    // = baseFile.readStartPositions[readIndex+1] - readStart 
-
-    int   plsReadIndex;
-    // index of this alignment in pulseFile.pulseStartPositions
-    // = index of this hole number in PulseCalls/ZMW/HoleNumbers
-    // = pulseFile.LookupReadIndexByHoleNumber(holeNumber, out=plsReadIndex)
-
-    // vector<int> baseToAlignmentMap; 
-    // keep all the baseToAlignmentMap in memory for now
-    // Note that baseToAlignmentMap is not initialized when 
-    // BuildLookupTable is called.
-   
-    std::string alignedSequence;
-
-    MovieAlnIndexLookupTable();
-
-    void SetValue(const bool & skipP,            
-                  const int  & movieAlignmentIndexP,
-                  const UInt & alignmentIndexP,  
-                  const int  & refGroupIndexP,   
-                  const int  & readGroupIndexP,  
-                  const UInt & holeNumberP,
-                  const UInt & offsetBeginP,     
-                  const UInt & offsetEndP,
-                  const int  & queryStartP,      
-                  const int  & queryEndP,
-                  const int  & readIndexP,
-                  const int  & readStartP,       
-                  const int  & readLengthP,
-                  const int  & plsReadIndexP);
-
-    void print();
-};
-#endif
diff --git a/libcpp/pbdata/makefile b/libcpp/pbdata/makefile
deleted file mode 100644
index fd4a65c..0000000
--- a/libcpp/pbdata/makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-all:
-
-include ../rules.mk
-include ../defines.mk
-
-CXXOPTS  += -std=c++11 -pedantic -MMD -MP
-CPPFLAGS += -I. -Imatrix -Ireads -Iqvs -Imetagenome -Isaf -Iutils -Ialignment
-INCLUDES += ${PBBAM_INCLUDE} ${HTSLIB_INCLUDE} ${BOOST_INCLUDE}
-DEP_LIBS += ${PBBAM_LIB} ${HTSLIB_LIB}
-LDFLAGS  += $(patsubst %,$(dirname %),${DEP_LIBS})
-
-all: libpbdata.a libpbdata.so
-
-sources := $(wildcard *.cpp) \
-	       $(wildcard matrix/*.cpp) \
-	       $(wildcard reads/*.cpp) \
-	       $(wildcard metagenome/*.cpp) \
-	       $(wildcard qvs/*.cpp) \
-	       $(wildcard saf/*.cpp) \
-	       $(wildcard utils/*.cpp) \
-	       $(wildcard loadpulses/*.cpp) \
-	       $(wildcard alignment/*.cpp) \
-	       $(wildcard amos/*.cpp) \
-	       $(wildcard sam/*.cpp) 
-
-objects := $(sources:.cpp=.o)
-shared_objects := $(sources:.cpp=.shared.o)
-dependencies := $(objects:.o=.d) $(shared_objects:.o=.d)
-
-libpbdata.a: $(objects)
-	$(AR) $(ARFLAGS) $@ $^
-
-libpbdata.so: $(shared_objects) $(DEP_LIBS)
-	$(CXX) $(LD_SHAREDFLAGS) -o $@ -Wl,-soname,$@ $^
-
-clean: 
-	@rm -f libpbdata.a  libpbdata.so
-	@rm -f $(objects) $(shared_objects) $(dependencies)
-
--include $(dependencies)
diff --git a/libcpp/pbdata/matrix/FlatMatrix.hpp b/libcpp/pbdata/matrix/FlatMatrix.hpp
deleted file mode 100644
index 1664f9e..0000000
--- a/libcpp/pbdata/matrix/FlatMatrix.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-#ifndef _BLASR_FLAT_MATRIX_HPP_
-#define _BLASR_FLAT_MATRIX_HPP_
-
-#define rc2index(r, c, rowSize) ( (r) * (rowSize) + c)
-
-template<typename T>
-void CreateFlatMatrix(int rows, int cols, std::vector<T> &matrix); 
-
-template<typename T>
-void PrintFlatMatrix(std::vector<T> &matrix, int rows, int cols, std::ostream &out, int width=6); 
-
-template<typename T>
-void PrintFlatMatrix(const T* matrix, int rows, int cols, std::ostream &out, int width=6); 
-
-template<typename T>
-class FlatMatrix2D {
- public:
-	T* matrix;
-	int nRows, nCols;
-	int totalSize;
-	int RC2Index(int row, int col); 
-
-	FlatMatrix2D();
-
-    ~FlatMatrix2D();
-
-	T* operator[](int row); 
-
-	T operator()(int row, int col); 
-
-	unsigned int Size(); 
-
-    void Fill(T value) {
-        fill(matrix, &matrix[totalSize], value);
-    }
-
-	void Resize(int _nRows, int _nCols) {
-        Grow(_nRows, _nCols);
-    }
-
-	void Resize(unsigned int totalSize);
-
-	FlatMatrix2D(int _nRows, int _nCols); 
-
-    void Clear() {
-        if (matrix) {delete[] matrix;}
-        matrix = NULL;
-        nRows = nCols = 0;
-        totalSize = 0;
-    }
-
-
-	void Grow(int _nRows, int _nCols); 
-
-	T Get(int r, int c); 
-
-	T Set(int r, int c, T v); 
-	
-	int Index(int r, int c); 
-	
-	void Print(std::ostream &out); 
-
-	void Allocate(UInt _nRows, UInt _nCols); 
-
-	void Initialize(T value); 
-};
-
-
-template<typename T>
-class FlatMatrix3D {
- public:
-	T* matrix;
-	// 
-	// For some reason it makes sense to go from rows,cols to x,y,z 
-	// for referencing coordinates.
-	//
-	int nx, ny, nz;
-	int xy;
-	int totalSize;
-
-	FlatMatrix3D(); 
-
-	FlatMatrix3D(int _nx, int _ny, int _nz); 
-
-	void Grow(int _nx, int _ny, int _nz); 
-
-	int Index(int x, int y, int z); 
-	
-	T Get(int x, int y, int z); 
-	
-	T Set(int x, int y, int z, T v);
-	
-    ~FlatMatrix3D();
-};
-		
-#include "FlatMatrixImpl.hpp"
-	
-#endif // _BLASR_FLAT_MATRIX_HPP_
diff --git a/libcpp/pbdata/matrix/FlatMatrixImpl.hpp b/libcpp/pbdata/matrix/FlatMatrixImpl.hpp
deleted file mode 100644
index 5536cb7..0000000
--- a/libcpp/pbdata/matrix/FlatMatrixImpl.hpp
+++ /dev/null
@@ -1,192 +0,0 @@
-#include <stdint.h>
-#include <vector>
-#include <iostream>
-#include <assert.h>
-#include "Types.h"
-#include "FlatMatrix.hpp"
-
-template<typename T>
-void CreateFlatMatrix(int rows, int cols, std::vector<T> &matrix) {
-	matrix.resize(rows*cols);
-}
-
-template<typename T>
-void PrintFlatMatrix(std::vector<T> &matrix, int rows, int cols, std::ostream &out, int width) {
-	PrintFlatMatrix((const T*) &matrix[0], rows, cols, out, width);
-}
-
-template<typename T>
-void PrintFlatMatrix(const T* matrix, int rows, int cols, std::ostream &out, int width) { 
-	int r, c, i;
-	i = 0;
-	for (r = 0; r < rows; r++ ) {
-		for (c = 0; c < cols; c++ ) {
-			out.width(width);
-			out << matrix[i] << " ";
-			i++;
-		}
-		out << std::endl;
-	}
-}
-
-template<typename T>
-int FlatMatrix2D<T>::RC2Index(int row, int col) {
-    return row * nCols + col;
-}
-
-template<typename T>
-T* FlatMatrix2D<T>::operator[](int row) {
-    return &matrix[row*nCols];
-}
-
-template<typename T>
-T FlatMatrix2D<T>::operator()(int row, int col) {
-    int index = RC2Index(row,col);
-    return matrix[index];
-}
-
-template<typename T>
-FlatMatrix2D<T>::FlatMatrix2D() {
-    matrix = NULL;
-    nRows = nCols = totalSize = 0;
-}
-
-template<typename T>
-unsigned int FlatMatrix2D<T>::Size() {
-    return nRows * nCols;
-}
-
-template<typename T>
-void FlatMatrix2D<T>::Resize(unsigned int _totalSize) {
-    if (matrix != NULL) {
-        delete[] matrix;
-    }
-    matrix = new T[_totalSize];
-    totalSize = _totalSize;
-}
-
-template<typename T>
-FlatMatrix2D<T>::FlatMatrix2D(int _nRows, int _nCols) {
-    totalSize = 0;
-    matrix = NULL;
-    //		assert(_nRows > 0);
-    //		assert(_nCols > 0);
-    if (_nRows == 0 or _nCols == 0) {
-        nRows = _nRows; nCols = _nCols;
-        return;
-    }
-    else {
-        Grow(_nRows, _nCols);
-    }
-}
-template<typename T>
-void FlatMatrix2D<T>::Grow(int _nRows, int _nCols) {
-    nRows = _nRows;
-    nCols = _nCols;
-    if (nRows * nCols > totalSize) {
-        if (totalSize != 0 && matrix)
-            delete[] matrix;
-        totalSize = nRows * nCols;
-        matrix = new T[totalSize];
-    }
-}
-
-template<typename T>
-T FlatMatrix2D<T>::Get(int r, int c) {
-    return matrix[r * nCols + c];
-}
-
-template<typename T>
-T FlatMatrix2D<T>::Set(int r, int c, T v) {
-    return matrix[r*nCols+c] = v;
-}
-
-template<typename T>
-int FlatMatrix2D<T>::Index(int r, int c) {
-    return r*nCols + c;
-}
-
-template<typename T>
-void FlatMatrix2D<T>::Print(std::ostream &out) {
-    PrintFlatMatrix(matrix, nRows, nCols, out);
-}
-
-template<typename T>
-void FlatMatrix2D<T>::Allocate(UInt _nRows, UInt _nCols) {
-    nRows = _nRows;
-    nCols = _nCols;
-    matrix = new T[nRows * nCols];
-}
-
-template<typename T>
-void FlatMatrix2D<T>::Initialize(T value) {
-    T* matPtr, *matEnd;
-    matEnd = &matrix[nRows*nCols];
-    for (matPtr = &matrix[0]; matPtr != matEnd; ++matPtr) {
-        *matPtr = value;
-    }
-}
-
-template<typename T>
-FlatMatrix2D<T>::~FlatMatrix2D(){
-    if (matrix != NULL) {
-        delete [] matrix;
-        matrix = NULL;
-    }
-}
-
-template<typename T>
-FlatMatrix3D<T>::FlatMatrix3D() {
-    nx = 0, ny = 0, nz = 0;
-    xy = 0;
-    totalSize = 0;
-    matrix = NULL;
-}
-
-template<typename T>
-FlatMatrix3D<T>::FlatMatrix3D(int _nx, int _ny, int _nz) {
-    totalSize = 0;
-    matrix =NULL;
-    assert(_nx > 0);
-    assert(_ny > 0);
-    assert(_nz > 0);
-    Grow(_nx, _ny, _nz);
-}
-
-template<typename T>
-void FlatMatrix3D<T>::Grow(int _nx, int _ny, int _nz) {
-    nx = _nx;
-    ny = _ny;
-    nz = _nz;
-    if (nx * ny * nz > totalSize) {
-        if (matrix != NULL) {
-            delete[] matrix;
-        }
-        totalSize = nx*ny*nz;
-        matrix = new T[totalSize];
-    }
-    xy = nx*ny;
-}
-
-template<typename T>
-int FlatMatrix3D<T>::Index(int x, int y, int z) {
-    return z * xy + y * nx + x;
-}
-
-template<typename T>
-T FlatMatrix3D<T>::Get(int x, int y, int z) {
-    return matrix[Index(x,y,z)];
-}
-
-template<typename T>
-T FlatMatrix3D<T>::Set(int x, int y, int z, T v){ 
-    return matrix[Index(x,y,z)] = v;
-}
-
-template<typename T>
-FlatMatrix3D<T>::~FlatMatrix3D() {
-    if (matrix != NULL) {
-        delete [] matrix;
-        matrix = NULL;
-    }
-}
diff --git a/libcpp/pbdata/matrix/Matrix.hpp b/libcpp/pbdata/matrix/Matrix.hpp
deleted file mode 100644
index 3ef6bca..0000000
--- a/libcpp/pbdata/matrix/Matrix.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef _BLASR_MATRIX_HPP_
-#define _BLASR_MATRIX_HPP_
-
-#include <vector>
-#include "Types.h"
-
-template<typename T>
-void CreateMatrix(int rows, int cols, std::vector<T*> matrix); 
-
-/*
- *	Implement a matrix as an array into a large allocated buffer of size
- *	nRows * nCols.
- */
-
-template<typename T>
-class Matrix {
-private:
-    VectorIndex nRows;
-    VectorIndex nCols;
-    T** matrix;
-    VectorIndex matrixBufferSize;
-    VectorIndex matrixSize;
-    VectorIndex rowsBufferSize;
-public:
-    Matrix(); 
-
-    unsigned int size(); 
-
-    unsigned int GetNCols(); 
-
-    unsigned int GetNRows(); 
-
-    void Resize(VectorIndex nRowsP, VectorIndex nColsP); 
-
-    Matrix(VectorIndex nRowsP, VectorIndex nColsP); 
-
-    void Reference(Matrix<T> &rhs); 
-
-    void Initialize(T value); 
-
-    T* operator[](VectorIndex rowIndex); 
-
-    void Free(); 
-
-    void Print(std::ofstream &out); 
-};
-
-#include "MatrixImpl.hpp"
-	
-#endif // _BLASR_MATRIX_HPP_
diff --git a/libcpp/pbdata/matrix/MatrixImpl.hpp b/libcpp/pbdata/matrix/MatrixImpl.hpp
deleted file mode 100644
index c66aaf4..0000000
--- a/libcpp/pbdata/matrix/MatrixImpl.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-#ifndef _BLASR_MATRIX_IMPL_HPP
-#define _BLASR_MATRIX_IMPL_HPP
-#include <cassert>
-#include <vector>
-#include <iostream>
-#include <fstream>
-#include <stdint.h>
-#include "Types.h"
-
-template<typename T>
-void CreateMatrix(int rows, int cols, std::vector<T*> matrix) {
-	matrix.resize(rows);
-    if (matrix[0]) {delete [] matrix[0]; matrix[0] = NULL;}
-	matrix[0] = new T[rows*cols];
-	VectorIndex r = 1;
-	for (r = 1; r < rows; r++) {
-		matrix[r] = &matrix[cols * r];
-	}
-}
-
-template<typename T>
-Matrix<T>::Matrix() {
-    nRows = 0;
-    rowsBufferSize = 0;
-    nCols = 0;
-    matrixBufferSize = 0;
-    matrix = NULL;
-}
-
-template<typename T>
-unsigned int Matrix<T>::size() {
-    return nRows * nCols;
-}
-
-template<typename T>
-unsigned int Matrix<T>::GetNCols() {
-    return nCols;
-}
-
-template<typename T>
-unsigned int Matrix<T>::GetNRows() {
-    return nRows;
-}
-
-template<typename T>
-void Matrix<T>::Resize(VectorIndex nRowsP, VectorIndex nColsP) {
-
-    nRows = nRowsP;
-    nCols = nColsP;
-    matrixSize = nRows * nCols;
-    if (nRows * nCols > matrixBufferSize) {
-        matrixBufferSize = nRows * nCols;
-        if (nRows > rowsBufferSize) {
-            if (matrix != NULL) { 
-                delete[] matrix; matrix = NULL; 
-            }
-        }
-        if (matrix == NULL) {
-            matrix = new T*[nRows];
-        }
-        else {
-            if (matrix[0] != NULL) {
-                delete[] matrix[0]; matrix[0] = NULL;
-            }
-        }
-        matrix[0] = new T[matrixBufferSize];
-        VectorIndex rowIndex;
-        for (rowIndex = 1; rowIndex < nRows; rowIndex++ ){
-            matrix[rowIndex] = &matrix[0][nCols * rowIndex];
-        }
-    }
-}
-
-template<typename T>
-Matrix<T>::Matrix(VectorIndex nRowsP, VectorIndex nColsP) {
-    Resize(nRowsP, nColsP);
-}
-
-template<typename T>
-void Matrix<T>::Reference(Matrix<T> &rhs) {
-    matrix = rhs.matrix;
-}
-
-template<typename T>
-void Matrix<T>::Initialize(T value) {
-    std::fill(&matrix[0][0], &matrix[0][matrixSize], value);
-}
-
-template<typename T>
-T* Matrix<T>::operator[](VectorIndex rowIndex) {
-    assert(rowIndex < nRows);
-    return matrix[rowIndex];
-}
-
-template<typename T>
-void Matrix<T>::Free() {
-    if (matrix != NULL) {
-        if (matrix[0] != NULL) {
-            delete[] matrix[0];
-        }
-        delete[] matrix;
-    }
-    matrix = NULL;
-}
-
-template<typename T>
-void Matrix<T>::Print(std::ofstream &out) {
-    VectorIndex i;
-    VectorIndex j;
-    for (i = 0; i < nRows; i++) {
-        for (j = 0; j < nCols; j++ ){ 
-            out << matrix[i][j] << " ";
-        }
-        out << std::endl;
-    }
-}
-#endif
diff --git a/libcpp/pbdata/metagenome/FindRandomSequence.hpp b/libcpp/pbdata/metagenome/FindRandomSequence.hpp
deleted file mode 100644
index cb5ab3c..0000000
--- a/libcpp/pbdata/metagenome/FindRandomSequence.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-#ifndef _FIND_RANDOM_SEQUENCE_HPP_
-#define _FIND_RANDOM_SEQUENCE_HPP_
-
-#include <vector>
-#include "DNASequence.hpp"
-#include "statistics/StatUtils.hpp"
-
-
-template<typename T_Sequence>
-void FindRandomPos(vector<T_Sequence> &sequences, DNALength &seqIndex, DNALength &seqPos, DNALength seqLength=0 ) {
-    vector<UInt> cumulativeLengths;
-    cumulativeLengths.resize(sequences.size());
-    int i;
-    if (sequences.size() == 0) {
-        return;
-    }
-    DNALength cumulativeLength;
-    cumulativeLengths[0] = sequences[0].length;
-    cumulativeLength = cumulativeLengths[0];
-    for (i = 1; i < sequences.size(); i++) {
-        cumulativeLengths[i] = cumulativeLength = cumulativeLengths[i-1] + sequences[i].length;
-    }
-    bool validPosFound = false;
-    int iter = 0;
-    int max_iter = 100000;
-    while (validPosFound == false and iter < max_iter) {
-        ++iter;
-        if (seqLength > cumulativeLength) {
-            validPosFound = false;
-            iter = max_iter;
-            break;
-        }
-        DNALength pos = RandomUnsignedInt(cumulativeLength - seqLength);
-        // Make sure this sequence fits 
-        for (seqIndex = 0; seqIndex < sequences.size(); seqIndex++) {
-            if (cumulativeLengths[seqIndex] > pos) break;
-        }
-        if (cumulativeLengths[seqIndex] - pos < seqLength) {
-            continue;
-        }
-        UInt pi;
-        if (seqIndex == 0) {
-            seqPos = pos;
-        }
-        else {
-            seqPos = pos - cumulativeLengths[seqIndex-1];
-        }
-        bool seqContainsN = false;
-        for (pi = seqPos; pi < seqPos + seqLength; pi++) {
-            if (toupper(sequences[seqIndex].seq[pi]) == 'N') {
-                seqContainsN = true;
-                break;
-            }
-        }
-        if (seqContainsN) {
-            continue;
-        }
-        else {
-            validPosFound = true;
-        }
-    }
-    if (iter == max_iter) {
-        cout << "ERROR! Unable to generate a random seq/pos pair!, maybe length " << seqLength << endl
-            << " is too high, or there are too many N's in the references." << endl;
-        exit(1);
-    }
-}
-
-
-#endif
diff --git a/libcpp/pbdata/metagenome/SequenceIndexDatabase.hpp b/libcpp/pbdata/metagenome/SequenceIndexDatabase.hpp
deleted file mode 100644
index 7a43cba..0000000
--- a/libcpp/pbdata/metagenome/SequenceIndexDatabase.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef _BLASR_SEQUENCE_INDEX_DATABASE_HPP_
-#define _BLASR_SEQUENCE_INDEX_DATABASE_HPP_
-
-#include <fstream>
-#include <iostream>
-#include <vector>
-#include <assert.h>
-#include <stdlib.h>
-#include <sstream>
-#include <cstring>
-#include <algorithm>
-#include "Types.h"
-#include "DNASequence.hpp"
-#include "StringUtils.hpp"
-
-
-#define SEQUENCE_INDEX_DATABASE_MAGIC 1233211233
-
-template<typename TSeq>
-class SequenceIndexDatabase {
-public:
-    std::vector<DNALength> growableSeqStartPos;
-    std::vector<std::string> growableName;
-
-	DNALength *seqStartPos;
-	bool deleteSeqStartPos;
-	char **names;
-	bool deleteNames;
-	int  *nameLengths;
-	bool deleteNameLengths;
-	int  nSeqPos;
-	bool deleteStructures;
-    //
-    // This is stored after reading in the sequence.
-    //
-    std::vector<std::string> md5;
-
-    SequenceIndexDatabase(int final=0);
-    ~SequenceIndexDatabase();
-
-    DNALength GetLengthOfSeq(int seqIndex);
-
-    // Return index of a reference sequence with name "seqName".
-    int GetIndexOfSeqName(std::string seqName);
-
-    void GetName(int seqIndex, std::string &name);
-
-    void MakeSAMSQString(std::string &sqString);
-
-    DNALength ChromosomePositionToGenome(int chrom, DNALength chromPos);
-
-    int SearchForIndex(DNALength pos);
-
-    std::string GetSpaceDelimitedName(unsigned int index);
-
-    int SearchForStartBoundary(DNALength pos);
-
-    int SearchForEndBoundary(DNALength pos);
-
-    DNALength SearchForStartAndEnd(DNALength pos, DNALength &start,
-        DNALength &end);
-
-    void WriteDatabase(ofstream &out);
-
-   	void ReadDatabase(ifstream &in);
-
-	void SequenceTitleLinesToNames();
-
-   	VectorIndex AddSequence(TSeq &sequence);
-
-   	void Finalize();
-
-	void FreeDatabase();
-};
-
-
-template< typename TSeq >
-class SeqBoundaryFtr {
-public:
-    SequenceIndexDatabase<TSeq> *seqDB;
-
-    SeqBoundaryFtr(SequenceIndexDatabase<TSeq> *_seqDB);
-
-    int GetIndex(DNALength pos);
-
-    int GetStartPos(int index);
-
-    DNALength operator()(DNALength pos);
-
-    // This is misuse of a functor, but easier interface coding for now.
-    DNALength Length(DNALength pos);
-};
-
-#include "metagenome/SequenceIndexDatabaseImpl.hpp"
-
-#endif
diff --git a/libcpp/pbdata/metagenome/SequenceIndexDatabaseImpl.hpp b/libcpp/pbdata/metagenome/SequenceIndexDatabaseImpl.hpp
deleted file mode 100644
index e26f61e..0000000
--- a/libcpp/pbdata/metagenome/SequenceIndexDatabaseImpl.hpp
+++ /dev/null
@@ -1,347 +0,0 @@
-#ifndef _BLASR_SEQUENCE_INDEX_DATABASE_IMPL_HPP_
-#define _BLASR_SEQUENCE_INDEX_DATABASE_IMPL_HPP_
-
-template<typename TSeq>
-SequenceIndexDatabase<TSeq>::
-SequenceIndexDatabase(int final) {
-    nSeqPos = 0;
-    if (!final) {
-        growableSeqStartPos.push_back(0);
-    }
-    names = NULL; deleteNames = false;
-    nameLengths = NULL; deleteNameLengths = false;
-    seqStartPos = NULL; deleteSeqStartPos = false;
-    deleteStructures = false;
-}
-
-template<typename TSeq>
-SequenceIndexDatabase<TSeq>::
-~SequenceIndexDatabase() {
-    FreeDatabase();
-}
-
-template<typename TSeq>
-DNALength SequenceIndexDatabase<TSeq>::
-GetLengthOfSeq(int seqIndex) {
-    assert(seqIndex < nSeqPos-1);
-    return seqStartPos[seqIndex+1] - seqStartPos[seqIndex] - 1;
-}
-
-// Return index of a reference sequence with name "seqName".
-template<typename TSeq>
-int SequenceIndexDatabase<TSeq>::
-GetIndexOfSeqName(std::string seqName) {
-    for(int i = 0; i < nSeqPos - 1; i++) {
-        if (seqName == std::string(names[i])) {
-            return i;
-        }
-    }
-    return -1;
-}
-
-template<typename TSeq>
-void SequenceIndexDatabase<TSeq>::
-GetName(int seqIndex, std::string &name) {
-    assert(seqIndex < nSeqPos-1);
-    name = names[seqIndex];
-}
-
-template<typename TSeq>
-void SequenceIndexDatabase<TSeq>::
-MakeSAMSQString(std::string &sqString) {
-    std::stringstream st;
-    int i;
-    for (i = 0; i < nSeqPos-1; i++) {
-        st << "@SQ\tSN:" << names[i] << "\tLN:" << GetLengthOfSeq(i);
-        if (md5.size() == nSeqPos-1) {
-            st << "\tM5:" << md5[i];
-        }
-        st << endl;
-    }
-    sqString = st.str();
-}
-
-template<typename TSeq>
-DNALength SequenceIndexDatabase<TSeq>::
-ChromosomePositionToGenome(int chrom, DNALength chromPos) {
-    assert(chrom < nSeqPos);
-    return seqStartPos[chrom] + chromPos;
-
-}
-
-template<typename TSeq>
-int SequenceIndexDatabase<TSeq>::
-SearchForIndex(DNALength pos) {
-    // The default behavior for the case
-    // that there is just one genome.
-    if (nSeqPos == 1) {
-        return 0;
-    }
-
-    DNALength* seqPosIt = upper_bound(seqStartPos+1, 
-        seqStartPos + nSeqPos, pos);
-
-    return seqPosIt - seqStartPos - 1;
-}
-
-template<typename TSeq>
-std::string SequenceIndexDatabase<TSeq>::
-GetSpaceDelimitedName(unsigned int index) {
-    int pos;
-    assert(index < nSeqPos);
-    std::string name;
-    for (pos = 0; pos < nameLengths[index]; pos++) {
-        if (names[index][pos] == ' ' or 
-            names[index][pos] == '\t' or 
-            names[index][pos] == '\0') {
-            break;
-        }
-    }
-    name.assign(names[index], pos);
-    return name;
-}
-
-template<typename TSeq>
-int SequenceIndexDatabase<TSeq>::
-SearchForStartBoundary(DNALength pos) {
-
-    int index = SearchForIndex(pos);
-    if (index != -1) {
-        return seqStartPos[index];
-    }
-    else {
-        return -1;
-    }
-}
-
-
-template<typename TSeq>
-int SequenceIndexDatabase<TSeq>::
-SearchForEndBoundary(DNALength pos) {
-
-    int index = SearchForIndex(pos);
-    if (index != -1) {
-        return seqStartPos[index + 1];
-    }
-    else {
-        return -1;
-    }
-}
-
-
-template<typename TSeq>
-DNALength SequenceIndexDatabase<TSeq>::
-SearchForStartAndEnd(DNALength pos, DNALength &start, DNALength &end) {
-    int index = SearchForIndex(pos);
-    if (index != -1) {
-        start = seqStartPos[index];
-        end   = seqStartPos[index+1];
-        return 1;
-    }
-    else {
-        start = end = -1;
-        return 0;
-    }
-}
-
-
-template<typename TSeq>
-void SequenceIndexDatabase<TSeq>::
-WriteDatabase(std::ofstream &out) {
-    int mn = SEQUENCE_INDEX_DATABASE_MAGIC;
-    out.write((char*) &mn, sizeof(int));
-    out.write((char*) &nSeqPos, sizeof(int));
-    out.write((char*) seqStartPos, sizeof(DNALength) * nSeqPos);
-    int nSeq = nSeqPos - 1;
-    out.write((char*) nameLengths, sizeof(int) * nSeq);
-    int i;
-    //
-    // The number of sequences is 1 less than the number of positions
-    // since the positions include 0 as a boundary.
-    //
-    char nullchar = '\0';
-    for (i = 0; i < nSeq; i++) { 
-        //
-        // nameLengths has space for the null char, so the length of the
-        // name = nameLengths[i]-1. Write a nullchar to disk so that it
-        // may be read in later with no work.
-        // 
-        out.write((char*) names[i], sizeof(char) * (nameLengths[i]-1));
-        out.write((char*) &nullchar, sizeof(char));
-    }
-}
-
-
-template<typename TSeq>
-void SequenceIndexDatabase<TSeq>::
-ReadDatabase(std::ifstream &in) {
-    int mn;
-    // Make sure this is a read database, since the binary input
-    // is not syntax checked.
-    in.read((char*) &mn, sizeof(int));
-    if (mn != SEQUENCE_INDEX_DATABASE_MAGIC) {
-        std::cout << "ERROR: Sequence index database is corrupt!" << std::endl;
-        exit(1);
-    }
-
-    //
-    // Read in the boundaries of each sequence.
-    //
-    deleteStructures = true;
-
-    in.read((char*) &nSeqPos, sizeof(int));
-    assert(seqStartPos == NULL);
-    seqStartPos = new DNALength[nSeqPos];
-    deleteSeqStartPos = true;
-    in.read((char*) seqStartPos, sizeof(DNALength) * nSeqPos);
-    int nSeq = nSeqPos - 1;
-
-    // Get the lengths of the strings to read.
-    assert(nameLengths == NULL);
-    nameLengths = new int[nSeq];
-    deleteNameLengths = true;
-    in.read((char*)nameLengths, sizeof(int) * nSeq);
-
-    // Get the titles of the sequences.
-    assert(names == NULL); // Otherwise need to delete names; 
-    names = new char*[nSeq];
-    deleteNames = true;
-    char *namePtr;
-    int i;
-    for (i = 0; i < nSeq; i++) { 
-        namePtr = new char[nameLengths[i]];
-        if (nameLengths[i] > 0) {
-            in.read(namePtr, nameLengths[i]);
-        }
-        namePtr[nameLengths[i]-1] = '\0';
-        names[i] = namePtr;
-    }
-}
-
-template<typename TSeq>
-void SequenceIndexDatabase<TSeq>::
-SequenceTitleLinesToNames() {
-    int seqIndex;
-    std::vector<std::string> tmpNameArray;
-    for (seqIndex = 0; seqIndex < nSeqPos-1; seqIndex++) {
-        std::string tmpName;
-        AssignUntilFirstSpace(names[seqIndex], nameLengths[seqIndex], tmpName);
-        if (names[seqIndex]) {delete[] names[seqIndex];}
-        names[seqIndex] = new char[tmpName.size()+1];
-        strcpy(names[seqIndex], tmpName.c_str());
-        names[seqIndex][tmpName.size()] = '\0';
-        nameLengths[seqIndex] = tmpName.size();
-        tmpNameArray.push_back(tmpName);
-    }
-    // Make sure that reference names are unique.
-    sort(tmpNameArray.begin(), tmpNameArray.end());
-    for(int j = 0; j < tmpNameArray.size() - 1; j++) {
-        if (tmpNameArray[j] == tmpNameArray[j+1]) {
-            std::cout << "Error, reference with name \"" 
-                      << tmpNameArray[j] 
-                      << "\" in the reference genome is not unique"
-                      << std::endl;
-            exit(1);
-        }
-    }
-}
-
-template<typename TSeq>
-VectorIndex SequenceIndexDatabase<TSeq>::
-AddSequence(TSeq &sequence) {
-    int endPos = growableSeqStartPos[growableSeqStartPos.size() - 1];
-    int growableSize = growableSeqStartPos.size();
-    growableSeqStartPos.push_back(endPos + sequence.length + 1);
-    std::string fastaTitle;
-    sequence.GetFASTATitle(fastaTitle);
-    growableName.push_back(fastaTitle);
-    return growableName.size();
-}
-
-template<typename TSeq>
-void SequenceIndexDatabase<TSeq>::
-Finalize() {
-    deleteStructures  = true;
-    seqStartPos = &growableSeqStartPos[0];
-    nSeqPos = growableSeqStartPos.size();
-    int nSeq = nSeqPos - 1;
-
-    assert(names==NULL);
-    names = new char*[nSeq];
-    deleteNames = true;
-    unsigned int i;
-    if (nameLengths) {delete [] nameLengths; nameLengths = NULL;}
-    nameLengths = new int[nSeq];
-    deleteNameLengths = true;
-    for (i = 0; i < nSeq; i++) {
-        names[i] = new char[growableName[i].size() + 1];
-
-        memcpy((char*) names[i], (char*) growableName[i].c_str(), 
-            growableName[i].size());
-
-        names[i][growableName[i].size()] = '\0';
-        nameLengths[i] = growableName[i].size() + 1;
-    }
-}
-
-
-template<typename TSeq>
-void SequenceIndexDatabase<TSeq>::
-FreeDatabase() {
-    int i;
-    if (deleteStructures == false) {
-        return;
-    }
-    if (names != NULL and deleteNames) {
-        int nSeq = nSeqPos - 1;
-        for (i = 0; i < nSeq; i++ ){
-            delete[] names[i];
-        }
-        delete[] names;
-        names = NULL;
-    }
-    if (nameLengths != NULL and deleteNameLengths) {
-        delete[] nameLengths;
-        nameLengths = NULL;
-    }
-    if (seqStartPos != NULL and deleteSeqStartPos) {
-        delete[] seqStartPos;
-        seqStartPos = NULL;
-    }
-}
-
-
-template< typename TSeq >
-SeqBoundaryFtr<TSeq>::
-SeqBoundaryFtr(SequenceIndexDatabase<TSeq> *_seqDB) {
-    seqDB = _seqDB;
-}
-
-template< typename TSeq >
-int SeqBoundaryFtr<TSeq>::
-GetIndex(DNALength pos) {
-    return seqDB->SearchForIndex(pos);
-}
-
-template< typename TSeq >
-int SeqBoundaryFtr<TSeq>::
-GetStartPos(int index) {
-    assert(index < seqDB->nSeqPos);
-    return seqDB->seqStartPos[index];
-}
-
-template< typename TSeq >
-DNALength SeqBoundaryFtr<TSeq>::
- operator()(DNALength pos) {
-    return seqDB->SearchForStartBoundary(pos);
-}
-
-template< typename TSeq >
-DNALength SeqBoundaryFtr<TSeq>::
-Length(DNALength pos) {
-    DNALength start, end;
-    seqDB->SearchForStartAndEnd(pos, start, end);
-    return end - start;
-}
-
-#endif
diff --git a/libcpp/pbdata/metagenome/TitleTable.cpp b/libcpp/pbdata/metagenome/TitleTable.cpp
deleted file mode 100644
index 078da23..0000000
--- a/libcpp/pbdata/metagenome/TitleTable.cpp
+++ /dev/null
@@ -1,109 +0,0 @@
-#include "TitleTable.hpp"
-
-TitleTable::TitleTable() {
-    table = NULL;
-    tableLength = 0;
-}
-
-TitleTable::~TitleTable() {
-    Free();
-}
-
-void TitleTable::Copy(char **src, int nSrc) {
-    Free(); //Free before copy
-    table = new char*[nSrc];
-    tableLength = nSrc;
-    int i;
-    for (i = 0; i < nSrc; i++ ){
-        int lenStrI = strlen(src[i]);
-        table[i] = new char[lenStrI+1];
-        memcpy(table[i], src[i], lenStrI);
-        table[i][lenStrI] = '\0';
-    }
-}
-
-void TitleTable::Write(std::string &name) {
-    std::ofstream out;
-    CrucialOpen(name, out, std::ios::out);
-    Write(out);
-}
-
-void TitleTable::Write(std::ofstream &out) {
-    int i;
-    for (i = 0; i < tableLength;i++) {
-        out << table[i] << std::endl;
-    }
-}
-
-void TitleTable::Read(std::string &inFileName) {
-    std::ifstream in;
-    CrucialOpen(inFileName, in, std::ios::in);
-    Read(in);
-}
-
-void TitleTable::CopyFromVector(std::vector<std::string> &titles) {
-    Free(); //Free before copy.
-    tableLength = titles.size();
-    table = new char*[tableLength];
-    int i;
-    for (i = 0; i < tableLength; i++) {
-        table[i] = new char[titles[i].size() + 1];
-        memcpy(table[i], titles[i].c_str(), titles[i].size());
-        table[i][titles[i].size()] = '\0';
-    }
-}
-
-void TitleTable::Read(std::ifstream &in) {
-    std::vector<std::string> titles;
-    while(in) {
-        char title[1024];
-        in.getline(title, 1024);
-        if (not std::string(title).empty()) 
-            titles.push_back(title);
-    }
-    if (titles.size() > 0) {
-        CopyFromVector(titles);
-    }
-    else {
-        tableLength = 0;
-        table = NULL;
-    }
-}
-
-void TitleTable::Free() {
-    int i;
-    for (i = 0; i < tableLength; i++) {
-        if (table[i]) {delete[] table[i]; table[i] = NULL;}
-    }
-    if (table) {delete[] table;};
-    table = NULL;
-    tableLength = 0;
-}
-
-bool TitleTable::Lookup(std::string title, int &index) {
-    int i;
-    for (i = 0; i < tableLength; i++) {
-        if (table[i] == title) { 
-            index = i; 
-            return true;
-        }
-    }
-    return false;
-}
-    
-void TitleTable::ResetTableToIntegers(char **table, 
-    int *tableLengths, int nTable) {
-
-    int i;
-    for (i = 0; i < nTable; i++ ) {
-        delete[] table[i];
-        std::stringstream namestrm;
-        namestrm << i;
-        std::string name;
-        name = namestrm.str();
-        table[i] = new char[name.size()+1];
-        memcpy( table[i], name.c_str(), name.size());
-        table[i][name.size()] = '\0';
-        tableLengths[i] = (int) name.size() + 1;
-    }
-}
diff --git a/libcpp/pbdata/metagenome/TitleTable.hpp b/libcpp/pbdata/metagenome/TitleTable.hpp
deleted file mode 100644
index 14b23a7..0000000
--- a/libcpp/pbdata/metagenome/TitleTable.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef _BLASR_TITLE_TABLE_HPP_
-#define _BLASR_TITLE_TABLE_HPP_
-
-#include <sstream>
-#include <iostream>
-#include <fstream>
-#include <string>
-#include <string.h>
-#include <vector>
-#include "utils.hpp"
-
-class TitleTable {
-public: 
-    char **table;
-    int tableLength;
-    TitleTable();
-    ~TitleTable();
-
-    void Copy(char **src, int nSrc);
-
-    void Write(std::string &name);
-
-    void Write(std::ofstream &out);
-
-    void Read(std::string &inFileName);
-
-    void CopyFromVector(std::vector<std::string> &titles);
-
-    void Read(std::ifstream &in);
-
-    void Free();
-
-    bool Lookup(std::string title, int &index) ;
-
-    static void ResetTableToIntegers(char **table, 
-        int *tableLengths, int nTable);
-};
-
-#endif
diff --git a/libcpp/pbdata/mklibconfig.sh b/libcpp/pbdata/mklibconfig.sh
deleted file mode 100755
index e438893..0000000
--- a/libcpp/pbdata/mklibconfig.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-fn=$1
-use_pbbam=$2
-# If $fn exists, then guarantee its contents are correct.
-# If not, write the proper contents.
-# This way, 'make' will not have to re-create a perfectly fine file,
-# which would cause all other targets to be remade.
-
-use0=$(cat <<'EOF'
-EOF
-)
-
-use1=$(cat <<'EOF'
-#define USE_PBBAM
-EOF
-)
-
-if [ "${use_pbbam}" == "YES" ]; then
-    wanted=$use1
-else
-    wanted=$use0
-fi
-
-if [ -r $fn ]; then
-    actual=$(<"${fn}")
-else
-    actual="EMPTY"
-fi
-
-if [ "$wanted" != "$actual" ]; then
-    echo "$wanted" > $fn
-fi
diff --git a/libcpp/pbdata/old.Makefile b/libcpp/pbdata/old.Makefile
deleted file mode 100644
index a01c77e..0000000
--- a/libcpp/pbdata/old.Makefile
+++ /dev/null
@@ -1,87 +0,0 @@
-# Let common.mk know that that the third party checks should be ignored
-COMMON_NO_THIRD_PARTY_REQD := true
-
-include ../common.mk
-
-CXXOPTS := -std=c++11 -pedantic -MMD -MP
-INCLUDES := -I. -Imatrix -Ireads -Iqvs -Imetagenome -Isaf -Iutils -Ialignment
-
-# To enable building a shared library, invoke as "make SHARED_LIB=true ..."
-ifneq ($(SHARED_LIB),)
-    # Generating shared library
-    CXX_SHAREDFLAGS := -fPIC
-    LD_SHAREDFLAGS  := -shared -fPIC
-    TARGET_LIB      := libpbdata.so
-    # Developers should set these to appropriate defaults (other systems 
-    # will override these on the command line):
-    PBBAM_LIB      := ../../../staging/PostPrimary/pbbam/_output/install-build/lib/libpbbam.so
-    HTSLIB_LIB       := ../../../staging/PostPrimary/htslib/_output/install-build/lib/libhts.so
-else
-    # Generating static library
-    CXX_SHAREDFLAGS :=
-    TARGET_LIB      := libpbdata.a
-    LD_SHAREDFLAGS  :=
-    HTSLIB_LIB      :=
-    PBBAM_LIB       := 
-endif
-
-DEP_LIBS := $(HTSLIB_LIB) $(PBBAM_LIB)
-
-PBBAM_INCLUDE := $(PBBAM)/include
-HTSLIB_INCLUDE ?= $(HTSLIB)
-
-sources := $(wildcard *.cpp) \
-	       $(wildcard matrix/*.cpp) \
-	       $(wildcard reads/*.cpp) \
-	       $(wildcard metagenome/*.cpp) \
-	       $(wildcard qvs/*.cpp) \
-	       $(wildcard saf/*.cpp) \
-	       $(wildcard utils/*.cpp) \
-	       $(wildcard loadpulses/*.cpp) \
-	       $(wildcard alignment/*.cpp) \
-	       $(wildcard amos/*.cpp) \
-	       $(wildcard sam/*.cpp) 
-
-objects := $(sources:.cpp=.o)
-shared_objects := $(sources:.cpp=.shared.o)
-dependencies := $(objects:.o=.d) $(shared_objects:.o=.d)
-
-all : CXXFLAGS ?= -O3
-
-debug : CXXFLAGS ?= -g -ggdb -fno-inline
-
-profile : CXXFLAGS ?= -Os -pg
-
-g: CXXFLAGS = -g -ggdb -fno-inline -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -fno-omit-frame-pointer 
-
-all debug profile g: mklibconfig $(TARGET_LIB)
-
-ifeq ($(origin nopbbam), undefined)
-    INCLUDES += -I$(PBBAM_INCLUDE) -I$(HTSLIB_INCLUDE) -I$(BOOST_INCLUDE)
-    USE_PBBAM:=YES
-else
-    USE_PBBAM:=NO
-endif
-
-mklibconfig:
-	./mklibconfig.sh libconfig.h ${USE_PBBAM}
-
-libpbdata.a: $(objects)
-	$(AR_pp) $(ARFLAGS) $@ $^
-
-libpbdata.so: $(shared_objects) $(DEP_LIBS)
-	$(CXX_pp) $(LD_SHAREDFLAGS) -o $@ $^
-
-%.o: %.cpp
-	$(CXX_pp) $(CXXOPTS) $(CXXFLAGS) $(INCLUDES) -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.o) $(@:%.o=%.d)" -c $< -o $@
-
-%.shared.o: %.cpp
-	$(CXX_pp) $(CXX_SHAREDFLAGS) $(CXXOPTS) $(CXXFLAGS) $(INCLUDES) -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.o) $(@:%.o=%.d)" -c $< -o $@
-
-# .INTERMEDIATE: $(objects)
-
-clean: 
-	@rm -f libpbdata.a  libpbdata.so
-	@rm -f $(objects) $(shared_objects) $(dependencies)
-
--include $(dependencies)
diff --git a/libcpp/pbdata/qvs/QualityTransform.cpp b/libcpp/pbdata/qvs/QualityTransform.cpp
deleted file mode 100644
index 45ec117..0000000
--- a/libcpp/pbdata/qvs/QualityTransform.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <cassert>
-#include "QualityTransform.hpp"
-/*
-* Base lookup table class for quality values.
-*/
-
-float QualityToProb::operator()(int index) {
-    assert(index >= 0);
-    assert(index <= MAX_QUALITY_VALUE);
-    return prob[index];
-}
-
-/* 
-* Create a lookup table for transforming from quality value
-* to p-value using Patrick Marks' low-end expand qv = -100*log10(p/(1-p))
-*/
-void LowEndExpandQualityTransform::operator()(QualityToProb &qt) {
-    int i;
-    for (i = MIN_QUALITY_VALUE; i <= MAX_QUALITY_VALUE; i++) {
-        float v = pow(10,i/-100.0);
-        qt.prob[i] = 1 - v/(1+v);
-    }
-}
diff --git a/libcpp/pbdata/qvs/QualityTransform.hpp b/libcpp/pbdata/qvs/QualityTransform.hpp
deleted file mode 100644
index 73c8f27..0000000
--- a/libcpp/pbdata/qvs/QualityTransform.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef _BLASR_QVS_QUALITY_TRANSFORM_HPP_
-#define _BLASR_QVS_QUALITY_TRANSFORM_HPP_
-
-#include <math.h>
-#include "QualityValue.hpp"
-
-/*
- * Base lookup table class for quality values.
- */
-class QualityToProb {
-public:
-    float prob[MAX_QUALITY_VALUE - MIN_QUALITY_VALUE + 1];
-    float operator()(int index);
-};
-
-/* 
- * Create a lookup table for transforming from quality value
- * to p-value using Patrick Marks' low-end expand qv = -100*log10(p/(1-p))
- */
-class LowEndExpandQualityTransform {
-public:
-    void operator()(QualityToProb &qt); 
-};
-
-
-#endif // _BLASR_QVS_QUALITY_TRANSFORM_HPP_
diff --git a/libcpp/pbdata/qvs/QualityValue.cpp b/libcpp/pbdata/qvs/QualityValue.cpp
deleted file mode 100644
index e9f1775..0000000
--- a/libcpp/pbdata/qvs/QualityValue.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-#include <math.h>
-#include "defs.h"
-#include <assert.h>
-#include "QualityValue.hpp"
-
-QualityValue 
-ProbabilityToQualityValue(QualityProbability pErr, QVScale qvScale) {
-    if (qvScale == POverOneMinusP) {
-        QualityProbability pe;
-        QualityProbability maxReportedErrorProb = 0.499;
-        pe = MIN(pErr, maxReportedErrorProb);
-        return MIN(255, -100*log10(pe/(1-pe)));
-    }
-    else if (qvScale == PHRED) {
-        return -10*log10(pErr);
-    } else {
-        assert(false);
-    }
-}
-
-QualityValue 
-PacBioQVToPhred(QualityValue pbQV) {
-    // yanked from Aaron's code.
-    return (unsigned char) floor( 10.0 * log10( 1.0 + pow(10.0, pbQV / 100.0) ) + 0.5 );
-}
-
-QualityValue 
-ToPhred(QualityValue qv, QVScale qvScale) {
-    // 
-    // Nothing to do when the quality is already in phred.
-    //
-    if (qvScale == PHRED) {
-        return qv;
-    }
-    else {
-        return PacBioQVToPhred(qv);
-    }
-}
-
-
-QualityProbability 
-QualityValueToProbability(QualityValue qv, QVScale qvScale) {
-    if (qvScale == POverOneMinusP) {
-        QualityProbability pp;
-        pp = pow(10, qv/-100.0);
-        return pp/(1+pp);
-    }
-    else if (qvScale == PHRED) {
-        return pow(10, qv/-10.0);
-    } else {
-        assert(false);
-    }
-}
-
-QVScale DetermineQVScaleFromChangeListID(ChangeListID &cl) {
-    ChangeListID phredCL;
-    phredCL.intVer.resize(3);
-    phredCL.intVer[0] = 1; phredCL.intVer[1] = 2; phredCL.intVer[2] = 2;
-    if (cl.LessThan(phredCL)) {
-        return POverOneMinusP;
-    }
-    else {
-        return PHRED;
-    }
-}
diff --git a/libcpp/pbdata/qvs/QualityValue.hpp b/libcpp/pbdata/qvs/QualityValue.hpp
deleted file mode 100644
index 9def8e5..0000000
--- a/libcpp/pbdata/qvs/QualityValue.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef _BLASR_QUALITY_VALUE_HPP_
-#define _BLASR_QUALITY_VALUE_HPP_
-
-#include <stdint.h>
-#include "ChangeListID.hpp"
-
-typedef unsigned char QualityValue;
-typedef float QualityProbability;
-
-#define MIN_QUALITY_VALUE 0
-#define MAX_QUALITY_VALUE 255
-
-#ifndef _QVScale_
-#define _QVScale_
-enum QVScale {POverOneMinusP, // popularized by Illumina
-              PHRED};
-#endif
-
-QualityValue ProbabilityToQualityValue(
-    QualityProbability pErr, QVScale qvScale=POverOneMinusP); 
-
-QualityValue PacBioQVToPhred(QualityValue pbQV); 
-
-QualityValue ToPhred(QualityValue qv, QVScale qvScale=POverOneMinusP); 
-
-QualityProbability QualityValueToProbability(QualityValue qv, 
-    QVScale qvScale=POverOneMinusP); 
-	
-QVScale DetermineQVScaleFromChangeListID(ChangeListID &cl); 
-
-#endif // _BLASR_QUALITY_VALUE_HPP_
diff --git a/libcpp/pbdata/qvs/QualityValueVector.hpp b/libcpp/pbdata/qvs/QualityValueVector.hpp
deleted file mode 100644
index 8e3ae5d..0000000
--- a/libcpp/pbdata/qvs/QualityValueVector.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef _BLASR_QUALITY_VALUE_VECTOR_HPP_
-#define _BLASR_QUALITY_VALUE_VECTOR_HPP_
-#include <stdint.h>
-#include <cstddef>
-#include <ostream>
-#include <cstring>
-#include "Types.h"
-#include "utils.hpp"
-#include "QualityValue.hpp"
-
-template<typename T_QV>
-class QualityValueVector {
-public:
-    T_QV   *data;
-    QVScale qvScale;
-
-    T_QV &operator[](unsigned int pos) const; 
-
-    QualityValueVector(); 
-
-    QualityProbability ToProbability(unsigned int pos); 
-
-    T_QV ToPhred(unsigned int pos); 
-
-    void Copy(const QualityValueVector<T_QV> &rhs, const DNALength length); 
-
-    void Copy(const std::string & rhs);
-
-    void Free(); 
-
-    void Allocate(unsigned int length); 
-
-    bool Empty() const; 
-
-    void ShallowCopy(const QualityValueVector<T_QV> &ref, int pos, const DNALength & length); 
-
-    std::string ToString(void);
-
-    // Returns data length 
-    DNALength Length(void);
-
-private:
-    DNALength _length;
-};
-
-#include "QualityValueVectorImpl.hpp"
-#endif // _BLASR_QUALITY_VALUE_VECTOR_HPP_
diff --git a/libcpp/pbdata/qvs/QualityValueVectorImpl.hpp b/libcpp/pbdata/qvs/QualityValueVectorImpl.hpp
deleted file mode 100644
index 7d33266..0000000
--- a/libcpp/pbdata/qvs/QualityValueVectorImpl.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-#ifndef _BLASR_QUALITY_VALUE_VECTOR_IMPL_HPP_
-#define _BLASR_QUALITY_VALUE_VECTOR_IMPL_HPP_
-#include "NucConversion.hpp"
-
-template<typename T_QV>
-T_QV& QualityValueVector<T_QV>::operator[](unsigned int pos) const {
-    return data[pos];
-}
-
-template<typename T_QV>
-QualityValueVector<T_QV>::QualityValueVector() {
-    data = NULL;
-    // Default to phred.
-    qvScale = PHRED;
-    _length = 0;
-}
-
-template<typename T_QV>
-QualityProbability QualityValueVector<T_QV>::ToProbability(unsigned int pos) {
-    return QualityValueToProbability(data[pos], qvScale);
-}
-
-template<typename T_QV>
-T_QV QualityValueVector<T_QV>::ToPhred(unsigned int pos) {
-    if (qvScale == PHRED) {
-        return data[pos];
-    }
-    else {
-        return PacBioQVToPhred(data[pos]);
-    }
-}
-
-template<typename T_QV>
-void QualityValueVector<T_QV>::Copy(const QualityValueVector<T_QV> &rhs, const DNALength length) {
-    Free();
-    if (rhs.Empty()) { 
-        return;
-    }
-    Allocate(length);
-    std::memcpy(data, rhs.data, length * sizeof(T_QV));
-}
-
-template<typename T_QV>
-void QualityValueVector<T_QV>::Copy(const std::string & rhs) {
-// Char to QualityValue
-    Free();
-    if (rhs.size() == 0) return;
-    Allocate(static_cast<DNALength>(rhs.size()));
-    for (size_t i = 0; i < rhs.size(); i++) {
-        data[i] = static_cast<T_QV>(rhs[i] - FASTQ_CHAR_TO_QUALITY);
-    }
-}
-
-template<typename T_QV>
-void QualityValueVector<T_QV>::Free() {
-    if (data != NULL) {
-        delete[] data;
-        data = NULL;
-    }
-    _length = 0;
-}
-
-template<typename T_QV>
-void QualityValueVector<T_QV>::Allocate(unsigned int length) {
-    data = ProtectedNew<T_QV>(length);
-    _length = static_cast<DNALength>(length);
-}
-
-template<typename T_QV>
-bool QualityValueVector<T_QV>::Empty() const {
-    return data == NULL;
-}
-
-template<typename T_QV>
-void QualityValueVector<T_QV>::ShallowCopy(const QualityValueVector<T_QV> &ref, int pos, const DNALength & length) {
-    data = &ref.data[pos];
-    qvScale = ref.qvScale;
-    _length = static_cast<DNALength>(length);
-}
-
-template<typename T_QV>
-std::string QualityValueVector<T_QV>::ToString(void) {
-    if (data == NULL) { return "";}
-
-    std::string str(static_cast<size_t>(_length), '0');
-    for (DNALength i = 0; i < _length; i++) {
-        str[i] = static_cast<char>(data[i] + FASTQ_CHAR_TO_QUALITY);
-    }
-    return str;
-}
-
-template<typename T_QV>
-DNALength QualityValueVector<T_QV>::Length(void) {
-    return _length;
-}
-
-template class QualityValueVector<QualityValue>;
-
-#endif
diff --git a/libcpp/pbdata/reads/BaseFile.cpp b/libcpp/pbdata/reads/BaseFile.cpp
deleted file mode 100644
index bf4c56a..0000000
--- a/libcpp/pbdata/reads/BaseFile.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-#include <algorithm>
-#include "BaseFile.hpp"
-
-bool CompareHoleXY::operator()(const HoleXY &lhs, const HoleXY &rhs) const {
-    if (lhs.xy[0] == rhs.xy[0]) {
-        return lhs.xy[1] < rhs.xy[1];
-    }
-    else {
-        return lhs.xy[0] < rhs.xy[0];
-    }
-}
-
-bool BaseFile::LookupReadIndexByXY(uint16_t x, uint16_t y, int &index) {
-    int16_t xy[2];
-    xy[0] = x; xy[1] = y;
-    std::vector<HoleXY>::iterator holeIt;
-    holeIt = lower_bound(holeXY.begin(), holeXY.end(), xy);
-    if ((*holeIt).xy[0] == xy[0] and (*holeIt).xy[1] == xy[1]) {
-        index = holeIt - holeXY.begin();
-        return true;
-    }
-    else {
-        return false;
-    }
-}
-
-
-void BaseFile::CopyReadAt(uint32_t readIndex, SMRTSequence &read) {
-    assert(holeNumbers.size() > readIndex);
-    read.zmwData.holeNumber = holeNumbers[readIndex];
-    if (holeXY.size() > 0) {
-        assert(holeXY.size() > readIndex);
-        read.zmwData.x = holeXY[readIndex].xy[0];
-        read.zmwData.y = holeXY[readIndex].xy[1];
-    }
-
-    int startPos = readStartPositions[readIndex];
-    int readLength = readLengths[readIndex];
-    read.length = readLength;
-    read.Allocate(readLength);
-    if (baseCalls.size() > 0) {
-        assert(baseCalls.size() >= readLength + startPos);
-        CopyArray(baseCalls, startPos, readLength, read.seq);
-    }
-    if (qualityValues.size() > 0) {
-        assert(qualityValues.size() >= readLength + startPos);
-        CopyArray(qualityValues, startPos, readLength, read.qual.data);
-    }
-    if (basWidthInFrames.size() > 0) {
-        assert(basWidthInFrames.size() >= readLength + startPos);
-        CopyArray(basWidthInFrames, startPos, readLength, read.widthInFrames);
-    }
-    if (deletionQV.size() > 0) {
-        assert(deletionQV.size() >= readLength + startPos);
-        CopyArray(deletionQV, startPos, readLength, read.deletionQV.data);
-    }
-    if (deletionTag.size() > 0) {
-        assert(deletionTag.size() >= readLength + startPos);
-        CopyArray(deletionTag, startPos, readLength, read.deletionTag);
-    }
-    if (insertionQV.size() > 0) {
-        assert(insertionQV.size()  >= readLength + startPos);
-        CopyArray(insertionQV, startPos, readLength, read.insertionQV.data);
-    }
-    if (substitutionQV.size() > 0) {
-        assert(substitutionQV.size() >= readLength + startPos);
-        CopyArray(substitutionQV, startPos, readLength, read.substitutionQV.data);
-    }
-    if (mergeQV.size() > 0) {
-        assert(mergeQV.size() >= readLength + startPos);
-        CopyArray(mergeQV, startPos, readLength, read.mergeQV.data);
-    }
-    if (substitutionTag.size() > 0) {
-        assert(substitutionTag.size() >= readLength + startPos);
-        CopyArray(substitutionTag, startPos, readLength, read.substitutionTag);
-    }
-    if (preBaseFrames.size() > 0) {
-        assert(preBaseFrames.size() >= readLength + startPos);
-        CopyArray(preBaseFrames, startPos, readLength, read.preBaseFrames);
-    }
-
-}
diff --git a/libcpp/pbdata/reads/BaseFile.hpp b/libcpp/pbdata/reads/BaseFile.hpp
deleted file mode 100644
index d3b6afb..0000000
--- a/libcpp/pbdata/reads/BaseFile.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-#ifndef _BLASR_BASE_FILE_HPP_
-#define _BLASR_BASE_FILE_HPP_
-
-#include <stdint.h>
-#include <vector>
-#include "Enumerations.h"
-#include "SMRTSequence.hpp"
-
-#include "HoleXY.hpp"
-#include "PulseBaseCommon.hpp"
-#include "ScanData.hpp"
-
-class CompareHoleXY {
-public:
-    bool operator()(const HoleXY &lhs, const HoleXY &rhs) const; 
-};
-
-class BaseFile : public PulseBaseCommon {
-public:
-    std::vector<unsigned char> baseCalls;
-    std::vector<uint8_t> holeStatus;
-    std::vector<HoleXY>   holeXY;
-    std::vector<uint16_t> basWidthInFrames;
-    std::vector<uint16_t> preBaseFrames;
-    std::vector<int> pulseIndex;
-    std::vector<unsigned char> qualityValues;
-    std::vector<unsigned char> deletionQV;
-    std::vector<unsigned char> deletionTag;
-    std::vector<unsigned char> insertionQV;
-    std::vector<unsigned char> substitutionQV;
-    std::vector<unsigned char> substitutionTag;
-    std::vector<unsigned char> mergeQV;
-    std::vector<int>  readLengths;
-    std::vector<int>  readStartPositions;
-    int nReads;
-    int nBases;
-
-    bool LookupReadIndexByXY(uint16_t x, uint16_t y, int &index); 
-
-    void CopyReadAt(uint32_t readIndex, SMRTSequence &read); 
-
-    template<typename T>
-    void CopyArray(std::vector<T> &fullArray, int pos, int length, T*dest); 
-    
-};
-
-#include "BaseFileImpl.hpp"
-
-#endif // _BLASR_BASE_FILE_HPP_
diff --git a/libcpp/pbdata/reads/BaseFileImpl.hpp b/libcpp/pbdata/reads/BaseFileImpl.hpp
deleted file mode 100644
index b09c927..0000000
--- a/libcpp/pbdata/reads/BaseFileImpl.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef _BLASR_BASE_FILE_IMPL_HPP_
-#define _BLASR_BASE_FILE_IMPL_HPP_
-
-#include "BaseFile.hpp"
-
-template<typename T>
-void BaseFile::CopyArray(std::vector<T> &fullArray, int pos, int length, T*dest) {
-    memcpy(dest, &fullArray[pos], sizeof(T) * length);
-}
-
-#endif
diff --git a/libcpp/pbdata/reads/HoleXY.cpp b/libcpp/pbdata/reads/HoleXY.cpp
deleted file mode 100644
index ff9d1f7..0000000
--- a/libcpp/pbdata/reads/HoleXY.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "HoleXY.hpp"
-
-bool HoleXY::operator<(const HoleXY &rhs) const {
-    return *this < rhs.xy;
-}
-
-bool HoleXY::operator<(const int16_t xyP[2]) const {
-    if (xy[0] == xyP[0]) {
-        return xy[1] < xyP[1];
-    }
-    else {
-        return xy[0] < xyP[0];
-    }
-}       
diff --git a/libcpp/pbdata/reads/HoleXY.hpp b/libcpp/pbdata/reads/HoleXY.hpp
deleted file mode 100644
index 5386c72..0000000
--- a/libcpp/pbdata/reads/HoleXY.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef _BLASR_HOLE_XY_HPP_
-#define _BLASR_HOLE_XY_HPP_
-
-#include <stdlib.h>
-
-class HoleXY {
-public:
-    int16_t xy[2];
-    bool operator<(const HoleXY &rhs) const; 
-
-    bool operator<(const int16_t xyP[2]) const; 
-};
-
-#endif // _BLASR_HOLE_XY_HPP_
diff --git a/libcpp/pbdata/reads/PulseBaseCommon.cpp b/libcpp/pbdata/reads/PulseBaseCommon.cpp
deleted file mode 100644
index 437a0fb..0000000
--- a/libcpp/pbdata/reads/PulseBaseCommon.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <vector>
-#include <algorithm>
-#include "PulseBaseCommon.hpp"
-
-float PulseBaseCommon::GetFrameRate() {
-    return scanData.frameRate;
-}
-
-unsigned int PulseBaseCommon::GetNumFrames() {
-    return scanData.numFrames;
-}
-
-std::string PulseBaseCommon::GetMovieName() {
-    return scanData.movieName;
-}
-
-std::map<char, int> PulseBaseCommon::GetBaseMap() {
-    return scanData.baseMap;
-}
-
-bool PulseBaseCommon::LookupReadIndexByHoleNumber(uint32_t holeNumber, int &readIndex) {
-    std::vector<uint32_t>::iterator holeIt;
-    if (holeNumbers.size() == 0) {
-        return false;
-    }
-    holeIt = lower_bound(holeNumbers.begin(), holeNumbers.end(), holeNumber);
-    if (holeIt == holeNumbers.end()) {
-        return false;
-    }
-    if (*holeIt == holeNumber) {
-        readIndex = holeIt - holeNumbers.begin();
-        return true;
-    }
-    else {
-        return false;
-    }
-}
diff --git a/libcpp/pbdata/reads/PulseBaseCommon.hpp b/libcpp/pbdata/reads/PulseBaseCommon.hpp
deleted file mode 100644
index e8b86fc..0000000
--- a/libcpp/pbdata/reads/PulseBaseCommon.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef DATASTRUCTURES_READS_PULSE_BASE_COMMON_H_
-#define DATASTRUCTURES_READS_PULSE_BASE_COMMON_H_
-
-// 
-// This includes values that both pulse and base files must have.
-//
-#include <stdint.h>
-#include "ScanData.hpp"
-
-class PulseBaseCommon {
-public:
-    ScanData scanData;
-    std::vector<uint32_t> holeNumbers;
-
-    float GetFrameRate(); 
-
-    unsigned int GetNumFrames(); 
-
-    std::string GetMovieName(); 
-
-    std::map<char, int> GetBaseMap(); 
-
-    bool LookupReadIndexByHoleNumber(uint32_t holeNumber, int &readIndex); 
-};
-
-#endif
diff --git a/libcpp/pbdata/reads/PulseFile.cpp b/libcpp/pbdata/reads/PulseFile.cpp
deleted file mode 100644
index 7d2db0b..0000000
--- a/libcpp/pbdata/reads/PulseFile.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-#include "PulseFile.hpp"
-
-
-void PulseFile::CopySignal(HalfWord *signalData, // either a vector or matrix
-                            int signalNDims,
-                            int pulseStartPos,    // 0 if baseToPulseIndex maps to abs position
-                            int *baseToPulseIndex,
-                            Nucleotide *readSeq,
-                            int readLength,
-                            HalfWord *readData) {
-    // if baseToPulseIndex maps bases to absolute pulse postions
-    // pulseStartPos must be 0; 
-    // otherwise, pulseStartPos is pulseStartPositions[holeIndex]
-
-    std::map<char, int> baseMap = GetBaseMap();
-    int i;
-    if (signalNDims == 1) {
-        for (i = 0; i < readLength; i++) {
-            readData[i] = signalData[pulseStartPos + baseToPulseIndex[i] ];
-        }
-    }
-    else {
-        for (i = 0; i < readLength; i++) {
-            readData[i] = signalData[baseToPulseIndex[i]*4 + baseMap[readSeq[i]]];
-        }
-    }
-}
-
-void PulseFile::CopyReadAt(uint32_t plsReadIndex, int *baseToPulseIndex, SMRTSequence &read) {
-    int pulseStartPos = pulseStartPositions[plsReadIndex];
-    bool allocResult;
-    if (midSignal.size() > 0) {
-    assert(midSignal.size() > pulseStartPos);
-    allocResult = Realloc(read.midSignal, read.length);
-    CopySignal(&midSignal[0], 
-                midSignalNDims, 
-                pulseStartPos,
-                baseToPulseIndex,
-                read.seq, read.length,
-                read.midSignal);
-    }
-
-    if (maxSignal.size() > 0) {
-        assert(maxSignal.size() > pulseStartPos); 
-        Realloc(read.maxSignal, read.length);
-        CopySignal(&maxSignal[0], 
-                    maxSignalNDims, 
-                    pulseStartPos,
-                    baseToPulseIndex,
-                    read.seq, read.length,
-                    read.maxSignal);
-    }
-
-    if (meanSignal.size() > 0) {
-        assert(meanSignal.size() > pulseStartPos); 
-        Realloc(read.meanSignal, read.length);
-        CopySignal(&meanSignal[0], 
-                    meanSignalNDims, 
-                    pulseStartPos,
-                    baseToPulseIndex,
-                    read.seq, read.length,
-                    read.meanSignal);
-    }
-    if (plsWidthInFrames.size() > 0) {
-        Realloc(read.widthInFrames, read.length);
-        StoreField(plsWidthInFrames, baseToPulseIndex, read.widthInFrames, read.length);
-    }
-    if (classifierQV.size() > 0) {
-        Realloc(read.classifierQV, read.length);
-        StoreField(classifierQV, baseToPulseIndex, read.classifierQV, read.length);
-    }
-    if (startFrame.size() > 0) {
-        Realloc(read.startFrame, read.length);
-        StoreField(startFrame, baseToPulseIndex, read.startFrame, read.length);
-    }
-}
diff --git a/libcpp/pbdata/reads/PulseFile.hpp b/libcpp/pbdata/reads/PulseFile.hpp
deleted file mode 100644
index d5c4d89..0000000
--- a/libcpp/pbdata/reads/PulseFile.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-#ifndef _BLASR_PULSE_FILE_HPP_
-#define _BLASR_PULSE_FILE_HPP_
-
-#include <map>
-#include <vector>
-#include "Types.h"
-#include "Enumerations.h"
-#include "DNASequence.hpp"
-#include "SMRTSequence.hpp"
-#include "PulseBaseCommon.hpp"
-#include "ScanData.hpp"
-
-class PulseFile : public PulseBaseCommon {
- public:
-    unsigned int numFrames;
-    PlatformId platformId;
-    std::vector<unsigned int> startFrame;
-    std::vector<uint16_t> plsWidthInFrames;
-    int midSignalNDims, maxSignalNDims, meanSignalNDims;
-    std::vector<uint16_t> midSignal;
-    std::vector<uint16_t> maxSignal;
-    std::vector<uint16_t> meanSignal; 
-    std::vector<int>      numEvent;
-    std::vector<int>      pulseStartPositions;
-    std::vector<float>    classifierQV;
-
-    PulseFile(){numFrames = 0; platformId = Springfield;}
-
-    void CopySignal(HalfWord *signalData, // either a vector or matrix
-                    int signalNDims,
-                    int pulseStartPos,    // 0 if baseToPulseIndex maps to abs position
-                    int *baseToPulseIndex,
-                    Nucleotide *readSeq,
-                    int readLength,
-                    HalfWord *readData);
-    
-    // plsReadIndex: index of this hole number in /PulseCalls/ZMW/HoleNumber.
-    // baseToPulseIndex: index from pulse to base from the beginning of the read.
-    // read: a SMRTSequence.
-    void CopyReadAt(uint32_t plsReadIndex, int *baseToPulseIndex, SMRTSequence &read);
-
-    template<typename T_FieldType>
-    void StoreField(std::vector<T_FieldType> &source, int *basToPlsIndex, T_FieldType *dest, int destLength);
-    
-    template <typename T>
-    bool Realloc(T *&ptr, int length);
-
-
-};
-
-#include "PulseFileImpl.hpp"
-
-#endif
diff --git a/libcpp/pbdata/reads/PulseFileImpl.hpp b/libcpp/pbdata/reads/PulseFileImpl.hpp
deleted file mode 100644
index 7fc1f8d..0000000
--- a/libcpp/pbdata/reads/PulseFileImpl.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef _BLASR_PULSE_FILE_IMPL_HPP_
-#define _BLASR_PULSE_FILE_IMPL_HPP_
-
-template<typename T_FieldType>
-    void PulseFile::StoreField(std::vector<T_FieldType> &source, int *basToPlsIndex, T_FieldType *dest, int destLength) {
-    int i;
-    for (i = 0 ; i < destLength; i++) {
-    dest[i] = source[basToPlsIndex[i]];
-    }
-}
-
-template <typename T>
-    bool PulseFile::Realloc(T *&ptr, int length) {
-    if (ptr != NULL) {
-    delete[] ptr;
-    }
-    ptr = new T[length];
-    return ptr != NULL;
-}
-
-#endif
diff --git a/libcpp/pbdata/reads/ReadInterval.hpp b/libcpp/pbdata/reads/ReadInterval.hpp
deleted file mode 100644
index c21838f..0000000
--- a/libcpp/pbdata/reads/ReadInterval.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef _BLASR_READ_INTERVAL_HPP_
-#define _BLASR_READ_INTERVAL_HPP_
-
-class ReadInterval {
-public:
-    int start;
-    int end;
-    int score;
-    ReadInterval(int s, int e, int sc=0) : start(s), end(e), score(sc) {};
-    ReadInterval& operator=(const ReadInterval &rhs) {
-        start = rhs.start;
-        end   = rhs.end;
-        score = rhs.score;
-        return *this;
-    }
-};
-
-#endif
diff --git a/libcpp/pbdata/reads/ReadType.cpp b/libcpp/pbdata/reads/ReadType.cpp
deleted file mode 100644
index 7e15ce0..0000000
--- a/libcpp/pbdata/reads/ReadType.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-#include "ReadType.hpp"
-
-ReadType::ReadTypeEnum ReadType::ParseReadType(std::string &readTypeString) {
-  if (readTypeString == "Standard") {
-    return ReadType::Standard;
-  }
-  else if (readTypeString == "CCS") {
-    return ReadType::CCS;
-  }
-  else if (readTypeString == "RCCS") {
-    return ReadType::RCCS;
-  }
-  else if (readTypeString == "POLYMERASE") {
-    return ReadType::POLYMERASE;
-  }
-  else if (readTypeString == "HQREGION") {
-    return ReadType::HQREGION;
-  }
-  else if (readTypeString == "SUBREAD") {
-    return ReadType::SUBREAD;
-  }
-  else if (readTypeString == "SCRAP") {
-    return ReadType::SCRAP;
-  }
-  else if (readTypeString == "UNKNOWN") {
-    return ReadType::UNKNOWN;
-  }
-  else {
-      return ReadType::NoReadType;
-  }
-}
-
-std::string ReadType::ToString(const ReadType::ReadTypeEnum & readType) {
-    if (readType == ReadType::Standard) return "Standard";
-    if (readType == ReadType::CCS) return "CCS";
-    if (readType == ReadType::RCCS) return "RCCS";
-    if (readType == ReadType::HQREGION) return "HQREGION";
-    if (readType == ReadType::POLYMERASE) return "POLYMERASE";
-    if (readType == ReadType::SUBREAD) return "SUBREAD";
-    if (readType == ReadType::SCRAP) return "SCRAP";
-    if (readType == ReadType::UNKNOWN) return "UNKNOWN";
-    return "NoReadType";
-}
diff --git a/libcpp/pbdata/reads/ReadType.hpp b/libcpp/pbdata/reads/ReadType.hpp
deleted file mode 100644
index 02279da..0000000
--- a/libcpp/pbdata/reads/ReadType.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef _BLASR_READ_TYPE_HPP 
-#define _BLASR_READ_TYPE_HPP 
-
-#include <string>
-
-class ReadType {
- public:
-  enum ReadTypeEnum {NoReadType=0, Standard=1, CCS=2, RCCS=3, POLYMERASE=4, HQREGION=5, SUBREAD=6, SCRAP=7, UNKNOWN=8};
-  static ReadTypeEnum ParseReadType(std::string &readTypeString);
-  static std::string ToString(const ReadType::ReadTypeEnum & readType);
-};
-
-
-//The READTYPE values encountered in secondary analysis will be limited to SUBREAD and CCS.
-//POLYMERASE, HQREGION, SCRAP, and UNKNOWN will only be encountered in intermediate steps before
-//secondary analysis.
-//NoReadType, Standard and RCCS were used in CMP.H5 deprecated.
-#endif
diff --git a/libcpp/pbdata/reads/RegionTable.cpp b/libcpp/pbdata/reads/RegionTable.cpp
deleted file mode 100644
index 54582a7..0000000
--- a/libcpp/pbdata/reads/RegionTable.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-#include <algorithm>
-#include "RegionTable.hpp"
-
-using namespace std;
-
-RegionAnnotation& RegionAnnotation::operator=(const RegionAnnotation &rhs) {
-    memcpy(row, rhs.row, sizeof(int)*NCOLS);
-    return *this;
-}
-int RegionAnnotation::GetHoleNumber() {
-    return row[HoleNumber];
-}
-
-void RegionAnnotation::SetHoleNumber(int holeNumber) {
-    row[HoleNumber] = holeNumber;
-}
-
-int RegionAnnotation::GetType() const {
-    return row[RegionType];
-}
-
-void RegionAnnotation::SetType(int regionType) {
-    row[RegionType] = regionType;
-}
-
-int RegionAnnotation::GetStart() {
-    return row[RegionStart];
-}
-
-void RegionAnnotation::SetStart(int start) {
-    row[RegionStart] = start;
-}
-int RegionAnnotation::GetEnd() {
-    return row[RegionEnd];
-}
-
-void RegionAnnotation::SetEnd(int end) {
-    row[RegionEnd] = end;
-}
-
-int RegionAnnotation::GetScore() {
-    return row[RegionScore];
-}
-
-void RegionAnnotation::SetScore(int score) {
-    row[RegionScore] = score;
-}
-
-int RegionTable::LookupRegionsByHoleNumber(int holeNumber, int &low, int &high) const {
-    std::vector<RegionAnnotation>::const_iterator lowIt, highIt;
-    lowIt  = std::lower_bound(table.begin(), table.end(), holeNumber);
-    highIt = std::lower_bound(table.begin(), table.end(), holeNumber+1);
-    low =  lowIt - table.begin();
-    high = highIt - table.begin();
-    return high-low;
-}
-
-//
-// Define a bunch of accessor functions.
-//
-
-//
-// Different region tables have different ways of encoding regions.
-// This maps from the way they are encoded in the rgn table to a
-// standard encoding.
-//
-
-RegionType RegionTable::GetType(int regionIndex) const {
-    assert(regionIndex < table.size());
-    assert(regionIndex >= 0);
-    return (RegionType) regionTypeEnums[table[regionIndex].GetType()];
-}
-
-int RegionTable::GetStart(int regionIndex) {
-    assert(regionIndex < table.size());
-    assert(regionIndex >= 0);
-    return table[regionIndex].GetStart();
-}
-
-void RegionTable::SetStart(int regionIndex, int start) {
-    assert(regionIndex < table.size());
-    assert(regionIndex >= 0);
-    table[regionIndex].SetStart(start);
-}
-
-int RegionTable::GetEnd(int regionIndex) {
-    assert(regionIndex < table.size());
-    assert(regionIndex >= 0);
-    return table[regionIndex].GetEnd();
-}
-
-void RegionTable::SetEnd(int regionIndex, int end) {
-    assert(regionIndex < table.size());
-    assert(regionIndex >= 0);
-    table[regionIndex].SetEnd(end);
-}
-
-int RegionTable::GetHoleNumber(int regionIndex) {
-    assert(regionIndex < table.size());
-    assert(regionIndex >= 0);
-    return table[regionIndex].GetHoleNumber();
-}
-
-void RegionTable::SetHoleNumber(int regionIndex, int holeNumber) {
-    assert(regionIndex < table.size());
-    assert(regionIndex >= 0);
-    table[regionIndex].SetHoleNumber(holeNumber);
-}
-
-int RegionTable::GetScore(int regionIndex) {
-    assert(regionIndex < table.size());
-    assert(regionIndex >= 0);
-    return table[regionIndex].row[RegionAnnotation::RegionScore];
-}
-
-void RegionTable::SetScore(int regionIndex, int score) {
-    assert(regionIndex < table.size());
-    assert(regionIndex >= 0);
-    table[regionIndex].row[RegionAnnotation::RegionScore] = score;
-}
-
-void RegionTable::SortTableByHoleNumber() {
-    std::stable_sort(table.begin(), table.end());
-}
-
-void RegionTable::Reset() {
-    table.clear();
-    columnNames.clear();
-    regionTypes.clear();
-    regionDescriptions.clear();
-    regionSources.clear();
-    regionTypeEnums.clear();
-}
-
-void RegionTable::CreateDefaultAttributes() {
-    columnNames.clear();
-    columnNames.push_back("HoleNumber");
-    columnNames.push_back("Region type index");
-    columnNames.push_back("Region start in bases");
-    columnNames.push_back("Region end in bases");
-    columnNames.push_back("Region score");
-
-    regionTypes.push_back("Adapter");
-    regionTypes.push_back("Insert");
-    regionTypes.push_back("HQRegion");
-
-    regionDescriptions.push_back("Adapter Hit");
-    regionDescriptions.push_back("Insert Region");
-    regionDescriptions.push_back("High Quality bases region. Score is 1000 * "
-            "predicted accuracy, where predicted accuary is 0 to 1.0"); 
-
-    regionSources.push_back("AdapterFinding");
-    regionSources.push_back("AdapterFinding");
-    regionSources.push_back("PulseToBase Region classifer");
-
-    regionTypeEnums.push_back(Adapter);
-    regionTypeEnums.push_back(Insert);
-    regionTypeEnums.push_back(HQRegion);
-}
diff --git a/libcpp/pbdata/reads/RegionTable.hpp b/libcpp/pbdata/reads/RegionTable.hpp
deleted file mode 100644
index 497e625..0000000
--- a/libcpp/pbdata/reads/RegionTable.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-#ifndef _BLASR_REGION_TABLE_HPP_
-#define _BLASR_REGION_TABLE_HPP_
-
-#include <cassert>
-#include <cstring>
-#include <string>
-#include <vector>
-#include "Enumerations.h"
-
-class RegionAnnotation {
-public:
-    typedef enum T_AnnotationRow {HoleNumber, RegionType, RegionStart, 
-        RegionEnd, RegionScore} AnnotationRow;
-    static const int NCOLS=5;
-    int row[NCOLS];
-
-    inline
-    bool operator<(const RegionAnnotation &rhs) const
-    { return row[HoleNumber] < rhs.row[HoleNumber]; }
-
-    inline
-    bool operator<(int holeNumber) const
-    { return row[HoleNumber] < holeNumber; }
-
-    RegionAnnotation& operator=(const RegionAnnotation &rhs); 
-
-    int GetHoleNumber(); 
-
-    void SetHoleNumber(int holeNumber); 
-
-    int GetType() const; 
-
-    void SetType(int regionType); 
-
-    int GetStart(); 
-
-    void SetStart(int start); 
-
-    int GetEnd(); 
-
-    void SetEnd(int end); 
-
-    int GetScore(); 
-
-    void SetScore(int score); 
-};
-
-class RegionTable {
-public:
-    std::vector<RegionAnnotation> table;
-    std::vector<std::string> columnNames;
-    std::vector<std::string> regionTypes;
-    std::vector<std::string> regionDescriptions;
-    std::vector<std::string> regionSources;
-    std::vector<RegionType> regionTypeEnums;
-
-    int LookupRegionsByHoleNumber(int holeNumber, int &low, int &high) const; 
-
-    //
-    // Define a bunch of accessor functions.
-    //
-
-    //
-    // Different region tables have different ways of encoding regions.
-    // This maps from the way they are encoded in the rgn table to a
-    // standard encoding.
-    //
-
-    RegionType GetType(int regionIndex) const; 
-
-    int GetStart(int regionIndex); 
-
-    void SetStart(int regionIndex, int start); 
-
-    int GetEnd(int regionIndex); 
-
-    void SetEnd(int regionIndex, int end); 
-
-    int GetHoleNumber(int regionIndex); 
-
-    void SetHoleNumber(int regionIndex, int holeNumber); 
-
-    int GetScore(int regionIndex); 
-
-    void SetScore(int regionIndex, int score); 
-
-    void SortTableByHoleNumber(); 
-
-    void Reset(); 
-
-    void CreateDefaultAttributes(); 
-};
-
-
-#endif // _BLASR_REGION_TABLE_HPP_
diff --git a/libcpp/pbdata/reads/ScanData.cpp b/libcpp/pbdata/reads/ScanData.cpp
deleted file mode 100644
index 3114376..0000000
--- a/libcpp/pbdata/reads/ScanData.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "ScanData.hpp"
-
-ScanData::ScanData() {
-    platformId = NoPlatform;
-    frameRate = numFrames = 0;
-    movieName = runCode = whenStarted = "";
-    baseMap.clear();
-}
-
-std::string ScanData::GetMovieName() {
-    return movieName;
-}
diff --git a/libcpp/pbdata/reads/ScanData.hpp b/libcpp/pbdata/reads/ScanData.hpp
deleted file mode 100644
index 8cf07ea..0000000
--- a/libcpp/pbdata/reads/ScanData.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef DATASTRUCTURES_READS_SCAN_DATA_H_
-#define DATASTRUCTURES_READS_SCAN_DATA_H_
-
-#include <string>
-#include <map>
-#include "Enumerations.h"
-
-class ScanData {
-public:
-    PlatformId platformId;
-    float frameRate;
-    unsigned int numFrames;
-    std::string movieName, runCode;
-    std::string whenStarted;
-    std::map<char, int> baseMap;
-    ScanData();
-    std::string GetMovieName(); 
-};
-
-#endif
diff --git a/libcpp/pbdata/reads/ZMWGroupEntry.cpp b/libcpp/pbdata/reads/ZMWGroupEntry.cpp
deleted file mode 100644
index 64381ed..0000000
--- a/libcpp/pbdata/reads/ZMWGroupEntry.cpp
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <stdint.h>
-#include "Types.h"
-#include "ZMWGroupEntry.hpp"
-ZMWGroupEntry::ZMWGroupEntry() {
-    holeNumber = x = y = 0;
-    numEvents = 0;
-    holeStatus = '0';
-}
diff --git a/libcpp/pbdata/reads/ZMWGroupEntry.hpp b/libcpp/pbdata/reads/ZMWGroupEntry.hpp
deleted file mode 100644
index 05234df..0000000
--- a/libcpp/pbdata/reads/ZMWGroupEntry.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef _BLASR_ZMW_GROUP_ENTRY_HPP_
-#define _BLASR_ZMW_GROUP_ENTRY_HPP_
-
-#include "Types.h"
-
-class ZMWGroupEntry {
- public:
-	UInt holeNumber;
-	UInt x;
-	UInt y;
-	int  numEvents;
-    unsigned char holeStatus;
-    ZMWGroupEntry(); 
-};
-
-
-#endif // _BLASR_ZMW_GROUP_ENTRY_HPP_
diff --git a/libcpp/pbdata/saf/AlnGroup.cpp b/libcpp/pbdata/saf/AlnGroup.cpp
deleted file mode 100644
index 9f680cb..0000000
--- a/libcpp/pbdata/saf/AlnGroup.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "AlnGroup.hpp"
-
-int AlnGroup::FindPath(int idKey, std::string &val) {
-    int i;
-    for (i = 0; i < id.size(); i++) {
-        if (idKey == id[i]) {
-            val = path[i];
-            return 1;
-        }
-    }
-    return 0;
-}
diff --git a/libcpp/pbdata/saf/AlnGroup.hpp b/libcpp/pbdata/saf/AlnGroup.hpp
deleted file mode 100644
index e941b19..0000000
--- a/libcpp/pbdata/saf/AlnGroup.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef _BLASR_ALN_GROUP_HPP_
-#define _BLASR_ALN_GROUP_HPP_
-
-#include <vector>
-#include <string>
-
-class AlnGroup {
- public:
-	std::vector<unsigned int> id;
-	std::vector<std::string>  path;
-	int FindPath(int idKey, std::string &val); 
-};
-
-#endif // _BLASR_ALN_GROUP_HPP_
diff --git a/libcpp/pbdata/saf/AlnInfo.hpp b/libcpp/pbdata/saf/AlnInfo.hpp
deleted file mode 100644
index 6d59ad2..0000000
--- a/libcpp/pbdata/saf/AlnInfo.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef DATASTRUCTURES_SAF_ALN_INFO_H_
-#define DATASTRUCTURES_SAF_ALN_INFO_H_
-
-#include <cstdint>
-#include <vector>
-#include "Types.h"
-#include "alignment/CmpAlignment.hpp"
-
-class AlnInfo {
-public:
-    std::vector<CmpAlignment> alignments;
-    UInt nAlignments;
-    uint64_t lastRow;
-};
-
-
-#endif
diff --git a/libcpp/pbdata/saf/MovieInfo.cpp b/libcpp/pbdata/saf/MovieInfo.cpp
deleted file mode 100644
index f76a386..0000000
--- a/libcpp/pbdata/saf/MovieInfo.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-#include "MovieInfo.hpp"
-
-
-int MovieInfo::FindMovie(int idKey, string &nameVal) {
-    int i;
-    for (i = 0; i < id.size(); i++) {
-        if (id[i] == idKey) {
-            nameVal = name[i];
-            return 1;
-        }
-    }
-    return 0;
-}
diff --git a/libcpp/pbdata/saf/MovieInfo.hpp b/libcpp/pbdata/saf/MovieInfo.hpp
deleted file mode 100644
index c92f819..0000000
--- a/libcpp/pbdata/saf/MovieInfo.hpp
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef DATASTRUCTURES_SAF_HDF_MOVIE_INFO_H_
-#define DATASTRUCTURES_SAF_HDF_MOVIE_INFO_H_
-
-#include "Types.h"
-#include <string>
-#include <vector>
-
-using namespace std;
-
-class MovieInfo {
- public:
-	vector<string> name;
-	vector<UInt>   run;
-	vector<UInt>   experiment;
-	vector<UInt>   id;
-	int FindMovie(int idKey, string &nameVal);
-};
-
-#endif
diff --git a/libcpp/pbdata/saf/RefGroup.cpp b/libcpp/pbdata/saf/RefGroup.cpp
deleted file mode 100644
index fcd9bbf..0000000
--- a/libcpp/pbdata/saf/RefGroup.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "RefGroup.hpp"
-
-
-bool RefGroup::IdToIndex(int idKey, int &idIndex) {
-    int i;
-    for (i = 0; i < refInfoId.size(); i++) {
-        if (refInfoId[i] == idKey) {
-        idIndex = i; return true;
-        }
-    }
-    return false;
-}
-	
-
-int RefGroup::FindPath(int idKey, string &pathVal, string &groupNameVal) {
-    int i;
-    for (i = 0; i < id.size(); i++) {
-        if (id[i] == idKey) {
-            pathVal = path[i];
-            groupNameVal = refGroupName[i];
-            return 1;
-        }
-    }
-    return 0;
-}
diff --git a/libcpp/pbdata/saf/RefGroup.hpp b/libcpp/pbdata/saf/RefGroup.hpp
deleted file mode 100644
index 7c3b012..0000000
--- a/libcpp/pbdata/saf/RefGroup.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef _BLASR_REF_GROUP_HPP_
-#define _BLASR_REF_GROUP_HPP_
-
-#include <string>
-#include <vector>
-
-#include <stdint.h>
-
-using namespace std;
-class RefGroup {
- public:
-	vector<uint32_t> id;
-	vector<string> path;
-	vector<string> refGroupName;
-	vector<uint32_t> refInfoId;
-
-    bool IdToIndex(int idKey, int &idIndex);
-	int FindPath(int idKey, string &pathVal, string &groupNameVal);
-};
-
-#endif
diff --git a/libcpp/pbdata/saf/RefInfo.cpp b/libcpp/pbdata/saf/RefInfo.cpp
deleted file mode 100644
index 48259a7..0000000
--- a/libcpp/pbdata/saf/RefInfo.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-#include "RefInfo.hpp"
-
-OneRefInfo::OneRefInfo() {
-    fullName = md5 = "";
-    id = length = 0;
-}
-
-bool RefInfo::RefIdToIndex(uint32_t qid, int &index) {
-/*
- * Translate from external id to position in array.
- */
-    int i;
-    for (i = 0; i < id.size(); i++) {
-        if (id[i] == qid) {
-        index = i;
-        return true;
-        }
-    }
-    return false;
-}
diff --git a/libcpp/pbdata/saf/RefInfo.hpp b/libcpp/pbdata/saf/RefInfo.hpp
deleted file mode 100644
index 39cda75..0000000
--- a/libcpp/pbdata/saf/RefInfo.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef _BLASR_REF_INFO_HPP_
-#define _BLASR_REF_INFO_HPP_
-
-#include <string>
-#include <vector>
-#include <stdint.h>
-
-class OneRefInfo {
- public:
-  std::string fullName;
-  unsigned int id;
-  unsigned int length;
-  std::string md5;
-  OneRefInfo();
-};
-
-
-class RefInfo {
- public:
-    std::vector<std::string> fullName;
-    std::vector<uint32_t> id;
-    std::vector<uint32_t> length;
-    std::vector<std::string> md5;
-    bool RefIdToIndex(uint32_t qid, int &index);
-};
-#endif
diff --git a/libcpp/pbdata/sam/AlignmentSet.hpp b/libcpp/pbdata/sam/AlignmentSet.hpp
deleted file mode 100644
index 6e8bc49..0000000
--- a/libcpp/pbdata/sam/AlignmentSet.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef _BLASR_SAM_ALIGNMENT_SET_HPP_
-#define _BLASR_SAM_ALIGNMENT_SET_HPP_
-
-#include <map>
-#include <string>
-#include <vector>
-
-#include "FASTASequence.hpp"
-#include "sam/ReadGroup.hpp"
-#include "sam/ReferenceSequence.hpp"
-#include "sam/SAMAlignment.hpp"
-#include "sam/SAMHeader.hpp"
-
-template<typename T_ReferenceSequence=SAMReferenceSequence, typename T_ReadGroup=SAMReadGroup, typename T_Alignment=SAMAlignment>
-class AlignmentSet {
- public:
-  SAMHeader header;
-  std::vector<T_ReferenceSequence> references;
-  std::vector<T_ReadGroup> readGroups;
-  std::vector<T_Alignment> alignments;
-
-  //
-  //  Rearrange references such that they are placed in the same order
-  //  as fastaReferences
-  //  
-  void RearrangeReferences(std::vector<FASTASequence> & fastaReferences);
-};
-
-#include "AlignmentSetImpl.hpp"
-
-#endif
diff --git a/libcpp/pbdata/sam/AlignmentSetImpl.hpp b/libcpp/pbdata/sam/AlignmentSetImpl.hpp
deleted file mode 100644
index ddd0e5d..0000000
--- a/libcpp/pbdata/sam/AlignmentSetImpl.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-#include "AlignmentSet.hpp"
-
-template<typename T_ReferenceSequence, typename T_ReadGroup, typename T_Alignment>
-void AlignmentSet<T_ReferenceSequence, T_ReadGroup, T_Alignment>::RearrangeReferences(std::vector<FASTASequence> &fastaReferences) {
-    int i = 0;
-    std::map<std::string, int> fastaRefToIndex;
-    std::map<std::string, int>::iterator it;
-    for (i = 0; i<fastaReferences.size(); i++) {
-        it = fastaRefToIndex.find(fastaReferences[i].GetName());
-        if (it != fastaRefToIndex.end()) {
-            std::cout<<"Error, reference with name \""<<fastaReferences[i].GetName()
-                <<"\" in the reference genome is not unique"<<std::endl;
-            exit(1);
-        }
-        fastaRefToIndex[fastaReferences[i].GetName()] = i;
-    }
-    std::vector<T_ReferenceSequence> newreferences;
-    for (i = 0; i < references.size(); i++) {
-        newreferences.push_back(T_ReferenceSequence());
-    }
-    for (i = 0; i < references.size(); i++) {
-        it = fastaRefToIndex.find(references[i].sequenceName);
-        if (it == fastaRefToIndex.end()) {
-            std::cout<<"Error, can not find reference name "<<references[i].sequenceName
-                <<" in the reference genome."<<std::endl;
-            exit(1);
-        }
-        newreferences[(*it).second] = references[i];
-    }
-    references = newreferences;
-}
diff --git a/libcpp/pbdata/sam/CigarString.h b/libcpp/pbdata/sam/CigarString.h
deleted file mode 100644
index 979e125..0000000
--- a/libcpp/pbdata/sam/CigarString.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _BLASR_SAM_CIGAR_STRING_HPP_
-#define _BLASR_SAM_CIGAR_STRING_HPP_
-
-#include <string>
-#include <sstream>
-
-class CigarString : public std::string {
-public:
-    void Vectorize(std::vector<int> &lengths, std::vector<char> &operations) {
-        std::stringstream strm;
-        strm.str(*this);
-        while (strm) {
-            int l;
-            char o;
-            if ((strm >> l >> o)) {
-                lengths.push_back(l);
-                operations.push_back(o);
-            }
-        }
-    }
-};
-
-#endif
diff --git a/libcpp/pbdata/sam/ReadGroup.cpp b/libcpp/pbdata/sam/ReadGroup.cpp
deleted file mode 100644
index 161e2c3..0000000
--- a/libcpp/pbdata/sam/ReadGroup.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-#include "ReadGroup.hpp"
-
-void SAMReadGroup::StoreValues(std::vector<SAMKeywordValuePair> &kvPairs,
-                               int lineNumber) {
-  int i;
-  bool idIsStored = false;
-  for (i = 0; i < kvPairs.size(); i++ ){
-    if (kvPairs[i].key == "ID") {
-      id = kvPairs[i].value;
-      idIsStored = true;
-    }
-  }
-  if (idIsStored == false) {
-    std::cout << "ReadGroup missing id at " << lineNumber << std::endl;
-    exit(1);
-  }
-}
-
-void SAMFullReadGroup::StoreValues(vector<SAMKeywordValuePair> &kvPairs,
-                 int lineNumber) {
-  SAMReadGroup::StoreValues(kvPairs, lineNumber);
-  std::string kwPair;
-  std::string key, valueStr;
-  int i;
-  for (i = 0; i < kvPairs.size(); i++) {
-    if (kvPairs[i].key == "CN") {
-      centerName = kvPairs[i].value;
-    }
-    else if (kvPairs[i].key == "DS") {
-      description = kvPairs[i].value;
-    }
-    else if (kvPairs[i].key == "DT") {
-      date = kvPairs[i].value;
-    }
-    else if (kvPairs[i].key == "FO") {
-      flowOrder = kvPairs[i].value;
-    }
-    else if (kvPairs[i].key == "LB") {
-      library = kvPairs[i].value;
-    }
-    else if (kvPairs[i].key == "PG") {
-      processingProgram = kvPairs[i].value;
-    }
-    else if (kvPairs[i].key == "PI") {
-      StoreValue(kvPairs[i].value, insertSize);
-    }
-    else if (kvPairs[i].key == "SM") {
-      sample = kvPairs[i].value;
-    }  
-  }
-}
diff --git a/libcpp/pbdata/sam/ReadGroup.hpp b/libcpp/pbdata/sam/ReadGroup.hpp
deleted file mode 100644
index 24d6941..0000000
--- a/libcpp/pbdata/sam/ReadGroup.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef _BLASR_SAM_READ_GROUP_HPP_
-#define _BLASR_SAM_READ_GROUP_HPP_
-
-#include <string>
-
-/*
- * Minimal components of read group.  Define only required items. Use
- * if memory is scarce.  
- */
-#include "SAMKeywordValuePair.hpp"
-
-class SAMReadGroup {
- public:
-  std::string id;
-  void StoreValues(std::vector<SAMKeywordValuePair> &kvPairs,
-                   int lineNumber = 0);
-};
-
-/*
- * Full read group. Use when all data are required.
- */
-class SAMFullReadGroup : public SAMReadGroup {
- public:
-  std::string centerName;
-  std::string description;
-  std::string date;
-  std::string flowOrder;
-  std::string keySequence;
-  std::string library;
-  std::string processingProgram;
-  int    insertSize;
-  std::string platform;
-  std::string platformUnit;
-  std::string sample;
-
-  void StoreValues(std::vector<SAMKeywordValuePair> &kvPairs,
-                   int lineNumber = 0);
-};
-
-#endif
diff --git a/libcpp/pbdata/sam/ReferenceSequence.cpp b/libcpp/pbdata/sam/ReferenceSequence.cpp
deleted file mode 100644
index 6da44b9..0000000
--- a/libcpp/pbdata/sam/ReferenceSequence.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-#include "ReferenceSequence.hpp"
-
-const char* SAMReferenceSequence::SAMReferenceSequenceFieldNames[] = {"SN", "LN"};
-
-void SAMReferenceSequence::StoreValues(std::vector<SAMKeywordValuePair> &kvPairs, int lineNumber) {
-  int i;
-  std::vector<bool> usedFields;
-  usedFields.resize(SQ_LN);
-  std::fill(usedFields.begin(), usedFields.end(), false);
-  for (i = 0; i < kvPairs.size(); i++) {
-    if (kvPairs[i].key == "SN") {
-      sequenceName = kvPairs[i].value;
-      usedFields[SQ_SN] = true;
-    }
-    else if (kvPairs[i].key == "LN") {
-      StoreValue(kvPairs[i].value, length);
-      usedFields[SQ_SN] = true;
-    }
-  }
-  for (i = 0; i < usedFields.size(); i++) {
-    if (usedFields[i] == false) {
-      std::cout << "SQ specifier missing " << SAMReferenceSequenceFieldNames[i] << std::endl;
-   }
-  }
-}
-
-const char* SAMFullReferenceSequence::SAMFullReferenceSequenceFieldNames[] = {"AS", "M5", "SP", "UR"};
-
-void SAMFullReferenceSequence::StoreValues(std::vector<SAMKeywordValuePair> &kvPairs,
-                                           int lineNumber) {
-  SAMReferenceSequence::StoreValues(kvPairs, lineNumber);
-  int i;
-  for (i = 0; i < kvPairs.size(); i++ ){
-    if (kvPairs[i].key == "AS") {
-      genomeAssembly = kvPairs[i].value;
-    }
-    else if (kvPairs[i].key == "M5") {
-      md5 = kvPairs[i].value;
-    }
-    else if (kvPairs[i].key == "SP") {
-      species = kvPairs[i].value;
-    }
-    else if (kvPairs[i].key == "UR") {
-      uri = kvPairs[i].value;
-    }
-  }
-}
diff --git a/libcpp/pbdata/sam/ReferenceSequence.hpp b/libcpp/pbdata/sam/ReferenceSequence.hpp
deleted file mode 100644
index b5bb380..0000000
--- a/libcpp/pbdata/sam/ReferenceSequence.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef _BLASR_SAM_REFERENCE_SEQUENCE_HPP_
-#define _BLASR_SAM_REFERENCE_SEQUENCE_HPP_
-
-#include <string>
-
-#include "sam/SAMKeywordValuePair.hpp"
-
-class SAMReferenceSequence {
- public:
-  std::string sequenceName;
-  unsigned int length;
-  std::string GetSequenceName() {
-    return sequenceName;
-  }
-  //
-  // By definining accessor functions here but no data, we can
-  // economize on the amount of space used for each element.   This is
-  // no big deal for references, but for pairwise alignments, it is
-  // big.
-  //
-  std::string GetMD5() {
-    return "";
-  }
-  unsigned int GetLength() {
-    return length;
-  }
-  std::string GetGenomeAssembly() {
-    return "";
-  }
-  std::string GetSpecies() {
-    return "";
-  }
-  std::string GetURI() {
-    return "";
-  }
-
-  enum SAMReferenceSequenceRequiredFields { SQ_SN, SQ_LN };
-
-  static const char* SAMReferenceSequenceFieldNames[];
-
-  void StoreValues(std::vector<SAMKeywordValuePair> &kvPairs,
-                   int lineNumber=0);
-};
-
-class SAMFullReferenceSequence : public SAMReferenceSequence {
- public:
-  std::string md5;
-  std::string species;
-  std::string uri;
-  std::string genomeAssembly;
-  std::string GetMD5() {
-    return md5;
-  }
-  std::string GetSpecies() {
-    return species;
-  }
-  std::string GetURI() {
-    return uri;
-  }
-  std::string GetGenomeAssembly() {
-    return genomeAssembly;
-  }
-
-  enum FullReferenceSequenceRequiredFields { SQ_AS, SQ_M5, SQ_SP, SQ_UR };
-
-  static const char* SAMFullReferenceSequenceFieldNames[];
-
-  void StoreValues(std::vector<SAMKeywordValuePair> &kvPairs, int lineNumber=0);
-};
-
-
-#endif
diff --git a/libcpp/pbdata/sam/SAMAlignment.cpp b/libcpp/pbdata/sam/SAMAlignment.cpp
deleted file mode 100644
index e362d65..0000000
--- a/libcpp/pbdata/sam/SAMAlignment.cpp
+++ /dev/null
@@ -1,199 +0,0 @@
-#include "SAMAlignment.hpp"
-
-SAMAlignment::SAMAlignment() {
-  score = xs = xe = as = xt = xq = nm = fi = xl = 0;
-  rg = optTagStr = "";
-}
-
-void SAMAlignment::PrintSAMAlignment(std::ostream & out) {
-    out << qName << "\t" << flag  << "\t" << rName << "\t"
-        << pos   << "\t" << mapQV << "\t" << cigar << "\t"
-        << rNext << "\t" << pNext << "\t" << tLen  << "\t"
-        << seq   << "\t" << qual  << "\t" << optTagStr 
-        << std::endl;
-}
-
-int SAMAlignment::FindPosOfNthChar(std::string str, int n, char c) {
-  if (n < 1) {
-    std::cout << "Nth should be a positive integer." << std::endl;
-    exit(0);
-  }
-  int count = 1;
-  int pos = str.find(c, 0);
-  // pos is the position of the first character c;
-  while(count < n and pos != std::string::npos) {
-      pos = str.find(c, pos+1);
-      count ++;
-  }
-  return pos;
-}
-
-std::string SAMAlignment::TrimStringEnd(std::string str) {
-  std::string newStr = str;
-  while(newStr[newStr.size()-1] == '\r' or
-        newStr[newStr.size()-1] == '\n') {
-      newStr.erase(newStr.size()-1, 1);
-  }
-  return newStr;
-}
-
-bool SAMAlignment::StoreValues(std::string &line,  int lineNumber) {
-  std::stringstream strm(line);
-  std::vector<bool> usedFields;
-  usedFields.resize(S_QUAL);
-  fill(usedFields.begin(), usedFields.end(), false);
-  std::string kvPair;
-  int i;
-  bool parseError = false;
-  SAMAlignmentRequiredFields field;
-  //
-  // Define a temporary mapqv value that gets over a GMAP bug that prints a mapqv < 0.
-  //
-  int tmpMapQV;
-  if (!(strm >> qName)) {
-    parseError = true;
-    field = S_QNAME;
-  }
-  else if (! (strm >> flag) ){ 
-    parseError = true;
-    field = S_FLAG;
-  }
-  else if (! (strm >> rName) ) {
-    parseError = true;
-    field = S_RNAME;
-  }
-  else if (! (strm >> pos) ) {
-    parseError = true;
-    field = S_POS;
-  }
-  else if (! (strm >> tmpMapQV)) {
-    parseError = true; field = S_MAPQV;
-  }
-  else if (! (strm >> cigar)) {
-    parseError = true; field = S_CIGAR;
-  }
-
-  else if (! (strm >> rNext)) {
-    parseError = true; field = S_RNEXT;
-  }
-
-  else if (! (strm >> pNext)) {
-    parseError = true; field = S_PNEXT;
-  }
-  else if (! (strm >> tLen)) {
-    parseError = true; field = S_TLEN;
-  }
-  else if (! (strm >> seq)) {
-    parseError = true; field = S_SEQ;
-  }
-  else if (! (strm >> qual)) {
-    parseError = true; field = S_QUAL;
-  }
-
-  mapQV = (unsigned char) tmpMapQV;
-
-  // Find posisition of the 11th tab.
-  int optTagsStartPos = FindPosOfNthChar(strm.str(), 11, '\t');
-  // Save all optional tags.
-  if (optTagsStartPos != std::string::npos) {
-      optTagStr = strm.str().substr(optTagsStartPos+1);
-      optTagStr = TrimStringEnd(optTagStr);
-  } 
-
-  //
-  // If not aligned, stop trying to read in elements from the sam string.
-  //
-  if (rName == "*") {
-    return true;
-  }
-
-  if (parseError) {
-      std::cout << "Error parsing alignment line " << lineNumber << ". Missing or error in field " << SAMAlignmentRequiredFieldNames[field] << std::endl;
-      exit(1);
-  }
-  
-  //
-  // Now parse optional data.
-  //
-  while (strm) {
-    std::string kvName, kvType, kvValue;
-    std::string typedKVPair;
-    if (!(strm >> typedKVPair)) {
-      break;
-    }
-    if (TypedKeywordValuePair::Separate(typedKVPair, kvName, kvType, kvValue)) {
-      std::stringstream strm(kvValue);
-      if (kvName == "RG") {
-        rg = kvValue;
-      }
-      else if (kvName == "AS") {
-        strm >> as;
-      }
-      else if (kvName == "XS") {
-        strm >> xs;
-      }
-      else if (kvName == "XE") {
-        strm >> xe;
-      }
-      else if (kvName == "XL") {
-        strm >> xl;
-      }
-      else if (kvName == "XT") {
-        strm >> xt;
-      }
-      else if (kvName == "NM") {
-        strm >> nm;
-      }
-      else if (kvName == "FI") {
-        strm >> fi;
-      }
-      else if (kvName == "XQ") {
-        strm >> xq;
-      } // Add quality values, including QualityValue?, 
-        // InsertionQV, DeletionQV, SubstitutionQV, 
-        // MergeQV and SubstitutionTag and DeletionTag
-      else if (kvName == "iq") {
-          strm >> iq;
-      }
-      else if (kvName == "dq") {
-          strm >> dq;
-      }
-      else if (kvName == "sq") {
-          strm >> sq;
-      }
-      else if (kvName == "mq") {
-          strm >> mq;
-      }
-      else if (kvName == "st") {
-          strm >> st;
-      }
-      else if (kvName == "dt") {
-          strm >> dt;
-      }
-    }
-    else {
-      std::cout << "ERROR. Could not parse typed keyword value " << typedKVPair << std::endl;
-      exit(0);
-    }
-  }
-  return true;
-}
-
-void SAMAlignment::CopyQVs(std::vector<std::string> *optionalQVs) {  
-  optionalQVs->clear();
-  optionalQVs->push_back(iq);
-  optionalQVs->push_back(dq);
-  optionalQVs->push_back(sq);
-  optionalQVs->push_back(mq);
-  optionalQVs->push_back(st);
-  optionalQVs->push_back(dt);
-}
-
-const char* SAMAlignment::SAMAlignmentRequiredFieldNames[] = { "QNAME", "FLAG", 
-                                                               "RNAME", "POS", 
-                                                               "MAPQV", "CIGAR", 
-                                                               "RNEXT", "PNEXT", 
-                                                               "TLEN", "SEQ", "QUAL"} ;
-const char* optionalQVTags[] = {"iq", "dq", "sq", "mq", "st", "dt"};
-const char* optionalQVNames[] = {"InsertionQV", "DeletionQV", "SubstitutionQV",
-                                 "MergeQV", "SubstitutionTag", "DeletionTag"};
diff --git a/libcpp/pbdata/sam/SAMAlignment.hpp b/libcpp/pbdata/sam/SAMAlignment.hpp
deleted file mode 100644
index a4183fd..0000000
--- a/libcpp/pbdata/sam/SAMAlignment.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-#ifndef _BLASR_SAM_ALIGNMENT_HPP_
-#define _BLASR_SAM_ALIGNMENT_HPP_
-
-#include <string>
-#include <sstream>
-
-#include "sam/SAMKeywordValuePair.hpp"
-#include "sam/CigarString.h"
-
-class SAMAlignment {
- public:
-  enum SAMAlignmentRequiredFields {
-    S_QNAME,
-    S_FLAG,
-    S_RNAME,
-    S_POS,
-    S_MAPQV,
-    S_CIGAR,
-    S_RNEXT,
-    S_PNEXT,
-    S_TLEN,
-    S_SEQ,
-    S_QUAL};
-
-  static const char* SAMAlignmentRequiredFieldNames[];
-
-  std::string qName;
-  unsigned int flag;
-  std::string rName;
-  unsigned int pos;
-  short mapQV;
-  CigarString cigar;
-  std::string rNext;
-  int pNext;
-  int tLen;
-  std::string seq;
-  std::string qual;
-
-  // Optional tags defined in blasr:
-  // "RG" read group Id
-  // "AS" alignment score
-  // "XS" read alignment start position without counting previous soft clips (1 based) 
-  // "XE" read alignment end position without counting previous soft clips (1 based) 
-  // "XL" aligned read length 
-  // "XQ" query read length
-  // "XT" # of continues reads, always 1 for blasr 
-  // "NM" # of subreads 
-  // "FI" read alignment start position (1 based) 
-  //
-  float score;
-  int xs, xe;
-  int xl;
-  int xq;
-
-  std::string rg;
-  int as;
-  int xt;
-  int nm;
-  int fi;
-  std::string optTagStr; 
-  //
-  // Quality values.
-  //
-  std::string iq, dq, sq, mq, st, dt;	
-  static const char* optionalQVTags[];
-  static const char* optionalQVNames[];
-
-  //
-  // Initialize all optional fields.  Required fields will be
-  // assigned a value later.
-  //
-  SAMAlignment();
-
-  void PrintSAMAlignment(std::ostream &out = std::cout);
-
-  // Find position of the nth character in a string.
-  int FindPosOfNthChar(std::string str, int n, char c);
-
-  // Trim the end '\n\r' characters from a string.
-  std::string TrimStringEnd(std::string str);
-
-  bool StoreValues(std::string &line,  int lineNumber=0);
-  
-  // CopyQVs writes the strings from the optional QV tags to a vector. The
-  // order of QVs in the vector is given by optionalQVNames[]
-  void CopyQVs(std::vector<std::string> *optionalQVs);
-};
-
-
-class SAMPosAlignment : public SAMAlignment {
- public:
-  unsigned int qStart, qEnd;
-  unsigned int tStart, tEnd;
-  int qStrand, tStrand;
-};
-
-#endif
diff --git a/libcpp/pbdata/sam/SAMFlag.h b/libcpp/pbdata/sam/SAMFlag.h
deleted file mode 100644
index 10b311d..0000000
--- a/libcpp/pbdata/sam/SAMFlag.h
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifndef SAM_FLAG_H_
-#define SAM_FLAG_H_
-
-inline bool IsMultipleSegment(unsigned int flag) {
-  return flag & 0x1;
-}
-
-inline bool AllSegmentsMapped(unsigned int flag) {
-  return flag & 0x2;
-}
-
-inline bool SegmentUnmapped(unsigned int flag) {
-  return flag & 0x4;
-}
-
-inline bool NextUnmapped(unsigned int flag) {
-  return flag & 0x8;
-}
-
-inline bool IsReverseComplement(unsigned int flag) {
-  return flag & 0x10;
-}
-
-inline bool IsNextReverseComplement(unsigned int flag) {
-  return flag & 0x20;
-}
-
-inline bool IsSegemntFirst(unsigned int flag) {
-  return flag & 0x40;
-}
-
-inline bool IsSegmentLast(unsigned int flag) { 
-  return  flag & 0x80;
-}
-
-inline bool IsSecondaryAlignment(unsigned int flag) {
-  return flag & 0x100;
-}
-
-inline bool IsNotPassedQuality(unsigned int flag) {
-  return flag & 0x200;
-}
-
-inline bool IsDuplicate(unsigned int flag) {
-  return flag & 0x400;
-}
-
-#endif
diff --git a/libcpp/pbdata/sam/SAMHeader.cpp b/libcpp/pbdata/sam/SAMHeader.cpp
deleted file mode 100644
index 00c3d33..0000000
--- a/libcpp/pbdata/sam/SAMHeader.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-#include "SAMHeader.hpp"
-#include <algorithm>
-
-void SAMHeader::StoreValues(std::vector<SAMKeywordValuePair> &kvPairs,
-                            int lineNumber) {
-  int i;
-  for ( i = 0; i < kvPairs.size(); i++) {
-    if (kvPairs[i].key == "VN") {
-      formatVersion = kvPairs[i].value;
-    }
-    else if (kvPairs[i].key == "SO") {
-      string value = kvPairs[i].value;
-      std::transform(value.begin(), value.end(), value.begin(), ::tolower);
-      if (value == "unknown" || value == "unsorted") {
-        sortingOrder = unknown;
-      }
-      else if (value == "sorted") {
-        sortingOrder = sorted;
-      }
-      else if (value == "queryname") {
-        sortingOrder =queryname;
-      }
-      else if (value == "coordinate") {
-        sortingOrder = coordinate;
-      }
-      else {
-        std::cout << "Invalid sorting order " << kvPairs[i].value << " at line " << lineNumber;
-      }
-    }
-  }
-}
diff --git a/libcpp/pbdata/sam/SAMHeader.hpp b/libcpp/pbdata/sam/SAMHeader.hpp
deleted file mode 100644
index 0a862a3..0000000
--- a/libcpp/pbdata/sam/SAMHeader.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef _BLASR_SAM_HEADER_HPP_
-#define _BLASR_SAM_HEADER_HPP_
-
-#include <string>
-
-#include "sam/SAMKeywordValuePair.hpp"
-
-class SAMHeader {
- public:
-  string formatVersion;
-  enum SortingOrder {unknown, sorted , queryname, coordinate};
-  SortingOrder sortingOrder;
-
-  void StoreValues(std::vector<SAMKeywordValuePair> &kvPairs, int lineNumber = 0);
-};
-
-
-#endif
diff --git a/libcpp/pbdata/sam/SAMKeywordValuePair.cpp b/libcpp/pbdata/sam/SAMKeywordValuePair.cpp
deleted file mode 100644
index c034228..0000000
--- a/libcpp/pbdata/sam/SAMKeywordValuePair.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-#include "SAMKeywordValuePair.hpp"
-
-
-bool SplitSAMKeyValuePair(std::string &kvPair, std::string &key, std::string &value) {
-  int sepIndex = kvPair.find_first_of(":");
-  if (sepIndex == kvPair.npos) {
-    return false;
-  }
-  else {
-    key = kvPair.substr(0, sepIndex);
-    value = kvPair.substr(sepIndex+1);
-    return true;
-  }
-}
-
-bool SplitSAMTypedKeyValuePair(std::string kvPair, std::string &key,
-                               std::string &kvType, std::string &value) {
-  std::vector<std::string> strValues;
-  ParseSeparatedList(kvPair, strValues, ':', 3);
-  if (strValues.size() != 3) {
-    return false;
-  }
-  else {
-    key = strValues[0];
-    kvType = strValues[1];
-    value  = strValues[2];
-    return true;
-  }
-}
-
-bool TypedKeywordValuePair::Separate(std::string &kvPair, std::string &kvKey,
-                                     std::string &kvType, std::string &kvValue) {
-  if (SplitSAMTypedKeyValuePair(kvPair, kvKey, kvType, kvValue) == false) {
-    return false;
-  }
-  return true;
-}
-
-void KeywordValueStringsToPairs(std::vector<std::string> &kvStrings, std::vector<SAMKeywordValuePair> &kvPairs) {
-
-  kvPairs.resize(kvStrings.size());
-
-  if (kvStrings.size() == 0) {
-    return;
-  }
-
-  int i;
-  for (i = 0; i < kvStrings.size(); i++ ) {
-    SplitSAMKeyValuePair(kvStrings[i], kvPairs[i].key, kvPairs[i].value);
-  }
-}
diff --git a/libcpp/pbdata/sam/SAMKeywordValuePair.hpp b/libcpp/pbdata/sam/SAMKeywordValuePair.hpp
deleted file mode 100644
index b4610f8..0000000
--- a/libcpp/pbdata/sam/SAMKeywordValuePair.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef _BLASR_SAM_KVPAIR_HPP_
-#define _BLASR_SAM_KVPAIR_HPP_
-
-#include <stdlib.h>
-
-#include <string>
-#include <iostream>
-#include <vector>
-
-#include "StringUtils.hpp"
-
-
-class SAMKeywordValuePair {
- public:
-     std::string key;
-     std::string value;
-};
-
-bool SplitSAMKeyValuePair(std::string &kvPair, std::string &key, std::string &value);
-
-bool SplitSAMTypedKeyValuePair(std::string kvPair, std::string &key,
-                               std::string &kvType, std::string &value);
-
-template<typename T>
-void StoreValue(std::string &valueStr, T &value);
-
-void KeywordValueStringsToPairs(std::vector<std::string> &kvStrings,
-                                std::vector<SAMKeywordValuePair> &kvPairs);
-
-class TypedKeywordValuePair {
- public:
-  static bool Separate(std::string &kvPair, std::string &kvKey,
-                       std::string &kvType, std::string &kvValue);
-};
-
-
-template<typename T_Value>
-class KeywordValuePair {
- public:
-
-  static bool Parse(std::string &kvPair,
-                    const char *key, T_Value &result);
-  
-  static bool Store(std::string &valueStr, T_Value &value);
-
-};
-
-#include "SAMKeywordValuePairImpl.hpp"
-
-#endif
diff --git a/libcpp/pbdata/sam/SAMKeywordValuePairImpl.hpp b/libcpp/pbdata/sam/SAMKeywordValuePairImpl.hpp
deleted file mode 100644
index 624acc5..0000000
--- a/libcpp/pbdata/sam/SAMKeywordValuePairImpl.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-template<typename T>
-void StoreValue(std::string &valueStr, T &value) {
-  std::stringstream strm(valueStr);
-  if (!(strm >> value)) {
-    std::cout <<"Error parsing " << valueStr << std::endl;
-    exit(1);
-  }
-}
-
-template<typename T_Value>
-bool KeywordValuePair<T_Value>::Parse(std::string &kvPair,
-                                      const char *key, T_Value &result) {
-  std::string kvKey, kvValue;
-  SplitSAMKeyValuePair(kvPair, kvKey, kvValue);
-  if (kvKey != key) {
-    return false;
-  }
-  else {
-    std::stringstream strm(kvValue);
-    if ( ! (kvValue >> result) ) {
-      return false;
-    }
-    else {
-      return true;
-    }
-  }
-}
-
-template<typename T_Value>
-bool KeywordValuePair<T_Value>::Store(std::string &valueStr, T_Value &value) {
-  return (std::stringstream(valueStr) >> value);
-}
diff --git a/libcpp/pbdata/sam/SAMReader.hpp b/libcpp/pbdata/sam/SAMReader.hpp
deleted file mode 100644
index 16688d8..0000000
--- a/libcpp/pbdata/sam/SAMReader.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef _BLASR_SAM_READER_HPP_
-#define _BLASR_SAM_READER_HPP_
-
-#include "sam/SAMKeywordValuePair.hpp"
-#include "sam/ReadGroup.hpp"
-#include "sam/ReferenceSequence.hpp"
-
-#include "sam/AlignmentSet.hpp"
-#include "StringUtils.hpp"
-#include "utils.hpp"
-
-template<typename T_ReferenceSequence, typename T_ReadGroup, typename T_SAMAlignment>
-class SAMReader {
-  public:
-  int lineNumber;
-  std::ifstream samFile;
-  std::istream *samFilePtr;
-  bool Initialize(std::string samFileName);
-
-  void Close();
-
-  enum LineType {Blank, HSHeader, HSSequence, HSReadGroup, HSProgram, HSComment, Alignment, Error};
-
-  void GetLine(std::istream &in, std::string &line);
-
-  bool LineTypeIsHeader(LineType lineType);
-
-  bool PeekLineIsHeader(std::istream &in);
-
-  LineType GetLineType(std::string &line);
- 
-  void StoreKVPairs(std::string line, std::vector<SAMKeywordValuePair> &kvPairs);
- 
-  int StoreHeader(std::vector<SAMKeywordValuePair> &kvPairs,
-                  AlignmentSet<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment> &alignments);
-
-  void StoreReferenceSequence(std::vector<SAMKeywordValuePair> &kvPairs,
-                              AlignmentSet<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment> &alignments);
-
-  void StoreReadGroup(std::vector<SAMKeywordValuePair> &kvPairs,
-                      AlignmentSet<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment> &alignments);
-
-  void StoreAlignment(std::string & line,
-                      AlignmentSet<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment> &alignments);
-    
-  // Not implemented
-  void StoreProgram(std::vector<SAMKeywordValuePair> &kvPairs,
-                    AlignmentSet<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment> &alignments ) {}
-
-  void Read(std::string samFileName, AlignmentSet<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment> &alignments);
-
-  std::vector<std::string> ReadHeader(AlignmentSet<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment> &alignments);
- 
-  void Read(AlignmentSet<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment> &alignments);
-
-  bool GetNextAlignment(SAMAlignment &alignment);
-};
-
-#include "SAMReaderImpl.hpp"
-
-#endif
diff --git a/libcpp/pbdata/sam/SAMReaderImpl.hpp b/libcpp/pbdata/sam/SAMReaderImpl.hpp
deleted file mode 100644
index b92ffc1..0000000
--- a/libcpp/pbdata/sam/SAMReaderImpl.hpp
+++ /dev/null
@@ -1,197 +0,0 @@
-#ifndef _BLASR_SAM_READER_IMPL_HPP_
-#define _BLASR_SAM_READER_IMPL_HPP_
-#include <iostream>
-#include "SAMReader.hpp"
-
-template<typename T_ReferenceSequence, typename T_ReadGroup, typename T_SAMAlignment>
-bool SAMReader<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment>::Initialize(std::string samFileName) {
-  if(samFileName != "stdin") {
-    CrucialOpen(samFileName, samFile, std::ios::in);
-    samFilePtr = &samFile;
-  } else {
-    samFilePtr = &std::cin;
-  }
-}
-
-template<typename T_ReferenceSequence, typename T_ReadGroup, typename T_SAMAlignment>
-void SAMReader<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment>::Close() {
-  if(samFile.is_open()) {
-    samFile.close();
-  }
-}
-
-template<typename T_ReferenceSequence, typename T_ReadGroup, typename T_SAMAlignment>
-void SAMReader<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment>::GetLine(std::istream &in, std::string &line) {
-  getline(in, line);
-}
-
-template<typename T_ReferenceSequence, typename T_ReadGroup, typename T_SAMAlignment>
-bool SAMReader<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment>::LineTypeIsHeader(LineType lineType) {
-  return (lineType == HSHeader or
-          lineType == HSSequence or
-          lineType == HSReadGroup or 
-          lineType == HSProgram or 
-          lineType == HSComment);
-}
-
-template<typename T_ReferenceSequence, typename T_ReadGroup, typename T_SAMAlignment>
-bool SAMReader<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment>::PeekLineIsHeader(std::istream &in) {
-  if (in and in.peek() == '@') {
-    return true;
-  }
-  else {
-    return false;
-  }
-}
-
-template<typename T_ReferenceSequence, typename T_ReadGroup, typename T_SAMAlignment>
-typename SAMReader<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment>::LineType
-SAMReader<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment>::GetLineType(std::string &line) {
-  if (line.length() == 0) {
-    return Blank;
-  }
-  else if (line[0] == '@') {
-    std::stringstream strm(line);
-    std::string tag;
-    strm >> tag;
-    if (tag == "@HD") { return HSHeader; }
-    else if (tag == "@SQ") { return HSSequence; }
-    else if (tag == "@RG") { return HSReadGroup; }
-    else if (tag == "@PG") { return HSProgram; }
-    else if (tag == "@CO") { return HSComment; }
-    else { return Error; }
-  }
-  else {
-    return Alignment;
-  }
-}
-
-template<typename T_ReferenceSequence, typename T_ReadGroup, typename T_SAMAlignment>
-void SAMReader<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment>::StoreKVPairs(std::string line,
-                             std::vector<SAMKeywordValuePair> &kvPairs) {
-  //
-  // Split on tab delineated line.
-  //
-  std::vector<std::string> kvPairStrings;
-  Splice(line, "\t", kvPairStrings);
-  KeywordValueStringsToPairs(kvPairStrings, kvPairs);
-}
-
-template<typename T_ReferenceSequence, typename T_ReadGroup, typename T_SAMAlignment>
-int SAMReader<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment>::StoreHeader(std::vector<SAMKeywordValuePair> &kvPairs,
-                           AlignmentSet<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment> &alignments) {
-  alignments.header.StoreValues(kvPairs, lineNumber);
-}
-
-template<typename T_ReferenceSequence, typename T_ReadGroup, typename T_SAMAlignment>
-void SAMReader<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment>::StoreReferenceSequence(std::vector<SAMKeywordValuePair> &kvPairs,
-                                       AlignmentSet<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment> &alignments) {
-  alignments.references.push_back(T_ReferenceSequence());
-  int lastRefIndex = alignments.references.size() - 1;
-  alignments.references[lastRefIndex].StoreValues(kvPairs, lineNumber);
-}
-
-template<typename T_ReferenceSequence, typename T_ReadGroup, typename T_SAMAlignment>
-void SAMReader<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment>::StoreReadGroup(std::vector<SAMKeywordValuePair> &kvPairs,
-                               AlignmentSet<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment> &alignments) {
-  alignments.readGroups.push_back(T_ReadGroup());
-  int lastReadGroupIndex = alignments.readGroups.size() - 1;
-  alignments.readGroups[lastReadGroupIndex].StoreValues(kvPairs, lineNumber);
-}
-
-template<typename T_ReferenceSequence, typename T_ReadGroup, typename T_SAMAlignment>
-void SAMReader<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment>::StoreAlignment(std::string & line,
-                               AlignmentSet<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment> &alignments) {
-  alignments.alignments.push_back(T_SAMAlignment());   
-  int lastAlignmentIndex = alignments.alignments.size() - 1;
-  alignments.alignments[lastAlignmentIndex].StoreValues(line, lineNumber);
-}
-
-template<typename T_ReferenceSequence, typename T_ReadGroup, typename T_SAMAlignment>
-void SAMReader<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment>::Read(std::string samFileName, AlignmentSet<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment> &alignments) {
-  Initialize(samFileName);
-  Read(alignments);
-}
-
-template<typename T_ReferenceSequence, typename T_ReadGroup, typename T_SAMAlignment>
-std::vector<std::string> SAMReader<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment>::ReadHeader(AlignmentSet<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment> &alignments) {
-  std::vector<std::string> allHeaders;
-  std::string line;
-  LineType lineType;
-  lineNumber = 0;
-  while (*samFilePtr and PeekLineIsHeader(*samFilePtr)) {
-    getline(*samFilePtr, line);
-    lineType = GetLineType(line);
-    if (LineTypeIsHeader(lineType)) {
-      allHeaders.push_back(line);
-      std::stringstream strm(line);
-      std::string tag;
-      strm >> tag;
-      std::string remainder;
-      getline(strm, remainder);
-      std::vector<SAMKeywordValuePair> kvPairs;
-      StoreKVPairs(remainder, kvPairs);
-      if (lineType == HSHeader) {
-        StoreHeader(kvPairs, alignments);
-      }
-      else if (lineType == HSSequence) {
-        StoreReferenceSequence(kvPairs, alignments);
-      }
-      else if (lineType == HSReadGroup) {
-        StoreReadGroup(kvPairs, alignments);
-      }
-      else if (lineType == HSProgram) {
-        StoreProgram(kvPairs, alignments);
-      }
-      else if (lineType == HSComment) {
-        // do nothing with comments for now.
-      }
-    }
-    ++lineNumber;
-  }
-  return allHeaders;
-}
-
-template<typename T_ReferenceSequence, typename T_ReadGroup, typename T_SAMAlignment>
-void SAMReader<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment>::Read(AlignmentSet<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment> &alignments) {
-  std::string line;
-  LineType lineType;
-  lineNumber = 0;
-  ReadHeader(alignments);
-  while (getline(*samFilePtr, line)) {
-    lineType = GetLineType(line);
-    if (LineTypeIsHeader(lineType)) {
-      std::cout << "ERROR! Header line found outside of the header at " << lineNumber << std::endl;
-      exit(1);
-    }
-    else if (lineType == Alignment) {
-      StoreAlignment(line, alignments);
-    }
-    else {
-      std::cout << "Error, line type unknown at " << lineNumber << std::endl;
-      std::cout << line << std::endl;
-      exit(1);
-    }
-    ++lineNumber;
-  }
-}
-
-template<typename T_ReferenceSequence, typename T_ReadGroup, typename T_SAMAlignment>
-bool SAMReader<T_ReferenceSequence, T_ReadGroup, T_SAMAlignment>::GetNextAlignment(SAMAlignment &alignment) {
-  if (*samFilePtr) {
-    std::string line;
-    if (getline(*samFilePtr, line)) {
-      alignment.StoreValues(line, lineNumber);
-      ++lineNumber;
-      return true;
-    }
-    else {
-      return false;
-    }
-  }
-  else {
-    return false;
-  }
-}
-
-#endif
diff --git a/libcpp/pbdata/utils.hpp b/libcpp/pbdata/utils.hpp
deleted file mode 100644
index 9686cb5..0000000
--- a/libcpp/pbdata/utils.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _BLASR_UTILS_HPP_
-#define _BLASR_UTILS_HPP_
-#include <cstdlib>
-#include <string>
-#include <iostream>
-#include <fstream>
-
-template<typename t_file>
-void CrucialOpen(std::string &fileName, t_file &file, 
-    std::ios_base::openmode mode=(std::ios_base::openmode)0 ); 
-
-template<typename T_Int>
-T_Int CeilOfFraction(T_Int num, T_Int denom);
-
-template<typename T>
-T* ProtectedNew(unsigned long size); 
-
-#include "utilsImpl.hpp"
-
-#endif // _BLASR_UTILS_HPP_
diff --git a/libcpp/pbdata/utils/BitUtils.cpp b/libcpp/pbdata/utils/BitUtils.cpp
deleted file mode 100644
index 0bc4bf3..0000000
--- a/libcpp/pbdata/utils/BitUtils.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-#include "BitUtils.hpp"
-
-int32_t CountBits(uint32_t v) {
-	/* 
-	 * Attribute Sean Anderson for this method.
-	 * The page: http://graphics.stanford.edu/~seander/bithacks.html
-	 * contains this code.
-	 */
-  return std::bitset<sizeof(uint32_t)*8>(v).count();
-/*
-	unsigned long long c;
-	c =  ((v & 0xfff) * 0x1001001001001ULL & 0x84210842108421ULL) % 0x1f;
-	c += (((v & 0xfff000) >> 12) * 0x1001001001001ULL & 0x84210842108421ULL) % 
-		0x1f;
-	c += ((v >> 24) * 0x1001001001001ULL & 0x84210842108421ULL) % 0x1f;
-	return c;*/
-}
-
-
-int GetSetBitPosition64(uint64_t v) {
-	unsigned int s;      // Output: Resulting position of bit with rank r [1-64]
-	uint64_t a, b, c, d; // Intermediate temporaries for bit count.
-	unsigned int t;      // Bit count temporary.
-		
-	unsigned int r=1;
-	// Do a normal parallel bit count for a 64-bit integer,                     
-	// but store all intermediate steps.                                        
-	// a = (v & 0x5555...) + ((v >> 1) & 0x5555...);
-	a =  v - ((v >> 1) & ~0UL/3);
-	// b = (a & 0x3333...) + ((a >> 2) & 0x3333...);
-	b = (a & ~0UL/5) + ((a >> 2) & ~0UL/5);
-	// c = (b & 0x0f0f...) + ((b >> 4) & 0x0f0f...);
-	c = (b + (b >> 4)) & ~0UL/0x11;
-	// d = (c & 0x00ff...) + ((c >> 8) & 0x00ff...);
-	d = (c + (c >> 8)) & ~0UL/0x101;
-	t = (d >> 32) + (d >> 48);
-	// Now do branchless select!                                                
-	s  = 64;
-	// if (r > t) {s -= 32; r -= t;}
-	s -= ((t - r) & 256) >> 3; r -= (t & ((t - r) >> 8));
-	t  = (d >> (s - 16)) & 0xff;
-	// if (r > t) {s -= 16; r -= t;}
-	s -= ((t - r) & 256) >> 4; r -= (t & ((t - r) >> 8));
-	t  = (c >> (s - 8)) & 0xf;
-	// if (r > t) {s -= 8; r -= t;}
-	s -= ((t - r) & 256) >> 5; r -= (t & ((t - r) >> 8));
-	t  = (b >> (s - 4)) & 0xf;
-	// if (r > t) {s -= 4; r -= t;}
-	s -= ((t - r) & 256) >> 6; r -= (t & ((t - r) >> 8));
-	t  = (a >> (s - 2)) & 0x3;
-	// if (r > t) {s -= 2; r -= t;}
-	s -= ((t - r) & 256) >> 7; r -= (t & ((t - r) >> 8));
-	t  = (v >> (s - 1)) & 0x1;
-	// if (r > t) s--;
-	s -= ((t - r) & 256) >> 8;
-	//	s = 64 - s;
-	s = s - 1;
-	return s;
-}
-
-unsigned int GetSetBitPosition32(UInt v) {
-	unsigned int r;      // Input: bit's desired rank [1-64].
-	unsigned int s;      // Output: Resulting position of bit with rank r [1-64]
-	uint32_t a, b, c, d; // Intermediate temporaries for bit count.
-	unsigned int t;      // Bit count temporary.
-	r = 1;
-	// Do a normal parallel bit count for a 64-bit integer,                     
-	// but store all intermediate steps.                                        
-	// a = (v & 0x5555...) + ((v >> 1) & 0x5555...);
-	a =  v - ((v >> 1) & ~0U/3);
-	// b = (a & 0x3333...) + ((a >> 2) & 0x3333...);
-	b = (a & ~0U/5) + ((a >> 2) & ~0U/5);
-	// c = (b & 0x0f0f...) + ((b >> 4) & 0x0f0f...);
-	c = (b + (b >> 4)) & ~0U/0x11;
-	// d = (c & 0x00ff...) + ((c >> 8) & 0x00ff...);
-	d = (c + (c >> 8)) & ~0U/0x101;
-	t = (d >> 16) + (d >> 24);
-
-
-	// Now do branchless select!                                                
-	s  = 32;
-	// if (r > t) {s -= 16; r -= t;}
-	s -= ((t - r) & 256) >> 4; r -= (t & ((t - r) >> 8));
-	t  = (c >> (s - 8)) & 0xf;
-	// if (r > t) {s -= 8; r -= t;}
-	s -= ((t - r) & 256) >> 5; r -= (t & ((t - r) >> 8));
-	t  = (b >> (s - 4)) & 0xf;
-	// if (r > t) {s -= 4; r -= t;}
-	s -= ((t - r) & 256) >> 6; r -= (t & ((t - r) >> 8));
-	t  = (a >> (s - 2)) & 0x3;
-	// if (r > t) {s -= 2; r -= t;}
-	s -= ((t - r) & 256) >> 7; r -= (t & ((t - r) >> 8));
-	t  = (v >> (s - 1)) & 0x1;
-	// if (r > t) s--;
-	s -= ((t - r) & 256) >> 8;
-	//	s = 32 - s;
-	s = s - 1;
-	return s;
-}
diff --git a/libcpp/pbdata/utils/BitUtils.hpp b/libcpp/pbdata/utils/BitUtils.hpp
deleted file mode 100644
index 3914b7c..0000000
--- a/libcpp/pbdata/utils/BitUtils.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef _BLASR_BIT_UTILS_HPP_
-#define _BLASR_BIT_UTILS_HPP_
-
-#include <stdint.h>
-#include <bitset>
-#include "Types.h"
-
-int32_t CountBits(uint32_t v); 
-
-int GetSetBitPosition64(uint64_t v); 
-
-unsigned int GetSetBitPosition32(UInt v); 
-
-#endif // _BLASR_BIT_UTILS_HPP_
diff --git a/libcpp/pbdata/utils/SMRTReadUtils.cpp b/libcpp/pbdata/utils/SMRTReadUtils.cpp
deleted file mode 100644
index b2430b0..0000000
--- a/libcpp/pbdata/utils/SMRTReadUtils.cpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-#include "SMRTReadUtils.hpp"
-
-void GetSMRTReadCoordinates(FASTQSequence &seq, int &x, int &y) {
-	std::string str(seq.title, seq.titleLength);
-	std::vector<std::string> titleTokens;
-	Splice(str, "_", titleTokens);
-	int i;
-	x = y = -1;
-	int cmp;
-	for (i = 0; i < titleTokens.size(); i++ ) {
-		if (titleTokens[i].size() > 1 && titleTokens[i][0] == 'x') {
-			x = atoi(&titleTokens[i].c_str()[1]);
-		}
-		if (titleTokens[i].size() > 1 && titleTokens[i][0] == 'y') {
-			y = atoi(&titleTokens[i].c_str()[1]);
-		}
-	}
-	assert("Could not parse a title to find an x coordinate" != 0 or x != -1);
-	assert("Could not parse a title to find a y coordiante" != 0 or y != -1);
-}
-
-void GetSpringfieldHoleNumberFromTitle(FASTQSequence &seq, unsigned int &holeNumber) {
-	std::vector<std::string> titleTokens;
-	Splice(seq.title, "/", titleTokens);
-	if (titleTokens.size() < 2) {
-		return;
-	}
-	holeNumber = atoi(titleTokens[1].c_str());
-}
-			
-bool ParsePBIReadName(std::string &readName, std::string &movieName, int &holeNumber) {
-  std::vector<std::string> tokens;
-  ParseSeparatedList(readName, tokens, '/');
-  if (tokens.size() < 2) {
-    movieName = "";
-    holeNumber = 0;
-    return false;
-  }
-  else {
-    movieName = tokens[0];
-    holeNumber = atoi(tokens[1].c_str());
-    return true;
-  }
-}
diff --git a/libcpp/pbdata/utils/SMRTReadUtils.hpp b/libcpp/pbdata/utils/SMRTReadUtils.hpp
deleted file mode 100644
index bbf0d9c..0000000
--- a/libcpp/pbdata/utils/SMRTReadUtils.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef _BLASR_SMRT_READ_UTILS_HPP_
-#define _BLASR_SMRT_READ_UTILS_HPP_
-
-#include <stdlib.h>
-
-#include "FASTQSequence.hpp"
-#include "StringUtils.hpp"
-
-void GetSMRTReadCoordinates(FASTQSequence &seq, int &x, int &y);
-
-void GetSpringfieldHoleNumberFromTitle(FASTQSequence &seq,
-                                       unsigned int &holeNumber);
-
-// Parse a PBIRead name of format movie/holeNumber/s_e, or /movie/holeNumber 
-// and get movieName, holeNumber.
-bool ParsePBIReadName(std::string &readName, std::string &movieName, int &holeNumber);
-
-#endif
diff --git a/libcpp/pbdata/utils/SMRTTitle.cpp b/libcpp/pbdata/utils/SMRTTitle.cpp
deleted file mode 100644
index d1c3262..0000000
--- a/libcpp/pbdata/utils/SMRTTitle.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-#include "utils/SMRTTitle.hpp"
-
-/// Parse a Pacbio read name, it is a SMRTTitle, get movieName, 
-/// holeNumber, start and end, set isSMRTTitle to be true. 
-/// Otherwise, set isSMRTTitle to be false.
-/// Two types of smrtTitles are supported:
-///     movie/zmw/start_end --> start = start, end = end
-///     movie/zmw/start_end/start2_end2 --> start = start+start2, end = start+end2
-/// \param[in]: readName, a PacBio read name string.
-SMRTTitle::SMRTTitle(const std::string & readName) {
-    isSMRTTitle = false;
-    movieName = "";
-    holeNumber = 0; 
-    start = end = 0;
-
-    std::vector<std::string> values;
-    ParseSeparatedList(readName, values, '/');
-
-    int numValues = values.size();
-    if (numValues == 3 or numValues == 4) {
-        movieName = values[0];
-        holeNumber = static_cast<UInt>(atoi(values[1].c_str()));
-        std::vector<std::string> offsets;
-        ParseSeparatedList(values[2], offsets, '_');
-        if (offsets.size() == 2) {
-            start = static_cast<DNALength>(atoi(offsets[0].c_str()));
-            end   = static_cast<DNALength>(atoi(offsets[1].c_str()));
-            if (numValues == 3) {
-                isSMRTTitle = true;
-            } else if (numValues == 4) {
-                offsets.clear();
-                ParseSeparatedList(values[3], offsets, '_');
-                if (offsets.size() == 2) {
-                    end   = static_cast<DNALength>(start + atoi(offsets[1].c_str()));
-                    start = static_cast<DNALength>(start + atoi(offsets[0].c_str()));
-                    isSMRTTitle = true;
-                }
-            }
-        }
-    }
-}
-
-std::string SMRTTitle::ToString() {
-    if (not isSMRTTitle) {
-        return "";
-    } else {
-        std::stringstream ss;
-        ss << movieName << "/" << holeNumber << "/" << start << "_" << end;
-        return ss.str();
-    }
-}
-
diff --git a/libcpp/pbdata/utils/SMRTTitle.hpp b/libcpp/pbdata/utils/SMRTTitle.hpp
deleted file mode 100644
index 33b108b..0000000
--- a/libcpp/pbdata/utils/SMRTTitle.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef _BLASR_SMRT_TITLE_HPP_
-#define _BLASR_SMRT_TITLE_HPP_
-#include <string>
-#include <vector>
-#include <sstream>
-#include "Types.h"
-#include "StringUtils.hpp"
-
-class SMRTTitle {
-public:
-    std::string movieName;
-    UInt holeNumber;
-    DNALength start;
-    DNALength end;
-    // if input name is a smrt title.
-    bool isSMRTTitle;
-
-    SMRTTitle(const std::string & name);
-
-    /// \returns smrt title movie/zmw/s_e, if input read is a smrt title;
-    /// otherwise, return an empty string.
-    std::string ToString();
-};
-#endif
diff --git a/libcpp/pbdata/utilsImpl.hpp b/libcpp/pbdata/utilsImpl.hpp
deleted file mode 100644
index ee899cd..0000000
--- a/libcpp/pbdata/utilsImpl.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef _BLASR_UTIL_IMPL_HPP_
-#define _BLASR_UTIL_IMPL_HPP_
-
-template<typename t_file>
-void CrucialOpen(std::string &fileName, t_file &file, std::ios_base::openmode mode) {
-	if (mode==0)
-		file.open(fileName.c_str());
-	else
-		file.open(fileName.c_str(), mode);
-
-	if (!file.good()) {
-		std::cout << "Could not open " << fileName << std::endl;
-		exit(1);
-	}
-}
-template<typename T_Int>
-T_Int CeilOfFraction(T_Int num, T_Int denom) {
-	return num / denom + ((num % denom) && 1);
-}
-
-template<typename T>
-T* ProtectedNew(unsigned long size) {
-    T* ptr;
-    ptr = new T[size];
-    if (ptr == NULL) {
-        std::cout << "ERROR, allocating " << size * sizeof(T) << " bytes.";
-        exit(1);
-    }
-    return ptr;
-}
-
-#endif
diff --git a/libcpp/rules.mk b/libcpp/rules.mk
deleted file mode 100644
index c836d78..0000000
--- a/libcpp/rules.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-ARFLAGS         := rc
-CXX_SHAREDFLAGS := -fPIC
-LD_SHAREDFLAGS  := -shared -fPIC
-CPPFLAGS        += $(patsubst %,-I%,${INCLUDES})
-
-
-%.a:
-	${AR} $(ARFLAGS) $@ $^
-
-%.so:
-	${CXX} ${LD_SHAREDFLAGS} ${LDFLAGS} -o $@ $^
-
-%.o: %.cpp
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(LEGACY) $(CPPFLAGS) -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.o) $(@:%.o=%.d)" -c $< -o $@
-
-%.shared.o: %.cpp
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(LEGACY) $(CPPFLAGS) $(CXX_SHAREDFLAGS) -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.o) $(@:%.o=%.d)" -c $< -o $@
diff --git a/libcpp/simple.mk b/libcpp/simple.mk
deleted file mode 100644
index e725a6e..0000000
--- a/libcpp/simple.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-SHELL          = bash
-G_BUILDOS_CMD := bash -c 'set -e; set -o pipefail; id=$$(lsb_release -si | tr "[:upper:]" "[:lower:]"); rel=$$(lsb_release -sr); case $$id in ubuntu) printf "$$id-%04d\n" $${rel/./};; centos) echo "$$id-$${rel%%.*}";; *) echo "$$id-$$rel";; esac' 2>/dev/null
-OS_STRING     ?= $(shell $(G_BUILDOS_CMD))
-
-# magic for non-verbose builds
-V ?= 0
-
-CXX_0 = @echo "  CXX	$@"; $(CXX)
-CXX_1 = $(CXX)
-CXX_pp = $(CXX_$(V))
-
-AR_0 = @echo "  AR	$@"; $(AR)
-AR_1 = $(AR)
-AR_pp = $(AR_$(V))
-
-ARFLAGS := rc
diff --git a/libcpp/unittest/.gitignore b/libcpp/unittest/.gitignore
deleted file mode 100644
index 26ca380..0000000
--- a/libcpp/unittest/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/test-runner
diff --git a/libcpp/unittest/Makefile b/libcpp/unittest/Makefile
deleted file mode 100644
index fe48ef7..0000000
--- a/libcpp/unittest/Makefile
+++ /dev/null
@@ -1,151 +0,0 @@
-SHELL=bash
-
-V  := 0
-V@ := @
-ifeq ($(V),$(filter $(V),1))
-    # Enable verbose mode if V=1 or V= specified on command ine
-    V@ :=
-endif
-
-MKDIR := mkdir
-
-null :=
-space := $(null) $(null)
-
-
-
-OUTDIR := _output
-
-GTEST_SRCDIR       := __UNSET__
-
-LIBBLASR_INCLUDE   := __UNSET__
-LIBPBIHDF_INCLUDE  := __UNSET__
-LIBPBDATA_INCLUDE  := __UNSET__
-PBBAM_INCLUDE      := __UNSET__
-HTSLIB_INCLUDE     := __UNSET__
-HDF5_INCLUDE       := __UNSET__
-BOOST_INCLUDE      := __UNSET__
-GTEST_INCLUDE      := __UNSET__
-
-LIBBLASR_LIB       := __UNSET__
-LIBPBIHDF_LIB      := __UNSET__
-LIBPBDATA_LIB      := __UNSET__
-PBBAM_LIB          := __UNSET__
-HTSLIB_LIB         := __UNSET__
-HDF5_LIB           := __UNSET__
-ZLIB_LIB           := __UNSET__
-
-
-
-broken_test_sources := \
-	alignment/files/ReaderAgglomerate_gtest.cpp \
-	alignment/format/SAMHeaderPrinter_gtest.cpp \
-	alignment/format/SAMPrinter_gtest.cpp \
-	alignment/utils/FileUtils_gtest.cpp \
-	$(null)
-
-
-gtest_sources  := $(GTEST_SRCDIR)/gtest/gtest-all.cc \
-                  $(GTEST_SRCDIR)/gtest/gtest_main.cc \
-		  $(null)
-
-test_sources   := $(wildcard pbdata/*.cpp) \
-                  $(wildcard pbdata/utils/*.cpp) \
-                  $(wildcard pbdata/metagenome/*.cpp) \
-                  $(wildcard pbdata/saf/*.cpp) \
-                  $(wildcard pbdata/reads/*.cpp) \
-                  $(wildcard pbdata/qvs/*.cpp)  \
-                  \
-                  $(wildcard hdf/*.cpp) \
-                  \
-                  $(wildcard alignment/*.cpp) \
-                  $(wildcard alignment/utils/*.cpp) \
-                  $(wildcard alignment/datastructures/alignment/*.cpp) \
-                  $(wildcard alignment/files/*.cpp) \
-                  $(wildcard alignment/format/*.cpp) \
-                  $(null)
-
-# Remove broken tests from the test_sources list
-test_sources   := $(filter-out $(broken_test_sources),$(test_sources))
-
-
-sources   := $(gtest_sources) $(test_sources)
-objects   := $(patsubst %.cc,$(OUTDIR)/%.o,$(filter %.cc,$(sources))) \
-             $(patsubst %.cpp,$(OUTDIR)/%.o,$(filter %.cpp,$(sources))) \
-             $(null)
-depfiles  := $(objects:%.o=%.d)
-
-
-includes := \
-    -I. \
-    -I$(GTEST_INCLUDE) \
-    -I$(LIBBLASR_INCLUDE) \
-    -I$(LIBPBIHDF_INCLUDE) \
-    -I$(LIBPBDATA_INCLUDE) \
-    -I$(PBBAM_INCLUDE) \
-    -I$(HTSLIB_INCLUDE) \
-    -I$(HDF5_INCLUDE) \
-    -I$(BOOST_INCLUDE) \
-    $(null)
-
-libs := \
-    $(LIBBLASR_LIB) \
-    $(LIBPBIHDF_LIB) \
-    $(LIBPBDATA_LIB) \
-    $(PBBAM_LIB) \
-    $(HTSLIB_LIB) \
-    $(HDF5_LIB) \
-    $(HDF5_CPP_LIB) \
-    $(ZLIB_LIB) \
-    $(null)
-
-
-sys_ldflags := -lpthread -ldl -lrt
-
-
-cxxopts := -std=c++11 -Wno-div-by-zero 
-cxxflags := -O3
-ldflags := $(libs) $(sys_ldflags)
-
-
-
-CPPFLAGS := $(includes) $(EXTRA_CPPFLAGS)
-CXXFLAGS := $(cxxflags) $(cxxopts) $(EXTRA_CXXFLAGS)
-LDLIBS   := $(ldflags) $(EXTRA_LDLIBS)
-
-OUTPUT_OPTION = -o $@
-COMPILE.cpp   = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
-COMPILE.cc    = $(COMPILE.cpp)
-LINK.o        = $(CXX) $(LDFLAGS) $(TARGET_ARCH)
-
-
-all: test-runner
-
-test-runner: $(objects)
-	$(V@)$(LINK.o) $^ $(LDLIBS) $(OUTPUT_OPTION)
-
-gtest: test-runner
-	$(V@)LD_LIBRARY_PATH=$(subst $(space),:,$(strip $(dir $(libs)))) ./$< --gtest_output=xml:$(OUTDIR)/xml/all.xml
-
-# Build objects
-$(OUTDIR)/%.o: %.cpp
-	@echo "  CXX    $@"
-	$(V@)$(COMPILE.cpp) $(OUTPUT_OPTION) $<
-
-$(OUTDIR)/%.o: %.cc
-	@echo "  CXX    $@"
-	$(V@)$(COMPILE.cc) $(OUTPUT_OPTION) $<
-
-# Make all directories of object files 'order-only' dependencies of all objects
-# This will make all the output directories we need before building any objects
-$(objects): | $(dir $(objects))
-
-# Create any output directories
-$(OUTDIR)/%/:
-	$(V@)$(MKDIR) -p "$@"
-
-
-clean:
-	$(V@)$(RM) -r $(OUTDIR)
-
--include ($DEPS)
diff --git a/libcpp/unittest/alignment/Makefile b/libcpp/unittest/alignment/Makefile
deleted file mode 100644
index 154ab5e..0000000
--- a/libcpp/unittest/alignment/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-include ../../rules.mk
-include ../defines.mk
-
-SOURCES    = $(wildcard *.cpp) \
-		     $(wildcard utils/*.cpp) \
-		     $(wildcard datastructures/alignment/*.cpp) \
-		     $(wildcard files/*.cpp) \
-		     $(wildcard format/*.cpp) 
-
-ifneq ($(origin nopbbam), undefined)
-	SOURCES := $(filter-out format/SAMHeaderPrinter_gtest.cpp, $(SOURCES))
-endif
-
-OBJECTS    = $(SOURCES:.cpp=.o)
-
-EXE := test-runner
-
-all debug profile: $(EXE)
-
-libblasr_gtest.a: $(OBJECTS)
-	$(AR) $(ARFLAGS)c $@ $^
-
-$(EXE): $(OBJECTS)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $^ $(GTEST_SRC) -o $@ -I$(GTEST_ROOT) $(LIBDIRS) $(LDFLAGS)
-
-$(OBJECTS): %.o: %.cpp
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) -c $< -o $@ $(INCDIRS)
-
-gtest: $(EXE)
-	./$< --gtest_output=xml:../xml/alignment.xml
-
-clean:
-	@find . -type f -name \*.o -delete
-	@find . -type f -name \*.d -delete
-	@rm -f libblasr_gtest.a $(EXE) ../xml/alignment.xml
diff --git a/libcpp/unittest/alignment/datastructures/alignment/AlignmentMap_gtest.cpp b/libcpp/unittest/alignment/datastructures/alignment/AlignmentMap_gtest.cpp
deleted file mode 100644
index 52bdb2b..0000000
--- a/libcpp/unittest/alignment/datastructures/alignment/AlignmentMap_gtest.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  AlignmentMap_gtest.cpp
- *
- *    Description:  Test alignment/datastructures/alignment/AlignmentMap.hpp
- *
- *        Version:  1.0
- *        Created:  11/29/2012 01:47:50 PM
- *       Revision:  08/20/2014 
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#include <climits>
-#include <iostream>
-#include <fstream>
-#include "datastructures/alignment/AlignmentMap.hpp"
-#include "gtest/gtest.h"
-
-using namespace std;
-// Test 
-// void CreateSequenceToAlignmentMap(const string & alignedSequence,
-//         vector<int> & baseToAlignmentMap); 
-TEST(AlignmentMap, CreateSequenceToAlignmentMap) {
-    const string & alignedSequence1 = "ATCTGAG-AAA-";
-    const int size1 = 10;
-    int map1[size1] = {0, 1, 2, 3, 4,5, 6, 8, 9, 10};
-
-    const string & alignedSequence2 = "--ATCTGAG----AAA----";
-    const int size2 = 10;
-    int map2[size2] = {2,3,4,5,6,7,8,13,14,15};
-
-    const string & alignedSequence3 = "-------";
-    const int size3 = 0;
-
-    vector <int> resMap1;
-    CreateSequenceToAlignmentMap(alignedSequence1, resMap1); 
-    EXPECT_EQ(size1, resMap1.size());
-    for (int i = 0; i < size1; i++) {
-        // cout << resMap1[i] << ", ";
-        EXPECT_EQ(map1[i], resMap1[i]);
-    }
-    // cout << endl;
-
-    vector <int> resMap2;
-    CreateSequenceToAlignmentMap(alignedSequence2, resMap2);
-    EXPECT_EQ(size2, resMap2.size());
-    for (int i = 0; i < size2; i++) {
-    //    cout << resMap1[i] << ", ";
-        EXPECT_EQ(map2[i], resMap2[i]);
-    }
-    // cout << endl;
-    
-    vector <int> resMap3;
-    CreateSequenceToAlignmentMap(alignedSequence3, resMap3);
-    EXPECT_EQ(size3, resMap3.size());
-
-}
diff --git a/libcpp/unittest/alignment/datastructures/alignment/CmpIndexedStringTable_gtest.cpp b/libcpp/unittest/alignment/datastructures/alignment/CmpIndexedStringTable_gtest.cpp
deleted file mode 100644
index 7080876..0000000
--- a/libcpp/unittest/alignment/datastructures/alignment/CmpIndexedStringTable_gtest.cpp
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  CmpIndexedStringTable_gtest.cpp
- *
- *    Description:  Test alignment/datastructures/alignment/CmpIndexedStringTable.h
- *
- *        Version:  1.0
- *        Created:  11/29/2012 01:50:24 PM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-#include "gtest/gtest.h"
-#include "datastructures/alignment/CmpIndexedStringTable.h"
-
-int    ids[5]   = {1,    2,    3,    30,    5};
-string names[5] = {"n1", "n2", "n3", "n30", "n5"};
-class CmpIndexedStringTableTest : public ::testing::Test {
-public:
-    //Be careful, SetUp() not Setup()
-    virtual void SetUp() {
-        for(int i = 0; i < 5; i++) {
-            cmpIndexedStringTableTest.ids.push_back(ids[i]);
-            cmpIndexedStringTableTest.names.push_back(names[i]);
-        }
-        cmpIndexedStringTableTest.StoreArrayIndexMap();
-
-    }
-
-    virtual void TearDown() {
-    
-    }
-
-    CmpIndexedStringTable cmpIndexedStringTableTest;
-};
-
-
-//
-// Test resize(int size)
-//
-TEST_F (CmpIndexedStringTableTest, resize) {
-    cmpIndexedStringTableTest.resize(10);
-
-    EXPECT_EQ(cmpIndexedStringTableTest.names.size(), 10);
-    EXPECT_EQ(cmpIndexedStringTableTest.ids.size(), 10);
-}
-
-//
-// Test StoreArrayIndexMap()
-//
-TEST_F (CmpIndexedStringTableTest, StoreArrayIndexMap) {
-    for(int i = 0; i < cmpIndexedStringTableTest.ids.size(); i++) {
-        EXPECT_EQ(cmpIndexedStringTableTest.idToArrayIndex.find(cmpIndexedStringTableTest.ids[i])->second, i);
-    }
-    EXPECT_EQ(cmpIndexedStringTableTest.idToArrayIndex.find(1 )->second,  0);
-    EXPECT_EQ(cmpIndexedStringTableTest.idToArrayIndex.find(2 )->second,  1);
-    EXPECT_EQ(cmpIndexedStringTableTest.idToArrayIndex.find(3 )->second,  2);
-    EXPECT_EQ(cmpIndexedStringTableTest.idToArrayIndex.find(30)->second, 3);
-    EXPECT_EQ(cmpIndexedStringTableTest.idToArrayIndex.find(5 )->second,  4);
-}
-
-//
-// Test GetIndexOfId(int id, int & index)
-//
-TEST_F (CmpIndexedStringTableTest, GetIndexOfId) {
-    int index = -1;
-    int i = 0;
-    for(i = 0; i < cmpIndexedStringTableTest.ids.size(); i++) {
-        cmpIndexedStringTableTest.GetIndexOfId(ids[i], index);
-        EXPECT_EQ(index, i);
-    }
-    i = 1;
-    cmpIndexedStringTableTest.GetIndexOfId(i, index);
-    EXPECT_EQ(index, 0);
-
-    i = 2;
-    cmpIndexedStringTableTest.GetIndexOfId(i, index);
-    EXPECT_EQ(index, 1);
-
-    i = 3;
-    cmpIndexedStringTableTest.GetIndexOfId(i, index);
-    EXPECT_EQ(index, 2);
-    
-    i = 5;
-    cmpIndexedStringTableTest.GetIndexOfId(i, index);
-    EXPECT_EQ(index, 4);
-    
-    i = 30;
-    cmpIndexedStringTableTest.GetIndexOfId(i, index);
-    EXPECT_EQ(index, 3);
-}
-
-//
-// Test GetNameAtIndex(int index, string & name)
-//
-TEST_F (CmpIndexedStringTableTest, GetNameAtIndex) {
-    // "Warning: the terminology of CmpIndexedStringTable.GetNameAtIndex
-    // is confusing" 
-        
-    int index;
-    string name;
-    bool found;
-    
-    index = 1;
-    found = cmpIndexedStringTableTest.GetNameAtIndex(index, name);
-    EXPECT_EQ(name, "n1");
-    EXPECT_TRUE(found);
-
-
-    index = 2;
-    found = cmpIndexedStringTableTest.GetNameAtIndex(index, name);
-    EXPECT_EQ(name, "n2");
-    EXPECT_TRUE(found);
-
-
-    index = 3;
-    found = cmpIndexedStringTableTest.GetNameAtIndex(index, name);
-    EXPECT_EQ(name, "n3");
-    EXPECT_TRUE(found);
-
-    index = 30;
-    found = cmpIndexedStringTableTest.GetNameAtIndex(index, name);
-    EXPECT_EQ(name, "n30");
-    EXPECT_TRUE(found);
-    
-    index = 5;
-    found = cmpIndexedStringTableTest.GetNameAtIndex(index, name);
-    EXPECT_EQ(name, "n5");
-    EXPECT_TRUE(found);
-
-    //
-    //test getting name at an out-of-boundary index
-    //
-    index = 100;
-    found = cmpIndexedStringTableTest.GetNameAtIndex(index, name);
-    EXPECT_FALSE(found);
-}
-
diff --git a/libcpp/unittest/alignment/files/CCSIterator_gtest.cpp b/libcpp/unittest/alignment/files/CCSIterator_gtest.cpp
deleted file mode 100644
index eba2a24..0000000
--- a/libcpp/unittest/alignment/files/CCSIterator_gtest.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  CCSIterator_gtest.cpp
- *
- *    Description:  Test alignment/files/CCSIterator.hpp
- *
- *        Version:  1.0
- *        Created:  11/29/2012 04:51:02 PM
- *       Revision:  08/20/2014 
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-
-#include "gtest/gtest.h"
-#include "files/CCSIterator.hpp"
-#include "reads/RegionTable.hpp"
-#include "HDFRegionTableReader.hpp"
-#include "pbdata/testdata.h"
-
-using namespace std;
-
-class CCSIteratorTestFixture: public testing::Test {
-public:
-    CCSIteratorTestFixture() {
-    }
-
-    void SetUp() {
-        fileName = baxFile2; 
-        reader = new HDFRegionTableReader();
-        ccs = new CCSSequence();
-        rgn = new RegionTable();
-
-        int rev = reader->Initialize(fileName);
-        EXPECT_TRUE(rev);
-        reader->ReadTable(*rgn);
-        reader->Close();
-
-        rgn->SortTableByHoleNumber();
-    }
-
-    void TearDown() {
-        if (reader) delete reader;
-        if (ccs) delete ccs;
-        if (rgn) delete rgn;
-    }
-
-    ~CCSIteratorTestFixture() {
-    }
-
-    string fileName;
-    HDFRegionTableReader * reader;
-    CCSSequence * ccs;
-    RegionTable * rgn;
-    CCSIterator it;
-};
-
-
-TEST_F(CCSIteratorTestFixture, Initialize) {
- 
-}
diff --git a/libcpp/unittest/alignment/files/FragmentCCSIterator_gtest.cpp b/libcpp/unittest/alignment/files/FragmentCCSIterator_gtest.cpp
deleted file mode 100644
index e1b2d0c..0000000
--- a/libcpp/unittest/alignment/files/FragmentCCSIterator_gtest.cpp
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  FragmentCCSIterator_gtest.cpp
- *
- *    Description:  Test alignment/files/FragmentCCSIterator.hpp
- *
- *        Version:  1.0
- *        Created:  11/29/2012 04:51:29 PM
- *       Revision:  08/20/2014
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#include <algorithm>
-#include <stdio.h>
-#include <string.h>
-#include "files/FragmentCCSIterator.hpp"
-#include "reads/RegionTable.hpp"
-#include "HDFRegionTableReader.hpp"
-#include "pbdata/testdata.h"
-#include <gtest/gtest.h>
-using namespace std;
-
-class FragmentCCSIteratorTestFixture: public testing::Test {
-public:
-    FragmentCCSIteratorTestFixture() {
-    }
-
-    void SetUp() {
-        fileName = baxFile1;
-        reader = new HDFRegionTableReader();
-        ccs = new CCSSequence();
-        rgn = new RegionTable();
-
-        int rev = reader->Initialize(fileName);
-        EXPECT_TRUE(rev);
-        reader->ReadTable(*rgn);
-        reader->Close();
-
-        rgn->SortTableByHoleNumber();
-    }
-
-    void TearDown() {
-        if (reader) delete reader;
-        if (ccs) delete ccs;
-        if (rgn) delete rgn;
-    }
-
-    ~FragmentCCSIteratorTestFixture() {
-    }
-
-    string fileName;
-    HDFRegionTableReader * reader;
-    CCSSequence * ccs;
-    RegionTable * rgn;
-    FragmentCCSIterator it;
-};
-
-
-TEST_F(FragmentCCSIteratorTestFixture, Initialize) {
-    // void Initialize(CCSSequence *_seqPtr, RegionTable *_regionTablePtr) {
-    ccs->zmwData.holeNumber = 10;
-    it.Initialize(ccs, rgn);
-
-    int numPasses = it.GetNumPasses();
-    EXPECT_EQ(numPasses, 7);
-/*
- * The region table of zmw 10 is:
- *
-    (52,0): 10, 1, 0, 443, -1,
-    (53,0): 10, 1, 487, 1168, -1,
-    (54,0): 10, 1, 1213, 1907, -1,
-    (55,0): 10, 1, 1956, 2619, -1,
-    (56,0): 10, 1, 2668, 3423, -1,
-    (57,0): 10, 1, 3474, 4205, -1,
-    (58,0): 10, 1, 4256, 5949, -1,
-    (59,0): 10, 1, 5997, 6161, -1,
-    (60,0): 10, 0, 443, 487, 863,
-    (61,0): 10, 0, 1168, 1213, 822,
-    (62,0): 10, 0, 1907, 1956, 836,
-    (63,0): 10, 0, 2619, 2668, 693,
-    (64,0): 10, 0, 3423, 3474, 764,
-    (65,0): 10, 0, 4205, 4256, 862,
-    (66,0): 10, 0, 5949, 5997, 812,
-    (67,0): 10, 2, 0, 4920, 788,
- *
- */
-    int exp_directions[7] = {0, 1, 0, 1, 0, 1, 0};
-    int exp_starts[7] = {0, 487, 1213, 1956, 2668, 3474, 4256};
-    int exp_ends[7]  = {443, 1168, 1907, 2619, 3423, 4205, 4920};
-
-    int passDirection, start, numBases;
-    for(int i=0; i < numPasses; i++) {
-        it.GetNext(passDirection, start, numBases);
-        EXPECT_EQ(passDirection, exp_directions[i]);
-        EXPECT_EQ(start, exp_starts[i]);
-        EXPECT_EQ(start + numBases, exp_ends[i]);
-    }
-}
diff --git a/libcpp/unittest/alignment/files/ReaderAgglomerate_gtest.cpp b/libcpp/unittest/alignment/files/ReaderAgglomerate_gtest.cpp
deleted file mode 100644
index f27eb16..0000000
--- a/libcpp/unittest/alignment/files/ReaderAgglomerate_gtest.cpp
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  ReaderAgglomerate_gtest.cpp
- *
- *    Description:  Test alignment/files/ReaderAgglomerate.hpp
- *
- *        Version:  1.0
- *        Created:  02/25/2015 04:51:29 PM
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#include <algorithm>
-#include <stdio.h>
-#include <string.h>
-#include "files/ReaderAgglomerate.hpp"
-#include "pbdata/testdata.h"
-#include <gtest/gtest.h>
-using namespace std;
-
-class ReaderAgglomerateTest: public testing::Test {
-public:
-    void SetUp() {
-        reader = new ReaderAgglomerate();
-    }
-
-    void TearDown() {
-        if (reader) {
-            delete reader;
-            reader = NULL;
-        }
-    }
-    ReaderAgglomerate * reader;
-};
-
-#define INIT_READER(INFILE) \
-    fn = INFILE; \
-    reader->SetReadFileName(fn); \
-    EXPECT_EQ(reader->Initialize(), 1);
-
-TEST_F(ReaderAgglomerateTest, Initialize) {
-    string fn;
-    INIT_READER(fastaFile1)
-    reader->Close();
-
-    INIT_READER(baxFile1)
-    reader->Close();
-
-    INIT_READER(baxFile3)
-    reader->Close();
-}
-
-
-#define SIMPLE(INFILE, SEQ) \
-    INIT_READER(INFILE) \
-    for(int i = 0; i < 10; i++) {\
-        reader->GetNext(SEQ);\
-    }\
-    reader->Close();
-
-TEST_F(ReaderAgglomerateTest, Simple) {
-    string fn;
-
-    // Fasta
-    FASTASequence fastaSeq;
-    SIMPLE(fastaFile1, fastaSeq)
-    
-    // Bax
-    SMRTSequence smrtSeq;
-    SIMPLE(baxFile1, smrtSeq)
-    SIMPLE(baxFile3, smrtSeq)
-}
-
-#define GET_MOVIE_NAME(INFILE) \
-    INIT_READER(INFILE) \
-    reader->GetMovieName(movieName); \
-    reader->Close();
-
-TEST_F(ReaderAgglomerateTest, GetMovieName) {
-    string fn;
-    string movieName = "";
-    // Fasta
-    GET_MOVIE_NAME(fastaFile1)
-    EXPECT_EQ(movieName, "/mnt/secondary-siv/testdata/BlasrTestData/utest/data/read.fasta");
-
-    // Bax
-    GET_MOVIE_NAME(baxFile1)
-    EXPECT_EQ(movieName, "m130220_114643_42129_c100471902550000001823071906131347_s1_p0");
-
-    GET_MOVIE_NAME(baxFile3)
-    EXPECT_EQ(movieName, "m150223_190837_42175_c100735112550000001823160806051530_s1_p0");
-}
-
-#define GET_CHEMISTRY_TRIPLE(INFILE, A, B, C) \
-    INIT_READER(INFILE) \
-    bindingKit = sequencingKit = version; \
-    reader->GetChemistryTriple(bindingKit, sequencingKit, version); \
-    reader->Close(); \
-    EXPECT_EQ(bindingKit, A); \
-    EXPECT_EQ(sequencingKit, B); \
-    EXPECT_EQ(version, C);
-
-TEST_F(ReaderAgglomerateTest, GetChemistryTriple) {
-    string fn;
-    string bindingKit, sequencingKit, version;
-
-    GET_CHEMISTRY_TRIPLE(baxFile3, "100356300", "100356200", "2.3")
-} 
-
-TEST_F(ReaderAgglomerateTest, ReadFromBam) {
-    string fn (bamFile1);
-    reader->SetReadFileName(fn);
-    EXPECT_EQ(reader->Initialize(), 1);
-
-    SMRTSequence seq;
-    int ret, count=0;
-    while (ret = reader->GetNext(seq) and ret != 0) { 
-        count++;
-    }
-
-    EXPECT_EQ(count, 116);
-
-    reader->Close();
-}
diff --git a/libcpp/unittest/alignment/format/SAMHeaderPrinter_gtest.cpp b/libcpp/unittest/alignment/format/SAMHeaderPrinter_gtest.cpp
deleted file mode 100644
index 7547254..0000000
--- a/libcpp/unittest/alignment/format/SAMHeaderPrinter_gtest.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  SAMHeaderPrinter_gtest.cpp
- *
- *    Description:  Test alignment/format/SAMHeaderPrinter.hpp
- *
- *        Version:  1.0
- *        Created:  03/24/2015 04:51:29 PM
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#define private public
-#define protected public
-
-#include <algorithm>
-#include <stdio.h>
-#include <string.h>
-#include "FASTAReader.hpp"
-#include "format/SAMHeaderPrinter.hpp"
-#include "pbdata/testdata.h"
-#include <gtest/gtest.h>
-using namespace std;
-
-class SAMHeaderPrinterTest: public testing::Test {
-public:
-    void SetUp() {
-        samQVs.SetDefaultQV(); 
-        so = "UNKNOWN";
-        readType = ReadType::SUBREAD;
-
-        int rand;
-        string fastaFn(fastaFile1);
-        reader.computeMD5 = true;
-        EXPECT_TRUE(reader.Init(fastaFn));
-        reader.ReadAllSequencesIntoOne(sequence, &seqdb);
-    }
-
-    void TearDown() {
-        if (printer) {
-            delete printer;
-            printer = NULL;
-        }
-    }
-
-    SAMHeaderPrinter * printer;
-    SupplementalQVList samQVs;
-    string so;
-    ReadType::ReadTypeEnum readType;
-    FASTAReader reader;
-    FASTASequence sequence;
-    SequenceIndexDatabase<FASTASequence> seqdb;
-};
-
-
-const string bax1ExpectedHeader = 
-"PU:m130220_114643_42129_c100471902550000001823071906131347_s1_p0\tPL:PACBIO\tDS:READTYPE=SUBREAD;BINDINGKIT=;SEQUENCINGKIT=;BASECALLERVERSION=2.0;InsertionQV=iq;DeletionQV=dq;SubstitutionQV=sq;MergeQV=mq;DeletionTag=dt";
-
-const string bax3ExpectedHeader = 
-"PU:m150223_190837_42175_c100735112550000001823160806051530_s1_p0\tPL:PACBIO\tDS:READTYPE=SUBREAD;BINDINGKIT=100356300;SEQUENCINGKIT=100356200;BASECALLERVERSION=2.3;InsertionQV=iq;DeletionQV=dq;SubstitutionQV=sq;MergeQV=mq;DeletionTag=dt";
-
-const string pls1ExpectedHeader = 
-"PU:m121215_065521_richard_c100425710150000001823055001121371_s1_p0\tPL:PACBIO\tDS:READTYPE=SUBREAD;BINDINGKIT=;SEQUENCINGKIT=;BASECALLERVERSION=1.3;InsertionQV=iq;DeletionQV=dq;SubstitutionQV=sq;MergeQV=mq;DeletionTag=dt";
-
-TEST_F(SAMHeaderPrinterTest, BAX_ONE_MOVIE_IN) {
-    // Read from two bax files of the same movie.
-    EXPECT_EQ(readType, ReadType::ReadTypeEnum::SUBREAD);
-    vector<string> readsFiles = {baxFile1, baxFile2};
-    printer = new SAMHeaderPrinter(so, seqdb, readsFiles, readType, samQVs, "blasr", "1.3.2", "blasr a b c");
-
-    EXPECT_EQ(printer->_hd.ToString().find("@HD\tVN:1.5\tSO:UNKNOWN\tpb:3.0b"), 0);
-    EXPECT_EQ(printer->_sqs._groups.size(), 12);
-    EXPECT_EQ(printer->_sqs._groups[0].ToString().find ("@SQ\tSN:read1\tLN:100\tM5:"), 0);
-    EXPECT_EQ(printer->_sqs._groups[11].ToString().find ("@SQ\tSN:read2x\tLN:100\tM5:"), 0);
-    
-    // Expect exactly one read group 
-    EXPECT_EQ(printer->_rgs._groups.size(), 1);
-    EXPECT_NE(printer->_rgs._groups[0].ToString().find(bax1ExpectedHeader), string::npos);
-
-    EXPECT_EQ(printer->_pgs._groups.size(), 1);
-    EXPECT_EQ(printer->_cos._groups.size(), 0);
-}
-
-TEST_F(SAMHeaderPrinterTest, BAX_MULTI_MOVIE_IN) {
-    // Read subread from more than one movies
-    vector<string> readsFiles = {baxFile1, baxFile2, baxFile3, plsFile1};
-    printer = new SAMHeaderPrinter(so, seqdb, readsFiles, readType, samQVs, "blasr", "1.3.2", "blasr a b c");
-
-    EXPECT_EQ(printer->_hd.ToString().find("@HD\tVN:1.5\tSO:UNKNOWN\tpb:3.0b"), 0);
-    EXPECT_EQ(printer->_sqs._groups.size(), 12);
-    EXPECT_EQ(printer->_sqs._groups[0].ToString().find ("@SQ\tSN:read1\tLN:100\tM5:"), 0);
-    EXPECT_EQ(printer->_sqs._groups[11].ToString().find ("@SQ\tSN:read2x\tLN:100\tM5:"), 0);
-    
-    // Expect three read groups because baxFile1 and baxFile2 contains reads of the same movie.
-    EXPECT_EQ(printer->_rgs._groups.size(), 3);
-
-    EXPECT_NE(printer->_rgs._groups[0].ToString().find(bax1ExpectedHeader), string::npos);
-    EXPECT_NE(printer->_rgs._groups[1].ToString().find(bax3ExpectedHeader), string::npos);
-    EXPECT_NE(printer->_rgs._groups[2].ToString().find(pls1ExpectedHeader), string::npos);
-
-    EXPECT_EQ(printer->_pgs._groups.size(), 1);
-    EXPECT_EQ(printer->_cos._groups.size(), 0);
-}
-
-
-const string bam1ExpectedHeader = 
-"@RG\tID:b89a4406\tPL:PACBIO\tDS:READTYPE=SUBREAD;DeletionQV=dq;DeletionTag=dt;InsertionQV=iq;MergeQV=mq;SubstitutionQV=sq;Ipd=ip;BINDINGKIT=100356300;SEQUENCINGKIT=100356200;BASECALLERVERSION=2.3.0.0.140018\tPU:m140905_042212_sidney_c100564852550000001823085912221377_s1_X0";
-const string bam2ExpectedHeader = 
-"PL:PACBIO\tDS:READTYPE=SUBREAD;DeletionQV=dq;DeletionTag=dt;InsertionQV=iq;MergeQV=mq;SubstitutionQV=sq;Ipd=ip;BINDINGKIT=100236500;SEQUENCINGKIT=001558034;BASECALLERVERSION=2.3.0.1.142990\tPU:m150325_224749_42269_c100795290850000001823159309091522_s1_p0";
-
-TEST_F(SAMHeaderPrinterTest, ONE_BAM_IN) {
-    // Read the same file twice in order to test uniqueness of @RG
-    vector<string> readsFiles = {bamFile1, bamFile1}; 
-    printer = new SAMHeaderPrinter(so, seqdb, readsFiles, readType, samQVs, "blasr", "1.3.2", "blasr a b c");
-
-    EXPECT_EQ(printer->_rgs._groups.size(), 1);
-    EXPECT_EQ(printer->_rgs._groups[0].ToString(), bam1ExpectedHeader);
-
-    EXPECT_EQ(printer->_pgs._groups.size(), 3);
-}
-
-TEST_F(SAMHeaderPrinterTest, TWO_BAM_IN) {
-    // Read multiple bam files 
-    vector<string> readsFiles = {bamFile1, bamFile2}; 
-    printer = new SAMHeaderPrinter(so, seqdb, readsFiles, readType, samQVs, "blasr", "1.3.2", "blasr a b c");
-
-    EXPECT_EQ(printer->_rgs._groups.size(), 2);
-    EXPECT_NE(printer->_rgs._groups[0].ToString().find(bam1ExpectedHeader), string::npos);
-    EXPECT_NE(printer->_rgs._groups[1].ToString().find(bam2ExpectedHeader), string::npos);
-
-    EXPECT_EQ(printer->_pgs._groups.size(), 3);
-}
-
diff --git a/libcpp/unittest/alignment/format/SAMPrinter_gtest.cpp b/libcpp/unittest/alignment/format/SAMPrinter_gtest.cpp
deleted file mode 100644
index 63331b7..0000000
--- a/libcpp/unittest/alignment/format/SAMPrinter_gtest.cpp
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  SAMHeaderPrinter_gtest.cpp
- *
- *    Description:  Test alignment/format/SAMHeaderPrinter.hpp
- *
- *        Version:  1.0
- *        Created:  03/24/2015 04:51:29 PM
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#define private public
-#define protected public
-
-#include <algorithm>
-#include <stdio.h>
-#include <string.h>
-#include "format/SAMPrinter.hpp"
-#include <gtest/gtest.h>
-using namespace std;
-
-TEST(SAMPrinterTest, AddMatchBlockCigarOps) {
-    DNASequence qSeq; qSeq.Copy("XXXXXAAAAAGGGGGCCCCC");
-    DNASequence tSeq; tSeq.Copy(     "AAAAANGGGGCCCCC");
-    blasr::Block b; 
-    b.qPos = 5;
-    b.tPos = 0;
-    b.length=15;
-    vector<int> opSize;
-    vector<char> opChar;
-
-    const vector<int>  expOpSize = {5  , 1  , 9  };
-    const vector<char> expOpChar = {'=', 'X', '='};
-
-    AddMatchBlockCigarOps(qSeq, tSeq, b, opSize, opChar);
-
-    EXPECT_EQ(opSize, expOpSize);
-    EXPECT_EQ(opChar, expOpChar);
-}
diff --git a/libcpp/unittest/alignment/utils/FileUtils_gtest.cpp b/libcpp/unittest/alignment/utils/FileUtils_gtest.cpp
deleted file mode 100644
index 1b2ea3b..0000000
--- a/libcpp/unittest/alignment/utils/FileUtils_gtest.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  FileUtils_gtest.cpp
- *
- *    Description:  Test alignment/utils/FileUtils.hpp
- *
- *        Version:  1.0
- *        Created:  10/29/2012 05:20:43 PM
- *       Revision:  08/20/2014 
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#include "gtest/gtest.h"
-#include "utils/FileUtils.hpp"
-
-using namespace std;
-
-string nonexistfile = "/nonexistingdir/nonexistingfile";
-string readablefile = "/bin/ls";
-string writeablefile = "/tmp/writabletmpfile";
-string expected_errmsg = "^.+$";
-
-TEST(FILEUTILS, CriticalOpenRead) {
-    ifstream ifs;
-    EXPECT_EXIT(CriticalOpenRead(nonexistfile, ifs, std::ios::in),
-        ::testing::ExitedWithCode(1), expected_errmsg);
-    CriticalOpenRead(readablefile, ifs, std::ios::in);
-}
-
-TEST(FILEUTILS, OpenRead) {
-    ifstream ifs;
-    EXPECT_EQ( OpenRead(nonexistfile, ifs, std::ios::in), 0);
-    EXPECT_EQ( OpenRead(readablefile, ifs, std::ios::in), 1);
-}
-
-
-TEST(FILEUTILS, CriticalOpenWrite) {
-    ofstream ofs;
-    EXPECT_EXIT( CriticalOpenWrite(nonexistfile, ofs, std::ios::out),
-        ::testing::ExitedWithCode(1), expected_errmsg);
-    CriticalOpenWrite(writeablefile, ofs, std::ios::out);
-}
-
-TEST(FILEUTILS, OpenWrite) {
-    ofstream ofs;
-    EXPECT_EQ(OpenWrite(nonexistfile, ofs, std::ios::out), 0);
-    EXPECT_EQ(OpenWrite(writeablefile, ofs, std::ios::out), 1);
-}
diff --git a/libcpp/unittest/alignment/utils/RangeUtils_gtest.cpp b/libcpp/unittest/alignment/utils/RangeUtils_gtest.cpp
deleted file mode 100644
index 482e586..0000000
--- a/libcpp/unittest/alignment/utils/RangeUtils_gtest.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  RangeUtils_gtest.cpp
- *
- *    Description:  Test alignment/utils/RangeUtils.hpp
- *
- *        Version:  1.0
- *        Created:  05/2/2013 06:01:01 PM
- *       Revision:  08/21/2014
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#include "gtest/gtest.h"
-#include "utils/RangeUtils.hpp"
-
-TEST(RangeTest, RangeConstructor) {
-    Range r(1, 2);
-    EXPECT_EQ(r.start, 1);
-    EXPECT_EQ(r.end, 2);
-
-    Range r2(1);
-    EXPECT_EQ(r2.end, 1);
-}
-
-TEST(RangeTest, Ranges) {
-    UInt queryInRange[11] = {1,2,3,4,10,11,12,13,14,15,20};
-    UInt queryNotInRange[8] = {0, 16, 17, 18, 19, 30, 5, 100000}; 
-
-    Ranges ranges1(string("1,2,3,4,10-15,20-20"));
-
-    for (int i = 0; i < 11; i++) {
-        EXPECT_TRUE(ranges1.contains(queryInRange[i]));
-    }
-
-    for (int i = 0; i < 8; i++) {
-        EXPECT_FALSE(ranges1.contains(queryNotInRange[i]));
-    }
-}
-
-TEST(RangeTest, SetRanges) {
-    Ranges rs;
-    rs.setRanges("199");
-
-    EXPECT_TRUE(rs.contains(199));
-    EXPECT_EQ(rs.size(), 1);
-}
-
-
-TEST(RangeTest, max) {
-    Ranges rs("199");
-    EXPECT_EQ(rs.max(), 199);
-    Ranges rs1("1, 10000, 10-30, 4000-5000");
-    EXPECT_EQ(rs1.max(), 10000);
-
-    Ranges rs2("1, 1000, 10-30, 4000-5000, 633-877");
-    EXPECT_EQ(rs2.max(), 5000);
-}
diff --git a/libcpp/unittest/alignment/utils/RegionUtils_gtest.cpp b/libcpp/unittest/alignment/utils/RegionUtils_gtest.cpp
deleted file mode 100644
index 2daaa86..0000000
--- a/libcpp/unittest/alignment/utils/RegionUtils_gtest.cpp
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  RegionUtils_gtest.cpp
- *
- *    Description:  Test alignment/utils/RegionUtils.hpp
- *
- *        Version:  1.0
- *        Created:  11/29/2012 05:11:56 PM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-
-#include "gtest/gtest.h"
-#include "utils/RegionUtils.hpp"
-#include "reads/RegionTable.hpp"
-#include "HDFRegionTableReader.hpp"
-#include "pbdata/testdata.h"
-
-class RegionUtilTestFixture: public testing::Test {
-public:
-    RegionUtilTestFixture() {
-        fileName = baxFile1; 
-        reader = new HDFRegionTableReader();
-        int rev = reader->Initialize(fileName);
-        EXPECT_TRUE(rev);
-        reader->ReadTable(regionTable);
-        reader->Close();
-    }
-
-    void SetUp() {
-        /* The region table for hole number 14798 is as follows.
-         * type start end  score
-         *   1   0    712   -1 
-         *   1   760  2040  -1 
-         *   1   2098 3452  -1
-         *   0   712  760   937
-         *   0   2040 2098  741
-         *   2   0    3424  819
-         *   where type 1 = insertion, 0 = adapter, 2 = HQRegion
-         * */
-        hqStart = 0;
-        hqEnd   = 3424;
-        hqScore = 819;
-        holeNumber = 14798;
-
-        int srs[29][2] = {{95, 353},
-              {404, 955},
-              {998, 1243},
-              {1289, 1529},
-              {1576, 1824},
-              {1869, 2132},
-              {2178, 2444},
-              {2486, 2727},
-              {2767, 3004},
-              {3047, 3286},
-              {3329, 3537},
-              {3583, 3818},
-              {3862, 4096},
-              {4139, 4404},
-              {4447, 4673},
-              {4717, 4956},
-              {5004, 5228},
-              {5275, 5508},
-              {5552, 5790},
-              {5835, 6072},
-              {6113, 6338},
-              {6389, 6604},
-              {6647, 7145},
-              {7189, 7421},
-              {7468, 7693},
-              {7733, 7951},
-              {7989, 8197},
-              {8243, 8482},
-              {8522, 9244}};
-
-        int rgn[59][5] = {{9, 1, 95, 353, -1},
-            {9, 1, 404, 955, -1},
-            {9, 1, 998, 1243, -1},
-            {9, 1, 1289, 1529, -1},
-            {9, 1, 1576, 1824, -1},
-            {9, 1, 1869, 2132, -1},
-            {9, 1, 2178, 2444, -1},
-            {9, 1, 2486, 2727, -1},
-            {9, 1, 2767, 3004, -1},
-            {9, 1, 3047, 3286, -1},
-            {9, 1, 3329, 3537, -1},
-            {9, 1, 3583, 3818, -1},
-            {9, 1, 3862, 4096, -1},
-            {9, 1, 4139, 4404, -1},
-            {9, 1, 4447, 4673, -1},
-            {9, 1, 4717, 4956, -1},
-            {9, 1, 5004, 5228, -1},
-            {9, 1, 5275, 5508, -1},
-            {9, 1, 5552, 5790, -1},
-            {9, 1, 5835, 6072, -1},
-            {9, 1, 6113, 6338, -1},
-            {9, 1, 6389, 6604, -1},
-            {9, 1, 6647, 7145, -1},
-            {9, 1, 7189, 7421, -1},
-            {9, 1, 7468, 7693, -1},
-            {9, 1, 7733, 7951, -1},
-            {9, 1, 7989, 8197, -1},
-            {9, 1, 8243, 8482, -1},
-            {9, 1, 8522, 9244, -1},
-            {9, 0, 41, 95, 722},
-            {9, 0, 353, 404, 784},
-            {9, 0, 955, 998, 697},
-            {9, 0, 1243, 1289, 804},
-            {9, 0, 1529, 1576, 744},
-            {9, 0, 1824, 1869, 844},
-            {9, 0, 2132, 2178, 847},
-            {9, 0, 2444, 2486, 666},
-            {9, 0, 2727, 2767, 824},
-            {9, 0, 3004, 3047, 883},
-            {9, 0, 3286, 3329, 860},
-            {9, 0, 3537, 3583, 891},
-            {9, 0, 3818, 3862, 795},
-            {9, 0, 4096, 4139, 906},
-            {9, 0, 4404, 4447, 906},
-            {9, 0, 4673, 4717, 886},
-            {9, 0, 4956, 5004, 708},
-            {9, 0, 5228, 5275, 957},
-            {9, 0, 5508, 5552, 886},
-            {9, 0, 5790, 5835, 733},
-            {9, 0, 6072, 6113, 804},
-            {9, 0, 6338, 6389, 666},
-            {9, 0, 6604, 6647, 813},
-            {9, 0, 7145, 7189, 795},
-            {9, 0, 7421, 7468, 829},
-            {9, 0, 7693, 7733, 774},
-            {9, 0, 7951, 7989, 657},
-            {9, 0, 8197, 8243, 760},
-            {9, 0, 8482, 8522, 675},
-            {9, 2, 0, 9244, 834}};
-
-        for (int i = 0; i < 29; i++) {
-            subreadIntervals.push_back(ReadInterval(srs[i][0], srs[i][1]));
-        }
-
-        for (int i = 0; i < 59; i++) {
-            adapterIntervals.push_back(ReadInterval(rgn[i][2], rgn[i][3], rgn[i][4]));
-        }
-    }
-
-    void TearDown() {
-    }
-
-    ~RegionUtilTestFixture() {
-        delete reader;
-    }
-
-    HDFRegionTableReader * reader;
-    RegionTable regionTable;
-    string fileName;
-    int hqStart, hqEnd, hqScore, holeNumber;
-
-    // Data for testing Get*FullSubreadIndex.
-    vector<ReadInterval> subreadIntervals;
-    vector<ReadInterval> adapterIntervals;
-};
-
-TEST_F(RegionUtilTestFixture, LookupHQRegion) {
-    int start, end, score;
-    bool rev = LookupHQRegion(holeNumber, regionTable, start, end, score);
-    EXPECT_EQ(rev, true);
-    EXPECT_EQ(start, hqStart);
-    EXPECT_EQ(end, hqEnd);
-    EXPECT_EQ(score, hqScore);
-}
-
-TEST_F(RegionUtilTestFixture, GetHighQulitySubreadsIntervals) {
-    vector<ReadInterval> intervals;
-    intervals.push_back(ReadInterval(0, 712));
-    intervals.push_back(ReadInterval(760, 2040));
-    intervals.push_back(ReadInterval(2098, 3452));
-
-    vector<int> directions;
-    directions.push_back(0);
-    directions.push_back(1);
-    directions.push_back(0);
-
-    int indx = GetHighQualitySubreadsIntervals(intervals, directions, hqStart, hqEnd);
-    EXPECT_EQ(intervals.size(), 3);
-    EXPECT_EQ(indx, 2);
-    int starts [3] = {0, 760, 2098};
-    int ends   [3] = {712, 2040, 3424};
-    int ds     [3] = {0, 1, 0};
-    for(int i=0; i < 3; i++) {
-        EXPECT_EQ(intervals[i].start, starts[i]);
-        EXPECT_EQ(intervals[i].end  , ends[i]  );
-        EXPECT_EQ(directions[i]     , ds[i]    );
-    }
-
-    indx = GetHighQualitySubreadsIntervals(intervals, directions, hqStart, hqEnd, 800);
-    EXPECT_EQ(intervals.size(), 2);
-    // The first interval and its direction has been removed as the length is less
-    // than 800.
-    for(int i=0; i < 2; i++) {
-        EXPECT_EQ(intervals[i].start, starts[i+1]);
-        EXPECT_EQ(intervals[i].end  , ends[i+1]  );
-    }
-}
-
-TEST_F(RegionUtilTestFixture, GetFullPassSubreadIndices ) {
-    vector<int> vi = GetFullPassSubreadIndices(subreadIntervals, adapterIntervals);
-    // vi = 0, ..., 27
-    EXPECT_EQ(vi.size(), 28);
-    for(int i=0; i < 28; i++) {
-        EXPECT_EQ(vi[i], i);
-    }
-}
-
-TEST_F(RegionUtilTestFixture, GetMedianLengthFullSubreadIndex) {
-    int idx = GetMedianLengthFullSubreadIndex(subreadIntervals, adapterIntervals);
-    EXPECT_EQ(idx, 18); // Median length subread (5552, 5790) 
-}
-
-TEST_F(RegionUtilTestFixture, GetLongestFullSubreadIndex) {
-    int idx = GetLongestFullSubreadIndex(subreadIntervals, adapterIntervals);
-    EXPECT_EQ(idx, 1); 
-    // The longest full pass subread (404, 955) 
-}
-
-TEST_F(RegionUtilTestFixture, GetTypicalFullSubreadIndex) {
-    int idx = GetTypicalFullSubreadIndex(subreadIntervals, adapterIntervals);
-    EXPECT_EQ(idx, 22); 
-    // Typical = the second longest full pass subread (6647, 7145)
-}
-
diff --git a/libcpp/unittest/build.mk b/libcpp/unittest/build.mk
deleted file mode 100644
index a8dde8f..0000000
--- a/libcpp/unittest/build.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-all:
-
-include ../rules.mk
-include defines.mk
-
-EXE := test-runner
-
-all: $(EXE)
-	
-gtest: $(EXE)
-	./$< --gtest_output=xml:./xml/all.xml
-
-LIBS := alignment/libblasr_gtest.a \
-		hdf/libpbihdf_gtest.a \
-		pbdata/libpbdata_gtest.a
-
-$(EXE): $(LIBS)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(GTEST_SRC) -Wl,$(LD_WHOLE_ARCHIVE) $^ -Wl,$(LD_NO_WHOLE_ARCHIVE) -o $@ -I$(GTEST_ROOT) $(LIBDIRS) $(LDFLAGS)
-
-$(LIBS):
-	${MAKE} -C $(dir $@) PBINCROOT=${PBINCROOT}/.. $(notdir $@)
-
-clean:
-	@${MAKE} -C alignment clean
-	@${MAKE} -C hdf clean
-	@${MAKE} -C pbdata clean
-	@${RM} -fr $(EXE) xml
diff --git a/libcpp/unittest/common.mk b/libcpp/unittest/common.mk
deleted file mode 100644
index 5337ea9..0000000
--- a/libcpp/unittest/common.mk
+++ /dev/null
@@ -1,64 +0,0 @@
-SHELL=bash
-
-.PHONY: all debug profile clean
-
-#
-# Definitions common to all make files for unit tests.
-# All paths are relative from inside the subdirectories, not this file
-#
-
-PBINCROOT 	   ?= $(realpath ../..)
-PREBUILT    	   ?= $(realpath ../../../../../prebuilt.out)
-THIRD_PARTY_PREFIX ?= ../../..
-
-include $(PBINCROOT)/common.mk
-
-# All Google Test headers.  Usually you shouldn't change this.
-GTEST_ROOT := $(THIRD_PARTY)/gtest/fused-src
-GTEST_SRC  := $(GTEST_ROOT)/gtest/gtest-all.cc \
-              $(GTEST_ROOT)/gtest/gtest_main.cc
-
-# INCLUDE DIRS
-INCDIRS    = -I$(PBINCROOT)/alignment \
-             -I$(PBINCROOT)/hdf \
-             -I$(PBINCROOT)/pbdata \
-			 -I$(PBINCROOT)/unittest \
-             -I$(GTEST_ROOT) \
-             -I$(HDF5_INC)
-
-# LIB DIRS
-LIBDIRS    = -L$(PBINCROOT)/alignment \
-             -L$(PBINCROOT)/hdf \
-             -L$(PBINCROOT)/pbdata \
-             -L$(HDF5_LIB) 
-
-LDFLAGS1 := -lblasr -lpbihdf -lpbdata 
-# The order of -l{lib} matters
-
-ifeq ($(origin nopbbam), undefined)
-	INCDIRS += -I$(PBBAM)/include -I$(PBBAM)/third-party/htslib
-	LIBDIRS += -L$(PBBAM)/lib -L$(PBBAM)/third-party/htslib
-	LDFLAGS1 += -lpbbam
-# Use libhts.a built with pbbam
-ifneq ($(wildcard "$(PBBAM)/third-party/htslib/libhts.a"), "")
-	LDFLAGS1 += $(PBBAM)/third-party/htslib/libhts.a 
-else
-    LDFLAGS1 += lhts
-endif
-endif
-
-ifneq ($(ZLIB_ROOT), notfound)
-	INCDIRS += -I$(ZLIB_ROOT)/include
-	LIBDIRS += -L$(ZLIB_ROOT)/lib
-endif
-
-ifneq ($(wildcard "$(HDF5_LIB)/libhdf5_cpp.a"),"")
-    LDFLAGS   := $(LDFLAGS1) $(HDF5_LIB)/libhdf5_cpp.a $(HDF5_LIB)/libhdf5.a -lpthread -lz -ldl
-else
-    LDFLAGS   := $(LDFLAGS1) -lhdf5_cpp -lhdf5 -lpthread -lz -ldl
-endif
-
-
-CXX := g++
-CXXOPTS := -std=c++11 -Wno-div-by-zero 
-CXXFLAGS := -O3
diff --git a/libcpp/unittest/hdf/HDF2DArray_gtest.cpp b/libcpp/unittest/hdf/HDF2DArray_gtest.cpp
deleted file mode 100644
index 96b27b6..0000000
--- a/libcpp/unittest/hdf/HDF2DArray_gtest.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * ==========================================================================
- *
- *       Filename:  HDF2DArray_gtest.cpp
- *
- *    Description:  Test hdf/HDF2DArray.hpp 
- *
- *        Version:  1.0
- *        Created:  08/21/2013 07:00:49 PM
- *       Revision:  08/20/2014 
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * ==========================================================================
- */
-#include <string>
-#include "H5Cpp.h"
-#include "HDFArray.hpp"
-#include "HDFGroup.hpp"
-#include "HDF2DArray.hpp"
-#include "reads/HoleXY.hpp"
-#include "pbdata/testdata.h"
-#include "gtest/gtest.h"
-
-using namespace std;
-using namespace H5;
-/*
-//Note ::testing::Test not ::testing::TEST
-//SetUp() and TearDown(), not Setup() and Teardown()
-class HDF2DArrayTest: public :: testing::Test {
-public:
-    virtual void SetUp() { 
-    }
-    virtual void TearDown() {
-    }
-    string x;
-};
-
-TEST_F(HDF2DArrayTest, x) {
-    EXPECT_TRUE(true);
-}
-*/
-
-class HDF2DArrayTest : public ::testing::Test {
-public:
-    virtual void SetUp() {
-        fileName = baxFile2;  // Defined in testdata.h
-        try {
-            FileAccPropList propList;
-            pbihdfFile.openFile(fileName.c_str(), H5F_ACC_RDONLY, propList);
-        } catch (Exception &e) {
-            cout << "ERROR, could not open hdf file" << fileName
-                << ", exiting." << endl;
-            exit(1);
-        }
-
-        ASSERT_NE(rootGroup.Initialize(pbihdfFile, "/"), 0);
-        ASSERT_NE(pulseDataGroup.Initialize(rootGroup, "PulseData"), 0);
-        ASSERT_NE(baseCallsGroup.Initialize(pulseDataGroup, "BaseCalls"), 0);
-        ASSERT_NE(zmwGroup.Initialize(baseCallsGroup, "ZMW"), 0);
-    }
-
-    virtual void TearDown() {
-        rootGroup.Close();
-        pulseDataGroup.Close();
-        baseCallsGroup.Close();
-        zmwGroup.Close();
-        pbihdfFile.close();
-    }
-
-    string fileName;
-    H5File pbihdfFile;
-    HDFGroup rootGroup, pulseDataGroup, baseCallsGroup, zmwGroup;
-};
-
-//Test HDF2DArray, int16 
-TEST_F(HDF2DArrayTest, int16) {
-    HDF2DArray<int16_t> xyArray;
-    xyArray.Initialize(zmwGroup, "HoleXY");
-    vector<HoleXY> xys;
-    xys.resize(10);
-    for(int i = 0; i < 10; i++){
-        xyArray.Read(i, i+1, xys[i].xy);
-        ASSERT_EQ(xys[i].xy[0], 43);
-        ASSERT_EQ(xys[i].xy[1], 44 + i);
-    }
-
-    int last = 54493;
-
-    xyArray.Read(last, last+1, xys[0].xy);
-    ASSERT_EQ(xys[0].xy[0], -43);
-    ASSERT_EQ(xys[0].xy[1], -44);
-    xyArray.Close();
-}
diff --git a/libcpp/unittest/hdf/HDFBasReader_gtest.cpp b/libcpp/unittest/hdf/HDFBasReader_gtest.cpp
deleted file mode 100644
index a196395..0000000
--- a/libcpp/unittest/hdf/HDFBasReader_gtest.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * ============================================================================
- *
- *       Filename:  HDFBasReader_gtest.cpp
- *
- *    Description:  Test hdf/HDFBasReader.hpp
- *
- *        Version:  1.0
- *        Created:  08/23/2013 10:17:14 AM
- *       Revision:  08/20/2014 
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * ============================================================================
- */
-
-#include "gtest/gtest.h"
-#include "HDFBasReader.hpp"
-#include "pbdata/testdata.h"
-
-using namespace std;
-using namespace H5;
-
-class HDFBasReaderTEST : public ::testing::Test {
-public:
-    virtual void SetUp() {
-        fileName = baxFile3;
-        reader.InitializeDefaultIncludedFields();
-        ASSERT_EQ(reader.Initialize(fileName), 1);
-    }
-    virtual void TearDown() {
-        reader.Close();
-    }
-    string fileName;
-    T_HDFBasReader<SMRTSequence> reader; 
-};
-
-TEST_F(HDFBasReaderTEST, ReadBaseFromBaseCalls) {
-    ASSERT_EQ(reader.GetMovieName(), 
-            "m150223_190837_42175_c100735112550000001823160806051530_s1_p0");
-    SMRTSequence seq;
-
-    for(int i=0; i < 1000; i++) {
-        reader.GetNext(seq);
-    }
-}
-
-TEST_F(HDFBasReaderTEST, GetChemistryTriple) {
-    string bindingKit, sequencingKit, version;
-    reader.GetChemistryTriple(bindingKit, sequencingKit, version);
-    EXPECT_EQ(bindingKit, "100356300");
-    EXPECT_EQ(sequencingKit, "100356200");
-    EXPECT_EQ(version, "2.3");
-}
diff --git a/libcpp/unittest/hdf/HDFCCSReader_gtest.cpp b/libcpp/unittest/hdf/HDFCCSReader_gtest.cpp
deleted file mode 100644
index 1ff04c1..0000000
--- a/libcpp/unittest/hdf/HDFCCSReader_gtest.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * ============================================================================
- *
- *       Filename:  HDFCCSReader_gtest.cpp
- *
- *    Description:  Test hdf/HDFCCSReader.hpp
- *
- *        Version:  1.0
- *        Created:  08/23/2013 10:17:14 AM
- *       Revision:  08/20/2014 
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * ============================================================================
- */
-
-#include "HDFCCSReader.hpp"
-#include "CCSSequence.hpp"
-#include "gtest/gtest.h"
-#include "pbdata/testdata.h"
-
-using namespace std;
-using namespace H5;
-
-class HDFCCSReaderTEST : public ::testing::Test {
-public:
-    virtual void SetUp() {
-    }
-    virtual void TearDown() {
-    }
-};
-
-TEST_F(HDFCCSReaderTEST, ReadCCSFromBasH5) {
-    string fileName = baxFile2;
-    HDFCCSReader<CCSSequence> reader;
-    reader.InitializeDefaultIncludedFields();
-    ASSERT_EQ(reader.Initialize(fileName), 1);
-    ASSERT_EQ(reader.GetMovieName(),
-            "m130220_114643_42129_c100471902550000001823071906131347_s1_p0");
-
-    CCSSequence seq;
-    for(int i=0; i < 1000; i++) {
-        reader.GetNext(seq);
-    }
-    reader.Close();
-}
-
-TEST_F(HDFCCSReaderTEST, ReadCCSFromCCSH5) {
-    string fileName = ccsFile1;
-    HDFCCSReader<CCSSequence> reader;
-    reader.SetReadBasesFromCCS();
-    reader.InitializeDefaultIncludedFields();
-    ASSERT_EQ(reader.Initialize(fileName), 1);
-    ASSERT_EQ(reader.GetMovieName(),
-            "m130328_211423_ethan_c100499512550000001823070408081371_s1_p0");
-
-    CCSSequence seq;
-    for(int i=0; i < 1000; i++) {
-        reader.GetNext(seq);
-    }
-
-    reader.Close();
-}
-
-
-
diff --git a/libcpp/unittest/hdf/HDFPlsReader_gtest.cpp b/libcpp/unittest/hdf/HDFPlsReader_gtest.cpp
deleted file mode 100644
index a4f63a2..0000000
--- a/libcpp/unittest/hdf/HDFPlsReader_gtest.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * ============================================================================
- *
- *       Filename:  HDFPlsReader_gtest.cpp
- *
- *    Description:  Test hdf/HDFPlsReader.hpp
- *
- *        Version:  1.0
- *        Created:  08/23/2013 11:13:34 AM
- *       Revision:  08/20/2014 
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * ============================================================================
- */
-
-#include "HDFPlsReader.hpp"
-#include "gtest/gtest.h"
-#include "pbdata/testdata.h"
-
-using namespace std;
-using namespace H5;
-
-class HDFPlsReaderTEST : public ::testing::Test {
-public:
-    virtual void SetUp() {
-        fileName = plsFile1;
-        ASSERT_EQ(reader.Initialize(fileName), 1);
-    }
-    virtual void TearDown() {
-        reader.Close();
-    }
-    string fileName;
-    HDFPlsReader reader; 
-};
-
-TEST_F(HDFPlsReaderTEST, ReadToPulseFile) {
-    PulseFile  pulseFile;
-    reader.IncludeField("NumEvent");
-    reader.IncludeField("StartFrame");
-    reader.ReadPulseFileInit(pulseFile);
-    reader.ReadPulseFile(pulseFile);
-    ASSERT_EQ(pulseFile.platformId, 0);
-    ASSERT_EQ(pulseFile.startFrame.size(), 197626964);
-}
-
-
diff --git a/libcpp/unittest/hdf/HDFScanDataReader_gtest.cpp b/libcpp/unittest/hdf/HDFScanDataReader_gtest.cpp
deleted file mode 100644
index 9beb6b1..0000000
--- a/libcpp/unittest/hdf/HDFScanDataReader_gtest.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-#include "gtest/gtest.h"
-#include "HDFScanDataReader.hpp"
-#include "pbdata/testdata.h"
-
-using namespace std;
-using namespace H5;
-
-class HDFScanDataReaderTEST : public ::testing::Test {
-public:
-    virtual void SetUp() {
-        fileName = scanDataFile1;
-        try{
-            hdfFile.openFile(fileName.c_str(), H5F_ACC_RDONLY);
-            ASSERT_EQ(rootGroup.Initialize(hdfFile, "/"), 1);
-            ASSERT_EQ(reader.Initialize(dynamic_cast<HDFGroup*>(&rootGroup)), 1);
-        } catch(H5::Exception & e) {
-            cerr << "Failed to open " << fileName << endl;
-            ASSERT_FALSE(true);
-        }
-    }
-
-    virtual void TearDown() {
-        reader.Close();
-        hdfFile.close();
-    }
-
-    string fileName;
-    H5::H5File hdfFile;
-    HDFGroup rootGroup;
-    HDFScanDataReader reader;
-};
-
-TEST_F(HDFScanDataReaderTEST, ReadBindingKit) {
-    string bindingKit;
-    EXPECT_EQ(reader.ReadBindingKit(bindingKit), 1);
-    EXPECT_EQ(bindingKit, "100356300");
-
-    // Test if bindkingKit can be read multiple times.
-    EXPECT_EQ(reader.ReadBindingKit(bindingKit), 1);
-    EXPECT_EQ(bindingKit, "100356300");
-}
-
-TEST_F(HDFScanDataReaderTEST, ReadSequencingKit) {
-    string sequencingKit;
-    EXPECT_EQ(reader.ReadSequencingKit(sequencingKit), 1);
-    EXPECT_EQ(sequencingKit, "100356200");
-
-    // Test if sequencingKit can be read multiple times.
-    EXPECT_EQ(reader.ReadSequencingKit(sequencingKit), 1);
-    EXPECT_EQ(sequencingKit, "100356200");
-}
-
diff --git a/libcpp/unittest/hdf/HDFScanDataWriter_gtest.cpp b/libcpp/unittest/hdf/HDFScanDataWriter_gtest.cpp
deleted file mode 100644
index 15831ca..0000000
--- a/libcpp/unittest/hdf/HDFScanDataWriter_gtest.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * ============================================================================
- *
- *       Filename:  HDFScanDataWriter_gtest.cpp
- *
- *    Description:  Test data/HDFScanDataWriter.hpp
- *
- *        Version:  1.0
- *        Created:  10/14/2013 03:04:00 PM
- *       Revision:  08/20/2014
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * ============================================================================
- */
-
-#include "gtest/gtest.h"
-#include "HDFScanDataWriter.hpp"
-#include "HDFFile.hpp"
-#include "reads/ScanData.hpp"
-
-TEST(HDFScanDataWriter, Write) {
-    ScanData sd;
-    sd.frameRate = 100;
-
-    HDFFile outFile;
-    outFile.Open("scandata.h5", H5F_ACC_TRUNC);
-    HDFScanDataWriter writer(outFile);
-    writer.Write(sd);
-    writer.WriteMovieName("xyz");
-    writer.WriteFrameRate(70);
-    writer.Close();
-    outFile.Close();
-}
diff --git a/libcpp/unittest/hdf/HDFUtils_gtest.cpp b/libcpp/unittest/hdf/HDFUtils_gtest.cpp
deleted file mode 100644
index 7fab6d7..0000000
--- a/libcpp/unittest/hdf/HDFUtils_gtest.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * ============================================================================
- *
- *       Filename:  HDFUtils_gtest.cpp
- *
- *    Description:  Test hdf/HDFUtils.hpp
- *
- *        Version:  1.0
- *        Created:  11/04/2013 10:55:10 AM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * ============================================================================
- */
-
-#include "HDFUtils.hpp"
-#include "gtest/gtest.h"
-#include "pbdata/testdata.h"
-
-TEST(HDFUtils, Create) {
-    EXPECT_EQ(GetH5MovieName(baxFile1), 
-        "m130220_114643_42129_c100471902550000001823071906131347_s1_p0");
-
-    EXPECT_EQ(GetH5MovieName(baxFile2),
-        "m130220_114643_42129_c100471902550000001823071906131347_s1_p0");
-
-    EXPECT_EQ(GetH5MovieName(plsFile1),
-        "m121215_065521_richard_c100425710150000001823055001121371_s1_p0");
-
-    EXPECT_EQ(GetH5MovieName(ccsFile1),
-        "m130328_211423_ethan_c100499512550000001823070408081371_s1_p0");
-
-    EXPECT_EQ(GetH5MovieName(rgnFile1),
-        "m130427_152935_42178_c100518602550000001823079209281316_s1_p0");
-}
diff --git a/libcpp/unittest/hdf/HDFZMWReader_gtest.cpp b/libcpp/unittest/hdf/HDFZMWReader_gtest.cpp
deleted file mode 100644
index 63b8f6d..0000000
--- a/libcpp/unittest/hdf/HDFZMWReader_gtest.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * ==========================================================================
- *
- *       Filename:  HDFZMWReader_gtest.cpp
- *
- *    Description:  Test hdf/HDFZMWReader.hpp
- *
- *        Version:  1.0
- *        Created:  08/21/2013 07:00:49 PM
- *       Revision:  08/20/2014  
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * ==========================================================================
- */
-#include "HDFZMWReader.hpp"
-#include "gtest/gtest.h"
-#include "pbdata/testdata.h"
-
-using namespace std;
-using namespace H5;
-
-class HDFZMWReaderTEST : public ::testing::Test {
-public:
-    virtual void SetUp() {
-    }
-    virtual void TearDown() {
-    }
-
-    void Initialize(H5File & pbihdfFile, string fileName,
-        string groupName, HDFGroup & callsGroup) {
-        try {
-            FileAccPropList propList;
-            pbihdfFile.openFile(fileName.c_str(), H5F_ACC_RDONLY, propList);
-        } catch (Exception &e) {
-            cout << "ERROR, could not open hdf file" << fileName
-                << ", exiting." << endl;
-            exit(1);
-        }
-
-        ASSERT_NE(callsGroup.Initialize(pbihdfFile, groupName), 0);
-
-        /*
-        HDFGroup rootGroup, pulseDataGroup;
-        if (rootGroup.Initialize(pbihdfFile, "/") == 0) {
-            cout << "ERROR, could not open /" << endl;
-            exit(1);
-        }
-
-        if (pulseDataGroup.Initialize(rootGroup, "PulseData") == 0){
-            cout << "ERROR, could not open /PulseData" << endl;
-            exit(1);
-        }
-
-        ASSERT_NE(callsGroup.Initialize(pulseDataGroup, "BaseCalls"), 0);
-        */
-    }
-
-    void Close(H5File & pbihdfFile, HDFGroup & callsGroup) {
-        pbihdfFile.close();
-        callsGroup.Close();
-    }
-
-    void TestGetNext(HDFZMWReader & zmwReader) {
-        int count = 0;
-        ZMWGroupEntry entry;
-        while(zmwReader.GetNext(entry)) {
-            count ++;
-            ASSERT_EQ(zmwReader.curZMW, count);
-        }
-        ASSERT_EQ(count, zmwReader.nZMWEntries);
-    }
-};
-
-TEST_F(HDFZMWReaderTEST, ReadZMWFromBaseCalls) {
-    HDFZMWReader zmwReader;
-    string fileName = baxFile2;
-    string groupName = "/PulseData/BaseCalls";
-    H5File pbihdfFile;
-    HDFGroup baseCallsGroup;
-
-    Initialize(pbihdfFile, fileName, groupName, baseCallsGroup);
-    ASSERT_NE(zmwReader.Initialize(&baseCallsGroup), 0);
-
-    TestGetNext(zmwReader);
-    zmwReader.Close();
-    Close(pbihdfFile, baseCallsGroup);
-}
-
-TEST_F(HDFZMWReaderTEST, ReadZMWFromPulseCalls) {
-    string fileName = plsFile1;
-    H5File pbihdfFile;
-    try {
-        FileAccPropList propList;
-        pbihdfFile.openFile(fileName.c_str(), H5F_ACC_RDONLY, propList);
-    } catch (Exception &e) {
-        cout << "ERROR, could not open hdf file" << fileName
-            << ", exiting." << endl;
-        exit(1);
-    }
-
-    HDFGroup pulseCallsGroup;
-    ASSERT_NE(pulseCallsGroup.Initialize(pbihdfFile,"/PulseData/PulseCalls"), 0);
-
-    HDFZMWReader zmwReader;
-    ASSERT_NE(zmwReader.Initialize(&pulseCallsGroup), 0);
-    TestGetNext(zmwReader);
-    zmwReader.Close();
-
-    // Switch to read from CCS ZMW.
-    HDFGroup ccsGroup;
-    ASSERT_NE(ccsGroup.Initialize(pbihdfFile, "/PulseData/ConsensusBaseCalls"), 0);
-    ASSERT_NE(zmwReader.Initialize(&ccsGroup), 0);
-    TestGetNext(zmwReader);
-    zmwReader.Close();
-
-    // Close
-    ccsGroup.Close();
-    pulseCallsGroup.Close();
-    pbihdfFile.close();
-}
-
-
diff --git a/libcpp/unittest/hdf/Makefile b/libcpp/unittest/hdf/Makefile
deleted file mode 100644
index d942d8f..0000000
--- a/libcpp/unittest/hdf/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-include ../../rules.mk
-include ../defines.mk
-
-SOURCES    = $(wildcard *.cpp) 
-OBJECTS    = $(SOURCES:.cpp=.o)
-
-EXE := test-runner
-
-all debug profile: $(EXE)
-
-libpbihdf_gtest.a: $(OBJECTS)
-	$(AR) $(ARFLAGS)c $@ $^
-
-$(EXE): $(OBJECTS)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $^ $(GTEST_SRC) -o $@ -I$(GTEST_ROOT) $(LIBDIRS) $(LDFLAGS)
-
-$(OBJECTS): %.o: %.cpp
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) -c $< -o $@ $(INCDIRS)
-
-gtest: $(EXE)
-	./$< --gtest_output=xml:../xml/hdf.xml
-
-clean:
-	@find . -type f -name \*.o -delete
-	@find . -type f -name \*.d -delete
-	@rm -f libpbihdf_gtest.a $(EXE) ../xml/hdf.xml
diff --git a/libcpp/unittest/normal.Makefile b/libcpp/unittest/normal.Makefile
deleted file mode 100644
index 798365f..0000000
--- a/libcpp/unittest/normal.Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-export
-# Same as .EXPORT_ALL_VARIABLES
-
-all clean gtest: mkdefines
-	${MAKE} -f build.mk $@
-
-mkdefines:
-	#./conf-nightly.py defines.mk
-	cp normal.defines.mk defines.mk
diff --git a/libcpp/unittest/normal.defines.mk b/libcpp/unittest/normal.defines.mk
deleted file mode 100644
index a8264c4..0000000
--- a/libcpp/unittest/normal.defines.mk
+++ /dev/null
@@ -1,54 +0,0 @@
-PBINCROOT?=..
-#THIRD_PARTY_PREFIX ?= ../../..
-
-#include $(PBINCROOT)/common.mk
-
-
-HDF_HEADERS:=hdf5-1.8.12-headers
-HDF5:=/home/UNIXHOME/cdunn/repo/pb/smrtanalysis-client/smrtanalysis/prebuilt.out/hdf5/hdf5-1.8.12/ubuntu-1404
-HDF5_INC?=../hdf/${HDF_HEADERS}/src
-HDF5_LIB?=${HDF5}/lib
-INCLUDES+=-I${PBINCROOT}/hdf/${HDF_HEADERS}/src -I${PBINCROOT}/hdf/${HDF_HEADERS}/c++/src
-#INCLUDES+=-I../pbdata -I../hdf -I.
-
-#OS := $(shell uname)
-
-#ifeq ($(OS), Darwin)
-#	LD_WHOLE_ARCHIVE := -all_load
-#	LD_NO_WHOLE_ARCHIVE := -noall_load
-#else
-#	LD_WHOLE_ARCHIVE := --whole-archive
-#	LD_NO_WHOLE_ARCHIVE := --no-whole-archive
-#endif
-
-LD_WHOLE_ARCHIVE := --whole-archive
-LD_NO_WHOLE_ARCHIVE := --no-whole-archive
-
-# All Google Test headers.  Usually you shouldn't change this.
-#GTEST_ROOT := $(THIRD_PARTY)/gtest/fused-src
-GTEST_ROOT:=/home/UNIXHOME/cdunn/repo/gh/blasr_libcpp/../pbdagcon/test/cpp/gtest-1.7.0/fused-src
-GTEST_SRC  := $(GTEST_ROOT)/gtest/gtest-all.cc \
-              $(GTEST_ROOT)/gtest/gtest_main.cc
-
-# INCLUDE DIRS
-INCDIRS    = -I$(PBINCROOT)/alignment \
-             -I$(PBINCROOT)/hdf \
-             -I$(PBINCROOT)/pbdata \
-			 -I$(PBINCROOT)/unittest \
-             -I$(GTEST_ROOT)
-INCDIRS+=${INCLUDES}
-
-# LIB DIRS
-LIBDIRS    = -L$(PBINCROOT)/alignment \
-             -L$(PBINCROOT)/hdf \
-             -L$(PBINCROOT)/pbdata \
-             -L$(HDF5_LIB) 
-
-LDFLAGS1 := -lblasr -lpbihdf -lpbdata 
-# The order of -l{lib} matters
-
-#LDFLAGS   := $(LDFLAGS1) -lhdf5_cpp -lhdf5 -lpthread -lz -ldl
-LDFLAGS   := $(LDFLAGS1) $(HDF5_LIB)/libhdf5_cpp.a $(HDF5_LIB)/libhdf5.a -lpthread -lz -ldl
-
-CXXOPTS := -std=c++11 -Wno-div-by-zero
-CXXFLAGS := -O3
diff --git a/libcpp/unittest/pbdata/CCSSequence_gtest.cpp b/libcpp/unittest/pbdata/CCSSequence_gtest.cpp
deleted file mode 100644
index 02e72cd..0000000
--- a/libcpp/unittest/pbdata/CCSSequence_gtest.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  CCSSequence_gtest.cpp
- *
- *    Description:  Test pbdata/CCSSequence.hpp
- *
- *        Version:  1.0
- *        Created:  10/29/2012 05:17:04 PM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#include "gtest/gtest.h"
-#include "CCSSequence.hpp"
-
-using namespace std;
-
-Nucleotide sr0[] = "ATATGGGGATTAGGGGATA"; 
-Nucleotide sr1[] = "TAATCCCGTAATCCCGGTAT"; //rc = TAATCCCGTAATCCCGGTAT
-Nucleotide sr2[] = "ATAGGGGGATTAGGGGATTCA"; 
-Nucleotide adapter[] = "CCC";
-Nucleotide unrolled_seq[] = "ATATGGGGATTAGGGGATACCCTAATCCCGTAATCCCGGTATCCCATAGGGGGATTAGGGGATTCA"; 
-int sz0 = 19;
-int sz1 = 20;
-int sz2 = 21;
-int adaptersz = 3;
-int unrolledsz = sz0 + sz1 + sz2 + adaptersz * 2;
-const int numSubreads = 3;
-
-
-class CCSSequenceTest: public:: testing:: Test{
-public:
-    void CreateSMRTSequence(SMRTSequence & smrt, Nucleotide* seq,
-            int holeNumber, int start, int end) {
-        int size = end - start;
-        smrt.seq = new Nucleotide[size];
-        memcpy(smrt.seq, seq, size*sizeof(Nucleotide));
-        smrt.length = size;
-        smrt.deleteOnExit = false;
-
-        smrt.zmwData.holeNumber = holeNumber;
-        smrt.subreadStart = start;
-        smrt.subreadEnd = end;
-
-        stringstream ss;
-    }
-
-    void SetUp() {
-        //Create a vector of subreads.
-        subreads.resize(numSubreads);
-        int s = 0; 
-        CreateSMRTSequence(subreads[0], &sr0[0], 1, s, s + sz0); 
-        s += sz0 + adaptersz; 
-        CreateSMRTSequence(subreads[1], &sr1[0], 1, s, s + sz1); 
-        s += sz1 + adaptersz; 
-        CreateSMRTSequence(subreads[2], &sr2[0], 1, s, s + sz2); 
-
-        //Create ccs
-        stringstream ss;
-        subreads[0].Print(ss);
-
-        CreateSMRTSequence(ccs.unrolledRead, &unrolled_seq[0], 1, 0, unrolledsz);
-        ccs.numPasses = numSubreads;
-        CreateSMRTSequence((SMRTSequence&)ccs, &sr0[0], 1, 0, sz0); 
-        ccs.numConsensusBases = sz0;
-        ccs.passStartBase.resize(numSubreads);
-        ccs.passNumBases.resize(numSubreads);
-        ccs.passDirection.resize(numSubreads);
-        s = 0;
-        for(int i=0; i < ccs.numPasses; i++) {
-            ccs.passStartBase[i] = subreads[i].subreadStart;
-            ccs.passDirection[i] = (i%2==0)?(0):(1);
-            ccs.passNumBases[i] = subreads[i].length;
-        }
-    }
-
-    void TearDown() {
-        ccs.Free();
-        for(int i=0; i<numSubreads; i++) {
-            subreads[i].Free();
-        }
-    }
-
-    CCSSequence ccs;
-    vector<SMRTSequence> subreads;
-};
-
-
-TEST_F(CCSSequenceTest, Print) {
-    stringstream ss, ss1;
-    ccs.Print(ss);
-    ccs.unrolledRead.Print(ss1);
-    ASSERT_EQ(ss.str(), (string(
-        "SMRTSequence for zmw 1, [0, 19)\nATATGGGGATTAGGGGATA\n")));
-    ASSERT_EQ(ss1.str(), (string(
-        "SMRTSequence for zmw 1, [0, 66)\nATATGGGGATTAGGGGATACCCTAATCCCGTAATCCCGGTATCCCATAGG\nGGGATTAGGGGATTCA\n")));
-}
-
-TEST_F(CCSSequenceTest, Explode) {
-    vector<SMRTSequence> exploded_subreads;
-
-    ccs.Explode(exploded_subreads);
-    for(int i = 0; i < numSubreads; i++){
-        stringstream ss, ss1;
-        subreads[i].PrintSeq(ss);
-        exploded_subreads[i].PrintSeq(ss1);
-        ASSERT_EQ(ss.str(), ss1.str());
-    }
-}
-
-
diff --git a/libcpp/unittest/pbdata/ChangeListID_gtest.cpp b/libcpp/unittest/pbdata/ChangeListID_gtest.cpp
deleted file mode 100644
index 18cc8b6..0000000
--- a/libcpp/unittest/pbdata/ChangeListID_gtest.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  ChangeListID_gtest.cpp
- *
- *    Description:  Test pbdata/ChangeListID.hpp
- *
- *        Version:  1.0
- *        Created:  02/26/2015 06:01:01 PM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#include "gtest/gtest.h"
-#include "ChangeListID.hpp"
-
-using namespace std;
-
-// Test ChangeListID.GetVersion().
-TEST(ChangeListID, GetVersion) {
-    string str = "2.3.0.143354";
-    ChangeListID change = ChangeListID(str);
-    EXPECT_EQ(change.GetVersion(), "2.3");
-
-    str = "";
-    change = ChangeListID(str);
-    EXPECT_EQ(change.GetVersion(), "");
-} 
-
diff --git a/libcpp/unittest/pbdata/DNASequence_gtest.cpp b/libcpp/unittest/pbdata/DNASequence_gtest.cpp
deleted file mode 100644
index 6d16f01..0000000
--- a/libcpp/unittest/pbdata/DNASequence_gtest.cpp
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  DNASequence_gtest.cpp
- *
- *    Description:  Test DNASequence.hpp
- *
- *        Version:  1.0
- *        Created:  10/27/2012 09:42:13 AM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#include "gtest/gtest.h"
-#include "DNASequence.hpp"
-#include <climits>
-#include <iostream>
-#include <fstream>
-using namespace std;
-
-//Note ::testing::Test not ::testing::TEST
-//SetUp() and TearDown(), not Setup() and Teardown()
-class DNASequenceTest : public ::testing::Test {
-public:
-    DNASequence dnaOne;
-};
-
-//Test DNASequence constructor
-TEST_F(DNASequenceTest, Constructor) {
-    DNASequence dnaSeq;
-    EXPECT_TRUE(dnaSeq.seq == NULL);
-    EXPECT_TRUE(dnaSeq.length == 0);
-    EXPECT_TRUE(dnaSeq.size() == dnaSeq.length);
-    EXPECT_TRUE(dnaSeq.bitsPerNuc == 8);
-    EXPECT_FALSE(dnaSeq.deleteOnExit);
-
-    Nucleotide HKITTY[] = "HELLO,KITTY!";
-    dnaSeq.seq = HKITTY;
-    dnaSeq.length = sizeof(HKITTY)/sizeof(Nucleotide) - 1;
-//    dnaSeq.Print(cout);
-    EXPECT_EQ(dnaSeq.size(), 12);
-
-    
-    DNALength thisLen = 12;
-    Nucleotide * thisNuc = new Nucleotide [thisLen];
-    memcpy(thisNuc, HKITTY, thisLen);
-    DNASequence newDnaSeq; 
-    newDnaSeq.seq = thisNuc;
-    newDnaSeq.length = thisLen;
-//    newDnaSeq.Print(cout);
-    EXPECT_EQ(memcmp(newDnaSeq.seq, dnaSeq.seq, thisLen), 0);
-    EXPECT_EQ(newDnaSeq.length, thisLen);
-    if (!thisNuc) delete thisNuc;
-
-    DNASequence nnewDnaSeq;
-    thisLen = 12;
-    string atgc ("atgcatgcatgc");
-    thisNuc = new Nucleotide [thisLen];
-    for (int i = 0 ; i < thisLen; i++) {
-        thisNuc[i] = atgc[i];
-    }
-    string ret;
-    nnewDnaSeq.seq = thisNuc;
-    nnewDnaSeq.length = thisLen;
-    for (int i = 0 ; i < thisLen; i++) {
-        ret += nnewDnaSeq.seq[i];
-    }
-    EXPECT_STREQ(ret.c_str(), atgc.c_str());
-}
-
-//Test DNASequence Append()
-TEST_F(DNASequenceTest, Append) {
-    DNALength oneLen = 10;
-    Nucleotide * one = new Nucleotide [oneLen];
-
-    string As("AAAAAAAAAA"); 
-    for (int i = 0; i < oneLen; i++) {
-        one[i] = As[i];
-    }
-    //Can not memcpy a string to a DNASequence directly 
-    //such as memcpy(one, As.c_str(), oneLen), because 
-    //DNASequence.seq is of type unsigned char, not char
-
-    DNALength twoLen = 20;
-    Nucleotide * two = new Nucleotide [twoLen];
-    
-    string Gs("GGGGGGGGGGGGGGGGGGGG");
-    for (int i = 0; i < twoLen; i++) {
-        two[i] = Gs[i];
-    }
-    //memcpy(two, Gs.c_str(), twoLen);
-
-    Nucleotide * three = new Nucleotide [oneLen + twoLen];
-    memcpy(three, one, oneLen);
-    memcpy(three+oneLen, two, twoLen);
-
-    DNASequence dnaTwo;
-    dnaOne.seq = one; 
-    dnaOne.length = oneLen;
-    dnaOne.deleteOnExit = true;
-    dnaTwo.seq = two;
-    dnaTwo.length = twoLen;
-
-    dnaOne.Append(dnaTwo, 0);
-    EXPECT_EQ(dnaOne.length, oneLen + twoLen);
-    EXPECT_EQ(memcmp(dnaOne.seq, three, dnaOne.length), 0);
-
-    string AGs("AAAAAAAAAAGGGGGGGGGGGGGGGGGGGG");
-    for (int i = 0; i < dnaOne.length; i++) {
-        EXPECT_EQ(AGs[i], (char)dnaOne.seq[i]);
-    }
-  
-    //if appendPos is positive, overwrite this sequence
-    //from appendPos to the end
-    AGs = "AAGGGGGGGGGGGGGGGGGGGG";
-    DNALength appendPos = 2;
-    dnaOne.Append(dnaTwo, appendPos);
-    EXPECT_EQ(dnaOne.length, appendPos + twoLen);
-    for (int i = 0; i < dnaOne.length; i++) {
-        EXPECT_EQ(AGs[i], (char)dnaOne.seq[i]);
-    }
-    
-    if(!one) delete one;
-    if(!two) delete two;
-    if(!three) delete three;
-}
-
-//Test DNASequence TakeOwnership
-TEST_F(DNASequenceTest, TakeOwnership) {
-    DNALength oneLen = 10;
-    Nucleotide * one = new Nucleotide [oneLen];
-    
-    dnaOne.seq = one; 
-    dnaOne.length = oneLen;
-
-    DNASequence dnaTwo;
-    
-    //a bug may occur if deleteOneExit is true and 
-    //TakeOwnership() is called twice. In that case, both
-    //dnaOne and dnaTwo will become wild pointers 
-    dnaTwo.deleteOnExit = true;
-    dnaTwo.TakeOwnership(dnaOne);
-    
-    EXPECT_EQ(dnaTwo.length, dnaOne.length);
-    EXPECT_EQ(dnaTwo.deleteOnExit, dnaOne.deleteOnExit);
-    EXPECT_EQ(dnaTwo.seq, dnaOne.seq);
-
-    if(!one) delete one;
-}
-
-//Test DNASequence ShallowCopy
-TEST_F(DNASequenceTest, ShallowCopy) {
-    DNALength oneLen = 10;
-    Nucleotide * one = new Nucleotide [oneLen];
-
-    string As("AAAAAAAAAA");
-    for (int i = 0; i < oneLen; i++) {
-        one[i] = As[i];
-    }
-    dnaOne.seq = one;
-    dnaOne.length = oneLen;
-
-    DNASequence dnaTwo;
-    dnaTwo.ShallowCopy(dnaOne);
-
-    EXPECT_EQ(dnaTwo.length, dnaOne.length);
-    EXPECT_EQ(dnaTwo.seq   , dnaOne.seq);
-    EXPECT_EQ(dnaTwo.deleteOnExit, dnaOne.deleteOnExit);
-}
-
-
-//Test DNASequence.Copy(const DNASequence rhs, 
-//                      DNALength rhsPos,
-//                      DNALength rhsLength)
-TEST_F(DNASequenceTest, Copy) {
-    DNALength oneLen = 10;
-    Nucleotide * one = new Nucleotide [oneLen];
-
-    string As("AGAAAAACAA");
-    for (int i = 0; i < oneLen; i++) {
-        one[i] = As[i];
-    }
-
-    dnaOne.seq = one;
-    dnaOne.length = oneLen;
-
-    DNASequence dnaTwo;
-    dnaTwo.Copy(dnaOne);
-
-    EXPECT_EQ(dnaTwo.length, dnaOne.length);
-    EXPECT_NE(dnaTwo.seq   , dnaOne.seq);
-    EXPECT_TRUE(dnaTwo.deleteOnExit); 
-    EXPECT_EQ(memcmp(dnaTwo.seq, dnaOne.seq, dnaOne.length), 0);
-
-    //if rhs.length is 0, return this * 
-    DNASequence dnaThree;
-    dnaTwo.Copy(dnaThree);
-    //dnaTwo remains unchanged
-    EXPECT_EQ(dnaTwo.length, 0);
-    EXPECT_NE(dnaTwo.seq, dnaOne.seq);
-    EXPECT_TRUE(dnaTwo.deleteOnExit); 
-    EXPECT_TRUE(dnaTwo.seq == NULL);
-
-    //if rhsPos is not 0 and rhsLength is 0
-    dnaTwo.Copy(dnaOne, 2);
-    EXPECT_EQ(dnaTwo.length, dnaOne.length - 2);
-    EXPECT_TRUE(dnaTwo.deleteOnExit); 
-    EXPECT_EQ(memcmp(dnaTwo.seq, dnaOne.seq + 2, dnaTwo.length), 0);
-
-
-    //if the subsequence to copy is out of bounds
-    EXPECT_GT(200, dnaOne.length);
-    //EXPECT_EXIT(dnaTwo.Copy(dnaOne, 200), ::testing::ExitedWithCode(1), ""); 
-
-
-    //if both rhsPos and rhsLength are less than MAXINT,
-    //but rhsPos+ rhsLength > MAXINT
-    DNALength rhsPos = 3;
-    DNALength rhsLength = UINT_MAX -1;
-    EXPECT_TRUE(rhsPos < UINT_MAX && rhsLength < UINT_MAX);
-    EXPECT_TRUE(rhsLength > dnaOne.length + 1);
-    //EXPECT_EXIT(dnaTwo.Copy(dnaOne, rhsPos, rhsLength), ::testing::ExitedWithCode(1), "");
-
-
-    //if rhsPos > rhs.length
-    //EXPECT_EXIT(dnaTwo.Copy(dnaOne, dnaOne.length + 1), ::testing::ExitedWithCode(1), "")
-    //    << "Copy a subsequence which is out of bounds. This needs to be taken care of. See bug 21867.";
-
-}
-
-//Test DNASequence Allocate(DNALength)
-TEST_F(DNASequenceTest, Allocate) {
-    dnaOne.Allocate(0);
-    EXPECT_EQ(dnaOne.length, 0);
-
-    DNASequence dnaTwo;
-    dnaTwo.Allocate(100);
-    EXPECT_EQ(dnaTwo.length, 100);
-}
-
-//Test DNASequence ReferenceSubstring(rhs, pos, substrLength)
-TEST_F(DNASequenceTest, ReferenceSubstring) {
-    DNALength oneLen = 10;
-    dnaOne.seq = new Nucleotide[oneLen];
-    dnaOne.length = oneLen;
-
-    DNASequence dnaTwo;
-    dnaTwo.ReferenceSubstring(dnaOne);
-
-    EXPECT_EQ(dnaOne.seq, dnaTwo.seq);
-    EXPECT_EQ(dnaOne.length, dnaTwo.length);
-    EXPECT_FALSE(dnaTwo.deleteOnExit);
-
-//    EXPECT_DEATH_IF_SUPPORTED(dnaTwo.ReferenceSubstring(dnaOne, 100), "");
-    delete dnaOne.seq;
-}
-/*
-TEST_F(DNASequenceTest, CopyFromString) {
-    // Test Copy(const std::string &)
-    string str = "ATGCGGGCCTCGCCG";
-    dnaOne.Copy(str);
-
-    for (int i = 0; i < str.size(); i++) {
-       EXPECT_EQ(dnaOne.seq[i], str[i]);
-    }
-
-    // Test operator = (const std::string)
-    DNASequence dnaTwo;
-    dnaTwo = str;
-    for (int i = 0; i < str.size(); i++) {
-       EXPECT_EQ(dnaOne.seq[i], str[i]);
-    }
-}
-*/
diff --git a/libcpp/unittest/pbdata/FASTAReader_gtest.cpp b/libcpp/unittest/pbdata/FASTAReader_gtest.cpp
deleted file mode 100644
index f8aa7de..0000000
--- a/libcpp/unittest/pbdata/FASTAReader_gtest.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  FASTAReader_gtest.cpp
- *
- *    Description:  Test common/FASTAReader.h
- *
- *        Version:  1.0
- *        Created:  10/29/2012 05:18:52 PM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#include "gtest/gtest.h"
-#include "FASTAReader.hpp"
-#include "pbdata/testdata.h"
-
-class FASTAReaderTest:public::testing::Test{
-public:
-    void SetUp() {
-        string filename(fastaFile1);
-        reader.Initialize(filename);
-    }
-
-    void TearDown() {
-        reader.Close();
-        seq.Free();
-    }
-
-    FASTAReader reader;
-    FASTASequence seq;
-};
-
-TEST_F(FASTAReaderTest, GetNext) {
-    reader.GetNext(seq);
-    EXPECT_EQ(strcmp(seq.title, "read1"), 0);
-    EXPECT_EQ(seq.length, 100);
-    string expected_seq = string(
-        "AAAAAGGGGGCCCCCACGGCAGCCAGATTTAAATTGAGGGCCCCCCCTTT"
-        "GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG");
-    EXPECT_EQ(strcmp((char*)seq.seq, expected_seq.c_str()), 0); 
-
-    reader.GetNext(seq);
-    EXPECT_EQ(strcmp(seq.title, "read2"), 0);
-    EXPECT_EQ(seq.length, 99);
-}
-
-TEST_F(FASTAReaderTest, ReadAllSequences) {
-    vector<FASTASequence> seqs;
-    reader.ReadAllSequences(seqs);
-
-    EXPECT_EQ(seqs.size(), 12);
-    EXPECT_EQ(strcmp(seqs[11].title, "read2x"), 0);
-
-    string expected_seq = string(
-        "AAAAAGGGGGCCCACGGCAGCCAGATTTAAATTGAGGGCAACCCCCCTTT"
-        "GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG");
-    EXPECT_EQ(strcmp((char*)seqs[11].seq, expected_seq.c_str()), 0);
-}
-
diff --git a/libcpp/unittest/pbdata/FASTASequence_gtest.cpp b/libcpp/unittest/pbdata/FASTASequence_gtest.cpp
deleted file mode 100644
index 4161e76..0000000
--- a/libcpp/unittest/pbdata/FASTASequence_gtest.cpp
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  FASTASequence_gtest.cpp
- *
- *    Description:  Test pbdata/FASTASequence.hpp
- *
- *        Version:  1.0
- *        Created:  10/29/2012 05:19:13 PM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#include "FASTASequence.hpp"
-#include "gtest/gtest.h"
-#include <climits>
-#include <iostream>
-#include <fstream>
-
-
-using namespace std;
-
-class FASTASequenceTest : public ::testing::Test {
-public:
-    virtual void SetUp() {
-    }
-
-    virtual void TearDown() {
-        fastaOne.Free();
-        fastaTwo.Free();
-        fastaThree.Free();
-    }
-
-    FASTASequence fastaOne;
-    FASTASequence fastaTwo;
-    FASTASequence fastaThree;
-
-    std::streambuf * sbuf;
-    ofstream ofs;
-};
-
-
-//Test FASTASequence 
-TEST_F(FASTASequenceTest, ALLFUNC) {
-    // Test constructor 
-    EXPECT_TRUE(fastaOne.title == NULL);
-    EXPECT_TRUE(fastaOne.titleLength == 0);
-    EXPECT_TRUE(fastaOne.seq == NULL);
-    EXPECT_TRUE(fastaOne.length == 0);
-    EXPECT_FALSE(fastaOne.deleteOnExit);
-    EXPECT_EQ(fastaOne.GetStorageSize(), 0);
-
-    DNASequence dna;
-    Nucleotide thisNuc[] = "ATGCATGCTC";
-    dna.seq = thisNuc;
-    dna.length = 10;
-
-    int titleLength = 22;
-    string title("fasta_seq_one comments");
-    fastaOne.title = new char [titleLength];
-    memcpy(fastaOne.title, title.c_str(), titleLength);
-
-    fastaOne.titleLength = titleLength;
-
-    EXPECT_EQ(fastaOne.GetName(), string("fasta_seq_one"));
-    fastaOne.seq = thisNuc;
-    fastaOne.length = 10;
-
-    // use ShallowCopy carefully, since title may double free
-    // fastaTwo.ShallowCopy(fastaOne);
-    // EXPECT_EQ(fastaTwo.seq, fastaOne.seq);
-    // EXPECT_EQ(fastaTwo.title, fastaOne.title);
-
-
-    // Test AppendToTitle
-    fastaOne.AppendToTitle(string("XXX"));
-    EXPECT_EQ(fastaOne.titleLength, 26);
-
-    string newTitle = "fasta_seq_one commentsXXX";
-    EXPECT_STREQ(fastaOne.title, newTitle.c_str());
-
-
-    // Test ReverseComplementSelf()
-    fastaOne.ReverseComplementSelf();
-    string rcSeq = "GAGCATGCAT";
-    for (int i = 0; i < rcSeq.size(); i++) {
-        EXPECT_EQ(fastaOne.seq[i], rcSeq[i]);
-    }
-
-    // Test operator =
-    fastaTwo=fastaOne;
-    EXPECT_NE(fastaOne.title, fastaTwo.title);
-    EXPECT_EQ(fastaOne.titleLength, fastaTwo.titleLength);
-    EXPECT_STREQ(fastaOne.title, fastaTwo.title);
-    EXPECT_NE(fastaOne.seq, fastaTwo.seq);
-    for (int i = 0; i < fastaOne.length; i++) {
-        EXPECT_EQ(fastaOne.seq[i], fastaTwo.seq[i]);
-    }
-
-    // Test MakeRC(rhs&)
-    fastaOne.MakeRC(fastaThree);
-
-    // Test PrintSeq
-    stringstream ss;
-    fastaThree.PrintSeq(ss);
-    string thisTitle, thisComment, thisSeq;
-    ss >> thisTitle;
-    ss >> thisComment;
-    ss >> thisSeq;
-
-    EXPECT_EQ(thisTitle, ">fasta_seq_one");
-    EXPECT_EQ(thisComment, "commentsXXX");
-    EXPECT_EQ(thisSeq, "ATGCATGCTC");
-}
-
-
-TEST_F(FASTASequenceTest, CopyFromString) {
-    string name = "read_name";
-    string seq = "ATGGGCGC";
-    fastaOne.Copy(name, seq);
-    EXPECT_EQ(fastaOne.title, name);
-    EXPECT_EQ(fastaOne.length, seq.size());
-    EXPECT_EQ(fastaOne.deleteOnExit, true);
-    for(int i = 0; i < fastaOne.length; i++) {
-        EXPECT_EQ(fastaOne.seq[i], seq[i]);
-    }
-
-    // Copy sequence from another string. 
-    string seq2 = "GGTTGTG";
-    fastaOne.Copy(seq2);
-    // Name not changed.
-    EXPECT_EQ(fastaOne.title, name);
-    EXPECT_EQ(fastaOne.length, seq2.size());
-    EXPECT_EQ(fastaOne.deleteOnExit, true);
-    for(int i = 0; i < fastaOne.length; i++) {
-        EXPECT_EQ(fastaOne.seq[i], seq2[i]);
-    }
-}
diff --git a/libcpp/unittest/pbdata/FASTQReader_gtest.cpp b/libcpp/unittest/pbdata/FASTQReader_gtest.cpp
deleted file mode 100644
index 2fbbaca..0000000
--- a/libcpp/unittest/pbdata/FASTQReader_gtest.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  FASTQReader_gtest.cpp
- *
- *    Description:  Test pbdata/FASTQReader.hpp
- *
- *        Version:  1.0
- *        Created:  10/29/2012 05:19:32 PM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-
-
-#include "gtest/gtest.h"
-#include "FASTQReader.hpp"
-#include "pbdata/testdata.h"
-
-const string movie = 
-    "m130328_211423_ethan_c100499512550000001823070408081371_s1_p0";
-const int numSeqs = 208;
-
-class FASTQReaderTest:public::testing::Test{
-public:
-    void SetUp() {
-        string filename(fastqFile1);
-        reader.Initialize(filename);
-    }
-
-    void TearDown() {
-        reader.Close();
-        seq.Free();
-    }
-
-    FASTQReader reader;
-    FASTQSequence seq;
-};
-
-TEST_F(FASTQReaderTest, GetNext) {
-    reader.GetNext(seq);
-    EXPECT_EQ(strcmp(seq.title, string(movie + "/8").c_str()), 0);
-    EXPECT_EQ(seq.length, 752);
-    string expected_seq = string(
-        "AATAAAAAAAAAAGAAAGCTTCGAAGTGAGCGAATTACTCTCAGGCAACT"
-        "GCGGGTGAAGCCAGAGCAGGCATGATGACACTGGGGAATTTACGCAAATT"
-        "TTACCATTGAATTTACACATGCGATGTGCTGGAATGCGGAAGACGGAAAC"
-        "GAAACCAGCAATACATCAAACGCCGCACCAGAGAAGAGATATTTGCGCCC"
-        "TAAACTAGGTAAGGCGGTTGACTTGAACAGCAAATCAAACGTCAACGAGC"
-        "AGCGTGAGTATATACAAGTTATCTCGGATGGAGAACGTATTCTAAATGTA"
-        "AGCACGAATCCCGGAAGAGGAAACCAGTTTCTTGGTTTTTCGCCATCCTC"
-        "GAAGACCTGTTACAAACCGCACTGGACCTGGAAAGTTTCTGCGCGTAATC"
-        "GACAAGACTAGTAACTATCGACATCAACCATCGATTACGGGTTGGGTCAA"
-        "TGGGTTCAGATGCAGGTGAGTATCCTTCATATGATAGTCTGACGCTGGCA"
-        "TTCGCTCAAAGGAAGTAGACGGTTTTGTAAATAGAAACGCTTGTGAAAAG"
-        "CTGAATTTCGCGTCGTCTTCCAGCGATGCAGAGCTGTAGTAGTTCAGATG"
-        "ATGACCGTTACTCAAAGTGCCTGCAACGGCTCGGGGCGTGCGCGTCCTGT"
-        "GGTGGCTGCTTTTGTTGCGCTGTTTGCAGTGTATGGTTGTCGGGTGATGT"
-        "TGCCTGCAAACCCACAAAACCCCACACACACAACAGTTGGGTTGTTGATT"
-        "GG");
-    string expected_qual = string(
-        "(,)'(')''++),.$\"+*$'--.-/+&.$-./$',-.&#'/,.,)-,--,");
-
-    for(int i=0; i < seq.length; i++){
-        EXPECT_EQ(seq.seq[i], expected_seq[i]);
-    }
-
-    for(int i=0; i < expected_qual.size(); i++){
-        EXPECT_EQ(seq.qual[i] + FASTQSequence::charToQuality,
-                  expected_qual[i]);
-    }
-
-    reader.GetNext(seq);
-    EXPECT_EQ(strcmp(seq.title, string(movie+"/9").c_str()), 0);
-
-    // Continue to read
-    for(int i=2; i < numSeqs; i++) {
-        EXPECT_TRUE(reader.GetNext(seq));
-    }
-    EXPECT_EQ(strcmp(seq.title, string(movie+"/249").c_str()), 0);
-
-    // Can not proceed.
-    EXPECT_FALSE(reader.GetNext(seq));
-}
-
diff --git a/libcpp/unittest/pbdata/Makefile b/libcpp/unittest/pbdata/Makefile
deleted file mode 100644
index a6474af..0000000
--- a/libcpp/unittest/pbdata/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-include ../../rules.mk
-include ../defines.mk
-
-SOURCES    = $(wildcard *.cpp) \
-		     $(wildcard utils/*.cpp) \
-		     $(wildcard metagenome/*.cpp) \
-		     $(wildcard saf/*.cpp) \
-		     $(wildcard reads/*.cpp) \
-		     $(wildcard qvs/*.cpp) 
-OBJECTS    = $(SOURCES:.cpp=.o)
-
-EXE := test-runner
-
-all debug profile: $(EXE)
-
-libpbdata_gtest.a: $(OBJECTS)
-	$(AR) $(ARFLAGS)c $@ $^
-
-$(EXE): $(OBJECTS)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $^ $(GTEST_SRC) -o $@ -I$(GTEST_ROOT) $(LIBDIRS) $(LDFLAGS)
-
-$(OBJECTS): %.o: %.cpp
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) -c $< -o $@ $(INCDIRS)
-
-gtest: $(EXE)
-	./$< --gtest_output=xml:../xml/pbdata.xml
-
-clean:
-	@find . -type f -name \*.o -delete
-	@find . -type f -name \*.d -delete
-	@rm -f libpbdata_gtest.a $(EXE) ../xml/pbdata.xml
diff --git a/libcpp/unittest/pbdata/NucConversion_gtest.cpp b/libcpp/unittest/pbdata/NucConversion_gtest.cpp
deleted file mode 100644
index b1df999..0000000
--- a/libcpp/unittest/pbdata/NucConversion_gtest.cpp
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  NucConversion_gtest.cpp
- *
- *    Description:  Test pbdata/NucConversion.hpp
- *
- *        Version:  1.0
- *        Created:  08/19/2014 05:21:12 PM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-#include "gtest/gtest.h"
-#include "NucConversion.hpp"
-
-
-// ACGT = 0123
-TEST(NucConversion, ASCIITo2BIT) {
-    EXPECT_EQ(TwoBit['A'], 0);
-    EXPECT_EQ(TwoBit['a'], 0);
-    EXPECT_EQ(TwoBit['C'], 1);
-    EXPECT_EQ(TwoBit['c'], 1);
-    EXPECT_EQ(TwoBit['G'], 2);
-    EXPECT_EQ(TwoBit['g'], 2);
-    EXPECT_EQ(TwoBit['T'], 3);
-    EXPECT_EQ(TwoBit['t'], 3);
-    EXPECT_EQ(TwoBit['N'], 255);
-    EXPECT_EQ(TwoBit['x'], 255);
-}
-
-TEST(NucConversion, ASCIITo3BIT) {
-    EXPECT_EQ(ThreeBit['A'], 0);
-    EXPECT_EQ(ThreeBit['a'], 0);
-    EXPECT_EQ(ThreeBit['C'], 1);
-    EXPECT_EQ(ThreeBit['c'], 1);
-    EXPECT_EQ(ThreeBit['G'], 2);
-    EXPECT_EQ(ThreeBit['g'], 2);
-    EXPECT_EQ(ThreeBit['T'], 3);
-    EXPECT_EQ(ThreeBit['t'], 3);
-    
-    EXPECT_EQ(ThreeBit['U'], 4);
-    EXPECT_EQ(ThreeBit['M'], 4);
-    EXPECT_EQ(ThreeBit['R'], 4);
-    EXPECT_EQ(ThreeBit['W'], 4);
-    EXPECT_EQ(ThreeBit['S'], 4);
-    EXPECT_EQ(ThreeBit['Y'], 4);
-    EXPECT_EQ(ThreeBit['K'], 4);
-    EXPECT_EQ(ThreeBit['V'], 4);
-    EXPECT_EQ(ThreeBit['H'], 4);
-    EXPECT_EQ(ThreeBit['D'], 4);
-    EXPECT_EQ(ThreeBit['N'], 4);
-
-    EXPECT_EQ(ThreeBit['$'], 5);
-
-    EXPECT_EQ(ThreeBit['p'], 255);
-    EXPECT_EQ(ThreeBit['q'], 255);
-}
-
-TEST(NucConversion, ISACTG) {
-    EXPECT_TRUE(IsACTG['A']);
-    EXPECT_TRUE(IsACTG['a']);
-    EXPECT_TRUE(IsACTG['C']);
-    EXPECT_TRUE(IsACTG['c']);
-    EXPECT_TRUE(IsACTG['G']);
-    EXPECT_TRUE(IsACTG['g']);
-    EXPECT_TRUE(IsACTG['T']);
-    EXPECT_TRUE(IsACTG['t']);
-
-    EXPECT_FALSE(IsACTG['w']);
-    EXPECT_FALSE(IsACTG['N']);
-}
-
-
-TEST(NucConversion, ThreeBitToASCII) {
-    char alphabeta[] = {'A', 'C', 'G', 'T'};
-    for(int i = 0; i < 4; i++) {
-        EXPECT_EQ(alphabeta[i], ThreeBitToAscii[ThreeBit[alphabeta[i]]]);
-    }
-}
-
-TEST(NucConversion, AllToUpper) {
-    char alphabeta[] = {'A', 'C', 'G', 'T', 'a', 'c', 'g', 't'};
-    for(int i = 0; i < 8; i++) {
-        EXPECT_EQ(toupper(alphabeta[i]), AllToUpper[alphabeta[i]]);
-    }
-}
-
-TEST(NucConversion, AllToLower) {
-    char alphabeta[] = {'A', 'C', 'G', 'T', 'a', 'c', 'g', 't'};
-    for(int i = 0; i < 8; i++) {
-        EXPECT_EQ(tolower(alphabeta[i]), AllToLower[alphabeta[i]]);
-    }
-}
-
-TEST(NucConversion, ReverseComplementNuc) {
-    EXPECT_EQ(ReverseComplementNuc['A'], 'T');
-    EXPECT_EQ(ReverseComplementNuc['T'], 'A');
-    EXPECT_EQ(ReverseComplementNuc['G'], 'C');
-    EXPECT_EQ(ReverseComplementNuc['C'], 'G');
-}
diff --git a/libcpp/unittest/pbdata/SMRTSequence_gtest.cpp b/libcpp/unittest/pbdata/SMRTSequence_gtest.cpp
deleted file mode 100644
index 43f40d9..0000000
--- a/libcpp/unittest/pbdata/SMRTSequence_gtest.cpp
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  SMRTSequenceSequence_gtest.cpp
- *
- *    Description:  Test pbdata/SMRTSequenceSequence.h
- *
- *        Version:  1.0
- *        Created:  10/29/2012 05:17:04 PM
- *       Revision:  08/19/2014 
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#include "gtest/gtest.h"
-#include "SMRTSequence.hpp"
-
-using namespace std;
-
-Nucleotide seqnt[] = "ATATGGGGATTAGGGGATA"; 
-const string seqst("ATATGGGGATTAGGGGATA"); 
-
-class SMRTSequenceTest: public:: testing:: Test{
-public:
-    void SetUp() {
-        smrt.seq = seqnt;
-        int len = sizeof(seqnt) / sizeof(Nucleotide) - 1;
-        smrt.length = len; 
-        smrt.zmwData.holeNumber = 1;
-        smrt.subreadStart = 0;
-        smrt.subreadEnd = 19;
-        smrt.AllocateDeletionQVSpace(len);
-        for(int i=0; i < 19; i ++) {
-            smrt.deletionQV[i] = i;
-        }
-    }
-    void TearDown() {
-        smrt.Free();
-    }
-    SMRTSequence smrt;
-};
-
-
-TEST_F(SMRTSequenceTest, Print) {
-   stringstream ss;
-   smrt.Print(ss);
-   ASSERT_EQ(ss.str(), (string("SMRTSequence for zmw 1, [0, 19)\n")
-                        + seqst + "\n"));
-}
-
-
-TEST_F(SMRTSequenceTest, GetDeletionQV) {
-    for(int i = 0; i < smrt.length; i ++){
-        ASSERT_EQ(smrt.GetDeletionQV(i), i);
-    }
-}
-
-
diff --git a/libcpp/unittest/pbdata/ScanData_gtest.cpp b/libcpp/unittest/pbdata/ScanData_gtest.cpp
deleted file mode 100644
index 1a3bdbb..0000000
--- a/libcpp/unittest/pbdata/ScanData_gtest.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  ScanData_gtest.cpp
- *
- *    Description:  Test pbdata/reads/ScanData.hpp
- *
- *        Version:  1.0
- *        Created:  11/29/2012 03:55:46 PM
- *       Revision:  08/20/2014
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#include "gtest/gtest.h"
-#include "reads/ScanData.hpp"
-
-TEST(ScanDataTest, GetMovieName) {
-    ScanData sd;
-    EXPECT_EQ(sd.platformId, NoPlatform);
-    EXPECT_EQ(sd.frameRate, 0);
-    EXPECT_EQ(sd.numFrames, 0);
-    EXPECT_EQ(sd.movieName.size(), 0);
-    EXPECT_EQ(sd.runCode.size(), 0);
-    EXPECT_EQ(sd.whenStarted.size(), 0);
-    EXPECT_EQ(sd.baseMap.size(), 0);
-}
diff --git a/libcpp/unittest/pbdata/SeqUtils_gtest.cpp b/libcpp/unittest/pbdata/SeqUtils_gtest.cpp
deleted file mode 100644
index e83c955..0000000
--- a/libcpp/unittest/pbdata/SeqUtils_gtest.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  SeqUtils_gtest.cpp
- *
- *    Description:  Test pbdata/SeqUtils.hpp, SeqUtils_Impl.hpp
- *
- *        Version:  1.0
- *        Created:  10/29/2012 05:21:58 PM
- *        Updated:  08/18/2014 05:49:51 PM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-#include "gtest/gtest.h"
-#include "SeqUtils.hpp"
-
-TEST(SeqUtils, OnlyACTG){
-    DNASequence seq;
-    Nucleotide seqnt[] = "ATGC";
-    seq.seq = seqnt;
-    seq.length = 4;
-    EXPECT_EQ(OnlyACTG(seq), 1);
-
-    Nucleotide seqnt1[] = "ATXYZ";
-    seq.seq = seqnt1;
-    seq.length = 5;
-    EXPECT_EQ(OnlyACTG(seq), 0);
-}
-
-TEST(SeqUtils, CountMasked){
-    DNASequence seq;
-    Nucleotide seqnt[] = "ATGCNNNNNNATGC";
-    seq.seq = seqnt;
-    seq.length = 14;
-    EXPECT_EQ(CountMasked(seq), 6);
-}
-
-TEST(SeqUtils, CountNotMasked){
-    DNASequence seq;
-    Nucleotide seqnt[] = "ATGCNNNNNNATGC";
-    seq.seq = seqnt;
-    seq.length = 14;
-    EXPECT_EQ(CountNotMasked(seq), 8);
-
-}
diff --git a/libcpp/unittest/pbdata/StringUtils_gtest.cpp b/libcpp/unittest/pbdata/StringUtils_gtest.cpp
deleted file mode 100644
index abd6622..0000000
--- a/libcpp/unittest/pbdata/StringUtils_gtest.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * ==================================================================
- *
- *       Filename:  StringUtils_gtest.cpp
- *
- *    Description:  Test pbdata/StringUtils.hpp
- *
- *        Version:  1.0
- *        Created:  03/28/2015 03:54:55 PM
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * ==================================================================
- */
-#include "gtest/gtest.h"
-#include "reads/ReadType.hpp"
-#include "StringUtils.hpp"
-
-using namespace std;
-
-
-TEST(StringUtilTest, MakeReadGroupId) {
-
-    string movieName = "m140905_042212_sidney_c100564852550000001823085912221377_s1_X0";
-    ReadType::ReadTypeEnum readType = ReadType::SUBREAD;
-    string expectedReadGroupId = "b89a4406";
-    EXPECT_EQ(MakeReadGroupId(movieName, readType), expectedReadGroupId);
-
-    movieName = "movie32";
-    readType = ReadType::CCS;
-    expectedReadGroupId = "f5b4ffb6";
-    EXPECT_EQ(MakeReadGroupId(movieName, readType), expectedReadGroupId);
-}
-
-TEST(StringUtilTest, Splice) {
-    vector<string> tokens;
-
-    Splice("movie/zmw/0_1", "/", tokens);
-    vector<string> exp = {"movie", "zmw", "0_1"};
-    EXPECT_EQ(tokens, exp); 
-
-    string test = "abc,ef,12,4";
-    Splice(test, ",", tokens);
-    exp = vector<string>{"abc", "ef", "12", "4"};
-    EXPECT_EQ(tokens, exp); 
-    
-    Splice(test, "ef,", tokens);
-    exp = vector<string>{"abc,", "12,4"};
-    EXPECT_EQ(tokens, exp);
-
-    Splice("", ",", tokens);
-    exp = vector<string>{""};
-    EXPECT_EQ(tokens, exp); 
-
-    Splice(",", ",", tokens);
-    exp = vector<string>{"", ""};
-    EXPECT_EQ(tokens, exp); 
-    
-    Splice(",abc,", ",", tokens);
-    exp = vector<string>{"", "abc", ""};
-    EXPECT_EQ(tokens, exp); 
-
-    Splice("abc,", ",", tokens);
-    exp = vector<string>{"abc", ""};
-    EXPECT_EQ(tokens, exp); 
-
-    Splice(",abc", ",",  tokens);
-    exp = vector<string>{"", "abc"};
-    EXPECT_EQ(tokens, exp); 
-
-    Splice("abc", "abc",  tokens);
-    exp = vector<string>{"", ""};
-    EXPECT_EQ(tokens, exp); 
-
-    Splice("a\tb\tc", "\t",  tokens);
-    exp = vector<string>{"a", "b", "c"};
-    EXPECT_EQ(tokens, exp); 
-}
diff --git a/libcpp/unittest/pbdata/VectorUtils_gtest.cpp b/libcpp/unittest/pbdata/VectorUtils_gtest.cpp
deleted file mode 100644
index 70d9463..0000000
--- a/libcpp/unittest/pbdata/VectorUtils_gtest.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  VectorUtils_gtest.cpp
- *
- *    Description:  Test pbdata/VectorUtils.hpp
- *
- *        Version:  1.0
- *        Created:  01/17/2013 06:01:01 PM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#include "gtest/gtest.h"
-#include "VectorUtils.hpp"
-
-using namespace std;
-
-// Test ClearMemory(vector<T> vt)
-TEST(VectorUtils, ClearMemory) {
-    vector<int> vi;
-    vi.push_back(1);
-
-    int size = 1000000;
-    vi.reserve(size);
-    EXPECT_EQ(vi.size(), 1);
-    EXPECT_EQ(vi.capacity(), size);
-
-    ClearMemory(vi);
-    EXPECT_EQ(vi.size(), 0);
-    EXPECT_EQ(vi.capacity(), 0);
-} 
-
diff --git a/libcpp/unittest/pbdata/defs_gtest.cpp b/libcpp/unittest/pbdata/defs_gtest.cpp
deleted file mode 100644
index f81686b..0000000
--- a/libcpp/unittest/pbdata/defs_gtest.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  defs_gtest.cpp
- *
- *    Description:  Test pbdata/defs.h
- *
- *        Version:  1.0
- *        Created:  10/29/2012 05:17:49 PM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#include "gtest/gtest.h"
-#include "defs.h"
-
-TEST(DefsTest, MIN) {
-    EXPECT_EQ(MIN(1,10000), 1);
-    EXPECT_EQ(MIN(-1,10000), -1);
-    EXPECT_EQ(MIN(-1,-2), -2);
-}
-
-TEST(DefsTest, MAX) {
-    EXPECT_EQ(MAX(1,10000), 10000);
-    EXPECT_EQ(MAX(-1,10000), 10000);
-    EXPECT_EQ(MAX(-1,-2), -1);
-}
-
-TEST(DefsTest, SWAP) {
-    int x = 10;
-    int y = 100;
-    SWAP(x, y);
-
-    EXPECT_EQ(x, 100);
-    EXPECT_EQ(y, 10);
-}
-
-
-
diff --git a/libcpp/unittest/pbdata/metagenome/TitleTable_gtest.cpp b/libcpp/unittest/pbdata/metagenome/TitleTable_gtest.cpp
deleted file mode 100644
index e4132a7..0000000
--- a/libcpp/unittest/pbdata/metagenome/TitleTable_gtest.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  TitleTable_gtest.cpp
- *
- *    Description:  Test pbdata/metagenome/TitleTable.hpp
- *
- *        Version:  1.0
- *        Created:  11/29/2012 03:34:56 PM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#include "gtest/gtest.h"
-#include "metagenome/TitleTable.hpp"
-#include "pbdata/testdata.h"
-
-TEST(TitleTable, Read) {
-    TitleTable tt;
-    string fn = titleTable1;
-    tt.Read(fn);
-    EXPECT_STREQ(tt.table[0], "ref1 description1");
-    EXPECT_STREQ(tt.table[1], "ref2 description2");
-    EXPECT_EQ(tt.tableLength, 2);
-    tt.Free();
-}
-
diff --git a/libcpp/unittest/pbdata/qvs/QualityValueVector_gtest.cpp b/libcpp/unittest/pbdata/qvs/QualityValueVector_gtest.cpp
deleted file mode 100644
index 4119c93..0000000
--- a/libcpp/unittest/pbdata/qvs/QualityValueVector_gtest.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  QualityValueVector_gtest.cpp
- *
- *    Description:  Test pbdata/qvs/QualityValueVector.hpp
- *
- *        Version:  1.0
- *        Created:  03/28/2015 05:21:58 PM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-#include "gtest/gtest.h"
-#include "qvs/QualityValue.hpp"
-#include "qvs/QualityValueVector.hpp"
-
-using namespace std;
-
-const string qvstr = "!#$%0123:;ABab{|}~";
-vector<uint8_t> data = {0,2,3,4,15,16,17,18,25,26,32,33,64,65,90,91,92,93};
-
-TEST(QualityValueVectorTest, Copy){
-    EXPECT_EQ(qvstr.size(), data.size());
-
-    QualityValueVector<QualityValue> qual;
-    EXPECT_TRUE(qual.Empty());
-
-    // Copy qvs from a string
-    qual.Copy(qvstr);
-    EXPECT_FALSE(qual.Empty());
-    for(size_t i = 0; i < qvstr.size(); i++) {
-        EXPECT_EQ(static_cast<uint8_t>(qual.data[i]), data[i]);
-    }
-}
-
-TEST(QualityValueVectorTest, ToString){
-    QualityValueVector<QualityValue> qual;
-    qual.Copy(qvstr);
-
-    // Test ToString()
-    EXPECT_EQ(qual.ToString(), qvstr);
-
-    EXPECT_EQ(static_cast<size_t>(qual.Length()), qvstr.size());
-}
-
diff --git a/libcpp/unittest/pbdata/reads/ReadType_gtest.cpp b/libcpp/unittest/pbdata/reads/ReadType_gtest.cpp
deleted file mode 100644
index 50f6a54..0000000
--- a/libcpp/unittest/pbdata/reads/ReadType_gtest.cpp
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * ==================================================================
- *
- *       Filename:  ReadType_gtest.cpp
- *
- *    Description:  Test pbdata/reads/ReadType.hpp
- *
- *        Version:  1.0
- *        Created:  11/29/2012 03:54:55 PM
- *       Revision:  08/20/2014 
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * ==================================================================
- */
-#include "gtest/gtest.h"
-#include "reads/ReadType.hpp"
-
-using namespace std;
-
-string standard   = "Standard";
-string ccs        = "CCS";
-string rccs       = "RCCS";
-string noreadtype = "standard";
-
-string subread    = "SUBREAD";
-string polymerase = "POLYMERASE";
-string hqregion   = "HQREGION";
-string scarp      = "SCARP";
-string unknown    = "UNKNOWN";
-
-TEST(ReadTypeTest, ParseReadType) {
-    EXPECT_EQ(ReadType::ParseReadType(standard), ReadType::Standard);
-    EXPECT_EQ(ReadType::ParseReadType(ccs),      ReadType::CCS);
-    EXPECT_EQ(ReadType::ParseReadType(rccs),     ReadType::RCCS);
-    EXPECT_EQ(ReadType::ParseReadType(noreadtype), ReadType::NoReadType);
-
-    EXPECT_EQ(ReadType::ParseReadType(subread), ReadType::SUBREAD);
-    EXPECT_EQ(ReadType::ParseReadType(hqregion), ReadType::HQREGION);
-    EXPECT_EQ(ReadType::ParseReadType(polymerase), ReadType::POLYMERASE);
-    EXPECT_EQ(ReadType::ParseReadType(unknown), ReadType::UNKNOWN);
-}
-
-
-TEST(ReadTypeTest, ToString) {
-    EXPECT_EQ(ReadType::ToString(ReadType::Standard), standard);
-    EXPECT_EQ(ReadType::ToString(ReadType::CCS), ccs);
-    EXPECT_EQ(ReadType::ToString(ReadType::RCCS), rccs);
-    EXPECT_EQ(ReadType::ToString(ReadType::NoReadType), "NoReadType");
-
-    EXPECT_EQ(ReadType::ToString(ReadType::SUBREAD), subread);
-    EXPECT_EQ(ReadType::ToString(ReadType::HQREGION), hqregion);
-    EXPECT_EQ(ReadType::ToString(ReadType::POLYMERASE), polymerase);
-    EXPECT_EQ(ReadType::ToString(ReadType::UNKNOWN), unknown);
-}
diff --git a/libcpp/unittest/pbdata/saf/AlnGroup_gtest.cpp b/libcpp/unittest/pbdata/saf/AlnGroup_gtest.cpp
deleted file mode 100644
index d0daed4..0000000
--- a/libcpp/unittest/pbdata/saf/AlnGroup_gtest.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  AlnGroup_gtest.cpp
- *
- *    Description:  Test pbdata/saf/AlnGroup.hpp
- *
- *        Version:  1.0
- *        Created:  11/29/2012 04:00:29 PM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-#include "gtest/gtest.h"
-#include "saf/AlnGroup.hpp"
-
-using namespace std;
-
-//Test AlnGroup.FindPath();
-TEST(AlnGroupTest, FindPath) {
-    AlnGroup alnGroup;
-    unsigned int ids[10] = {3, 4, 6, 1, 2, 8, 9, 12, 11, 7};
-    string paths[10] = {"path1", "path2", "path3", "path4", "path5",
-                        "path6", "path7", "path8", "path9", "path10"};
-    for(int i = 0; i < 10; i++) {
-        alnGroup.id.push_back(ids[i]);
-        alnGroup.path.push_back(paths[i]);
-    }
-
-    string val, val1;
-    int ret = alnGroup.FindPath(3, val);
-    EXPECT_EQ(val, paths[0]);
-    EXPECT_EQ(ret, 1);
-
-    
-    ret = alnGroup.FindPath(100, val1);
-    EXPECT_EQ(ret, 0);
-    EXPECT_EQ(val1, "");
-
-}
diff --git a/libcpp/unittest/pbdata/saf/MovieInfo_gtest.cpp b/libcpp/unittest/pbdata/saf/MovieInfo_gtest.cpp
deleted file mode 100644
index 02a2642..0000000
--- a/libcpp/unittest/pbdata/saf/MovieInfo_gtest.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  MovieInfo_gtest.cpp
- *
- *    Description:  Test pbdata/saf/MovieInfo.hpp
- *
- *        Version:  1.0
- *        Created:  11/29/2012 04:01:21 PM
- *       Revision:  08/20/2014
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#include "gtest/gtest.h"
-#include "Types.h"
-#include "saf/MovieInfo.hpp"
-
-// Test MovieInfo.FindMovie
-TEST(MovieInfoTest, FindMovie) {
-    MovieInfo movieInfo;
-    int ids[5] = {3, 5, 7, 4, 0} ;
-    string names[5] = {"movieX", "movieY", "abc", "m000000000032102389170_s0", "m000000000032102389170_s"};
-
-    for (int i = 0; i < 5; i++) {
-        movieInfo.name.push_back(names[i]);
-        movieInfo.id.push_back(ids[i]);
-    }
-
-    string nameVal, nameVal2;
-    int ret = movieInfo.FindMovie(4, nameVal);
-    EXPECT_EQ(nameVal, names[3]);
-    EXPECT_EQ(ret, 1);
-
-    ret = movieInfo.FindMovie(-1, nameVal);
-    EXPECT_EQ(nameVal2, "");
-    EXPECT_EQ(ret, 0);
-
-}
diff --git a/libcpp/unittest/pbdata/saf/RefInfo_gtest.cpp b/libcpp/unittest/pbdata/saf/RefInfo_gtest.cpp
deleted file mode 100644
index 0e25e99..0000000
--- a/libcpp/unittest/pbdata/saf/RefInfo_gtest.cpp
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  RefInfo_gtest.cpp
- *
- *    Description:  Test pbdata/saf/RefInfo.hpp
- *
- *        Version:  1.0
- *        Created:  11/29/2012 04:02:00 PM
- *       Revision:  08/20/2014 
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#include "gtest/gtest.h"
-#include "saf/RefInfo.hpp"
-
-using namespace std;
-
-TEST(RefInfoTEST, RefIdToIndex) {
-    RefInfo ri;
-
-    string names[] = {"ref1", "ref3 description", "ref4 chr1 1:100"};
-    ri.fullName.insert(ri.fullName.begin(), names, names+3);
-
-    int id[] = {10, 7, 5};
-    //int lens [] = {400, 300, 100};
-    ri.id.insert(ri.id.begin(), id, id+3);
-
-    int index;
-    EXPECT_TRUE(ri.RefIdToIndex(10, index));
-    EXPECT_EQ(index, 0);
-
-    EXPECT_TRUE(ri.RefIdToIndex(7, index));
-    EXPECT_EQ(index, 1);
-
-    EXPECT_TRUE(ri.RefIdToIndex(5, index));
-    EXPECT_EQ(index, 2);
-}
-
-
diff --git a/libcpp/unittest/pbdata/testdata.h b/libcpp/unittest/pbdata/testdata.h
deleted file mode 100644
index ec208f4..0000000
--- a/libcpp/unittest/pbdata/testdata.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* * ============================================================================
- *
- *       Filename:  testdata.h
- *
- *    Description:  List files used in unit tests.
- *
- *        Version:  1.0
- *        Created:  08/22/2013 11:10:54 AM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * ============================================================================
- */
-#include <string>
-
-using namespace std;
-
-const string baxFile1 = 
-    ("/mnt/secondary-siv/testdata/BlasrTestData/ctest/data/"
-     "testLoadPulses/Analysis_Results/"
-     "m130302_011223_pd1_c000000092559900001500000112311511_s1_p0.1.bax.h5");
-
-const string baxFile2 = 
-    ("/mnt/secondary-siv/testdata/BlasrTestData/ctest/data/"
-     "testLoadPulses/Analysis_Results/"
-     "m130302_011223_pd1_c000000092559900001500000112311511_s1_p0.2.bax.h5");
-
-const string baxFile3 = 
-    ("/mnt/secondary-siv/testdata/BlasrTestData/utest/data/"
-     "test_read_chemistry_triple/"
-     "m150223_190837_42175_c100735112550000001823160806051530_s1_p0.1.bax.h5");
-
-const string plsFile1 = 
-    ("/mnt/secondary-siv/testdata/BlasrTestData/ctest/data/"
-     "testLoadPulses/Analysis_Results/"
-     "m121215_065521_richard_c100425710150000001823055001121371_s1_p0.pls.h5");
-
-const string ccsFile1 = 
-    ("/mnt/secondary-siv/testdata/BlasrTestData/utest/data/ccs_P4-C2/"
-     "m130328_211423_ethan_c100499512550000001823070408081371_s1_p0.ccs.h5");
-
-const string fastaFile1 = 
-    ("/mnt/secondary-siv/testdata/BlasrTestData/utest/"
-     "data/read.fasta");
-
-const string fastqFile1 = 
-    ("/mnt/secondary-siv/testdata/BlasrTestData/utest/data/ccs_P4-C2/"
-     "m130328_211423_ethan_c100499512550000001823070408081371_s1_p0.fastq");
-
-const string titleTable1 = 
-    ("/mnt/secondary-siv/testdata/BlasrTestData/utest/"
-     "data/titleTable1");
- 
-const string rgnFile1 =
-    ("/mnt/secondary-siv/testdata/BlasrTestData/utest/"
-     "data/test_regionTable.rgn.h5");
-
-const string scanDataFile1 = 
-    ("/mnt/secondary-siv/testdata/BlasrTestData/utest/"
-     "data/scandata.h5");
-
-const string bamFile1 = 
-    ("/mnt/secondary-siv/testdata/BlasrTestData/ctest/data/test_bam/"
-     "m140905_042212_sidney_c100564852550000001823085912221377_s1_X0.subreads.bam");
-
-const string bamFile2 =   
-    ("/mnt/secondary-siv/testdata/BlasrTestData/ctest/data/test_bam/"
-     "m150325_224749_42269_c100795290850000001823159309091522_s1_p0.subreads.bam");
diff --git a/libcpp/unittest/pbdata/utils/SMRTTitle_gtest.cpp b/libcpp/unittest/pbdata/utils/SMRTTitle_gtest.cpp
deleted file mode 100644
index 5618258..0000000
--- a/libcpp/unittest/pbdata/utils/SMRTTitle_gtest.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-#include "gtest/gtest.h"
-#include "utils/SMRTTitle.hpp"
-
-
-TEST(SMRTTitleTest, test1) {
-    SMRTTitle title("1");
-    EXPECT_EQ(title.isSMRTTitle, false);
-    EXPECT_EQ(title.ToString(), "");
-}
-
-TEST(SMRTTitleTest, test2) {
-    SMRTTitle title("1/2");
-    EXPECT_EQ(title.isSMRTTitle, false);
-    EXPECT_EQ(title.ToString(), "");
-}
-
-TEST(SMRTTitleTest, test3) {
-    SMRTTitle title("m/1/3_4");
-    EXPECT_EQ(title.isSMRTTitle, true);
-    EXPECT_EQ(title.ToString(), "m/1/3_4");
-}
-
-TEST(SMRTTitleTest, test4) {
-    SMRTTitle title("m/1/10_20/3_7");
-    EXPECT_EQ(title.isSMRTTitle, true);
-    EXPECT_EQ(title.ToString(), "m/1/13_17");
-}
-
diff --git a/libcpp/unittest/pbdata/utils_gtest.cpp b/libcpp/unittest/pbdata/utils_gtest.cpp
deleted file mode 100644
index a2f6b77..0000000
--- a/libcpp/unittest/pbdata/utils_gtest.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  utils_gtest.cpp
- *
- *    Description:  Test pbdata/utils.hpp
- *
- *        Version:  1.0
- *        Created:  08/19/2014 05:22:58 PM
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Yuan Li (yli), yli at pacificbiosciences.com
- *        Company:  Pacific Biosciences
- *
- * =====================================================================================
- */
-
-#include "gtest/gtest.h"
-#include "utils.hpp"
-
-using namespace std;
-
-TEST(UTILS, CrucialOpen) {
-    ifstream ifs;
-    string filename = "/nonexistingdir/nonexistingfile";
-    //Expected behavour: exit with a message.
-    EXPECT_EXIT( CrucialOpen(filename, ifs, std::ios::in),
-        ::testing::ExitedWithCode(1), "");
-}
-
-TEST(UTILS, CeilOfFraction) {
-    EXPECT_EQ(CeilOfFraction<int>(7, 100), 1);
-    EXPECT_EQ(CeilOfFraction<int>(100, 7), 15);
-    EXPECT_EQ(CeilOfFraction<int>(100, 99), 2);
-    EXPECT_EQ(CeilOfFraction<int>(100, 5), 20);
-}
diff --git a/GNUmakefile b/makefile
similarity index 56%
rename from GNUmakefile
rename to makefile
index 2c3dd91..aac7f2c 100644
--- a/GNUmakefile
+++ b/makefile
@@ -1,8 +1,13 @@
 all:
 
-ROOT:=.
-include defines.mk
-include rules.mk
+SRCDIR:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
+-include ${CURDIR}/defines.mk
+-include ${SRCDIR}/rules.mk
+foo:
+	echo $(realpath $(firstword $(MAKEFILE_LIST)))
+	echo $(firstword $(MAKEFILE_LIST))
+	echo $(MAKEFILE_LIST)
+	echo ${SRCDIR}
 
 CXXFLAGS += -O3 -g
 CXXOPTS += \
@@ -11,7 +16,7 @@ CXXOPTS += \
            -MMD -MP -w -fpermissive
 GCXXFLAGS := -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -fno-omit-frame-pointer 
 CXXFLAGS += ${CXXOPTS} ${GCXXFLAGS}
-#INC_DIRS:=${LIBBLASR_INCLUDE} ${LIBPBIHDF_INCLUDE} ${LIBPBDATA_INCLUDE} ${PBBAM_INCLUDE} ${HTSLIB_INCLUDE} ${HDF5_INCLUDE} ${ZLIB_INCLUDE}
+#INC_DIRS:=${LIBBLASR_INC} ${LIBPBIHDF_INC} ${LIBPBDATA_INC} ${PBBAM_INC} ${HTSLIB_INC} ${HDF5_INC} ${ZLIB_INC}
 #LIB_DIRS:=${LIBBLASR_LIB} ${LIBPBIHDF_LIB} ${LIBPBDATA_LIB} ${PBBAM_LIB} ${HTSLIB_LIB} ${HDF5_LIB} ${ZLIB_LIB}
 #LDLIBS := \
 #	${LIBBLASR_LIBFLAGS} ${LIBPBIHDF_LIBFLAGS} ${LIBPBDATA_LIBFLAGS} \
@@ -20,13 +25,15 @@ CXXFLAGS += ${CXXOPTS} ${GCXXFLAGS}
 
 # HDF5 needs -ldl, but mobs does not pass it in.
 
-SRCS := $(wildcard *.cpp)
+SRCS := Blasr.cpp
 OBJS := ${SRCS:.cpp=.o}
 DEPS := ${SRCS:.cpp=.d}
 
-LD_LIBRARY_PATH=${HDF5_LIB}:${LIBBLASR_LIB}:${LIBPBIHDF_LIB}:${LIBPBDATA_LIB}
+LD_LIBRARY_PATH:=${HDF5_LIB}:${LIBBLASR_LIB}:${LIBPBIHDF_LIB}:${LIBPBDATA_LIB}:${LD_LIBRARY_PATH}
 export LD_LIBRARY_PATH
+# Note: On macosx, this would be DYLD_LIBRARY_PATH.
 
+vpath %.cpp ${SRCDIR}
 
 init-submodule:
 	${MAKE} update-submodule
@@ -37,7 +44,7 @@ update-submodule:
 
 build-submodule:
 	# DON'T use pbbam which is not on github.
-	cd libcpp && NOPBBAM=true HDF5_LIB=${HDF5_LIB}/libhdf5.so HDF5_INCLUDE=${HDF5_INCLUDE} ./configure.py
+	cd libcpp && NOPBBAM=true HDF5_LIB=${HDF5_LIB} HDF5_INC=${HDF5_INC} ./configure.py
 	${MAKE} -C libcpp
 
 submodule-clean:
@@ -55,25 +62,31 @@ makeutils:
 makeextrautils:
 	${MAKE} -C extrautils
 
-CTESTS := $(wildcard ctest/*.t)
+CTESTS := \
+ctest/affineAlign.t            ctest/bamOut.t    ctest/ccsH5.t            ctest/filtercriteria.t  ctest/m0-5.t             ctest/samNM.t \
+ctest/aggressiveIntervalCut.t  ctest/bug25328.t  ctest/concordant.t       ctest/fofn.t            ctest/multipart.t        ctest/useccsallBestN1.t \
+ctest/alignScore.t             ctest/bug25741.t  ctest/ecoli.t            ctest/hitpolicy.t       ctest/noSplitSubreads.t  ctest/useccsallLargeGenome.t\
+ctest/bamIn.t                  ctest/bug25766.t  ctest/fastMaxInterval.t  ctest/holeNumbers.t     ctest/open_fail.t        ctest/verbose.t
+
 SLOW_CTESTS := ctest/bug25328.t ctest/useccsallLargeGenome.t
 
 cramtests: blasr utils
 	cram -v --shell=/bin/bash ${CTESTS}
-	make -C utils cramtests
+	${MAKE} -C utils cramtests
 
 cramfast: blasr utils
 	cram -v --shell=/bin/bash $(filter-out ${SLOW_CTESTS},${CTESTS})
-	make -C utils cramfast
+	${MAKE} -C utils cramfast
 
 gtest: blasr
 	# This requires the submodule to be configured with gtest.
-	make -C libcpp gtest
+	${MAKE} -C libcpp gtest
 
 check: gtest cramtests
 
 cleanall: cleanlib clean
 
+# cleanlib is only for submodule users
 cleanlib: libcpp/defines.mk
 	${MAKE} -C libcpp clean
 
diff --git a/p4.common.mk b/p4.common.mk
deleted file mode 100644
index c913f27..0000000
--- a/p4.common.mk
+++ /dev/null
@@ -1,147 +0,0 @@
-OS := $(shell uname)
-
-# Determine where is PBINCROOT, either from github or PacBio SMRTAnalysis package.
-PBINCROOT ?= $(realpath ../../lib/cpp/)
-PREBUILT ?= $(realpath ../../../prebuilt.out)
-THIRD_PARTY_PREFIX ?= $(realpath ..)
-
-SUBMK = $(PBINCROOT)/sub.mk
-FETCHTMP = p4.fetch.tmpmk
-FETCHMK = p4.fetch.mk
-
-include $(PBINCROOT)/common.mk
-
-LIBBLASR_INCLUDE  := $(PBINCROOT)/alignment
-LIBPBIHDF_INCLUDE := $(PBINCROOT)/hdf
-LIBPBDATA_INCLUDE := $(PBINCROOT)/pbdata
-PBBAM_INCLUDE     := $(PBBAM)/include
-HTSLIB_INCLUDE    := $(PBBAM)/../htslib/htslib
-HDF5_INCLUDE      := $(HDF5_INC)
-ZLIB_INCLUDE      := $(ZLIB_ROOT)/include
-
-LIBBLASR_LIB  := $(PBINCROOT)/alignment
-LIBPBIHDF_LIB := $(PBINCROOT)/hdf
-LIBPBDATA_LIB := $(PBINCROOT)/pbdata
-PBBAM_LIB     := $(PBBAM)/lib
-HTSLIB_LIB    := $(PBBAM)/../htslib
-HDF5_LIB      := $(HDF5_LIB)
-ZLIB_LIB      := $(ZLIB_ROOT)/lib
-
-HTSLIB_SO     := $(HTSLIB_LIB)/libhts.so
-PBBAM_SO      := $(PBBAM_LIB)/libpbbam.so
-
-HTSLIB_A      := $(HTSLIB_LIB)/libhts.a
-PBBAM_A       := $(PBBAM_LIB)/libpbbam.a
-
-LIBPBIHDF_CPP_LIBFLAG := -lhdf5_cpp
-LIBPBIHDF_LIBFLAG     := -lhdf5
-
-LIBBLASR_LIBFLAGS  := -lblasr
-LIBPBIHDF_LIBFLAGS := -lpbihdf
-LIBPBDATA_LIBFLAGS := -lpbdata
-PBBAM_LIBFLAGS     := -lpbbam
-HTSLIB_LIBFLAGS    := -lhts
-HDF5_LIBFLAGS      := $(LIBHDF5_CPP_LIBFLAG) $(LIBHDF5_LIBFLAG)
-ZLIB_LIBFLAGS      := -lz
-
-
-INCDIRS = -I$(LIBBLASR_INCLUDE) \
-          -I$(LIBPBIHDF_INCLUDE) \
-          -I$(LIBPBDATA_INCLUDE) \
-          -I$(HDF5_INCLUDE)
-
-LIBDIRS = -L$(LIBBLASR_LIB) \
-          -L$(LIBPBIHDF_LIB) \
-          -L$(LIBPBDATA_LIB) \
-          -L$(HDF5_LIB) 
-
-ifneq ($(ZLIB_ROOT), notfound)
-        # NOTE: The zlib include directory is not needed since we do not
-        #       refer to any zlib include files directly in the blasr source
-        #       code.   But we do need to link to the zlib library (static
-        #       or shared), since htslib depends on it.
-        #          INCDIRS += -I$(ZLIB_INCLUDE)
-	LIBDIRS += -L$(ZLIB_LIB)
-endif
-
-CXXOPTS := -std=c++0x -pedantic \
-           -Wall -Wuninitialized -Wno-div-by-zero \
-           -MMD -MP -w -fpermissive
-
-DEFAULTCXXFLAG := -O3
-DEBUGCXXFLAG := -g -ggdb -fno-inline
-PROFILECXXFLAG := -Os -pg 
-GCXXFLAG := -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -fno-omit-frame-pointer 
-
-LIBS := $(LIBBLASR_LIBFLAGS) $(LIBPBIHDF_LIBFLAGS) $(LIBPBDATA_LIBFLAGS)
-PBBAMLIBS :=  $(PBBAM_LIBFLAGS)
-ifneq ($(SHARED_LIB),)
-    PBBAMLIBS += $(HTSLIB_LIBFLAGS)
-else
-    ifneq ($(wildcard "$(HTSLIB_LIB)/libhts.a"),"")
-        PBBAMLIBS += $(HTSLIB_LIB)/libhts.a
-    else
-         PBBAMLIBS += $(HTSLIB_LIBFLAGS)
-    endif
-endif
-
-ifneq ($(SHARED_LIB),)
-    LIBS += $(HDF5_LIBFLAGS)
-else
-    ifneq ($(wildcard "$(HDF5_LIB)/libhdf5_cpp.a"),"")
-        LIBS += $(HDF5_LIB)/libhdf5_cpp.a $(HDF5_LIB)/libhdf5.a
-    else
-        LIBS += $(HDF5_LIBFLAGS)
-    endif
-endif
-
-ifeq ($(origin nopbbam), undefined)
-	INCDIRS += -I$(PBBAM_INCLUDE) \
-			   -I$(HTSLIB_INCLUDE) \
-			   -I$(BOOST_INCLUDE)
-
-
-	LIBDIRS += -L$(PBBAM_LIB) \
-			   -L$(HTSLIB_LIB)
-
-	LIBS += $(PBBAMLIBS) 
-endif
-
-LIBS += $(ZLIB_LIBFLAGS)
-LIBS += -lpthread
-
-# NOTE: libdl is not needed when we are linking with shared libraries, but
-#       is is needed for static linking, since the hdf5 library depends on it
-ifeq ($(SHARED_LIB),)
-    LIBS += -ldl
-endif
-
-ifneq ($(SHARED_LIB),)
-    STATIC :=
-else
-    ifneq ($(OS), Darwin)
-	STATIC := -static
-    else
-	STATIC :=
-    endif
-endif
-
-ifneq ($(OS), Darwin)
-	LIBS += -lrt
-else
-	LIBS += -lsz
-endif
-
-# -lhdf5, -lhdf5_cpp, -lz required for HDF5
-# -lpbbam -lhts for BAM
-# -lpthread for multi-threading
-# -lrt for clock_gettime
-# -ldl for dlopen dlclose 
-
-GLIBS = -Wl --eh-frame-hdr -fno-builtin-malloc -L$(HOME)/lib -ltcmalloc -lunwind -lprofiler $(LIBS)
-
-PBLIB :=
-ifeq ($(NO_SUBMAKES),)
-    PBLIB := pblib
-endif
-
diff --git a/p4.fetch.tmpmk b/p4.fetch.tmpmk
deleted file mode 100644
index c171051..0000000
--- a/p4.fetch.tmpmk
+++ /dev/null
@@ -1,10 +0,0 @@
-REMOTE:=git://github.com/${NAME}.git
-REPO_DIR=blasr_libcpp
-
-# in case curl/tar/rsync/head are not available in our jenkins build
-PATH:=${PATH}:/bin:/usr/bin
-export PATH
-
-all:
-	@ls $(REPO_DIR) 1>/dev/null 2>/dev/null || git clone ${REMOTE} ${REPO_DIR}
-
diff --git a/p4.mk b/p4.mk
deleted file mode 100644
index 60941d6..0000000
--- a/p4.mk
+++ /dev/null
@@ -1,76 +0,0 @@
-SHELL=bash -e -E -vx
-
-.PHONY: all pblib makeutils gtest cramtests cramfast check clean wipe
-
-include p4.common.mk
-
-BLASR_LIBCPP := blasr_libcpp
-SRCS := $(wildcard *.cpp)
-OBJS := $(SRCS:.cpp=.o)
-DEPS := $(SRCS:.cpp=.d)
-EXE = blasr
-UTILS = utils
-
-all : CXXFLAGS ?= $(DEFAULTCXXFLAG)
-debug : CXXFLAGS ?= $(DEBUGCXXFLAG)
-profile : CXXFLAGS ?= $(PROFILECXXFLAG)
-g: CXXFLAGS += $(GCXXFLAG)
-g: LIBS = $(GLIBS)
-MAKE := make
-
-all debug profile g: $(EXE) makeutils 
-
-$(EXE): $(SRCS) mkliba
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $(SRCS) $(LIBDIRS) $(LIBS)
-
-makeutils: mkliba
-	export CXXFLAGS="$(CXXFLAGS)" && make -C $(UTILS) $(MODE) -f p4.mk
-
-fetch: $(PBINCROOT)
-	@echo Fetching $(BLASR_LIBCPP)
-	@echo "SHELL=bash -evx" > $(FETCHMK) && grep "^REF:=" $(SUBMK) >> $(FETCHMK) && grep "^NAME:=" $(SUBMK) >> $(FETCHMK) && echo "REPO_DIR:=$(BLASR_LIBCPP)" >> $(FETCHMK) && cat  $(FETCHTMP) >> $(FETCHMK)
-	make -f $(FETCHMK)
-
-mkliba: fetch mkpbbama
-	$(BLASR_LIBCPP)/configure.py BOOST_INCLUDE=$(BOOST_INCLUDE) HTSLIB_INCLUDE=$(HTSLIB_INCLUDE) PBBAM_INCLUDE=$(PBBAM_INCLUDE) HTSLIB_LIB=$(HTSLIB_LIB) PBBAM_LIB=$(PBBAM_LIB)
-	export CXXFLAGS="$(CXXFLAGS)" && make -C $(BLASR_LIBCPP)/pbdata/ libpbdata.a
-	export CXXFLAGS="$(CXXFLAGS)" && make -C $(BLASR_LIBCPP)/hdf/ libpbihdf.a
-	export CXXFLAGS="$(CXXFLAGS)" && make -C $(BLASR_LIBCPP)/alignment/ libblasr.a
-
-mklibso: fetch mkpbbamso
-	$(BLASR_LIBCPP)/configure.py SHARED_LIB=true BOOST_INCLUDE=$(BOOST_INCLUDE) HTSLIB_INCLUDE=$(HTSLIB_INCLUDE) PBBAM_INCLUDE=$(PBBAM_INCLUDE) HTSLIB_LIB=$(HTSLIB_SO) PBBAM_LIB=$(PBBAM_SO)
-	export CXXFLAGS="$(CXXFLAGS)" && make -C $(BLASR_LIBCPP) all
-
-mkpbbama: 
-	ls $(PBBAM_A) 2>/dev/null 1>/dev/null || (cd $(PBBAM) && rm -f builda && mkdir builda && cd builda && cmake ../ && make)
-
-mkpbbamso:
-	ls $(PBBAM_SO) 2>/dev/null 1>/dev/null || cd $(PBBAM) && rm -f buildso && mkdir -p buildso && cd buildso && cmake -DPacBioBAM_build_shared=ON ../ && make 
-
-CTESTS := $(wildcard ctest/*.t)
-SLOW_CTESTS := ctest/bug25328.t ctest/useccsallLargeGenome.t
-
-cramtests: $(EXE) $(UTILS) 
-	cram -v --shell=/bin/bash $(CTESTS)
-	export CXXFLAGS="$(CXXFLAGS)" && make -C $(UTILS) cramtests
-
-cramfast: $(EXE) $(UTILS)
-	cram -v --shell=/bin/bash $(filter-out $(SLOW_CTESTS),$(CTESTS))
-	export CXXFLAGS="$(CXXFLAGS)" && make -C $(UTILS) cramfast
-
-gtest: $(EXE)
-	export CXXFLAGS="$(CXXFLAGS)" && make -C $(PBINCROOT) gtest
-
-check: gtest cramtests
-
-wipe: clean
-	@echo WIPING OUT $(BLASR_LIBCPP)...
-	@rm -rf $(BLASR_LIBCPP)
-
-clean: 
-	@rm -f $(EXE) $(OBJS) $(DEPS) blasr.d 
-	@make -C $(UTILS) -f p4.mk clean
-	@make -C $(BLASR_LIBCPP) cleanall
-	@rm -f $(FETCHMK)
-
--include $(DEPS)
diff --git a/rules.mk b/rules.mk
index 39c8309..c62d67a 100644
--- a/rules.mk
+++ b/rules.mk
@@ -1,11 +1,11 @@
 INCDIRS := \
-	${LIBBLASR_INCLUDE} \
-	${LIBPBDATA_INCLUDE} \
-	${LIBPBIHDF_INCLUDE} \
-	${PBBAM_INCLUDE} \
-	${HDF5_INCLUDE} \
-	${HTSLIB_INCLUDE} \
-	${BOOST_INCLUDE}
+	${LIBBLASR_INC} \
+	${LIBPBDATA_INC} \
+	${LIBPBIHDF_INC} \
+	${PBBAM_INC} \
+	${HDF5_INC} \
+	${HTSLIB_INC} \
+	${BOOST_INC}
 LIBDIRS := \
 	${LIBBLASR_LIB} \
 	${LIBPBDATA_LIB} \
@@ -13,6 +13,7 @@ LIBDIRS := \
 	${PBBAM_LIB} \
 	${HDF5_LIB} \
 	${HTSLIB_LIB} \
+	${GCC_LIB} \
 	${ZLIB_LIB}
 LDLIBS+= \
 	${LIBPBIHDF_LIBFLAGS} \
@@ -23,6 +24,7 @@ LDLIBS+= \
 	${HDF5_LIBFLAGS} \
 	${HTSLIB_LIBFLAGS} \
 	${ZLIB_LIBFLAGS} \
+	${RT_LIBFLAGS} \
 	${PTHREAD_LIBFLAGS} \
 	${DL_LIBFLAGS}
 # We repeat LIBPBIHDF_LIBFLAGS because of a circular dependency. See #77.
diff --git a/travis.sh b/travis.sh
index 4e27de9..bc776a6 100755
--- a/travis.sh
+++ b/travis.sh
@@ -4,6 +4,6 @@
 set -ex
 
 # There is a bug without --shared. Working on it. See #77.
-./configure.py --shared --sub --no-pbbam HDF5_INCLUDE=${HDF5_INCLUDE} HDF5_LIB=${HDF5_LIB}
+./configure.py --shared --sub --no-pbbam HDF5_INC=${HDF5_INC} HDF5_LIB=${HDF5_LIB}
 make -j4 init-submodule
 make --debug=b -j4 all
diff --git a/utils/.gitignore b/utils/.gitignore
new file mode 100644
index 0000000..e088241
--- /dev/null
+++ b/utils/.gitignore
@@ -0,0 +1,8 @@
+/loadPulses
+/pls2fasta
+/samFilter
+/samtoh5
+/samtom4
+/sawriter
+/sdpMatcher
+/toAfg
diff --git a/utils/Makefile b/utils/Makefile
deleted file mode 100644
index 53f40fa..0000000
--- a/utils/Makefile
+++ /dev/null
@@ -1,64 +0,0 @@
-SHELL=/bin/bash -e -E
-
-.PHONY=all cramtests
-
-PBINCROOT ?= $(realpath ../../../lib/cpp/)
-PREBUILT ?= $(realpath ../../../../prebuilt.out)
-THIRD_PARTY_PREFIX := $(realpath ../..)
-
-include ../common.mk
-
-all : CXXFLAGS ?= $(DEFAULTCXXFLAG)
-
-debug : CXXFLAGS ?= $(DEBUGCXXFLAG)
-
-profile : CXXFLAGS ?= $(PROFILECXXFLAG)
-
-g: CXXFLAGS += $(GCXXFLAG)
-g: LIBS = $(GLIBS)
-
-EXE = loadPulses pls2fasta samtoh5 samtom4 samFilter toAfg sawriter sdpMatcher
-
-all debug profile g: $(EXE)
-
-loadPulses: LoadPulses.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-pls2fasta: PulseToFasta.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-samtoh5: SamToCmpH5.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-samtom4: SamToM4.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-samFilter: SamFilter.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-toAfg: ToAfg.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-sawriter: SAWriter.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-sdpMatcher: SDPMatcher.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-pblib: $(PBINCROOT)/Makefile
-	make -C $(PBINCROOT)
-
-CTESTS := $(wildcard ctest/*.t)
-SLOW_CTESTS := ctest/loadPulses.t ctest/pls2fasta.t
-
-cramtests: $(EXE)
-	cram -v --shell=/bin/bash $(CTESTS)
-
-cramfast: $(EXE)
-	cram -v --shell=/bin/bash $(filter-out $(SLOW_CTESTS), $(CTESTS))
-
-clean: 
-	@rm -f $(EXE)
-	@rm -f *.d *.o
-
--include $(DEPS)
diff --git a/utils/GNUmakefile b/utils/makefile
similarity index 56%
rename from utils/GNUmakefile
rename to utils/makefile
index 3413244..88a7310 100644
--- a/utils/GNUmakefile
+++ b/utils/makefile
@@ -1,8 +1,8 @@
 .PHONY=all cramtests
 
-ROOT:=..
-include ${ROOT}/defines.mk
-include ${ROOT}/rules.mk
+SRCDIR:=$(dir $(realpath $(lastword $(MAKEFILE_LIST))))
+-include ${CURDIR}/../defines.mk
+include ${SRCDIR}/../rules.mk
 
 CXXOPTS := -std=c++0x -pedantic \
            -Wall -Wuninitialized -Wno-div-by-zero \
@@ -14,22 +14,26 @@ EXE = loadPulses pls2fasta samtoh5 samtom4 samFilter toAfg sawriter sdpMatcher
 LD_LIBRARY_PATH=${HDF5_LIB}:${LIBBLASR_LIB}:${LIBPBIHDF_LIB}:${LIBPBDATA_LIB}
 export LD_LIBRARY_PATH
 
+vpath %.cpp ${SRCDIR}
 
 all: ${EXE}
 
 ${EXE}:
 	${CXX} -o $@ $< ${CXXFLAGS} ${CPPFLAGS} -MF"${@:%=%.d}" ${STATIC} ${LDFLAGS} ${LDLIBS}
 
-loadPulses: LoadPulses.cpp
-pls2fasta: PulseToFasta.cpp
-samtoh5: SamToCmpH5.cpp
-samtom4: SamToM4.cpp
-samFilter: SamFilter.cpp
-toAfg: ToAfg.cpp
-sawriter: SAWriter.cpp
-sdpMatcher: SDPMatcher.cpp
+loadPulses: LoadPulses.o
+pls2fasta: PulseToFasta.o
+samtoh5: SamToCmpH5.o
+samtom4: SamToM4.o
+samFilter: SamFilter.o
+toAfg: ToAfg.o
+sawriter: SAWriter.o
+sdpMatcher: SDPMatcher.o
+
+CTESTS := \
+  ctest/loadPulses_fast.t  ctest/pls2fasta_fast.t  ctest/samFilter.t  ctest/samtom4.t   ctest/sdpMatcher.t \
+  ctest/loadPulses.t       ctest/pls2fasta.t       ctest/samtoh5.t    ctest/sawriter.t  ctest/toAfg.t
 
-CTESTS := $(wildcard ctest/*.t)
 SLOW_CTESTS := ctest/loadPulses.t ctest/pls2fasta.t
 
 cramtests: ${EXE}
diff --git a/utils/p4.mk b/utils/p4.mk
deleted file mode 100644
index 34a5e6f..0000000
--- a/utils/p4.mk
+++ /dev/null
@@ -1,65 +0,0 @@
-# This p4.mk is only used to make 
-#   //depot/software/smrtanalysis/bioinformatics/tools/blasr
-# on PacBio internal p4 build.
-
-SHELL=/bin/bash -e -E
-
-.PHONY=all cramtests
-
-PBINCROOT ?= $(realpath ../../../lib/cpp/)
-PREBUILT ?= $(realpath ../../../../prebuilt.out)
-THIRD_PARTY_PREFIX := $(realpath ../..)
-
-include ../p4.common.mk
-
-all : CXXFLAGS ?= $(DEFAULTCXXFLAG)
-debug : CXXFLAGS ?= $(DEBUGCXXFLAG)
-profile : CXXFLAGS ?= $(PROFILECXXFLAG)
-g: CXXFLAGS += $(GCXXFLAG)
-g: LIBS = $(GLIBS)
-
-EXE = loadPulses pls2fasta samtoh5 samtom4 samFilter toAfg sawriter sdpMatcher
-
-all debug profile g: $(EXE)
-
-loadPulses: LoadPulses.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-pls2fasta: PulseToFasta.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-samtoh5: SamToCmpH5.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-samtom4: SamToM4.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-samFilter: SamFilter.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-toAfg: ToAfg.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-sawriter: SAWriter.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-sdpMatcher: SDPMatcher.cpp $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $< $(LIBDIRS) $(LIBS)
-
-pblib: 
-	make -C ../ -f p4.mk mkliba
-
-CTESTS := $(wildcard ctest/*.t)
-SLOW_CTESTS := ctest/loadPulses.t ctest/pls2fasta.t
-
-cramtests: $(EXE)
-	cram -v --shell=/bin/bash $(CTESTS)
-
-cramfast: $(EXE)
-	cram -v --shell=/bin/bash $(filter-out $(SLOW_CTESTS), $(CTESTS))
-
-clean: 
-	@rm -f $(EXE)
-	@rm -f *.d *.o
-
--include $(DEPS)
diff --git a/yli.common.mk b/yli.common.mk
deleted file mode 100644
index f33276b..0000000
--- a/yli.common.mk
+++ /dev/null
@@ -1,94 +0,0 @@
-OS := $(shell uname)
-
-# Determine where is PBINCROOT, either from github or PacBio SMRTAnalysis package.
-PBINCROOT ?= $(realpath ../../lib/cpp/)
-PREBUILT ?= $(realpath ../../../prebuilt.out)
-THIRD_PARTY_PREFIX ?= $(realpath ..)
-
-include $(PBINCROOT)/common.mk
-
-LIBBLASR_INCLUDE  := $(PBINCROOT)/alignment
-LIBPBIHDF_INCLUDE := $(PBINCROOT)/hdf
-LIBPBDATA_INCLUDE := $(PBINCROOT)/pbdata
-PBBAM_INCLUDE     := $(PBBAM)/include
-HTSLIB_INCLUDE    := $(PBBAM)/../htslib/htslib
-
-LIBBLASR_LIB  := $(PBINCROOT)/alignment
-LIBPBIHDF_LIB := $(PBINCROOT)/hdf
-LIBPBDATA_LIB := $(PBINCROOT)/pbdata
-PBBAM_LIB     := $(PBBAM)/lib
-HTSLIB_LIB    := $(PBBAM)/../htslib
-
-INCDIRS = -I$(LIBBLASR_INCLUDE) \
-          -I$(LIBPBIHDF_INCLUDE) \
-          -I$(LIBPBDATA_INCLUDE) \
-          -I$(HDF5_INC)
-
-LIBDIRS = -L$(LIBBLASR_LIB) \
-          -L$(LIBPBIHDF_LIB) \
-          -L$(LIBPBDATA_LIB) \
-          -L$(HDF5_LIB) 
-
-
-ifneq ($(ZLIB_ROOT), notfound)
-	INCDIRS += -I$(ZLIB_ROOT)/include
-	LIBDIRS += -L$(ZLIB_ROOT)/lib
-endif
-
-CXXOPTS := -std=c++0x -pedantic \
-           -Wall -Wuninitialized -Wno-div-by-zero \
-           -MMD -MP -w -fpermissive
-
-DEFAULTCXXFLAG := -O3
-DEBUGCXXFLAG := -g -ggdb -fno-inline
-PROFILECXXFLAG := -Os -pg 
-GCXXFLAG := -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -fno-omit-frame-pointer 
-
-LIBS := -lblasr -lpbihdf -lpbdata
-PBBAMLIBS := -lpbbam
-ifneq ($(wildcard "$(HTSLIB_LIB)/libhts.a"),"")
-	PBBAMLIBS += $(HTSLIB_LIB)/libhts.a
-else
-	PBBAMLIBS += -lhts
-endif
-
-ifneq ($(wildcard "$(HDF5_LIB)/libhdf5_cpp.a"),"")
-    LIBS += $(HDF5_LIB)/libhdf5_cpp.a $(HDF5_LIB)/libhdf5.a
-else
-    LIBS += -lhdf5_cpp -lhdf5 
-endif
-
-ifeq ($(origin nopbbam), undefined)
-	INCDIRS += -I$(PBBAM_INCLUDE) \
-			   -I$(HTSLIB_INCLUDE) \
-			   -I$(BOOST_INCLUDE)
-
-	LIBDIRS += -L$(PBBAM_LIB) \
-			   -L$(HTSLIB_LIB)
-
-	LIBS += $(PBBAMLIBS) 
-endif
-
-LIBS += -lz -lpthread -ldl
-
-ifneq ($(OS), Darwin)
-	LIBS += -lrt
-	STATIC := -static
-else
-	LIBS += -lsz
-	STATIC :=
-endif
-
-# -lhdf5, -lhdf5_cpp, -lz required for HDF5
-# -lpbbam -lhts for BAM
-# -lpthread for multi-threading
-# -lrt for clock_gettime
-# -ldl for dlopen dlclose 
-
-GLIBS = -Wl --eh-frame-hdr -fno-builtin-malloc -L$(HOME)/lib -ltcmalloc -lunwind -lprofiler $(LIBS)
-
-PBLIB :=
-ifeq ($(NO_SUBMAKES),)
-    PBLIB := pblib
-endif
-
diff --git a/yli.makefile b/yli.makefile
deleted file mode 100644
index bc8af98..0000000
--- a/yli.makefile
+++ /dev/null
@@ -1,80 +0,0 @@
-SHELL=/bin/bash -e -E
-
-.PHONY: all pblib makeutils gtest cramtests cramfast check clean cleanall cleanlib
-
-nopbbam=true
-
-GIT_BLASR_LIBPATH = libcpp
-PB_BLASR_LIBPATH = ../../lib/cpp
-# Determine where is PBINCROOT, either from github or PacBio SMRTAnalysis package.
-PBINCROOT ?= $(shell cd $(GIT_BLASR_LIBPATH) 2>/dev/null && pwd || echo -n notfound)
-ifeq ($(PBINCROOT), notfound)
-	PBINCROOT := $(shell cd $(PB_BLASR_LIBPATH) 2>/dev/null && pwd || echo -n notfound)
-	ifeq ($(PBINCROOT), notfound)
-		$(error please check your blasr lib exists.)
-	endif
-endif
-
-# common.mk contains the configuration for this build setup
-GIT_COMMON_MK = blasr_git_common.mk
-ifneq ($(shell ls $(GIT_COMMON_MK) 2>/dev/null || echo -n notfound), notfound)
-include $(GIT_COMMON_MK)
-endif
-
-include yli.common.mk
-
-SRCS := $(wildcard *.cpp)
-OBJS := $(SRCS:.cpp=.o)
-DEPS := $(SRCS:.cpp=.d)
-EXE = blasr
-UTILS = utils
-
-all : CXXFLAGS ?= $(DEFAULTCXXFLAG)
-debug : CXXFLAGS ?= $(DEBUGCXXFLAG)
-profile : CXXFLAGS ?= $(PROFILECXXFLAG)
-g: CXXFLAGS += $(GCXXFLAG)
-g: LIBS = $(GLIBS)
-
-all: MODE = 
-debug: MODE=debug
-profile: MODE = profile 
-g: MODE = g
-
-all debug profile g: $(EXE) makeutils
-
-$(EXE): $(SRCS) $(PBLIB)
-	$(CXX) $(CXXOPTS) $(CXXFLAGS) $(INCDIRS) -MF"$(@:%=%.d)" $(STATIC) -o $@ $(SRCS) $(LIBDIRS) $(LIBS)
-
-# DON'T use pbbam which is not on github.
-pblib: $(PBINCROOT)/configure.py $(PBINCROOT)/makefile
-	cd $(PBINCROOT) && NOPBBAM=true ./configure.py && export PBINCROOT=$(PBINCROOT) && export nopbbam=true  && make -f makefile
-
-makeutils:
-	export PBINCROOT=$(PBINCROOT) && export nopbbam=true && export COMMON_NO_THIRD_PARTY_REQD=true && export HDF5_LIB=$(HDF5_LIB) && export HDF5_INC=$(HDF5_INC) && make -C $(UTILS) $(MODE) 
-
-CTESTS := $(wildcard ctest/*.t)
-SLOW_CTESTS := ctest/bug25328.t ctest/useccsallLargeGenome.t
-
-cramtests: $(EXE) $(UTILS)
-	cram -v --shell=/bin/bash $(CTESTS)
-	make -C $(UTILS) cramtests
-
-cramfast: $(EXE) $(UTILS)
-	cram -v --shell=/bin/bash $(filter-out $(SLOW_CTESTS),$(CTESTS))
-	make -C $(UTILS) cramfast
-
-gtest: $(EXE)
-	make -C $(PBINCROOT) gtest
-
-check: gtest cramtests
-
-cleanall: cleanlib clean
-
-cleanlib: $(PBINCROOT)/makefile
-	@COMMON_NO_THIRD_PARTY_REQD=true make -C $(PBINCROOT) cleanall
-
-clean: 
-	@rm -f $(EXE) $(OBJS) $(DEPS) blasr.d
-	@COMMON_NO_THIRD_PARTY_REQD=true PBINCROOT=$(PBINCROOT) make -C $(UTILS) clean
-
--include $(DEPS) 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/blasr.git



More information about the debian-med-commit mailing list